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

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

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

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