diff --git a/.github/workflows/spring-boot-4-matrix.yml b/.github/workflows/spring-boot-4-matrix.yml index a1da787305..cf30cf0500 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: diff --git a/CHANGELOG.md b/CHANGELOG.md index 95b21f4380..18713588b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,14 @@ ### Dependencies +- Bump OpenTelemetry to support Spring Boot 4.1 ([#5573](https://github.com/getsentry/sentry-java/pull/5573)) + - If this causes issues for you because you are also using Spring Boot Dependency Management Plugin (io.spring.dependency-management), + which may downgrade the OpenTelemetry SDK, please have a look at the changelog entry above that explains how to use `sentry-opentelemetry-bom`. + - OpenTelemetry to 1.63.0 (was 1.60.1) + - OpenTelemetry Instrumentation to 2.29.0 (was 2.26.0) + - OpenTelemetry Instrumentation Alpha to 2.29.0-alpha (was 2.26.0-alpha) + - OpenTelemetry Semantic Conventions to 1.42.0 (was 1.40.0) + - OpenTelemetry Semantic Conventions Alpha to 1.42.0-alpha (was 1.40.0-alpha) - Bump Native SDK from v0.15.2 to v0.15.3 ([#5728](https://github.com/getsentry/sentry-java/pull/5728)) - [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0153) - [diff](https://github.com/getsentry/sentry-native/compare/0.15.2...0.15.3) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index fc102b6f5f..3a409707f3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,8 +13,7 @@ feign = "11.6" gummyBears = "0.12.0" jackson = "2.18.3" jetbrainsCompose = "1.6.11" -kotlin = "2.2.0" -kotlinSpring7 = "2.2.0" +kotlin = "2.3.21" kotlin-compatible-version = "1.9" ksp = "2.3.9" ktorClient = "3.0.0" @@ -25,14 +24,13 @@ nopen = "1.0.1" # see https://developer.android.com/jetpack/androidx/releases/compose-kotlin okhttp = "4.9.2" openfeature = "1.18.2" -otel = "1.60.1" -# Keep alpha OpenTelemetry BOMs in sync with their stable counterparts: -alpha. -otelAlpha = "1.60.1-alpha" -otelInstrumentation = "2.26.0" -otelInstrumentationAlpha = "2.26.0-alpha" +otel = "1.63.0" +otelAlpha = "1.63.0-alpha" +otelInstrumentation = "2.29.0" +otelInstrumentationAlpha = "2.29.0-alpha" # check https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/dependencyManagement/build.gradle.kts#L49 for release version above to find a compatible version -otelSemanticConventions = "1.40.0" -otelSemanticConventionsAlpha = "1.40.0-alpha" +otelSemanticConventions = "1.42.0" +otelSemanticConventionsAlpha = "1.42.0-alpha" retrofit = "2.9.0" room2 = "2.8.4" room3 = "3.0.0-rc01" @@ -40,10 +38,10 @@ sagp = "6.13.0" sqlite = "2.6.2" sqliteRc = "2.7.0-rc01" # Required by Room3 3.0.0-rc* slf4j = "1.7.30" -spotless = "8.4.0" +spotless = "8.6.0" springboot2 = "2.7.18" springboot3 = "3.5.0" -springboot4 = "4.0.0" +springboot4 = "4.1.0" sqldelight = "2.3.2" # Android @@ -54,8 +52,6 @@ minSdk = "21" [plugins] kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-spring = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlin" } -kotlin-spring7 = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlinSpring7" } -kotlin-jvm-spring7 = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlinSpring7" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } @@ -132,7 +128,6 @@ jackson-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin" jetbrains-annotations = { module = "org.jetbrains:annotations", version = "23.0.0" } kotlin-bom = { module = "org.jetbrains.kotlin:kotlin-bom", version.ref = "kotlin" } kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" } -kotlin-test-junit-spring7 = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlinSpring7" } kotlinx-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" } ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktorClient" } diff --git a/sentry-samples/sentry-samples-spring-7/build.gradle.kts b/sentry-samples/sentry-samples-spring-7/build.gradle.kts index daeab91f28..b0cd329777 100644 --- a/sentry-samples/sentry-samples-spring-7/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-7/build.gradle.kts @@ -26,7 +26,12 @@ java.sourceCompatibility = JavaVersion.VERSION_17 java.targetCompatibility = JavaVersion.VERSION_17 -dependencyManagement { imports { mavenBom(SpringBootPlugin.BOM_COORDINATES) } } +dependencyManagement { + imports { + mavenBom(SpringBootPlugin.BOM_COORDINATES) + mavenBom(libs.kotlin.bom.get().toString()) + } +} dependencies { implementation(Config.Libs.springWeb) @@ -49,7 +54,7 @@ dependencies { testImplementation(projects.sentrySystemTestSupport) testImplementation(libs.kotlin.test.junit) - testImplementation(libs.springboot.starter.test) { + testImplementation(libs.springboot4.starter.test) { exclude(group = "org.junit.vintage", module = "junit-vintage-engine") } }