Skip to content

Latest commit

 

History

History
978 lines (847 loc) · 91.4 KB

CHANGELOG.md

File metadata and controls

978 lines (847 loc) · 91.4 KB

2.10.0 / 2024-05-23

  • [FEATURE] Global: Add Method Call Telemetry. See #1940
  • [FEATURE] Session Replay: Add support to the Toolbar in Session Replay. See #2024
  • [IMPROVEMENT] Session Replay: Improve masking arch. See #2011
  • [IMPROVEMENT] Session Replay: Simplify generic type in mappers. See #2015
  • [IMPROVEMENT] Global: Support additional properties in Telemetry Error events. See #2025
  • [IMPROVEMENT] Session Replay: Add telemetry on SR resources track. See #2027
  • [IMPROVEMENT] Session Replay: Add telemetry to detect uncovered View/Drawable in Session Replay. See #2028
  • [IMPROVEMENT] Session Replay: Improve SeekBarMapper. See #2037
  • [IMPROVEMENT] RUM: Flag critical events in custom persistence. See #2044
  • [IMPROVEMENT] Delegate Drawable copy to background thread. See #2048
  • [MAINTENANCE] Next dev iteration. See #2020
  • [MAINTENANCE] Merge release 2.9.0 into develop branch. See #2023
  • [MAINTENANCE] Session Replay: Improve UT for SR Obfuscators. See #2031
  • [MAINTENANCE] Create package name consistency rule. See #2032
  • [MAINTENANCE] Session Replay: Improve the TextViewMapper unit tests. See #2034
  • [MAINTENANCE] Fix KtLint version in local_ci script. See #2039
  • [MAINTENANCE] Session Replay: Fix SR flaky test. See #2042
  • [MAINTENANCE] Global: Update the Method Call metric usage. See #2040
  • [MAINTENANCE] Update static analysis pipeline version. See #2045
  • [MAINTENANCE] Fix flaky test regarding PerformanceMeasure sampling rate. See #2046

2.9.0 / 2024-05-02

  • [BUGFIX] RUM: Prevent crash in JankStats listener. See #1981
  • [BUGFIX] RUM: Unregister vital listeners when view is stopped. See #2009
  • [BUGFIX] Core: Fix ConcurrentModificationException during features iteration. See #2012
  • [IMPROVEMENT] RUM: Optimise BatchFileOrchestator performance. See #1968
  • [IMPROVEMENT] Use custom naming for threads created inside SDK. See #1987
  • [IMPROVEMENT] Synchronize SR info with webviews. See #1990
  • [IMPROVEMENT] Core: Start sending batches immediately after feature is initialized. See #1991
  • [IMRPOVEMENT] Create RUM Feature Integration Tests. See #2004
  • [IMRROVEMENT] Make constructors of DatadogSite private. See #2010
  • [IMRROVEMENT] Log warning about tag modification only once. See #2017
  • [IMRROVEMENT] Add status code in user-facing message in case of UnknownError during batch upload. See #2018
  • [MAINTENANCE] Next dev iteration. See #1972
  • [MAINTENANCE] Remove non-ASCII characters from test names. See #1973
  • [MAINTENANCE] Update Kotlin to 1.8.22, Gradle to 8.2.1, update related tooling. See #1974
  • [MAINTENANCE] Merge release/2.8.0 branch into develop branch. See #1977
  • [MAINTENANCE] Switch to the Golden Base Image for Docker. See #1982
  • [MAINTENANCE] Remove unused Maven Model dependency. See #1989
  • [MAINTENANCE] Update testing ci steps to limit OOM and memory usage. See #1986
  • [MAINTENANCE] Upload sample app to rum playground. See #1994
  • [MAINTENANCE] Update copyright. See #1992
  • [MAINTENANCE] Don't mark internal extension functions for 3rd party types as 3rd party. See #1996
  • [MAINTENANCE] Use credentials for the right org. See #1997
  • [MAINTENANCE] Update Detekt API version used to 1.23.0. See #1988
  • [MAINTENANCE] Remove the usage of deprecated TestConfig constructor. See #1999
  • [MAINTENANCE] Fix flakyness in SR unit tests. See #2001
  • [MAINTENANCE] Remove legacy nightly tests. See #2005
  • [MAINTENANCE] Redirect slack notif to mobile-sdk-ops channel. See #2007

2.8.0 / 2024-04-09

  • [FEATURE] Add buildId to the RUM error and Log events. See #1756
  • [FEATURE] WebView Session Replay: Implement WebView bridge getCapabilities. See #1871
  • [FEATURE] RUM: Call RUM error mapper even for crashes. See #1945
  • [FEATURE] RUM: Report time since the application start for crashes in RUM. See #1961
  • [BUGFIX] RUM: Fix application startup time regression. See #1935
  • [BUGFIX] Session Replay: Prevent crashing the host app in the ViewOnDrawInterceptor. See #1951
  • [BUGFIX] Session Replay: Prevent crash in Canvas Wrapper. See #1954
  • [BUGFIX] RUM: Safe getting of Intent extras. See #1950
  • [BUGFIX] RUM: Don't traverse non-visible ViewGroups for searching user interaction targets. See #1969
  • [IMPROVEMENT] WebView Session Replay: Introduce the FeatureContextUpdateListener API. See #1829
  • [IMPROVEMENT] WebView Session Replay: Provide the parent container information for browser rum events. See #1831
  • [IMPROVEMENT] WebView Session Replay: Detect full snapshot from WebView session replay. See #1908
  • [IMPROVEMENT] Session Replay: Refactor and split classes. See #1873
  • [IMPROVEMENT] WebView Session Replay: Keep WebView wireframe hidden. See #1949
  • [IMPROVEMENT] Remove Runtime shutdown hook when SDK instance is stopped. See #1956
  • [IMPROVEMENT] Fix message when writer is NoOp. See #1963
  • [IMPROVEMENT] Global: Make sure error.threads always have content from error.stack. See #1964
  • [MAINTENANCE] Merge develop branch. See #1849
  • [MAINTENANCE] Merge develop. See #1915
  • [MAINTENANCE] Merge develop into Session Replay WebView feature branch. See #1917
  • [MAINTENANCE] Merge develop into feature/sr-webview. See #1922
  • [MAINTENANCE] Next dev iteration. See #1928
  • [MAINTENANCE] Merge release 2.7.0 into develop branch. See #1930
  • [MAINTENANCE] Address some flaky tests. See #1934
  • [MAINTENANCE] Add a test for the safe events serialization produced by RumViewScope in multi-threaded environment. See #1933
  • [MAINTENANCE] Fix mime type for nightly tests. See #1936
  • [MAINTENANCE] Disable some Session Replay integration tests temporarily due to flakiness. See #1941
  • [MAINTENANCE] Merge 2.7.1 on develop. See #1947
  • [MAINTENANCE] Improve TODO detekt rule. See #1955
  • [MAINTENANCE] Disable flaky Session Replay test. See #1957
  • [MAINTENANCE] Merge develop. See #1958
  • [MAINTENANCE] Merge feature/sr-web-view-support. See #1959
  • [MAINTENANCE] Fix flaky TodoWithoutTask tests. See #1962
  • [MAINTENANCE] Fix flaky DatadogCore test. See #1965
  • [MAINTENANCE] Update actions for running CodeQL workflow. See #1966
  • [MAINTENANCE] Fix flaky tests. See #1967

