Skip to content

Latest commit

 

History

History
1881 lines (1679 loc) · 190 KB

File metadata and controls

1881 lines (1679 loc) · 190 KB

3.8.0 / 2026-03-18

  • [FEATURE] Support interstitial Activities case for TTID reporting:
    • Add predicate to filter Activities for TTID reporting. See #3173
    • Auto-forward TTID to next activity for interstitial pattern. See #3199
  • [FEATURE] Capture OkHttp network headers. See #3204
  • [BUGFIX] Fix RecorderWindowCallback crash on null menu parameter. See #3239
  • [BUGFIX] Use variant key instead of value in RUM feature flag tracking. See #3245
  • [BUGFIX] Update Proguard rules for GlobalDatadogTracer. See #3251
  • [BUGFIX] Fix memory corruption in NDK module. See #3257
  • [BUGFIX] Fix stale state context mismatch. See #3224
  • [BUGFIX] Fix duplicate spans. See #3267
  • [IMPROVEMENT] Telemetry support for Cronet integration. See #3210
  • [IMPROVEMENT] Remove PII from WebView event error logging. See #3250
  • [IMPROVEMENT] Exempt telemetry configuration event from the session event count limit. See #3248
  • [IMPROVEMENT] Propagate trace and session replay sample rates to RUM ViewEvents. See #3247
  • [IMPROVEMENT] Reduce .so file size. See #3190
  • [IMPROVEMENT] Implement deterministic RUM session sampling. See #3264
  • [IMPROVEMENT] Downgrade androidx-core to 1.15.0 in order to preserve Android compileSdk 35 compatibility. See #3266
  • [IMPROVEMENT] Update profiling telemetry with more data. See #3240
  • [IMPROVEMENT] Use schema defined in rum-events-format to generate ProfileEvent. See #3268
  • [MAINTENANCE] Fix self-referential test assertions in serialization round-trip tests. See #3242
  • [MAINTENANCE] Fix flaky AppStartupActivityPredicateTest. See #3218
  • [MAINTENANCE] Migrate to unified InternalLoggerUtils. See #3241
  • [MAINTENANCE] Add Claude skill: android-sdk-event-inspection. See #3220
  • [MAINTENANCE] Add basic AI dev tooling. See #3243
  • [MAINTENANCE] Add Play SDK console verification token to new modules. See #3217
  • [MAINTENANCE] Only exclude files inside the repo. See #3246
  • [MAINTENANCE] Remove :tools:benchmark module from sample app dependencies. See #3253
  • [MAINTENANCE] Add Datadog code coverage upload. See #3255
  • [MAINTENANCE] Add TODO for getResourceName inconsistency. See #3252
  • [MAINTENANCE] Remove FQCN usage. See #3261
  • [MAINTENANCE] Relax offset for floating point numbers assertions. See #3262
  • [MAINTENANCE] Avoid logging test assumptions failures to stderr. See #3263
  • [MAINTENANCE] Update Gradle to version 9.4.0. See #3258
  • [MAINTENANCE] Remove deprecation suppression from Path.computeBounds call site. See #3265

3.7.1 / 2026-03-05

  • [BUGFIX] Deprecated classes restored to preserve backward compatibility. See #3215

3.7.0 / 2026-03-03

  • [FEATURE] APM support for Cronet instrumentation:
    • Support for RUM <> APM integration for Cronet. See #3136
    • Support for APM instrumentation on network layer for Cronet. See #3171
  • [FEATURE] Feature Flags Evaluation Logging:
    • Event Schema & Data Models. See #3144
    • Storage & Network Infrastructure. See #3146
    • Aggregation Engine & Test Utilities. See #3145
    • Integration. See #3147
    • Flag evaluation schema. See #3166
    • Evaluations subfeature. See #3159
    • Evaluation aggregation followup. See #3178
    • Use time-based periodic flush instead of cancel+reschedule. See #3189
  • [BUGFIX] Fix missing feature flags in crash and ANR error events. See #3172
  • [BUGFIX] Fix global attributes not copied when view stops. See #3177
  • [BUGFIX] Fix evaluations feature startup deadlock. See #3186
  • [BUGFIX] Fix typo in the CPU metric name of RUM Debug widget. See #3188
  • [BUGFIX] Fix missing error tracking in resolve() API. See #3187
  • [BUGFIX] Address ConcurrentModificationException in the RUM pipeline. See #3196
  • [BUGFIX] Fix more concurrency issues. See #3197
  • [IMPROVEMENT] Support custom view instrumentation types for cross-platform SDKs. See #3167
  • [IMPROVEMENT] Use read lock for removeListener. See #3132
  • [IMPROVEMENT] Add Profiling start reason for synthetics test. See #3160
  • [IMPROVEMENT] Fix stopResourceWithError overloads to use getEventTime(attributes). See #3155
  • [IMPROVEMENT] Include SDK name/version for flag config requests. See #3162
  • [IMPROVEMENT] Remove KeepAlive event in RUM. See #3079
  • [IMPROVEMENT] Improve InsightsCollector.kt methods signatures. See #3207
  • [IMPROVEMENT] Add GraphQL errors support for cross-platform SDKs. See #3201
  • [IMPROVEMENT] Lower LayoutNodeUtils telemetry to warning with call site information. See #3208
  • [IMPROVEMENT] Add totalRam, logicalCpuCount and isLowRam to DeviceInfo. See #3024
  • [IMPROVEMENT] Update RUM schema. See #3193
  • [IMPROVEMENT] Avoid blocking context call at the Flags feature initialization. See #3194
  • [IMPROVEMENT] Address a warning about ConcurrentHashMap parametrized with nullable value type. See #3195
  • [IMPROVEMENT] Improve ANR detector runnable. See #3192
  • [IMPROVEMENT] Close precomputed assignments response body. See #3198
  • [MAINTENANCE] Fix NPE in TracingInterceptor tests. See #3181
  • [MAINTENANCE] Redirect TraceStructureWriter default output from stderr to stdout. See #3191
  • [MAINTENANCE] Fix JSON model generation task caching. See #3179
  • [MAINTENANCE] Use develop build cache as a fallback in Gitlab CI jobs. See #3140
  • [MAINTENANCE] Make ViewLoadingTimeMetrics tests deterministic and faster with controlled time. See #3154
  • [MAINTENANCE] Configure JUnit test tasks to log FAILED and STANDARD_ERROR events. See #3163
  • [MAINTENANCE] Migrate from slack-notifier v1 to v3-sdm. See #3165
  • [MAINTENANCE] Update dependencies plugin to version 0.5.0. See #3170
  • [MAINTENANCE] Bump Datadog gradle plugin to 1.23.0. See #3176
  • [MAINTENANCE] Merge evaluations into develop. See #3183
  • [MAINTENANCE] Add detekt-cli jar to .gitignore. See #3185

