Skip to content

8.10.0-beta.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@getsentry-bot getsentry-bot released this 15 Oct 12:20

Features

  • Emit transaction.data inside contexts.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() or SentryUnmask() widgets to mask/unmask them, respectively. For example:

     SentryUnmask(Text('Not secret at all'));
  • Support captureFeedback (#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)

    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

Dependencies