Releases: DataDog/dd-sdk-android
Releases · DataDog/dd-sdk-android
1.17.1
1.17.0
- [FEATURE] Tracing: Allow the usage of OTel headers in distributed tracing. See #1229
- [IMPROVEMENT] RUM: Remove cross platform duplicates crashes. See #1215
- [IMPROVEMENT] RUM: Prevent reporting ANR when app is in background. See #1239
- [BUGFIX] Use lazy initialization of network-related properties in SampleApplication to be able to pick global first party hosts. See #1218
- [BUGFIX] Detect device's refresh rate from vital monitor. See #1251
- [SDK v2] Remove unused
PayloadFormat
andSdkEndpoint
classes from SDK v2 APIs. See #1161 - [SDK v2] Make a local copy of tags before creating
LogEvent
. See #1171 - [SDK v2] Remove duplication of
UserInfo
andNetworkInfo
classes. See #1170 - [SDK v2] Use message bus to report Java crashes to RUM. See #1173
- [SDK v2] Add the
forceNewBatch
option into theFeatureScope
. See #1174 - [SDK v2] Use message bus to report NDK crashes to RUM. See #1177
- [SDK v2] Remove site property from
DatadogContext
. See #1181 - [SDK v2] Delete obsolete feature-specific uploaders. See #1199
- [SDK v2] Use
InternalLogger
. See #1200 - [SDK v2] Remove
Companion
objects with non-public member from Public API. See #1207 - [SDK v2] Send logs for
Span
using message bus. See #1211 - [SDK v2]
RequestFactory
can throw exceptions. See #1214 - [SESSION REPLAY] Fix NPE in
ScreenRecorder
when wrapping a nullwindow.callback
. See #1164 - [SESSION REPLAY] Handle SR requests through
SessionReplayRequestsFactory
. See #1176 - [SESSION REPLAY] Provide SR touch data following the new proposed format. See #1187
- [SESSION REPLAY] Drop the covered wireframes only if top ones have a background. See #1198
- [SESSION REPLAY] Fix flaky
WireframeUtils
test. See #1208 - [SESSION REPLAY] Add dialogs recording support. See #1206
- [SESSION REPLAY]
RequestFactory
allow to throw exceptions. See #1217 - [SESSION REPLAY] Use case insensitive when checking wireframe background color opacity. See #1223
- [SESSION REPLAY] Resolve view snapshot background from theme color. See #1230
- [MAINTENANCE] Merge
develop
branch into SDK v2 branch. See #1168 - [MAINTENANCE] Next dev version 1.17.0. See #1190
- [MAINTENANCE] Upgrade detekt pipeline version. See #1192
- [MAINTENANCE] Update
apiSurface
. See #1193 - [MAINTENANCE] Fix flaky
rum_rummonitor_add_background_custom_action_with_outcome
nightly test. See #1195 - [MAINTENANCE] Merge
release/1.16.0
branch into develop branch. See #1194 - [MAINTENANCE] Merge
develop
branch into SDK v2 branch. See #1196 - [MAINTENANCE] Fix flaky telemetry test. See #1197
- [MAINTENANCE] Use latest version of shared pipeline. See #1201
- [MAINTENANCE] Enable CodeQL analysis. See #1204
- [MAINTENANCE] Speed up build of sample app for CodeQL scan. See #1221
- [MAINTENANCE] Merge release 1.16.0 branch into develop. See #1228
- [MAINTENANCE] Merge develop into SDK v2 branch. See #1224
- [MAINTENANCE] Gradle 7.6 & AGP 7.4.0. See #1232
- [MAINTENANCE] Merge SDK v2 branch into develop branch. See #1237
- [MAINTENANCE] Use custom detekt rule. See #1233
1.16.0
- [BUGFIX] Global: Use safe context for directBootAware host apps. See #1209
- [BUGFIX] Global: Provide frozen snapshot of features context when requested. See #1213
- [IMPROVEMENT] Tracing: Tracing feature stores context in the common context storage. See #1216
- [IMPROVEMENT] Telemetry: Apply extra sampling rate to the configuration telemetry. See #1222
1.16.0-beta1
- [FEATURE] Global: Unlock encryption API for SDK v2. See #935
- [FEATURE] RUM: Add telemetry configuration mapper. See #1142
- [FEATURE] Logs: Add a logger method to log error information from strings. See #1143
- [IMPROVEMENT] Global: Ensure thread safety. See #936
- [IMPROVEMENT] RUM: Use
RumFeature#context
instead ofCoreFeature#contextRef
in RumFeature. See #982 - [IMPROVEMENT] Global: Observe uncaught exception in executors. See #1125
- [IMPROVEMENT] RUM: Update default values for RUM events. See #1139
- [IMPROVEMENT] Logs: Add
device.architecture
to logs. See #1140 - [BUGFIX] Logs: Make a local copy of tags before creating
LogEvent
. See #1172 - [BUGFIX] RUM: Synchronize access to
DatadogRumMonitor#rootScope
when processing fatal error. See #1186 - [DOCS] Small Link Nit. See #1028
- [DOCS] Android Data Collected Edits. See #1059
- [DOCS] Fix sample in README. See #1141
- [DOCS] Fix sample code in
addAction
API. See #1046 - [DOCS] Fix link to setup facets and measures. See #1179
- [DOCS] Fix typo in CONTRIBUTING.md. See #1188
- [SDK v2] Datadog singleton. See #918
- [SDK v2] Make SDK Features simple classes. See #928
- [SDK v2] Use TLV format for data storage. See #931
- [SDK v2] Single Storage. See #932
- [SDK v2] Create Feature configuration interfaces. See #933
- [SDK v2] Write batch metadata. See #943
- [SDK v2] Rework file persistence layer. See #947
- [SDK v2] SDK v2 upload pipeline. See #956
- [SDK v2] Data is written in the SDK specific location. See #975
- [SDK v2] Bring tests back. See #977
- [SDK v2] Provide core SDK context. See #988
- [SDK v2] Improvement to the reading batch logic. See #992
- [SDK v2] Features can store their context in SDK context. See #1036
- [SDK v2] Use SDK v2 components in the upload pipeline. See #1040
- [SDK v2] Switch to the SDK v2 storage component. See #1051
- [SDK v2] Update
DatadogCore
initialization tests. See #1056 - [SDK v2] Register V1 features as V2. See #1069
- [SDK v2] Create storage and uploader outside of the feature. See #1070
- [SDK v2] Remove
DataReader
v1 usages. See #1071 - [SDK v2] Use SDK v2 configuration interfaces for features. See #1079
- [SDK v2] Simple message bus for cross-feature communication. See #1087
- [SDK v2] Make
Storage#writeCurrentBatch
async. See #1094 - [SDK v2] Use event write context for Logs. See #1103
- [SDK v2] Use event write context for Traces. See #1106
- [SDK v2] Use event write context for Session Replay. See #1107
- [SDK v2] Use event write context in RUM. See #1117
- [SDK v2] Remove
RumEventSourceProvider
See #1119 - [SDK v2] Use event write context in WebView Logs. See #1121
- [SDK v2] Make implementations of
EventBatchWriter
return result instead of using listener. See #1097 - [SDK v2] Avoid capturing shared state by Event Write Context. See #1126
- [SDK v2] Move global RUM context into generic feature context storage. See #1146
- [SDK v2] Improve SDK performance a bit. See #1153
- [SDK v2] Create implementation of
InternalLogger
. See #1155 - [SDK v2] Fix
devLogger
. See #1156 - [SDK v2] Prepare merge of SDK v2 branch into develop branch. See #1158
- [SDK v2] Fix flaky TLV format reader test. See #1166
- [SDK v2] Improve batch upload wait timeout handling. See #1182
- [SDK v2] Fix possible crash during the telemetry processing. See #1184
- [SESSION REPLAY] Setup
dd-sdk-android-session-replay
module. See #953 - [SESSION REPLAY] Add Session Replay Public API. See #974
- [SESSION REPLAY] Add Session Replay Public API tests. See #985
- [SESSION REPLAY] Generate Session Replay modes based on the JSON schemas. See #986
- [SESSION REPLAY] Add Session Replay lifecycle callbacks. See #993
- [SESSION REPLAY] Adapt
PokoGenerator
and Session Replay models generator to new schemas. See #1002 - [SESSION REPLAY] Add session replay recorder basic logic. See #1007
- [SESSION REPLAY] Intercept window touch events as Session Replay
TouchData
. See #1009 - [SESSION REPLAY] Processor - process
FullSnapshotRecords
and dispatch to persister. See #1013 - [SESSION REPLAY] Process Session Replay touch and orientation change events. See #1014
- [SESSION REPLAY]
SnapshotProcessor
- process wireframe mutations. See #1033 - [SESSION REPLAY] Add the Session Replay
MASK_ALL
/ALLOW_ALL
privacy strategies. See #1035 - [SESSION REPLAY] Use View hashcode as unique identifier for mapped Wireframe. See #1037
- [SESSION REPLAY]
SnapshotProcessor
- do not write anything if there was no mutation detected. See #1038 - [SESSION REPLAY] Create the Session Replay Writer component. See #1041
- [SESSION REPLAY] Send
hasReplay
property for RUM events. See #1054 - [SESSION REPLAY] Add Session Replay Uploader. See #1063
- [SESSION REPLAY] Fix the mutation resolver alg based on the Heckels definition. See #1065
- [SESSION REPLAY] Use RUM timestamp offset when resolving Session Replay timestamp. See #1068
- [SESSION REPLAY] Correct the way we handle orientation change events in SR. See #1073
- [SESSION REPLAY] Optimize
BaseWireframeMapper#colorAndAlphaAsStringHexa
function. See #1077 - [SESSION REPLAY] Accept optional Typeface when resolving
fontStyle
. See #1082 - [SESSION REPLAY] Skip new lines and spaces when obfuscating texts. See #1078
- [SESSION REPLAY] Correctly handle clipped elements and scrollable lists. See #1101
- [SESSION REPLAY] Flush buffered motion event positions periodically. See #1108
- [SESSION REPLAY] Fix source key in SR upload form. See #1109
- [SESSION REPLAY] Increase the screen snapshot frequency. See [#1110](https://gith...
1.15.0
- [FEATURE] RUM: Add frustration signal 'Error Tap'. See #1006
- [FEATURE] RUM: Report frustration count on views. See #1030
- [FEATURE] RUM: Add API to enable/disable tracking of frustration signals. See #1085
- [FEATURE] RUM: Create internal API for sending technical performance metrics. See #1083
- [FEATURE] RUM: Configuration Telemetry. See #1118
- [IMPROVEMENT] Internal: Add internal DNS resolver. See #991
- [IMPROVEMENT] RUM: Support sending CPU architecture as part of device info. See #1000
- [IMPROVEMENT] Internal: Add checks on intake request headers. See #1005
- [IMPROVEMENT] RUM: Enable custom application version support. See #1020
- [IMPROVEMENT] RUM: Add configuration method to disable action tracking. See #1023
- [IMPROVEMENT] Global: Minor performance optimization during serialization into JSON format. See #1066
- [IMPROVEMENT] Global: Editable additional attributes. See #1089
- [IMPROVEMENT] RUM: Add tracing sampling attribute. See #1092
- [IMPROVEMENT] RUM: Invert frame time to get js refresh rate. See #1105
- [IMPROVEMENT] Global: Target Android 13. See #1130
- [BUGFIX] Internal: Fix buttons overlap in the sample app. See #1004
- [BUGFIX] Global: Prevent crash on peekBody. See #1080
- [BUGFIX] Shutdown Kronos clock only after executors. See #1127
- [DOCS] Android and Android TV Monitoring Formatting Edit. See #966
- [DOCS] Update statement about default view tracking strategy in the docs. See #1003
- [DOCS] Android Monitoring Doc Edit. See #1010
- [DOCS] Adds Secondary Doc Reviewer. See #1011
- [DOCS] Replace references to iOS classes with correct Android equivalents. See #1012
- [DOCS] Add setVitalsUpdateFrequency to the doc. See #1015
- [DOCS] Android Integrated Libraries Update. See #1021
- [DOCS] Sync Doc Changes From Master to Develop. See #1024
- [MAINTENANCE] CI: Use a gitlab template for analysis generated files check. See #1016
- [MAINTENANCE] Update Cmake to 3.22.1. See #1032
- [MAINTENANCE] Update CODEOWNERS. See #1045
- [MAINTENANCE] Update AGP to 7.3.0. See #1060
- [MAINTENANCE] CI: Use KtLint 0.45.1 and dedicated runner image. See #1081
- [MAINTENANCE] CI: Migrate ktlint CI job to shared gitlab template. See #1084
- [MAINTENANCE] Update ktlint to 0.47.1. See #1091
- [MAINTENANCE] Publish SNAPSHOT builds to sonatype on pushes to develop. See #1093
- [MAINTENANCE] Add version to top level project for nexusPublishing extension. See #1096
- [MAINTENANCE] Fix import ordering. See #1098
- [MAINTENANCE] Deprecate DatadogPlugin class and its usage. See #1100
- [MAINTENANCE] CI: Update .gitlab-ci.yml to use release image for static-analysis job. See #1102
- [MAINTENANCE] Suppress DatadogPlugin deprecation for instrumented tests. See #1114
- [MAINTENANCE] Remove Flutter from Dogfooding scripts. See #1120
- [MAINTENANCE] Fix flaky ANR detection test. See #1123
- [MAINTENANCE] Android Gradle Plugin 7.3.1. See #1124
- [MAINTENANCE] Filter out telemetry in the assertions of instrumented RUM tests. See #1131
1.14.1
1.14.0
What's Changed
- [FEATURE] Global: Collect OS and device information instead of relying on User-Agent header. See #945
- [IMPROVEMENT] Logs: Add a possibility to define min log level. See #920
- [IMPROVEMENT] Logs: Add variant tag to events. See #1025
- [IMPROVEMENT] RUM: Add a method to add extra user properties. See #952 (Thanks @JosephRoskopf)
- [IMPROVEMENT] RUM: Allow to configure Vitals collection frequency. See #926
- [IMPROVEMENT] RUM: Improve session management logic. See #948
- [IMPROVEMENT] RUM: Back navigation is reported with back type. See #980
- [IMPROVEMENT] RUM: Add a possibility to disable automatic view tracking. See #981
- [IMPROVEMENT] RUM: Add a possibility to disable automatic interactions tracking. See #1023
- [IMPROVEMENT] Global: Remove deprecated APIs. See #973
Full Changelog: 1.13.0...1.14.0
1.14.0-beta2
Merge pull request #1027 from DataDog/nogorodnikov/prepare-1.14.0-bet…
1.14.0-beta1
:bookmark: Bump to version 1.14.0-beta1
1.13.0
What's Changed
- [BUGFIX] Core: Prevent a rare race condition in the features folder creation
- [BUGFIX] RUM: Update Global RUM context when view is stopped
- [BUGFIX] RUM: Interactions use the window coordinates, and not the screen ones
- [FEATURE] RUM: Add compatibility with Android TV application (see our dedicated artifact to track TV actions)
- [FEATURE] Global: Provide an internal observability mechanism
- [IMPROVEMENT] Global: improve the local LogCat messages from the SDK
- [IMPROVEMENT] RUM: allow client side sampling for RUM Resource tracing
- [IMPROVEMENT] RUM: Disable Vitals collection when app's in background
- [IMPROVEMENT] RUM: Reduce the size of events sent