3.6.0 / 2026-01-27

  • [FEATURE] New feature - Profiling. See docs for more details.
    • Create profiling module. See #2893
    • Integrate Perfetto ProfilingManager API. See #2902
    • Create Profiling Event schema. See #2912
    • Implement Profiling writer and request factory. See #2915
    • Implement Profiling Feature. See #2918
    • Send TTID event to Profiling feature to stop profiling. See #2933
    • Defer requestProfiling to next app launch. See #2950
    • Add file size in profiling telemetry & fix unit test. See #2964
    • Rename ProfilingEvent to ProfileEvent. See #2969
    • Add missing ProfileEvent tags. See #2992
    • Attach RUM information on profiling event. See #3017
    • Add profiling status in RUM vital event. See #3021
    • Handle multi SDK instance in profiling. See #3026
    • Fix RUM context bundling for ProfileEvent. See #3036
    • Reduce Profiling max duration to 10 seconds. See #3040
    • Add build ID in profiling event tags. See #3046
    • Add Profiling.profileNextAppStartup API. See #3045
    • Fix null build ID in profile event tags. See #3059=
    • Add ProfilingFragment into Sample Application. See #3074
    • Rebuild profiling request for every profiling start. See #3076
    • Initialize Profiler only once for multiple start calls. See #3081
    • Expose Profiling start/stop as public API. See #3092
    • Address concurrency and app start detection issues in Profiling. See #3117
    • Remove profileNextAppStartup API. See #3121
    • Add sample rate for App launch profiling. See #3109
    • Set profiling sampling rate to 15%, improve profiling logic. See #3127
    • Add operation:launch tag for profiling. See #3133
    • Update Profiling App launch telemetry. See #3134
    • Add experimental annotation on Profiling APIs & Bug fix. See #3143
    • Update Profiler sampling frequency to 201Hz. See #3148
    • Remove custom profiling from public API. See #3152
  • [FEATURE] Flags compatibility with OpenFeature
    • Scaffold OpenFeature provider module. See #2996
    • Add OpenFeature type conversion utilities. See #3103
    • OpenFeature Provider implementation powered by Datadog Flags. See #2998
    • Add OpenFeature Flags to test app. See #3130
  • [BUGFIX] Mark fatal ANR as processed before RUM events are written. See #3129
  • [IMPROVEMENT] Flags: State change notification for flags client (for OpenFeature). See #3042
  • [IMPROVEMENT] Flags: Resolve map of primitives. See #3044
  • [IMPROVEMENT] Flags: Add support for global flags via EvaluationContext.EMPTY. See #3104
  • [IMPROVEMENT] Flags: Add STATIC resolution reason. See #3131
  • [IMPROVEMENT] Add setVersion method to the configuration. See #3137
  • [MAINTENANCE] Update Kotlin AST parser dependency version. See #3112
  • [MAINTENANCE] Skip profiling schema files in session replay module. See #3119
  • [MAINTENANCE] Refactor publishing on CI to use a single job. See #3122
  • [MAINTENANCE] Use a single gradle command for customDetektRules. See #3123
  • [MAINTENANCE] Drop Rum prefix for the generated Vital models. See #3125
  • [MAINTENANCE] Move :tools:benchmark tests to the correct package. See #3150
  • [DOCS] Use Kotlin DSL for buildscript snippets in README files. See #3138

3.5.0 / 2026-01-08

  • [FEATURE] RUM Debug Widget. See #2943
  • [FEATURE] Cronet integration module and sample app support. See #2999
  • [FEATURE] RUM support for Cronet. See #3029
  • [FEATURE] RUM Resources instrumentation support for Cronet network library. See #3062
  • [FEATURE] Add Coil3 Integration. See #3054
  • [FEATURE] Support process_uptime attribute for telemetry debug/error events. See #3013
  • [FEATURE] Introduce vitalAppLaunchEventMapper. See #2987
  • [FEATURE] Add callback support to setEvaluationContext method. See #3056
  • [FEATURE] FlagsClient changes to accommodate Flags React Native SDK sync flag evaluations. See #3049
  • [FEATURE] Enable UI slow frames by default. See #3102
  • [BUGFIX] Do not send TTID and TTFD vitals if they are too large. See #3031
  • [BUGFIX] Fix service handling in ddtags of LogEvent. See #3052
  • [BUGFIX] Fall back to DdRumContentProvider creation time. See #3055
  • [BUGFIX] Fix Compose checkbox not sending RUM action. See #3077
  • [BUGFIX] Handle ANR trace open exception. See #3082
  • [BUGFIX] Fix issue with OnWindowFocusChanged. See #3083
  • [BUGFIX] Fix: set currentState in a blocking call. See #3068
  • [BUGFIX] Avoid querying battery during initialization. See #3099
  • [IMPROVEMENT] Move RUM Debug Widget code from RUM module to a new separate module. See #2960
  • [IMPROVEMENT] Refactor the configuration and integration of the RUM Debug Widget. See #2975
  • [IMPROVEMENT] Add light theme colors to the RUM Debug Widget. See #3037
  • [IMPROVEMENT] Put Request tag with UUID in DatadogInterceptor. See #3086
  • [IMPROVEMENT] Add IDs to errors and long tasks. See #3073
  • [IMPROVEMENT] Increase gap threshold for app launch scenario detection heuristic. See #3105
  • [IMPROVEMENT] Replace System static calls with TimeProvider. See #3011
  • [IMPROVEMENT] Add telemetry to track WebView instrumentation usage. See #3087
  • [IMPROVEMENT] Handle RumVitalAppLaunchEvent by default. See #3067
  • [IMPROVEMENT] Correct the deprecation message of setVitalEventMapper. See #3100
  • [IMPROVEMENT] Move HttpSpec, RequestInfo/ResponseInfo into internal module. See #3064
  • [IMPROVEMENT] Remove JVM assert usage. See #3061
  • [IMPROVEMENT] Generate Kotlin metadata ABI and JVM bytecode versions. See #3088
  • [MAINTENANCE] Fix GitLab CI Pipeline. See #2948
  • [MAINTENANCE] Add tests to core RUM Debug Widget components. See #2971
  • [MAINTENANCE] Update Gradle version to 8.14.3, AGP version to 8.13.2. See #3089
  • [MAINTENANCE] Update Datadog Gradle Plugin version used to 1.21.0. See #3090
  • [MAINTENANCE] Bump CodeQL version to 3.31.9. See #3084
  • [MAINTENANCE] Add scripts to set/get Vault secrets & Migrate CI. See #2974
  • [MAINTENANCE] Use Gradle lazy APIs in build script files. See #3106
  • [MAINTENANCE] Remove ApiLevelExtension. See #3095
  • [MAINTENANCE] Add PreferTimeProvider detekt rule. See #3096
  • [MAINTENANCE] Remove unused FileOrchestrator.getRootDirName API. See #3108
  • [MAINTENANCE] Refactoring of RUM schema cloning and parser generation tasks. See #3094
  • [MAINTENANCE] Update command line tools version. See #3078
  • [MAINTENANCE] Remove consumer ProGuard rules definition from buildscript of dd-sdk-android-trace-internal. See #3091

