Skip to content

Releases: DataDog/dd-sdk-android

3.6.0

27 Jan 18:23
94000ea

Choose a tag to compare

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

08 Jan 10:53
d216010

Choose a tag to compare

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

11 Dec 11:33
d85b641

Choose a tag to compare

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

19 Nov 13:16
9986783

Choose a tag to compare

[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

2.26.3

13 Nov 10:01
c4b834c

Choose a tag to compare

[IMPROVEMENT] Disable the collection of jank stats for the Unity SDK. See #3001

3.2.0

14 Oct 09:29
510e711

Choose a tag to compare

[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

2.26.2

09 Oct 14:37
04e2cbb

Choose a tag to compare

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

3.1.0

19 Sep 08:56
262110b

Choose a tag to compare

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

2.26.1

11 Sep 18:36
2.26.1
bffec75

Choose a tag to compare

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

3.0.0

04 Sep 16:11
6a90f1e

Choose a tag to compare

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