Skip to content

Releases: DataDog/dd-sdk-android

2.5.1

24 Jan 14:49
8a44f37
Compare
Choose a tag to compare

What's Changed

  • [BUGFIX] RUM: Prevent crash due to concurrent modification of custom attributes. See #1838

Full Changelog: 2.5.0...2.5.1

2.5.0

15 Jan 13:40
cd84585
Compare
Choose a tag to compare
  • [FEATURE] Add accessor for current session id. See #1810
  • [BUGFIX] Session Replay: Enable recording session if first RUM message happened before init. See #1777
  • [BUGFIX] RUM: Fix view url in case of NavigationViewTrackingStrategy usage. See #1791
  • [BUGFIX] Session Replay: Fix ConcurrentModificationException in BitmapPool. See #1798
  • [BUGFIX] RUM: Use internal key for View Scopes. See #1812
  • [BUGFIX] getCurrentSessionId returns correct value. See #1817
  • [IMPROVEMENT] RUM: Better handling of event write errors in RUM. See #1766
  • [IMPROVEMENT] Single Feature Integration Tests: Trace. See #1786
  • [IMPROVEMENT] Optimize response body length reporting in OkHttp instrumentation. See #1790
  • [IMPROVEMENT] RUM/Synthetics: Make synthetics logs more verbose. See #1813
  • [IMPROVEMENT] Prevent false positive warning. See #1815
  • [IMPROVEMENT] RUM: Safe serialization of user-provided attributes. See #1818
  • [IMPROVEMENT] RUM: Add additional status codes as retryable. See #1819
  • [MAINTENANCE] Merge release/2.4.0 into develop branch. See #1784
  • [MAINTENANCE] Add delay before executors are flushed and stopped in nightly tests. See #1783
  • [MAINTENANCE] Upgrade shared CI pipeline. See #1789
  • [MAINTENANCE] Add telemetry point for null file content. See #1792
  • [MAINTENANCE] RUM: Migrate Realm from KAPT to KSP. See #1794
  • [MAINTENANCE] Fix OOM in CI jobs. See #1796
  • [MAINTENANCE] Increase wait time in NightlyTestRule. See #1799
  • [MAINTENANCE] Use Datadog Agent 1.26.1. See #1800
  • [MAINTENANCE] Move reading BUILDENV_HOST_IP variable to the job script definition. See #1801
  • [MAINTENANCE] Use automatic Gradle daemon instrumentation with CI Visibility instead of manual test tasks instrumentation. See #1804

2.4.0

21 Dec 16:30
dc983b9
Compare
Choose a tag to compare
  • [FEATURE] Global: Create PersistenceStrategy interface. See #1745
  • [FEATURE] Global: Let customer set custom persistence strategy in configuration. See #1746
  • [FEATURE] Global: Implement AbstractStorage. See #1747
  • [FEATURE] Global: Use AbstractStorage when custom persistence strategy provided. See #1748
  • [FEATURE] RUM: Print RUM app, session and view ID in LogCat. See #1760
  • [BUGFIX] Session Replay: Fix duplicate wireframes issue. See #1761
  • [BUGFIX] Global: Fix ConcurrentModificationException during ConsentAwareStorage.dropAll call. See #1764
  • [BUGFIX] RUM: Convert pending resource to pending error when Resource scope completes with an error. See #1776
  • [BUGFIX] RUM: Fix leak caused by repeated calls to WeakReference.get(). See #1779
  • [IMPROVEMENT] Session Replay: Add resourceId to ImageWireframe. See #1690
  • [IMPROVEMENT] Logger integration tests. See #1735
  • [IMPROVEMENT] Add regression test for Gson#toString method. See #1742
  • [IMPROVEMENT] Create Stub Core module. See #1740
  • [IMPROVEMENT] Fix flaky test in WireframeUtils. See #1743
  • [IMPROVEMENT] Session Replay: Remove resourceId field from e2e payloads. See #1754
  • [IMPROVEMENT] RUM: Add session start reason to events. See #1755
  • [IMPROVEMENT] Session Replay: Open text masking classes for extension. See #1757
  • [IMPROVEMENT] Tracing: Update RUM attributes in spans. See #1758
  • [IMPROVEMENT] Add the synchronous equivalent of readNextBatch and confirmBatchRead in Storage API. See #1768
  • [IMPROVEMENT] Add all Logs Feature integration tests. See #1769
  • [IMPROVEMENT] Remove the v1 data upload components. See #1774
  • [IMPROVEMENT] Add text overflow examples in sample app. See #1775
  • [IMPROVEMENT] Remove data store/upload config from feature configuration. See #1778
  • [MAINTENANCE] Bump dev version to 2.4.0. See #1738
  • [MAINTENANCE] Merge release/2.3.0 branch into develop branch. See #1739
  • [MAINTENANCE] Update RUM schema. See #1752
  • [MAINTENANCE] Remove obsolete integration tests. See #1770
  • [MAINTENANCE] Update obsolete nightly logs test. See #1771
  • [MAINTENANCE] Add artifacts in Gitlab test jobs. See #1772
  • [DOCS] Mention DatadogTree in README.md. See #1744