3.4.0 / 2025-12-11

  • [FEATURE] State change notification for flags client. See #3025
  • [BUGFIX] Fix crash in KronosTimeProvider. See #3014
  • [BUGFIX] Fix RUM resource duration breakdown. See #3010
  • [BUGFIX] Handle potential StackOverflowError. See #2990
  • [IMPROVEMENT] Send text truncation mode in Session Replay. See #2978
  • [IMPROVEMENT] Support svgs with navigation3. See #3027
  • [IMPROVEMENT] Support content scaling in Jetpack Compose. See #3035
  • [IMPROVEMENT] Support non-ASCII GraphQL headers. See #3041
  • [IMPROVEMENT] Add service name to ddtags of LogEvent. See #3006
  • [IMPROVEMENT] Add versionCode and buildId in more places. See #3007
  • [IMPROVEMENT] Add anonymousId to the empty UserInfo object check. See #3012
  • [IMPROVEMENT] Override Metrics telemetry sample rate. See #3022
  • [IMPROVEMENT] Stop using process importance when distinguishing between cold and warm launches. See #3030
  • [MAINTENANCE] Merge release/3.3.0 into develop. See #3016
  • [MAINTENANCE] Remove resolveMeta & resolveMetrics methods in tests. See #3005
  • [MAINTENANCE] Revive Session Replay instrumentation tests. See #2965
  • [MAINTENANCE] Next dev iteration. See #3009

3.3.0 / 2025-11-18

  • [FEATURE] Feature flags. See #2982 and #2879
  • [FEATURE] Feature flags: Apply readme suggestions. See #2988
  • [FEATURE] Feature flags: Fix detekt violations in the flags module. See #2994
  • [FEATURE] Feature flags context management. See #2886
  • [FEATURE] Feature flags: Send exposures as batches. See #2895
  • [FEATURE] Feature flags: Add a persistence layer. See #2898
  • [FEATURE] Feature flags: DatadogSite extension for Flags endpoint. See #2922
  • [FEATURE] Feature flags: Flags.enable and FlagsClient APIs. See #2900
  • [FEATURE] Feature flags: Support custom endpoints for exposures. See #2942
  • [FEATURE] Feature flags: Custom flagging endpoint and assignment download refactoring. See #2917
  • [FEATURE] Feature flags: RUM Evaluation Tracking. See #2926
  • [FEATURE] Feature flags: Add CountDownLatch to FlagsRepository. See #2947
  • [FEATURE] Feature flags: Add telemetry for critical paths. See #2952
  • [FEATURE] Feature flags: Generic resolve method. See #2923
  • [FEATURE] Feature flags: Generate ExposureEvent from schema. See #2957
  • [FEATURE] Feature flags: Remove redundant featureflags subpackage. See #2966
  • [FEATURE] Feature flags: Support for PROVIDER_NOT_READY state. See #2967
  • [FEATURE] Feature flags: Graceful mode and error logging policies. See #2963
  • [FEATURE] Feature flags: Update documentation. See #2955
  • [FEATURE] Feature flags: Allow blank targeting keys. See #2981
  • [BUGFIX] Fix GraphQL operation type header. See #2956
  • [BUGFIX] Fix synthetic ids logging in RumViewScope. See #2958
  • [BUGFIX] Fix RumWindowCallbacksRegistry for multiple SDK instances. See #3003
  • [BUGFIX] Fix vital events duplication in Feature Operations. See #2977
  • [IMPROVEMENT] Support sending anonymous user ids in logs. See #2945
  • [IMPROVEMENT] Feature flags: Fix and improve tests, context management. See #2896
  • [IMPROVEMENT] Refactor FlagsProvider and FlagsClient into one. See #2899
  • [IMPROVEMENT] Support long task reporting for multiple SDK instances. See #2934
  • [IMPROVEMENT] MIGRATION.MD update for missing SDK v3 changes. See #2936
  • [IMPROVEMENT] Update RUM Schema to include app launch vitals. See #2937
  • [IMPROVEMENT] Trace: Handle OTEL reserved attributes when using AttributeKeys. See #2946
  • [IMPROVEMENT] Use stub Executor for WorkerParameters forgery factory. See #2949
  • [IMPROVEMENT] Do not create a new session for TTID. See #2954
  • [IMPROVEMENT] Add support of oneOf(primitive|object) in the json parser generator. See #2972
  • [IMPROVEMENT] Pass synthetic ids to RUM earlier in benchmark app. See #2959
  • [IMPROVEMENT] Update RUM schema. See #2976
  • [IMPROVEMENT] Updating MIGRATION.MD with the default sampling rate. See #2995
  • [IMPROVEMENT] Add internal disableJankStats config option. See #3000
  • [MAINTENANCE] Provide SDK commit SHA1 to the Shopist App. See #2993
  • [MAINTENANCE] Fix detekt issues. See #2885
  • [MAINTENANCE] Remove unused isConstantClass variable. See #2984

3.2.0 / 2025-10-13

  • [FEATURE] Support Apollo GraphQL. See #2845
  • [FEATURE] Trace: Account ID and User ID propagation support via baggage header. See #2911
  • [FEATURE] TTID (Time To Initial Display) reporting support. See #2921
  • [BUGFIX] Fix tags which were missing in Vital event reported for Feature Operations. See #2928
  • [BUGFIX] Fix RUM sessionId which was missing for automatic HTTP tracing via baggage header. See #2904
  • [IMPROVEMENT] Move session properties to ddtags over query parameters. See #2866
  • [IMPROVEMENT] Trace: Support baggage header updates. See #2881
  • [IMPROVEMENT] Mute some Compose Reflection telemetry errors in Session Replay. See #2901
  • [IMPROVEMENT] RUM: Set initialized flag to false when stop RumFeature. See #2903
  • [IMPROVEMENT] RUM: Update doc of addViewLoadingTime. See #2909
  • [IMPROVEMENT] Minor code improvements. See #2913
  • [IMPROVEMENT] Session Replay: Extend resource handling to support multiple MIME types. See #2914
  • [MAINTENANCE] Add libs.versions.toml in GenerateTransitiveDependenciesTask as input. See #2905
  • [MAINTENANCE] Move TimeProvider into dd-sdk-android-internal. See #2906
  • [MAINTENANCE] Bump dd-trace-java version to 1.54.0. See #2916
  • [MAINTENANCE] Enhancing check last release script. See #2927

