- Add
DialogRoute
handling to thedefaultViewInfoExtractor
. - Add experimental
addViewLoadingTime
API to RUM. - Increase timeout for mappers on Android. See #652
- Fix an issue where incorrect method channels were called for mappers in cases where multiple channels exist on Android. See #652
- Update iOS SDK to 2.18.0. For a full list of changes, see the iOS Changelog.
- Ignore network reachability on watchOS.
- Send retry information with network requests.
- Update Android SDK to 2.14.0. For a full list of changes, see the Android Changelog.
- Use NO_EXPORT_FLAG for BroadcastReceiver on API above 26.
- Update OkHttp to 4.12.0.
- Update Gradle to 8.9 and AGP to 8.5.2.
- Make sure user properties are immutable when setUserInfo.
- Support selective injection of trace contexts with TraceContextInjection configuration item.
- Bump minimum Dart version to 3.3.0 (Flutter 3.19.0).
- Add WASM support by removing references to
dart:html
andpackage:js
- Wait to start views on Flutter Web to avoid location mismatch.
- Upgrade Android to
compileSdkVersion
34 to prevent issues with Flutter 3.24. See #639. - Add an option to support detection of non-fatal ANRs on Android.
- Add an option for detecting non-fatal app hangs within a givin threshold on iOS.
- Update iOS SDK to 2.15.0. For a full list of changes, see the iOS Changelog
- Send memory warnings as RUM errors
- Inject backtrace reporter into Logs feature.
- Use
#fileID
over#filePath
as the default argument in errors.
- Update Android SDK to 2.12.1
- InternalMetrics: Add sampling rate to internal metrics.
- Core: Increase retry delay on DNS error.
- Reduce Method Call Sample Rate and limit total telemetry events sent per session
- Remove use of singletons for RUM / Logs plugins to fix "No Implementation Found" errors. See #596
- Upgrade iOS SDK to 2.13.0. For a full list of changes, see the iOS Changelog
- Bump IPHONEOS_DEPLOYMENT_TARGET and TVOS_DEPLOYMENT_TARGET from 11 to 12.
- Fix compilation issues on Xcode 16 beta.
- Crash errors now include up-to-date global RUM attributes.
- Update Android SDK to 2.11.0. For a full list of changes, see the Android Changelog
- Global: Fix thread safety warnings
- Limit total telemetry events sent per session.
- Add Method Call Telemetry.
- RUM: Flag critical events in custom persistence.
- Support 128-bit trace ids in distributed tracing.
- Update iOS to 2.11.0. For a full list of changes, see the iOS changelog.
- Add fatal app hang tracking in RUM.
- Solve false-positive privacy manifest warnings on Required Reason API usage.
- Call RUM's
errorEventMapper
for crashes. - Support calling log event mapper for crashes.
- Start sending data immediately after SDK is initialized.
- Update Android to 2.9.0. For a full list of changes see the Android Changelog
- Call RUM's
errorEventMapper
for crashes. - Start sending batches immediately after feature is initialized.
- Call RUM's
- Add
error.source_type
to logs when a stack trace is provided. - Fix default console print functions. See #575 and #574
- Loosen the restriction on the
js
package to allow<0.8
. See #572 - Add support for global attributes for logs.
- Passing
null
toaddAttribute
now callsremoveAttribute
instead of silently failing. - Add support for custom error fingerprints with
DatadogAttributes.errorFingerprint
. - Upgrade iOS SDK to 2.8.1. For a full list of changes, see the iOS Changelog
- Add global log attributes
- Add Device's Brand, Name, and Model in LogEvent.
- Add source_type when sent from cross platform logs.
- Allow setting custom fingerprints on errors
- Update Android SDK to 2.7.0. For a full list of changes, see the Android Changelog
- Add source_type when sent from cross platform logs.
- Add support for global attributes on logs.
- Allow setting custom fingerprints on errors.
- Set source_type on native crashes to ndk.
- Do not update RUM View global properties after the view is stopped.
- Make a copy of attributes before passing them to RUM event.
- RUM\Logs: Report all threads in case of crash.
- Fix crash in frame rate vital detection.
- Add
batchProcessingLevel
configuration option. - Add
clearAllData
method. - Fix
firstPartyHosts
not working for Flutter Web. See #554 - Fix an issue where initializing the Datadog SDK from multiple engines would crash on iOS. This does not provide multiple engine support.
- Fix an issue where Trace Id generation would throw a range error on Flutter web. See #558
- Update iOS SDK to 2.7.1. For a full list of changes, see the iOS Changelog
- Fix
view.time_spent
in RUM view events - Add privacy manifest to
DatadogCore
- Link crashes sent as Log events to RUM session
- Fix
- Update Android SDK to 2.5.1. For a full list of changes, see the Android Changelog
- Prevent a crash due to concurrent modification of custom attributes.
- Add an accessor for current session Id.
- Fix OTel trace and span ids to be lower hex. See #543
- Update iOS SDK to 2.6.0. For a full list of changes, see the iOS Changelog
- Update the Android SDK to 2.5.0. For a full list of changes, see the Android Changelog
- RUM: Better handling of event write errors in RUM.
- RUM: Safe serialization of user-provided attributes.
- RUM: Add additional status codes as retryable.
- Update iOS SDK to 2.5.1. For a full list of changes, see the iOS Changelog
- Fix
view.time_spent
being not reported correctly in RUM views.
- Fix
DatadogLogger
will no longer leak its reference to its native Logger.- Fix debug output from native
DatadogSdk
on iOS. - Fix
LogLevel
being private. See #518 - Make
DatadogRumPlugin
a singleton on Android to avoid losing its connection to theRUMMonitor
during backgrounding. - Update iOS SDK to 2.5.0. For a full list of changes, see the iOS Changelog
- Update Android SDK to 2.3.0. For a full list of changes, see the Android Changelog
- Make NDK stack traces more standard.
- Make sure we use try-locks in our NDK signal catcher.
Release 2.0 introduces breaking changes. Follow the Migration Guide to upgrade from 1.x
- Update to v2.0 of Datadog SDKs.
- Update UUID to ^4.0. See #472
- Change default tracing headers for first party hosts to use both Datadog headers and W3C tracecontext headers.
- Fix automatic resource tracking for Flutter Web
- Fix an issue where failing to load Datadog modules on Web threw an error (and potentially broke application loading).
- Add the ability to specify a sampling rate for loggers.
- Add a "NoOp" platform, usable when performing headless Flutter widget tests.
- Update iOS SDK to 1.23.0
- RUM payloads are now optimised by including less view updates
- Prevent attributes from propagating from Errors and LongTasks to Views
- Added support for Gradle 8 from @wrbl606. See #462
- Update Android SDK to 1.19.2
- Ignore adding custom timings and feature flags for the stopped view.
- Use
PlatformDispatcher.onError
overrunZonedGuarded
for automatic error tracking and to avoid a Zone mismatch exception in Flutter 3.10. See #416 - Increase minimum Flutter version to 3.3, Dart 2.18, fully support Futter 3.10 / Dart 3
- Another attempt to fix the crash on exit on iOS. See #414
- Fix an issue where calls into Datadog would not provide accurate stack traces.
- Add the ability to stop a RUM session. A new session is started on the next user interaction or on the next view start. See #147
- Increase minimum Flutter version to 3.0, Dart 2.17. See [#386]
- Update Android SDK to 1.19.0. For a full list of changes see [https://github.com/DataDog/dd-sdk-android/releases/tag/1.19.0]
- Update iOS SDK to 1.19.0. For a full list of changes see [https://github.com/DataDog/dd-sdk-ios/releases/tag/1.19.0]
- Fix a crash on exit on iOS. See #390
- Add Web View tracking through the
webview_flutter
package. - Bind
consolePrint
callback earlier in iOS to make sure initialization errors can be seen in the console. See #328 - Fix
version
not properly populating on Flutter Web. See #334 - Improve
RumUserActionDetector
to detect more widgets, includingBottomNavigationBar
,Tab
,Switch
, andRadio
- Remove an extra call to
FlutterError.presentError
made inrunApp
. See #358 - Set
sessionReplaySampleRate
to 0 during initialization for Browser as Session Replay is not supported. - Support
errorType
onDdRum.addError
andDdRum.addErrorInfo
. See #372
- Fix b3 and tracecontext using incorrect Trace and Span ids during request tracking.
- Potentially fix a crash on exit on iOS. See [#341]
- Remove reference to a gradle file that was not included in
pub deploy
- 🔥 BREAKING - Log functions (
debug
,info
,warn
) now useattributes
as a named argument instead of a positional argument. - Allow errors to be sent on all log functions. See #264
- Disable tracing by default in iOS. Silences a benign warning from the SDK. See #280
- Add ability to modify logs before send with
logEventMapper
- Allow setting sdkVerbosity prior to calling
DatadogSdk.runApp
- Update Android SDK to 1.16.0
- Logs: Make a local copy of tags before creating
LogEvent
. - RUM: Synchronize access to
DatadogRumMonitor#rootScope
when processing fatal error. - Logs: Add
device.architecture
to logs. - Logs: Add a logger method to log error information from strings.
- RUM: Add frustration signal 'Error Tap'.
- RUM: Report frustration count on views.
- RUM: Create internal API for sending technical performance metrics.
- Logs: Make a local copy of tags before creating
- Update iOS SDK to 1.14.0
- Add a method for sending error attributes on logs as strings
- Add a method to add user info properties.
- Add methods for attaching to existing instances of the DatadogSdk for "add-to-app" scenarios.
- Add
addUserExtraInfo
method for providing extra user attributes without overwriting other user info. See #254 - Add
RumConfiguration.vitalUpdateFrequency
to allow control over how often the Native SDKs query for vitals (CPU and memory usage). - Fix a crash caused by attempting to send logs while an app was terminating See #271
- Update Android SDK to 1.14.1
- Add CPU architecture to the collected device information.
- Deprecation -
DdSdkConfiguration.customEndpoint
has been deprecated in favor ofDdSdkConfiguration.customLogsEndpoint
andRumConfiguration.customEndpoint
. - Added
DdSdkConfiguration.version
configuration option for specifying a custom application version. - Fix
null
values in attributes not being correctly encoded on iOS. - Add
flavor
as a configuration parameter. - Updated iOS SDK to 1.12.0
- Updated Android SDK to 1.14.0
- 🔥 MAJOR - Fixed an issue on Android where Datadog would not properly reinitialize after backing out of an application (pressing the back button on the home screen) and returning to it.
- Fix Flutter 3 log spam regarding use of
?.
on WidgetBindings.instance. See #203 - Sync long task threshold between Flutter and Native long task reporting.
- Fix an issue where events that contained lists from
dart:typed_data
(Float32List
,Uint8List
, etc) were not being encoded / sent on iOS. - Update iOS SDK to 1.12.0-beta3
- Fix an issue with using
WidgetBindings.instance
as a non-optional (Property is optional pre-Flutter 3.0)
- Update Android SDK to 1.14.0-beta1
- Update iOS SDK to 1.12.0-beta2
- Include the exact model information in RUM
device.model
. Also fixes #133
- Include the exact model information in RUM
- Remove deprecated tracing feature.
- Removed
RumHttpMethod.unknown
as it is translated GET on the native side anyway. - Added Long Task reporting.
- Update Android SDK to 1.13.0-rc1
- Improve local LogCat messages from the SDK.
- Disables vitals collection when app is in the background.
- Fix updating Global RUM context when a view is stopped.
- For a full list of changes see the Android Changelog.
- Update iOS SDK to 1.11.0
- For a full list of changes see the iOS Changelog
- Made analysis rules stricter and switched several attribute map parameters from
Map<String, dynamic>
toMap<String, Object?>
for better compatibility withimplicit-dynamic: false
See #143 and #148 - Fix
serviceName
configuration parameter #159
- Update iOS SDK to 1.11-rc1
- Allow manually tracked resources in RUM Sessions to detect first party hosts.
- Better error message when encountering an invalid token (Fixes #117).
- Fix RUM events to support configured
source
property. - For a full list of changes, see the iOS Changelog.
- Added
datadogReportingThreshold
toLoggingConfiguration
to support only sending logs above a certain threshold to Datadog. - Add support for setting a tracing sample rate for RUM.
- Expose
DdLogs
through the main package import. Added documentation to DdLogs. - Added initial Flutter Web features and tests. Note: Flutter Web is not ready for production use.
- Update iOS SDK to 1.11-beta2
- Stop reporting pre-warmed application launch time.
- Reduce the number of intermediate view events sent in RUM payloads.
- For a full list of changes, see the iOS Changelog.
- Send
firstPartyHosts
to Native SDKs during initialization. MakefirstPartyHosts
property on read onlyDatadogSdk
read only. - 💥 Breaking! - Deprecated non-RUM resource tracing.
- Properly report
source
as Flutter on iOS.
- Cancel spans on DatadogTrackingHttpClient when RUM is enabled (prevent spans from leaking native resources)
- Remove native view tracking (Activities and Fragments) from Android by default
- Add support for creating multiple named loggers:
DatadogSdk.createLogger
andLoggingConfiguration.loggerName
- Add support for configuring whether loggers send data to Datadog:
LoggingConfiguration.sendLogsToDatadog
- 💥 Breaking! - Removed
DdSdkConfiguration.trackHttpClient
. This has been replaced with a standalonedatadog_tracking_http_client
package. - 💥 Breaking! -
DdSdkConfiguration.site
is now a required parameter and no longer defaults toDatadogSite.us1
- Support for Logging, Tracing (including Datadog Distributed Tracing) and RUM
- iOS Support with Datadog SDK for iOS 1.9.0
- Android Support with Datadog SDK for Android 1.12.0-alpha2
- Automatically track network requests with
DatadogTrackingHttpClient
- Error reporting for iOS, Android, and Android NDK crashes.