2.3.0

21 Nov 17:20
b46154d
Compare
Choose a tag to compare
  • [FEATURE] Global: Support returning event metadata to the readers. See #1670
  • [FEATURE] Add mapper interface for traversing all children. See #1684
  • [FEATURE] Global: Introduce the BatchProcessingLevel API. See #1686
  • [FEATURE] Session Replay: Support ImageView views. See #1677
  • [FEATURE] RUM: Create a SetSyntheticsTestAttribute event. See #1714
  • [FEATURE] Add synthetics information to the RUM Context. See #1715
  • [FEATURE] Store the synthetics test info in the RUM Context. See #1716
  • [FEATURE] Add synthetics info to RUM Views. See #1717
  • [FEATURE] Add synthetics info to RUM Actions. See #1718
  • [FEATURE] Add synthetics info to RUM Errors. See #1719
  • [FEATURE] Add synthetics info to RUM Resources. See #1720
  • [FEATURE] Add synthetics info to RUM Long Tasks. See #1721
  • [FEATURE] RUM: Track synthetics info from activity extras. See #1722
  • [BUGFIX] Fix the issue of missing cpu/memory info with RUM view events. See #1693
  • [BUGFIX] Fix batch processing level reporting in core configuration telemetry. See #1698
  • [BUGFIX] Unregister RUM monitor when associated RUM feature is stopped. See #1725
  • [BUGFIX] Session Replay: Generate wireframe IDs as 32bit integer. See #1736
  • [IMPROVEMENT] Unit test to confirm Session Replay records order is kept when having same timestamps. See #1659
  • [IMPROVEMENT] Global: Handle Android Strict Mode. See #1663
  • [IMPROVEMENT] Make sure we use try-locks in our NDK signal catcher. See #1665
  • [IMPROVEMENT] RUM: Introduce view event filtering in upload pipeline, remove view event throttling in write pipeline. See #1678
  • [IMPROVEMENT] Make NDK stack traces more standard. See #1683
  • [IMPROVEMENT] Have more consistent results when using the load picture sample screen. See #1692
  • [IMPROVEMENT] Add the batchProcessingLevel value to the Configuration Telemetry. See #1691
  • [IMPROVEMENT] Tracing: Update default propagation style from Datadog to Datadog+TraceContext. See #1696
  • [IMPROVEMENT] Tracing: Use tracestate header to supply vendor-specific information. See #1694
  • [IMPROVEMENT] Global: Lower the upload frequency and batch size enum values. See #1733
  • [MAINTENANCE] Prepare release 2.2.0. See #1650
  • [MAINTENANCE] Next dev iteration. See #1651
  • [MAINTENANCE] Merge release 2.2.0 branch into develop. See #1657
  • [MAINTENANCE] Fix Session Replay functional tests payloads after develop rollback. See #1660
  • [MAINTENANCE] Create core testFixtures source set. See #1666
  • [MAINTENANCE] Refactor shared android library build script. See #1667
  • [MAINTENANCE] Let all modules use the shared fixtures. See #1668
  • [MAINTENANCE] Update testing conventions. See #1661
  • [MAINTENANCE] Disable warning as errors locally. See #1664
  • [MAINTENANCE] Add test pyramid scaffolding. See #1674
  • [MAINTENANCE] Share RawBatchEvent forgery for tests between the modules. See #1680
  • [MAINTENANCE] Calculate API coverage. See #1681
  • [MAINTENANCE] Improve LogsFragment in sample app. See #1685
  • [MAINTENANCE] Add CI task to update E2E sample app. See #1688
  • [MAINTENANCE] Include rum-mobile-android as codeowner. See #1695
  • [MAINTENANCE] Fix flaky test in WebViewRumEventConsumerTest. See #1724
  • [MAINTENANCE] Fix flaky test in RumEventDeserializer. See #1727
  • [MAINTENANCE] Fix flaky test in DatadogContextProvider. See #1726
  • [MAINTENANCE] Fix flaky test in TelemetryEventHandlerTest. See #1729
  • [MAINTENANCE] Fix flaky test in BatchFileOrchestratorTest. See #1732
  • [MAINTENANCE] Reduce noise in logs when building the project. See #1731
  • [MAINTENANCE] Fix flaky test in MainLooperLongTaskStrategyTest. See #1730
  • [MAINTENANCE] Create SDKCore stub classes. See #1734