3.1.0 / 2025-09-18

  • [FEATURE] RUM: Feature Operations public API. See #2814
  • [FEATURE] RUM: Feature Operations DTO schema integration. See #2816
  • [FEATURE] RUM: Feature Operations user debug logs support. See #2819
  • [FEATURE] RUM: Feature Operations usage telemetry support. See #2818
  • [FEATURE] RUM: Feature Operations parameters validation support. See #2835
  • [FEATURE] RUM: Feature Operations background processing support. See #2887
  • [FEATURE] RUM: Feature Operations synthetics attribute support. See #2888
  • [IMPROVEMENT] RUM: Feature Operations Fix RumVitalEvent serialization logic. See #2828
  • [IMPROVEMENT] Refactor the vitals screen in the sample application. See #2820
  • [IMPROVEMENT] Add feature operation block to the VitalsFragment. See #2821
  • [IMPROVEMENT] RUM: Replace RumVitalEvent with VitalEvent. See #2831
  • [IMPROVEMENT] RUM: Fix the feature context in the telemetry. See #2857
  • [IMPROVEMENT] Use single source of truth for os and device properties definitions for Logs and Traces. See #2859
  • [IMPROVEMENT] Safe serialization of account.extraInfo. See #2862
  • [IMPROVEMENT] Update MIGRATION.MD. See #2858
  • [IMPROVEMENT] Fix for VitalEvent date. See #2875
  • [IMPROVEMENT] Make AndroidMDrawableToColorMapper and AndroidQDrawableToColorMapper internal. See #2873
  • [IMPROVEMENT] Trace: Add @JvmStatic to kotlin objects for cleaner interop with Java language. See #2876
  • [IMPROVEMENT] RUM: Check for result of activity.intent. See #2877
  • [IMPROVEMENT] Add documentation to the public API members where missing. See #2880
  • [MAINTENANCE] Change the order of executors shutdown in drainAndShutdownExecutors to fix flaky integration tests. See #2884
  • [MAINTENANCE] Bump dd-trace-java version to 1.53.0. See #2860
  • [MAINTENANCE] Split detekt custom rules to handle code point limit. See #2863
  • [MAINTENANCE] Update Node version. See #2864
  • [MAINTENANCE] Fix link to CONTRIBUTING doc from PR template. See #2869
  • [MAINTENANCE] Update CONTRIBUTING doc with new modules. See #2870
  • [MAINTENANCE] Bump language and API versions to 1.8. See #2865

3.0.0 / 2025-09-04

This is the first official production version of SDK v3 containing the new architecture for tracing feature. See the migration guide for details.

  • [FEATURE] RUM: Create view attributes update methods. See #2655
  • [IMPROVEMENT] Trace: Using 100% instead of 20% for the default network tracing sampling rate. Using SAMPLED instead of ALL as the default TraceContextInjection strategy. See #2542
  • [IMPROVEMENT] Trace: Using session consistent trace sampling. See #2544
  • [IMPROVEMENT] Core: Resolve batch file only during the actual write call. See #2619
  • [IMPROVEMENT] Remove forceNewBatch API. See #2621
  • [IMPROVEMENT] Core: Resolve file orchestrator for write operation from DatadogContext. See #2624
  • [IMPROVEMENT] Introduce event processing thread. See #2631
  • [IMPROVEMENT] Core: Push context changes from public API to the context thread. See #2635
  • [IMPROVEMENT] Core: Make getDatadogContext read on the context thread. See #2645
  • [IMPROVEMENT] RUM: Update RUM feature context only after event processing completion. See #2650
  • [IMPROVEMENT] RUM: Align attribute propagation mechanism. See #2654
  • [IMPROVEMENT] Trace: Perform lazy capture of DatadogContext at the span creation. See #2662
  • [IMPROVEMENT] Trace: Remove deprecated DatadogInterceptor constructors. See #2665
  • [IMPROVEMENT] Read RUM context in Session Replay in non-blocking manner. See #2666
  • [IMPROVEMENT] RUM: Propagate has_replay flag to RumContext object. See #2668
  • [IMPROVEMENT] RUM: Remove deprecated startResource. See #2671
  • [IMPROVEMENT] RUM: Remove deprecated userInfo methods. See #2672
  • [IMPROVEMENT] Custom endpoint URL are taken as is. See #2685
  • [IMPROVEMENT] Logs: Don't send fatal errors to Logs, only send them to RUM. See #2675
  • [IMPROVEMENT] Process feature context on the context thread. See #2704
  • [IMPROVEMENT] Read feature context only when explicitly requested by the caller. See #2716
  • [IMPROVEMENT] Avoid polling for RumContext in VitalReaderRunnable. See #2728
  • [IMPROVEMENT] Remove feature name argument from APIs to set/remove feature context update listener. See #2729
  • [IMPROVEMENT] Core: Mark CoreFeature properties used to create DatadogContext as volatile. See #2738
  • [IMPROVEMENT] Core: Handle the case when DatadogContext is requested when SDK is getting deinitialized. See #2740
  • [IMPROVEMENT] Core: Monitor backpressure of context executor. See #2745
  • [IMPROVEMENT] Core: Remove default value for the addAccountExtraInfo call. See #2759
  • [IMPROVEMENT] RUM: Make attributes argument optional in the event-related methods of RUM monitor. See #2760
  • [IMPROVEMENT] Trace: Remove OpenTracing dependencies . See #2783
  • [IMPROVEMENT] Trace: Update OpenTelemetry version. See #2786
  • [IMPROVEMENT] Trace: Isolate implementation layer from integration modules. See #2773
  • [IMPROVEMENT] Properties referencing support. See #2793
  • [IMPROVEMENT] Use common-schema for common object generation. See #2794
  • [IMPROVEMENT] Move session properties to ddtags over query parameters. See #2812
  • [IMPROVEMENT] Trace: TracingInterceptor migration from OpenTracing to internal implementation. See #2708
  • [IMPROVEMENT] Update Session Replay batch max age to 5h. See #2842
  • [IMPROVEMENT] Core: Fix clearUserInfo API by adapting it to the context queue. See #2847
  • [MAINTENANCE] Fix flaky DatadogRumMonitor tests. See #2663
  • [MAINTENANCE] Minor cleanup. See #2669
  • [MAINTENANCE] Update sample to use non-null user id. See #2682
  • [MAINTENANCE] Bump Kotlin version used to 2.0.21. See #2766
  • [MAINTENANCE] Bump minSdk version to 23. See #2844