2.7.1 / 2024-03-27

  • [BUGFIX] RUM: Improve adding Feature Flag evaluation(s) performance. See #1932
  • [MAINTENANCE] Core: add a BackPressure strategy to limit the load on background threads and get notified when capacity is reached. See #1938 and #1939

2.7.0 / 2024-03-21

  • [FEATURE] Session Replay: Add a request builder for resources. See #1827
  • [FEATURE] Session Replay: Add Resources feature. See #1840
  • [FEATURE] Session Replay: Implement resource capture during traversal. See #1854
  • [FEATURE] Add source_type when sent from cross platform logs. See #1895
  • [FEATURE] Session Replay: Enable Resource Endpoint by default. See #1858
  • [FEATURE] Logs: Add support for global attributes on logs. See #1900
  • [FEATURE] RUM: Allow setting custom error fingerprint. See #1911
  • [FEATURE] RUM: Report all threads for non-fatal ANRs. See #1912
  • [FEATURE] RUM: Report fatal ANRs. See #1909
  • [BUGFIX] Session Replay: Avoid crash when applicationContext is null. See #1864
  • [BUGFIX] Session Replay: Fix image resizing issue. See #1897
  • [BUGFIX] Fix typo in source type. See #1904
  • [BUGFIX] RUM: Prevent ConcurrentModificationException when reading feature flags. See #1925
  • [IMPROVEMENT] RUM: Disable non-fatal ANR reporting by default. See #1914
  • [IMPROVEMENT] RUM: Introduce error.category attribute for exceptions, categorize ANRs separately. See #1918
  • [MAINTENANCE] Next dev iteration. See #1861
  • [MAINTENANCE] Merge release/2.6.0 in develop. See #1862
  • [MAINTENANCE] Merge release/2.6.1 changes into develop branch. See #1868
  • [MAINTENANCE] Update telemetry schema. See #1874
  • [MAINTENANCE] Merge Hotfix 2.6.2. See #1890
  • [MAINTENANCE] Add signed commits requirement to CONTRIBUTING.md. See #1905
  • [MAINTENANCE] Session Replay: Cleanup SR code. See #1910
  • [MAINTENANCE] Session Replay: Fix integration tests post Session Replay refactoring. See #1916
  • [MAINTENANCE] Session Replay: Fix SrImageButtonsMaskUserInputTest. See #1920
  • [MAINTENANCE] Adjust ktlint formatting rules. See #1919
  • [MAINTENANCE] Fix formatting. See #1921

2.6.2 / 2024-02-23

  • [BUGFIX] RUM: Fix crash in frame rate vital detection. See #1872

2.6.1 / 2024-02-21

  • [BUGFIX] RUM: Fix missing source in telemetry json schema. See #1865
  • [MAINTENANCE] RUM: Remove stale json schema file. See #1866

2.6.0 / 2024-02-19

  • [FEATURE] RUM\Logs: Report all threads in case of crash. See #1848
  • [BUGFIX] RUM: Make a copy of attributes before passing them to RUM event. See #1830
  • [BUGFIX] Session Replay: Add traversal flag to snapshot items. See #1837
  • [BUGFIX] Drop batch telemetry where duration or age have negative values. See #1850
  • [BUGFIX] RUM: Do not update RUM View global properties after the view is stopped. See #1851
  • [IMPROVEMENT] RUM: Improve vital support for higher refresh rate devices. See #1806
  • [IMPROVEMENT] RUM: Add more HTTP methods to RUM. See #1826
  • [IMPROVEMENT] RUM: Start session when RUM is initialized. See #1832
  • [IMPROVEMENT] RUM: Add new error source types to RUM schema. See #1855
  • [IMPROVEMENT] RUM: Set source_type on native crashes to ndk. See #1856
  • [MAINTENANCE] Next dev iteration 2.6.0. See #1823
  • [MAINTENANCE] Merge release/2.5.0 branch into develop branch. See #1825
  • [MAINTENANCE] Update RUM Schema. See #1828
  • [MAINTENANCE] Merge 2.5.1 into develop. See #1842
  • [MAINTENANCE] Introduce github issue forms. See #1852

2.5.1 / 2024-01-24

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

