8.10.0-beta.1
Pre-release
Pre-release
Features
-
Emit
transaction.data
insidecontexts.trace.data
(#2284) -
Block reporting of app start metrics if "appLaunchedInForeground" is false. (Android only) (#2291)
-
Windows native error & obfuscation support (#2286)
-
Replay: user-configurable masking (redaction) for widget classes and specific widget instances. (#2324)
Some examples of the configuration:await SentryFlutter.init( (options) { ... options.experimental.replay.mask<IconButton>(); options.experimental.replay.unmask<Image>(); options.experimental.replay.maskCallback<Text>( (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()
orSentryUnmask()
widgets to mask/unmask them, respectively. For example:SentryUnmask(Text('Not secret at all'));
-
Support
captureFeedback
(#2230)- Deprecated
Sentry.captureUserFeedback
, usecaptureFeedback
instead. - Deprecated
Hub.captureUserFeedback
, usecaptureFeedback
instead. - Deprecated
SentryClient.captureUserFeedback
, usecaptureFeedback
instead. - Deprecated
SentryUserFeedback
, useSentryFeedback
instead.
- Deprecated
-
Add
SentryFeedbackWidget
(#2240)Navigator.push( context, MaterialPageRoute( builder: (context) => SentryFeedbackWidget(associatedEventId: id), fullscreenDialog: true, ), );
Enhancements
- Use native spotlight integrations on Flutter Android, iOS, macOS (#2285)
- Improve app start integration (#2266)
- Only store slow and frozen frames for frame delay calculation (#2337)
- Add ReplayIntegration to the integrations list on events when replay is enabled. (#2349)
Fixes
- App lag with frame tracking enabled when span finishes after a long time (#2311)
- Only start frame tracking if we receive valid display refresh data (#2307)
- Rounding error used on frames.total and reject frame measurements if frames.total is less than frames.slow or frames.frozen (#2308)
- iOS replay integration when only
onErrorSampleRate
is specified (#2306) - Fix TTID timing issue (#2326)
- Start missing TTFD for root screen transaction (#2332)
- Match TTFD to TTID end timespan if TTFD is unfinished when user navigates to another screen (#2347)
- Accessing invalid json fields from
fetchNativeAppStart
should return null (#2340) - Error when calling
SentryFlutter.reportFullyDisplayed()
twice (#2339) - TTFD measurements should only be added for successful TTFD spans (#2348)
Deprecate
- Metrics API (#2312)