2.26.2 / 2025-10-09

  • [IMPROVEMENT] Extend resource handling to support multiple MIME types in RN. See #2914

2.26.1 / 2025-09-11

  • [BUGFIX] RUM: Move session properties to ddtags over query parameters. See #2812

2.26.0 / 2025-08-27

  • [FEATURE] RUM: Add battery and display attributes. See #2815
  • [FEATURE] RUM: Implement Navigation 3 view tracking side effect. See #2830
  • [FEATURE] RUM: Make Navigation 3 tracking listen to lifecycle. See #2832
  • [IMPROVEMENT] Session Replay: DrawableUtils performance improvement. See #2808
  • [IMPROVEMENT] RUM: Make accessibility send only mutations. See #2806
  • [IMPROVEMENT] RUM: Create Navigation 3 demo screen in sample app. See #2825
  • [IMPROVEMENT] Move OkHttp client initialization to background thread. See #2829
  • [MAINTENANCE] Add Github action to close stale issues. See #2826
  • [MAINTENANCE] Add a schedule for the stale issues Github action. See #2827
  • [MAINTENANCE] Remove outdated experimental annotations. See #2833
  • [MAINTENANCE] Remove generation of models from internal schemas for RUM. See #2834
  • [MAINTENANCE] Some additional accessibility test coverage. See #2823

2.25.0 / 2025-07-28

  • [FEATURE] RUM: Collect Locale attributes. See #2797
  • [FEATURE] RUM: Add accessibility attributes. See #2787
  • [BUGFIX] Fix WindowCallbackWrapper NPE. See #2800
  • [MAINTENANCE] Fix release checking script. See #2799
  • [MAINTENANCE] Next dev iteration. See #2789
  • [MAINTENANCE] Merge release/2.24.0 branch into develop branch. See #2792
  • [MAINTENANCE] Update RUM schema. See #2795

2.24.0 / 2025-07-16

  • [FEATURE] Add Clear User Info API. See #2768
  • [BUGFIX] Shallow copy node wireframes before iterating in NodeFlattener. See #2736
  • [BUGFIX] Fix Session Replay NPE when getting TextView padding. See #2784
  • [IMPROVEMENT] Stop posting recorded data item from main thread. See #2763
  • [IMPROVEMENT] Stop telemetry for Compose CheckBox and RadioButton. See #2775
  • [IMPROVEMENT] Introduce _RumInternalProxy.setRumSessionTypeOverride. See #2776
  • [IMPROVEMENT] Add updateExternalRefreshRate to internal RUM API. See #2772
  • [MAINTENANCE] Next dev iteration. See #2752
  • [MAINTENANCE] Merge release/2.23.0 branch into develop branch. See #2755
  • [MAINTENANCE] Remove non-existent Gitlab file reference. See #2753
  • [MAINTENANCE] Remove workaround when checking dd-sdk-android-benchmark-internal is published. See #2758
  • [MAINTENANCE] Add DDOCTOSTS_ID_TOKEN to dogfood-app and dogfood-demo. See #2757
  • [MAINTENANCE] Update CONTRIBUTING doc with missing modules. See #2762
  • [MAINTENANCE] Update base Docker image to Jammy. See #2761
  • [MAINTENANCE] Update docker image used in ci-image job. See #2764
  • [MAINTENANCE] Use Datadog Gradle Plugin version 1.18.0. See #2769
  • [MAINTENANCE] Migrate publishing from OSSRH to Central Publisher portal. See #2770
  • [MAINTENANCE] Close Sonatype staging repo after publishing. See #2774
  • [MAINTENANCE] Run unit tests from samples folder and for tools:benchmark module. See #2777
  • [MAINTENANCE] Update gradle-dependency-license plugin to version 0.4.0. See #2788

2.23.0 / 2025-06-23

  • [FEATURE] Global: Add public APIs for set account information. See #2694
  • [FEATURE] Global: Add AccountInfo data class and provider. See #2696
  • [FEATURE] Global: Add AccountInfo into CoreFeature and DatadogContext. See #2702
  • [FEATURE] RUM: Add account information into RUM events. See #2706
  • [FEATURE] Logs: Add Account Information in Logs. See #2710
  • [FEATURE] Traces: Add account information in Trace. See #2709
  • [FEATURE] Global: Add AP2 datacenter support. See #2734
  • [BUGFIX] RUM: Report resource with size 0. See #2688
  • [BUGFIX] Session Replay: Fix NullPointerException in isOnSecondaryDisplay method. See #2701
  • [BUGFIX] Session Replay: Defer drawable copy to work thread in Session Replay. See #2723
  • [BUGFIX] RUM: Create a new RumViewScope when the session is renewed. See #2699
  • [BUGFIX] RUM: Fix effective sample rate calculation for SessionEndedMetricDispatcher. See #2744
  • [IMPROVEMENT] RUM: Allow 24h batch backlog for RUM. See #2690
  • [IMPROVEMENT] RumAuto scenario for Android Benchmark app. See #2689
  • [IMPROVEMENT] Fix Proguard rules for Method Called Metrics. See #2691
  • [IMPROVEMENT] RUM: Enhancement of Compose Actions tracking reflection. See #2692
  • [IMPROVEMENT] Add Account Info fragment for sample app. See #2703
  • [IMPROVEMENT] Add Android TV sample app. See #2697
  • [IMPROVEMENT] Session Replay: Remove ContentPainterElement Class Reflection from Telemetry. See #2714
  • [IMPROVEMENT] Global: Update setUserInfo and setAccountInfo documentation. See #2715
  • [IMPROVEMENT] Session Replay: Avoid copying hardware bitmap in Session Replay. See #2732
  • [IMPROVEMENT] Add integration tests of set account information in reliability module. See #2725
  • [IMPROVEMENT] Fix Jetpack Compose Auto instrumentation telemetry in benchmark app. See #2737
  • [MAINTENANCE] Next dev iteration 2.23.0. See #2678
  • [MAINTENANCE] Add BackPressured Dump information into Telemetry log. See #2673
  • [MAINTENANCE] Change Benchmark artifact Id to dd-sdk-android-benchmark. See #2686
  • [MAINTENANCE] Add Method Called Metric on Rum event handling. See #2687
  • [MAINTENANCE] Bump Datadog Gradle Plugin to 1.17.0. See #2693
  • [MAINTENANCE] Generate checksum xml. See #2695
  • [MAINTENANCE] Generate verification-metadata with pgp information. See #2698
  • [MAINTENANCE] Move LocalAttribute class and related extension methods to the internal module. See #2705
  • [MAINTENANCE] Move public top-level extension functions and properties from core module to internal module. See #2707
  • [MAINTENANCE] Remove Project.exec usage. See #2674
  • [MAINTENANCE] Improve speed of running core-it suite. See #2711
  • [MAINTENANCE] Fix GsonExt flaky test. See #2719
  • [MAINTENANCE] Add Android Automotive sample. See #2724
  • [MAINTENANCE] GitHub app migration for PAT. See #2726
  • [MAINTENANCE] Fix RumSessionScope flaky test. See #2730
  • [MAINTENANCE] Introduce check release pipeline. See #2731
  • [MAINTENANCE] Remove unnecessary comment. See #2735
  • [MAINTENANCE] Add dd-octo-sts to Dockerfile. See #2739
  • [MAINTENANCE] Add dd-octo-sts policy for read access. See #2741
  • [MAINTENANCE] Fix dd-octo-sts pattern. See #2743
  • [MAINTENANCE] Use dd-octo-sts to check release. See #2742
  • [MAINTENANCE] Use dd-octo-sts to create PRs in dd-sdk-android-gradle-plugin. See #2746
  • [MAINTENANCE] Use dd-octo-sts to create PRs in Shopist and Mobile app. See #2750
  • [DOCS] Update Publish Changelog to Confluence: Fix issue with already present page. See #2683
  • [DOCS] Update changelog-to-confluence: Update secret names. See #2727

