Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
89d6645
Next dev iteration 1.27.0
aleksandr-gringauz Apr 27, 2026
8c3a2b4
Merge pull request #550 from DataDog/aleksandr-gringauz/bump-version-…
aleksandr-gringauz Apr 27, 2026
c52e7cb
Prepare release 1.26.0
aleksandr-gringauz Apr 27, 2026
dd7155d
remove ticket references
aleksandr-gringauz Apr 27, 2026
5b1b47f
Update Datadog Gradle Plugin to 1.26.0
Apr 27, 2026
e364a69
Merge pull request #552 from DataDog/aleksandr-gringauz/merge-release…
aleksandr-gringauz Apr 27, 2026
74e81cb
Merge pull request #551 from DataDog/update_datadog_gradle_plugin_1.26.0
aleksandr-gringauz Apr 27, 2026
f8ca078
RUM-16082: Limit Jetpack Compose instrumentation only to Android comp…
0xnm Apr 30, 2026
3473533
Merge pull request #555 from DataDog/nogorodnikov/rum-16082/limit-com…
0xnm Apr 30, 2026
780c246
RUM-16046: Lower the heap size for daemons in DdAndroidGradlePluginFu…
aleksandr-gringauz Apr 28, 2026
3a3b1b6
RUM-16046: Bump memory limit for test:plugin job
0xnm May 7, 2026
1ce29d8
Merge pull request #554 from DataDog/aleksandr-gringauz/RUM-16046/fix…
0xnm May 7, 2026
5f57f7a
Update static analysis template version
0xnm May 6, 2026
f717f21
RUM-16183: Move from buildSrc to isolated build plugins module
0xnm May 6, 2026
fe40df5
Merge pull request #557 from DataDog/nogorodnikov/update-static-analy…
0xnm May 7, 2026
6c52d1a
Merge pull request #556 from DataDog/nogorodnikov/rum-16183/move-from…
0xnm May 11, 2026
85bb50a
Update Datadog SDK to 3.10.0
satween May 14, 2026
b631d64
Merge pull request #558 from DataDog/update_sdk_3.10.0
gh-worker-dd-mergequeue-cf854d[bot] May 14, 2026
2a29cf1
Remove Kotlin Compiler Embeddable from the dependencies of the main p…
0xnm May 18, 2026
cba0570
Merge pull request #559 from DataDog/nogorodnikov/remove-compiler-emb…
0xnm May 18, 2026
a7d9e6e
RUM-15945: Sign automatically created commits
aleksandr-gringauz May 21, 2026
15e2c8a
Merge pull request #561 from DataDog/aleksandr-gringauz/RUM-15945/sig…
aleksandr-gringauz May 21, 2026
51c063b
RUM-16378: Resolve dependencies through Magic Mirror Depot in CI
hamorillo May 26, 2026
f49d298
Merge pull request #562 from DataDog/hector.morilloprieto/RUM-16378
hamorillo May 26, 2026
ac41360
Refactor compiler test infrastructure to support pluggable registrar …
ambushwork Jun 3, 2026
dfd4ec7
Merge pull request #563 from DataDog/yl/refactor-kotlin-compiler-test
ambushwork Jun 3, 2026
6baec8b
Bump Kotlin version to 2.3.20 for the project
ambushwork Jun 4, 2026
4431d01
Merge pull request #565 from DataDog/yl/bump-kotlin-version
ambushwork Jun 8, 2026
8b04302
Setup kotlin24 module to support kotlin 2.4
ambushwork Jun 4, 2026
6d51fbc
RUMS-6028: Set readTimeout on OkHttpClient to match writeTimeout
kikoveiga Jun 9, 2026
f73ffd2
Merge pull request #567 from DataDog/kikoveiga/RUMS-6028/fix-okhttp-r…
kikoveiga Jun 9, 2026
a8fb4ab
Merge pull request #566 from DataDog/yl/create-kotlin-24-module
ambushwork Jun 10, 2026
66b3904
Implement Kotlin 2.4 KCP support for Compose instrumentation
ambushwork Jun 10, 2026
926a396
Merge pull request #568 from DataDog/yl/implement-kotlin-24-support
ambushwork Jun 10, 2026
006aec0
Merge pull request #569 from DataDog/feature/kotlin24
ambushwork Jun 11, 2026
f7cd4cc
Prepare release 1.27.0
ambushwork Jun 11, 2026
f40534f
Merge pull request #570 from DataDog/yl/prepare-release-1-27-0
ambushwork Jun 11, 2026
2087dce
Merge branch 'release/1.27.0' into yl/merge-release-to-main
ambushwork Jun 11, 2026
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
13 changes: 13 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,24 @@

