diff --git a/CHANGELOG.md b/CHANGELOG.md index 0cf9c4672..f6165a617 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,15 @@ The format is based on the [Splunk GDI specification](https://github.com/signalfx/gdi-specification/blob/v1.0.0/specification/repository.md), and this repository adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +## v2.25.0 - 2026-02-20 + +### General + +- OpenTelemetry Java SDK has been updated to version 1.59.0. +- OpenTelemetry Instrumentation for Java has been updated to version 2.25.0. + ## v2.24.0 - 2026-01-21 ### General diff --git a/README.md b/README.md index 94c311dd1..f6e9fe731 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ for details.

Stable - - OpenTelemetry Instrumentation for Java Version + + OpenTelemetry Instrumentation for Java Version Splunk GDI specification @@ -76,11 +76,6 @@ see [Migrate from the SignalFx Java Agent](https://help.splunk.com/en/splunk-obs - -The following documentation refers to the in-development version of `splunk-otel-java`. Docs for the latest version ([v2.24.0](https://github.com/signalfx/splunk-otel-java/releases/latest)) can be found [here](https://github.com/signalfx/splunk-otel-java/blob/v2.24.0/README.md). - ---- - ## Requirements @@ -112,11 +107,11 @@ To extend the instrumentation with the OpenTelemetry Instrumentation for Java, you have to use a compatible API version. -The Splunk Distribution of OpenTelemetry Java version 2.24.0 is compatible +The Splunk Distribution of OpenTelemetry Java version 2.25.0 is compatible with: * OpenTelemetry API version 1.57.0 -* OpenTelemetry Instrumentation for Java version 2.24.0 +* OpenTelemetry Instrumentation for Java version 2.25.0 ## Snapshot builds diff --git a/agent/license-overrides.txt b/agent/license-overrides.txt index f977592df..efbdaf3ad 100644 --- a/agent/license-overrides.txt +++ b/agent/license-overrides.txt @@ -1,3 +1,2 @@ # opentelemetry-sdk-trace jar includes META-INF/maven/org.jctools/jctools-core Hopefully this will get removed in the next release and we won't need these overrides -io.opentelemetry:opentelemetry-sdk-trace:1.58.0|https://github.com/open-telemetry/opentelemetry-java|Apache License, Version 2.0|https://www.apache.org/licenses/LICENSE-2.0 io.opentelemetry:opentelemetry-sdk-trace:1.59.0|https://github.com/open-telemetry/opentelemetry-java|Apache License, Version 2.0|https://www.apache.org/licenses/LICENSE-2.0 diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index d502b0cfb..9712e7e15 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -41,7 +41,7 @@ dependencies { implementation(gradleApi()) implementation("com.diffplug.spotless:spotless-plugin-gradle:8.2.1") - implementation("io.opentelemetry.instrumentation:gradle-plugins:2.23.0-alpha") + implementation("io.opentelemetry.instrumentation:gradle-plugins:2.25.0-alpha") // keep these versions in sync with settings.gradle.kts implementation("com.gradleup.shadow:shadow-gradle-plugin:9.3.1") diff --git a/custom/src/main/java/io/opentelemetry/sdk/autoconfigure/AutoConfigureUtil.java b/custom/src/main/java/io/opentelemetry/sdk/autoconfigure/AutoConfigureUtil.java index 976699657..daf67a332 100644 --- a/custom/src/main/java/io/opentelemetry/sdk/autoconfigure/AutoConfigureUtil.java +++ b/custom/src/main/java/io/opentelemetry/sdk/autoconfigure/AutoConfigureUtil.java @@ -23,7 +23,6 @@ import io.opentelemetry.api.incubator.config.ConfigProvider; import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties; import io.opentelemetry.common.ComponentLoader; -import io.opentelemetry.instrumentation.config.bridge.ConfigPropertiesBackedConfigProvider; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.extension.incubator.fileconfig.YamlDeclarativeConfigProperties; import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.DistributionModel; @@ -31,7 +30,6 @@ import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OpenTelemetryConfigurationModel; import io.opentelemetry.sdk.resources.Resource; import java.util.Map; -import java.util.logging.Logger; import java.util.stream.Collectors; /** @@ -45,7 +43,17 @@ *

This class is internal and is not intended for public use. */ public final class AutoConfigureUtil { - private static final Logger logger = Logger.getLogger(AutoConfigureUtil.class.getName()); + private static final Class DECLARATIVE_CONFIG_PROPERTIES_BRIDGE_CLASS; + + static { + try { + DECLARATIVE_CONFIG_PROPERTIES_BRIDGE_CLASS = + Class.forName( + "io.opentelemetry.instrumentation.config.bridge.DeclarativeConfigPropertiesBridge"); + } catch (ClassNotFoundException exception) { + throw new IllegalStateException(exception); + } + } private AutoConfigureUtil() {} @@ -55,9 +63,10 @@ public static ConfigProperties getConfig(AutoConfiguredOpenTelemetrySdk sdk) { } public static boolean isDeclarativeConfig(AutoConfiguredOpenTelemetrySdk sdk) { - ConfigProvider configProvider = getConfigProvider(sdk); - return configProvider != null - && !(configProvider instanceof ConfigPropertiesBackedConfigProvider); + ConfigProperties configProperties = + io.opentelemetry.sdk.autoconfigure.internal.AutoConfigureUtil.getConfig(sdk); + return configProperties == null + || DECLARATIVE_CONFIG_PROPERTIES_BRIDGE_CLASS.isInstance(configProperties); } public static ConfigProvider getConfigProvider(AutoConfiguredOpenTelemetrySdk sdk) { diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index d393fb46a..7040faeba 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -2,11 +2,11 @@ plugins { `java-platform` } -val otelVersion = "1.58.0" +val otelVersion = "1.59.0" val otelAlphaVersion = otelVersion.replaceFirst("(-SNAPSHOT)?$".toRegex(), "-alpha$1") -val otelInstrumentationVersion = "2.24.0" +val otelInstrumentationVersion = "2.25.0" val otelInstrumentationAlphaVersion = otelInstrumentationVersion.replaceFirst("(-SNAPSHOT)?$".toRegex(), "-alpha$1") -val otelContribAlphaVersion = "1.52.0-alpha" +val otelContribAlphaVersion = "1.53.0-alpha" val autoValueVersion = "1.11.1" val dockerJavaVersion = "3.7.0" diff --git a/deployments/cloudfoundry/buildpack/README.md b/deployments/cloudfoundry/buildpack/README.md index c98ab0c4f..6c8fd885b 100644 --- a/deployments/cloudfoundry/buildpack/README.md +++ b/deployments/cloudfoundry/buildpack/README.md @@ -40,7 +40,7 @@ If you want to use a specific version of the Java agent in your application, you environment variable before application deployment, either using `cf set-env` or the `manifest.yml` file: ```sh -$ cf set-env SPLUNK_OTEL_JAVA_VERSION 2.24.0 +$ cf set-env SPLUNK_OTEL_JAVA_VERSION 2.25.0 ``` By default, the [latest](https://github.com/signalfx/splunk-otel-java/releases/latest) available agent version is used. diff --git a/licenses/licenses.md b/licenses/licenses.md index 2add4ef4d..7d8345d02 100644 --- a/licenses/licenses.md +++ b/licenses/licenses.md @@ -1,7 +1,7 @@ # splunk-otel-javaagent ## Dependency License Report -_2026-02-17 11:11:16 EET_ +_2026-02-17 13:55:38 EET_ ## Apache License, Version 2.0 **1** **Group:** `com.squareup.okhttp3` **Name:** `okhttp` **Version:** `5.3.2` @@ -20,79 +20,79 @@ _2026-02-17 11:11:16 EET_ > - **POM Project URL**: [https://github.com/square/okio/](https://github.com/square/okio/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**5** **Group:** `com.squareup.wire` **Name:** `wire-runtime` **Version:** `5.4.0` +**5** **Group:** `com.squareup.wire` **Name:** `wire-runtime` **Version:** `5.5.0` > - **POM Project URL**: [https://github.com/square/wire/](https://github.com/square/wire/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**6** **Group:** `com.squareup.wire` **Name:** `wire-runtime-jvm` **Version:** `5.4.0` +**6** **Group:** `com.squareup.wire` **Name:** `wire-runtime-jvm` **Version:** `5.5.0` > - **POM Project URL**: [https://github.com/square/wire/](https://github.com/square/wire/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**7** **Group:** `io.opentelemetry` **Name:** `opentelemetry-api` **Version:** `1.58.0` +**7** **Group:** `io.opentelemetry` **Name:** `opentelemetry-api` **Version:** `1.59.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**8** **Group:** `io.opentelemetry` **Name:** `opentelemetry-common` **Version:** `1.58.0` +**8** **Group:** `io.opentelemetry` **Name:** `opentelemetry-common` **Version:** `1.59.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**9** **Group:** `io.opentelemetry` **Name:** `opentelemetry-context` **Version:** `1.58.0` +**9** **Group:** `io.opentelemetry` **Name:** `opentelemetry-context` **Version:** `1.59.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**10** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-common` **Version:** `1.58.0` +**10** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-common` **Version:** `1.59.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**11** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-otlp` **Version:** `1.58.0` +**11** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-otlp` **Version:** `1.59.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**12** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-otlp-common` **Version:** `1.58.0` +**12** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-otlp-common` **Version:** `1.59.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**13** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-sender-okhttp` **Version:** `1.58.0` +**13** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-sender-okhttp` **Version:** `1.59.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**14** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk` **Version:** `1.58.0` +**14** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk` **Version:** `1.59.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**15** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-common` **Version:** `1.58.0` +**15** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-common` **Version:** `1.59.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**16** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-autoconfigure-spi` **Version:** `1.58.0` +**16** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-autoconfigure-spi` **Version:** `1.59.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**17** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-logs` **Version:** `1.58.0` +**17** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-logs` **Version:** `1.59.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**18** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-metrics` **Version:** `1.58.0` +**18** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-metrics` **Version:** `1.59.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**19** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-trace` **Version:** `1.58.0` +**19** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-trace` **Version:** `1.59.0` > - **Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **License URL**: [https://www.apache.org/licenses/LICENSE-2.0](Apache License, Version 2.0) -**20** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-opamp-client` **Version:** `1.52.0-alpha` +**20** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-opamp-client` **Version:** `1.53.0-alpha` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**21** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-resource-providers` **Version:** `1.52.0-alpha` +**21** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-resource-providers` **Version:** `1.53.0-alpha` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**22** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-samplers` **Version:** `1.52.0-alpha` +**22** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-samplers` **Version:** `1.53.0-alpha` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**23** **Group:** `io.opentelemetry.instrumentation` **Name:** `opentelemetry-instrumentation-bom-alpha` **Version:** `2.24.0-alpha` +**23** **Group:** `io.opentelemetry.instrumentation` **Name:** `opentelemetry-instrumentation-bom-alpha` **Version:** `2.25.0-alpha` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java-instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) diff --git a/version.gradle.kts b/version.gradle.kts index 33329c9fc..8d7e110f8 100644 --- a/version.gradle.kts +++ b/version.gradle.kts @@ -1,5 +1,5 @@ // do NOT update that variable manually - it is managed by the pre/post release scripts -val distroVersion = "2.25.0-SNAPSHOT" +val distroVersion = "2.25.0" allprojects { version = distroVersion