2.22.0 / 2025-05-28

  • [FEATURE] Session Replay: Support Coil3 for Session Replay image recording. See #2648
  • [FEATURE] RUM: Add Compose custom attributes for actions tracking. See #2661
  • [BUGFIX] RUM: Fix background session start reason. See #2623
  • [BUGFIX] Core: Catch exceptions during the Power or Battery broadcast intents processing. See #2642
  • [IMPROVEMENT] LogsCustom scenario for Android benchmark app. See #2625
  • [IMPROVEMENT] LogsHeavyTraffic scenario for Android benchmarks. See #2629
  • [IMPROVEMENT] Trace scenario for Android benchmark app. See #2637
  • [IMPROVEMENT] Replace addFirst usage in PendingTrace. See #2638
  • [IMPROVEMENT] RumManual scenario for Android benchmark app. See #2644
  • [IMPROVEMENT] Align Datadog initialization with iOS for benchmark app. See #2647
  • [IMPROVEMENT] Fix Datadog core creation in baseline benchmark run. See #2649
  • [IMPROVEMENT] RUM: Add Jetpack Compose specific log in gesture listener if target not found. See #2651
  • [IMPROVEMENT] Add sample screen for Compose image content scale. See #2659
  • [IMPROVEMENT] Remove addFirst, removeFirst, removeLast usages. See #2664
  • [IMPROVEMENT] RUM: Use reflection to retrieve semantics information in modifier. See #2667
  • [MAINTENANCE] Next dev iteration. See #2630
  • [MAINTENANCE] Merge release/2.21.0 into develop. See #2632
  • [MAINTENANCE] Update unMock plugin version, remove me.xdrop:fuzzywuzzy dependency, remove deprecated Gradle APIs. See #2634
  • [MAINTENANCE] Speed up some tests in FeatureScopeTest by reducing unconditional wait time. See #2643
  • [MAINTENANCE] Fix logging format for error messages in PlainBatchFileReaderWriter. See #2652
  • [MAINTENANCE] Remove telemetry target from error logging in PlainBatchFileReaderWriter. See #2653
  • [MAINTENANCE] Better project-type dependency resolution for Detekt custom rules execution. See #2670

