Releases: getsentry/sentry-dart
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
8.13.1
8.13.0
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)