Skip to content

[NOJIRA] [CHORE] Bump Android SDK to v3.13.1 - #1392

Open
marco-saia-datadog wants to merge 4 commits into
developfrom
marcosaia/chore/bump-android-sdk
Open

[NOJIRA] [CHORE] Bump Android SDK to v3.13.1#1392
marco-saia-datadog wants to merge 4 commits into
developfrom
marcosaia/chore/bump-android-sdk

Conversation

@marco-saia-datadog

Copy link
Copy Markdown
Member

What does this PR do?

Bumps Datadog Android SDK version to v3.13.1, and fixes breaking changes.

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests
  • Make sure you discussed the feature or bugfix with the maintaining team in an Issue
  • Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)
  • If this PR is auto-generated, please make sure also to manually update the code related to the change

Copilot AI lite review requested due to automatic review settings August 31, 2026 10:24
@marco-saia-datadog
marco-saia-datadog requested a review from a team as a code owner August 31, 2026 10:24
@datadog-official

datadog-official Bot commented Aug 31, 2026

Copy link
Copy Markdown

Tests

All CI checks and tests passed.

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: b995509 | Docs | View more details | Give us feedback!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the React Native Android bridge dependencies to use Datadog Android SDK v3.13.1 and adjusts the feature flags bridge serialization to accommodate the updated flags model.

Changes:

  • Bump Datadog Android SDK module dependencies from 3.12.1 → 3.13.1 across core modules and benchmark tooling.
  • Extend feature-flag snapshot serialization/deserialization to include the new serialId field.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
packages/react-native-webview/android/build.gradle Bumps dd-sdk-android-webview dependency to 3.13.1.
packages/react-native-session-replay/android/build.gradle Bumps dd-sdk-android-session-replay and dd-sdk-android-internal to 3.13.1.
packages/internal-testing-tools/android/build.gradle Bumps dd-sdk-android-core dependency to 3.13.1.
packages/core/android/src/main/kotlin/com/datadog/reactnative/DdFlagsImplementation.kt Adds serialId to the serialized flag map and restores it when rebuilding UnparsedFlag.
packages/core/android/build.gradle Bumps all core Datadog Android SDK dependencies (RUM/Logs/Trace/WebView/NDK/Flags/Internal) to 3.13.1, including the RN < 0.76 conditional path.
benchmarks/android/app/build.gradle Bumps benchmark/internal tooling dependencies to 3.13.1.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Copilot AI review requested due to automatic review settings August 31, 2026 10:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Suppressed comments (2)

Previously missed (2) — in code that hasn't changed since the last review.

packages/core/android/src/main/kotlin/com/datadog/reactnative/DdFlagsImplementation.kt:225

  • serialId is a Long?, but toWritableMap() converts Long to Double (see DdSdkBridgeExt.kt:135-137), which can lose precision for values > 2^53 when crossing the React Native bridge. To preserve the exact value for later trackEvaluation calls, serialize it as a string.
        "serialId" to flag.serialId

packages/core/android/src/main/kotlin/com/datadog/reactnative/DdFlagsImplementation.kt:242

  • If serialId is serialized as a string to avoid precision loss across the RN bridge, the deserialization should accept both numeric and string inputs for backward compatibility.
        override val serialId: Long? = (map["serialId"] as? Number)?.toLong()

Copilot AI review requested due to automatic review settings August 31, 2026 10:34
@marco-saia-datadog
marco-saia-datadog force-pushed the marcosaia/chore/bump-android-sdk branch from 64520de to 2ffbf54 Compare August 31, 2026 10:34

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Copilot AI review requested due to automatic review settings August 31, 2026 10:47
@marco-saia-datadog
marco-saia-datadog force-pushed the marcosaia/chore/bump-android-sdk branch from 2ffbf54 to 11d3261 Compare August 31, 2026 10:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Copilot AI review requested due to automatic review settings August 31, 2026 10:58
@marco-saia-datadog
marco-saia-datadog force-pushed the marcosaia/chore/bump-android-sdk branch from 11d3261 to 9a6c9c5 Compare August 31, 2026 10:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Suppressed comments (1)

packages/internal-testing-tools/android/src/test/kotlin/com/datadog/reactnative/internaltesting/DdInternalTestingImplementationTest.kt:140

  • MockFeatureScope.withWriteContextSync currently ignores the provided callback and always returns false, which can make future tests behave as if a write context is unavailable even when the mock could provide one. Implement a minimal synchronous callback execution and return true to better match the expected contract of the API.
    override fun withWriteContextSync(
        withFeatureContexts: Set<String>,
        callback: (datadogContext: DatadogContext, write: EventWriteScope) -> Unit
    ): Boolean {
        return false
    }

Comment thread packages/core/android/build.gradle
Copilot AI review requested due to automatic review settings August 31, 2026 11:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.

Suppressed comments (1)

packages/internal-testing-tools/android/src/test/kotlin/com/datadog/reactnative/internaltesting/DdInternalTestingImplementationTest.kt:139

  • MockFeatureScope.withWriteContextSync currently returns false and does not invoke the callback. Together with the existing no-op withWriteContext, this makes the test effectively skip the event-writing/assertion path (the callback never runs). Implement these methods to call the callback with a deterministic DatadogContext and a minimal EventWriteScope, and return true when the sync callback is executed.
    override fun withWriteContextSync(
        withFeatureContexts: Set<String>,
        callback: (datadogContext: DatadogContext, write: EventWriteScope) -> Unit
    ): Boolean {
        return false

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants