Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,55 @@
# 3.13.0 / 2026-08-26

* [FEATURE] Add widget support for `timeseries`. See [#3568](https://github.com/DataDog/dd-sdk-android/pull/3568)
* [FEATURE] Support cross-platform embedded content in Session Replay. See [#3690](https://github.com/DataDog/dd-sdk-android/pull/3690)
* [BUGFIX] Fix long task duration computation. See [#3748](https://github.com/DataDog/dd-sdk-android/pull/3748)
* [BUGFIX] Fix `ConcurrentModificationException` races across Session Replay windows. See [#3730](https://github.com/DataDog/dd-sdk-android/pull/3730)
* [BUGFIX] Restore recomposition skipping for Datadog semantics modifier. See [#3662](https://github.com/DataDog/dd-sdk-android/pull/3662)
* [BUGFIX] Guard `featureContext.clear()` call in `DatadogCore`. See [#3669](https://github.com/DataDog/dd-sdk-android/pull/3669)
* [BUGFIX] Fix dialog opening from another dialog in Session Replay. See [#3563](https://github.com/DataDog/dd-sdk-android/pull/3563)
* [BUGFIX] Session Replay: Fix resource hash cache expiration time. See [#3673](https://github.com/DataDog/dd-sdk-android/pull/3673)
* [BUGFIX] Always apply configured app launch sample rate in Profiling feature. See [#3681](https://github.com/DataDog/dd-sdk-android/pull/3681)
* [BUGFIX] Dedupe exposures by latest assignment. See [#3526](https://github.com/DataDog/dd-sdk-android/pull/3526)
* [BUGFIX] Catch `RuntimeException` in `SystemSettingsWrapper`. See [#3700](https://github.com/DataDog/dd-sdk-android/pull/3700)
* [BUGFIX] Fix deadlock/ANR in `DatadogRumMonitor.handleEvent` on JVM crash. See [#3671](https://github.com/DataDog/dd-sdk-android/pull/3671)
* [BUGFIX] Fix gesture target selection for elevated views. See [#3704](https://github.com/DataDog/dd-sdk-android/pull/3704)
* [BUGFIX] Prevent inactive views from overwriting `last_view_event`. See [#3707](https://github.com/DataDog/dd-sdk-android/pull/3707)
* [IMPROVEMENT] Prevent profiling on package versions producing empty profiles. See [#3703](https://github.com/DataDog/dd-sdk-android/pull/3703)
* [IMPROVEMENT] Support `SPLIT` resolution reason. See [#3691](https://github.com/DataDog/dd-sdk-android/pull/3691)
* [IMPROVEMENT] Mix in `DdTags` for the web view event. See [#3648](https://github.com/DataDog/dd-sdk-android/pull/3648)
* [IMPROVEMENT] Update several hardcoded data limits. See [#3616](https://github.com/DataDog/dd-sdk-android/pull/3616)
* [IMPROVEMENT] Send the serial ID on exposure events. See [#3737](https://github.com/DataDog/dd-sdk-android/pull/3737)
* [IMPROVEMENT] Replace fixed pre-launch sleep in `SessionReplayTestRule` with a poll. See [#3746](https://github.com/DataDog/dd-sdk-android/pull/3746)
* [IMPROVEMENT] Remove multi-instance support from Profiling feature. See [#3670](https://github.com/DataDog/dd-sdk-android/pull/3670)
* [IMPROVEMENT] Capture `cf-cache-status` and `x-vercel-cache` response headers by default. See [#3679](https://github.com/DataDog/dd-sdk-android/pull/3679)
* [IMPROVEMENT] Improve reading-errors telemetry for dropped events. See [#3598](https://github.com/DataDog/dd-sdk-android/pull/3598)
* [IMPROVEMENT] Add `UUID` for each Cronet call. See [#3721](https://github.com/DataDog/dd-sdk-android/pull/3721)
* [MAINTENANCE] Add `UK1` site to sample apps. See [#3654](https://github.com/DataDog/dd-sdk-android/pull/3654)
* [MAINTENANCE] Add comments to reduce confusion about double reporting. See [#3762](https://github.com/DataDog/dd-sdk-android/pull/3762)
* [MAINTENANCE] Apply dogfooding fixes. See [#3609](https://github.com/DataDog/dd-sdk-android/pull/3609)
* [MAINTENANCE] Use Gradle plugin to run detekt. See [#3629](https://github.com/DataDog/dd-sdk-android/pull/3629)
* [MAINTENANCE] Explicitly declare generated models directory using AGP API. See [#3759](https://github.com/DataDog/dd-sdk-android/pull/3759)
* [MAINTENANCE] Print AAR metadata. See [#3756](https://github.com/DataDog/dd-sdk-android/pull/3756)
* [MAINTENANCE] Migrate from KotlinX AST to Kotlin PSI model for API surface generation. See [#3764](https://github.com/DataDog/dd-sdk-android/pull/3764)
* [MAINTENANCE] Remove flaky `JointToStringVsStringBuilderPerformanceTest` test. See [#3752](https://github.com/DataDog/dd-sdk-android/pull/3752)
* [MAINTENANCE] Migrate from `buildSrc` to convention plugin. See [#3751](https://github.com/DataDog/dd-sdk-android/pull/3751)
* [MAINTENANCE] Remove unused `com.github.ben-manes.versions` plugin. See [#3755](https://github.com/DataDog/dd-sdk-android/pull/3755)
* [MAINTENANCE] Remove `Kotlin Symbol Processing` dependency from the modules where it is not needed. See [#3754](https://github.com/DataDog/dd-sdk-android/pull/3754)
* [MAINTENANCE] Migrate the test pyramid coverage to Gradle plugins. See [#3643](https://github.com/DataDog/dd-sdk-android/pull/3643)
* [MAINTENANCE] Add `ktlint` plugin to the Gradle build. See [#3649](https://github.com/DataDog/dd-sdk-android/pull/3649)
* [MAINTENANCE] Explicitly enable `Gradle Tooling API` actions parallelism. See [#3664](https://github.com/DataDog/dd-sdk-android/pull/3664)
* [MAINTENANCE] Add missing experimental `Profiling API` annotation in the Sample app. See [#3667](https://github.com/DataDog/dd-sdk-android/pull/3667)
* [MAINTENANCE] Migrate static analysis off shared template into native CI jobs. See [#3659](https://github.com/DataDog/dd-sdk-android/pull/3659)
* [MAINTENANCE] Adapt Cronet integration tests to `cronet-api` 500.0.1. See [#3680](https://github.com/DataDog/dd-sdk-android/pull/3680)
* [MAINTENANCE] Enable Gradle configuration cache (warn mode). See [#3676](https://github.com/DataDog/dd-sdk-android/pull/3676)
* [MAINTENANCE] Fix `datadog-ci` install failing. See [#3689](https://github.com/DataDog/dd-sdk-android/pull/3689)
* [MAINTENANCE] Automate attaching the `verification-metadata.xml` to GitHub release. See [#3692](https://github.com/DataDog/dd-sdk-android/pull/3692)
* [MAINTENANCE] Migrate coverage upload auth to `dd-sts`, drop `codecov`. See [#3705](https://github.com/DataDog/dd-sdk-android/pull/3705)
* [MAINTENANCE] Fix flaky `RumViewScopeTest` test. See [#3723](https://github.com/DataDog/dd-sdk-android/pull/3723)
* [MAINTENANCE] Remove `dd-` prefix from profiling quota thread pool context name. See [#3744](https://github.com/DataDog/dd-sdk-android/pull/3744)
* [MAINTENANCE] Remove ineffective commit-signing policy from `AGENTS.md`. See [#3738](https://github.com/DataDog/dd-sdk-android/pull/3738)
* [MAINTENANCE] Add allowed tools/MCP calls to the Claude config. See [#3745](https://github.com/DataDog/dd-sdk-android/pull/3745)

# 3.12.1 / 2026-07-16

* [BUGFIX] Fix R8 failures due to missing `SourceLines` annotation. See [#3642](https://github.com/DataDog/dd-sdk-android/pull/3642)
Expand Down
1 change: 0 additions & 1 deletion features/dd-sdk-android-rum/api/apiSurface
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,6 @@ data class com.datadog.android.rum.RumConfiguration
fun setSlowFramesConfiguration(com.datadog.android.rum.configuration.SlowFramesConfiguration?): Builder
fun trackAnonymousUser(Boolean): Builder
fun setAppStartupActivityPredicate(com.datadog.android.rum.startup.AppStartupActivityPredicate): Builder
fun setTimeseriesConfiguration(com.datadog.android.rum.timeseries.TimeseriesConfiguration): Builder
fun build(): RumConfiguration
enum com.datadog.android.rum.RumErrorSource
- NETWORK
Expand Down
1 change: 0 additions & 1 deletion features/dd-sdk-android-rum/api/dd-sdk-android-rum.api
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,6 @@ public final class com/datadog/android/rum/RumConfiguration$Builder {
public final fun setSessionSampleRate (F)Lcom/datadog/android/rum/RumConfiguration$Builder;
public final fun setSlowFramesConfiguration (Lcom/datadog/android/rum/configuration/SlowFramesConfiguration;)Lcom/datadog/android/rum/RumConfiguration$Builder;
public final fun setTelemetrySampleRate (F)Lcom/datadog/android/rum/RumConfiguration$Builder;
public final fun setTimeseriesConfiguration (Lcom/datadog/android/rum/timeseries/TimeseriesConfiguration;)Lcom/datadog/android/rum/RumConfiguration$Builder;
public final fun setViewEventMapper (Lcom/datadog/android/rum/event/ViewEventMapper;)Lcom/datadog/android/rum/RumConfiguration$Builder;
public final fun setVitalEventMapper (Lcom/datadog/android/event/EventMapper;)Lcom/datadog/android/rum/RumConfiguration$Builder;
public final fun setVitalEventMapper (Lcom/datadog/android/event/EventMapper;Lcom/datadog/android/event/EventMapper;)Lcom/datadog/android/rum/RumConfiguration$Builder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,7 @@ data class RumConfiguration internal constructor(
* @param configuration configuration for timeseries collection.
*/
@ExperimentalRumApi
fun setTimeseriesConfiguration(
internal fun setTimeseriesConfiguration(
configuration: TimeseriesConfiguration
): Builder {
rumConfig = rumConfig.copy(timeseriesConfiguration = configuration)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import com.datadog.android.sdk.integration.rum.ExpectedVitalAppLaunchEvent
import com.datadog.android.sdk.integration.rum.RumTest
import com.datadog.android.sdk.rules.RumMockServerActivityTestRule
import com.datadog.tools.unit.ConditionWatcher
import leakcanary.LeakAssertions
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
Expand Down Expand Up @@ -110,8 +109,6 @@ internal class AppStartupActivityPredicateTest :
)
true
}.doWait(timeoutMs = FINAL_WAIT_MS)

LeakAssertions.assertNoLeaks()
}
Comment on lines 111 to 112

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve the restored leak assertion

The immediate parent already adds a JobService reference matcher in MockServerActivityTestRule.beforeActivityLaunched() and explicitly re-enables LeakAssertions.assertNoLeaks() for this test, but this change reapplies the older release-branch deletion while retaining that matcher. As a result, this startup scenario once again stops detecting application leaks and can silently regress; keep the restored assertion now that its CI false positive is filtered.

Useful? React with 👍 / 👎.


/**
Expand Down
Loading