You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+46Lines changed: 46 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,49 @@
1
+
# 3.3.0 / 2025-11-18
2
+
3
+
## What's Changed
4
+
5
+
*[FEATURE] Feature flags. See [#2982](https://github.com/DataDog/dd-sdk-android/pull/2982) and [#2879](https://github.com/DataDog/dd-sdk-android/pull/2879)
6
+
*[FEATURE] Feature flags: Apply readme suggestions. See [#2988](https://github.com/DataDog/dd-sdk-android/pull/2988)
7
+
*[FEATURE] Feature flags: Fix detekt violations in the flags module. See [#2994](https://github.com/DataDog/dd-sdk-android/pull/2994)
8
+
*[FEATURE] Feature flags context management. See [#2886](https://github.com/DataDog/dd-sdk-android/pull/2886)
9
+
*[FEATURE] Feature flags: Send exposures as batches. See [#2895](https://github.com/DataDog/dd-sdk-android/pull/2895)
10
+
*[FEATURE] Feature flags: Add a persistence layer. See [#2898](https://github.com/DataDog/dd-sdk-android/pull/2898)
11
+
*[FEATURE] Feature flags: `DatadogSite` extension for Flags endpoint. See [#2922](https://github.com/DataDog/dd-sdk-android/pull/2922)
12
+
*[FEATURE] Feature flags: `Flags.enable` and `FlagsClient` APIs. See [#2900](https://github.com/DataDog/dd-sdk-android/pull/2900)
13
+
*[FEATURE] Feature flags: Support custom endpoints for exposures. See [#2942](https://github.com/DataDog/dd-sdk-android/pull/2942)
14
+
*[FEATURE] Feature flags: Custom flagging endpoint and assignment download refactoring. See [#2917](https://github.com/DataDog/dd-sdk-android/pull/2917)
15
+
*[FEATURE] Feature flags: RUM Evaluation Tracking. See [#2926](https://github.com/DataDog/dd-sdk-android/pull/2926)
16
+
*[FEATURE] Feature flags: Add `CountDownLatch` to `FlagsRepository`. See [#2947](https://github.com/DataDog/dd-sdk-android/pull/2947)
17
+
*[FEATURE] Feature flags: Add telemetry for critical paths. See [#2952](https://github.com/DataDog/dd-sdk-android/pull/2952)
18
+
*[FEATURE] Feature flags: Generic resolve method. See [#2923](https://github.com/DataDog/dd-sdk-android/pull/2923)
19
+
*[FEATURE] Feature flags: Generate `ExposureEvent` from schema. See [#2957](https://github.com/DataDog/dd-sdk-android/pull/2957)
20
+
*[FEATURE] Feature flags: Remove redundant `featureflags` subpackage. See [#2966](https://github.com/DataDog/dd-sdk-android/pull/2966)
21
+
*[FEATURE] Feature flags: Support for `PROVIDER_NOT_READY` state. See [#2967](https://github.com/DataDog/dd-sdk-android/pull/2967)
22
+
*[FEATURE] Feature flags: Graceful mode and error logging policies. See [#2963](https://github.com/DataDog/dd-sdk-android/pull/2963)
23
+
*[FEATURE] Feature flags: Update documentation. See [#2955](https://github.com/DataDog/dd-sdk-android/pull/2955)
24
+
*[FEATURE] Feature flags: Allow blank targeting keys. See [#2981](https://github.com/DataDog/dd-sdk-android/pull/2981)
25
+
*[BUGFIX] Fix GraphQL operation type header. See [#2956](https://github.com/DataDog/dd-sdk-android/pull/2956)
26
+
*[BUGFIX] Fix synthetic ids logging in `RumViewScope`. See [#2958](https://github.com/DataDog/dd-sdk-android/pull/2958)
27
+
*[BUGFIX] Fix `RumWindowCallbacksRegistry` for multiple SDK instances. See [#3003](https://github.com/DataDog/dd-sdk-android/pull/3003)
28
+
*[BUGFIX] Fix vital events duplication in Feature Operations. See [#2977](https://github.com/DataDog/dd-sdk-android/pull/2977)
29
+
*[IMPROVEMENT] Support sending anonymous user ids in logs. See [#2945](https://github.com/DataDog/dd-sdk-android/pull/2945)
30
+
*[IMPROVEMENT] Feature flags: Fix and improve tests, context management. See [#2896](https://github.com/DataDog/dd-sdk-android/pull/2896)
31
+
*[IMPROVEMENT] Refactor `FlagsProvider` and `FlagsClient` into one. See [#2899](https://github.com/DataDog/dd-sdk-android/pull/2899)
32
+
*[IMPROVEMENT] Support long task reporting for multiple SDK instances. See [#2934](https://github.com/DataDog/dd-sdk-android/pull/2934)
33
+
*[IMPROVEMENT]`MIGRATION.MD` update for missing SDK v3 changes. See [#2936](https://github.com/DataDog/dd-sdk-android/pull/2936)
34
+
*[IMPROVEMENT] Update RUM Schema to include app launch vitals. See [#2937](https://github.com/DataDog/dd-sdk-android/pull/2937)
35
+
*[IMPROVEMENT] Trace: Handle OTEL reserved attributes when using `AttributeKeys`. See [#2946](https://github.com/DataDog/dd-sdk-android/pull/2946)
36
+
*[IMPROVEMENT] Use stub `Executor` for `WorkerParameters` forgery factory. See [#2949](https://github.com/DataDog/dd-sdk-android/pull/2949)
37
+
*[IMPROVEMENT] Do not create a new session for TTID. See [#2954](https://github.com/DataDog/dd-sdk-android/pull/2954)
38
+
*[IMPROVEMENT] Add support of `oneOf(primitive|object)` in the json parser generator. See [#2972](https://github.com/DataDog/dd-sdk-android/pull/2972)
39
+
*[IMPROVEMENT] Pass synthetic ids to RUM earlier in benchmark app. See [#2959](https://github.com/DataDog/dd-sdk-android/pull/2959)
40
+
*[IMPROVEMENT] Update RUM schema. See [#2976](https://github.com/DataDog/dd-sdk-android/pull/2976)
41
+
*[IMPROVEMENT] Updating `MIGRATION.MD` with the default sampling rate. See [#2995](https://github.com/DataDog/dd-sdk-android/pull/2995)
42
+
*[IMPROVEMENT] Add internal `disableJankStats` config option. See [#3000](https://github.com/DataDog/dd-sdk-android/pull/3000)
43
+
*[MAINTENANCE] Provide SDK commit SHA1 to the Shopist App. See [#2993](https://github.com/DataDog/dd-sdk-android/pull/2993)
44
+
*[MAINTENANCE] Fix detekt issues. See [#2885](https://github.com/DataDog/dd-sdk-android/pull/2885)
45
+
*[MAINTENANCE] Remove unused `isConstantClass` variable. See [#2984](https://github.com/DataDog/dd-sdk-android/pull/2984)
46
+
1
47
# 3.2.0 / 2025-10-13
2
48
3
49
*[FEATURE] Support Apollo GraphQL. See [#2845](https://github.com/DataDog/dd-sdk-android/pull/2845)
Copy file name to clipboardExpand all lines: MIGRATION.MD
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -155,6 +155,23 @@ Replacement hints:
155
155
156
156
The OkHttp instrumentation (`com.datadoghq:dd-sdk-android-okhttp:x.x.x`) doesn't require desugaring support. However few migration actions may be necessary.
157
157
158
+
The default sample rate for the `traceSampler` got increased to 100% with the Android SDK version `3.0.0`.
159
+
160
+
To keep 20% sampling rate you have to specify it explicitly:
Copy file name to clipboardExpand all lines: dd-sdk-android-core/api/dd-sdk-android-core.api
+18-13Lines changed: 18 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,7 @@ public final class com/datadog/android/BuildConfig {
3
3
public static final field DEBUG Z
4
4
public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String;
5
5
public static final field LOGCAT_ENABLED Ljava/lang/Boolean;
6
+
public static final field SDK_COMMIT_SHA1 Ljava/lang/String;
6
7
public static final field SDK_VERSION_CODE I
7
8
public static final field SDK_VERSION_NAME Ljava/lang/String;
8
9
public fun <init> ()V
@@ -74,6 +75,7 @@ public final class com/datadog/android/_InternalProxy {
74
75
public static final field Companion Lcom/datadog/android/_InternalProxy$Companion;
75
76
public final fun get_telemetry ()Lcom/datadog/android/_InternalProxy$_TelemetryProxy;
76
77
public final fun setCustomAppVersion (Ljava/lang/String;)V
78
+
public final fun setMetricTelemetrySampleRateBypass (F)V
77
79
}
78
80
79
81
public final class com/datadog/android/_InternalProxy$Companion {
@@ -162,26 +164,27 @@ public final class com/datadog/android/api/context/AccountInfo {
162
164
}
163
165
164
166
public final class com/datadog/android/api/context/DatadogContext {
165
-
public fun <init> (Lcom/datadog/android/DatadogSite;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/datadog/android/api/context/TimeInfo;Lcom/datadog/android/api/context/ProcessInfo;Lcom/datadog/android/api/context/NetworkInfo;Lcom/datadog/android/api/context/DeviceInfo;Lcom/datadog/android/api/context/UserInfo;Lcom/datadog/android/api/context/AccountInfo;Lcom/datadog/android/privacy/TrackingConsent;Ljava/lang/String;Ljava/util/Map;)V
167
+
public fun <init> (Lcom/datadog/android/DatadogSite;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/datadog/android/api/context/TimeInfo;Lcom/datadog/android/api/context/ProcessInfo;Lcom/datadog/android/api/context/NetworkInfo;Lcom/datadog/android/api/context/DeviceInfo;Lcom/datadog/android/api/context/UserInfo;Lcom/datadog/android/api/context/AccountInfo;Lcom/datadog/android/privacy/TrackingConsent;Ljava/lang/String;Ljava/util/Map;)V
166
168
public final fun component1 ()Lcom/datadog/android/DatadogSite;
167
-
public final fun component10 ()Lcom/datadog/android/api/context/ProcessInfo;
168
-
public final fun component11 ()Lcom/datadog/android/api/context/NetworkInfo;
169
-
public final fun component12 ()Lcom/datadog/android/api/context/DeviceInfo;
170
-
public final fun component13 ()Lcom/datadog/android/api/context/UserInfo;
171
-
public final fun component14 ()Lcom/datadog/android/api/context/AccountInfo;
172
-
public final fun component15 ()Lcom/datadog/android/privacy/TrackingConsent;
173
-
public final fun component16 ()Ljava/lang/String;
174
-
public final fun component17 ()Ljava/util/Map;
169
+
public final fun component10 ()Lcom/datadog/android/api/context/TimeInfo;
170
+
public final fun component11 ()Lcom/datadog/android/api/context/ProcessInfo;
171
+
public final fun component12 ()Lcom/datadog/android/api/context/NetworkInfo;
172
+
public final fun component13 ()Lcom/datadog/android/api/context/DeviceInfo;
173
+
public final fun component14 ()Lcom/datadog/android/api/context/UserInfo;
174
+
public final fun component15 ()Lcom/datadog/android/api/context/AccountInfo;
175
+
public final fun component16 ()Lcom/datadog/android/privacy/TrackingConsent;
176
+
public final fun component17 ()Ljava/lang/String;
177
+
public final fun component18 ()Ljava/util/Map;
175
178
public final fun component2 ()Ljava/lang/String;
176
179
public final fun component3 ()Ljava/lang/String;
177
180
public final fun component4 ()Ljava/lang/String;
178
181
public final fun component5 ()Ljava/lang/String;
179
-
public final fun component6 ()Ljava/lang/String;
182
+
public final fun component6 ()I
180
183
public final fun component7 ()Ljava/lang/String;
181
184
public final fun component8 ()Ljava/lang/String;
182
-
public final fun component9 ()Lcom/datadog/android/api/context/TimeInfo;
183
-
public final fun copy (Lcom/datadog/android/DatadogSite;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/datadog/android/api/context/TimeInfo;Lcom/datadog/android/api/context/ProcessInfo;Lcom/datadog/android/api/context/NetworkInfo;Lcom/datadog/android/api/context/DeviceInfo;Lcom/datadog/android/api/context/UserInfo;Lcom/datadog/android/api/context/AccountInfo;Lcom/datadog/android/privacy/TrackingConsent;Ljava/lang/String;Ljava/util/Map;)Lcom/datadog/android/api/context/DatadogContext;
184
-
public static synthetic fun copy$default (Lcom/datadog/android/api/context/DatadogContext;Lcom/datadog/android/DatadogSite;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/datadog/android/api/context/TimeInfo;Lcom/datadog/android/api/context/ProcessInfo;Lcom/datadog/android/api/context/NetworkInfo;Lcom/datadog/android/api/context/DeviceInfo;Lcom/datadog/android/api/context/UserInfo;Lcom/datadog/android/api/context/AccountInfo;Lcom/datadog/android/privacy/TrackingConsent;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)Lcom/datadog/android/api/context/DatadogContext;
185
+
public final fun component9 ()Ljava/lang/String;
186
+
public final fun copy (Lcom/datadog/android/DatadogSite;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/datadog/android/api/context/TimeInfo;Lcom/datadog/android/api/context/ProcessInfo;Lcom/datadog/android/api/context/NetworkInfo;Lcom/datadog/android/api/context/DeviceInfo;Lcom/datadog/android/api/context/UserInfo;Lcom/datadog/android/api/context/AccountInfo;Lcom/datadog/android/privacy/TrackingConsent;Ljava/lang/String;Ljava/util/Map;)Lcom/datadog/android/api/context/DatadogContext;
187
+
public static synthetic fun copy$default (Lcom/datadog/android/api/context/DatadogContext;Lcom/datadog/android/DatadogSite;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/datadog/android/api/context/TimeInfo;Lcom/datadog/android/api/context/ProcessInfo;Lcom/datadog/android/api/context/NetworkInfo;Lcom/datadog/android/api/context/DeviceInfo;Lcom/datadog/android/api/context/UserInfo;Lcom/datadog/android/api/context/AccountInfo;Lcom/datadog/android/privacy/TrackingConsent;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)Lcom/datadog/android/api/context/DatadogContext;
185
188
public fun equals (Ljava/lang/Object;)Z
186
189
public final fun getAccountInfo ()Lcom/datadog/android/api/context/AccountInfo;
187
190
public final fun getAppBuildId ()Ljava/lang/String;
@@ -200,6 +203,7 @@ public final class com/datadog/android/api/context/DatadogContext {
200
203
public final fun getUserInfo ()Lcom/datadog/android/api/context/UserInfo;
201
204
public final fun getVariant ()Ljava/lang/String;
202
205
public final fun getVersion ()Ljava/lang/String;
206
+
public final fun getVersionCode ()I
203
207
public fun hashCode ()I
204
208
public fun toString ()Ljava/lang/String;
205
209
}
@@ -1020,6 +1024,7 @@ public final class com/datadog/android/log/LogAttributes {
1020
1024
public static final field RUM_APPLICATION_ID Ljava/lang/String;
1021
1025
public static final field RUM_SESSION_ID Ljava/lang/String;
1022
1026
public static final field RUM_VIEW_ID Ljava/lang/String;
1027
+
public static final field SERVICE Ljava/lang/String;
1023
1028
public static final field SERVICE_NAME Ljava/lang/String;
1024
1029
public static final field SOURCE Ljava/lang/String;
1025
1030
public static final field SOURCE_TYPE Ljava/lang/String;
* [Unified Service Tagging](https://docs.datadoghq.com/getting_started/tagging/unified_service_tagging).
21
21
* @property version the version of the application that data is generated from. Used for
22
22
* [Unified Service Tagging](https://docs.datadoghq.com/getting_started/tagging/unified_service_tagging).
23
+
* @property versionCode the version code of the application.
23
24
* @property variant the name of the application variant (if applies).
24
25
* @property source denotes the mobile application's platform, such as "ios" or "flutter" that
25
26
* data is generated from. See: Datadog [Reserved Attributes](https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#reserved-attributes).
0 commit comments