Releases: getsentry/sentry-dart
9.0.0-alpha.1
Breaking changes
- Remove
SentryDisplayWidget
and manual TTID implementation (#2668) - Increase minimum SDK version requirements to Dart v3.5.0 and Flutter v3.24.0 (#2643)
- Remove screenshot option
attachScreenshotOnlyWhenResumed
(#2664) - Remove deprecated
beforeScreenshot
(#2662) - Remove old user feedback api (#2686)
- Remove deprecated loggers (#2685)
- Remove user segment (#2687)
- Enable JS SDK native integration by default (#2688)
- Remove
enableTracing
(#2695) - Remove
options.autoAppStart
andsetAppStartEnd
(#2680) - Bump Drift min version to
2.24.0
and useQueryInterceptor
instead ofQueryExecutor
(#2679) - Add hint for transactions (#2675)
BeforeSendTransactionCallback
now has aHint
parameter
- Remove
dart:html
usage in favour ofpackage:web
(#2710) - Remove max response body size (#2709)
- Responses are now only attached if size is below ~0.15mb
- Responses are attached to the
Hint
object, which can be read inbeforeSend
/beforeSendTransaction
callbacks viahint.response
. - For now, only the
dio
integration is supported.
- Enable privacy masking for screenshots by default (#2728)
Enhancements
- Replay: improve Android native interop performance by using JNI (#2670)
Dependencies
8.14.0-beta.1
Behavioral changes
⚠️ Auto IP assignment forSentryUser
is now guarded bysendDefaultPii
(#2726)- If you rely on Sentry automatically processing the IP address of the user, set
options.sendDefaultPii = true
or manually set the IP address of theSentryUser
to{{auto}}
- If you rely on Sentry automatically processing the IP address of the user, set
- Adding the device name to Contexts is now guarded by
sendDefaultPii
(#2741)- Set
options.sendDefaultPii = true
if you want to have the device name reported
- Set
Features
- Disable
ScreenshotIntegration
,WidgetsBindingIntegration
andSentryWidget
in multi-view apps #2366 (#2366)
Enhancements
- Use
loadDebugImagesForAddresses
API for Android (#2706)- This reduces the envelope size and data transferred across method channels
- If debug images received by
loadDebugImagesForAddresses
are empty, the SDK loads all debug images as fallback
Fixes
- Reference to
SentryWidgetsFlutterBinding
in warning message inFramesTrackingIntegration
(#2704)
Deprecations
- Deprecate Drift
SentryQueryExecutor
(#2715)- This will be replace by
SentryQueryInterceptor
in the next major v9
- This will be replace by
// Example usage in Sentry Flutter v9
final executor = NativeDatabase.memory().interceptWith(
SentryQueryInterceptor(databaseName: 'your_db_name'),
);
final db = AppDatabase(executor);
- Deprecate
autoAppStart
andsetAppStartEnd
(#2681)
Other
- Remove macOS display refresh rate support (#2628)
- Can't reliably detect on multi-monitor systems and on older macOS versions.
- Not very meaningful, as other applications may be running in parallel and affecting it.
Dependencies
8.13.2
Warning
This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 8.12.0
or updating to 8.13.3
if you use this feature on Android.
See issue #2769 for more details.
Fixes
build_web_compiler
error (#2736)- Use
if (dart.library.html)
instead ofif (dart.html)
for imports
- Use
8.13.1
Warning
This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 8.12.0
or updating to 8.13.3
if you use this feature on Android.
See issue #2769 for more details.
Fixes
- Replay video interruption if a
navigation
breadcrumb is missingto
route info (#2720)
Dependencies
8.13.0
Warning
This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 8.12.0
or updating to 8.13.3
if you use this feature on Android.
See issue #2769 for more details.
Breaking changes
- Remove Metrics API (#2571)
- The Metrics product never reached maturity from beta and has officially ended in October 7th, 2024
- Read this post for more information
Features
- Add
beforeCapture
for View Hierarchy (#2523)- View hierarchy calls are now debounced for 2 seconds.
- JS SDK integration (#2572)
- Enable the integration by setting
options.enableSentryJs = true
- Features:
- Sending envelopes through Sentry JS transport layer
- Capturing native JS errors
- Enable the integration by setting
- Add SentryReplayQuality setting (
options.experimental.replay.quality
) (#2582) - SPM Support (#2280)
Enhancements
- Replay: improve iOS native interop performance (#2530, #2573)
- Replay: improve orientation change tracking accuracy on Android (#2540)
- Print a warning if the rate limit was reached (#2595)
- Add replay masking config to tags and report SDKs versions (#2592)
- Enable
options.debug
when in debug mode (#2597) - Propagate sample seed in baggage header (#2629)
- Read more about the specs here
- Finish and start new transaction when tapping same element again (#2623)
Fixes
- Replay: fix masking for frames captured during UI changes (#2553, #2657)
- Replay: fix widget masks overlap when navigating between screens (#2486, #2576)
- WASM compat for Drift (#2580)
- Fix image flickering when using
SentryAssetBundle
(#2577) - Fix print recursion detection (#2624)
Misc
- Transfer ownership of
sentry_link
to Sentry. You can view the changelog for the previous versions here (#2338)- No functional changes have been made. This version is identical to the previous one.
- Change license from Apache to MIT
Dependencies
8.13.0-beta.3
8.13.0-beta.2
8.13.0-beta.1
Breaking changes
- Remove Metrics API (#2571)
- The Metrics product never reached maturity from beta and has officially ended in October 7th, 2024
- Read this post for more information
Features
- Add
beforeCapture
for View Hierarchy (#2523)- View hierarchy calls are now debounced for 2 seconds.
- JS SDK integration (#2572)
- Enable the integration by setting
options.enableSentryJs = true
- Features:
- Sending envelopes through Sentry JS transport layer
- Capturing native JS errors
- Enable the integration by setting
Enhancements
- Replay: improve iOS native interop performance (#2530, #2573)
- Replay: improve orientation change tracking accuracy on Android (#2540)
Fixes
- Replay: fix masking for frames captured during UI changes (#2553)
- Replay: fix widget masks overlap when navigating between screens (#2486, #2576)
Dependencies
8.12.0 (Stable)
Deprecations
- Manual TTID (#2477)
Fixes
- Missing replay gestures on Android (#2515)
- Replay mask sizing on scaling transform widget children (#2520)
- Masking semi-transparent widgets (#2472)
- Check
SentryTracer
type in TTFD tracker (#2508)
Features
-
Replay: device orientation change support & improve video size fit on Android (#2462)
-
Support custom
Sentry.runZoneGuarded
zone creation (#2088)- Sentry will not create a custom zone anymore if it is started within a custom one.
- This fixes Zone miss-match errors when trying to initialize WidgetsBinding before Sentry on Flutter Web
Sentry.runZonedGuarded
creates a zone and also captures exceptions & breadcrumbs automatically.
Sentry.runZonedGuarded(() { WidgetsBinding.ensureInitialized(); // Errors before init will not be handled by Sentry SentryFlutter.init( (options) { ... }, appRunner: () => runApp(MyApp()), ); }, (error, stackTrace) { // Automatically sends errors to Sentry, no need to do any // captureException calls on your part. // On top of that, you can do your own custom stuff in this callback. });
-
Warning (in a debug build) if a potentially sensitive widget is not masked or unmasked explicitly (#2375)
-
Replay: ensure visual update before capturing screenshots (#2527)
Dependencies
8.12.0-beta.2
Deprecations
- Manual TTID (#2477)
Fixes
- Missing replay gestures on Android (#2515)
- Replay mask sizing on scaling transform widget children (#2520)
Enhancements
- Check
SentryTracer
type in TTFD tracker (#2508) - Warning (in a debug build) if a potentially sensitive widget is not masked or unmasked explicitly (#2375)
- Replay: ensure visual update before capturing screenshots (#2527)