Releases: DataDog/dd-sdk-android
2.17.0
- [FEATURE] Implement the basic logic for
time-to-network-settle
view metric. See #2397 - [FEATURE] Add a Jetpack Compose fine grained masking override API. See #2416
- [FEATURE] Implement the basic logic for
interaction-to-next-view-metric
. See #2417 - [FEATURE] Support
is_main_process
property in telemetry configuration. See #2422 - [FEATURE] Introduce the
setNetworkSettledInitialResourceIdentifier
API. See #2424 - [FEATURE] Introduce the
setLastInteractionIdentifier
public API. See #2428 - [IMPROVEMENT] Refactor
TextSemanticsNodeMapper
to commonize the text wireframe logic. See #2401 - [IMPROVEMENT] Add
TextField
semantics mapper for Session Replay Compose. See #2406 - [IMPROVEMENT] Decouple Jetpack Compose reflection functions and report to Telemetry. See #2415
- [IMPROVEMENT] Move
ImageSemanticsMapper
reflection functions intoReflectionUtils
. See #2419 - [IMPROVEMENT] Handle readOnly
additionalProperties
. See #2423 - [IMPROVEMENT] Improve the log message when exception happen during upload. See #2411
- [IMPROVEMENT] Apply global privacy level to semantics node mappers. See #2413
- [IMPROVEMENT] Apply touch privacy override in
RootSemanticsMapper
. See #2421 - [IMPROVEMENT] Get rid of
Thread.sleep(SHORT_SLEEP_MS)
in unit tests atDatadogEventListenerTest
. See #2430 - [IMPROVEMENT] Add backwards compatibility for Coil
AsyncImage
. See #2432 - [IMPROVEMENT] Change the
logApiUsage
method signature - making event parameter computation lazy. See #2433 - [IMPROVEMENT] Apply the
hide
view override on Semantics nodes. See #2434 - [IMPROVEMENT] Correctly handle
TTNS
when a resource was stopped with an error. See #2444 - [IMPROVEMENT] Add integration tests for the
TTNS
metric. See #2442 - [IMPROVEMENT] Add integration tests for
ITNV
metric. See #2445 - [IMPROVEMENT] Display captured text when the text has
Ellipsis
overflow. See #2446 - [IMPROVEMENT] Support interop view from Jetpack Compose. See #2452
- [IMPROVEMENT] Add an "effective sample rate" to telemetry events. See #2453
- [IMPROVEMENT] Handle traces with coroutines. See #2457
- [IMPROVEMENT] Add support for Jetpack Compose Checkbox. See #2414
- [IMPROVEMENT] Replace
joinToString
when possible. See #2456 - [MAINTENANCE] Fix flaky test in the Deterministic Sampler. See #2412
- [MAINTENANCE] Fix
TextFieldSemanticsNodeMapper
flaky test. See #2410 - [MAINTENANCE] Fix potential issues with subdomain host lookups. See #2436
- [MAINTENANCE] Fix the way we are recording the last interaction for the
ITNV
metric. See #2431 - [MAINTENANCE] Deprecate Datadog
GlobalTracer
class. See #2438 - [MAINTENANCE] Correct the way we register the initial resources for the
TTNS
metric. See #2439 - [MAINTENANCE] Explicit Fragment dependency. See #2443
- [MAINTENANCE] Don't warn about missing views on
PerformanceMetric
events. See #2454
2.16.1
What's Changed
- Patch version to allow support for React Native Session Replay by @jonathanmos in #2458
Full Changelog: 2.16.0...2.16.1
2.16.0
- [FEATURE] Session Replay: Create Session Replay Compose module.
See #1879 - [FEATURE] Session Replay: Add
Tab
andTabRow
Composable groups mappers.
See #2171 - [FEATURE] Session Replay: Add Abstract and Text semantics mapper for Compose Session Replay.
See #2292 - [FEATURE] Session Replay: Add Semantics Mapper for Button role.
See #2296 - [FEATURE] Session Replay: Add
ImageSemanticsNodeMapper
to support image role for Session Replay.
See #2322 - [FEATURE] Session Replay: Add Tab semantics mapper.
See #2378 - [FEATURE] Session Replay: Add
RadioButton
Semantics Node Mapper.
See #2381 - [FEATURE] Session Replay: Add Material Chip mapper and improve
CompoundButton
telemetry.
See #2364 - [FEATURE] Session Replay: Add Compose Session Replay scenario for benchmark sample application.
See #2379 - [FEATURE] Session Replay: Add multiple extension support.
See #2384 - [FEATURE] Session Replay: Add Compose Session Replay selector sample screen.
See #2394 - [FEATURE] Session Replay: Add
AndroidComposeViewMapper
to support popup.
See #2395 - [FEATURE] Session Replay: Integrate benchmark profiler in Compose mapper.
See #2397 - [IMPROVEMENT] Add
MethodCall
telemetry for compose mapper.
See #2123 - [IMPROVEMENT] Apply privacy settings to
TextCompositionGroupMapper
for Compose.
See #2121 - [IMPROVEMENT] Use
SurfaceCompositionGroupMapper
to support container components in Session
Replay.
See #2182 - [IMPROVEMENT] Fix padding and resizing issue for
ImageView
mapper.
See #2372 - [IMPROVEMENT] Add warning log when initializing the SDK outside of the main process.
See #2376 - [IMPROVEMENT] breaking API change: Allow typed
Sampler
.
See #2385 - [IMPROVEMENT] Create the
DeterministicSampler
.
See #2387 - [IMPROVEMENT] Use deterministic sampling by default when tracing.
See #2388 - [IMPROVEMENT] Align log levels for Session Replay already enabled.
See #2399 - [IMPROVEMENT] Adjust Webview Replay storage configuration limits.
See #2400 - [MAINTENANCE] Update Gradle to version
8.10.2
.
See #2359 - [MAINTENANCE] Fix
ButtonCompositionGroupMapper
crash while calculating the corner radius.
See #2173 - [MAINTENANCE] Fix Image reflection issue and update ProGuard rules.
See #2337 - [MAINTENANCE] Fix
CompoundButton
mapper drawable clone issue.
See #2365 - [MAINTENANCE] Fix crash while using recycled bitmap in Session Replay.
See #2396 - [MAINTENANCE] Add experimental annotation for Session Replay for Compose.
See #2377 - [MAINTENANCE] Lazy RUM raw event creation in event generator methods.
See #2363 - [MAINTENANCE] Remove legacy code using Compose
sourceInfo
.
See #2386
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.