2.21.0 / 2025-05-06

  • [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 / 2025-04-07

  • [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 / 2025-03-20

  • [BUGFIX] Fix NPE with Metrics listener on older APIs. See#2558

2.19.1 / 2025-03-17

  • [BUGFIX] Fix NPE when Drawable.getCurrent returns null. See#2545

2.19.0 / 2025-03-10

  • [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
  • [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 / 2025-02-03

  • [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] Merge release/2.17.0 into develop. See #2473
  • [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 / 2025-01-02

  • [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 / 2024-12-18

  • [IMPROVEMENT] Refactoring for React Native Session Replay support. See #2448

2.16.0 / 2024-11-20

  • [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 / 2024-11-04

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

2.15.0 / 2024-10-28

  • [FEATURE] Add TimeBank in Session Replay recorder for dynamic optimisation See #2247
  • [FEATURE] Add Session Replay skipped frames count in session ended metrics. See #2256
  • [FEATURE] Add a touch privacy override. See #2334
  • [FEATURE] Add precheck conditions when registering the Session Replay feature. See #2264
  • [FEATURE] Add a privacy override for hidden views. See #2291
  • [FEATURE] Add image and textAndInput privacy overrides. See #2312
  • [IMPROVEMENT] Add a dynamic optimization configuration field in SessionReplayConfiguration. See #2259
  • [IMPROVEMENT] Use layout text to display TextView overflow correctly. See #2279
  • [IMPROVEMENT] Remove the Session Replay ButtonMapper border. See #2280
  • [IMPROVEMENT] Force single core for Session Replay. See #2324
  • [IMPROVEMENT] Add a ViewGroups Session Replay demo screen in sample app. See #2285
  • [IMPROVEMENT] Run integration tests on API 35 in the testing pyramid. See #2272
  • [IMPROVEMENT] Add MaterialCardView support in the Material Session Replay extension. See #2290
  • [IMPROVEMENT] Use an SDK source value in the Session Replay MobileSegment.source property. See #2293
  • [IMPROVEMENT] Update the Session Replay schema with a Kotlin Multiplatform source for Mobile segment. See #2297
  • [IMPROVEMENT] Improve test coverage of core unit tests. See #2294
  • [IMPROVEMENT] Improve unit test coverage for RUM, Logs and Trace features. See #2299
  • [IMPROVEMENT] Send retry information into RUM data upload requests. See #2298
  • [IMPROVEMENT] Make the DataOkHttpUploader state volatile. See #2305
  • [IMPROVEMENT] Read Session Replay system requirements synchronously with strict mode allowance. See #2307
  • [IMPROVEMENT] Override process importance for Session Replay integration tests. See #2304
  • [IMPROVEMENT] Detekt the api coverage in integration tests. See #2300
  • [IMPROVEMENT] Resolve PorterDuffColorFilter case in drawable to color mapper. See #2319
  • [IMPROVEMENT] Prevent obfuscation of Fine Grained Masking enums. See #2321
  • [IMPROVEMENT] Make sure ConsentAwareFileOrchestrator is thread safe. See #2313
  • [IMPROVEMENT] Improve RUM integration tests. See #2317
  • [IMPROVEMENT] Add a default sample rate for Session Replay. See #2323
  • [IMPROVEMENT] Remove batch metrics inner sampler to increase sample rate. See #2328
  • [IMPROVEMENT] Add missing integration test for Logs. See #2330
  • [IMPROVEMENT] Update Session Replay integration test payloads. See #2318
  • [MAINTENANCE] Update Datadog Agent to 1.41.0. See #2331
  • [MAINTENANCE] Fix the decompression in Session Replay instrumented tests for API 21. See #2341
  • [MAINTENANCE] Reactivate Session Replay instrumented test for API 21. See #2342
  • [MAINTENANCE] Fix some flaky tests. See #2281
  • [MAINTENANCE] Fix a StrictMode warning regarding I/O disk operation on the main thread. See #2284
  • [MAINTENANCE] Fix flaky feature context integration tests. See #2295
  • [MAINTENANCE] Fix SeekBarWireframeMapper flaky test. See #2308
  • [MAINTENANCE] Fix SpanEventSerializerTest flakiness. See #2311
  • [MAINTENANCE] Remove an unnecessary legacy privacy line from the sampleApplication. See #2314
  • [MAINTENANCE] Use Java 11 bytecode for public modules. See #2315
  • [MAINTENANCE] Fix RUM integration test verifyViewEventsOnSwipe. See #2326
  • [MAINTENANCE] Fix the regression for the TelemetryErrorEvent with throwable. See #2325
  • [MAINTENANCE] Fix the execution of legacy instrumentation tests in CI. See #2329

2.14.0 / 2024-09-25

  • [FEATURE] Add stop and start APIs for Session Replay. See #2169
  • [FEATURE] Add touch privacy fine grained masking API to Session Replay. See #2196
  • [FEATURE] Add text and input privacy fine grained masking API to Session Replay. See #2235
  • [FEATURE] Introduce the RumMonitor#addViewLoadingTime API. See #2243
  • [FEATURE] Introduce the API usage telemetry event and API. See #2258
  • [IMPROVEMENT] Enable Kotlin test fixtures support. See #2234
  • [IMPROVEMENT] Add isContainer attribute to session replay span. See #2244
  • [IMPROVEMENT] Update custom detekt CI Job. See #2118
  • [IMPROVEMENT] Randomize privacy levels to support Fine Grained Masking in E2E. See #2265
  • [IMPROVEMENT] Update AGP to 8.6.1. See #2269
  • [IMPROVEMENT] Add telemetry and logs related with RumMonitor#addViewLoadingTime API. See #2267
  • [IMPROVEMENT] Handle SSE requests. See #2270
  • [IMPROVEMENT] Do not use magic numbers in InternalLogger API. See #2271
  • [IMPROVEMENT] Optimize MD5 byte array to hex string conversion. See #2273
  • [IMPROVEMENT] CONTRIBUTING doc changes. See #2275
  • [IMPROVEMENT] Add env tag in benchmark metrics. See #2276
  • [MAINTENANCE] Make image privacy fine grained masking API public in Session Replay. See #2204
  • [MAINTENANCE] Update benchmark metrics memory reader probe interval. See #2228
  • [MAINTENANCE] Fix the flakiness in the KioskTrackingTest. See #2226
  • [MAINTENANCE] Fix placeholder dimensions. See #2248
  • [MAINTENANCE] Send fine grained masking instead of legacy privacy in config telemetry. See #2253
  • [MAINTENANCE] Ensure UploadWorker uses the SDK instance name. See #2257
  • [MAINTENANCE] Explicitly set antlr-runtime transitive dependency version. See #2261
  • [MAINTENANCE] Add the integration tests related with RumMonitor#addViewLoadingTime API. See #2268
  • [MAINTENANCE] Fix DatadogInterceptor flaky test. See #2274
  • [MAINTENANCE] Fix typos and links in Github issue templates. See #2277

2.13.1 / 2024-09-09

  • [BUGFIX] Stop upload worker on upload failure. See #2242

2.13.0 / 2024-09-03

  • [FEATURE] Create Benchmark module to collect performance metrics. See #2141
  • [BUGFIX] Use NO_EXPORT_FLAG for BroadcastReceiver on API above 26. See #2170
  • [BUGFIX] Fix integration tests pipeline for API 21. See #2197
  • [IMPROVEMENT] Added setSyntheticsAttribute in RumInternalProxy. See #2133
  • [IMPROVEMENT] Use macos runner. See #2154
  • [IMPROVEMENT] Remove obsolete nightly test references. See #2157
  • [IMPROVEMENT] Add the integration tests for the SdkCore APIs. See #2145
  • [IMPROVEMENT] Update link to troubleshooting documentation. See #2164 (Thanks @mateo-villa)
  • [IMPROVEMENT] Reset developerMode status when Datadog stop. See #2174
  • [IMPROVEMENT] Extract logic to pull publishing credentials into a dedicated snippet. See #2176
  • [IMPROVEMENT] Remove redundant build configuration in new reliability modules. See #2178
  • [IMPROVEMENT] Remove image property from macOS-based jobs. See #2181
  • [IMPROVEMENT] Update OkHttp to 4.12.0. See #1975
  • [IMPROVEMENT] Speed up IdGenerationStrategy test. See #2187
  • [IMPROVEMENT] Add integration tests for internal sdk core. See #2177
  • [IMPROVEMENT] Update Gradle to 8.9 and AGP to 8.5.2. See #2192
  • [IMPROVEMENT] Speed up generated files/licenses checks. See #2188
  • [IMPROVEMENT] Log Timber tag. See #2202
  • [IMPROVEMENT] Make sure user properties are immutable when setUserInfo. See #2203
  • [IMPROVEMENT] Add the integration tests for FeatureScope public API. See #2209
  • [IMPROVEMENT] Include optional exception in Upload Status. See #2221
  • [IMPROVEMENT] Create UploadSchedulerStrategy interface and default implementation. See #2222
  • [IMPROVEMENT] Add configuration to set uploadSchedulerStrategy. See #2224
  • [IMPROVEMENT] Update kotlinx.ast dependency. See #2231

2.12.1 / 2024-08-13

  • [BUGFIX] RUM: Make no-op RUM monitor implementation returned by default to be NoOpAdvancedRumMonitor. See #2185

2.12.0 / 2024-07-30

  • [FEATURE] Trace: Add the SessionEndedMetric into sdk core. See #2090
  • [FEATURE] SessionReplay: Use the datastore for Session Replay resources. See #2041
  • [FEATURE] Trace: Provide 128 bits support for the trace ids in the Tracing sdk. See #2089
  • [FEATURE] SessionReplay: Add api to clear all datastore data. See #2096
  • [FEATURE] SessionReplay: Add CompoundButton mapper. See #2120
  • [FEATURE] SessionReplay: Add API to configure the Image Privacy. See #2125
  • [FEATURE] Trace: Introduce the TraceContextInjection to handle sampling in distributed traces. See #2111
  • [IMPROVEMENT] Trace: Improve unit tests in Session metrics. See #2095
  • [IMPROVEMENT] SessionReplay: Fix flaky test in SeekBarWireframeMapperTest. See #2099
  • [IMPROVEMENT] Trace: Fix the Okhttp Otel parent span feature when not using RUM. See #2100
  • [IMPROVEMENT] SessionReplay: Fix units for dropped nodes. See #2107
  • [IMPROVEMENT] SessionReplay: Add TLVFormat DataStore persistence. See #2038
  • [IMPROVEMENT] InternalMetrics: Add sampling rate to internal metrics. See #2108
  • [IMPROVEMENT] SessionReplay: Fix RumSessionEnded metric flaky test. See #2114
  • [IMPROVEMENT] SessionReplay: Use BackpressureExecutor for SessionReplay event processing. See #2116
  • [IMPROVEMENT] SessionReplay: Improve CheckableTextViewMapper. See #2115
  • [IMPROVEMENT] SessionReplay: SwitchCompat mapper improvement. See #2117
  • [IMPROVEMENT] RUM: Fix the racing condition in the RotatingDnsResolver logic. See #2127
  • [IMPROVEMENT] RUM: Add request id in okhttp request. See #2126
  • [IMPROVEMENT] Trace: Make sure network local spans have kind:client tag. See #2136
  • [IMPROVEMENT] Core: Increase retry delay on DNS error. See #2135

2.11.0 / 2024-06-20

  • [FEATURE] Trace: Bundle dd-trace-core code into the dd-sdk-android-trace module. See #1907
  • [FEATURE] Trace: Provide the correct sampling priority for our Span events based on APM new rules. See #1913
  • [FEATURE] Trace: Add the CoreTracer tests. See #1924
  • [FEATURE] Trace: Provide core tracer logger implementation. See #1953
  • [FEATURE] Trace: Provide the bundleWithRum capability for OtelTracer. See #1960
  • [FEATURE] Trace: Provide the DatadogContextStorage for OpenTelemetry. See #1970
  • [FEATURE] Trace: Provide Otel bundle with logs feature. See #1979
  • [FEATURE] Trace: Setup the trace end tests environment for Otel API. See #1983
  • [FEATURE] Trace: Add the SpanLink support for Otel API implementation. See #1993
  • [FEATURE] Trace: Add the Otel API feature integration tests. See #1995
  • [FEATURE] Trace: Report OpenTelemetry data in the configuration telemetry. See #2006
  • [FEATURE] Trace: Extract OpenTelemetry support SDK into a dedicated module. See #2021
  • [FEATURE] Trace: Setup the CI and Gradle tests for the new dd-sdk-android-trace-otel module. See #2035
  • [FEATURE] Trace: Enable desugaring for sample and single-fit apps. See #2036
  • [FEATURE] Session Replay: Add support for progress bars. See #2047
  • [FEATURE] Trace: Add OpenTelemetry use case into the Wear sample app. See #2068
  • [FEATURE] Trace: Add OpenTelemetry use case into the vendor-lib sample. See #2069
  • [FEATURE] Trace: Add the OkHttp Otel extensions module. See #2073
  • [FEATURE] Trace: OtelTraceProvider.Builder: introduce the trace rate limit property. See #2086
  • WARNING: Existing com.datadog.trace package renamed to com.datadog.legacy.trace. com.datadog.trace package will contain new members, so update your imports accordingly.
  • [BUGFIX] Session Replay: Fix time drift in RecordedDataQueueHandler. See #2075
  • [IMPROVEMENT] Trace: Remove some unused IAST/CI Visibility classes. See #2000
  • [IMPROVEMENT] Trace: Remove moshi dependency from trace module. See #2003
  • [IMPROVEMENT] Fix some detekt issues. See #2043
  • [IMPROVEMENT] Session Replay: Delegate Drawable copy to background thread. See #2048
  • [IMPROVEMENT] Trace: Make CoreTracer code Java 7 compatible. See #2051
  • [IMPROVEMENT] Session Replay: Improve telemetry from RecordedDataQueueHandler. See #2053
  • [IMPROVEMENT] Global: Fix thread safety warnings. See #2056
  • [IMPROVEMENT] Trace: Remove the dd-sketches dependency and related logic. See #2062
  • [IMPROVEMENT] Trace: Fix the jctools Proguard rules. See #2063
  • [IMPROVEMENT] Add ProGuard rules to sample app. See #2067
  • [IMPROVEMENT] Session Replay: Improve ButtonMapper. See #2070
  • [IMPROVEMENT] Trace: Remove some unused code from tracing module. See #2079
  • [IMPROVEMENT] Trace: Add OpenTelemetry Proguard rules for compile-only annotations. See #2080
  • [IMPROVEMENT] Trace: Fix the CoreTracer flaky tests. See #2081
  • [IMPROVEMENT] Trace: Remove System and Environment config source in the CoreTracer. See #2084
  • [IMPROVEMENT] Remove duplicated Proguard configuration in the sample app. See #2088
  • [IMPROVEMENT] Session Replay: Granular telemetry sampling for mappers. See #2087
  • [MAINTENANCE] Merge develop branch. See #1948
  • [MAINTENANCE] Merge develop branch into feature/otel-support branch. See #1998
  • [MAINTENANCE] Next dev iteration 2.11.0. See #2050
  • [MAINTENANCE] Merge release/2.10.0 branch into develop branch. See #2054
  • [MAINTENANCE] Merge develop branch into feature/otel-support branch. See #2058
  • [MAINTENANCE] Merge release 2.10.1 into develop branch. See #2065
  • [MAINTENANCE] Merge develop branch. See #2076
  • [MAINTENANCE] Merge Otel feature branch. See #2077

2.10.1 / 2024-05-30

  • [IMPROVEMENT] Reduce Method Call Sample Rate. See #2060
  • [IMPROVEMENT] Limit total telemetry events sent per session. See #2061

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