2.2.0

04 Oct 11:12
31a0671
Compare
Choose a tag to compare
  • [FEATURE] Session Replay: Serialize TextViews/Buttons to base64. See #1592
  • [FEATURE] WebView Tracking: Add sampler to WebViewLogEventConsumer. See #1629
  • [FEATURE] RUM: Add cross platform GraphQL attributes. See #1631
  • [FEATURE] Trace: Add networkInfoEnabled option in TraceConfiguration. See #1636
  • [FEATURE] Logs: Add isEnabled to Logs. See #1648
  • [BUGFIX] Session Replay: Fix RippleDrawables. See #1600
  • [BUGFIX] Session Replay: Fix Base64 issues with multithreading. See #1613
  • [BUGFIX] RUM: Treat scroll on non-scrollable view as tap. See #1622
  • [BUGFIX] Trace: Fix PendingTrace ConcurrentModificationException. See #1623
  • [BUGFIX] RUM: Propagate session state and view type as Strings. See #1625
  • [BUGFIX] Fix the WebView fragment in sample app. See #1627
  • [BUGFIX] RUM: Prevent NPE in GestureListener. See #1634
  • [BUGFIX] RUM: Fix duplicate views in MixedViewTrackingStrategy. See #1639
  • [BUGFIX] Telemetry: Fix the batch duration value in batch_close telemetry event. See #1633
  • [BUGFIX] Global: Make FeatureFileOrchesrator use file persistence config created from user/feature settings. See #1643
  • [BUGFIX] Telemetry: Fix RegEx in FeatureFileOrchestrator to resolve file consent type. See #1645
  • [IMPROVEMENT] Session Replay: Base64 Caching Mechanism. See #1534
  • [IMPROVEMENT] Session Replay: Implement bitmap downscaling. See #1546
  • [IMPROVEMENT] Session Replay: Implement pool of reusable bitmaps. See #1554
  • [IMPROVEMENT] Session Replay: Refactor caches from singletons to class instances. See #1564
  • [IMPROVEMENT] Session Replay: Optimize bitmap processing. See #1576
  • [IMPROVEMENT] Session Replay: Add the Session Replay functional tests for sensitive input fields. See #1601
  • [IMPROVEMENT] Session Replay: Add the Session Replay functional tests for checkboxes and radiobuttons. See #1609
  • [IMPROVEMENT] Add sample showing how to listen to memory events. See #1621)
  • [IMPROVEMENT] WebView Tracking: Only send Webview RUM events when Native Session exists and is tracked. See #1626
  • [IMPROVEMENT] Session Replay: Fix the async image loading logic inside the Session Replay view mappers. See #1619
  • [IMPROVEMENT] RUM: Let exceptions from Window.Callback to propagate. See #1632
  • [IMPROVEMENT] Session Replay: Add Session Replay functional tests for ImageButtons and ImageViews. See #1630
  • [IMPROVEMENT] Trace: Make network info optional in span schema. See #1635
  • [IMPROVEMENT] Trace: Use networkInfoEnabled to serialize or not network info in spans. See #1637
  • [IMPROVEMENT] Telemetry: Add more information into the batch telemetry. See #1641
  • [IMPROVEMENT] Session Replay: Implement heuristic image classification. See #1640
  • [IMPROVEMENT] Global: DataUploadWorker is scheduled every time and on non-roaming network. See #1647
  • [IMPROVEMENT] RUM: Use enum for HTTP method parameter of RumMonitor#startResource API. See #1653
  • [MAINTENANCE] Align the Base64 feature branch with develop. See #1594
  • [MAINTENANCE] Integrate latest changes from develop into base64 feature. See #1599
  • [MAINTENANCE] Base64 feature branch integration. See #1597
  • [MAINTENANCE] Session Replay: Implement the Session Replay payloads update local_ci task. See #1598
  • [MAINTENANCE] Fix Android Studio 'Rebuild Project'. See #1602
  • [MAINTENANCE] Next dev iteration 2.2.0. See #1604
  • [MAINTENANCE] Merge release 2.1.0 into develop branch. See #1607
  • [MAINTENANCE] Use shared Android Lint check. See #1608
  • [MAINTENANCE] Provide session replay data in configuration telemetry. See #1611
  • [MAINTENANCE] Fix unit test issues caused by git merge. See #1618
  • [MAINTENANCE] Session Replay: Update functional tests due to ImageView support. See #1646
  • [MAINTENANCE] Target Android 14 (API 34). See #1649

