Skip to content

Releases: DataDog/dd-sdk-android

2.21.0

07 May 09:23
67ccb0e
Compare
Choose a tag to compare
  • [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 and RecordImages annotations to ComposeInstrumentation. See #2595
  • [BUGFIX] Fix Rum Action Tap is added twice for every ACTION_UP. See #2579
  • [BUGFIX] Cover IndexOutOfBoundsException in DrawableUtils. 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 vs Executor.execute usage. See #2616
  • [MAINTENANCE] Integrate Datadog Plugin in benchmark application. See #2618
  • [MAINTENANCE] Merge feature/compose-instrumentation-api into feature/actions-tracking. See #2583
  • [MAINTENANCE] Merge 2.20.0 into develop. See #2588
  • [MAINTENANCE] Merge Feature/actions-tracking into develop. See #2598
  • [MAINTENANCE] Bump version to 2.21.0-SNAPSHOT. See #2585
  • [MAINTENANCE] Bump targetSdk to 36. See #2589

2.20.0

07 Apr 14:30
73caea1
Compare
Choose a tag to compare
  • [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 from draw(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 from env and from the config file. See #2564
  • [IMPROVEMENT] Add traceSampleRate to the telemetry Configuration 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 in AndroidTracer builder. #2539
  • [MAINTENANCE] Change TraceWriter#write type from MutableList to List. 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 from MutableList to List. See #2577
  • [MAINTENANCE] Fix negative values in slow frames, adjusting telemetry. See #2582

2.19.2

20 Mar 12:32
3f2dd94
Compare
Choose a tag to compare

What's Changed

  • [RUM-9154]: reverting back os version constraints to S for registerMetricsListener and unregisterMetricsListener by @satween in #2558

Full Changelog: 2.19.1...2.19.2

2.19.1

18 Mar 10:29
52d70bb
Compare
Choose a tag to compare
  • [BUGFIX] Fix NPE when Drawable.getCurrent returns null. See#2545

2.19.0

10 Mar 10:52
19edaea
Compare
Choose a tag to compare

⚠️ Known issue
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 from internal to public. 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. Use setUserInfoDeprecated 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 to addViewLoadingTime. 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

03 Feb 13:22
a4ac1c3
Compare
Choose a tag to compare
  • [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

02 Jan 16:02
39f41f1
Compare
Choose a tag to compare

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 into ReflectionUtils. 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 at DatadogEventListenerTest. 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

18 Dec 14:32
14b45a5
Compare
Choose a tag to compare

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

21 Nov 10:11
0ecf62e
Compare
Choose a tag to compare
  • [FEATURE] Session Replay: Create Session Replay Compose module.
    See #1879
  • [FEATURE] Session Replay: Add Tab and TabRow 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

04 Nov 15:32
44f7dc2
Compare
Choose a tag to compare

What's Changed

  • [MAINTENANCE] Fix resolveResourceId not correctly calling job finished when drawable cloning
    failed #2367

Full Changelog: 2.15.0...2.15.1