-
-
Notifications
You must be signed in to change notification settings - Fork 267
v9 Main Changelog #2880
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
v9 Main Changelog #2880
Changes from all commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
a24e3e0
Update CHANGELOG
buenaflor 842a55e
Update CHANGELOG
buenaflor 99f076f
Update CHANGELOG
buenaflor 710523c
Update
buenaflor 6c63b30
Update CHANGELOG.md
buenaflor d52a0f9
Update CHANGELOG.md
buenaflor b0653ee
Update CHANGELOG.md
buenaflor 64d749e
Update
buenaflor 64921ba
Merge branch 'main' into v9-GA-changelog
buenaflor 2762e7f
Update
buenaflor 9a970d0
Update CHANGELOG.md
buenaflor 8a84a14
Update CHANGELOG
buenaflor c375a8d
Update CHANGELOG.md
buenaflor fe5dbb2
Update CHANGELOG.md
buenaflor 7f6bae6
Update CHANGELOG.md
buenaflor 6601c7f
Merge branch 'main' into v9-GA-changelog
buenaflor d84c656
Merge branch 'main' into v9-GA-changelog
buenaflor f78cdf6
Update CHANGELOG.md
buenaflor f2939f7
Update CHANGELOG.md
buenaflor 3bc6291
Update CHANGELOG.md
buenaflor 2731852
Update CHANGELOG.md
buenaflor 6b08cde
Update CHANGELOG.md
buenaflor 343e50c
Update CHANGELOG.md
buenaflor File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,68 @@ | ||
# Changelog | ||
|
||
## 9.0.0-RC.4 | ||
## Unreleased | ||
|
||
### Enhancements | ||
Version 9.0.0 marks a major release of the Sentry Dart/Flutter SDKs containing breaking changes. | ||
|
||
- Replay: Mask RichText Widgets ([#2975](https://github.com/getsentry/sentry-dart/pull/2975)) | ||
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](https://docs.sentry.io/product/explore/session-replay/) feature | ||
- Provide feature flag support as well as [Firebase Remote Config](https://firebase.google.com/docs/remote-config) support | ||
- Trim down unused and potentially confusing APIs | ||
|
||
## 9.0.0-RC.3 | ||
### How To Upgrade | ||
|
||
Please carefully read through the migration guide in the Sentry docs on how to upgrade from version 8 to version 9 | ||
- [Dart migration guide](https://docs.sentry.io/platforms/dart/migration/#migrating-from-sentry-8x-to-sentry-9x) | ||
- [Flutter migration guide](https://docs.sentry.io/platforms/dart/guides/flutter/migration/#migrating-from-sentry_flutter-8x-to-sentry_flutter-9x) | ||
|
||
### Breaking changes | ||
|
||
- Increase minimum SDK version requirements to Dart `v3.5.0` and Flutter `v3.24.0` ([#2643](https://github.com/getsentry/sentry-dart/pull/2643)) | ||
- Update naming of `LoadImagesListIntegration` to `LoadNativeDebugImagesIntegration` ([#2833](https://github.com/getsentry/sentry-dart/pull/2833)) | ||
- Set sentry-native backend to `crashpad` by default and `breakpad` for Windows ARM64 ([#2791](https://github.com/getsentry/sentry-dart/pull/2791)) | ||
- Setting the `SENTRY_NATIVE_BACKEND` environment variable will override the defaults. | ||
- Remove manual TTID implementation ([#2668](https://github.com/getsentry/sentry-dart/pull/2668)) | ||
- Remove screenshot option `attachScreenshotOnlyWhenResumed` ([#2664](https://github.com/getsentry/sentry-dart/pull/2664)) | ||
- Remove deprecated `beforeScreenshot` ([#2662](https://github.com/getsentry/sentry-dart/pull/2662)) | ||
- Remove old user feedback api ([#2686](https://github.com/getsentry/sentry-dart/pull/2686)) | ||
- This is replaced by `beforeCaptureScreenshot` | ||
- Remove deprecated loggers ([#2685](https://github.com/getsentry/sentry-dart/pull/2685)) | ||
- Remove user segment ([#2687](https://github.com/getsentry/sentry-dart/pull/2687)) | ||
- Enable Sentry JS SDK native integration by default ([#2688](https://github.com/getsentry/sentry-dart/pull/2688)) | ||
- Remove `enableTracing` ([#2695](https://github.com/getsentry/sentry-dart/pull/2695)) | ||
- Remove `options.autoAppStart` and `setAppStartEnd` ([#2680](https://github.com/getsentry/sentry-dart/pull/2680)) | ||
- Bump Drift min version to `2.24.0` and use `QueryInterceptor` instead of `QueryExecutor` ([#2679](https://github.com/getsentry/sentry-dart/pull/2679)) | ||
- Add hint for transactions ([#2675](https://github.com/getsentry/sentry-dart/pull/2675)) | ||
- `BeforeSendTransactionCallback` now has a `Hint` parameter | ||
- Remove `dart:html` usage in favour of `package:web` ([#2710](https://github.com/getsentry/sentry-dart/pull/2710)) | ||
- Remove max response body size ([#2709](https://github.com/getsentry/sentry-dart/pull/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](https://github.com/getsentry/sentry-dart/pull/2728)) | ||
- Set option `anrEnabled` to `true` by default (#2878) | ||
- Mutable Data Classes ([#2818](https://github.com/getsentry/sentry-dart/pull/2818)) | ||
- Some SDK classes do not have `const` constructors anymore. | ||
- The `copyWith` and `clone` methods of SDK classes were deprecated. | ||
```dart | ||
// 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 ([#2919](https://github.com/getsentry/sentry-dart/pull/2919)) | ||
- Sentry Structured Logs Beta ([#2919](https://github.com/getsentry/sentry-dart/pull/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`: | ||
```dart | ||
|
@@ -26,24 +78,96 @@ Sentry.logger.warn("This is a warning log with attributes.", attributes: { | |
'bool-attribute': SentryLogAttribute.bool(true), | ||
}); | ||
``` | ||
- Add support for feature flags and integration with Firebase Remote Config ([#2825](https://github.com/getsentry/sentry-dart/pull/2825), [#2837](https://github.com/getsentry/sentry-dart/pull/2837)) | ||
```dart | ||
// Manually track a feature flag | ||
Sentry.addFeatureFlag('my-feature', true); | ||
|
||
### Enhancements | ||
// 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](https://github.com/getsentry/sentry-dart/pull/2869), [#2861](https://github.com/getsentry/sentry-dart/pull/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](https://github.com/getsentry/sentry-dart/pull/2794)) | ||
- Requires using `SentryNavigatorObserver`; | ||
|
||
### Behavioral changes | ||
|
||
- Set log level to `warning` by default when `debug = true` ([#2836](https://github.com/getsentry/sentry-dart/pull/2836)) | ||
- Set HTTP client breadcrumbs log level based on response status code ([#2847](https://github.com/getsentry/sentry-dart/pull/2847)) | ||
- 5xx is mapped to `SentryLevel.error` | ||
- 4xx is mapped to `SentryLevel.warning` | ||
- Parent-child relationship for the PlatformExceptions and Cause ([#2803](https://github.com/getsentry/sentry-dart/pull/2803)) | ||
- Improves and more accurately represent exception groups | ||
- Disabled by default as it may cause issues to group differently | ||
buenaflor marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- You can enable this feature by setting `options.groupException = true` | ||
|
||
### Improvements | ||
|
||
- Replay: improve Android native interop performance by using JNI ([#2670](https://github.com/getsentry/sentry-dart/pull/2670)) | ||
- Align User Feedback API ([#2949](https://github.com/getsentry/sentry-dart/pull/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](https://github.com/getsentry/sentry-dart/pull/2954)) | ||
- Replay: Mask RichText Widgets by default ([#2975](https://github.com/getsentry/sentry-dart/pull/2975)) | ||
|
||
### Dependencies | ||
|
||
- Bump Cocoa SDK from v8.49.2 to v8.51.0 ([#2951](https://github.com/getsentry/sentry-dart/pull/2951)) | ||
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8510) | ||
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.49.2...8.51.0) | ||
- Bump Android SDK from v8.11.1 to v8.12.0 ([#2941](https://github.com/getsentry/sentry-dart/pull/2941)) | ||
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8120) | ||
- [diff](https://github.com/getsentry/sentry-java/compare/8.11.1...8.12.0) | ||
- Bump Android SDK from v7.22.4 to v8.12.0 ([#2941](https://github.com/getsentry/sentry-dart/pull/2941), [#2819](https://github.com/getsentry/sentry-dart/pull/2819), [#2831](https://github.com/getsentry/sentry-dart/pull/2831), [#2848](https://github.com/getsentry/sentry-dart/pull/2848), [#2873](https://github.com/getsentry/sentry-dart/pull/2873, [#2883](https://github.com/getsentry/sentry-dart/pull/2883))) | ||
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#890) | ||
- [diff](https://github.com/getsentry/sentry-java/compare/7.22.4...8.9.0) | ||
- Bump Cocoa SDK from v8.46.0 to v8.51.0 ([#2820](https://github.com/getsentry/sentry-dart/pull/2820), [#2851](https://github.com/getsentry/sentry-dart/pull/2851), [#2884](https://github.com/getsentry/sentry-dart/pull/2884), [#2951](https://github.com/getsentry/sentry-dart/pull/2951))) | ||
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8491) | ||
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.46.0...8.49.1) | ||
- Bump Native SDK from v0.8.2 to v0.8.4 ([#2823](https://github.com/getsentry/sentry-dart/pull/2823), [#2872](https://github.com/getsentry/sentry-dart/pull/2872)) | ||
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#084) | ||
- [diff](https://github.com/getsentry/sentry-native/compare/0.8.2...0.8.4) | ||
- Bump jni from v0.14.0 to v0.14.1 ([#2800])(https://github.com/getsentry/sentry-dart/pull/2800) | ||
- [changelog](https://github.com/dart-lang/native/blob/main/pkgs/jni/CHANGELOG.md#0141) | ||
- [diff](https://github.com/dart-lang/native/compare/jnigen-v0.14.0..jnigen-v0.14.1) | ||
|
||
## 9.0.0-RC.4 | ||
|
||
### Enhancements | ||
|
||
- Replay: Mask RichText Widgets ([#2975](https://github.com/getsentry/sentry-dart/pull/2975)) | ||
|
||
## 9.0.0-RC.3 | ||
|
||
### Features | ||
|
||
- Sentry Structured Logs ([#2919](https://github.com/getsentry/sentry-dart/pull/2919)) | ||
buenaflor marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- The old `SentryLogger` has been renamed to `SdkLogCallback` and can be accessed through `options.log` now. | ||
- Adds support for structured logging though `Sentry.logger`: | ||
```dart | ||
// 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), | ||
}); | ||
``` | ||
|
||
## 9.0.0-RC.2 | ||
|
||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.