Repository navigation
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. UseSentry.startSpaninstead ofSentry.startTransactionandISentrySpan.startChild, which are no-ops in streaming mode. Setoptions.traceLifecycle = SentryTraceLifecycle.staticto 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
minSdkto 26 or higher. (#4049) - Remove CocoaPods support. Flutter apps targeting Apple platforms must use Swift Package Manager. (#3879)
- Remove
enableLogsandenableMetrics. Logs and metrics are always enabled. The logging integration forwards Sentry logs by default; adjustminSentryLogLevelor set it toLevel.OFFto disable forwarding. (#3983) - Remove
enableStandaloneAppStartTracing. When tracing is enabled, app start is always reported as a standaloneapp.startroot 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
traceIdonSentryLog, make logger methods returnvoid, and removeSentryLogAttribute. (#3842, #3852, #3843) - Add a
Hintparameter 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
copyWithAPIs and protocol clones, and makeclone()internal. (#3877, #3845) - Remove the deprecated
SentryFeedbackWidget. (#3844) - Replace
options.logwith internal logging and makeBindingWrapperandbindingUtilsinternal. (#3932, #3940) - Align span attributes with Sentry Conventions and remove
file.asyncfrom 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, andflush. Explicitly started replays work even when both automatic sample rates are0. (#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
SensitiveContentby 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
okwhile preserving explicit span statuses. (#4035) - Exclude later frame builds from startup timing. (8ee2d41)
- Align HTTP client error type and value. (#3934)