2.1.0

07 Sep 10:08
b37900b
Compare
Choose a tag to compare
  • [BUGFIX] Session Replay: Do not resolve WindowManager from Application context. See #1558
  • [BUGFIX] RUM: Report ApplicationLaunch view even if first RUM event is not interaction. See #1591
  • [BUGFIX] RUM: Fix crash when disabling JankStats tracking. See #1596
  • [IMPROVEMENT] RUM: Add sample rate to reported RUM events. See #1566
  • [IMPROVEMENT] Session Replay: Remove the query parameters from SR requests. See #1568
  • [IMPROVEMENT] Session Replay: Use internalLogger in SR modules. See #1574
  • [IMPROVEMENT] Add the additionalProperties capability to telemetry debug log event. See #1575
  • [IMPROVEMENT] Global: Collect the batch_deleted telemetry. See #1577
  • [IMPROVEMENT] RUM: Fix view tracking gap. See #1578
  • [IMPROVEMENT] Fix tests around InternalLogger. See #1579
  • [IMPROVEMENT] Introduce the new InternalLogger#metric API. See #1581
  • [IMPROVEMENT] Global: Collect the batch_closed telemetry. See #1586
  • [IMPROVEMENT] Add multiple instance sample. See #1587
  • [IMPROVEMENT] Global: Provide the inBackground property for batch_delete metric. See #1588
  • [IMPROVEMENT] Global: Unregister process lifecycle monitor in core instance stop. See #1589
  • [IMPROVEMENT] Session Replay: Add SR integration tests for TextView and EditText view type. See #1593
  • [MAINTENANCE] Mention Datadog SDK explicitly in dogfood script. See #1557
  • [MAINTENANCE] Remove redundant sqlite product flavour folder in the sample app. See #1559
  • [MAINTENANCE] Next dev cycle 2.1.0. See #1562
  • [MAINTENANCE] Remove the bridge dogfooding step, bridge repo is archived. See #1571
  • [MAINTENANCE] Update gitlab CI env variables for gitlab 16. See #1595
  • [DOCS] Session Replay: Add the README files for SR modules. See #1567

2.0.0

31 Jul 15:30
62aac79
Compare
Choose a tag to compare

