Releases: DataDog/dd-sdk-android
2.15.1
What's Changed
- [MAINTENANCE] Fix
resolveResourceId
not correctly calling job finished when drawable cloning
failed #2367
Full Changelog: 2.15.0...2.15.1
2.15.0
Note that Session Replay has an issue in this version with replays not recording correctly. We will release a fix for this shortly.
What's Changed
- [FEATURE] Add
TimeBank
in Session Replay recorder for dynamic optimisation See #2247 - [FEATURE] Add Session Replay skipped frames count in
session ended
metrics. See #2256 - [FEATURE] Add a touch privacy override. See #2334
- [FEATURE] Add precheck conditions when registering the Session Replay feature. See #2264
- [FEATURE] Add a privacy override for hidden views. See #2291
- [FEATURE] Add image and textAndInput privacy overrides. See #2312
- [IMPROVEMENT] Add a dynamic optimization configuration field in
SessionReplayConfiguration
. See #2259 - [IMPROVEMENT] Use layout text to display
TextView
overflow correctly. See #2279 - [IMPROVEMENT] Remove the Session Replay
ButtonMapper
border. See #2280 - [IMPROVEMENT] Force single core for Session Replay. See #2324
- [IMPROVEMENT] Add a
ViewGroups
Session Replay demo screen in sample app. See #2285 - [IMPROVEMENT] Run integration tests on API 35 in the testing pyramid. See #2272
- [IMPROVEMENT] Add
MaterialCardView
support in the Material Session Replay extension. See #2290 - [IMPROVEMENT] Use an SDK source value in the Session Replay
MobileSegment.source
property. See #2293 - [IMPROVEMENT] Update the Session Replay schema with a Kotlin Multiplatform source for Mobile segment. See #2297
- [IMPROVEMENT] Improve test coverage of core unit tests. See #2294
- [IMPROVEMENT] Improve unit test coverage for RUM, Logs and Trace features. See #2299
- [IMPROVEMENT] Send retry information into RUM data upload requests. See #2298
- [IMPROVEMENT] Make the
DataOkHttpUploader
state volatile. See #2305 - [IMPROVEMENT] Read Session Replay system requirements synchronously with strict mode allowance. See #2307
- [IMPROVEMENT] Override process importance for Session Replay integration tests. See #2304
- [IMPROVEMENT] Detekt the api coverage in integration tests. See #2300
- [IMPROVEMENT] Resolve
PorterDuffColorFilter
case in drawable to color mapper. See #2319 - [IMPROVEMENT] Prevent obfuscation of Fine Grained Masking enums. See #2321
- [IMPROVEMENT] Make sure
ConsentAwareFileOrchestrator
is thread safe. See #2313 - [IMPROVEMENT] Improve RUM integration tests. See #2317
- [IMPROVEMENT] Add a default sample rate for Session Replay. See #2323
- [IMPROVEMENT] Remove batch metrics inner sampler to increase sample rate. See #2328
- [IMPROVEMENT] Add missing integration test for Logs. See #2330
- [IMPROVEMENT] Update Session Replay integration test payloads. See #2318
- [MAINTENANCE] Update Datadog Agent to 1.41.0. See #2331
- [MAINTENANCE] Fix the decompression in Session Replay instrumented tests for API 21. See #2341
- [MAINTENANCE] Reactivate Session Replay instrumented test for API 21. See #2342
- [MAINTENANCE] Fix some flaky tests. See #2281
- [MAINTENANCE] Fix a StrictMode warning regarding I/O disk operation on the main thread. See #2284
- [MAINTENANCE] Fix flaky feature context integration tests. See #2295
- [MAINTENANCE] Fix
SeekBarWireframeMapper
flaky test. See #2308 - [MAINTENANCE] Fix
SpanEventSerializerTest
flakiness. See #2311 - [MAINTENANCE] Remove an unnecessary legacy privacy line from the sampleApplication. See #2314
- [MAINTENANCE] Use Java 11 bytecode for public modules. See #2315
- [MAINTENANCE] Fix RUM integration test
verifyViewEventsOnSwipe
. See #2326 - [MAINTENANCE] Fix the regression for the
TelemetryErrorEvent
with throwable. See #2325 - [MAINTENANCE] Fix the execution of legacy instrumentation tests in CI. See #2329
Full Changelog: 2.14.0...2.15.0
2.14.0
What's Changed
Note that this version contains a behavior change. Previously if no masking strategy was specified for Session Replay, user-input fields would be masked by default. With this release, if nothing is specified, everything will be masked - text, touches and images. In this version, Session Replay begins moving over to using fine grained masking, allowing masking levels to be set individually for text and input, images and touch, and deprecates the previous setPrivacy api.
- [FEATURE] Add stop and start APIs for Session Replay. See #2169
- [FEATURE] Add touch privacy fine grained masking API to Session Replay. See #2196
- [FEATURE] Add text and input privacy fine grained masking API to Session Replay. See #2235
- [FEATURE] Introduce the
RumMonitor#addViewLoadingTime
API. See #2243 - [FEATURE] Introduce the API usage telemetry event and API. See #2258
- [IMPROVEMENT] Enable Kotlin test fixtures support. See #2234
- [IMPROVEMENT] Add
isContainer
attribute to session replay span. See #2244 - [IMPROVEMENT] Update custom detekt CI Job. See #2118
- [IMPROVEMENT] Randomize privacy levels to support Fine Grained Masking in E2E. See #2265
- [IMPROVEMENT] Update AGP to 8.6.1. See #2269
- [IMPROVEMENT] Add telemetry and logs related with
RumMonitor#addViewLoadingTime
API. See #2267 - [IMPROVEMENT] Handle SSE requests. See #2270
- [IMPROVEMENT] Do not use magic numbers in
InternalLogger
API. See #2271 - [IMPROVEMENT] Optimize MD5 byte array to hex string conversion. See #2273
- [IMPROVEMENT]
CONTRIBUTING
doc changes. See #2275 - [IMPROVEMENT] Add env tag in benchmark metrics. See #2276
- [MAINTENANCE] Make image privacy fine grained masking API public in Session Replay. See #2204
- [MAINTENANCE] Update benchmark metrics memory reader probe interval. See #2228
- [MAINTENANCE] Fix the flakiness in the
KioskTrackingTest
. See #2226 - [MAINTENANCE] Fix placeholder dimensions. See #2248
- [MAINTENANCE] Send fine grained masking instead of legacy privacy in config telemetry. See #2253
- [MAINTENANCE] Ensure
UploadWorker
uses the SDK instance name. See #2257 - [MAINTENANCE] Explicitly set
antlr-runtime
transitive dependency version. See #2261 - [MAINTENANCE] Add the integration tests related with
RumMonitor#addViewLoadingTime
API. See #2268 - [MAINTENANCE] Fix
DatadogInterceptor
flaky test. See #2274 - [MAINTENANCE] Fix typos and links in Github issue templates. See #2277
Full Changelog: 2.13.1...2.14.0
2.13.1
2.13.1-debug
A debug build with additional tools to perform introspection on the SDK's network usage.
2.13.0
What's Changed
- RUM-5553: Create Benchmark module to collect performance metrics by @ambushwork in #2141
- RUM-5553: Implement MetricHttpClient and RequestBodyBuilder by @ambushwork in #2142
- RUM-5550: Create benchmark sample application module by @ambushwork in #2143
- RUM-5553: Add DatadogMeter to read vital data for benchmark by @ambushwork in #2144
- Bump develop to 2.13.0 by @mariusc83 in #2152
- RUM-5550: Setup Benchmark sample app synthetics gitlab configuration by @ambushwork in #2150
- RUM-5550: Add session replay benchmark fragments by @ambushwork in #2151
- [RUM-5566] Added setSyntheticsAttribute in RumInternalProxy by @marco-saia-datadog in #2133
- RUM-5550: Add datadog config and enable SR in benchmark sample app by @ambushwork in #2156
- RUM-483 use macos runner by @xgouchet in #2154
- Remove obsolete nightly test references by @xgouchet in #2157
- Json schema update by @xgouchet in #2160
- RUM-5525 Add the integration tests for the SdkCore APIs by @mariusc83 in #2145
- Add scenario attribute in benchmark metrics by @ambushwork in #2162
- [#2163] Update link to troubleshooting documentation by @mateo-villa in #2164
- RUM-5550: Parse synthetics variables to control benchmark test scenario by @ambushwork in #2166
- Merge README external fix to develop by @mariusc83 in #2165
- Fix Benchmark baseline run bug and add unit test by @ambushwork in #2168
- Add README for benchmark module and benchmark sample application by @ambushwork in #2167
- Feature/metric benchmark by @ambushwork in #2172
- Reset developerMode status when Datadog stop by @mariusc83 in #2174
- Extract logic to pull publishing credentials into a dedicated snippet by @0xnm in #2176
- Add changelog for 2.12.0 release by @0xnm in #2179
- RUM-5750 Use NO_EXPORT_FLAG for BroadcastReceiver on API above 26 by @mariusc83 in #2170
- Remove redundant build configuration in new reliability modules by @0xnm in #2178
- Remove image property from macOS-based jobs by @0xnm in #2181
- Update OkHttp to 4.12.0 by @0xnm in #1975
- Speed up
IdGenerationStrategy
test by @0xnm in #2187 - Clean up benchmark tool and application code by @ambushwork in #2184
- RUM-5527 Add integration tests for internal sdk core by @mariusc83 in #2177
- Merge release
2.12.1
intodevelop
branch by @0xnm in #2190 - Update Gradle to 8.9 and AGP to 8.5.2 by @0xnm in #2192
- RUM-5831: Speed up generated files/licenses checks by @0xnm in #2188
- Use adb install
-g
flag only for Android API above 23 by @0xnm in #2193 - Fix integration tests pipeline for API 21 by @mariusc83 in #2197
- Update JSON schema by @jonathanmos in #2198
- Create internal module by @ambushwork in #2199
- Speed up Send sampled Spans test by @0xnm in #2201
- RUM-5526 Add the integration tests for FeatureSdkCore public API by @mariusc83 in #2200
- RUM-673: Log Timber tag by @0xnm in #2202
- Make sure user properties are immutable when setUserInfo by @mariusc83 in #2203
- Remove redundant generated models by @0xnm in #2207
- RUM-5877 run core-it integration tests in Gitlab by @mariusc83 in #2205
- Merge develop to feature/profiling by @ambushwork in #2211
- Add Datadog span event schema in benchmark module by @ambushwork in #2210
- Update PackageNameVisibility rule to exclude internal module package by @ambushwork in #2212
- Migrate NoOpImplementation from core to internal module by @ambushwork in #2213
- Add SpanEvent serializer in benchmark module by @ambushwork in #2214
- RUM-5878 Add the integration tests for FeatureScope public API by @mariusc83 in #2209
- Fix UserInfoProvider flaky test by @ambushwork in #2215
- Add SpanEvent request build and upload process in benchmark module by @ambushwork in #2217
- RUM-5754: Add profiling interface to internal module by @ambushwork in #2194
- RUM-5970 Add the remaining InternalProxy and Datadog API integration tests by @mariusc83 in #2218
- Fix Benchmark Span request issue by @ambushwork in #2219
- Add implementations of benchmark profiling api by @ambushwork in #2220
- RUM-5977 include optional exception in Upload Status by @xgouchet in #2221
- RUM-5977 create UploadSchedulerStrategy interface and default implementation by @xgouchet in #2222
- Integrate benchmark span measurements in session replay by @ambushwork in #2223
- Feature/profiling by @ambushwork in #2225
- Update
kotlinx.ast
dependency by @0xnm in #2231 - RUM-5977 add configuration to set uploadSchedulerStrategy by @xgouchet in #2224
- Fix benchmarking metrics data upload request issue by @ambushwork in #2227
- Publish benchmark module to sonatype by @ambushwork in #2230
- Prepare release 2.13.0 by @xgouchet in #2236
New Contributors
- @marco-saia-datadog made their first contribution in #2133
- @mateo-villa made their first contribution in #2164
Full Changelog: 2.12.1...2.13.0
2.13.0-debug
A debug build with additional tools to perform introspection on the SDK's network usage.
2.12.1
2.12.0
- [FEATURE] Trace: Add the
SessionEndedMetric
into sdk core. See #2090 - [FEATURE] SessionReplay: Use the datastore for Session Replay resources. See #2041
- [FEATURE] Trace: Provide 128 bits support for the trace ids in the Tracing sdk. See #2089
- [FEATURE] SessionReplay: Add api to clear all datastore data. See #2096
- [FEATURE] SessionReplay: Add
CompoundButton
mapper. See #2120 - [FEATURE] SessionReplay: Add API to configure the Image Privacy. See #2125
- [FEATURE] Trace: Introduce the
TraceContextInjection
to handle sampling in distributed traces. See #2111 - [IMPROVEMENT] Trace: Improve unit tests in Session metrics. See #2095
- [IMPROVEMENT] SessionReplay: Fix flaky test in
SeekBarWireframeMapperTest
. See #2099 - [IMPROVEMENT] Trace: Fix the Okhttp Otel parent span feature when not using RUM. See #2100
- [IMPROVEMENT] SessionReplay: Fix units for dropped nodes. See #2107
- [IMPROVEMENT] SessionReplay: Add TLVFormat DataStore persistence. See #2038
- [IMPROVEMENT] InternalMetrics: Add sampling rate to internal metrics. See #2108
- [IMPROVEMENT] SessionReplay: Fix
RumSessionEnded
metric flaky test. See #2114 - [IMPROVEMENT] SessionReplay: Use
BackpressureExecutor
for SessionReplay event processing. See #2116 - [IMPROVEMENT] SessionReplay: Improve CheckableTextViewMapper. See #2115
- [IMPROVEMENT] SessionReplay:
SwitchCompat
mapper improvement. See #2117 - [IMPROVEMENT] RUM: Fix the racing condition in the
RotatingDnsResolver
logic. See #2127 - [IMPROVEMENT] RUM: Add request id in okhttp request. See #2126
- [IMPROVEMENT] Trace: Make sure network local spans have
kind:client
tag. See #2136 - [IMPROVEMENT] Core: Increase retry delay on DNS error. See #2135
2.11.0-debug
A debug build with additional tools to perform introspection on the SDK's network usage.