[*.{kt,kts}]
ktlint_code_style = android_studio
ktlint_experimental = disabled
ij_kotlin_allow_trailing_comma_on_call_site = false
ij_kotlin_allow_trailing_comma = false
ij_kotlin_imports_layout=*,java.**,javax.**,kotlin.**,^
ktlint_standard_class-signature = disabled
ktlint_standard_function-signature = disabled
ktlint_standard_function-expression-body = disabled
ktlint_standard_function-naming = disabled
ktlint_standard_property-naming = disabled
ktlint_standard_trailing-comma-on-call-site = disabled
ktlint_standard_trailing-comma-on-declaration-site = disabled
ktlint_function_naming_ignore_when_annotated_with = Composable
max_line_length = 120

# SPDX License Names
[buildSrc/src/main/kotlin/com/datadog/gradle/plugin/checklicenses/SPDXLicense.kt]
ktlint_standard_enum-entry-name-case = disabled

# by some reason not working via @Suppress anymore
[samples/basic/src/main/java/com/datadog/example/basic/MainActivity.kt]
ktlint_standard_no-unused-imports = disabled
11 changes: 10 additions & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
variables:
CURRENT_CI_IMAGE: "14"
CURRENT_CI_IMAGE: "15"
CI_IMAGE_DOCKER: 486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/dd-sdk-android-gradle-plugin:$CURRENT_CI_IMAGE
GIT_DEPTH: 5

Expand All @@ -20,6 +20,15 @@ variables:
KUBERNETES_MEMORY_REQUEST: "8Gi"
KUBERNETES_MEMORY_LIMIT: "20Gi"

# Magic Mirror Depot proxy URLs. The depot proxies both Maven Central and the Gradle
# Plugin Portal for the Java ecosystem from the same endpoint. Setting these routes
# dependency/plugin resolution through Datadog's internal mirror to avoid HTTP 429
# rate-limits from upstream registries.
# Declared as ORG_GRADLE_PROJECT_* so Gradle reads them as
# `providers.gradleProperty("<name>")` and they propagate to triggered child pipelines.
ORG_GRADLE_PROJECT_mavenRepositoryProxy: "https://depot-read-api-java.us1.ddbuild.io/magicmirror/magicmirror/@current/"
ORG_GRADLE_PROJECT_gradlePluginProxy: "https://depot-read-api-java.us1.ddbuild.io/magicmirror/magicmirror/@current/"

include:
- local: 'ci/pipelines/default-pipeline.yml'
rules:
Expand Down
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
# 1.27.0 / 2026-06-11

