Skip to content

Releases: getsentry/sentry-dart

9.0.0-alpha.1

21 Feb 12:29
Compare
Choose a tag to compare
9.0.0-alpha.1 Pre-release
Pre-release

Breaking changes

  • Remove SentryDisplayWidget and manual TTID implementation (#2668)
  • Increase minimum SDK version requirements to Dart v3.5.0 and Flutter v3.24.0 (#2643)
  • Remove screenshot option attachScreenshotOnlyWhenResumed (#2664)
  • Remove deprecated beforeScreenshot (#2662)
  • Remove old user feedback api (#2686)
  • Remove deprecated loggers (#2685)
  • Remove user segment (#2687)
  • Enable JS SDK native integration by default (#2688)
  • Remove enableTracing (#2695)
  • Remove options.autoAppStart and setAppStartEnd (#2680)
  • Bump Drift min version to 2.24.0 and use QueryInterceptor instead of QueryExecutor (#2679)
  • Add hint for transactions (#2675)
    • BeforeSendTransactionCallback now has a Hint parameter
  • Remove dart:html usage in favour of package:web (#2710)
  • Remove max response body size (#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)

Enhancements

  • Replay: improve Android native interop performance by using JNI (#2670)

Dependencies

8.14.0-beta.1

20 Feb 18:33
Compare
Choose a tag to compare
8.14.0-beta.1 Pre-release
Pre-release

Behavioral changes

  • ⚠️ Auto IP assignment for SentryUser is now guarded by sendDefaultPii (#2726)
    • If you rely on Sentry automatically processing the IP address of the user, set options.sendDefaultPii = true or manually set the IP address of the SentryUser to {{auto}}
  • Adding the device name to Contexts is now guarded by sendDefaultPii (#2741)
    • Set options.sendDefaultPii = true if you want to have the device name reported

Features

  • Disable ScreenshotIntegration, WidgetsBindingIntegration and SentryWidget in multi-view apps #2366 (#2366)

Enhancements

  • Use loadDebugImagesForAddresses API for Android (#2706)
    • This reduces the envelope size and data transferred across method channels
    • If debug images received by loadDebugImagesForAddresses are empty, the SDK loads all debug images as fallback

Fixes

  • Reference to SentryWidgetsFlutterBinding in warning message in FramesTrackingIntegration (#2704)

Deprecations

  • Deprecate Drift SentryQueryExecutor (#2715)
    • This will be replace by SentryQueryInterceptor in the next major v9
// Example usage in Sentry Flutter v9
final executor = NativeDatabase.memory().interceptWith(
  SentryQueryInterceptor(databaseName: 'your_db_name'),
);

final db = AppDatabase(executor);
  • Deprecate autoAppStart and setAppStartEnd (#2681)

Other

  • Remove macOS display refresh rate support (#2628)
    • Can't reliably detect on multi-monitor systems and on older macOS versions.
    • Not very meaningful, as other applications may be running in parallel and affecting it.

Dependencies

8.13.2

20 Feb 16:12
Compare
Choose a tag to compare

Warning

This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 8.12.0 or updating to 8.13.3 if you use this feature on Android.
See issue #2769 for more details.

Fixes

  • build_web_compiler error (#2736)
    • Use if (dart.library.html) instead of if (dart.html) for imports

8.13.1

19 Feb 17:17
Compare
Choose a tag to compare

Warning

This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 8.12.0 or updating to 8.13.3 if you use this feature on Android.
See issue #2769 for more details.

Fixes

  • Replay video interruption if a navigation breadcrumb is missing to route info (#2720)

Dependencies

8.13.0

05 Feb 12:39
Compare
Choose a tag to compare

Warning

This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 8.12.0 or updating to 8.13.3 if you use this feature on Android.
See issue #2769 for more details.

Breaking changes

  • Remove Metrics API (#2571)
    • The Metrics product never reached maturity from beta and has officially ended in October 7th, 2024
    • Read this post for more information

Features

  • Add beforeCapture for View Hierarchy (#2523)
    • View hierarchy calls are now debounced for 2 seconds.
  • JS SDK integration (#2572)
    • Enable the integration by setting options.enableSentryJs = true
    • Features:
      • Sending envelopes through Sentry JS transport layer
      • Capturing native JS errors
  • Add SentryReplayQuality setting (options.experimental.replay.quality) (#2582)
  • SPM Support (#2280)

Enhancements

  • Replay: improve iOS native interop performance (#2530, #2573)
  • Replay: improve orientation change tracking accuracy on Android (#2540)
  • Print a warning if the rate limit was reached (#2595)
  • Add replay masking config to tags and report SDKs versions (#2592)
  • Enable options.debug when in debug mode (#2597)
  • Propagate sample seed in baggage header (#2629)
    • Read more about the specs here
  • Finish and start new transaction when tapping same element again (#2623)

Fixes

  • Replay: fix masking for frames captured during UI changes (#2553, #2657)
  • Replay: fix widget masks overlap when navigating between screens (#2486, #2576)
  • WASM compat for Drift (#2580)
  • Fix image flickering when using SentryAssetBundle (#2577)
  • Fix print recursion detection (#2624)

Misc

  • Transfer ownership of sentry_link to Sentry. You can view the changelog for the previous versions here (#2338)
    • No functional changes have been made. This version is identical to the previous one.
    • Change license from Apache to MIT

Dependencies

8.13.0-beta.3

23 Jan 14:33
d9d1b7a
Compare
Choose a tag to compare
8.13.0-beta.3 Pre-release
Pre-release

Enhancements

  • Enable options.debug when in debug mode (#2597)

Fixes

  • Fix image flickering when using SentryAssetBundle (#2577)

Misc

  • Transfer ownership of sentry_link to Sentry. You can view the changelog for the previous versions here (#2338)
    • No functional changes have been made. This version is identical to the previous one.
    • Change license from Apache to MIT

8.13.0-beta.2

22 Jan 15:32
Compare
Choose a tag to compare
8.13.0-beta.2 Pre-release
Pre-release

Features

  • Add SentryReplayQuality setting (options.experimental.replay.quality) (#2582)
  • SPM Support (#2280)

Enhancements

  • Print a warning if the rate limit was reached (#2595)
  • Add replay masking config to tags and report SDKs versions (#2592)

Fixes

  • WASM compat for Drift (#2580)

Dependencies

8.13.0-beta.1

15 Jan 15:45
eca0beb
Compare
Choose a tag to compare
8.13.0-beta.1 Pre-release
Pre-release

Breaking changes

  • Remove Metrics API (#2571)
    • The Metrics product never reached maturity from beta and has officially ended in October 7th, 2024
    • Read this post for more information

Features

  • Add beforeCapture for View Hierarchy (#2523)
    • View hierarchy calls are now debounced for 2 seconds.
  • JS SDK integration (#2572)
    • Enable the integration by setting options.enableSentryJs = true
    • Features:
      • Sending envelopes through Sentry JS transport layer
      • Capturing native JS errors

Enhancements

  • Replay: improve iOS native interop performance (#2530, #2573)
  • Replay: improve orientation change tracking accuracy on Android (#2540)

Fixes

  • Replay: fix masking for frames captured during UI changes (#2553)
  • Replay: fix widget masks overlap when navigating between screens (#2486, #2576)

Dependencies

8.12.0 (Stable)

23 Dec 17:20
Compare
Choose a tag to compare

Deprecations

Fixes

  • Missing replay gestures on Android (#2515)
  • Replay mask sizing on scaling transform widget children (#2520)
  • Masking semi-transparent widgets (#2472)
  • Check SentryTracer type in TTFD tracker (#2508)

Features

  • Replay: device orientation change support & improve video size fit on Android (#2462)

  • Support custom Sentry.runZoneGuarded zone creation (#2088)

    • Sentry will not create a custom zone anymore if it is started within a custom one.
    • This fixes Zone miss-match errors when trying to initialize WidgetsBinding before Sentry on Flutter Web
    • Sentry.runZonedGuarded creates a zone and also captures exceptions & breadcrumbs automatically.
    Sentry.runZonedGuarded(() {
      WidgetsBinding.ensureInitialized();
    
      // Errors before init will not be handled by Sentry
    
      SentryFlutter.init(
        (options) {
        ...
        },
        appRunner: () => runApp(MyApp()),
      );
    }, (error, stackTrace) {
      // Automatically sends errors to Sentry, no need to do any
      // captureException calls on your part.
      // On top of that, you can do your own custom stuff in this callback.
    });
  • Warning (in a debug build) if a potentially sensitive widget is not masked or unmasked explicitly (#2375)

  • Replay: ensure visual update before capturing screenshots (#2527)

Dependencies

8.12.0-beta.2

20 Dec 13:38
Compare
Choose a tag to compare
8.12.0-beta.2 Pre-release
Pre-release

Deprecations

Fixes

  • Missing replay gestures on Android (#2515)
  • Replay mask sizing on scaling transform widget children (#2520)

Enhancements

  • Check SentryTracer type in TTFD tracker (#2508)
  • Warning (in a debug build) if a potentially sensitive widget is not masked or unmasked explicitly (#2375)
  • Replay: ensure visual update before capturing screenshots (#2527)

Dependencies