NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #281 most downloaded on pub.dev
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.
Last release 2 days ago
18 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
9 years old
257 releases · first in 2017
Bump Cocoa SDK to v7.19.0 (#901, #928)
dio.addSentry hangs if dsn is empty and SDK NoOp (#920)sentry_dio is promoted to GA and not experimental anymore (#914)One column per quarter.
Filter out app starts with more than 60s
Bump: Sentry-Cocoa to 7.18.0 and Sentry-Android to 6.1.2
SentryAssetBundle on Flutter >= 3.1 (#877)6.6.0 of sentry, Sentry's version >= v21.9.0 is required or you have to manually disable sending client reports via the sendClientReports option. This only applies to self-hosted Sentry. If you are using sentry.io, no action is needed.SentryFileWriter/SentryFileOutputStream append overwrites file contents (#2304)Bump: Sentry-Cocoa to 7.17.0 and Sentry-Android to 6.1.1
- Bump: Sentry-Cocoa to 7.16.1
Fix: Add user setter back in the scope
- Feat: Sync Scope to Native
Feat: Attach Isolate name to thread context
SentryAssetBundle on Flutter >= 3.1 (#877)Feat: Allow manual init of the Native SDK
Starting with version 6.6.0 of sentry, Sentry's version >= v21.9.0 is required or you have to manually disable sending client reports via the sendClie
6.6.0 of sentry, Sentry's version >= v21.9.0 is required or you have to manually disable sending client reports via the sendClientReports option. This only applies to self-hosted Sentry. If you are using sentry.io, no action is needed.- Update event contexts
- No documented changes.
Fix: Do not set the transaction to scope if no op
- No documented changes.
Feat: Support for platform stacktraces on Android
Bump: Sentry-Android to 5.7.0 and Sentry-Cocoa to 7.11.0
Feat: Mobile Vitals - Native App Start
Fix: Missing userId on iOS when userId is not set (#782) by @marandaneto
Feat: Allow to set startTimestamp & endTimestamp manually to SentrySpan
- No documented changes.
Fix: Disable log by default in debug mode
DioEventProcessor which improves DioError crash reports (#718)Feat: Support maxSpan for performance API and expose SentryOptions through Hub
sentry_logging incorrectly setting SDK name (#725)SentryAssetBundle for automatic spans for asset loading (#685)maxRequestBodySize should be never by default when using the FailedRequestClientAdapter directly (#701)compileOnly in integrations (#2175)Feat: Support Attachment.addToTransactions
Feat: Auto transactions duration trimming
SentryAssetBundle for automatic spans for asset loading (#685)maxRequestBodySize should be never by default when using the FailedRequestClientAdapter directly (#701)Feat: Improve configuration options of SentryNavigatorObserver
SentryNavigatorObserver (#684)Enha: Replace flutter default root name '/' with 'root'
Feat: Automatically create transactions when navigating between screens
Fix: ConcurrentModificationError in when finishing span
Fix: sentry_logging works now on web
sentry_logging works now on web (#660)sentry_logging timestamps are in UTC (#660)sentry_logging Level.Off is never recorded (#660)sentry-android-navigation for AndroidX Navigation support (#2136)sentry-compose for Jetpack Compose support (Navigation) (#2136)Breaking Changes:
samplingDecision in the TransactionContext constructor has been replaced with a TracesSamplingDecision object. Feel free to ignore the @ApiStatus.Internal in this case.Feat: Add logger name to SentryLogger and send errors in integrations to the registered logger
logging (#631)SentryLogger and send errors in integrations to the registered logger (#641)Fix: Remove is Enum check to support older Dart versions
Fix: Transaction serialization if not encodable
Bump: Sentry-Android to 5.3.0 and Sentry-Cocoa to 7.5.1
debugPrint (#618)SentryEvent inherits from the SentryEventLike mixinScope#transaction sets and reads from the Scope#span object if bound to the ScopeFeat: Add current route as transaction
debugPrint (#618)Bump Sentry Android SDK to 5.2.0
Performance API for Dart/Flutter
SentryEvent inherits from the SentryEventLike mixinScope#transaction sets and reads from the Scope#span object if bound to the ScopeFix: Set custom SentryHttpClientError when HTTP error is captured without an exception
Fix: Update SentryUser according to docs
SentryUser according to docs (#561)6.0.0 of the sentry package, Sentry's self hosted version >= v21.9.0 is required or you have to manually disable sending client reports via the sendClientReports option. This only applies to self-hosted Sentry. If you are using sentry.io, no action is needed.JsonSerializable and JsonDeserializer interfaces for manual json
serialization/deserialization.JsonUnknwon interface to preserve unknown properties when deserializing/serializing
SDK classes.Contexts, these are supported for serialization:
JsonSerializableMap, Collection, Array, String and all primitive types.Map, Collection, Array, String and all primitive types.toString() on objects that have a cyclic reference to a ancestor object.toString() where object graphs exceed max depth.gson dependency.IUnknownPropertiesConsumerSentryOptions can merge properties from ExternalOptions instead of another instance of SentryOptionsSentryOptions that allowed null values are now not nullable - debug, enableUncaughtExceptionHandler, enableDeduplicationSentryOptions cannot be created anymore using PropertiesProvider with SentryOptions#from method. Use ExternalOptions#from instead and merge created object with SentryOptions#mergeFeat: Lists of exceptions and threads
FlutterError.onError (#538)Fix: Re-initialization of Flutter SDK
toString() on all non-serializable fields (#528)Flutter.onError in order to not swallow messages (#533)Fix: Serialization of Flutter Context
Feat: Enrich events with more context
beforeSend callback accepts async code (#494)Transport changed from Future<SentryId> send(SentryEvent event) to Future<SentryId> send(SentryEnvelope envelope)Sentry.currentHub (#490)cacheDirSize to maxCacheItems and add maxCacheItems for iOS (#495)beforeSend callback accepts async code (#494)6.0.0 of the sentry, Sentry's version >= v20.6.0 is required. This only applies to on-premise Sentry, if you are using sentry.io no action is needed.Fix: Merge user from event and scope
SentryOptions.considerInAppFramesByDefault (#482)Fix: Mark Sentry.currentHub as deprecated
Sentry.close() closes native SDK integrations (#388)Sentry.currentHub as deprecated (#406)SentryHttpClient tracks the duration which a request takes and logs failed requests (#414)\u0000 from Windows package info (#420)print() as Breadcrumbs (#439)dist was read from SENTRY_DSN, now it's read from SENTRY_DIST (#442)log() instead of print() for SDK logging (#453)withScope callback to capture methods (#463)language, screenHeightPixels and screenWidthPixels to SentryDevice (#465)sentry Dart package requires Sentry server >= v20.6.0. This only applies to on-premise Sentry, if you are using sentry.io no action is needed.Fix: Fix deprecated registrar.messenger call in SentryFlutterWeb
registrar.messenger call in SentryFlutterWeb (#364)package_info to package_info_plus plugin (#370)SentryOptions.debug in sentry (#376)sentry (#375)Sentry.close() changed from void to Future<void> and Integration.close() changed from void to FutureOr<void> (#395)enableLifecycleBreadcrumbs. Use enableAppLifecycleBreadcrumbs instead. (#366)This release brings many improvements but also new features:
Breaking changes:
Other fixes:
Thank you:
This could lead to breaking changes. Typically it shouldn't because the referencing file is auto-generated.
import 'package:sentry_flutter/src/sentry_flutter_web.dart';
to import 'package:sentry_flutter/sentry_flutter_web.dart';App -> SentryAppBrowser -> SentryBrowserDevice -> SentryDeviceGpu -> SentryGpuIntegration -> SentryIntegrationMessage -> SentryMessageOperatingSystem -> SentryOperatingSystemRequest -> SentryRequestUser -> SentryUserOrientation -> SentryOrientationFix: Do not append stack trace to the exception if there are no frames
Fix: captureMessage defaults SentryLevel to info
Fix: Pana Flutter upper bound deprecation
Fix: Call WidgetsFlutterBinding.ensureInitialized() within runZoneGuarded
Fix: Auto session tracking start on iOS #274
Fix: Deprecated binaryMessenger (MethodChannel member) for Flutter Web
errored in iOS #270WidgetsFlutterBinding.ensureInitialized(); the first thing the Sentry SDK calls.Ref: Changed category of Flutter lifecycle tracking #240
Release of Sentry's new SDK for Dart/Flutter.
Release of Sentry's new SDK for Dart/Flutter.
New features not offered by <= v4.0.0:
runZonedGuarded and Isolate.current.addErrorListenerWidgetsBindingObserver wrapperFlutterError.onErrorsplit-debug-info for Android onlyImprovements:
Packages were released on sentry pubdev and sentry_flutter pubdev
4.0.0 of the sentry_flutter, Sentry's version >= v20.6.0 is required. This only applies to on-premise Sentry, if you are using sentry.io no action is needed.This release brings the Sentry Performance feature to Java SDK, Spring, Spring Boot, and Android integrations. Read more in the reference documentation:
sentry.properties from the application's current working directory (#1046)in-app-includes, in-app-excludes, tags, debug, uncaught.handler.enabled parameters from the external configurationservername from the localhost addressTransportFactory instead of ITransport on SentryOptions (#1124)OptionsConfiguration beans (#1093)isSideLoaded and installerStore tags automatically (Where your App. was installed from eg Google Play, Amazon Store, downloaded APK, etc...)Ref: Remove duplicated attachStackTrace field
options.environment on SDK init based on the flags (kReleaseMode, kDebugMode, kProfileMode or SENTRY_ENVIRONMENT).Logger to SentryLogger to prevent name clashes with logging packagesLogger typedef is renamed to SentryLoggerattachStackTrace is renamed to attachStacktraceRef: Remove deprecated classes (Flutter Plugin for Android) and cleaning up #186
Sentry.init and SentryFlutter.init have an optional callback argument which runs the host App after Sentry initialization.Integration is an Interface instead of a pure FunctionHints are optional argumentsIsolateError handler by defaultSentrySpanClientHttpRequestInterceptor to Spring module (#1181)transaction/span.finish(SpanStatus) (#1182)Enhancement: Contexts were added to the Scope #154
Contexts were added to the Scope #154debug mode was enabled and refactoring ##157Request, SentryStackTrace...) #155attachStackTrace options to attach stack traces on captureMessage callsSentry.init returns a Future.2.8.01.17.0addInAppInclude list, e.g. options.addInAppInclude('sentry_flutter_example');Protocol were renamed.4.0.0 of the sentry_flutter, Sentry version >= v20.6.0 is required. This only applies to on-premise Sentry, if you are using sentry.io no action is needed.For all the breaking changes follow this PR, they'll be soon available on the Migration page.
First Release of Sentry's new SDK for Dart/Flutter.
New features not offered by <= v4.0.0:
Packages were released on pubdev
We'd love to get feedback and we'll work in getting the GA 4.0.0 out soon. Until then, the stable SDK offered by Sentry is at version 3.0.1
sentry.properties from the application's current working directory (#1046)Add support for Contexts in Sentry events
pubspec.yaml and example code clean-up.
pubspec.yaml and example code clean-up.Your coding agent can read these notes before it upgrades. Set up the MCP server →