* [FEATURE] Add Kotlin 2.4 support for Compose instrumentation. See [#568](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/568)
* [BUGFIX] Limit Jetpack Compose instrumentation only to Android compilations. See [#555](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/555)
* [BUGFIX] Set `readTimeout` on `OkHttpClient` to match `writeTimeout`. See [#567](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/567)
* [IMPROVEMENT] Move from `buildSrc` to isolated build plugins module. See [#556](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/556)
* [IMPROVEMENT] Remove Kotlin Compiler Embeddable from the dependencies of the main plugin module. See [#559](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/559)
* [IMPROVEMENT] Refactor compiler test infrastructure to support pluggable registrar APIs. See [#563](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/563)
* [MAINTENANCE] Fix OOM in `test:plugin`. See [#554](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/554)
* [MAINTENANCE] Next dev iteration 1.27.0. See [#550](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/550)
* [MAINTENANCE] Merge release 1.26.0 to develop. See [#552](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/552)
* [MAINTENANCE] Update Datadog Gradle Plugin to version 1.26.0. See [#551](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/551)
* [MAINTENANCE] Update static analysis template version. See [#557](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/557)
* [MAINTENANCE] Update Datadog SDK to version 3.10.0. See [#558](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/558)
* [MAINTENANCE] Sign automatically created commits. See [#561](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/561)
* [MAINTENANCE] Resolve dependencies through Magic Mirror Depot in CI. See [#562](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/562)
* [MAINTENANCE] Bump Kotlin version to 2.3.20. See [#565](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/565)
* [MAINTENANCE] Merge `feature/kotlin24` into `develop`. See [#569](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/569)

# 1.26.0 / 2026-04-27

* [FEATURE] Add `US2_FED` datacenter support. See [#542](https://github.com/DataDog/dd-sdk-android-gradle-plugin/pull/542)
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ same feature from a Java source code.
Our coding style is ensured by [KtLint](https://ktlint.github.io/), with the
default settings. A KtLint check is ran on every PR to ensure that all new code
follow this rule.
Current KtLint version: 0.47.1
Current KtLint version: 1.5.0

Classes should group their methods in folding regions named after the declaring
class. Private methods should be grouped in an `Internal` named folding region.
Expand Down
1 change: 1 addition & 0 deletions LICENSE-3rdparty.csv
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ build,org.jetbrains.dokka,Apache-2.0,"Copyright 2014-2019 JetBrains s.r.o. and D
build,org.jetbrains.intellij.deps,LGPL-2.1-only,"Copyright (c) 2001-2002, Eric D. Friedman, Jason Baldridge, Copyright (c) 1999 CERN - European Organization for Nuclear Research"
import,com.android.tools.build,Apache-2.0,Copyright (C) 2013 The Android Open Source Project
import,com.squareup.okhttp3,Apache-2.0,"Copyright 2019 Square, Inc"
import,org.bouncycastle,BouncyCastle-License,"Copyright (c) 2000 - 2026 The Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org)""
import,org.jetbrains,Apache-2.0,Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors
import,org.jetbrains.kotlin,Apache-2.0,Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors
import,com.google.auto.service,Apache-2.0,Copyright 2013 Google LLC
Expand Down
24 changes: 19 additions & 5 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,40 @@

buildscript {
repositories {
// Magic Mirror Depot proxy (only set in CI via `.gitlab-ci.yml`).
listOf("gradlePluginProxy", "mavenRepositoryProxy")
.mapNotNull { providers.gradleProperty(it).orNull?.takeIf { url -> url.isNotBlank() } }
.forEach { url -> maven { setUrl(url) } }
google()
mavenCentral()
maven(com.datadog.gradle.Dependencies.Repositories.Gradle)
gradlePluginPortal()
mavenLocal()
}

dependencies {
classpath(libs.androidToolsPluginGradle)
classpath(libs.kotlinPluginGradle)
classpath(libs.dokkaPluginGradle)
// Uncomment to use the samples
// classpath(libs.datadogPluginGradle)
}
}

plugins {
alias(libs.plugins.kotlinPlugin23) apply false
alias(libs.plugins.dokkaJavadocPlugin) apply false
alias(libs.plugins.androidApplicationPlugin) apply false
alias(libs.plugins.androidLibraryPlugin) apply false
alias(libs.plugins.versionsPluginGradle) apply false
alias(libs.plugins.mavenPublishPlugin) apply false
}

allprojects {
repositories {
// Magic Mirror Depot proxy (only set in CI via `.gitlab-ci.yml`).
listOf("gradlePluginProxy", "mavenRepositoryProxy")
.mapNotNull { providers.gradleProperty(it).orNull?.takeIf { url -> url.isNotBlank() } }
.forEach { url -> maven(url) }
google()
mavenCentral()
maven(com.datadog.gradle.Dependencies.Repositories.Jitpack)
maven("https://jitpack.io")
maven("https://central.sonatype.com/repository/maven-snapshots/")
}
}
Expand Down
13 changes: 0 additions & 13 deletions buildSrc/settings.gradle.kts

This file was deleted.

51 changes: 0 additions & 51 deletions buildSrc/src/main/kotlin/com/datadog/gradle/KotlinDSLUtils.kt

This file was deleted.

This file was deleted.

1 change: 1 addition & 0 deletions ci/Dockerfile.gitlab
Original file line number Diff line number Diff line change
Expand Up @@ -97,3 +97,4 @@ RUN curl -L https://github.com/get-woke/woke/releases/download/v${WOKE_VERSION}/
&& rm -Rf woke-${WOKE_VERSION}-linux-amd64 woke-${WOKE_VERSION}-linux-amd64.tar.gz

COPY --from=registry.ddbuild.io/dd-octo-sts:v1.8.2 /usr/local/bin/dd-octo-sts /usr/local/bin/dd-octo-sts
COPY --from=registry.ddbuild.io/commit-headless:v2.0.1 /commit-headless /usr/local/bin/commit-headless
46 changes: 45 additions & 1 deletion ci/pipelines/default-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ static-analysis:
variables:
DETEKT_PUBLIC_API: "true"
trigger:
include: "https://gitlab-templates.ddbuild.io/mobile/v25558398-8517309a/static-analysis.yml"
include: "https://gitlab-templates.ddbuild.io/mobile/v111758402-8a2c8287/static-analysis.yml"
strategy: depend

analysis:licenses:
Expand All @@ -102,6 +102,9 @@ test:plugin:
image: $CI_IMAGE_DOCKER
stage: test
timeout: 1h
variables:
# Functional test is very memory heavy due to spinning real Gradle runners, having daemons in memory
KUBERNETES_MEMORY_LIMIT: "25Gi"
script:
- rm -rf ~/.gradle/daemon/
- CODECOV_TOKEN=$(aws ssm get-parameter --region us-east-1 --name ci.dd-sdk-android-gradle-plugin.codecov-token --with-decryption --query "Parameter.Value" --out text)
Expand Down Expand Up @@ -197,6 +200,46 @@ test:kotlin22:
reports:
junit: dd-sdk-android-gradle-plugin-kcp-kotlin22/build/test-results/test/TEST-*.xml

test:kotlin24:
tags: [ "arch:amd64" ]
image: $CI_IMAGE_DOCKER
stage: test
timeout: 1h
script:
- rm -rf ~/.gradle/daemon/
- CODECOV_TOKEN=$(aws ssm get-parameter --region us-east-1 --name ci.dd-sdk-android-gradle-plugin.codecov-token --with-decryption --query "Parameter.Value" --out text)
- export DD_AGENT_HOST="$BUILDENV_HOST_IP"
- GRADLE_OPTS="-Xmx2560m" DD_TAGS="test.module:dd-sdk-android-gradle-plugin-kcp-kotlin24" ./gradlew :dd-sdk-android-gradle-plugin-kcp-kotlin24:test --stacktrace --no-daemon -Dorg.gradle.jvmargs=-javaagent:$(pwd)/libs/dd-java-agent-1.54.0.jar=$DD_COMMON_AGENT_CONFIG
- bash <(cat ./ci/scripts/codecov.sh) -t $CODECOV_TOKEN
- |
if [ -n "$DD_API_KEY" ]; then
curl -L --fail "https://github.com/DataDog/datadog-ci/releases/latest/download/datadog-ci_linux-x64" --output "/usr/local/bin/datadog-ci" && chmod +x /usr/local/bin/datadog-ci
datadog-ci coverage upload --format=jacoco . || true
fi
artifacts:
reports:
junit: dd-sdk-android-gradle-plugin-kcp-kotlin24/build/test-results/test/TEST-*.xml

test:build-config:
tags: [ "arch:amd64" ]
image: $CI_IMAGE_DOCKER
stage: test
timeout: 1h
script:
- rm -rf ~/.gradle/daemon/
- CODECOV_TOKEN=$(aws ssm get-parameter --region us-east-1 --name ci.dd-sdk-android-gradle-plugin.codecov-token --with-decryption --query "Parameter.Value" --out text)
- export DD_AGENT_HOST="$BUILDENV_HOST_IP"
- GRADLE_OPTS="-Xmx2560m" DD_TAGS="test.module:dd-sdk-android-gradle-plugin-build-config" ./gradlew :build-config:test --stacktrace --no-daemon -Dorg.gradle.jvmargs=-javaagent:$(pwd)/libs/dd-java-agent-1.54.0.jar=$DD_COMMON_AGENT_CONFIG
- bash <(cat ./ci/scripts/codecov.sh) -t $CODECOV_TOKEN
- |
if [ -n "$DD_API_KEY" ]; then
curl -L --fail "https://github.com/DataDog/datadog-ci/releases/latest/download/datadog-ci_linux-x64" --output "/usr/local/bin/datadog-ci" && chmod +x /usr/local/bin/datadog-ci
datadog-ci coverage upload --format=jacoco . || true
fi
artifacts:
reports:
junit: tools/build-config/build/test-results/test/TEST-*.xml

test:instrumented:
tags: [ "macos:sonoma" ]
stage: test
Expand Down Expand Up @@ -229,6 +272,7 @@ publish:publish-sonatype:
- ./gradlew :dd-sdk-android-gradle-plugin-kcp-kotlin20:publishMavenPublicationToMavenCentralRepository --stacktrace --no-daemon
- ./gradlew :dd-sdk-android-gradle-plugin-kcp-kotlin21:publishMavenPublicationToMavenCentralRepository --stacktrace --no-daemon
- ./gradlew :dd-sdk-android-gradle-plugin-kcp-kotlin22:publishMavenPublicationToMavenCentralRepository --stacktrace --no-daemon
- ./gradlew :dd-sdk-android-gradle-plugin-kcp-kotlin24:publishMavenPublicationToMavenCentralRepository --stacktrace --no-daemon

publish:publish-gradle-portal:
tags: [ "arch:amd64" ]
Expand Down
Loading
Loading