Skip to content

Releases: DataDog/dd-sdk-android

3.7.0

03 Mar 16:03
c217ee7

Choose a tag to compare

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

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