PackageTrack
Sign in Get early access

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 2026
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 251
  1. 10.0.0-alpha.3 03 Aug 2026 pre-release
    Release notes

    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

    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

    Open source →
  2. 10.0.0-alpha.2 07 Jul 2026 pre-release
    Release notes

    Features

    Internal Changes

    Open source →
  3. 10.0.0-alpha.1 25 Jun 2026 pre-release
    Release notes

    Features

    Dart

    Other

    Enhancements

    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

    Internal Changes

    Open source →
  4. 9.27.0 13 Aug 2026
    Release notes

    Features

    • Add HTTP request/response header and body capture for Session Replay network breadcrumbs, gated by networkDetailAllowUrls/networkDetailDenyUrls. by @lucas-zimerman in #3875

    Fixes

    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

    • Replace curl-pipe-bash with action-setup-cli for Sentry CLI setup by @oioki in #3949
    • Remove secrets: inherit from changelog-preview workflow by @oioki in #3946
    Open source →
    Release notes

    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

    • Replace curl-pipe-bash with action-setup-cli for Sentry CLI setup by @oioki in #3949
    • Remove secrets: inherit from changelog-preview workflow by @oioki in #3946
    Open source →
  5. 9.26.0 30 Jul 2026
    Release notes

    Features

    Flutter

    • Standalone app start tracing (experimental) by @buenaflor in #3896 and #3918
      • App start is reported as its own App Start root (app.start) spanning process start to the first frame, instead of being nested under the synthetic initial ui.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 both SentryTraceLifecycle.static and SentryTraceLifecycle.stream.
      • Extend the app start past the first frame with SentryFlutter.extendAppStart() and SentryFlutter.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.
    // 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 returns null on the other lifecycle and once the extension has ended. Finishing the span completes the extension, so there is no need to also call finishExtendedAppStart().
    // 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

    Open source →
    Release notes

    Features

    Flutter

    • Standalone app start tracing (experimental) by @buenaflor in #3896 and #3918
      • App start is reported as its own App Start root (app.start) spanning process start to the first frame, instead of being nested under the synthetic initial ui.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 both SentryTraceLifecycle.static and SentryTraceLifecycle.stream.
      • Extend the app start past the first frame with SentryFlutter.extendAppStart() and SentryFlutter.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.
    // 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 returns null on the other lifecycle and once the extension has ended. Finishing the span completes the extension, so there is no need to also call finishExtendedAppStart().
    // 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
    Open source →
  6. 9.25.0 21 Jul 2026
    Release notes

    Features

    Fixes

    Flutter

    Other

    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
    Open source →
    Release notes

    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
    Open source →
  7. 9.24.0 07 Jul 2026
    Release notes

    Features

    Fixes

    • (replay) Accept Double timestamps in Android network breadcrumb conversion by @aqrc in #3859
    Open source →
    Release notes

    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
    Open source →
  8. 9.23.0 02 Jul 2026
    Release notes

    Features

    Dart

    Other

    Fixes

    Enhancements

    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

    Open source →
    Release notes

    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
    Open source →
  9. 9.22.0 11 Jun 2026
    Release notes

    Features

    Fixes

    Enhancements

    • (dart) Add span v2 envelope ingest_settings metadata by @buenaflor in #3700

    Dependencies

    Deps

    • chore(deps): update Android SDK to v8.43.2 by @github-actions in #3755
    • chore(deps): update Native SDK to v0.14.2 by @github-actions in #3683
    Open source →
    Release notes

    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_settings metadata by @buenaflor in #3700

    Dependencies

    Deps

    • chore(deps): update Android SDK to v8.43.2 by @github-actions in #3755
    • chore(deps): update Native SDK to v0.14.2 by @github-actions in #3683
    Open source →
  10. 9.21.0 29 May 2026
    Release notes

    Features

    • Rename SentryFeedbackWidget to SentryFeedbackForm by @denrase in #3702
      • SentryFeedbackWidget is deprecated and will be removed in the next major version. Use SentryFeedbackForm instead.

    Fixes

    Dart

    Flutter

    Enhancements

    Flutter

    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

    Open source →
    Release notes

    Features

    • Rename SentryFeedbackWidget to SentryFeedbackForm by @denrase in #3702
      • SentryFeedbackWidget is deprecated and will be removed in the next major version. Use SentryFeedbackForm instead.

    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
    Open source →
  11. 9.20.0 07 May 2026
    Release notes

    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 the sentry-org_id value 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 (default false): 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.

    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

    • Remove collection runtime dependency by @buenaflor in #3680
    • Notify linked issues on release by @buenaflor in #3685
    • Enforce conventional commit format for PR titles by @buenaflor in #3666
    Open source →
  12. 9.19.0 22 Apr 2026
    Release notes

    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-based SentryTraceLifecycle.static remains the default.
      • In stream mode, create spans with the new Sentry.startSpan / Sentry.startSpanSync APIs — 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) enableNewTraceOnNavigation is now opt-in by @buenaflor in #3657
      • SentryNavigatorObserver no 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
    Open source →
  13. 9.18.0 16 Apr 2026
    Release notes

    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
    Open source →
  14. 9.17.0 14 Apr 2026
    Release notes

    Fixes

    • Revert fetching sentry-native from release zip, use git source instead to fix permission issues (#3630)

    Dependencies

    Open source →
  15. 9.16.1 07 Apr 2026
    Release notes
    • Experimental span-streaming API with startSpan

    Fixes

    • Sentry Native not building due to failing git clone (#3621)
    Open source →
  16. 9.16.0 26 Mar 2026
    Release notes

    Dependencies

    Open source →
  17. 9.15.0 18 Mar 2026
    Release notes

    Fixes

    • Stop re-triggering hitTest in SentryUserInteractionWidget on pointerUp (#3540)
    • Use seconds since the Unix epoch for log.timestamp (#3558)
    • Implement SqfliteDatabaseExecutor to prevent TypeError on getVersion/setVersion (3539)

    Dependencies

    Open source →
  18. 9.15.0-dev.1 26 Feb 2026 pre-release

    Nothing published for this version

  19. 9.14.0 19 Feb 2026
    Release notes

    Features

    • Add enableTombstone option for improved native crash reporting on Android 12+ (#3526)
      • When enabled, uses Android's ApplicationExitInfo.REASON_CRASH_NATIVE to capture native crashes with more detailed thread information
      • Disabled by default

    Fixes

    • Dont guard user attributes behind sendDefaultPii for logs and metrics (#3524)

    Dependencies

    <summary><b>Internal Changes</b></summary>

    • Add sentry.javascript.browser.flutter sdk name for native js errors (#3525)

    </details>

    Open source →
  20. 9.13.0 12 Feb 2026
    Release notes

    Features

    • Synchronize traceId to 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

    <details> <summary><b>Internal Changes</b></summary>

    • Add SDK features metadata for SPM vs CocoaPods tracking (#3508)

    </details>

    Open source →
  21. 9.12.0 05 Feb 2026
    Release notes

    Dependencies

    Open source →
  22. 9.11.0 03 Feb 2026
    Release notes

    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 captureNativeFailedRequests option for iOS/macOS (#3472)
      • This option allows controlling native HTTP error capturing independently from captureFailedRequests.
      • When null (the default), it falls back to captureFailedRequests for backwards compatibility.
      • Set to false to disable native failed request capturing while keeping Dart-side capturing enabled.

    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 beforeMetricCallback from options (#3484)
    • Add span factory to allow swappable span backends in integrations (#3488)

    </details>

    Open source →
  23. 9.11.0-beta.2 30 Jan 2026 pre-release
    Release notes

    Fixes

    • Catch client exceptions in HttpTransport.send (#3490)

    Internals

    • Remove deprecated beforeMetricCallback from options (#3484)
    • Add span factory to allow swappable span backends in integrations (#3488)
    Open source →
  24. 9.11.0-beta.1 26 Jan 2026 pre-release
    Release notes

    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 captureNativeFailedRequests option for iOS/macOS (#3472)
      • This option allows controlling native HTTP error capturing independently from captureFailedRequests.
      • When null (the default), it falls back to captureFailedRequests for backwards compatibility.
      • Set to false to disable native failed request capturing while keeping Dart-side capturing enabled.

    Enhancements

    • Refactor Logging API to be consistent with Metrics (#3463)

    Dependencies

    Open source →
  25. 9.10.0 15 Jan 2026
    Release notes

    Fixes

    • Kotlin language version handling in Android (#3436)

    Enhancements

    • Replace log batcher with telemetry processor (#3448)

    Dependencies

    Open source →
  26. 9.9.2 07 Jan 2026
    Release notes

    Fixes

    • Android not sending events when autoInitializedNativeSdk is disabled (#3420)
    Open source →
  27. 9.9.1 18 Dec 2025
    Release notes

    Fixes

    • Cold/warm start spans not attaching if TTFD takes more than 3 seconds to report (#3404)
    • Ensure that the JNI ScopesAdapter instance is released after use (#3411)
    Open source →
  28. 9.9.0 16 Dec 2025
    Release notes

    Features

    • Add Sentry.setAttributes and Sentry.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_supabase package to instrument supabase with Sentry breadcrumbs, traces and errors.

    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 Companion in JNI calls and properly release JNI refs (#3354)
      • This potentially fixes segfault crashes related to JNI

    Enhancements

    • Refactor captureReplay and setReplayConfig to use JNI (#3318)
    • Refactor init to use JNI (#3324)
    • Flush logs if client/hub/sdk is closed (#3335

    Dependencies

    Open source →
  29. 9.9.0-beta.4 11 Dec 2025 pre-release
    Release notes

    Fixes

    • Dart to native type conversion (#3372)
    • Revert FFI usage on iOS/macOS due to symbol stripping issues (#3379)

    Dependencies

    Open source →
  30. 9.9.0-beta.3 26 Nov 2025 pre-release
    Release notes

    Features

    • Add Sentry.setAttributes and Sentry.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_supabase package to instrument supabase with Sentry breadcrumbs, traces and errors.

    Fixes

    • Android app crashing on hot-restart in debug mode (#3358)
    • Dont use Companion in 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
    Open source →
  31. 9.9.0-beta.2 24 Nov 2025 pre-release

    Nothing published for this version

  32. 9.8.0 03 Nov 2025
    Release notes

    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 setExtra and removeExtra to use FFI/JNI (#3314)
    • Refactor setTag and removeTag to use FFI/JNI (#3313)
    • Refactor setContexts and removeContexts to use FFI/JNI (#3312)
    • Refactor setUser to 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 AndroidReplayRecorder to use the new worker isolate api (#3296)
    • Refactor fetching app start and display refresh rate to use FFI and JNI (#3288)
    • Offload captureEnvelope to background isolate for Cocoa and Android (#3232)
    • Add sentry.replay_id to flutter logs (#3257)

    Fixes

    • Fix unsafe json access in sentry_device (#3309)
    Open source →
  33. 9.8.0-beta.1 17 Nov 2025 pre-release
    Release notes

    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

    • Refactor captureReplay and setReplayConfig to use FFI/JNI (#3318)
    • Refactor init to use FFI/JNI (#3324)
    Open source →
  34. 9.7.0 07 Oct 2025
    Release notes

    Features

    • Add W3C traceparent header support (#3246)
      • Enable the option propagateTraceparent to allow the propagation of the W3C Trace Context HTTP header traceparent on outgoing HTTP requests.
    • Add nativeDatabasePath option to SentryFlutterOptions to set the database path for Sentry Native (#3236)
    • Add sentry.origin to logs created by LoggingIntegration (#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
    • Add DioException response data to error breadcrumb (#3164)
      • Bumped dio min verion to 5.2.0
    • Use FFI/JNI for captureEnvelope on 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 loadContexts and loadDebugImages to use JNI and FFI (#3224)
    • Improve envelope conversion to Uint8List in FileSystemTransport (#3147)

    Fixes

    • Safely access browser navigator.deviceMemory (#3268)
    • Recursion in openDatabase when using SentrySqfliteDatabaseFactory (#3231)
    • Implement prefill logic in SentryFeedbackWidget for useSentryUser parameter 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

    Open source →
  35. 9.7.0-beta.5 12 Sep 2025 pre-release
    Release notes

    Dependencies

    Open source →
  36. 9.7.0-beta.4 10 Sep 2025 pre-release
    Release notes

    Features

    • Add nativeDatabasePath option to SentryFlutterOptions to set the database path for Sentry Native (#3236)
    Open source →
  37. 9.7.0-beta.3 04 Sep 2025 pre-release
    Release notes

    Fixes

    • Recursion in openDatabase when using SentrySqfliteDatabaseFactory (#3231)

    Enhancements

    • Replay: continue processing if encountering InheritedWidget (#3200)
      • Prevents false debug warnings when using provider for example which extensively uses InheritedWidget
    Open source →
  38. 9.7.0-beta.2 02 Sep 2025 pre-release
    Release notes

    Features

    • Add sentry.origin to logs created by LoggingIntegration (#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 SentryFeedbackWidget for useSentryUser parameter 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 DioException response data to error breadcrumb (#3164)
      • Bumped dio min verion to 5.2.0
    • Use FFI/JNI for captureEnvelope on 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 loadContexts and loadDebugImages to use JNI and FFI (#3224)

    Dependencies

    Open source →
  39. 9.7.0-beta.1 06 Aug 2025 pre-release
    Release notes

    Features

    • Tag all spans with thread info (#3101)

    Enhancements

    • Improve envelope conversion to Uint8List in FileSystemTransport (#3147)

    Dependencies

    Open source →
  40. 9.6.0 04 Aug 2025
    Release notes

    Note: this release might require updating your Android Gradle Plugin version to at least 8.1.4.

    Fixes

    • False replay config restarts because of ScreenshotWidgetStatus equality 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)
    Open source →
  41. 9.6.0-beta.2 31 Jul 2025 pre-release
    Release notes

    Fixes

    • False replay config restarts because of ScreenshotWidgetStatus equality issues (#3114)
    Open source →
  42. 9.6.0-beta.1 28 Jul 2025 pre-release
    Release notes

    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)
    Open source →
  43. 9.5.0 21 Jul 2025
    Release notes

    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
    • Add LoggingIntegration support for SentryLog (#3050)
    • Add enableNewTraceOnNavigation flag to SentryNavigatorObserver (#3096)
      • Default: true
      • Disable by passing false, e.g.:
        SentryNavigatorObserver(enableNewTraceOnNavigation: false)
        
      • Note: traces differ from transactions/spans — see tracing concepts here

    Fixes

    • Ensure consistent sampling per trace (#3079)

    Enhancements

    • Add sampled flag in propagation context (#3084)

    Dependencies

    Open source →
  44. 9.4.1 14 Jul 2025
    Release notes

    Fixes

    • Span ids not re-generating for headers created from scope (#3051)
    • ScreenshotIntegration not being added for web (#3055)
    • PropagationContext not being set when Scope is cloned resulting in different trace ids when using withScope (#3069)
    • Drift transaction rollback not executed when parent span is null (#3062)

    Enhancements

    • Remove SentryTimingsCallback and use Flutter's TimingsCallback instead (#3054)
    • Remove unused native frames integration (#3053)
    Open source →
  45. 9.4.0 10 Jul 2025
    Release notes

    Fixes

    • SPM should use exact instead of from when 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 isTerminating on captureReplay for Android (#3037)
      • Previously segments might be missing on Android replays if an unhandled error happened

    Dependencies

    Open source →
  46. 9.4.0-beta.2 08 Jul 2025 pre-release
    Release notes

    Fixes

    • Respect ancestor text direction in SentryScreenshotWidget (#3046)
    Open source →
  47. 9.4.0-beta.1 04 Jul 2025 pre-release
    Release notes

    Fixes

    • Add additional crashpad path candidate (#3016)
    • Replay JNI usage with SentryFlutterPlugin (#3036, #3039)
    • Do not set isTerminating on captureReplay for Android (#3037)
      • Previously segments might be missing on Android replays if an unhandled error happened

    Dependencies

    Open source →
  48. 9.3.0 03 Jul 2025
    Release notes

    Breaking Change (Tooling)

    • Upgrade Kotlin languageVersion to 1.8 (#3032)
      • This allows usage of the Kotlin Android Plugin 2.2.0 which requires a languageVersion of 1.8 or higher
      • If you are experiencing an issue we recommend upgrading to a toolchain compatible with Kotlin 1.8 or higher

    Features

    • SentryFeedbackWidget Improvements (#2964)
      • Capture a device screenshot for feedback
      • Customize tests and required fields
      • Customization moved from the SentryFeedbackWidget constructor to SentryFlutterOptions:
    // configure your feedback widget
    options.feedback.showBranding = false;
    
    Open source →
  49. 9.2.0 01 Jul 2025
    Release notes

    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

    • Dont execute app start integration if tracing is disabled (#3026)
    • Set Firebase Remote Config flags on integration initialization (#3008)
    Open source →
  50. 9.1.0 24 Jun 2025
    Release notes

    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.0 or 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 message parameter to captureException() (#2882)
    • Add module in SentryStackFrame (#2931)
      • Set SentryOptions.includeModuleInStackTrace = true to enable this. This may change grouping of exceptions.

    Dependencies

    Enhancements

    • Only enable load debug image integration for obfuscated apps (#2907)
    Open source →
  51. 9.0.0 16 Jun 2025
    Release notes

    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.0 and 3.24.0 respectively
    • 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.0 and Flutter v3.24.0 (#2643)
    • Update naming of LoadImagesListIntegration to LoadNativeDebugImagesIntegration (#2833)
    • Set sentry-native backend to crashpad by default and breakpad for Windows ARM64 (#2791)
      • Setting the SENTRY_NATIVE_BACKEND environment variable will override the defaults.
    • 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
    • Remove deprecated loggers (#2685)
    • Remove user segment (#2687)
    • Enable Sentry JS SDK native integration by default (#2688)
    • Remove enableTracing (#2695)
    • Remove options.autoAppStart and setAppStartEnd (#2680)
    • Bump Drift min version to 2.24.0 and use QueryInterceptor instead of QueryExecutor (#2679)
    • Add hint for transactions (#2675)
      • BeforeSendTransactionCallback now has a Hint parameter
    • Remove dart:html usage in favour of package: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 in beforeSend/beforeSendTransaction callbacks via hint.response.
      • For now, only the dio integration is supported.
    • Enable privacy masking for screenshots by default (#2728)
    • Set option anrEnabled to true by default (#2878)
    • Mutable Data Classes (#2818)
      • Some SDK classes do not have const constructors anymore.
      • The copyWith and clone methods of SDK classes were deprecated.
    // 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 SentryLogger has been renamed to SdkLogCallback and can be accessed through options.log now.
      • Adds support for structured logging though Sentry.logger:
    // 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),
    });
    
    • Add support for feature flags and integration with Firebase Remote Config (#2825, #2837)
    // 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 SentryNavigatorObserver on 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.
    • Add support for Flutter Web release health (#2794)
      • Requires using SentryNavigatorObserver;

    Behavioral changes

    • Set log level to warning by default when debug = 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
    • 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 feedback client report for dropped feedback events
      • Record feedback client report for errors when using HttpTransport
    • Truncate feedback message to max 4096 characters (#2954)
    • Replay: Mask RichText Widgets by default (#2975)

    Dependencies

    Open source →
  52. 9.0.0-beta.2 05 May 2025 pre-release
    Release notes

    Fixes

    • Errors caught by OnErrorIntegration should be unhandled by default (#2901)
      • This will not affect grouping
      • This might affect crash-free rate

    Dependencies

    Open source →
  53. 9.0.0-beta.1 24 Apr 2025 pre-release
    Release notes

    Features

    • Properly generates and links trace IDs for errors and spans (#2869, #2861):
      • With SentryNavigatorObserver - each navigation event starts a new trace.
      • Without SentryNavigatorObserver on 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.
    • 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 const constructors anymore.
      • The copyWith and clone methods of SDK classes were deprecated.
    • Set log level to warning by default when debug = 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
    • Parent-child relationship for the PlatformExceptions and Cause (#2803, #2858)
      • Improves and changes exception grouping. To opt in, set groupExceptions=true
    • Set anrEnabled enabled per default (#2878)

    API Changes

    • Update naming of LoadImagesListIntegration to LoadNativeDebugImagesIntegration (#2833)
    • Remove other from SentryRequest (#2879)

    Dependencies

    Open source →
  54. 9.0.0-alpha.2 25 Mar 2025 pre-release
    Release notes

    Features

    • Add support for Flutter Web release health (#2794)
      • Requires using SentryNavigatorObserver;

    Dependencies

    Behavioral changes

    • Set sentry-native backend to crashpad by default and breakpad for Windows ARM64 (#2791)
      • Setting the SENTRY_NATIVE_BACKEND environment variable will override the defaults.
    • Remove renderer from flutter_context (#2751)

    API changes

    • Move replay and privacy from experimental to options (#2755)
    • Cleanup platform mocking (#2730)
      • The PlatformChecker was renamed to RuntimeChecker
      • Moved PlatformChecker.platform to options.platform
    Open source →
  55. 9.0.0-alpha.1 21 Feb 2025 pre-release
    Release notes

    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 and setAppStartEnd (#2680)
    • Bump Drift min version to 2.24.0 and use QueryInterceptor instead of QueryExecutor (#2679)
    • Add hint for transactions (#2675)
      • BeforeSendTransactionCallback now has a Hint parameter
    • Remove dart:html usage in favour of package: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 in beforeSend/beforeSendTransaction callbacks via hint.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

    Open source →
  56. 9.0.0-RC.4 11 Jun 2025 pre-release
    Release notes

    Enhancements

    • Replay: Mask RichText Widgets (#2975)
    Open source →
  57. 9.0.0-RC.3 20 May 2025 pre-release
    Release notes

    Features

    • Sentry Structured Logs (#2919)
      • The old SentryLogger has been renamed to SdkLogCallback and can be accessed through options.log now.
      • Adds support for structured logging though Sentry.logger:
    // 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),
    });
    
    Open source →
  58. 9.0.0-RC.2 15 May 2025 pre-release
    Release notes

    Fixes

    • Add hasSize guard when using a renderObject in SentryUserInteractionWidget (#2946)
    Open source →
  59. 9.0.0-RC.1 14 May 2025 pre-release
    Release notes

    Fixes

    • Fix feature flag model keys (#2943)
    Open source →
  60. 9.0.0-RC 08 May 2025 pre-release
    Release notes

    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
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive