sentry_flutter 8.0.0-beta.2
sentry_flutter: ^8.0.0-beta.2 copied to clipboard
Sentry SDK for Flutter. This package aims to support different Flutter targets by relying on the many platforms supported by Sentry with native SDKs.
Changelog #
8.0.0-beta.2 #
Breaking Changes #
- Bump iOS minimum deployment target from 11 to 12 (#1821)
- Mark exceptions not handled by the user as
handled: false(#1535)- This will affect your release health data, and is therefore considered a breaking change.
- Refrain from overwriting the span status for unfinished spans (#1577)
- Older self-hosted sentry instances will drop transactions containing unfinished spans.
- This change was introduced in relay/#1690 and released with 22.12.0
- Older self-hosted sentry instances will drop transactions containing unfinished spans.
- Do not leak extensions of external classes (#1576)
- Make
hintnon-nullable inBeforeSendCallback,BeforeBreadcrumbCallandEventProcessor(#1574)- This will affect your callbacks, making this a breaking change.
- Load Device Contexts from Sentry Java (#1616)
- Now the device context from Android is available in
BeforeSendCallback
- Now the device context from Android is available in
- Set ip_address to {{auto}} by default, even if sendDefaultPII is disabled (#1665)
- Instead use the "Prevent Storing of IP Addresses" option in the "Security & Privacy" project settings on sentry.io
Fixes #
- Remove Flutter dependency from Drift integration (#1867)
- Remove dead code, cold start bool is now always present (#1861)
Dependencies #
8.0.0-beta.1 #
This release is replaced by 8.0.0-beta.2
7.16.0 #
Features #
- Add
SentryWidget(#1846)- Prefer to use
SentryWidgetnow instead ofSentryScreenshotWidgetandSentryUserInteractionWidgetdirectly
- Prefer to use
- Performance monitoring support for Isar (#1726)
- Tracing without performance for Dio integration (#1837)
- Accept
Map<String, dynamic>inHintclass (#1807)- Please check if everything works as expected when using
Hint- Factory constructor
Hint.withMap(Map<String, dynamic> map)now takesMap<String, dynamic>instead ofMap<String, Object> - Method
hint.addAll(Map<String, dynamic> keysAndValues)now takesMap<String, dynamic>instead ofMap<String, Object> - Method
set(String key, dynamic value)now takes value ofdynamicinstead ofObject - Method
hint.get(String key)now returnsdynamicinstead ofObject?
- Factory constructor
- Please check if everything works as expected when using
Dependencies #
7.15.0 #
Features #
- Add Spotlight support (#1786)
- Set
options.spotlight = Spotlight(enabled: true)to enable Spotlight
- Set
- Add
ConnectivityIntegrationfor web (#1765)- We only get the info if online/offline on web platform. The added breadcrumb is set to either
wifiornone.
- We only get the info if online/offline on web platform. The added breadcrumb is set to either
- Add isar breadcrumbs (#1800)
- Starting with Flutter 3.16, Sentry adds the
appFlavorto theflutter_context(#1799) - Add beforeScreenshotCallback to SentryFlutterOptions (#1805)
- Add support for
readTransactioninsqflite(#1819)
Dependencies #
7.14.0 #
- Add option to opt out of fatal level for automatically collected errors (#1738)
Fixes #
- Add debug_meta to all events (#1756)
- Fixes obfuscated stacktraces when
captureMessageorcaptureEventis called withattachStacktraceoption
- Fixes obfuscated stacktraces when
Features #
- Add option to opt out of fatal level for automatically collected errors (#1738)
- Add
Hivebreadcrumbs (#1773)
Dependencies #
7.13.2 #
7.13.1 #
7.13.0 #
Fixes #
- Fixes setting the correct locale to contexts with navigatorKey (#1724)
- If you have a selected locale in e.g MaterialApp, this fix will retrieve the correct locale for the event context.
- Flutter renderer information was removed on dart:io platforms since it didn't add the correct value (#1723)
- Unsupported types with Expando (#1690)
Features #
- Add APM integration for Drift (#1709)
- StackTraces in
PlatformException.messagewill get nicely formatted too when present (#1716) - Breadcrumbs for database operations (#1656)
- APM for hive (#1672)
- Add
attachScreenshotOnlyWhenResumedto options (#1700)
Dependencies #
7.12.0 #
7.11.0 #
7.10.1 #
Enhancements #
- Add Sampling Decision to Trace Envelope Header (#1639)
- Add http.request.method attribute to http spans data (#1633)
- Add db.system and db.name attributes to db spans data (#1629)
- Log SDK errors to the console if the log level is
fataleven ifdebugis disabled (#1635)
Features #
- Tracing without performance (#1621)
Fixes #
- Normalize data properties of
SentryUserandBreadcrumbbefore sending over method channel (#1591) - Fixing memory leak issue in SentryFlutterPlugin (Android Plugin) (#1588)
- Discard empty stack frames (#1625)
- Disable scope sync for cloned scopes (#1628)
Dependencies #
7.9.0 #
Features #
- Send trace origin (#1534)
Trace origin indicates what created a trace or a span. Not all transactions and spans contain enough information to tell whether the user or what precisely in the SDK created it. Origin solves this problem. The SDK now sends origin for transactions and spans.
- Add
appHangTimeoutIntervaltoSentryFlutterOptions(#1568) - DioEventProcessor: Append http response body (#1557)
- This is opt-in and depends on
maxResponseBodySize - Only for
diopackage
- This is opt-in and depends on
Dependencies #
7.8.0 #
7.7.0 #
7.6.3 #
Fixes #
- Check if the Native SDKs are enabled when using
autoInitializeNativeSdk=false(#1489) - Align http method to span convention (#1477)
- Wrapped methods return a
Futureinstead of executing right away (#1476)- Relates to (#1462)
- Fix readTimeoutMillis wrongly configures connectionTimeoutMillis instead of the correct field (#1485)
Dependencies #
7.6.2 #
7.6.1 #
Features #
- Add
sent_atto envelope header (#1428)
Fixes #
- Fix battery level conversion for iOS 16.4 (#1433)
- Adds a namespace for compatibility with AGP 8.0. (#1427)
- Avoid dependency conflict with package_info_plus v4 (#1440)
Breaking Changes #
- Android
minSdkVersionis now 19 (Flutter already defines 19-20 as best effort) - Deprecate
extrain favor ofcontexts(#1435)
Dependencies #
7.5.2 #
7.5.0 #
Features #
- Add
SentryIOOverridesIntegrationthat automatically wrapsFileintoSentryFile(#1362)
import 'package:sentry_file/sentry_file.dart';
// SDK init. options
options.addIntegration(SentryIOOverridesIntegration());
- Add
enableTracingoption (#1395)- This change is backwards compatible. The default is
nullmeaning existing behaviour remains unchanged (setting eithertracesSampleRateortracesSamplerenables performance). - If set to
true, performance is enabled, even if notracesSampleRateortracesSamplerhave been configured. - If set to
true, sampler will use default sample rate of 1.0, if notracesSampleRateis set. - If set to
falseperformance is disabled, regardless oftracesSampleRateandtracesSampleroptions.
- This change is backwards compatible. The default is
// SDK init. options
options.enableTracing = true;
- Sync
connectionTimeoutandreadTimeoutto Android (#1397)
// SDK init. options
options.connectionTimeout = Duration(seconds: 10);
options.readTimeout = Duration(seconds: 10);
- Set User
nameandgeoin native plugins (#1393)
Sentry.configureScope(
(scope) => scope.setUser(SentryUser(
id: '1234',
name: 'Jane Doe',
email: 'jane.doe@example.com',
geo: SentryGeo(
city: 'Vienna',
countryCode: 'AT',
region: 'Austria',
))),
);
import 'dart:convert';
options.beforeSend = (event, {hint}) {
final text = 'This event should not be sent happen in prod. Investigate.';
final textAttachment = SentryAttachment.fromIntList(
utf8.encode(text),
'event_info.txt',
contentType: 'text/plain',
);
hint?.attachments.add(textAttachment);
return event;
};
Fixes #
- Screenshots and View Hierarchy should only be added to errors (#1385)
- View Hierarchy is removed from Web errors since we don't symbolicate minified View Hierarchy yet.
- More improvements related to not awaiting
FutureOr<T>if it's not a future (#1385) - Do not report only async gap frames for logging calls (#1398)
Dependencies #
7.4.1 #
Fixes #
- Fix Dart web builds breaking due to
dart:ioimports when usingSentryIsolateorSentryIsolateExtension(#1371)- When using
SentryIsolateorSentryIsolateExtension, importsentry_io.dart.
- When using
- Export
SentryBaggage(#1377) - Remove breadcrumbs from transaction to avoid duplication (#1366)
Dependencies #
7.4.0 #
7.3.0 #
7.2.0 #
7.1.0 #
7.0.0 #
Features #
- Platform Exception Event Processor (#1297)
- Support failedRequestTargets for HTTP Client errors (#1285)
- Captures errors for the default range
500-599ifcaptureFailedRequestsis enabled
- Captures errors for the default range
- Sentry Isolate Extension (#1266)
- Allow sentry user to control resolution of captured Flutter screenshots (#1288)
- Support beforeSendTransaction (#1238)
- Add In Foreground to App context (#1260)
- Error Cause Extractor (#1198, #1236)
- Add
throwabletoSentryException
- Add
- Dart 3 Support (#1220)
- Introduce
Hintdata bag (#1136) - Use
Hintfor screenshots (#1165) - Support custom units for custom measurements (#1181)
Enhancements #
- Replace
toImagewithtoImageSyncfor Flutter >= 3.7 (1268) - Don't await
FutureOr<T>if it's not a future. This should marginally improve the performance (#1310) - Replace
StackTrace.emptywithStackTrace.current(#1183)
Breaking Changes #
- Enable enableNdkScopeSync by default (#1276)
- Update
sentry_dioto dio v5 (#1282) - Remove deprecated fields (#1227)
- Remove deprecated fields from the
Scopeclass.user(SentryUser? user), using thesetUser(SentryUser? user)instead.attachements, using theattachmentsinstead.
- Remove deprecated field from the
SentryFlutterOptionsclass.anrTimeoutIntervalMillis, using theanrTimeoutIntervalinstead.autoSessionTrackingIntervalMillis, using theautoSessionTrackingIntervalinstead.
- Remove deprecated fields from the
- Rename APM tracking feature flags to tracing (#1222)
- Rename
- enableAutoPerformanceTracking to enableAutoPerformanceTracing
- enableOutOfMemoryTracking to enableWatchdogTerminationTracking
- Rename
- Enable APM features by default (#1217)
- Enable by default
- captureFailedRequests
- enableStructuredDataTracing
- enableUserInteractionTracing
- Enable by default
- Mark transaction as internal_error in case of unhandled errors (#1218)
- Removed various deprecated fields (#1036):
- Removed the following fields from the
devicecontext- language
- timezone
- screenResolution
- theme
- Removed isolate name from Dart context. It's now reported via the threads interface. It can be enabled via
options.attachThreads
- Removed the following fields from the
- Use
sentryClientNameinstead ofsdk.identifier(#1135) - Refactor
BindingUtilstoBindingWrapperto enable the use of custom bindings (#1184) - Bump Flutter min to 3.0.0 and Dart to 2.17.0 (#1180)
Dependencies #
Fixes #
7.0.0-rc.2 #
Features #
- Platform Exception Event Processor (#1297)
- Support failedRequestTargets for HTTP Client errors (#1285)
- Captures errors for the default range
500-599ifcaptureFailedRequestsis enabled
- Captures errors for the default range
- Sentry Isolate Extension (#1266)
- Allow sentry user to control resolution of captured Flutter screenshots (#1288)
Enhancements #
6.22.0 #
7.0.0-rc.1 #
6.21.0 #
7.0.0-beta.4 #
7.0.0-alpha.5 #
7.0.0-alpha.4 #
Breaking Changes #
- Remove deprecated fields (#1227)
- Remove deprecated fields from the
Scopeclass.user(SentryUser? user), using thesetUser(SentryUser? user)instead.attachements, using theattachmentsinstead.
- Remove deprecated field from the
SentryFlutterOptionsclass.anrTimeoutIntervalMillis, using theanrTimeoutIntervalinstead.autoSessionTrackingIntervalMillis, using theautoSessionTrackingIntervalinstead.
- Remove deprecated fields from the
Dependencies #
7.0.0-alpha.3 #
7.0.0-alpha.2 #
7.0.0-alpha.1 #
Features #
- Feat: Introduce
Hintdata bag (#1136) - Feat: Use
Hintfor screenshots (#1165) - Feat: Support custom units for custom measurements (#1181)
Fixes #
- Fix: Remove
SentryOptionsrelated parameters from classes which also takeHubas a parameter (#816)
Enhancements #
- Enha: Replace
StackTrace.emptywithStackTrace.current(#1183)
Breaking Changes #
- Removed various deprecated fields (#1036):
- Removed the following fields from the
devicecontext- language
- timezone
- screenResolution
- theme
- Removed isolate name from Dart context. It's now reported via the threads interface. It can be enabled via
options.attachThreads
- Removed the following fields from the
- Use
sentryClientNameinstead ofsdk.identifier(#1135) - Refactor
BindingUtilstoBindingWrapperto enable the use of custom bindings (#1184) - Bump Flutter min to 3.0.0 and Dart to 2.17.0 (#1180)
6.19.0 #
6.18.3 #
6.18.2 #
6.18.1 #
6.18.0 #
6.17.0 #
6.16.1 #
6.16.0 #
Features #
- Add request context to
HttpException,SocketExceptionandNetworkImageLoadException(#1118) SocketExceptionandFileSystemExceptionwithOSErrors report theOSErroras root exception (#1118)
Fixes #
- VendorId should be a String (#1112)
- Disable
enableUserInteractionBreadcrumbson Android whenenableAutoNativeBreadcrumbsis disabled (#1131) - Transaction name is reset after the transaction finishes (#1125)
Dependencies #
6.15.0 #
6.14.0 #
6.13.0 #
6.12.0 #
6.11.2 #
6.11.1 #
6.11.0 #
6.9.1 #
6.9.0 #
6.8.1 #
6.8.0 #
6.7.0 #
Fixes #
- Maps with Key Object, Object would fail during serialization if not String, Object (#935)
- Breadcrumbs "Concurrent Modification" (#948)
- Duplicative Screen size changed breadcrumbs (#888)
- Duplicated Android Breadcrumbs with no Mechanism (#954)
- Fix windows native method need default result (#943)
- Add request instead of response data to
SentryRequestinDioEventProcessor#933
Features #
6.6.2 #
Features #
Fixes #
- Send DidBecomeActiveNotification when OOM enabled (#905)
dio.addSentryhangs ifdsnis empty and SDK NoOp (#920)- addBreadcrumb throws on Android API < 24 because of NewApi usage (#923)
sentry_diois promoted to GA and not experimental anymore (#914)
6.6.0 #
Fixes #
- Bump: Sentry-Cocoa to 7.18.0 and Sentry-Android to 6.1.2 (#892)
- Fix: Add missing iOS contexts (#761)
- Fix serialization of threads (#844)
- Fix:
SentryAssetBundleon Flutter >= 3.1 (#877)
Features #
- Feat: Client Reports (#829)
- Feat: Allow manual init of the Native SDK (#765)
- Feat: Attach Isolate name to thread context (#847)
- Feat: Add Android thread to platform stacktraces (#853)
- Feat: Sync Scope to Native (#858)
Sentry Self-hosted Compatibility #
- Starting with version
6.6.0ofsentry, Sentry's version >= v21.9.0 is required or you have to manually disable sending client reports via thesendClientReportsoption. This only applies to self-hosted Sentry. If you are using sentry.io, no action is needed.
6.6.0-beta.4 #
- Bump: Sentry-Cocoa to 7.17.0 and Sentry-Android to 6.1.1 (#891)
6.6.0-beta.3 #
- Bump: Sentry-Cocoa to 7.16.1 (#886)
6.6.0-beta.2 #
- Fix: Add user setter back in the scope (#883)
- Fix: clear method sets all properties synchronously (#882)
6.6.0-beta.1 #
- Feat: Sync Scope to Native (#858)
6.6.0-alpha.3 #
- Feat: Attach Isolate name to thread context (#847)
- Fix:
SentryAssetBundleon Flutter >= 3.1 (#877) - Feat: Add Android thread to platform stacktraces (#853)
- Fix: Rename auto initialize property (#857)
- Bump: Sentry-Android to 6.0.0 (#879)
6.6.0-alpha.2 #
- Fix serialization of threads (#844)
- Feat: Allow manual init of the Native SDK (#765)
6.6.0-alpha.1 #
- Feat: Client Reports (#829)
- Fix: Add missing iOS contexts (#761)
Sentry Self-hosted Compatibility #
- Starting with version
6.6.0ofsentry, Sentry's version >= v21.9.0 is required or you have to manually disable sending client reports via thesendClientReportsoption. This only applies to self-hosted Sentry. If you are using sentry.io, no action is needed.
6.5.1 #
- Update event contexts (#838)
6.5.0 #
- No documented changes.
6.5.0-beta.2 #
- Fix: Do not set the transaction to scope if no op (#828)
6.5.0-beta.1 #
- No documented changes.
6.5.0-alpha.3 #
- Feat: Support for platform stacktraces on Android (#788)
6.5.0-alpha.2 #
- Bump: Sentry-Android to 5.7.0 and Sentry-Cocoa to 7.11.0 (#796)
- Fix: Dio event processor safelly bails if no DioError in the exception list (#795)
6.5.0-alpha.1 #
- Feat: Mobile Vitals - Native App Start (#749)
- Feat: Mobile Vitals - Native Frames (#772)
6.4.0 #
Various fixes & improvements #
- Fix: Missing userId on iOS when userId is not set (#782) by @marandaneto
- Allow to set startTimestamp & endTimestamp manually to SentrySpan (#676) by @fatihergin
6.4.0-beta.3 #
- Feat: Allow to set startTimestamp & endTimestamp manually to SentrySpan (#676)
- Bump: Sentry-Cocoa to 7.10.0 (#777)
- Feat: Additional Dart/Flutter context information (#778)
- Bump: Kotlin plugin to 1.5.31 (#763)
- Fix: Missing userId on iOS when userId is not set (#782)
6.4.0-beta.2 #
- No documented changes.
6.4.0-beta.1 #
- Fix: Disable log by default in debug mode (#753)
- [Dio] Ref: Replace FailedRequestAdapter with FailedRequestInterceptor (#728)
- Fix: Add missing return values - dart analyzer (#742)
- Feat: Add
DioEventProcessorwhich improves DioError crash reports (#718) - Fix: Do not report duplicated packages and integrations (#760)
- Feat: Allow manual init of the Native SDK or no Native SDK at all (#765)
6.3.0 #
- Feat: Support maxSpan for performance API and expose SentryOptions through Hub (#716)
- Fix: await ZonedGuard integration to run (#732)
- Fix:
sentry_loggingincorrectly setting SDK name (#725) - Bump: Sentry-Android to 5.6.1 and Sentry-Cocoa to 7.9.0 (#736)
- Feat: Support Attachment.addToTransactions (#709)
- Fix: captureTransaction should return emptyId when transaction is discarded (#713)
- Add
SentryAssetBundlefor automatic spans for asset loading (#685) - Fix:
maxRequestBodySizeshould beneverby default when using the FailedRequestClientAdapter directly (#701) - Feat: Add support for Dio (#688)
- Fix: Use correct data/extras type in tracer (#693)
- Fix: Do not throw when Throwable type is not supported for associating errors to a transaction (#692)
- Feat: Automatically create transactions when navigating between screens (#643)
6.3.0-beta.4 #
- Feat: Support Attachment.addToTransactions (#709)
- Fix: captureTransaction should return emptyId when transaction is discarded (#713)
6.3.0-beta.3 #
- Feat: Auto transactions duration trimming (#702)
- Add
SentryAssetBundlefor automatic spans for asset loading (#685) - Feat: Configure idle transaction duration (#705)
- Fix:
maxRequestBodySizeshould beneverby default when using the FailedRequestClientAdapter directly (#701)
6.3.0-beta.2 #
- Feat: Improve configuration options of
SentryNavigatorObserver(#684) - Feat: Add support for Dio (#688)
- Bump: Sentry-Android to 5.5.2 and Sentry-Cocoa to 7.8.0 (#696)
6.3.0-beta.1 #
- Enha: Replace flutter default root name '/' with 'root' (#678)
- Fix: Use 'navigation' instead of 'ui.load' for auto transaction operation (#675)
- Fix: Use correct data/extras type in tracer (#693)
- Fix: Do not throw when Throwable type is not supported for associating errors to a transaction (#692)
6.3.0-alpha.1 #
- Feat: Automatically create transactions when navigating between screens (#643)
6.2.2 #
- Fix: ConcurrentModificationError in when finishing span (#664)
- Feat: Add enableNdkScopeSync Android support (#665)
6.2.1 #
- Fix:
sentry_loggingworks now on web (#660) - Fix:
sentry_loggingtimestamps are in UTC (#660) - Fix:
sentry_loggingLevel.Off is never recorded (#660) - Fix: Rate limiting fallback to retryAfterHeader (#658)
6.2.0 #
- Feat: Integration for
logging(#631) - Feat: Add logger name to
SentryLoggerand send errors in integrations to the registered logger (#641)
6.1.2 #
- Fix: Remove is Enum check to support older Dart versions (#635)
6.1.1 #
- Fix: Transaction serialization if not encodable (#633)
6.1.0 #
- Bump: Sentry-Android to 5.3.0 and Sentry-Cocoa to 7.5.1 (#629)
- Fix: event.origin tag for macOS and other Apple platforms (#622)
- Feat: Add current route as transaction (#615)
- Feat: Add Breadcrumbs for Flutters
debugPrint(#618) - Feat: Enrich Dart context with isolate name (#600)
- Feat: Sentry Performance for HTTP client (#603)
- Performance API for Dart/Flutter (#530)
Breaking Changes: #
SentryEventinherits from theSentryEventLikemixinScope#transactionsets and reads from theScope#spanobject if bound to the Scope
6.1.0-beta.1 #
- Feat: Add current route as transaction (#615)
- Feat: Add Breadcrumbs for Flutters
debugPrint(#618)
6.1.0-alpha.2 #
6.1.0-alpha.1 #
- Performance API for Dart/Flutter (#530)
Breaking Changes: #
SentryEventinherits from theSentryEventLikemixinScope#transactionsets and reads from theScope#spanobject if bound to the Scope
6.0.1 #
- Fix: Set custom SentryHttpClientError when HTTP error is captured without an exception (#580)
- Bump: Android AGP 4.1 (#586)
- Bump: Sentry Cocoa to 7.3.0 (#589)
6.0.0 #
- Fix: Update
SentryUseraccording to docs (#561) - Feat: Enable or disable reporting of packages (#563)
- Bump: Sentry-Cocoa to 7.2.7 (#578)
- Bump: Sentry-Android to 5.1.2 (#578)
- Fix: Read Sentry config from environment variables as fallback (#567)
6.0.0-beta.4 #
Breaking Changes: #
- Feat: Lists of exceptions and threads (#524)
- Feat: Collect more information for exceptions collected via
FlutterError.onError(#538) - Feat: Add maxAttachmentSize option (#553)
- Feat: HTTP breadcrumbs have the request & response size if available (#552)
6.0.0-beta.3 #
- Fix: Re-initialization of Flutter SDK (#526)
- Enhancement: Call
toString()on all non-serializable fields (#528) - Fix: Always call
Flutter.onErrorin order to not swallow messages (#533) - Bump: Android SDK to 5.1.0-beta.6 (#535)
6.0.0-beta.2 #
- Fix: Serialization of Flutter Context (#520)
- Feat: Add support for attachments (#505)
- Feat: Add support for User Feedback (#506)
6.0.0-beta.1 #
- Feat: Browser detection (#502)
- Feat: Enrich events with more context (#452)
- Feat: Add Culture Context (#491)
- Feat: Add DeduplicationEventProcessor (#498)
- Feat: Capture failed requests as event (#473)
- Feat:
beforeSendcallback accepts async code (#494)
Breaking Changes: #
- Ref: EventProcessor changed to an interface (#489)
- Feat: Support envelope based transport for events (#391)
- The method signature of
Transportchanged fromFuture<SentryId> send(SentryEvent event)toFuture<SentryId> send(SentryEnvelope envelope)
- The method signature of
- Remove
Sentry.currentHub(#490) - Ref: Rename
cacheDirSizetomaxCacheItemsand addmaxCacheItemsfor iOS (#495) - Ref: Add error and stacktrace parameter to logger (#503)
- Feat: Change timespans to Durations in SentryOptions (#504)
- Feat:
beforeSendcallback accepts async code (#494)
Sentry Self Hosted Compatibility #
- Since version
6.0.0of thesentry, 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.
5.1.0 #
- Fix: Merge user from event and scope (#467)
- Feature: Allow setting of default values for in-app-frames via
SentryOptions.considerInAppFramesByDefault(#482) - Bump: sentry-android to v5.0.1 (#486)
- Bump: Sentry-Cocoa to 7.1.3 for iOS and macOS (#488)
5.1.0-beta.1 #
- Fix:
Sentry.close()closes native SDK integrations (#388) - Feat: Support for macOS (#389)
- Feat: Support for Linux (#402)
- Feat: Support for Windows (#407)
- Fix: Mark
Sentry.currentHubas deprecated (#406) - Fix: Set console logger as default logger in debug mode (#413)
- Fix: Use name from pubspec.yaml for release if package id is not available (#411)
- Feat:
SentryHttpClienttracks the duration which a request takes and logs failed requests (#414) - Bump: sentry-cocoa to v7.0.0 (#424)
- Feat: Support for Out-of-Memory-Tracking on macOS/iOS (#424)
- Fix: Trim
\u0000from Windows package info (#420) - Feature: Log calls to
print()as Breadcrumbs (#439) - Fix:
distwas read fromSENTRY_DSN, now it's read fromSENTRY_DIST(#442) - Bump: sentry-cocoa to v7.0.3 (#445)
- Fix: Fix adding integrations on web (#450)
- Fix: Use
log()instead ofprint()for SDK logging (#453) - Bump: sentry-android to v5.0.0-beta.2 (#457)
- Feature: Add
withScopecallback to capture methods (#463) - Fix: Add missing properties
language,screenHeightPixelsandscreenWidthPixelstoSentryDevice(#465)
Sentry Self Hosted Compatibility #
- This version of the
sentryDart package requires Sentry server >= v20.6.0. This only applies to on-premise Sentry, if you are using sentry.io no action is needed.
5.0.0 #
- Sound null safety
- Fix: event.origin and event.environment tags have wrong value for iOS (#365) and (#369)
- Fix: Fix deprecated
registrar.messengercall inSentryFlutterWeb(#364) - Fix: Enable breadcrumb recording mechanism based on platform (#366)
- Feat: Send default PII options (#360)
- Bump: sentry-cocoa to v6.2.1 (#360)
- Feat: Migration from
package_infotopackage_info_plusplugin (#370) - Fix: Set
SentryOptions.debuginsentry(#376) - Fix: Read all environment variables in
sentry(#375)
Breaking Changes: #
- Return type of
Sentry.close()changed fromvoidtoFuture<void>andIntegration.close()changed fromvoidtoFutureOr<void>(#395) - Remove deprecated member
enableLifecycleBreadcrumbs. UseenableAppLifecycleBreadcrumbsinstead. (#366)
4.1.0-nullsafety.1 #
- Bump: sentry-android to v4.3.0 (#343)
- Fix: Multiple FlutterError.onError calls in FlutterErrorIntegration (#345)
- Fix: Pass hint to EventProcessors (#356)
- Fix: EventProcessors were not dropping events when returning null (#353)
Breaking Changes: #
- Fix: Plugin Registrant class moved to barrel file (#358)
- This changed the import from
import 'package:sentry_flutter/src/sentry_flutter_web.dart';toimport 'package:sentry_flutter/sentry_flutter_web.dart'; - This could lead to breaking changes. Typically it shouldn't because the referencing file is auto-generated.
- This changed the import from
- Fix: Prefix classes with Sentry (#357)
- A couple of classes were often conflicting with user's code.
Thus this change renames the following classes:
App->SentryAppBrowser->SentryBrowserDevice->SentryDeviceGpu->SentryGpuIntegration->SentryIntegrationMessage->SentryMessageOperatingSystem->SentryOperatingSystemRequest->SentryRequestUser->SentryUserOrientation->SentryOrientation
- A couple of classes were often conflicting with user's code.
Thus this change renames the following classes:
4.1.0-nullsafety.0 #
- Fix: Do not append stack trace to the exception if there are no frames
- Fix: Empty DSN disables the SDK and runs the App
- Feat: sentry and sentry_flutter null-safety thanks to @ueman and @fzyzcjy
4.0.6 #
- Fix: captureMessage defaults SentryLevel to info
- Fix: SentryEvent.throwable returns the unwrapped throwable instead of the throwableMechanism
- Feat: Support enableNativeCrashHandling on iOS
4.0.5 #
- Bump: sentry-android to v4.0.0
- Fix: Pana Flutter upper bound deprecation
- Fix: sentry_flutter static analysis (pana) using stable version
4.0.4 #
- Fix: Call WidgetsFlutterBinding.ensureInitialized() within runZoneGuarded
4.0.3 #
- Fix: Auto session tracking start on iOS #274
- Bump: Sentry-cocoa to 6.1.4
4.0.2 #
- Fix: Mark session as
erroredin iOS #270 - Fix: Pass auto session tracking interval to iOS
- Fix: Deprecated binaryMessenger (MethodChannel member) for Flutter Web
- Ref: Make
WidgetsFlutterBinding.ensureInitialized();the first thing the Sentry SDK calls. - Bump: Sentry-cocoa to 6.0.12
- Feat: Respect FlutterError silent flag #248
- Bump: Android SDK to v3.2.1 #273
4.0.1 #
- Ref: Changed category of Flutter lifecycle tracking #240
- Fix: Envelope length should be based on the UTF8 array instead of String length
4.0.0 #
Release of Sentry's new SDK for Dart/Flutter.
New features not offered by <= v4.0.0:
Dart SDK #
- Sentry's Unified API.
- Complete Sentry's Protocol available.
- Dart SDK docs.
- Automatic HTTP Breadcrumbs for http.Client
- No boilerplate for
runZonedGuardedandIsolate.current.addErrorListener - All events are enriched with Scope's Contexts, this includes Breadcrumbs, tags, User, etc...
Flutter SDK #
- The Flutter SDK is built on top of the Dart SDK, so it includes all the available features, plus
- Flutter SDK docs.
- Automatic NavigatorObserver Breadcrumbs
- Automatic Device's Breadcrumbs through the Android and iOS SDKs or via Sentry's
WidgetsBindingObserverwrapper - No boilerplate for
FlutterError.onError - All events are enriched with Contexts's data, this includes Device's, OS, App info, etc...
- Offline caching
- Release health
- Captures not only Dart and Flutter errors, but also errors caused on the native platforms, Like Kotlin, Java, C and C++ for Android and Swift, ObjC, C, C++ for iOS
- Supports Fatal crashes, Event is going to be sent on App's restart
- Supports
split-debug-infofor Android only - Flutter Android, iOS and limited support for Flutter Web
Improvements:
- Feat: Added a copyWith method to all the protocol classes
Packages were released on sentry pubdev and sentry_flutter pubdev
Sentry Self Hosted Compatibility #
- Since version
4.0.0of thesentry_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.
4.0.0-beta.2 #
- Ref: Remove duplicated attachStackTrace field
- Fix: Flutter Configurations should be able to mutate the SentryFlutterOptions
- Enhancement: Add SentryWidgetsBindingObserver, an Integration that captures certain window and device events.
- Enhancement: Set
options.environmenton SDK init based on the flags (kReleaseMode, kDebugMode, kProfileMode or SENTRY_ENVIRONMENT). - Feature: SentryHttpClient to capture HTTP requests as breadcrumbs
- Ref: Only assign non-null option values in Android native integration in order preserve default values
- Enhancement: Add 'attachThreads' in options. When enabled, threads are attached to all logged events for Android
- Ref: Rename typedef
LoggertoSentryLoggerto prevent name clashes with logging packages - Fix: Scope Event processors should be awaited
- Fix: Package usage as git dependency
Breaking changes #
Loggertypedef is renamed toSentryLoggerattachStackTraceis renamed toattachStacktrace
4.0.0-beta.1 #
- Fix: StackTrace frames with 'package' uri.scheme are inApp by default #185
- Fix: Missing App's StackTrace frames for Flutter errors
- Enhancement: Add isolateErrorIntegration and runZonedGuardedIntegration to default integrations in sentry-dart
- Fix: Breadcrumb list is a plain list instead of a values list #201
- Ref: Remove deprecated classes (Flutter Plugin for Android) and cleaning up #186
- Fix: Handle immutable event lists and maps
- Fix: NDK integration was being disabled by a typo
- Fix: Missing toList for debug meta #192
- Enhancement: NavigationObserver to record Breadcrumbs for navigation events #197
- Fix: Integrations should be closeable
- Feat: Support split-debug-info for Android #191
- Fix: the event payload must never serialize null or empty fields
- Ref: Make hints optional
Breaking changes #
Sentry.initandSentryFlutter.inithave an optional callback argument which runs the host App after Sentry initialization.Integrationis anInterfaceinstead of a pure FunctionHintsare optional arguments- Sentry Dart SDK adds an
IsolateErrorhandler by default
4.0.0-alpha.2 #
- Enhancement:
Contextswere added to theScope#154 - Fix: App. would hang if
debugmode was enabled and refactoring ##157 - Enhancement: Sentry Protocol v7
- Enhancement: Added missing Protocol fields,
Request,SentryStackTrace...) #155 - Feat: Added
attachStackTraceoptions to attach stack traces oncaptureMessagecalls - Feat: Flutter SDK has the Native SDKs embedded (Android and Apple) #158
Breaking changes #
Sentry.initreturns aFuture.- Dart min. SDK is
2.8.0 - Flutter min. SDK is
1.17.0 - Timestamp has millis precision.
- For better groupping, add your own package to the
addInAppIncludelist, e.g.options.addInAppInclude('sentry_flutter_example'); - A few classes of the
Protocolwere renamed.
Sentry Self Hosted Compatibility #
- Since version
4.0.0of thesentry_flutter,Sentryversion >=v20.6.0is required. This only applies to on-premise Sentry, if you are using sentry.io no action is needed.
4.0.0-alpha.1 #
First Release of Sentry's new SDK for Dart/Flutter.
New features not offered by <= v4.0.0:
- Sentry's Unified API.
- Complete Sentry Protocol available.
- Docs and Migration is under review on this PR
- For all the breaking changes follow this PR, they'll be soon available on the Migration page.
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
3.0.1 #
- Add support for Contexts in Sentry events
3.0.0+1 #
pubspec.yamland example code clean-up.
3.0.0 #
- Support Web
SentryClientfrompackage:sentry/sentry.dartwith conditional importSentryBrowserClientfor web frompackage:sentry/browser_client.dartSentryIOClientfor VM and Flutter frompackage:sentry/io_client.dart
2.3.1 #
- Support non-standard port numbers and paths in DSN URL.
2.3.0 #
- Add breadcrumb support.
2.2.0 #
- Add a
stackFrameFilterargument toSentryClient'scapturemethod (96be842). - Clean-up code using pre-Dart 2 API (91c7706, b01ebf8).
2.1.1 #
- Defensively copy internal maps event attributes to avoid shared mutable state (https://github.com/flutter/sentry/commit/044e4c1f43c2d199ed206e5529e2a630c90e4434)
2.1.0 #
- Support DNS format without secret key.
- Remove dependency on
package:quiver. - The
clockargument toSentryClientconstructor should now beClockProvider(but still acceptsClockfor backwards compatibility).
2.0.2 #
- Add support for user context in Sentry events.
2.0.1 #
- Invert stack frames to be compatible with Sentry's default culprit detection.
2.0.0 #
- Fixed deprecation warnings for Dart 2
- Refactored tests to work with Dart 2
1.0.0 #
- first and last Dart 1-compatible release (we may fix bugs on a separate branch if there's demand)
- fix code for Dart 2
0.0.6 #
- use UTC in the
timestampfield
0.0.5 #
- remove sub-seconds from the timestamp
0.0.4 #
- parse and report async gaps in stack traces
0.0.3 #
- environment attributes
- auto-generate event_id and timestamp for events
0.0.2 #
- parse and report stack traces
- use x-sentry-error HTTP response header
- gzip outgoing payloads by default
0.0.1 #
- basic ability to send exception reports to Sentry.io