This is the first official production version of SDK v2 containing the new architecture for features initialisation and dependencies distribution. See the migration guide for details.

Below you can find the change logs in comparison with out last stable version v1.19.3:

  • [FEATURE] RUM: Introduce Mobile Session Replay (in Beta).
  • [IMPROVEMENT] RUM: Remove tracking of view loading time and fix unit tests. See #1545
  • [IMPROVEMENT] Don't report OkHttp throwables to telemetry. See #1548
  • [IMPROVEMENT] Use implementation dependency for features in integrations modules. See #1552
  • [IMPROVEMENT] Remove dd-sdk-android-ktx module. See #1555
  • [BUGFIX] RUM: Fix memory leak in JankStats usage. See #1553
  • [DOCS] Remove redundant docs. See #1540
  • [DOCS] Update documentation for SDK v2. See #1549
  • [IMPROVEMENT] Global: Provide the uploadFrequency per feature. See #1533
  • [IMPROVEMENT] RUM: Update documentation of ViewEventMapper. See #1537
  • [IMPROVEMENT] RUM: Support navHost hosted by FragmentContainerView for NavigationViewTrackingStrategy. See #1538
  • [IMPROVEMENT] Session Replay: Always listen and react to RUM session state. See #1539
  • [IMPROVEMENT] Session Replay: Remove explicit dependency on RUM module from Session Replay. See #1541
  • [IMPROVEMENT] Update Compose Navigation version to 2.6.0. See #1542
  • [IMPROVEMENT] Don't reexport OkHttp from Glide. See #1543

* [IMPROVEMENT] Introduce known file cache and cleanup throttling in BatchFileOrchestrator in order to reduce the number of syscalls. See #1506
  • [IMPROVEMENT] Logs: Alter public API of Logger to receive Any data type. See #1324
  • [IMPROVEMENT] RUM: Use JankStats for FPS measuring. See #1405
  • [IMPROVEMENT] RUM: Fix JankStats usage. See #1512
  • [BUGFIX] RUM: Keep old viewIds for view scope. See #1448

2.0.0-beta3

26 Jul 12:56
4d365a3
Compare
Choose a tag to compare
2.0.0-beta3 Pre-release
Pre-release
  • [IMPROVEMENT] RUM: Remove tracking of view loading time and fix unit tests. See #1545
  • [IMPROVEMENT] Don't report OkHttp throwables to telemetry. See #1548
  • [IMPROVEMENT] Use implementation dependency for features in integrations modules. See #1552
  • [IMPROVEMENT] Remove dd-sdk-android-ktx module. See #1555
  • [BUGFIX] RUM: Fix memory leak in JankStats usage. See #1553
  • [DOCS] Remove redundant docs. See #1540
  • [DOCS] Update documentation for SDK v2. See #1549

2.0.0-beta2

17 Jul 12:22
5fe313c
Compare
Choose a tag to compare
2.0.0-beta2 Pre-release
Pre-release

This is a beta release of SDK v2. Compared to SDK v1 it contains breaking changes related to the SDK setup and APIs. See the migration guide for details.

  • [IMPROVEMENT] Global: Provide the uploadFrequency per feature. See #1533
  • [IMPROVEMENT] RUM: Update documentation of ViewEventMapper. See #1537
  • [IMPROVEMENT] RUM: Support navHost hosted by FragmentContainerView for NavigationViewTrackingStrategy. See #1538
  • [IMPROVEMENT] Session Replay: Always listen and react to RUM session state. See #1539
  • [IMPROVEMENT] Session Replay: Remove explicit dependency on RUM module from Session Replay. See #1541
  • [IMPROVEMENT] Update Compose Navigation version to 2.6.0. See #1542
  • [IMPROVEMENT] Don't reexport OkHttp from Glide. See #1543

1.19.3

11 Jul 12:51
8d40374
Compare
Choose a tag to compare
  • [IMPROVEMENT] RUM: Introduce known file cache and cleanup throttling in BatchFileOrchestrator in order to reduce the number of syscalls. See #1506