From 27744919caf5ef9fb09593a3d132665fe8b0e8b0 Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Thu, 7 Nov 2024 15:24:21 +0100 Subject: [PATCH 1/5] update changelog --- CHANGELOG.md | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 64 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9260793a20..2faf4a0437 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,50 @@ ### Features +- Emit `transaction.data` inside `contexts.trace.data` ([#2284](https://github.com/getsentry/sentry-dart/pull/2284)) +- Blocking app starts if "appLaunchedInForeground" is false. (Android only) ([#2291](https://github.com/getsentry/sentry-dart/pull/2291)) +- Replay: user-configurable masking (redaction) for widget classes and specific widget instances. ([#2324](https://github.com/getsentry/sentry-dart/pull/2324)) + Some examples of the configuration: + + ```dart + await SentryFlutter.init( + (options) { + ... + options.experimental.replay.mask(); + options.experimental.replay.unmask(); + options.experimental.replay.maskCallback( + (Element element, Text widget) => + (widget.data?.contains('secret') ?? false) + ? SentryMaskingDecision.mask + : SentryMaskingDecision.continueProcessing); + }, + appRunner: () => runApp(MyApp()), + ); + ``` + + Also, you can wrap any of your widgets with `SentryMask()` or `SentryUnmask()` widgets to mask/unmask them, respectively. For example: + + ```dart +  SentryUnmask(Text('Not secret at all')); + ``` + +- Support `captureFeedback` ([#2230](https://github.com/getsentry/sentry-dart/pull/2230)) + - Deprecated `Sentry.captureUserFeedback`, use `captureFeedback` instead. + - Deprecated `Hub.captureUserFeedback`, use `captureFeedback` instead. + - Deprecated `SentryClient.captureUserFeedback`, use `captureFeedback` instead. + - Deprecated `SentryUserFeedback`, use `SentryFeedback` instead. +- Add `SentryFeedbackWidget` ([#2240](https://github.com/getsentry/sentry-dart/pull/2240)) + + ```dart + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => SentryFeedbackWidget(associatedEventId: id), + fullscreenDialog: true, + ), + ); + ``` + - Add screenshot to `SentryFeedbackWidget` ([#2369](https://github.com/getsentry/sentry-dart/pull/2369)) - Use `SentryFlutter.captureScreenshot` to create a screenshot attachment - Call `SentryFeedbackWidget` with this attachment to add it to the user feedback @@ -30,7 +74,26 @@ - Handle backpressure earlier in pipeline ([#2371](https://github.com/getsentry/sentry-dart/pull/2371)) - Drops max un-awaited parallel tasks earlier, so event processors & callbacks are not executed for them. - Change by setting `SentryOptions.maxQueueSize`. Default is 30. - +- Use native spotlight integrations on Flutter Android, iOS, macOS ([#2285](https://github.com/getsentry/sentry-dart/pull/2285)) +- Improve app start integration ([#2266](https://github.com/getsentry/sentry-dart/pull/2266)) + - Fixes ([#2103](https://github.com/getsentry/sentry-dart/issues/2103)) + - Fixes ([#2233](https://github.com/getsentry/sentry-dart/issues/2233)) +- Only store slow and frozen frames for frame delay calculation ([#2337](https://github.com/getsentry/sentry-dart/pull/2337)) +- Add ReplayIntegration to the integrations list on events when replay is enabled. ([#2349](https://github.com/getsentry/sentry-dart/pull/2349)) + +### Fixes + +- App lag with frame tracking enabled when span finishes after a long time ([#2311](https://github.com/getsentry/sentry-dart/pull/2311)) +- Only start frame tracking if we receive valid display refresh data ([#2307](https://github.com/getsentry/sentry-dart/pull/2307)) +- Rounding error used on frames.total and reject frame measurements if frames.total is less than frames.slow or frames.frozen ([#2308](https://github.com/getsentry/sentry-dart/pull/2308)) +- iOS replay integration when only `onErrorSampleRate` is specified ([#2306](https://github.com/getsentry/sentry-dart/pull/2306)) +- Fix TTID timing issue ([#2326](https://github.com/getsentry/sentry-dart/pull/2326)) +- Start missing TTFD for root screen transaction ([#2332](https://github.com/getsentry/sentry-dart/pull/2332)) +- Match TTFD to TTID end timespan if TTFD is unfinished when user navigates to another screen ([#2347](https://github.com/getsentry/sentry-dart/pull/2347)) +- Accessing invalid json fields from `fetchNativeAppStart` should return null ([#2340](https://github.com/getsentry/sentry-dart/pull/2340)) +- Error when calling `SentryFlutter.reportFullyDisplayed()` twice ([#2339](https://github.com/getsentry/sentry-dart/pull/2339)) +- TTFD measurements should only be added for successful TTFD spans ([#2348](https://github.com/getsentry/sentry-dart/pull/2348)) + ## 8.10.0-beta.2 ### Fixes From ab64140c3d86a27c4944dbbb991c025302dc466c Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Thu, 7 Nov 2024 15:25:11 +0100 Subject: [PATCH 2/5] update --- CHANGELOG.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2faf4a0437..a33c9df2e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -94,6 +94,23 @@ - Error when calling `SentryFlutter.reportFullyDisplayed()` twice ([#2339](https://github.com/getsentry/sentry-dart/pull/2339)) - TTFD measurements should only be added for successful TTFD spans ([#2348](https://github.com/getsentry/sentry-dart/pull/2348)) +### Deprecate + +- Metrics API ([#2312](https://github.com/getsentry/sentry-dart/pull/2312)) + - Learn more: https://sentry.zendesk.com/hc/en-us/articles/26369339769883-Metrics-Beta-Coming-to-an-End + +### Dependencies + +- Bump Cocoa SDK from v8.36.0 to v8.37.0 ([#2334](https://github.com/getsentry/sentry-dart/pull/2334)) + - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8370) + - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.36.0...8.37.0) +- Bump Android SDK from v7.14.0 to v7.15.0 ([#2342](https://github.com/getsentry/sentry-dart/pull/2342)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#7150) + - [diff](https://github.com/getsentry/sentry-java/compare/7.14.0...7.15.0) +- Bump Native SDK from v0.7.8 to v0.7.10 ([#2344](https://github.com/getsentry/sentry-dart/pull/2344)) + - [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0710) + - [diff](https://github.com/getsentry/sentry-native/compare/0.7.8...0.7.10) + ## 8.10.0-beta.2 ### Fixes From fd223cf9ee40a3ca86a57bbb2885e90d4bccc48e Mon Sep 17 00:00:00 2001 From: GIancarlo Buenaflor Date: Thu, 7 Nov 2024 15:27:54 +0100 Subject: [PATCH 3/5] update --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a33c9df2e0..8bf371bd3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ ### Features - Emit `transaction.data` inside `contexts.trace.data` ([#2284](https://github.com/getsentry/sentry-dart/pull/2284)) -- Blocking app starts if "appLaunchedInForeground" is false. (Android only) ([#2291](https://github.com/getsentry/sentry-dart/pull/2291)) +- Blocking app starts span if "appLaunchedInForeground" is false. (Android only) ([#2291](https://github.com/getsentry/sentry-dart/pull/2291)) - Replay: user-configurable masking (redaction) for widget classes and specific widget instances. ([#2324](https://github.com/getsentry/sentry-dart/pull/2324)) Some examples of the configuration: From 3998e566ceee455376569f90b4473ace802a8001 Mon Sep 17 00:00:00 2001 From: Giancarlo Buenaflor Date: Thu, 7 Nov 2024 22:23:03 +0000 Subject: [PATCH 4/5] Update CHANGELOG.md --- CHANGELOG.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4101099e6d..e0fe92c9b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -99,18 +99,6 @@ - Metrics API ([#2312](https://github.com/getsentry/sentry-dart/pull/2312)) - Learn more: https://sentry.zendesk.com/hc/en-us/articles/26369339769883-Metrics-Beta-Coming-to-an-End - -### Dependencies - -- Bump Cocoa SDK from v8.36.0 to v8.37.0 ([#2334](https://github.com/getsentry/sentry-dart/pull/2334)) - - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8370) - - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.36.0...8.37.0) -- Bump Android SDK from v7.14.0 to v7.15.0 ([#2342](https://github.com/getsentry/sentry-dart/pull/2342)) - - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#7150) - - [diff](https://github.com/getsentry/sentry-java/compare/7.14.0...7.15.0) -- Bump Native SDK from v0.7.8 to v0.7.10 ([#2344](https://github.com/getsentry/sentry-dart/pull/2344)) - - [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0710) - - [diff](https://github.com/getsentry/sentry-native/compare/0.7.8...0.7.10) ### Dependencies From 7e3f9dcf58c8dce131a3d6c7daf51bd5a9880afd Mon Sep 17 00:00:00 2001 From: Giancarlo Buenaflor Date: Thu, 7 Nov 2024 22:28:04 +0000 Subject: [PATCH 5/5] Update CHANGELOG.md --- CHANGELOG.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e0fe92c9b3..98060eac2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,8 +77,8 @@ - Change by setting `SentryOptions.maxQueueSize`. Default is 30. - Use native spotlight integrations on Flutter Android, iOS, macOS ([#2285](https://github.com/getsentry/sentry-dart/pull/2285)) - Improve app start integration ([#2266](https://github.com/getsentry/sentry-dart/pull/2266)) - - Fixes ([#2103](https://github.com/getsentry/sentry-dart/issues/2103)) - - Fixes ([#2233](https://github.com/getsentry/sentry-dart/issues/2233)) + - Fixes pendingTimer during tests ([#2103](https://github.com/getsentry/sentry-dart/issues/2103)) + - Fixes transaction slows app start ([#2233](https://github.com/getsentry/sentry-dart/issues/2233)) - Only store slow and frozen frames for frame delay calculation ([#2337](https://github.com/getsentry/sentry-dart/pull/2337)) - Add ReplayIntegration to the integrations list on events when replay is enabled. ([#2349](https://github.com/getsentry/sentry-dart/pull/2349)) @@ -89,11 +89,12 @@ - Rounding error used on frames.total and reject frame measurements if frames.total is less than frames.slow or frames.frozen ([#2308](https://github.com/getsentry/sentry-dart/pull/2308)) - iOS replay integration when only `onErrorSampleRate` is specified ([#2306](https://github.com/getsentry/sentry-dart/pull/2306)) - Fix TTID timing issue ([#2326](https://github.com/getsentry/sentry-dart/pull/2326)) -- Start missing TTFD for root screen transaction ([#2332](https://github.com/getsentry/sentry-dart/pull/2332)) -- Match TTFD to TTID end timespan if TTFD is unfinished when user navigates to another screen ([#2347](https://github.com/getsentry/sentry-dart/pull/2347)) +- TTFD fixes + - Start missing TTFD for root screen transaction ([#2332](https://github.com/getsentry/sentry-dart/pull/2332)) + - Match TTFD to TTID end timespan if TTFD is unfinished when user navigates to another screen ([#2347](https://github.com/getsentry/sentry-dart/pull/2347)) + - TTFD measurements should only be added for successful TTFD spans ([#2348](https://github.com/getsentry/sentry-dart/pull/2348)) + - Error when calling `SentryFlutter.reportFullyDisplayed()` twice ([#2339](https://github.com/getsentry/sentry-dart/pull/2339)) - Accessing invalid json fields from `fetchNativeAppStart` should return null ([#2340](https://github.com/getsentry/sentry-dart/pull/2340)) -- Error when calling `SentryFlutter.reportFullyDisplayed()` twice ([#2339](https://github.com/getsentry/sentry-dart/pull/2339)) -- TTFD measurements should only be added for successful TTFD spans ([#2348](https://github.com/getsentry/sentry-dart/pull/2348)) ### Deprecate