Releases: getsentry/sentry-dart
Releases Β· getsentry/sentry-dart
7.19.0
Features
- Experimental: Add support for Sentry Developer Metrics (#1940, #1949, #1954, #1958)
Use the Metrics API to track processing time, download sizes, user signups, and conversion rates and correlate them back to tracing data in order to get deeper insights and solve issues faster. Our API supports counters, distributions, sets, gauges and timers, and it's easy to get started:To learn more about Sentry Developer Metrics, head over to our Dart and Flutter docs page.Sentry.metrics() .increment( 'button_login_click', // key value: 1.0, unit: null, tags: {"provider": "e-mail"} );
Dependencies
- Expand
package_info_plus
version range to6.0.0
(#1948)
Improvements
- Set
sentry_flutter.podspec
version frompubspec.yaml
(#1941)
7.18.0
Features
- Add TTFD (time to full display), which allows you to measure the time it takes to render the full screen (#1920)
- Requires using the routing instrumentation.
- Set
enableTimeToFullDisplayTracing = true
in yourSentryFlutterOptions
to enable TTFD - Manually report the end of the full display by calling
SentryFlutter.reportFullyDisplayed()
- If not reported within 30 seconds, the span will be automatically finish with the status
deadline_exceeded
- Add TTID (time to initial display), which allows you to measure the time it takes to render the first frame of your screen (#1910)
- Requires using the routing instrumentation.
- Introduces two modes:
automatic
mode is enabled by default for all screens and will yield only an approximation result.manual
mode requires manual instrumentation and will yield a more accurate result.- To use
manual
mode, you need to wrap your desired widget:SentryDisplayWidget(child: MyScreen())
.
- To use
- You can mix and match both modes in your app.
- Other significant fixes
didPop
doesn't trigger a new transaction- Change transaction operation name to
ui.load
instead ofnavigation
- Add override
captureFailedRequests
option (#1931)- The
dio
integration andSentryHttpClient
now take an additionalcaptureFailedRequests
option. - This is useful if you want to disable this option on native and only enable it on
dio
for example.
- The
Improvements
- Update root name for navigator observer (#1934)
- The root name for transactions is now
root /
instead ofroot ("/")
.
- The root name for transactions is now
Dependencies
7.17.0
Fixes
- Fix transaction end timestamp trimming (#1916)
- Transaction end timestamps are now correctly trimmed to the latest child span end timestamp
- remove transitive dart:io reference for web (#1898)
Features
- Use
recordHttpBreadcrumbs
to set iOSenableNetworkBreadcrumbs
(#1884) - Apply
beforeBreadcrumb
on native iOS crumbs (#1914) - Add
maxQueueSize
to limit the number of unawaited events sent to Sentry (#1868)
Improvements
- App start is now fetched within integration instead of event processor (#1905)
Dependencies
7.16.1
8.0.0-beta.2
Breaking Changes
- Bump iOS minimum deployment target from 11 to 12 (#1821)
- Mark exceptions not handled by the user as
handled: false
(#1535)- This will affect your release health data, and is therefore considered a breaking change.
- Refrain from overwriting the span status for unfinished spans (#1577)
- Older self-hosted sentry instances will drop transactions containing unfinished spans.
- This change was introduced in relay/#1690 and released with 22.12.0
- Older self-hosted sentry instances will drop transactions containing unfinished spans.
- Do not leak extensions of external classes (#1576)
- Make
hint
non-nullable inBeforeSendCallback
,BeforeBreadcrumbCall
andEventProcessor
(#1574)- This will affect your callbacks, making this a breaking change.
- Load Device Contexts from Sentry Java (#1616)
- Now the device context from Android is available in
BeforeSendCallback
- Now the device context from Android is available in
- Set ip_address to {{auto}} by default, even if sendDefaultPII is disabled (#1665)
- Instead use the "Prevent Storing of IP Addresses" option in the "Security & Privacy" project settings on sentry.io
Fixes
- Remove Flutter dependency from Drift integration (#1867)
- Remove dead code, cold start bool is now always present (#1861)
Dependencies
7.16.0
Features
- Add
SentryWidget
(#1846)- Prefer to use
SentryWidget
now instead ofSentryScreenshotWidget
andSentryUserInteractionWidget
directly
- Prefer to use
- Performance monitoring support for Isar (#1726)
- Tracing without performance for Dio integration (#1837)
- Accept
Map<String, dynamic>
inHint
class (#1807)- Please check if everything works as expected when using
Hint
- Factory constructor
Hint.withMap(Map<String, dynamic> map)
now takesMap<String, dynamic>
instead ofMap<String, Object>
- Method
hint.addAll(Map<String, dynamic> keysAndValues)
now takesMap<String, dynamic>
instead ofMap<String, Object>
- Method
set(String key, dynamic value)
now takes value ofdynamic
instead ofObject
- Method
hint.get(String key)
now returnsdynamic
instead ofObject?
- Factory constructor
- Please check if everything works as expected when using
Dependencies
7.15.0
Features
- Add Spotlight support (#1786)
- Set
options.spotlight = Spotlight(enabled: true)
to enable Spotlight
- Set
- Add
ConnectivityIntegration
for web (#1765)- We only get the info if online/offline on web platform. The added breadcrumb is set to either
wifi
ornone
.
- We only get the info if online/offline on web platform. The added breadcrumb is set to either
- Add isar breadcrumbs (#1800)
- Starting with Flutter 3.16, Sentry adds the
appFlavor
to theflutter_context
(#1799) - Add beforeScreenshotCallback to SentryFlutterOptions (#1805)
- Add support for
readTransaction
insqflite
(#1819)
Dependencies
7.14.0
7.13.2
Fixes
- Fix SIGSEV, SIGABRT and SIGBUS crashes happening after/around the August Google Play System update, see #2955 for more details (fix provided by Native SDK bump)