sentry
A crash reporting library for Dart that sends crash reports to Sentry.io. This library supports Dart VM and Web. For Flutter consider sentry_flutter instead.
9.27.0
1000K downloads/mo
#84 most downloaded on pub.dev
getsentry/sentry-dart
What this package is like to depend on
Last release 10 days ago
13 Aug 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 159 of 160 stable releases
1 version withdrawn
withdrawn after publishing
9 years old
251 releases · first in 2017
38 releases in the last 12 months
see the full history below
Release timeline
251 releases · Jun 2017 to Aug 2026Releases
latest 60 of 251-
10.0.0-alpha.303 Aug 2026 pre-releaseRelease notes
Open source →Features
Dart
- Align database, HTTP, app-start, and trace-lifecycle span attributes with Sentry Conventions by @buenaflor in #3805
Flutter
- Add standalone app-start tracing, extension APIs, and lifecycle-specific span getters by @buenaflor in #3896 and #3918
- Make native failed-request capture opt-in by @buenaflor in #3885
- Remove CocoaPods support in favor of Swift Package Manager by @buenaflor in #3879
- Record Android replay segment names and span segment-name sources by @buenaflor in #3897 and #3904
Enhancements
- Improve Android scope synchronization and replay screenshot transfer performance by @buenaflor in #3924
Fixes
Flutter
- Prevent delayed-frame state errors and guard script completion by @muhammadkamel and @buenaflor in #3876 and #3912
- Add the app-start screen attribute by @buenaflor in #3893
Other
- Accept double timestamps in Android network breadcrumbs by @aqrc in #3859
- Read normalized rate-limit headers by @sentry-junior in #3883
- Add missing metric byte outcomes by @buenaflor in #3905
Dependencies
Flutter
- Update Android SDK versions through 8.51.0 by @github-actions in #3895, #3921, and #3938
- Update Native SDK versions through 0.16.1 by @github-actions in #3862, #3910, #3925, and #3937
- Relax the JNI constraint and update jnigen to 0.17.0 by @buenaflor in #3931
Internal Changes
- Remove SDK profiling by @buenaflor in #3891
- Remove deprecated
copyWithAPIs by @buenaflor in #3877 - Replace
options.logwithinternalLoggerby @buenaflor in #3932 - Graduate mature v10 APIs and make
BindingWrapperandbindingUtilsinternal by @buenaflor in #3940 - Share Darwin plugin sources by @buenaflor in #3922
- Move the gRPC
MockHubinto_sentry_testingby @lucas-zimerman in #3908 - Pin Flutter development dependencies by @buenaflor in #3913
- Add Supabase and gRPC SDKs to Craft by @buenaflor in #3884
-
10.0.0-alpha.207 Jul 2026 pre-releaseRelease notes
Open source →Features
- (telemetry) Align span attributes with Sentry Conventions by @buenaflor in #3805
- Add feature flags to hub span by @denrase in #3806
- (logs) Add Hint to beforeSend for logs, metrics, and spans by @buenaflor in #3847
- (logs) Enable logs by default by @buenaflor in #3846
Internal Changes
- (logs) Make traceId required on SentryLog by @buenaflor in #3842
- Make clone() internal and remove deprecated protocol clones by @buenaflor in #3845
- (dart) Make feature flags hub/scope-based by @buenaflor in #3848
- (file) Remove file.async attributes from instrumentation by @buenaflor in #3841
- (logs) Make logger methods return void by @buenaflor in #3852
- (logs) Remove deprecated SentryLogAttribute by @buenaflor in #3843
- Remove deprecated performance collectors by @buenaflor in #3850
- (feedback) Remove deprecated SentryFeedbackWidget by @buenaflor in #3844
-
10.0.0-alpha.125 Jun 2026 pre-releaseRelease notes
Open source →Features
Dart
- Add array attributes to telemetry by @buenaflor in #3778
- Mark span streaming API as non-experimental by @buenaflor in #3756
Other
- (flutter) Support SwiftPM on Flutter 3.44+ by @buenaflor in #3784
Enhancements
- (flutter) Support int64 values from sentry-native by @buenaflor in #3760
Dependencies
Deps
- chore(deps): update Android SDK to v8.45.0 by @github-actions in #3790
- chore(deps): update Native SDK to v0.15.1 by @github-actions in #3757
Flutter
- Bump jni to 1.0.0 and jnigen to 0.16.0 in v10 by @buenaflor in #3765
- Bump sentry-cocoa to 9.17.1 in v10 by @buenaflor in #3764
Internal Changes
- (flutter) Remove flaky frames measurement tests by @buenaflor in #3783
-
9.27.013 Aug 2026Release notes
Open source →Features
- Add HTTP request/response header and body capture for Session Replay network breadcrumbs, gated by
networkDetailAllowUrls/networkDetailDenyUrls. by @lucas-zimerman in #3875
Fixes
- (dart) Handle HTTP 413 in HttpTransport by @lucas-zimerman in #3951
Dependencies
Deps
- chore(deps): update Android SDK to v8.53.0 by @github-actions in #3963
- chore(deps): update Native SDK to v0.16.2 by @github-actions in #3952
Internal Changes
Release notes
Open source →Features
- Add HTTP request/response header and body capture for Session Replay network breadcrumbs, gated by
networkDetailAllowUrls/networkDetailDenyUrls. by @lucas-zimerman in #3875
Fixes
- (dart) Handle HTTP 413 in HttpTransport by @lucas-zimerman in #3951
Dependencies
Deps
- chore(deps): update Android SDK to v8.53.0 by @github-actions in #3963
- chore(deps): update Native SDK to v0.16.2 by @github-actions in #3952
Internal Changes
- Add HTTP request/response header and body capture for Session Replay network breadcrumbs, gated by
-
9.26.030 Jul 2026Release notes
Open source →Features
Flutter
- Standalone app start tracing (experimental) by @buenaflor in #3896 and #3918
- App start is reported as its own
App Startroot (app.start) spanning process start to the first frame, instead of being nested under the synthetic initialui.load. This gives startup its own lifecycle and sampling decision. - Opt in via
options.enableStandaloneAppStartTracing. Requires tracing, is supported on Android and iOS, and works with bothSentryTraceLifecycle.staticandSentryTraceLifecycle.stream. - Extend the app start past the first frame with
SentryFlutter.extendAppStart()andSentryFlutter.finishExtendedAppStart(), so startup work that finishes later — remote config, auth restore, flag hydration — is part of the reported duration. - Always finish what you extend. While an extension is open the app start stays open too; if it hits its 30 second deadline first, the extension is dropped and the reported duration falls back to the first frame.
- App start is reported as its own
// Opt in during SDK init and extend the app start across your startup work. await SentryFlutter.init( (options) { options.dsn = 'https://[email protected]/add-your-dsn-here'; options.tracesSampleRate = 1.0; options.enableStandaloneAppStartTracing = true; }, appRunner: () async { // Extend before the first frame renders. SentryFlutter.extendAppStart(); runApp(const MyApp()); try { await remoteConfig.fetchAndActivate(); await auth.restoreSession(); } finally { // Releases the app start to report, measured up to here. await SentryFlutter.finishExtendedAppStart(); } }, );
- To nest your own spans under the extension, take the span itself —
SentryFlutter.getExtendedAppStartSpan()on the static lifecycle,SentryFlutter.getExtendedAppStartSpanV2()on the streaming one. Each returnsnullon the other lifecycle and once the extension has ended. Finishing the span completes the extension, so there is no need to also callfinishExtendedAppStart().
// Static lifecycle. final appStart = SentryFlutter.getExtendedAppStartSpan(); final child = appStart?.startChild('app.init', description: 'Load config'); try { await loadConfig(); } finally { await child?.finish(); } // Streaming lifecycle. Only pass a parent when there is one — passing `null` // starts a root span instead of a child. final appStartV2 = SentryFlutter.getExtendedAppStartSpanV2(); if (appStartV2 != null) { await Sentry.startSpan( 'Load config', (span) => loadConfig(), parentSpan: appStartV2, ); } else { await loadConfig(); }
Fixes
- Read normalized rate limit headers by @sentry-junior in #3883
Enhancements
- (flutter) Speed up Android scope sync and replay capture by @buenaflor in #3924
Dependencies
Deps
- chore(deps): update Native SDK to v0.16.1 by @github-actions in #3937
- chore(deps): update Android SDK to v8.51.0 by @github-actions in #3938
Internal Changes
- (deps) Pin Flutter development dependencies by @buenaflor in #3913
- (grpc) Move MockHub to _sentry_testing package by @lucas-zimerman in #3908
Release notes
Open source →Features
Flutter
- Standalone app start tracing (experimental) by @buenaflor in #3896 and #3918
- App start is reported as its own
App Startroot (app.start) spanning process start to the first frame, instead of being nested under the synthetic initialui.load. This gives startup its own lifecycle and sampling decision. - Opt in via
options.enableStandaloneAppStartTracing. Requires tracing, is supported on Android and iOS, and works with bothSentryTraceLifecycle.staticandSentryTraceLifecycle.stream. - Extend the app start past the first frame with
SentryFlutter.extendAppStart()andSentryFlutter.finishExtendedAppStart(), so startup work that finishes later — remote config, auth restore, flag hydration — is part of the reported duration. - Always finish what you extend. While an extension is open the app start stays open too; if it hits its 30 second deadline first, the extension is dropped and the reported duration falls back to the first frame.
- App start is reported as its own
// Opt in during SDK init and extend the app start across your startup work. await SentryFlutter.init( (options) { options.dsn = 'https://[email protected]/add-your-dsn-here'; options.tracesSampleRate = 1.0; options.enableStandaloneAppStartTracing = true; }, appRunner: () async { // Extend before the first frame renders. SentryFlutter.extendAppStart(); runApp(const MyApp()); try { await remoteConfig.fetchAndActivate(); await auth.restoreSession(); } finally { // Releases the app start to report, measured up to here. await SentryFlutter.finishExtendedAppStart(); } }, );- To nest your own spans under the extension, take the span itself —
SentryFlutter.getExtendedAppStartSpan()on the static lifecycle,SentryFlutter.getExtendedAppStartSpanV2()on the streaming one. Each returnsnullon the other lifecycle and once the extension has ended. Finishing the span completes the extension, so there is no need to also callfinishExtendedAppStart().
// Static lifecycle. final appStart = SentryFlutter.getExtendedAppStartSpan(); final child = appStart?.startChild('app.init', description: 'Load config'); try { await loadConfig(); } finally { await child?.finish(); } // Streaming lifecycle. Only pass a parent when there is one — passing `null` // starts a root span instead of a child. final appStartV2 = SentryFlutter.getExtendedAppStartSpanV2(); if (appStartV2 != null) { await Sentry.startSpan( 'Load config', (span) => loadConfig(), parentSpan: appStartV2, ); } else { await loadConfig(); }Fixes
- Read normalized rate limit headers by @sentry-junior in #3883
Enhancements
- (flutter) Speed up Android scope sync and replay capture by @buenaflor in #3924
Dependencies
Deps
- chore(deps): update Native SDK to v0.16.1 by @github-actions in #3937
- chore(deps): update Android SDK to v8.51.0 by @github-actions in #3938
Internal Changes
- Standalone app start tracing (experimental) by @buenaflor in #3896 and #3918
-
9.25.021 Jul 2026Release notes
Open source →Features
- (replay) Record segment names on Android by @buenaflor in #3897
- (tracing) Emit segment name source by @buenaflor in #3904
Fixes
Flutter
- Guard script completion by @buenaflor in #3912
- Add app start screen attribute by @buenaflor in #3893
- Prevent StateError when delayed frames list is empty by @muhammadkamel in #3876
Other
- (metrics) Add missing metric byte outcomes by @buenaflor in #3905
Dependencies
Deps
- chore(deps): update Native SDK to v0.15.4 by @github-actions in #3910
- chore(deps): update Android SDK to v8.49.0 by @github-actions in #3895
- chore(deps): update Cocoa SDK to v8.58.4 by @github-actions in #3864
Internal Changes
- (dart) Accept beta wasm function name by @sentry-junior in #3898
Release notes
Open source →Features
- (replay) Record segment names on Android by @buenaflor in #3897
- (tracing) Emit segment name source by @buenaflor in #3904
Fixes
Flutter
- Guard script completion by @buenaflor in #3912
- Add app start screen attribute by @buenaflor in #3893
- Prevent StateError when delayed frames list is empty by @muhammadkamel in #3876
Other
- (metrics) Add missing metric byte outcomes by @buenaflor in #3905
Dependencies
Deps
- chore(deps): update Native SDK to v0.15.4 by @github-actions in #3910
- chore(deps): update Android SDK to v8.49.0 by @github-actions in #3895
- chore(deps): update Cocoa SDK to v8.58.4 by @github-actions in #3864
Internal Changes
- (dart) Accept beta wasm function name by @sentry-junior in #3898
-
9.24.007 Jul 2026Release notes
Open source →Features
- Add feature flags to hub span by @denrase in #3806
Fixes
- (replay) Accept Double timestamps in Android network breadcrumb conversion by @aqrc in #3859
-
9.23.002 Jul 2026Release notes
Open source →Features
Dart
- Add array attributes to telemetry by @buenaflor in #3778
- Mark span streaming API as non-experimental by @buenaflor in #3756
Other
- (grpc) Add integration support for GRPC by @lucas-zimerman in #3721
- (tracing) Simplify span v2 status to ok/error by @buenaflor in #3840
- Report blocked_main_thread on streaming spans by @buenaflor in #3821
Fixes
- (rate-limiting) Honor span and feedback rate limits by @buenaflor in #3809
- Correct feature flag scope buffer updates by @denrase in #3797
Enhancements
- (flutter) Support int64 values from sentry-native by @buenaflor in #3760
Dependencies
Deps
- chore(deps): update Android SDK to v8.47.0 by @github-actions in #3849
- chore(deps): update Native SDK to v0.15.2 by @github-actions in #3785
Internal Changes
- (flutter) Remove flaky frames measurement tests by @buenaflor in #3783
- (skills) Expand test-guidelines and drop stale deps by @buenaflor in #3807
- Add PR template checkbox for cross sdk review on public API changes by @antonis in #3822
- Block manual CHANGELOG.md edits by @buenaflor in #3810
- Fix Dependabot pub paths and pin GitHub Action by @buenaflor in #3804
- Add AI Use section to CONTRIBUTING.md by @christophaigner in #3803
Release notes
Open source →Features
Dart
- Add array attributes to telemetry by @buenaflor in #3778
- Mark span streaming API as non-experimental by @buenaflor in #3756
Other
- (grpc) Add integration support for GRPC by @lucas-zimerman in #3721
- (tracing) Simplify span v2 status to ok/error by @buenaflor in #3840
- Report blocked_main_thread on streaming spans by @buenaflor in #3821
Fixes
- (rate-limiting) Honor span and feedback rate limits by @buenaflor in #3809
- Correct feature flag scope buffer updates by @denrase in #3797
Enhancements
- (flutter) Support int64 values from sentry-native by @buenaflor in #3760
Dependencies
Deps
- chore(deps): update Android SDK to v8.47.0 by @github-actions in #3849
- chore(deps): update Native SDK to v0.15.2 by @github-actions in #3785
Internal Changes
- (flutter) Remove flaky frames measurement tests by @buenaflor in #3783
- (skills) Expand test-guidelines and drop stale deps by @buenaflor in #3807
- Add PR template checkbox for cross sdk review on public API changes by @antonis in #3822
- Block manual CHANGELOG.md edits by @buenaflor in #3810
- Fix Dependabot pub paths and pin GitHub Action by @buenaflor in #3804
- Add AI Use section to CONTRIBUTING.md by @christophaigner in #3803
-
9.22.011 Jun 2026Release notes
Open source →Features
- (flutter) Add replay trace ID sync for Android by @buenaflor in #3744
Fixes
- (dart) Add missing log byte outcomes by @buenaflor in #3745
- (flutter) Add replay IDs to span telemetry by @buenaflor in #3739
Enhancements
- (dart) Add span v2 envelope
ingest_settingsmetadata by @buenaflor in #3700
Dependencies
Deps
Release notes
Open source →Features
- (flutter) Add replay trace ID sync for Android by @buenaflor in #3744
Fixes
- (dart) Add missing log byte outcomes by @buenaflor in #3745
- (flutter) Add replay IDs to span telemetry by @buenaflor in #3739
Enhancements
- (dart) Add span v2 envelope
ingest_settingsmetadata by @buenaflor in #3700
Dependencies
Deps
-
9.21.029 May 2026Release notes
Open source →Features
- Rename
SentryFeedbackWidgettoSentryFeedbackFormby @denrase in #3702SentryFeedbackWidgetis deprecated and will be removed in the next major version. UseSentryFeedbackForminstead.
Fixes
Dart
- Make sentryOnError synchronous in runZonedGuarded by @theprantadutta in #3697
- Route SDK diagnostic logs to browser console on web by @theprantadutta in #3698
Flutter
- Forward sample rate to native SDKs by @buenaflor in #3722
- Release Android JNI refs by @buenaflor in #3712
- Release replay JNI refs by @buenaflor in #3699
Enhancements
Flutter
- Move Android JNI work to core worker to avoid work on main isolate by @buenaflor in #3713
- Optimize Android scope sync by @buenaflor in #3708
Dependencies
Deps
- chore(deps): update Cocoa SDK to v8.58.3 by @github-actions in #3726
- chore(deps): update Android SDK to v8.43.0 by @github-actions in #3727
Internal Changes
- (flutter) Align CI with stable SwiftPM defaults by @buenaflor in #3710
Release notes
Open source →Features
- Rename
SentryFeedbackWidgettoSentryFeedbackFormby @denrase in #3702SentryFeedbackWidgetis deprecated and will be removed in the next major version. UseSentryFeedbackForminstead.
Fixes
Dart
- Make sentryOnError synchronous in runZonedGuarded by @theprantadutta in #3697
- Route SDK diagnostic logs to browser console on web by @theprantadutta in #3698
Flutter
- Forward sample rate to native SDKs by @buenaflor in #3722
- Release Android JNI refs by @buenaflor in #3712
- Release replay JNI refs by @buenaflor in #3699
Enhancements
Flutter
- Move Android JNI work to core worker to avoid work on main isolate by @buenaflor in #3713
- Optimize Android scope sync by @buenaflor in #3708
Dependencies
Deps
- chore(deps): update Cocoa SDK to v8.58.3 by @github-actions in #3726
- chore(deps): update Android SDK to v8.43.0 by @github-actions in #3727
Internal Changes
- (flutter) Align CI with stable SwiftPM defaults by @buenaflor in #3710
- Rename
-
9.20.007 May 2026Release notes
Open source →Features
- (span-first) Add transaction and app start type span attributes by @buenaflor in #3678
- Prevent cross-organization trace continuation by @antonis in #3567
- By default, the SDK now extracts the organization ID from the DSN (e.g.
o123.ingest.sentry.io) and compares it with thesentry-org_idvalue in incoming baggage headers. When the two differ, the SDK starts a fresh trace instead of continuing the foreign one. This guards against accidentally linking traces across organizations. - New option
strictTraceContinuation(defaultfalse): when enabled, both the SDK's org ID and the incoming baggage org ID must be present and match for a trace to be continued. Traces with a missing org ID on either side are rejected. - New option
orgId: allows explicitly setting the organization ID for self-hosted and Relay setups where it cannot be extracted from the DSN. - Options are also applied to the native Android SDK. On iOS, only the Dart layer enforces strict trace continuation.
- By default, the SDK now extracts the organization ID from the DSN (e.g.
Fixes
Flutter
- Avoid JNI callbacks for Android scope sync by @denrase in #3676
- Send frame delay in seconds by @buenaflor in #3677
Dependencies
Deps
- chore(deps): update Android SDK to v8.41.0 by @github-actions in #3687
- chore(deps): update Cocoa SDK to v8.58.2 by @github-actions in #3664
- chore(deps): update Native SDK to v0.13.8 by @github-actions in #3667
Internal Changes
-
9.19.022 Apr 2026Release notes
Open source →Features
- Span-first trace lifecycle (experimental) by @buenaflor in #3659
- Streams spans to Sentry as each one finishes instead of buffering them into a transaction envelope at the root.
- Opt in via
options.traceLifecycle. The classic transaction-basedSentryTraceLifecycle.staticremains the default. - In stream mode, create spans with the new
Sentry.startSpan/Sentry.startSpanSyncAPIs — the transaction APIs (Sentry.startTransaction,ISentrySpan.startChild) do nothing in this mode. - Auto-instrumentations (frames, app start, TTID/TTFD, navigation, user interaction, HTTP, databases, GraphQL link) automatically switch to the streaming API when enabled.
// Opt in during SDK init. await SentryFlutter.init((options) { options.dsn = 'https://[email protected]/add-your-dsn-here'; options.tracesSampleRate = 1.0; options.traceLifecycle = SentryTraceLifecycle.stream; }); // Async work — the span ends and is sent when the future completes. final order = await Sentry.startSpan('checkout', (span) async { span.setAttribute('cart.item_count', SentryAttribute.int(cart.items.length)); // Automatically parents to 'checkout' via zones. final payment = await Sentry.startSpan('process-payment', (span) { return paymentService.charge(cart.total); }); return orderService.create(cart, payment: payment); }); // Sync variant. final total = Sentry.startSpanSync('calculate-total', (span) { return cart.items.fold<double>(0, (sum, item) => sum + item.price); });Fixes
- (feedback) Show success message after feedback submission by @denrase in #3609
Enhancements
- (navigator-observer)
enableNewTraceOnNavigationis now opt-in by @buenaflor in #3657SentryNavigatorObserverno longer generates a fresh trace id on every push/pop/replace by default. One trace per session (the previous opt-in behavior) is now the default and preserves trace continuity across navigations.- If you relied on the old behavior, opt back in explicitly:
SentryNavigatorObserver( enableNewTraceOnNavigation: true, );Dependencies
- chore(deps): update Android SDK to v8.39.1 by @github-actions in #3646
Internal Changes
Deps
- Bump actions/create-github-app-token from 3.0.0 to 3.1.1 by @dependabot in #3652
- Bump getsentry/craft/.github/workflows/changelog-preview.yml from 2.25.2 to 2.25.4 by @dependabot in #3655
- Bump actions/cache from 5.0.4 to 5.0.5 by @dependabot in #3656
Other
- Integrate Warden for AI-powered PR code review by @buenaflor in #3651
- Span-first trace lifecycle (experimental) by @buenaflor in #3659
-
9.18.016 Apr 2026Release notes
Open source →Dependencies
- chore(deps): update Native SDK to v0.13.7 by @github-actions in #3645
Internal Changes
- (flutter-example) Fix macOS SPM build and bump AGP to 8.6.0 by @buenaflor in #3644
- (supabase) Fix flaky error client test for postgrest retry by @buenaflor in #3643
- Add SDK features for beforeSend callbacks by @buenaflor in #3608
- Add dep update pattern to Dependencies changelog category by @buenaflor in #3642
- Replace Danger with release.yml changelog policy by @buenaflor in #3641
-
9.17.014 Apr 2026Release notes
Open source →Fixes
- Revert fetching
sentry-nativefrom release zip, use git source instead to fix permission issues (#3630)
Dependencies
- Revert fetching
-
9.16.107 Apr 2026Release notes
Open source →- Experimental span-streaming API with
startSpan
Fixes
- Sentry Native not building due to failing
git clone(#3621)
- Experimental span-streaming API with
-
9.16.026 Mar 2026 -
9.15.018 Mar 2026Release notes
Open source →Fixes
- Stop re-triggering hitTest in SentryUserInteractionWidget on pointerUp (#3540)
- Use seconds since the Unix epoch for
log.timestamp(#3558) - Implement
SqfliteDatabaseExecutorto preventTypeErrorongetVersion/setVersion(3539)
Dependencies
-
9.15.0-dev.126 Feb 2026 pre-releaseNothing published for this version
-
9.14.019 Feb 2026Release notes
Open source →Features
- Add
enableTombstoneoption for improved native crash reporting on Android 12+ (#3526)- When enabled, uses Android's
ApplicationExitInfo.REASON_CRASH_NATIVEto capture native crashes with more detailed thread information - Disabled by default
- When enabled, uses Android's
Fixes
- Dont guard user attributes behind
sendDefaultPiifor logs and metrics (#3524)
Dependencies
- Bump Native SDK from v0.12.6 to v0.12.8 (#3514, #3520)
- Bump Android SDK from v8.32.0 to v8.33.0 (#3529)
<summary><b>Internal Changes</b></summary>
- Add
sentry.javascript.browser.fluttersdk name for native js errors (#3525)
</details>
- Add
-
9.13.012 Feb 2026Release notes
Open source →Features
- Synchronize
traceIdto native SDKs (#3507)- Native events (e.g. from Android or iOS) such as errors, logs, and spans now share the same trace as Dart events, enabling unified trace views across layers
Dependencies
- Bump Android SDK from v8.31.0 to v8.32.0 (#3506)
- Bump JavaScript SDK from v10.6.0 to v10.38.0 (#3474)
- Bump Native SDK from v0.12.5 to v0.12.6 (#3502)
<details> <summary><b>Internal Changes</b></summary>
- Add SDK features metadata for SPM vs CocoaPods tracking (#3508)
</details>
- Synchronize
-
9.12.005 Feb 2026 -
9.11.003 Feb 2026Release notes
Open source →Features
- Trace connected metrics (#3450)
- This feature is enabled by default.
- To send metrics use the following APIs:
Sentry.metrics.gauge(...)Sentry.metrics.count(...)Sentry.metrics.distribution(...)
- For more details read the Flutter metrics documentation.
- Add
captureNativeFailedRequestsoption for iOS/macOS (#3472)- This option allows controlling native HTTP error capturing independently from
captureFailedRequests. - When
null(the default), it falls back tocaptureFailedRequestsfor backwards compatibility. - Set to
falseto disable native failed request capturing while keeping Dart-side capturing enabled.
- This option allows controlling native HTTP error capturing independently from
Fixes
- Catch client exceptions in HttpTransport.send (#3490)
Dependencies
<details> <summary><b>Internal Changes</b></summary>
- Refactor Logging API to be consistent with Metrics (#3463)
- Remove deprecated
beforeMetricCallbackfrom options (#3484) - Add span factory to allow swappable span backends in integrations (#3488)
</details>
- Trace connected metrics (#3450)
-
9.11.0-beta.230 Jan 2026 pre-release -
9.11.0-beta.126 Jan 2026 pre-releaseRelease notes
Open source →Features
- Trace connected metrics (#3450)
- This feature is enabled by default.
- To send metrics use the following APIs:
Sentry.metrics.gauge(...)Sentry.metrics.count(...)Sentry.metrics.distribution(...)
- Add
captureNativeFailedRequestsoption for iOS/macOS (#3472)- This option allows controlling native HTTP error capturing independently from
captureFailedRequests. - When
null(the default), it falls back tocaptureFailedRequestsfor backwards compatibility. - Set to
falseto disable native failed request capturing while keeping Dart-side capturing enabled.
- This option allows controlling native HTTP error capturing independently from
Enhancements
- Refactor Logging API to be consistent with Metrics (#3463)
Dependencies
- Trace connected metrics (#3450)
-
9.10.015 Jan 2026 -
9.9.207 Jan 2026Release notes
Open source →Fixes
- Android not sending events when
autoInitializedNativeSdkis disabled (#3420)
- Android not sending events when
-
9.9.118 Dec 2025 -
9.9.016 Dec 2025Release notes
Open source →Features
- Add
Sentry.setAttributesandSentry.removeAttribute(#3352)- These attributes are set at the scope level and apply to all logs (and later to metrics and spans).
- When a scope attribute conflicts with a log-level attribute, the log-level attribute always takes precedence.
- Sentry Supabase Integration (#2913)
- Adds the
sentry_supabasepackage to instrument supabase with Sentry breadcrumbs, traces and errors.
- Adds the
Fixes
- Added
consumerProguardFiles 'proguard-rules.pro'to the debug build configuration to ensure ProGuard rules are consistently applied across both release and debug variants. (#3339) - Dart to native type conversion (#3372)
- Revert FFI usage on iOS/macOS due to symbol stripping issues (#3379)
- Android app crashing on hot-restart in debug mode (#3358)
- Dont use
Companionin JNI calls and properly release JNI refs (#3354)- This potentially fixes segfault crashes related to JNI
Enhancements
- Refactor
captureReplayandsetReplayConfigto use JNI (#3318) - Refactor
initto use JNI (#3324) - Flush logs if client/hub/sdk is closed (#3335
Dependencies
- Add
-
9.9.0-beta.411 Dec 2025 pre-release -
9.9.0-beta.326 Nov 2025 pre-releaseRelease notes
Open source →Features
- Add
Sentry.setAttributesandSentry.removeAttribute(#3352)- These attributes are set at the scope level and apply to all logs (and later to metrics and spans).
- When a scope attribute conflicts with a log-level attribute, the log-level attribute always takes precedence.
- Sentry Supabase Integration (#2913)
- Adds the
sentry_supabasepackage to instrument supabase with Sentry breadcrumbs, traces and errors.
- Adds the
Fixes
- Android app crashing on hot-restart in debug mode (#3358)
- Dont use
Companionin JNI calls and properly release JNI refs (#3354)- This potentially fixes segfault crashes related to JNI
Enhancements
- Flush logs if client/hub/sdk is closed (#3335
- Add
-
9.9.0-beta.224 Nov 2025 pre-releaseNothing published for this version
-
9.8.003 Nov 2025Release notes
Open source →Features
- Mark file sync spans run in the main isolate with
blocked_main_thread(#3270) - This allows Sentry to create issues automatically out of file spans running a certain time on the main thread: https://docs.sentry.io/product/issues/issue-details/performance-issues/file-main-thread-io/
Enhancements
- Refactor
setExtraandremoveExtrato use FFI/JNI (#3314) - Refactor
setTagandremoveTagto use FFI/JNI (#3313) - Refactor
setContextsandremoveContextsto use FFI/JNI (#3312) - Refactor
setUserto use FFI/JNI (#3295) - Refactor native breadcrumbs sync to use FFI/JNI (#3293)
- Refactor app hang and crash apis to use FFI/JNI (#3289)
- Refactor
AndroidReplayRecorderto use the new worker isolate api (#3296) - Refactor fetching app start and display refresh rate to use FFI and JNI (#3288)
- Offload
captureEnvelopeto background isolate for Cocoa and Android (#3232) - Add
sentry.replay_idto flutter logs (#3257)
Fixes
- Fix unsafe json access in
sentry_device(#3309)
- Mark file sync spans run in the main isolate with
-
9.8.0-beta.117 Nov 2025 pre-releaseRelease notes
Open source →Fixes
- Added
consumerProguardFiles 'proguard-rules.pro'to the debug build configuration to ensure ProGuard rules are consistently applied across both release and debug variants. (#3339)
Enhancements
- Added
-
9.7.007 Oct 2025Release notes
Open source →Features
- Add W3C
traceparentheader support (#3246)- Enable the option
propagateTraceparentto allow the propagation of the W3C Trace Context HTTP headertraceparenton outgoing HTTP requests.
- Enable the option
- Add
nativeDatabasePathoption toSentryFlutterOptionsto set the database path for Sentry Native (#3236) - Add
sentry.originto logs created byLoggingIntegration(#3153) - Tag all spans with thread info on non-web platforms (#3101, #3144)
- feat(feedback): Add option to disable keyboard resize (#3154)
- Support
firebase_remote_config: >=5.4.3 <7.0.0(#3213)
Enhancements
- Prefix firebase remote config feature flags with
firebase:(#3258) - Replay: continue processing if encountering
InheritedWidget(#3200)- Prevents false debug warnings when using provider for example which extensively uses
InheritedWidget
- Prevents false debug warnings when using provider for example which extensively uses
- Add
DioExceptionresponse data to error breadcrumb (#3164)- Bumped
diomin verion to5.2.0
- Bumped
- Use FFI/JNI for
captureEnvelopeon iOS and Android (#3115) - Log a warning when dropping envelope items (#3165)
- Call options.log for structured logs (#3187)
- Remove async usage from
FlutterErrorIntegration(#3202) - Tag all spans during app start with start type info (#3190)
- Refactor
loadContextsandloadDebugImagesto use JNI and FFI (#3224) - Improve envelope conversion to
Uint8ListinFileSystemTransport(#3147)
Fixes
- Safely access browser
navigator.deviceMemory(#3268) - Recursion in
openDatabasewhen usingSentrySqfliteDatabaseFactory(#3231) - Implement prefill logic in
SentryFeedbackWidgetforuseSentryUserparameter to populate fields with current user data (#3180) - Structured Logs: Don't add template when there are no 'sentry.message.parameter.x' attributes (#3219)
Dependencies
- Bump Cocoa SDK from v8.55.1 to v8.56.2 (#3276)
- Bump Android SDK from v8.20.0 to v8.21.1 (#3243)
- Pin
ffigento19.0.0and addobjective_cversion8.0.0package used inffigenon iOS and macOS (#3163) - Bump JavaScript SDK from v9.40.0 to v10.6.0 (#3167, #3201)
- Bump Native SDK from v0.9.1 to v0.10.0 (#3223)
- Add W3C
-
9.7.0-beta.512 Sep 2025 pre-release -
9.7.0-beta.410 Sep 2025 pre-releaseRelease notes
Open source →Features
- Add
nativeDatabasePathoption toSentryFlutterOptionsto set the database path for Sentry Native (#3236)
- Add
-
9.7.0-beta.304 Sep 2025 pre-releaseRelease notes
Open source → -
9.7.0-beta.202 Sep 2025 pre-releaseRelease notes
Open source →Features
- Add
sentry.originto logs created byLoggingIntegration(#3153) - Tag all spans with thread info on non-web platforms (#3101, #3144)
- feat(feedback): Add option to disable keyboard resize (#3154)
- Support
firebase_remote_config: >=5.4.3 <7.0.0(#3213)
Fixes
- Implement prefill logic in
SentryFeedbackWidgetforuseSentryUserparameter to populate fields with current user data (#3180) - Structured Logs: Don’t add template when there are no 'sentry.message.parameter.x’ attributes (#3219)
Enhancements
- Add
DioExceptionresponse data to error breadcrumb (#3164)- Bumped
diomin verion to5.2.0
- Bumped
- Use FFI/JNI for
captureEnvelopeon iOS and Android (#3115) - Log a warning when dropping envelope items (#3165)
- Call options.log for structured logs (#3187)
- Remove async usage from
FlutterErrorIntegration(#3202) - Tag all spans during app start with start type info (#3190)
- Refactor
loadContextsandloadDebugImagesto use JNI and FFI (#3224)
Dependencies
- Add
-
9.7.0-beta.106 Aug 2025 pre-release -
9.6.004 Aug 2025Release notes
Open source →Note: this release might require updating your Android Gradle Plugin version to at least
8.1.4.Fixes
- False replay config restarts because of
ScreenshotWidgetStatusequality issues (#3114) - Debug meta not loaded for split debug info only builds (#3104)
- TTID/TTFD root transactions (#3099, #3111)
- Web, Linux and Windows now create a UI transaction for the root page
- iOS, Android now correctly create idle transactions
- Fixes behaviour of traceId generation and TTFD for app start
- Directionality assertion issue in debug mode (#3088)
Dependencies
Internal
- Use lifecycle hook for before send event (#3017)
- False replay config restarts because of
-
9.6.0-beta.231 Jul 2025 pre-releaseRelease notes
Open source →Fixes
- False replay config restarts because of
ScreenshotWidgetStatusequality issues (#3114)
- False replay config restarts because of
-
9.6.0-beta.128 Jul 2025 pre-releaseRelease notes
Open source →Fixes
- Debug meta not loaded for split debug info only builds (#3104)
- TTID/TTFD root transactions (#3099, #3111)
- Web, Linux and Windows now create a UI transaction for the root page
- iOS, Android now correctly create idle transactions
- Fixes behaviour of traceId generation and TTFD for app start
- Directionality assertion issue in debug mode (#3088)
Dependencies
Internal
- Use lifecycle hook for before send event (#3017)
-
9.5.021 Jul 2025Release notes
Open source →Features
- Report Flutter framework feature flags (#2991)
- Search for feature flags that are prefixed with
flutter:* - This works on Flutter builds that include this PR
- Search for feature flags that are prefixed with
- Add
LoggingIntegrationsupport forSentryLog(#3050) - Add
enableNewTraceOnNavigationflag toSentryNavigatorObserver(#3096)- Default:
true - Disable by passing
false, e.g.:SentryNavigatorObserver(enableNewTraceOnNavigation: false) - Note: traces differ from transactions/spans — see tracing concepts here
- Default:
Fixes
- Ensure consistent sampling per trace (#3079)
Enhancements
- Add sampled flag in propagation context (#3084)
Dependencies
- Report Flutter framework feature flags (#2991)
-
9.4.114 Jul 2025Release notes
Open source →Fixes
- Span ids not re-generating for headers created from scope (#3051)
ScreenshotIntegrationnot being added for web (#3055)PropagationContextnot being set whenScopeis cloned resulting in different trace ids when usingwithScope(#3069)- Drift transaction rollback not executed when parent span is null (#3062)
Enhancements
-
9.4.010 Jul 2025Release notes
Open source →Fixes
- SPM should use
exactinstead offromwhen defining the sentry-cocoa package (#3065) - Respect ancestor text direction in
SentryScreenshotWidget(#3046) - Add additional crashpad path candidate (#3016)
- Replay JNI usage with
SentryFlutterPlugin(#3036, #3039) - Do not set
isTerminatingoncaptureReplayfor Android (#3037)- Previously segments might be missing on Android replays if an unhandled error happened
Dependencies
- SPM should use
-
9.4.0-beta.208 Jul 2025 pre-release -
9.4.0-beta.104 Jul 2025 pre-releaseRelease notes
Open source →Fixes
- Add additional crashpad path candidate (#3016)
- Replay JNI usage with
SentryFlutterPlugin(#3036, #3039) - Do not set
isTerminatingoncaptureReplayfor Android (#3037)- Previously segments might be missing on Android replays if an unhandled error happened
Dependencies
-
9.3.003 Jul 2025Release notes
Open source →Breaking Change (Tooling)
- Upgrade Kotlin
languageVersionto1.8(#3032)- This allows usage of the Kotlin Android Plugin
2.2.0which requires alanguageVersionof1.8or higher - If you are experiencing an issue we recommend upgrading to a toolchain compatible with Kotlin
1.8or higher
- This allows usage of the Kotlin Android Plugin
Features
- SentryFeedbackWidget Improvements (#2964)
- Capture a device screenshot for feedback
- Customize tests and required fields
- Customization moved from the
SentryFeedbackWidgetconstructor toSentryFlutterOptions:
// configure your feedback widget options.feedback.showBranding = false; - Upgrade Kotlin
-
9.2.001 Jul 2025Release notes
Open source →Features
- Add os and device attributes to Flutter logs (#2978)
- String templating for structured logs (#3002)
- Add user attributes to Dart/Flutter logs (#3014)
Fixes
- Fix context to native sync for sentry context types (#3012)
Enhancements
-
9.1.024 Jun 2025Release notes
Open source →Features
- Flutter Web: add debug ids to events (#2917)
- This allows support for symbolication based on debug ids
- This only works if you use the Sentry Dart Plugin version
3.0.0or higher
- Improved TTID/TTFD API (#2866)
- This improves the stability and consistency of TTFD reporting by introducing new APIs
// Prerequisite: `SentryNavigatorObserver` is set up and routes you navigate to have unique names, e.g configured via `RouteSettings` // Info: Stateless widgets will report TTFD automatically when wrapped with `SentryDisplayWidget` - no need to call `reportFullyDisplayed`. // Method 1: wrap your widget that you navigate to in `SentryDisplayWidget` SentryDisplayWidget(child: YourWidget()) // Then report TTFD after long running work (File I/O, Network) within your widget. @override void initState() { super.initState(); // Do some long running work... Future.delayed(const Duration(seconds: 3), () { if (mounted) { SentryDisplayWidget.of(context).reportFullyDisplayed(); } }); } // Method 2: use the API directly to report TTFD - this does not require wrapping your widget with `SentryDisplayWidget`: @override void initState() { super.initState(); // Get a reference to the current display before doing work. final currentDisplay = SentryFlutter.currentDisplay(); // Do some long running work... Future.delayed(const Duration(seconds: 3), () { currentDisplay?.reportFullyDisplayed(); }); }- Add
messageparameter tocaptureException()(#2882) - Add module in SentryStackFrame (#2931)
- Set
SentryOptions.includeModuleInStackTrace = trueto enable this. This may change grouping of exceptions.
- Set
Dependencies
Enhancements
- Only enable load debug image integration for obfuscated apps (#2907)
- Flutter Web: add debug ids to events (#2917)
-
9.0.016 Jun 2025Release notes
Open source →Version 9.0.0 marks a major release of the Sentry Dart/Flutter SDKs containing breaking changes.
The goal of this release is the following:
- Bump the minimum Dart and Flutter versions to
3.5.0and3.24.0respectively - Bump the minimum Android API version to 21
- Add interoperability with the Sentry Javascript SDK in Flutter Web for features such as release health and reporting native JS errors
- GA the Session Replay feature
- Provide feature flag support as well as Firebase Remote Config support
- Trim down unused and potentially confusing APIs
How To Upgrade
Please carefully read through the migration guide in the Sentry docs on how to upgrade from version 8 to version 9
Breaking changes
- Increase minimum SDK version requirements to Dart
v3.5.0and Flutterv3.24.0(#2643) - Update naming of
LoadImagesListIntegrationtoLoadNativeDebugImagesIntegration(#2833) - Set sentry-native backend to
crashpadby default andbreakpadfor Windows ARM64 (#2791)- Setting the
SENTRY_NATIVE_BACKENDenvironment variable will override the defaults.
- Setting the
- Remove manual TTID implementation (#2668)
- Remove screenshot option
attachScreenshotOnlyWhenResumed(#2664) - Remove deprecated
beforeScreenshot(#2662) - Remove old user feedback api (#2686)
- This is replaced by
beforeCaptureScreenshot
- This is replaced by
- Remove deprecated loggers (#2685)
- Remove user segment (#2687)
- Enable Sentry JS SDK native integration by default (#2688)
- Remove
enableTracing(#2695) - Remove
options.autoAppStartandsetAppStartEnd(#2680) - Bump Drift min version to
2.24.0and useQueryInterceptorinstead ofQueryExecutor(#2679) - Add hint for transactions (#2675)
BeforeSendTransactionCallbacknow has aHintparameter
- Remove
dart:htmlusage 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
Hintobject, which can be read inbeforeSend/beforeSendTransactioncallbacks viahint.response. - For now, only the
diointegration is supported.
- Enable privacy masking for screenshots by default (#2728)
- Set option
anrEnabledtotrueby default (#2878) - Mutable Data Classes (#2818)
- Some SDK classes do not have
constconstructors anymore. - The
copyWithandclonemethods of SDK classes were deprecated.
- Some SDK classes do not have
// old options.beforeSend = (event, hint) { event = event.copyWith(release: 'my-release'); return event; } // new options.beforeSend = (event, hint) { event.release = 'my-release'; return event; }Features
- Sentry Structured Logs Beta (#2919)
- The old
SentryLoggerhas been renamed toSdkLogCallbackand can be accessed throughoptions.lognow. - Adds support for structured logging though
Sentry.logger:
- The old
// Enable in `SentryOptions`: options.enableLogs = true; // Use `Sentry.logger` Sentry.logger.info("This is a info log."); Sentry.logger.warn("This is a warning log with attributes.", attributes: { 'string-attribute': SentryLogAttribute.string('string'), 'int-attribute': SentryLogAttribute.int(1), 'double-attribute': SentryLogAttribute.double(1.0), 'bool-attribute': SentryLogAttribute.bool(true), });// Manually track a feature flag Sentry.addFeatureFlag('my-feature', true); // or use the Sentry Firebase Remote Config Integration (sentry_firebase_remote_config package is required) // Add the integration to automatically track feature flags from firebase remote config. await SentryFlutter.init( (options) { options.dsn = 'https://[email protected]/add-your-dsn-here'; options.addIntegration( SentryFirebaseRemoteConfigIntegration( firebaseRemoteConfig: yourFirebaseRemoteConfig, ), ); }, );- Properly generates and links trace IDs for errors and spans (#2869, #2861):
- With
SentryNavigatorObserver- each navigation event starts a new trace. - Without
SentryNavigatorObserveron non-web platforms - a new trace is started from app lifecycle hooks. - Web without
SentryNavigatorObserver- the same trace ID is reused until the page is refreshed or closed.
- With
- Add support for Flutter Web release health (#2794)
- Requires using
SentryNavigatorObserver;
- Requires using
Behavioral changes
- Set log level to
warningby default whendebug = true(#2836) - Set HTTP client breadcrumbs log level based on response status code (#2847)
- 5xx is mapped to
SentryLevel.error - 4xx is mapped to
SentryLevel.warning
- 5xx is mapped to
- Parent-child relationship for the PlatformExceptions and Cause (#2803)
- Improves and more accurately represent exception groups
- Disabled by default as it may cause issues to group differently
- You can enable this feature by setting
options.groupException = true
Improvements
- Replay: improve Android native interop performance by using JNI (#2670)
- Align User Feedback API (#2949)
- Don’t apply breadcrumbs and extras from scope to feedback events
- Capture session replay when processing feedback events
- Record
feedbackclient report for dropped feedback events - Record
feedbackclient report for errors when usingHttpTransport
- Truncate feedback message to max 4096 characters (#2954)
- Replay: Mask RichText Widgets by default (#2975)
Dependencies
- Bump Android SDK from v7.22.4 to v8.12.0 (#2941, #2819, #2831, #2848, [#2873](https://github.com/getsentry/sentry-dart/pull/2873, #2883))
- Bump Cocoa SDK from v8.46.0 to v8.51.0 (#2820, #2851, #2884, #2951))
- Bump Native SDK from v0.8.2 to v0.8.4 (#2823, #2872)
- Bump jni from v0.14.0 to v0.14.1 ([#2800])(https://github.com/getsentry/sentry-dart/pull/2800)
- Bump the minimum Dart and Flutter versions to
-
9.0.0-beta.205 May 2025 pre-releaseRelease notes
Open source →Fixes
- Errors caught by
OnErrorIntegrationshould be unhandled by default (#2901)- This will not affect grouping
- This might affect crash-free rate
Dependencies
- Errors caught by
-
9.0.0-beta.124 Apr 2025 pre-releaseRelease notes
Open source →Features
- Properly generates and links trace IDs for errors and spans (#2869, #2861):
- With
SentryNavigatorObserver- each navigation event starts a new trace. - Without
SentryNavigatorObserveron non-web platforms - a new trace is started from app lifecycle hooks. - Web without
SentryNavigatorObserver- the same trace ID is reused until the page is refreshed or closed.
- With
- Add
FeatureFlagIntegration(#2825)
// Manually track a feature flag Sentry.addFeatureFlag('my-feature', true);- Firebase Remote Config Integration (#2837)
// Add the integration to automatically track feature flags from firebase remote config. await SentryFlutter.init( (options) { options.dsn = 'https://[email protected]/add-your-dsn-here'; options.addIntegration( SentryFirebaseRemoteConfigIntegration( firebaseRemoteConfig: yourFirebaseRemoteConfig, ), ); }, );- Make hierarchical exception grouping opt-in (#2858)
Fixes
- Trace propagation in HTTP tracing clients not correctly set up if performance is disabled (#2850)
Behavioral changes
- Mutable Data Classes (#2818)
- Some SDK classes do not have
constconstructors anymore. - The
copyWithandclonemethods of SDK classes were deprecated.
- Some SDK classes do not have
- Set log level to
warningby default whendebug = true(#2836) - Set HTTP client breadcrumbs log level based on response status code (#2847)
- 5xx is mapped to
SentryLevel.error - 4xx is mapped to
SentryLevel.warning
- 5xx is mapped to
- Parent-child relationship for the PlatformExceptions and Cause (#2803, #2858)
- Improves and changes exception grouping. To opt in, set
groupExceptions=true
- Improves and changes exception grouping. To opt in, set
- Set
anrEnabledenabled per default (#2878)
API Changes
- Update naming of
LoadImagesListIntegrationtoLoadNativeDebugImagesIntegration(#2833) - Remove
otherfromSentryRequest(#2879)
Dependencies
- Properly generates and links trace IDs for errors and spans (#2869, #2861):
-
9.0.0-alpha.225 Mar 2025 pre-releaseRelease notes
Open source →Features
- Add support for Flutter Web release health (#2794)
- Requires using
SentryNavigatorObserver;
- Requires using
Dependencies
- Bump Native SDK from v0.7.20 to v0.8.2 (#2761, #2807)
- Bump Javascript SDK from v8.42.0 to v9.5.0 (#2784)
Behavioral changes
- Set sentry-native backend to
crashpadby default andbreakpadfor Windows ARM64 (#2791)- Setting the
SENTRY_NATIVE_BACKENDenvironment variable will override the defaults.
- Setting the
- Remove renderer from
flutter_context(#2751)
API changes
- Add support for Flutter Web release health (#2794)
-
9.0.0-alpha.121 Feb 2025 pre-releaseRelease notes
Open source →Breaking changes
- Remove
SentryDisplayWidgetand 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.autoAppStartandsetAppStartEnd(#2680) - Bump Drift min version to
2.24.0and useQueryInterceptorinstead ofQueryExecutor(#2679) - Add hint for transactions (#2675)
BeforeSendTransactionCallbacknow has aHintparameter
- Remove
dart:htmlusage 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
Hintobject, which can be read inbeforeSend/beforeSendTransactioncallbacks viahint.response. - For now, only the
diointegration is supported.
- Enable privacy masking for screenshots by default (#2728)
Enhancements
- Replay: improve Android native interop performance by using JNI (#2670)
Dependencies
- Remove
-
9.0.0-RC.411 Jun 2025 pre-release -
9.0.0-RC.320 May 2025 pre-releaseRelease notes
Open source →Features
- Sentry Structured Logs (#2919)
- The old
SentryLoggerhas been renamed toSdkLogCallbackand can be accessed throughoptions.lognow. - Adds support for structured logging though
Sentry.logger:
- The old
// Enable in `SentryOptions`: options.enableLogs = true; // Use `Sentry.logger` Sentry.logger.info("This is a info log."); Sentry.logger.warn("This is a warning log with attributes.", attributes: { 'string-attribute': SentryLogAttribute.string('string'), 'int-attribute': SentryLogAttribute.int(1), 'double-attribute': SentryLogAttribute.double(1.0), 'bool-attribute': SentryLogAttribute.bool(true), }); - Sentry Structured Logs (#2919)
-
9.0.0-RC.215 May 2025 pre-releaseRelease notes
Open source →Fixes
- Add
hasSizeguard when using a renderObject inSentryUserInteractionWidget(#2946)
- Add
-
9.0.0-RC.114 May 2025 pre-release -
9.0.0-RC08 May 2025 pre-releaseRelease notes
Open source →Various fixes & improvements
- build(deps): bump ruby/setup-ruby from 1.233.0 to 1.237.0 (#2908) by @dependabot
- build(deps): bump actions/create-github-app-token from 2.0.2 to 2.0.6 (#2909) by @dependabot