2.5.0 / 2024-01-15

  • [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 / 2023-12-21

  • [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 / 2023-11-21

  • [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 / 2023-10-04

  • [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 / 2023-09-07

  • [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 / 2023-07-31

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 1.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 / 2023-07-26

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.

Changes in comparison with 2.0.0-beta2:

  • [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 / 2023-07-17

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.

Changes in comparison with 2.0.0-beta1:

  • [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 / 2023-07-11

  • [IMPROVEMENT] RUM: Introduce known file cache and cleanup throttling in BatchFileOrchestrator in order to reduce the number of syscalls. See #1506

2.0.0-beta1 / 2023-07-07

This is the first release of SDK v2. It contains breaking changes related to the SDK setup and APIs. See the migration guide for details.

Functional changes in comparison with 1.19.2:

  • [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

1.19.2 / 2023-06-05

  • [REVERT] RUM: Force new session at SDK initialization. See #1399

1.19.1 / 2023-05-30

  • [IMPROVEMENT] RUM: Force new session at SDK initialization. See #1399
  • [BUGFIX] RUM: Ignore adding custom timings and feature flags for the stopped view. See #1433

1.19.0 / 2023-04-24

  • [FEATURE] RUM: Allow users to stop a RUM session. See #1356
  • [FEATURE] APM: Add tracer sampling rate. See #1393
  • [IMPROVEMENT] Create a minimal WearOS sample to test compatibility. See #1384
  • [BUGFIX] RUM: Fix stopped RUMViewManager from being able to start new views. See #1381
  • [MAINTENANCE] Update RUM Event Schema. See #1383
  • [DOCS] Delete referenced docs and update README. See #1376

1.18.1 / 2023-03-30

  • [IMPROVEMENT] RUM: Remove extra telemetry sent when detecting refresh rate scale. See #1358

1.18.0 / 2023-03-21

  • [FEATURE] RUM: Add addFeatureFlagEvaluation function for RUM. See #1265
  • [FEATURE] RUM: Implement webview proxy for cross platform. See #1290
  • [IMPROVEMENT] RUM: Add support to AP1. See #1268
  • [IMPROVEMENT] RUM ApplicationLaunch logic changes. See #1278
  • [IMPROVEMENT] RUM: Add internal telemetry configuration sampling rate. See #1310
  • [BUGFIX] RUM: Prevent reporting invalid cpu ticks per seconds. See #1308
  • [BUGFIX] RUM: Fix timing of ApplicationLaunch view and application_start events. See #1305
  • [BUGFIX] RUM: Fix telemetry sampling internal configuration for Flutter. See #1326
  • [MAINTENANCE] Make tests more accurate with url case sensitivity. See #1263
  • [MAINTENANCE] Update E2E tests with valid resource (as to not get 404). See #1266
  • [MAINTENANCE] Update RUM Telemetry event schema to latest. See #1319
  • [MAINTENANCE] Stabilize integration tests. See #1329
  • [MAINTENANCE] Update static analysis dependency. See #1342
  • [DOCS] Fix numbering in Android tracing instructions markdown. See #1227
  • [DOCS] Updated privacy controls in application setup. See #1281
  • [DOCS] Add app variant definition in docs. See #1296
  • [DOCS] Add link explaining how to stop collecting geolocation data. See #1327
  • [DOCS] Note about how to stop collecting geolocation data. See #1328

1.17.2 / 2023-03-06

  • [BUGFIX] Global: Handle devices not reported properly their power source. See #1315
  • [BUGFIX] RUM: Detect device's refresh rate with NavigationViewTrackingStrategy. See #1312

1.17.1 / 2023-02-20

  • [BUGFIX] RUM: Revert: Detect device's refresh rate from vital monitor. See #1251
  • [BUGFIX] RUM: The RumEventMapper checks ViewEvents by reference. See #1279
  • [BUGFIX] Global: Remove okhttp3.internal package usage. See #1288

1.17.0 / 2023-01-30

  • [FEATURE] Tracing: Allow the usage of OTel headers in distributed tracing. See #1229
  • [IMPROVEMENT] RUM: Remove cross platform duplicates crashes. See #1215
  • [IMPROVEMENT] RUM: Prevent reporting ANR when app is in background. See #1239
  • [BUGFIX] Use lazy initialization of network-related properties in SampleApplication to be able to pick global first party hosts. See #1218
  • [BUGFIX] Detect device's refresh rate from vital monitor. See #1251
  • [SDK v2] Remove unused PayloadFormat and SdkEndpoint classes from SDK v2 APIs. See #1161
  • [SDK v2] Make a local copy of tags before creating LogEvent. See #1171
  • [SDK v2] Remove duplication of UserInfo and NetworkInfo classes. See #1170
  • [SDK v2] Use message bus to report Java crashes to RUM. See #1173
  • [SDK v2] Add the forceNewBatch option into the FeatureScope. See #1174
  • [SDK v2] Use message bus to report NDK crashes to RUM. See #1177
  • [SDK v2] Remove site property from DatadogContext. See #1181
  • [SDK v2] Delete obsolete feature-specific uploaders. See #1199
  • [SDK v2] Use InternalLogger. See #1200
  • [SDK v2] Remove Companion objects with non-public member from Public API. See #1207
  • [SDK v2] Send logs for Span using message bus. See #1211
  • [SDK v2] RequestFactory can throw exceptions. See #1214
  • [SESSION REPLAY] Fix NPE in ScreenRecorder when wrapping a null window.callback. See #1164
  • [SESSION REPLAY] Handle SR requests through SessionReplayRequestsFactory. See #1176
  • [SESSION REPLAY] Provide SR touch data following the new proposed format. See #1187
  • [SESSION REPLAY] Drop the covered wireframes only if top ones have a background. See #1198
  • [SESSION REPLAY] Fix flaky WireframeUtils test. See #1208
  • [SESSION REPLAY] Add dialogs recording support. See #1206
  • [SESSION REPLAY] RequestFactory allow to throw exceptions. See #1217
  • [SESSION REPLAY] Use case insensitive when checking wireframe background color opacity. See #1223
  • [SESSION REPLAY] Resolve view snapshot background from theme color. See #1230
  • [MAINTENANCE] Merge develop branch into SDK v2 branch. See #1168
  • [MAINTENANCE] Next dev version 1.17.0. See #1190
  • [MAINTENANCE] Upgrade detekt pipeline version. See #1192
  • [MAINTENANCE] Update apiSurface. See #1193
  • [MAINTENANCE] Fix flaky rum_rummonitor_add_background_custom_action_with_outcome nightly test. See #1195
  • [MAINTENANCE] Merge release/1.16.0 branch into develop branch. See #1194
  • [MAINTENANCE] Merge develop branch into SDK v2 branch. See #1196
  • [MAINTENANCE] Fix flaky telemetry test. See #1197
  • [MAINTENANCE] Use latest version of shared pipeline. See #1201
  • [MAINTENANCE] Enable CodeQL analysis. See #1204
  • [MAINTENANCE] Speed up build of sample app for CodeQL scan. See #1221
  • [MAINTENANCE] Merge release 1.16.0 branch into develop. See #1228
  • [MAINTENANCE] Merge develop into SDK v2 branch. See #1224
  • [MAINTENANCE] Gradle 7.6 & AGP 7.4.0. See #1232
  • [MAINTENANCE] Merge SDK v2 branch into develop branch. See #1237
  • [MAINTENANCE] Use custom detekt rule. See #1233

1.16.0 / 2023-01-10

  • [BUGFIX] Global: Use safe context for directBootAware host apps. See #1209
  • [BUGFIX] Global: Provide frozen snapshot of features context when requested. See #1213
  • [IMPROVEMENT] Tracing: Tracing feature stores context in the common context storage. See #1216
  • [IMPROVEMENT] Telemetry: Apply extra sampling rate to the configuration telemetry. See #1222

1.16.0-beta1 / 2022-12-13

  • [FEATURE] Global: Unlock encryption API for SDK v2. See #935
  • [FEATURE] RUM: Add telemetry configuration mapper. See #1142
  • [FEATURE] Logs: Add a logger method to log error information from strings. See #1143
  • [IMPROVEMENT] Global: Ensure thread safety. See #936
  • [IMPROVEMENT] RUM: Use RumFeature#context instead of CoreFeature#contextRef in RumFeature. See #982
  • [IMPROVEMENT] Global: Observe uncaught exception in executors. See #1125
  • [IMPROVEMENT] RUM: Update default values for RUM events. See #1139
  • [IMPROVEMENT] Logs: Add device.architecture to logs. See #1140
  • [BUGFIX] Logs: Make a local copy of tags before creating LogEvent. See #1172
  • [BUGFIX] RUM: Synchronize access to DatadogRumMonitor#rootScope when processing fatal error. See #1186
  • [DOCS] Small Link Nit. See #1028
  • [DOCS] Android Data Collected Edits. See #1059
  • [DOCS] Fix sample in README. See #1141
  • [DOCS] Fix sample code in addAction API. See #1046
  • [DOCS] Fix link to setup facets and measures. See #1179
  • [DOCS] Fix typo in CONTRIBUTING.md. See #1188
  • [SDK v2] Datadog singleton. See #918
  • [SDK v2] Make SDK Features simple classes. See #928
  • [SDK v2] Use TLV format for data storage. See #931
  • [SDK v2] Single Storage. See #932
  • [SDK v2] Create Feature configuration interfaces. See #933
  • [SDK v2] Write batch metadata. See #943
  • [SDK v2] Rework file persistence layer. See #947
  • [SDK v2] SDK v2 upload pipeline. See #956
  • [SDK v2] Data is written in the SDK specific location. See #975
  • [SDK v2] Bring tests back. See #977
  • [SDK v2] Provide core SDK context. See #988
  • [SDK v2] Improvement to the reading batch logic. See #992
  • [SDK v2] Features can store their context in SDK context. See #1036
  • [SDK v2] Use SDK v2 components in the upload pipeline. See #1040
  • [SDK v2] Switch to the SDK v2 storage component. See #1051
  • [SDK v2] Update DatadogCore initialization tests. See #1056
  • [SDK v2] Register V1 features as V2. See #1069
  • [SDK v2] Create storage and uploader outside of the feature. See #1070
  • [SDK v2] Remove DataReader v1 usages. See #1071
  • [SDK v2] Use SDK v2 configuration interfaces for features. See #1079
  • [SDK v2] Simple message bus for cross-feature communication. See #1087
  • [SDK v2] Make Storage#writeCurrentBatch async. See #1094
  • [SDK v2] Use event write context for Logs. See #1103
  • [SDK v2] Use event write context for Traces. See #1106
  • [SDK v2] Use event write context for Session Replay. See #1107
  • [SDK v2] Use event write context in RUM. See #1117
  • [SDK v2] Remove RumEventSourceProvider. See #1119
  • [SDK v2] Use event write context in WebView Logs. See #1121
  • [SDK v2] Make implementations of EventBatchWriter return result instead of using listener. See #1097
  • [SDK v2] Avoid capturing shared state by Event Write Context. See #1126
  • [SDK v2] Move global RUM context into generic feature context storage. See #1146
  • [SDK v2] Improve SDK performance a bit. See #1153
  • [SDK v2] Create implementation of InternalLogger. See #1155
  • [SDK v2] Fix devLogger. See #1156
  • [SDK v2] Prepare merge of SDK v2 branch into develop branch. See #1158
  • [SDK v2] Fix flaky TLV format reader test. See #1166
  • [SDK v2] Improve batch upload wait timeout handling. See #1182
  • [SDK v2] Fix possible crash during the telemetry processing. See #1184
  • [SESSION REPLAY] Setup dd-sdk-android-session-replay module. See #953
  • [SESSION REPLAY] Add Session Replay Public API. See #974
  • [SESSION REPLAY] Add Session Replay Public API tests. See #985
  • [SESSION REPLAY] Generate Session Replay modes based on the JSON schemas. See #986
  • [SESSION REPLAY] Add Session Replay lifecycle callbacks. See #993
  • [SESSION REPLAY] Adapt PokoGenerator and Session Replay models generator to new schemas. See #1002
  • [SESSION REPLAY] Add session replay recorder basic logic. See #1007
  • [SESSION REPLAY] Intercept window touch events as Session Replay TouchData. See #1009
  • [SESSION REPLAY] Processor - process FullSnapshotRecords and dispatch to persister. See #1013
  • [SESSION REPLAY] Process Session Replay touch and orientation change events. See #1014
  • [SESSION REPLAY] SnapshotProcessor - process wireframe mutations. See #1033
  • [SESSION REPLAY] Add the Session Replay MASK_ALL/ALLOW_ALL privacy strategies. See #1035
  • [SESSION REPLAY] Use View hashcode as unique identifier for mapped Wireframe. See #1037
  • [SESSION REPLAY] SnapshotProcessor - do not write anything if there was no mutation detected. See #1038
  • [SESSION REPLAY] Create the Session Replay Writer component. See #1041
  • [SESSION REPLAY] Send hasReplay property for RUM events. See #1054
  • [SESSION REPLAY] Add Session Replay Uploader. See #1063
  • [SESSION REPLAY] Fix the mutation resolver alg based on the Heckels definition. See #1065
  • [SESSION REPLAY] Use RUM timestamp offset when resolving Session Replay timestamp. See #1068
  • [SESSION REPLAY] Correct the way we handle orientation change events in SR. See #1073
  • [SESSION REPLAY] Optimize BaseWireframeMapper#colorAndAlphaAsStringHexa function. See #1077
  • [SESSION REPLAY] Accept optional Typeface when resolving fontStyle. See #1082
  • [SESSION REPLAY] Skip new lines and spaces when obfuscating texts. See #1078
  • [SESSION REPLAY] Correctly handle clipped elements and scrollable lists. See #1101
  • [SESSION REPLAY] Flush buffered motion event positions periodically. See #1108
  • [SESSION REPLAY] Fix source key in SR upload form. See #1109
  • [SESSION REPLAY] Increase the screen snapshot frequency. See #1110
  • [SESSION REPLAY] Start/Stop Session recording based on the RUM session state. See #1122
  • [SESSION REPLAY] Sync SR touch and screen recorders. See #1150
  • [SESSION REPLAY] Correctly resolve ShapeStyle opacity in Wireframes. See #1152
  • [MAINTENANCE] Merge develop into sdkv2 branch. See #978
  • [MAINTENANCE] Add support to Json Schema's oneOf syntax. See #976
  • [MAINTENANCE] Small fix in the PokoGenerator tool. See #989
  • [MAINTENANCE] Use Gradle lazy API more. See #996
  • [MAINTENANCE] Gradle 7.5. See #997
  • [MAINTENANCE] Merge develop branch into SDK v2 branch. See #1034
  • [MAINTENANCE] Merge 1.14.0 release branch into master branch . See #1048
  • [MAINTENANCE] Merge develop into SDK v2 branch. See #1052
  • [MAINTENANCE] Merge release 1.14.1 into master. See #1062
  • [MAINTENANCE] Merge Session Replay branch into SDK v2 branch. See #1075
  • [MAINTENANCE] Merge develop into SDK v2 branch. See #1076
  • [MAINTENANCE] Apply ktlint 0.45.1 rules. See #1086
  • [MAINTENANCE] Move package from AndroidManifest to namespace plugin config property for Session Replay module. See #1095
  • [MAINTENANCE] Merge develop into SDK v2 branch. See #1104
  • [MAINTENANCE] Fix caching of models generation task. See #1111
  • [MAINTENANCE] Fix WireframeUtils flaky tests. See #1113
  • [MAINTENANCE] Fix flaky tests in WireframeUtilsTest. See #1128
  • [MAINTENANCE] Next dev cycle. See #1132
  • [MAINTENANCE] Suppress the deprecation of Bundle#get in nightly test. See #1137
  • [MAINTENANCE] Remove non-existent function in dogfood script. See #1136
  • [MAINTENANCE] Merge release 1.15.0 into develop. See #1135
  • [MAINTENANCE] Merge release 1.15.0 into master. See #1134
  • [MAINTENANCE] Merge develop branch into SDK v2 branch. See #1138
  • [MAINTENANCE] Suppress the deprecation of Bundle#get in nightly test. See #1144
  • [MAINTENANCE] Update telemetry schema. See #1145
  • [MAINTENANCE] Merge develop into SDK v2 branch. See #1147
  • [MAINTENANCE] Add fromJsonElement method to generated models. See #1148
  • [MAINTENANCE] Fix flakiness in DebouncerTest class. See #1151
  • [MAINTENANCE] Fix unit tests flakiness in MutationResolverTest. See #1157
  • [MAINTENANCE] Merge SDK v2 branch into develop branch. See #1159
  • [MAINTENANCE] Add publish task for the Session Replay module. See #1162
  • [MAINTENANCE] Nightly tests improvements. See #1163
  • [MAINTENANCE] Fix some nightly tests flakiness. See #1165
  • [MAINTENANCE] Update telemetry configuration schema. See #1175
  • [MAINTENANCE] Merge master into develop. See #1183
  • [MAINTENANCE] Apply new detekt configuration. See #1180
  • [MAINTENANCE] Fix flaky BroadcastReceiverSystemInfoProvider test. See #1185
  • [MAINTENANCE] Generated code. See #1189

1.15.0 / 2022-11-09

  • [FEATURE] RUM: Add frustration signal 'Error Tap'. See #1006
  • [FEATURE] RUM: Report frustration count on views. See #1030
  • [FEATURE] RUM: Add API to enable/disable tracking of frustration signals. See #1085
  • [FEATURE] RUM: Create internal API for sending technical performance metrics. See #1083
  • [FEATURE] RUM: Configuration Telemetry. See #1118
  • [IMPROVEMENT] Internal: Add internal DNS resolver. See #991
  • [IMPROVEMENT] RUM: Support sending CPU architecture as part of device info. See #1000
  • [IMPROVEMENT] Internal: Add checks on intake request headers. See #1005
  • [IMPROVEMENT] RUM: Enable custom application version support. See #1020
  • [IMPROVEMENT] RUM: Add configuration method to disable action tracking. See #1023
  • [IMPROVEMENT] Global: Minor performance optimization during serialization into JSON format. See #1066
  • [IMPROVEMENT] Global: Editable additional attributes. See #1089
  • [IMPROVEMENT] RUM: Add tracing sampling attribute. See #1092
  • [IMPROVEMENT] RUM: Invert frame time to get js refresh rate. See #1105
  • [IMPROVEMENT] Global: Target Android 13. See #1130
  • [BUGFIX] Internal: Fix buttons overlap in the sample app. See #1004
  • [BUGFIX] Global: Prevent crash on peekBody. See #1080
  • [BUGFIX] Shutdown Kronos clock only after executors. See #1127
  • [DOCS] Android and Android TV Monitoring Formatting Edit. See #966
  • [DOCS] Update statement about default view tracking strategy in the docs. See #1003
  • [DOCS] Android Monitoring Doc Edit. See #1010
  • [DOCS] Adds Secondary Doc Reviewer. See #1011
  • [DOCS] Replace references to iOS classes with correct Android equivalents. See #1012
  • [DOCS] Add setVitalsUpdateFrequency to the doc. See #1015
  • [DOCS] Android Integrated Libraries Update. See #1021
  • [DOCS] Sync Doc Changes From Master to Develop. See #1024
  • [MAINTENANCE] CI: Use a gitlab template for analysis generated files check. See #1016
  • [MAINTENANCE] Update Cmake to 3.22.1. See #1032
  • [MAINTENANCE] Update CODEOWNERS. See #1045
  • [MAINTENANCE] Update AGP to 7.3.0. See #1060
  • [MAINTENANCE] CI: Use KtLint 0.45.1 and dedicated runner image. See #1081
  • [MAINTENANCE] CI: Migrate ktlint CI job to shared gitlab template. See #1084
  • [MAINTENANCE] Update ktlint to 0.47.1. See #1091
  • [MAINTENANCE] Publish SNAPSHOT builds to sonatype on pushes to develop. See #1093
  • [MAINTENANCE] Add version to top level project for nexusPublishing extension. See #1096
  • [MAINTENANCE] Fix import ordering. See #1098
  • [MAINTENANCE] Deprecate DatadogPlugin class and its usage. See #1100
  • [MAINTENANCE] CI: Update .gitlab-ci.yml to use release image for static-analysis job. See #1102
  • [MAINTENANCE] Suppress DatadogPlugin deprecation for instrumented tests. See #1114
  • [MAINTENANCE] Remove Flutter from Dogfooding scripts. See #1120
  • [MAINTENANCE] Fix flaky ANR detection test. See #1123
  • [MAINTENANCE] Android Gradle Plugin 7.3.1. See #1124
  • [MAINTENANCE] Filter out telemetry in the assertions of instrumented RUM tests. See #1131

1.14.1 / 2022-09-27

  • [IMPROVEMENT] Global: Add CPU architecture to the collected device information. See #1000

1.14.0 / 2022-09-20

  • [FEATURE] Global: Collect OS and device information instead of relying on User-Agent header. See #945
  • [IMPROVEMENT] Logs: Add a possibility to define min log level. See #920
  • [IMPROVEMENT] Logs: Add variant tag to events. See #1025
  • [IMPROVEMENT] RUM: Add a method to add extra user properties. See #952 (Thanks @JosephRoskopf)
  • [IMPROVEMENT] RUM: Allow to configure Vitals collection frequency. See #926
  • [IMPROVEMENT] RUM: Improve session management logic. See #948
  • [IMPROVEMENT] RUM: Back navigation is reported with back type. See #980
  • [IMPROVEMENT] RUM: Add a possibility to disable automatic view tracking. See #981
  • [IMPROVEMENT] RUM: Add a possibility to disable automatic interactions tracking. See #1023
  • [IMPROVEMENT] Global: Remove deprecated APIs. See #973

1.13.0 / 2022-06-27

  • [BUGFIX] Core: Prevent a rare race condition in the features folder creation
  • [BUGFIX] RUM: Update Global RUM context when view is stopped
  • [BUGFIX] RUM: Interactions use the window coordinates, and not the screen ones
  • [FEATURE] RUM: Add compatibility with Android TV application (see our dedicated artifact to track TV actions)
  • [FEATURE] Global: Provide an internal observability mechanism
  • [IMPROVEMENT] Global: improve the local LogCat messages from the SDK
  • [IMPROVEMENT] RUM: allow client side sampling for RUM Resource tracing
  • [IMPROVEMENT] RUM: Disable Vitals collection when app's in background
  • [IMPROVEMENT] RUM: Reduce the size of events sent

1.12.0 / 2022-04-11

  • [BUGFIX] Core: Internal attributes coming from cross-platform are removed after being read
  • [BUGFIX] RUM: Ensure Crash report works even when there're no active view #849 (Thanks @emichaux)
  • [BUGFIX] RUM: Span created from network requests stop sending the query params in the resource attribute
  • [BUGFIX] RUM: Ongoing action completes when a new view starts
  • [FEATURE] RUM: Allow tracking browser RUM events from Webviews
  • [FEATURE] RUM: Add support to Jetpack Compose
  • [IMPROVEMENT] Logs: Support adding org.json.JSONObject attributes to Loggers #588 (Thanks @fleficher)
  • [IMPROVEMENT] RUM: Automatically track Activity Intents
  • [IMPROVEMENT] RUM: Collect RUM events during application launch
  • [IMPROVEMENT] RUM: Remove RUM Action automatic filtering
  • [IMPROVEMENT] Global: Prevent 3rd party/system dependency calls from crashing the host application
  • [IMPROVEMENT] Global: Use the cache folder to store batch files

1.11.1 / 2022-01-06

  • [BUGFIX] RUM: Prevent potential crash when targeting Android SDK 31 #709 (Thanks @mattking-chip)

1.11.0 / 2021-12-07

  • [BUGFIX] RUM: Fix Memory Vital downscaled on Android
  • [BUGFIX] RUM: Prevent potential crash in DatadogExceptionHandler #749 (Thanks @ribafish)
  • [BUGFIX] RUM: Prevent potential crash in WindowCallbackWrapper
  • [BUGFIX] RUM: Prevent potential crash NdkCrashReportsPlugin
  • [BUGFIX] RUM: Ensure all crash information are saved
  • [BUGFIX] Global: Prevent crash on init on KitKat devices #678 (Thanks @eduardb)
  • [FEATURE] RUM: Add new Mobile Vitals attributes
  • [FEATURE] RUM: Adds an optional RumSessionListener in the RumMonitor.Builder to know when a session starts, and what its UUID is
  • [FEATURE] Global: Allow user to set a custom proxy for data intake #592 (Thanks @ruXlab)
  • [IMPROVEMENT] RUM: Associate Logs and Traces with RUM Action
  • [IMPROVEMENT] RUM: Tag RUM Resources as native by default (instead of xhr)
  • [IMPROVEMENT] RUM: Sanitize NDK crash stacktraces
  • [IMPROVEMENT] RUM: Enrich RUM Errors with the Throwable's message
  • [IMPROVEMENT] Global: Update the intake request for Datadog's API v2
  • [IMPROVEMENT] Global: Add support to US5 endpoint
  • [IMPROVEMENT] RUM: Prevent Get leaking memory with OkHttp ResponseBody objects
  • [IMPROVEMENT] RUM: Add an action predicate to rename the action target

1.10.0 / 2021-09-02

  • [BUGFIX] Global: Fix crash when using old OkHttp dependency #658 (Thanks @JessicaYeh)
  • [BUGFIX] Global: Prevent retrying endlessly data upload when Client Token is invalid
  • [BUGFIX] Global: Support using DD Android SDK with Java 11
  • [BUGFIX] Global: Support proper serialization of nested maps for custom attributes
  • [BUGFIX] RUM: Ensure all crashes are reported to RUM
  • [FEATURE] APM: Add Data Scrubbing for Spans
  • [FEATURE] RUM: Detect ANR
  • [FEATURE] RUM: Track Memory and CPU usage, as well as views' refresh rate
  • [FEATURE] RUM: Track Actions, Resources and Errors when the application is in background (see Configuration.Builder().trackBackgroundRumEvents(true).build())
  • [FEATURE] RUM: Add data scrubbing for Long Tasks
  • [IMPROVEMENT] RUM: Replace all other or unknown resources with xhr (ensuring end-to-end trace is enabled)
  • [IMPROVEMENT] RUM: Let children events have the proper view.name attribute
  • [IMPROVEMENT] RUM: Keep all custom Action even when a previous action is still active
  • [IMPROVEMENT] Global: Update available endpoints (and match documentation names: US1, US3, US1_FED and EU1)
  • [IMPROVEMENT] Global: All user info should be in usr.*

1.9.0 / 2021-06-07

  • [BUGFIX] APM: Fix network tracing inconsistencies
  • [BUGFIX] APM: Fix span with custom MESSAGE field #522 (Thanks @JessicaYeh)
  • [BUGFIX] Logs: Fix tag name in Timber DatadogTree #483 (Thanks @cfa-eric)
  • [BUGFIX] RUM: Ensure View linked events count is correct when events are discarded
  • [BUGFIX] RUM: Fix Resource network timings
  • [BUGFIX] APM: Fix span logs timestamp conversion
  • [FEATURE] RUM: Detect Long Tasks (tasks blocking the main thread)
  • [FEATURE] RUM: add a callback to enrich RUM Resources created from OkHttp Requests
  • [IMPROVEMENT] RUM: Remove the "Application crash detected" prefix and ensure the message is kept
  • [IMPROVEMENT] RUM: Add warning when a RUM Action is dropped

1.8.1 / 2021-03-04

  • [BUGFIX] RUM/APM: handle correctly known hosts in global configuration and interceptors #513 (Thanks @erawhctim)

1.8.0 / 2021-02-25

  • [BUGFIX] Global: handle correctly incorrect domain names in Interceptors' known hosts
  • [BUGFIX] RUM: RUM Context was bundled in spans even when RUM was not enabled
  • [FEATURE] Global: Allow user to configure the Upload Frequency (see Configuration.Builder().setUploadFrequency(…).build())
  • [FEATURE] Global: Allow user to configure the Batch Size (see Configuration.Builder().setBatchSize(…).build())
  • [FEATURE] RUM: Customize Views' name
  • [FEATURE] RUM: Send NDK Crash related RUM Error
  • [FEATURE] RUM: Track custom timings in RUM Views (see GlobalRum.get().addTiming("<timing_name>"))
  • [FEATURE] RUM: Provide a PII Data Scrubbing feature (see Configuration.Builder().setRum***EventMapper(…).build())
  • [FEATURE] RUM: Send NDK Crash related RUM Error
  • [IMPROVEMENT] APM: Stop duplicating APM errors as RUM errors
  • [IMPROVEMENT] Logs Align the 'error.kind' attribute value with RUM Error 'error.type'
  • [IMPROVEMENT] RUM: Get a more accurate Application loading time
  • [IMPROVEMENT] RUM: Add a variant tag on RUM events

1.7.0 / 2021-01-04

  • [BUGFIX] RUM: fix RUM Error timestamps
  • [BUGFIX] RUM: calling GlobalRum.addAttribute() with a null value would make the application crash
  • [BUGFIX] RUM: Actions created with type Custom where sometimes dropped
  • [FEATURE] Global: Add support for GDPR compliance feature (see Datadog.setTrackingConsent())
  • [FEATURE] Global: Allow setting custom user specific attributes (see Datadog.setUserInfo())
  • [IMPROVEMENT] Crash Report: Handle SIGABRT signal in the NDKCrashReporter
  • [OTHER] Global: Remove deprecated APIs and warn about future deprecations
  • [OTHER] Global: Remove all flavors from sample (allowing to get faster build times)

1.6.1 / 2020-11-13

  • [BUGFIX] Global: Ensure the network status is properly retrieved on startup

1.6.0 / 2020-10-31

  • [BUGFIX] RUM: Extend continuous RUM action scope if Resources are still active
  • [BUGFIX] RUM: Resources are linked with the wrong Action
  • [BUGFIX] Global: Validate the env value passed in the DatadogConfig.Builder
  • [BUGFIX] RUM: prevent trackInterations() from messing with the Application's theme
  • [BUGFIX] Global: Remove unnecessary transitive dependencies from library #396 (Thanks @rashadsookram)
  • [BUGFIX] Global: Prevent a crash in CallbackNetworkProvider
  • [FEATURE] Global: Provide an RxJava integration (dd-sdk-android-rx)
  • [FEATURE] Global: Provide a Coil integration (dd-sdk-android-coil)
  • [FEATURE] Global: Provide a Fresco integration (dd-sdk-android-coil)
  • [FEATURE] Global: Provide a SQLDelight integration (dd-sdk-android-sqldelight)
  • [FEATURE] Global: Provide a Kotlin Coroutines/Flow integration (dd-sdk-android-ktx)
  • [FEATURE] Global: Provide an extension for SQLiteDatabase integration (dd-sdk-android-ktx)
  • [FEATURE] RUM: Add a utility to track various resource loading (RumResourceInputStream)
  • [FEATURE] RUM: Add an extensions to track Android resources and assets as RUM Resources (dd-sdk-android-ktx)
  • [FEATURE] RUM: Add the APM trace information in the RUM Resource
  • [FEATURE] RUM: Track spans with error as RUM Error
  • [IMPROVEMENT] Global: Delay the upload of data in case of network exceptions
  • [IMPROVEMENT] CrashReport: Add application information in crashes

1.5.2 / 2020-09-18

  • [BUGFIX] Global: Prevent a crash when sending data. See #377 (Thanks @ronak-earnin)

1.5.1 / 2020-09-03

  • [BUGFIX] RUM: Make sure the RUM data is sent in applications obfuscated or shrunk with Proguard/R8

1.5.0 / 2020-08-12

  • [FEATURE] RUM: Add a RUM tracking feature:
    • Track User sessions
    • Track Activities or Fragments as Views (or use manual tracing)
    • Track Resources (network requests)
    • Track User interactions (Tap, Scroll, Swipe)
    • Track Errors and crashes
  • [FEATURE] RUM: Add helper Interceptor to track OkHttp requests
  • [FEATURE] RUM: Add helper WebViewClient and WebChromeClient implementations to track WebView resources
  • [FEATURE] RUM: Add helper library to track Glide requests and errors
  • [FEATURE] CrashReport: Add a helper library to detect C/C++ crashes in Android NDK
  • [FEATURE] Global: add a method to clear all local unsent data
  • [BUGFIX] APM: Fix clock skew issue in traced requests
  • [BUGFIX] Logs: Prevent Logcat noise from our SDK when running Robolectric tests
  • [IMPROVEMENT] Global: Enhance the SDK performance and ensure it works properly in a multi-process application
  • [OTHER] Global: The DatadogConfig needs a valid environment name (envName), applied to all features
  • [OTHER] Global: The serviceName by default will use your application's package name
  • [OTHER] Global: The logs and spans sent from the sdk can be found with the filter source:android

1.4.3 / 2020-06-25

  • [IMPROVEMENT] Global: The source tag on logs and trace now uses android instead of mobile

1.4.2 / 2020-06-12

  • [BUGFIX] Global: Fix data upload (some payloads could rarely be malformed)

1.4.1 / 2020-05-06

  • [BUGFIX] Trace: Fix spans intake (some spans could be missing)

1.4.0 / 2020-05-05

  • [FEATURE] Global: Update the SDK initialization code
  • [FEATURE] Global: Add a Kotlin extension module with Kotlin specific integrations
  • [FEATURE] APM: Implement OpenTracing specifications
  • [FEATURE] APM: Add helper methods to attach an error to a span
  • [FEATURE] APM: Add helper Interceptor to trace OkHttp requests
  • [FEATURE] Logs: Add sampling option in the Logger
  • [IMPROVEMENT] Logs: Make the log operations thread safe
  • [BUGFIX] Logs: Fix rare crash on upload requests
  • [BUGFIX] Global: Prevent OutOfMemory crash on upload. See #164 (Thanks @alparp27)

1.3.1 / 2020-04-30

Changes

  • [BUGFIX] Fix ConcurrentModificationException crash in the FileReader class. See #234 (Thanks @alparp27)

1.3.0 / 2020-03-02

Changes

  • [FEATURE] Logs: Add the caller class name as a tag in the LogcatLogHandler (only when app is in Debug)
  • [FEATURE] Logs: Allow adding a JsonElement as Attribute
  • [FEATURE] CrashReport: Let Crash logs use the EMERGENCY log level
  • [FEATURE] Global: Warn developers on SDK errors in the Logcat (cf Datadog.setVerbosity())
  • [FEATURE] Global: Expose the Datadog.isInitialized() method to the public API
  • [OTHER] Deprecate the Datadog.switchEndpoint() method
  • [OTHER] Fail silently when the SDK is not initialized

1.2.2 / 2020-02-26

Changes

1.2.1 / 2020-02-19

Changes

  • [BUGFIX] Fix invalid dependency version in dd-sdk-android-timber. See #138 (Thanks @mduong)

1.2.0 / 2020-01-20

Changes

  • [BUGFIX] Fail silently when trying to initialize the SDK twice. See #86 (Thanks @Vavassor)
  • [BUGFIX] Publish the Timber artifact automatically. See #90 (Thanks @Macarse)
  • [FEATURE] Create a Crash Handler : App crashes will be automatically logged.
  • [FEATURE] Downgrade OkHttp4 to OkHttp3
  • [FEATURE] Make Library compatible with API 19+
  • [FEATURE] Trigger background upload when the app is used offline
  • [FEATURE] Use DownloadSpeed and signal strength to add info on connectivity
  • [FEATURE] Use Gzip for log upload requests
  • [OTHER] Analyse Benchmark reports in the CI
  • [OTHER] Fix the flaky test in DataDogTimeProviderTest
  • [OTHER] Generate a report on the SDK API changes (dd-sdk-android/apiSurface)

1.1.1 / 2020-01-07

Changes

  • [BUGFIX] Fix crash on Android Lollipop and Nougat

1.1.0 / 2020-01-06

Changes

  • [BUGFIX] Make the packageVersion field optional in the SDK initialisation
  • [BUGFIX] Fix timestamp formatting in logs
  • [FEATURE] Add a developer targeted logger
  • [FEATURE] Add user info in logs
  • [FEATURE] Create automatic Tags / Attribute (app / sdk version)
  • [FEATURE] Integrate SDK with Timber
  • [IMPROVEMENT] Remove the obfuscation in the logs (faster local processing)
  • [IMPROVEMENT] Implement a modern NetworkInfoProvider

1.0.0 / 2019-12-17

Changes

  • [BUGFIX] Make sure no logs are lost
  • [FEATURE] Allow adding a throwable to logged messages
  • [FEATURE] Automatically add the Logger name and thread to the logged messages
  • [FEATURE] Allow Changing the endpoint between US and EU servers
  • [FEATURE] Allow logger to add attributes for a single log
  • [IMPROVEMENT] Remove the usage of the Android WorkManager
  • [IMPROVEMENT] Improved overall performances
  • [IMPROVEMENT] Disable background job when network or battery are low
  • [OTHER] Secure the project with lints, tests and benchmarks