Skip to content

Releases: getsentry/sentry-dart

10.0.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 09 Oct 15:32

Version 10.0.0 marks a major release of the Sentry Dart/Flutter SDKs containing breaking changes.

How To Upgrade

Please carefully read through the migration guide in the Sentry docs on how to upgrade from version 9 to version 10

Breaking Changes

  • Default to streaming traces (SentryTraceLifecycle.stream), sending spans as they finish. Use Sentry.startSpan instead of Sentry.startTransaction and ISentrySpan.startChild, which are no-ops in streaming mode. Set options.traceLifecycle = SentryTraceLifecycle.static to keep using the transaction APIs. (#4057)
  • Require Dart 3.12.0 or newer and Flutter 3.44.0 or newer. (#3784, 98581ac)
  • Raise the minimum Android SDK version for Flutter from API 21 to API 26. Set your app's Android minSdk to 26 or higher. (#4049)
  • Remove CocoaPods support. Flutter apps targeting Apple platforms must use Swift Package Manager. (#3879)
  • Remove enableLogs and enableMetrics. Logs and metrics are always enabled. The logging integration forwards Sentry logs by default; adjust minSentryLogLevel or set it to Level.OFF to disable forwarding. (#3983)
  • Remove enableStandaloneAppStartTracing. When tracing is enabled, app start is always reported as a standalone app.start root on Android and iOS. (#3981)
  • Make native failed-request capture opt-in. (#3885)
  • Run error sampling after event processors and beforeSend. These callbacks now also run for events that are subsequently sampled out. (#3955)
  • Require traceId on SentryLog, make logger methods return void, and remove SentryLogAttribute. (#3842, #3852, #3843)
  • Add a Hint parameter to the before-send callbacks for logs, metrics, and spans. (#3847)
  • Make feature flags hub/scope-based. (#3848)
  • Remove SDK profiling and deprecated performance collectors. (#3891, #3850)
  • Remove deprecated copyWith APIs and protocol clones, and make clone() internal. (#3877, #3845)
  • Remove the deprecated SentryFeedbackWidget. (#3844)
  • Replace options.log with internal logging and make BindingWrapper and bindingUtils internal. (#3932, #3940)
  • Align span attributes with Sentry Conventions and remove file.async from file instrumentation. (#3805, #3841)
  • Use Breakpad as the default native crash backend on Windows and Linux. (#4045)

Features

  • Add manual Session Replay controls on Android and iOS through SentryFlutter.replay: start, startBuffering, pause, resume, stop, and flush. Explicitly started replays work even when both automatic sample rates are 0. (#4010)
  • Improve startup frame spans, and remove the pre-init and Sentry initialization spans from startup traces. (#4018, 6aad048)
  • Include sampled-out errors in release health, and report unhandled Flutter errors as unhandled sessions rather than crashes. (#4008, #4007)
  • Mask SensitiveContent by default in Session Replay. (#3973)
  • Graduate mature v10 APIs from experimental status. (#3940)

Enhancements

  • Migrate the Android plugin to Flutter’s built-in Kotlin support. (#3961)

Fixes

  • Isolate failures in user-provided callbacks. (#4026)
  • Default event trace context status to ok while preserving explicit span statuses. (#4035)
  • Exclude later frame builds from startup timing. (8ee2d41)
  • Align HTTP client error type and value. (#3934)

Dependencies

  • Update Sentry Cocoa to 9.27.0. (#4006)
  • Update Sentry JavaScript to 11.0.0, preserving the default web privacy settings and aligning unhandled session reporting. (#4032)
  • Use jni >=1.0.0 <1.1.0 and jnigen 0.17.0. (#3931)

10.0.0-rc.2

10.0.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 02 Oct 09:40

Breaking Changes

  • Default traceLifecycle to SentryTraceLifecycle.stream, sending spans as they finish instead of as transactions. Errors, messages, and feedback captured inside an active streaming span now link to it. Set options.traceLifecycle = SentryTraceLifecycle.static to keep the previous transaction-based behavior. (#4057)

10.0.0-rc.1

10.0.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 28 Sep 12:33

Breaking Changes

  • Raise the minimum Android SDK version for Flutter from API 21 to API 26. Set your app's Android minSdk to 26 or higher. (#4049)

Fixes

  • Default event trace context status to ok while preserving explicit span statuses. (#4035)
  • Restore Android replay configuration across recorder restarts and prevent overlapping capture schedulers. (#4037)

10.0.0-rc.0

10.0.0-rc.0 Pre-release
Pre-release

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 25 Sep 09:16

Breaking Changes

  • Require Dart 3.12.0 or newer and Flutter 3.44.0 or newer. (#3784)
  • Remove CocoaPods support. Flutter apps targeting Apple platforms must use Swift Package Manager. (#3879)
  • Remove enableLogs and enableMetrics. Logs and metrics are always enabled. The logging integration forwards Sentry logs by default; adjust minSentryLogLevel or set it to Level.OFF to disable forwarding. (#3983)
  • Remove enableStandaloneAppStartTracing. When tracing is enabled, app start is always reported as a standalone app.start root on Android and iOS. (#3981)
  • Make native failed-request capture opt-in. (#3885)
  • Run error sampling after event processors and beforeSend. These callbacks now also run for events that are subsequently sampled out. (#3955)
  • Require traceId on SentryLog, make logger methods return void, and remove SentryLogAttribute. (#3842, #3852, #3843)
  • Add a Hint parameter to the before-send callbacks for logs, metrics, and spans. (#3847)
  • Make feature flags hub/scope-based. (#3848)
  • Remove SDK profiling and deprecated performance collectors. (#3891, #3850)
  • Remove deprecated copyWith APIs and protocol clones, and make clone() internal. (#3877, #3845)
  • Remove the deprecated SentryFeedbackWidget. (#3844)
  • Replace options.log with internal logging and make BindingWrapper and bindingUtils internal. (#3932, #3940)
  • Align span attributes with Sentry Conventions and remove file.async from file instrumentation. (#3805, #3841)
  • Use Breakpad as the default native crash backend on Windows and Linux. (#4045)

Features

  • Add manual Session Replay controls on Android and iOS through SentryFlutter.replay: start, startBuffering, pause, resume, stop, and flush. Explicitly started replays work even when both automatic sample rates are 0. (#4010)
  • Add app-start extension APIs and lifecycle-specific span getters, and improve startup frame spans. (#3896, #3918, #4018)
  • Include sampled-out errors in release health, and report unhandled Flutter errors as unhandled sessions rather than crashes. (#4008, #4007)
  • Mask SensitiveContent by default in Session Replay. (#3973)
  • Record Android replay segment names and span segment-name sources. (#3897, #3904)
  • Support array attributes in telemetry and attach feature flags to the hub span. (#3778, #3806)
  • Graduate span streaming and other mature v10 APIs from experimental status. (#3756, #3940)

Enhancements

  • Improve Android scope synchronization and replay screenshot transfer performance. (#3924)
  • Support 64-bit integer values from Sentry Native. (#3760)
  • Migrate the Android plugin to Flutter’s built-in Kotlin support. (#3961)

Fixes

  • Isolate failures in user-provided callbacks. (#4026)
  • Close background JNI workers when their owning isolate exits while preserving native reporting across cached-engine view detachment and reattachment. (#3987)
  • Await in-flight replay captures during scheduler shutdown and skip new captures while the app is not resumed. (#3935)
  • Prevent delayed-frame state errors and guard script completion. (#3876, #3912)
  • Add the app-start screen attribute and exclude later frame builds from startup timing. (#3893, 8ee2d41)
  • Align HTTP client error type and value. (#3934)
  • Accept double timestamps in Android network breadcrumbs. (#3859)
  • Read normalized rate-limit headers and report missing metric byte outcomes. (#3883, #3905)

Dependencies

  • Update Sentry Android to 8.56.0. (#4015)
  • Update Sentry Cocoa to 9.27.0. (#4006)
  • Update Sentry Native to 0.16.6. (#4013)
  • Update Sentry JavaScript to 11.0.0, preserving the default web privacy settings and aligning unhandled session reporting. (#4032)
  • Use jni >=1.0.0 <1.1.0 and jnigen 0.17.0. (#3931)

10.0.0-beta.0

10.0.0-beta.0 Pre-release
Pre-release

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 24 Sep 10:59

Features

Dependencies

9.30.1

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 22 Sep 12:51

Fixes

10.0.0-alpha.7

10.0.0-alpha.7 Pre-release
Pre-release

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 21 Sep 09:30

Features

Fixes

  • Isolate user callback failures by @sentry-junior in #4026

10.0.0-alpha.6

10.0.0-alpha.6 Pre-release
Pre-release

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 18 Sep 07:23

Features

Flutter

  • Add manual Session Replay controls on Android and iOS through SentryFlutter.replay: start, startBuffering, pause, resume, stop, and flush. Explicitly started replays work even when both automatic sample rates are 0. by @buenaflor in #4010

Fixes

Flutter

  • Close background JNI workers when their owning isolate exits, while preserving native reporting across cached-engine view detachment and reattachment. by @lucas-zimerman in #3987
  • Await in-flight replay captures during scheduler shutdown and skip new captures while the app is not resumed. by @lucas-zimerman in #3935

Dependencies

Flutter

  • Update Sentry Android from 8.55.0 to 8.56.0 by @buenaflor in #4015
  • Update Sentry Native from 0.16.4 to 0.16.6 by @github-actions in #3998 and #4013

Internal Changes

  • Collect Apple framework symbols by @sentry-junior in #4003

9.30.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 10 Sep 16:05

Fixes

Flutter

  • Fix an Android native/GPU memory leak caused by the background JNI worker outliving its Flutter engine, while preserving native reporting across cached-engine view detachment and reattachment. by @lucas-zimerman in #3987
  • Await in-flight replay capture on scheduler stop by @lucas-zimerman in #3935

Dependencies

Deps

  • chore(deps): Update Android SDK to v8.56.0 by @buenaflor in #4015
  • chore(deps): update Native SDK to v0.16.6 by @github-actions in #4013

Internal Changes

  • (symbols) Collect Apple framework symbols by @sentry-junior in #4003

10.0.0-alpha.5

10.0.0-alpha.5 Pre-release
Pre-release

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 08 Sep 11:28

Features

Flutter

  • Unsampled errors affect release health by @buenaflor in #4008
  • Unhandled Flutter errors do not mark sessions as crashed but unhandled instead by @buenaflor in #4007

Internal Changes