Releases: DataDog/dd-sdk-android
Releases · DataDog/dd-sdk-android
2.21.0
- [FEATURE] Add Compose instrumentation API for view tracking and image recording. See #2570
- [FEATURE] Add
ActionTrackingStrategy
interface to decouple find view logic. See #2573 - [FEATURE] Add Compose actions tracking strategy API in
RumConfiguration
. See #2575 - [FEATURE] Implement Compose actions tracking strategy. See #2586
- [FEATURE] Change
TrackViews
andRecordImages
annotations toComposeInstrumentation
. See #2595 - [BUGFIX] Fix Rum Action Tap is added twice for every
ACTION_UP
. See #2579 - [BUGFIX] Cover
IndexOutOfBoundsException
inDrawableUtils
. See #2604 - [BUGFIX] Let
AndroidTracer.logErrorMessage()
send an ERROR log. See #2605 - [BUGFIX] Fix artifacts in Jetpack Compose scrolling. See #2610
- [BUGFIX] Fix
ViewTarget
is garbage collected during actions tracking. See #2608 - [BUGFIX] Fix the memory leak in the
PendingTrace#cleaner
. See #2607 - [BUGFIX] Fix Session Replay is not resumed after the session has expired before. See #2611
- [BUGFIX] Catch NPE when drawing cloned drawable in Session Replay. See #2622
- [BUGFIX] Revert: Remove shared
ThreadLocal
scopes. See #2603 - [IMPROVEMENT] Remove test fixtures content root duplication in
dd-sdk-android-session-replay-compose
module. See #2592 - [IMPROVEMENT] Minor improvements. See #2609
- [IMPROVEMENT] Propagate session ID in baggage header. See #2602
- [MAINTENANCE] Add workflow: Changelog update to Confluence. See #2596
- [MAINTENANCE] Add telemetry for Compose instrumentation functions. See #2601
- [MAINTENANCE] Add Android Auto and Android XR support to the sample app. See #2606
- [MAINTENANCE] Add metrics for internal benchmarking. See #2581
- [MAINTENANCE] Sample telemetry for
RecordedDataQueueHandler
. See #2600 - [MAINTENANCE] Remove the noisy warning log as for some views it is normal to not have ITV. See #2617
- [MAINTENANCE] Fix semantics of
ExecutorService.submit
vsExecutor.execute
usage. See #2616 - [MAINTENANCE] Integrate Datadog Plugin in benchmark application. See #2618
- [MAINTENANCE] Merge
feature/compose-instrumentation-api
intofeature/actions-tracking
. See #2583 - [MAINTENANCE] Merge 2.20.0 into
develop
. See #2588 - [MAINTENANCE] Merge
Feature/actions-tracking
intodevelop
. See #2598 - [MAINTENANCE] Bump version to 2.21.0-SNAPSHOT. See #2585
- [MAINTENANCE] Bump
targetSdk
to 36. See #2589
2.20.0
- [FEATURE] Slow frames collection support. See #2518
- [FEATURE] Introduce
UISlownessMetricDispatcher
. See #2567 - [BUGFIX] Remove double computation of the
RUM
payload. See #2528 - [BUGFIX] Add try-catch in
drawOnCanvas
in order to catch exceptions fromdraw(canvas)
method. See #2549 - [BUGFIX] Fix issue with missing freeze rate and slow frames rate. See #2557
- [BUGFIX] Ignore secondary displays in
Session Replay
. See #2574 - [IMPROVEMENT] Set the
local-ci
script to check for specific version of KtLint. See #2526 - [IMPROVEMENT] Add missing builder function for anonymous user tracking. See #2540
- [IMPROVEMENT] Add telemetry for pending batch files. See #2548
- [IMPROVEMENT] Remove the possibility to read the
Tracer
config fromenv
and from the config file. See #2564 - [IMPROVEMENT] Add
traceSampleRate
to the telemetryConfiguration
events. See #2563 - [IMPROVEMENT] Report configured distributed tracing headers as part of
Configuration
telemetry. See #2572 - [IMPROVEMENT] Optimize features context reads in
TelemetryEventHandler
. See #2576 - [IMPROVEMENT] Optimize
OkHttp
configuration telemetry. See #2578 - [IMPROVEMENT] Make SDK support 16Kb page sizes. See #2580
- [MAINTENANCE] Update AndroidX
Metrics
library to 1.0.0-beta02. See #2546 - [MAINTENANCE] Remove
RUM
feature check inAndroidTracer
builder. #2539 - [MAINTENANCE] Change
TraceWriter#write
type fromMutableList
toList
. See #2568 - [MAINTENANCE] Fix flaky
TraceWriterTest
M log error and proceed W write() { serialization failed }. See #2565 - [MAINTENANCE] Fix flaky tests in
OtelTraceWriter
. See #2571 - [MAINTENANCE] Change
OtelTraceWriter#write type
fromMutableList
toList
. See #2577 - [MAINTENANCE] Fix negative values in slow frames, adjusting telemetry. See #2582
2.19.2
2.19.1
2.19.0
If you are using Session Replay, please upgrade to version 2.19.1
When Session Replay is enabled, we identified a crash when using StateListDrawable
and Drawable.getCurrent returns null (#2545)
Changelog
- [FEATURE] Core: Introduce anonymous RUM Identifier. See #2487
- [BUGFIX] Fixing telemetry sampling rate reporting. See #2503
- [BUGFIX] Allow first build complete to be any number format. See #2527
- [IMPROVEMENT] RUM View Ended Telemetry now includes TNS and INV. See #2495
- [IMPROVEMENT] Trace: Forward RUM Session ID in trace headers. See #2502
- [IMPROVEMENT] View ended instrumentation type attribute support. See #2504
- [IMPROVEMENT] Support for configuration schema updates for time based strategy of TNS and INV metrics. See #2505
- [IMPROVEMENT] Core: Change
UploadWorker
visibility frominternal
topublic
. See #2511 - [IMPROVEMENT] Ensure span logs use 128 bits trace id as hex string. See #2512
- [IMPROVEMENT] RUM: Refactor
JankStatsActivityLifecycleListener
. See #2513 - [IMPROVEMENT] Core: Update
UserInfo
API to make id mandatory. See #2509
WARNING: If SDK is used from Java,setUserInfo
method requires User ID to be non-null
. UsesetUserInfoDeprecated
for the backward-compatibility. - [IMPROVEMENT] Improvements to the upload mechanism. See #2514
- [IMPROVEMENT] Catch Coroutines errors while getting all threads stacktraces. See #2522
- [IMPROVEMENT] Support Flutter's FBC and custom INV values. See #2520
- [IMPROVEMENT] RUM: Add ability to manually add an activity to
JankStats
. See #2524 - [IMPROVEMENT] Session Replay: Allow definition of custom implementations of specific Session Replay methods. See #2516
- [IMPROVEMENT] Session Replay: Improve
StateListDrawable
support in session replay. See #2531 - [MAINTENANCE] Next dev iteration
2.19.0
. See #2498 - [MAINTENANCE] Fix flaky test in Head-based sampling test suite. See #2499
- [MAINTENANCE] Session Replay: Add support for Detekt checks for Session Replay Compose module. See #2507
- [MAINTENANCE] Update AGP version to
8.8.2
. See #2515 - [MAINTENANCE] RUM: Avoid logging initial
null
viewLoadingTime
on first call toaddViewLoadingTime
. See #2517 - [MAINTENANCE] Upgrade github action to use
ubuntu-latest
. See #2523 - [DOCS] Update SDK performance doc with Session Replay measurements. See #2481
2.18.0
- [FEATURE] Allow disabling 404 span redaction. See #2496
- [IMPROVEMENT] Improve telemetry on invalid view duration. See #2466
- [IMPROVEMENT] Improve the view duration accuracy. See #2467
- [IMPROVEMENT] Fix internal telemetry on invalid loading time usage. See #2468
- [IMPROVEMENT] Add
Slider
semantics node mapper. See #2459 - [IMPROVEMENT] Fix ProGuard rules for Compose
Checkbox
. See #2470 - [IMPROVEMENT] Remove non-critical Compose reflection error from telemetry. See #2476
- [IMPROVEMENT] Add Semantics mapper for
Switch
. See #2471 - [IMPROVEMENT] Apply contrasting color to
Semantics
component. See #2477 - [IMPROVEMENT] Fix center crop image is not cropped in wireframe. See #2479
- [IMPROVEMENT] Add
RadioButton
color. See #2478 - [IMPROVEMENT] Update enums to match RUM event schema. See #2482
- [IMPROVEMENT] Fix
_dd.rule_psr
attribute calculation for RUM. See #2485 - [IMPROVEMENT] Implement Head-based sampling for network instrumentation. See #2483
- [IMPROVEMENT] Add OpenTracing API as exported dependency to OkHttp instrumentation. See #2488
- [IMPROVEMENT] Improve
updateFeatureContext
performances. See #2489 - [IMPROVEMENT] Adjust telemetry metrics sampling rates. See #2490
- [MAINTENANCE] Bump develop version to 2.18.0 snapshot. See #2465
- [MAINTENANCE] Update dependencies, adjusting detekt rules, fix tests. See #2463
- [MAINTENANCE] Update AGP to version 8.7.3. See #2484
- [MAINTENANCE] Include Java API surface file in the API changes check. See #2493
- [MAINTENANCE] Update RUM Schema. See #2492
- [MAINTENANCE] Pin github actions to exact commit hash. See #2494
- [DOCS] Fix KDoc for
RumMonitor#stopSession
. See #2480
2.17.0
Important
Session Replay has now reached General Availability and is no longer offered free of charge. Billing for this feature will begin starting from this version.
- [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