- [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
- [SESSION REPLAY] Start/Stop Session recording based on the RUM session state. See #1122
- [SESSION REPLAY] Sync SR touch and screen recorders. See #1150
- [SESSION REPLAY] Correctly resolve
ShapeStyle
opacity in Wireframes. See #1152 - [MAINTENANCE] Merge develop into sdkv2 branch. See #978
- [MAINTENANCE] Add support to Json Schema's
oneOf
syntax. See #976 - [MAINTENANCE] Small fix in the
PokoGenerator
tool. See #989 - [MAINTENANCE] Use Gradle lazy API more. See #996
- [MAINTENANCE] Gradle 7.5. See #997
- [MAINTENANCE] Merge develop branch into SDK v2 branch. See #1034
- [MAINTENANCE] Merge 1.14.0 release branch into master branch . See #1048
- [MAINTENANCE] Merge develop into SDK v2 branch. See #1052
- [MAINTENANCE] Merge release 1.14.1 into master. See #1062
- [MAINTENANCE] Merge Session Replay branch into SDK v2 branch. See #1075
- [MAINTENANCE] Merge develop into SDK v2 branch. See #1076
- [MAINTENANCE] Apply ktlint 0.45.1 rules. See #1086
- [MAINTENANCE] Move package from
AndroidManifest
to namespace plugin config property for Session Replay module. See #1095 - [MAINTENANCE] Merge develop into SDK v2 branch. See #1104
- [MAINTENANCE] Fix caching of models generation task. See #1111
- [MAINTENANCE] Fix
WireframeUtils
flaky tests. See #1113 - [MAINTENANCE] Fix flaky tests in
WireframeUtilsTest
. See #1128 - [MAINTENANCE] Next dev cycle. See #1132
- [MAINTENANCE] Suppress the deprecation of
Bundle#get
in nightly test. See #1137 - [MAINTENANCE] Remove non-existent function in dogfood script. See #1136
- [MAINTENANCE] Merge release 1.15.0 into develop. See #1135
- [MAINTENANCE] Merge release 1.15.0 into master. See #1134
- [MAINTENANCE] Merge develop branch into SDK v2 branch. See #1138
- [MAINTENANCE] Suppress the deprecation of
Bundle#get
in nightly test. See #1144 - [MAINTENANCE] Update telemetry schema. See #1145
- [MAINTENANCE] Merge develop into SDK v2 branch. See #1147
- [MAINTENANCE] Add
fromJsonElement
method to generated models. See #1148 - [MAINTENANCE] Fix flakiness in
DebouncerTest
class. See #1151 - [MAINTENANCE] Fix unit tests flakiness in
MutationResolverTest
. See #1157 - [MAINTENANCE] Merge SDK v2 branch into develop branch. See #1159
- [MAINTENANCE] Add publish task for the Session Replay module. See #1162
- [MAINTENANCE] Nightly tests improvements. See #1163
- [MAINTENANCE] Fix some nightly tests flakiness. See #1165
- [MAINTENANCE] Update telemetry configuration schema. See #1175
- [MAINTENANCE] Merge master into develop. See #1183
- [MAINTENANCE] Apply new detekt configuration. See #1180
- [MAINTENANCE] Fix flaky
BroadcastReceiverSystemInfoProvider
test. See #1185 - [MAINTENANCE] Generated code. See #1189