From a30e58bd63204625682b09bc9125c907b63be97e Mon Sep 17 00:00:00 2001 From: Lukas Bloder Date: Sun, 21 Jun 2026 07:01:46 +0200 Subject: [PATCH 1/5] add spring-boot 4.1.0 to testmatrix --- .github/workflows/spring-boot-4-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/spring-boot-4-matrix.yml b/.github/workflows/spring-boot-4-matrix.yml index 450dbd8c98..d6cfceffb5 100644 --- a/.github/workflows/spring-boot-4-matrix.yml +++ b/.github/workflows/spring-boot-4-matrix.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - springboot-version: [ '4.0.0', '4.0.5' ] + springboot-version: [ '4.0.0', '4.0.5', '4.1.0' ] name: Spring Boot ${{ matrix.springboot-version }} env: From d24025c51a00d480a668a611e210ea5812d5d203 Mon Sep 17 00:00:00 2001 From: Lukas Bloder Date: Mon, 22 Jun 2026 07:30:14 +0200 Subject: [PATCH 2/5] update kotlin in spring4 samples to 2.0 metadata --- sentry-samples/sentry-samples-spring-7/build.gradle.kts | 4 ++-- .../build.gradle.kts | 4 ++-- .../build.gradle.kts | 4 ++-- .../sentry-samples-spring-boot-4-otlp/build.gradle.kts | 4 ++-- .../sentry-samples-spring-boot-4-webflux/build.gradle.kts | 4 ++-- sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/sentry-samples/sentry-samples-spring-7/build.gradle.kts b/sentry-samples/sentry-samples-spring-7/build.gradle.kts index e3300cd284..182e2f8358 100644 --- a/sentry-samples/sentry-samples-spring-7/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-7/build.gradle.kts @@ -62,8 +62,8 @@ tasks.withType().configureEach { // compiled against a newer version of Kotlin compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict", "-Xskip-metadata-version-check") compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 - compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 - compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0 } } diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts index 64ef57692c..dd57056918 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts @@ -30,8 +30,8 @@ tasks.withType().configureEach { // compiled against a newer version of Kotlin compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict", "-Xskip-metadata-version-check") compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 - compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 - compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0 } } diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts index e12b960e0f..392020a92e 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts @@ -31,8 +31,8 @@ tasks.withType().configureEach { // compiled against a newer version of Kotlin compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict", "-Xskip-metadata-version-check") compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 - compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 - compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0 } } diff --git a/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts index 7329d5cc0e..2cda59cf8f 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts @@ -30,8 +30,8 @@ tasks.withType().configureEach { // compiled against a newer version of Kotlin compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict", "-Xskip-metadata-version-check") compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 - compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 - compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0 } } diff --git a/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts index a311b8a972..8d5f94f1a3 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts @@ -57,8 +57,8 @@ tasks.withType().configureEach { // compiled against a newer version of Kotlin compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict", "-Xskip-metadata-version-check") compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 - compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 - compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0 } } diff --git a/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts index cdb33ecc67..7bb642da39 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts @@ -30,8 +30,8 @@ tasks.withType().configureEach { // compiled against a newer version of Kotlin compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict", "-Xskip-metadata-version-check") compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 - compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 - compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0 } } From 1c71af71c07065a3a4d9cbf0ae1a35256b17c390 Mon Sep 17 00:00:00 2001 From: Lukas Bloder Date: Mon, 22 Jun 2026 07:46:56 +0200 Subject: [PATCH 3/5] update kotlin for spring7 projects --- gradle/libs.versions.toml | 2 +- sentry-samples/sentry-samples-spring-7/build.gradle.kts | 2 +- .../build.gradle.kts | 2 +- .../sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts | 2 +- .../sentry-samples-spring-boot-4-otlp/build.gradle.kts | 2 +- .../sentry-samples-spring-boot-4-webflux/build.gradle.kts | 2 +- sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 68521efdfc..1f69cc3a16 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,7 +14,7 @@ gummyBears = "0.12.0" jackson = "2.18.3" jetbrainsCompose = "1.6.11" kotlin = "2.2.0" -kotlinSpring7 = "2.2.0" +kotlinSpring7 = "2.3.21" kotlin-compatible-version = "1.9" ksp = "2.3.9" ktorClient = "3.0.0" diff --git a/sentry-samples/sentry-samples-spring-7/build.gradle.kts b/sentry-samples/sentry-samples-spring-7/build.gradle.kts index 182e2f8358..dcecff8548 100644 --- a/sentry-samples/sentry-samples-spring-7/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-7/build.gradle.kts @@ -7,7 +7,7 @@ plugins { alias(libs.plugins.springboot4) apply false alias(libs.plugins.spring.dependency.management) alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.kotlin.spring) + alias(libs.plugins.kotlin.spring7) id("war") alias(libs.plugins.gretty) } diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts index dd57056918..7051288968 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts @@ -5,7 +5,7 @@ plugins { alias(libs.plugins.springboot4) alias(libs.plugins.spring.dependency.management) alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.kotlin.spring) + alias(libs.plugins.kotlin.spring7) } group = "io.sentry.sample.spring-boot-4" diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts index 392020a92e..f6574b0b60 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts @@ -6,7 +6,7 @@ plugins { alias(libs.plugins.springboot4) alias(libs.plugins.spring.dependency.management) alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.kotlin.spring) + alias(libs.plugins.kotlin.spring7) } group = "io.sentry.sample.spring-boot-4" diff --git a/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts index 2cda59cf8f..c323fc279f 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts @@ -5,7 +5,7 @@ plugins { alias(libs.plugins.springboot4) alias(libs.plugins.spring.dependency.management) alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.kotlin.spring) + alias(libs.plugins.kotlin.spring7) } group = "io.sentry.sample.spring-boot-4-otlp" diff --git a/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts index 8d5f94f1a3..1733026c26 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts @@ -5,7 +5,7 @@ plugins { alias(libs.plugins.springboot4) alias(libs.plugins.spring.dependency.management) alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.kotlin.spring) + alias(libs.plugins.kotlin.spring7) } group = "io.sentry.sample.spring-boot-4-webflux" diff --git a/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts index 7bb642da39..76221236c6 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts @@ -5,7 +5,7 @@ plugins { alias(libs.plugins.springboot4) alias(libs.plugins.spring.dependency.management) alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.kotlin.spring) + alias(libs.plugins.kotlin.spring7) } group = "io.sentry.sample.spring-boot-4" From f90071ae759cbd942169ef86654f0bb846b7c787 Mon Sep 17 00:00:00 2001 From: Lukas Bloder Date: Mon, 22 Jun 2026 09:17:31 +0200 Subject: [PATCH 4/5] Revert "update kotlin for spring7 projects" This reverts commit 1c71af71c07065a3a4d9cbf0ae1a35256b17c390. --- gradle/libs.versions.toml | 2 +- sentry-samples/sentry-samples-spring-7/build.gradle.kts | 2 +- .../build.gradle.kts | 2 +- .../sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts | 2 +- .../sentry-samples-spring-boot-4-otlp/build.gradle.kts | 2 +- .../sentry-samples-spring-boot-4-webflux/build.gradle.kts | 2 +- sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1f69cc3a16..68521efdfc 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,7 +14,7 @@ gummyBears = "0.12.0" jackson = "2.18.3" jetbrainsCompose = "1.6.11" kotlin = "2.2.0" -kotlinSpring7 = "2.3.21" +kotlinSpring7 = "2.2.0" kotlin-compatible-version = "1.9" ksp = "2.3.9" ktorClient = "3.0.0" diff --git a/sentry-samples/sentry-samples-spring-7/build.gradle.kts b/sentry-samples/sentry-samples-spring-7/build.gradle.kts index dcecff8548..182e2f8358 100644 --- a/sentry-samples/sentry-samples-spring-7/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-7/build.gradle.kts @@ -7,7 +7,7 @@ plugins { alias(libs.plugins.springboot4) apply false alias(libs.plugins.spring.dependency.management) alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.kotlin.spring7) + alias(libs.plugins.kotlin.spring) id("war") alias(libs.plugins.gretty) } diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts index 7051288968..dd57056918 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts @@ -5,7 +5,7 @@ plugins { alias(libs.plugins.springboot4) alias(libs.plugins.spring.dependency.management) alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.kotlin.spring7) + alias(libs.plugins.kotlin.spring) } group = "io.sentry.sample.spring-boot-4" diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts index f6574b0b60..392020a92e 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts @@ -6,7 +6,7 @@ plugins { alias(libs.plugins.springboot4) alias(libs.plugins.spring.dependency.management) alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.kotlin.spring7) + alias(libs.plugins.kotlin.spring) } group = "io.sentry.sample.spring-boot-4" diff --git a/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts index c323fc279f..2cda59cf8f 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts @@ -5,7 +5,7 @@ plugins { alias(libs.plugins.springboot4) alias(libs.plugins.spring.dependency.management) alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.kotlin.spring7) + alias(libs.plugins.kotlin.spring) } group = "io.sentry.sample.spring-boot-4-otlp" diff --git a/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts index 1733026c26..8d5f94f1a3 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts @@ -5,7 +5,7 @@ plugins { alias(libs.plugins.springboot4) alias(libs.plugins.spring.dependency.management) alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.kotlin.spring7) + alias(libs.plugins.kotlin.spring) } group = "io.sentry.sample.spring-boot-4-webflux" diff --git a/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts index 76221236c6..7bb642da39 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts @@ -5,7 +5,7 @@ plugins { alias(libs.plugins.springboot4) alias(libs.plugins.spring.dependency.management) alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.kotlin.spring7) + alias(libs.plugins.kotlin.spring) } group = "io.sentry.sample.spring-boot-4" From 637cdc4757e34629801f64af712353cc3c190d91 Mon Sep 17 00:00:00 2001 From: Lukas Bloder Date: Mon, 22 Jun 2026 09:24:44 +0200 Subject: [PATCH 5/5] set kotlin versions to pair with spring-boot versions --- .github/workflows/spring-boot-4-matrix.yml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/spring-boot-4-matrix.yml b/.github/workflows/spring-boot-4-matrix.yml index d6cfceffb5..b467451142 100644 --- a/.github/workflows/spring-boot-4-matrix.yml +++ b/.github/workflows/spring-boot-4-matrix.yml @@ -21,9 +21,15 @@ jobs: strategy: fail-fast: false matrix: - springboot-version: [ '4.0.0', '4.0.5', '4.1.0' ] - - name: Spring Boot ${{ matrix.springboot-version }} + include: + - springboot-version: '4.0.0' + kotlin-version: '2.2.0' + - springboot-version: '4.0.5' + kotlin-version: '2.2.21' + - springboot-version: '4.1.0' + kotlin-version: '2.3.21' + + name: Spring Boot ${{ matrix.springboot-version }} / Kotlin ${{ matrix.kotlin-version }} env: SENTRY_URL: http://127.0.0.1:8000 GRADLE_ENCRYPTION_KEY: ${{ secrets.GRADLE_ENCRYPTION_KEY }} @@ -62,11 +68,16 @@ jobs: with: cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} - - name: Update Spring Boot 4.x version + - name: Update Spring Boot 4.x and Kotlin versions run: | springboot_version="${{ matrix.springboot-version }}" + kotlin_version="${{ matrix.kotlin-version }}" + perl -0pi -e 'BEGIN { $v = shift } s/^springboot4[[:space:]]*=[[:space:]]*"\K[^"]*/$v/m or die "::error::springboot4 version entry not found in gradle/libs.versions.toml\n"' "$springboot_version" gradle/libs.versions.toml + perl -0pi -e 'BEGIN { $v = shift } s/^kotlin[[:space:]]*=[[:space:]]*"\K[^"]*/$v/m or die "::error::kotlin version entry not found in gradle/libs.versions.toml\n"' "$kotlin_version" gradle/libs.versions.toml + echo "Updated Spring Boot 4.x version to $springboot_version" + echo "Updated Kotlin version to $kotlin_version" - name: Build sample artifacts run: |