Skip to content

Commit 1a43c47

Browse files
buenaflordenrase
andauthored
v9 Main Changelog (#2880)
* Update CHANGELOG * Update CHANGELOG * Update CHANGELOG * Update * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update * Update * Update CHANGELOG.md * Update CHANGELOG * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md Co-authored-by: Denis Andrašec <[email protected]> * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md --------- Co-authored-by: Denis Andrašec <[email protected]>
1 parent 7825d30 commit 1a43c47

File tree

1 file changed

+136
-12
lines changed

1 file changed

+136
-12
lines changed

CHANGELOG.md

Lines changed: 136 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,68 @@
11
# Changelog
22

3-
## 9.0.0-RC.4
3+
## Unreleased
44

5-
### Enhancements
5+
Version 9.0.0 marks a major release of the Sentry Dart/Flutter SDKs containing breaking changes.
66

7-
- Replay: Mask RichText Widgets ([#2975](https://github.com/getsentry/sentry-dart/pull/2975))
7+
The goal of this release is the following:
8+
- Bump the minimum Dart and Flutter versions to `3.5.0` and `3.24.0` respectively
9+
- Bump the minimum Android API version to 21
10+
- Add interoperability with the Sentry Javascript SDK in Flutter Web for features such as release health and reporting native JS errors
11+
- GA the [Session Replay](https://docs.sentry.io/product/explore/session-replay/) feature
12+
- Provide feature flag support as well as [Firebase Remote Config](https://firebase.google.com/docs/remote-config) support
13+
- Trim down unused and potentially confusing APIs
814

9-
## 9.0.0-RC.3
15+
### How To Upgrade
16+
17+
Please carefully read through the migration guide in the Sentry docs on how to upgrade from version 8 to version 9
18+
- [Dart migration guide](https://docs.sentry.io/platforms/dart/migration/#migrating-from-sentry-8x-to-sentry-9x)
19+
- [Flutter migration guide](https://docs.sentry.io/platforms/dart/guides/flutter/migration/#migrating-from-sentry_flutter-8x-to-sentry_flutter-9x)
20+
21+
### Breaking changes
22+
23+
- Increase minimum SDK version requirements to Dart `v3.5.0` and Flutter `v3.24.0` ([#2643](https://github.com/getsentry/sentry-dart/pull/2643))
24+
- Update naming of `LoadImagesListIntegration` to `LoadNativeDebugImagesIntegration` ([#2833](https://github.com/getsentry/sentry-dart/pull/2833))
25+
- Set sentry-native backend to `crashpad` by default and `breakpad` for Windows ARM64 ([#2791](https://github.com/getsentry/sentry-dart/pull/2791))
26+
- Setting the `SENTRY_NATIVE_BACKEND` environment variable will override the defaults.
27+
- Remove manual TTID implementation ([#2668](https://github.com/getsentry/sentry-dart/pull/2668))
28+
- Remove screenshot option `attachScreenshotOnlyWhenResumed` ([#2664](https://github.com/getsentry/sentry-dart/pull/2664))
29+
- Remove deprecated `beforeScreenshot` ([#2662](https://github.com/getsentry/sentry-dart/pull/2662))
30+
- Remove old user feedback api ([#2686](https://github.com/getsentry/sentry-dart/pull/2686))
31+
- This is replaced by `beforeCaptureScreenshot`
32+
- Remove deprecated loggers ([#2685](https://github.com/getsentry/sentry-dart/pull/2685))
33+
- Remove user segment ([#2687](https://github.com/getsentry/sentry-dart/pull/2687))
34+
- Enable Sentry JS SDK native integration by default ([#2688](https://github.com/getsentry/sentry-dart/pull/2688))
35+
- Remove `enableTracing` ([#2695](https://github.com/getsentry/sentry-dart/pull/2695))
36+
- Remove `options.autoAppStart` and `setAppStartEnd` ([#2680](https://github.com/getsentry/sentry-dart/pull/2680))
37+
- Bump Drift min version to `2.24.0` and use `QueryInterceptor` instead of `QueryExecutor` ([#2679](https://github.com/getsentry/sentry-dart/pull/2679))
38+
- Add hint for transactions ([#2675](https://github.com/getsentry/sentry-dart/pull/2675))
39+
- `BeforeSendTransactionCallback` now has a `Hint` parameter
40+
- Remove `dart:html` usage in favour of `package:web` ([#2710](https://github.com/getsentry/sentry-dart/pull/2710))
41+
- Remove max response body size ([#2709](https://github.com/getsentry/sentry-dart/pull/2709))
42+
- Responses are now only attached if size is below ~0.15mb
43+
- Responses are attached to the `Hint` object, which can be read in `beforeSend`/`beforeSendTransaction` callbacks via `hint.response`.
44+
- For now, only the `dio` integration is supported.
45+
- Enable privacy masking for screenshots by default ([#2728](https://github.com/getsentry/sentry-dart/pull/2728))
46+
- Set option `anrEnabled` to `true` by default (#2878)
47+
- Mutable Data Classes ([#2818](https://github.com/getsentry/sentry-dart/pull/2818))
48+
- Some SDK classes do not have `const` constructors anymore.
49+
- The `copyWith` and `clone` methods of SDK classes were deprecated.
50+
```dart
51+
// old
52+
options.beforeSend = (event, hint) {
53+
event = event.copyWith(release: 'my-release');
54+
return event;
55+
}
56+
// new
57+
options.beforeSend = (event, hint) {
58+
event.release = 'my-release';
59+
return event;
60+
}
61+
```
1062

1163
### Features
1264

13-
- Sentry Structured Logs ([#2919](https://github.com/getsentry/sentry-dart/pull/2919))
65+
- Sentry Structured Logs Beta ([#2919](https://github.com/getsentry/sentry-dart/pull/2919))
1466
- The old `SentryLogger` has been renamed to `SdkLogCallback` and can be accessed through `options.log` now.
1567
- Adds support for structured logging though `Sentry.logger`:
1668
```dart
@@ -26,24 +78,96 @@ Sentry.logger.warn("This is a warning log with attributes.", attributes: {
2678
'bool-attribute': SentryLogAttribute.bool(true),
2779
});
2880
```
81+
- 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))
82+
```dart
83+
// Manually track a feature flag
84+
Sentry.addFeatureFlag('my-feature', true);
2985
30-
### Enhancements
86+
// or use the Sentry Firebase Remote Config Integration (sentry_firebase_remote_config package is required)
87+
// Add the integration to automatically track feature flags from firebase remote config.
88+
await SentryFlutter.init(
89+
(options) {
90+
options.dsn = 'https://[email protected]/add-your-dsn-here';
91+
options.addIntegration(
92+
SentryFirebaseRemoteConfigIntegration(
93+
firebaseRemoteConfig: yourFirebaseRemoteConfig,
94+
),
95+
);
96+
},
97+
);
98+
```
99+
- 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)):
100+
- **With `SentryNavigatorObserver`** - each navigation event starts a new trace.
101+
- **Without `SentryNavigatorObserver` on non-web platforms** - a new trace is started from app
102+
lifecycle hooks.
103+
- **Web without `SentryNavigatorObserver`** - the same trace ID is reused until the page is
104+
refreshed or closed.
105+
- Add support for Flutter Web release health ([#2794](https://github.com/getsentry/sentry-dart/pull/2794))
106+
- Requires using `SentryNavigatorObserver`;
107+
108+
### Behavioral changes
109+
110+
- Set log level to `warning` by default when `debug = true` ([#2836](https://github.com/getsentry/sentry-dart/pull/2836))
111+
- Set HTTP client breadcrumbs log level based on response status code ([#2847](https://github.com/getsentry/sentry-dart/pull/2847))
112+
- 5xx is mapped to `SentryLevel.error`
113+
- 4xx is mapped to `SentryLevel.warning`
114+
- Parent-child relationship for the PlatformExceptions and Cause ([#2803](https://github.com/getsentry/sentry-dart/pull/2803))
115+
- Improves and more accurately represent exception groups
116+
- Disabled by default as it may cause issues to group differently
117+
- You can enable this feature by setting `options.groupException = true`
31118

119+
### Improvements
120+
121+
- Replay: improve Android native interop performance by using JNI ([#2670](https://github.com/getsentry/sentry-dart/pull/2670))
32122
- Align User Feedback API ([#2949](https://github.com/getsentry/sentry-dart/pull/2949))
33123
- Don’t apply breadcrumbs and extras from scope to feedback events
34124
- Capture session replay when processing feedback events
35125
- Record `feedback` client report for dropped feedback events
36126
- Record `feedback` client report for errors when using `HttpTransport`
37127
- Truncate feedback message to max 4096 characters ([#2954](https://github.com/getsentry/sentry-dart/pull/2954))
128+
- Replay: Mask RichText Widgets by default ([#2975](https://github.com/getsentry/sentry-dart/pull/2975))
38129

39130
### Dependencies
40131

41-
- Bump Cocoa SDK from v8.49.2 to v8.51.0 ([#2951](https://github.com/getsentry/sentry-dart/pull/2951))
42-
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8510)
43-
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.49.2...8.51.0)
44-
- Bump Android SDK from v8.11.1 to v8.12.0 ([#2941](https://github.com/getsentry/sentry-dart/pull/2941))
45-
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8120)
46-
- [diff](https://github.com/getsentry/sentry-java/compare/8.11.1...8.12.0)
132+
- 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)))
133+
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#890)
134+
- [diff](https://github.com/getsentry/sentry-java/compare/7.22.4...8.9.0)
135+
- 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)))
136+
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8491)
137+
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.46.0...8.49.1)
138+
- 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))
139+
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#084)
140+
- [diff](https://github.com/getsentry/sentry-native/compare/0.8.2...0.8.4)
141+
- Bump jni from v0.14.0 to v0.14.1 ([#2800])(https://github.com/getsentry/sentry-dart/pull/2800)
142+
- [changelog](https://github.com/dart-lang/native/blob/main/pkgs/jni/CHANGELOG.md#0141)
143+
- [diff](https://github.com/dart-lang/native/compare/jnigen-v0.14.0..jnigen-v0.14.1)
144+
145+
## 9.0.0-RC.4
146+
147+
### Enhancements
148+
149+
- Replay: Mask RichText Widgets ([#2975](https://github.com/getsentry/sentry-dart/pull/2975))
150+
151+
## 9.0.0-RC.3
152+
153+
### Features
154+
155+
- Sentry Structured Logs ([#2919](https://github.com/getsentry/sentry-dart/pull/2919))
156+
- The old `SentryLogger` has been renamed to `SdkLogCallback` and can be accessed through `options.log` now.
157+
- Adds support for structured logging though `Sentry.logger`:
158+
```dart
159+
// Enable in `SentryOptions`:
160+
options.enableLogs = true;
161+
162+
// Use `Sentry.logger`
163+
Sentry.logger.info("This is a info log.");
164+
Sentry.logger.warn("This is a warning log with attributes.", attributes: {
165+
'string-attribute': SentryLogAttribute.string('string'),
166+
'int-attribute': SentryLogAttribute.int(1),
167+
'double-attribute': SentryLogAttribute.double(1.0),
168+
'bool-attribute': SentryLogAttribute.bool(true),
169+
});
170+
```
47171

48172
## 9.0.0-RC.2
49173

0 commit comments

Comments
 (0)