Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
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
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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-18

### 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
Expand Down
13 changes: 4 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ for details.

<p align="center">
<img alt="Stable" src="https://img.shields.io/badge/status-stable-informational?style=for-the-badge">
<a href="https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v2.24.0">
<img alt="OpenTelemetry Instrumentation for Java Version" src="https://img.shields.io/badge/otel-2.24.0-blueviolet?style=for-the-badge">
<a href="https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v2.25.0">
<img alt="OpenTelemetry Instrumentation for Java Version" src="https://img.shields.io/badge/otel-2.25.0-blueviolet?style=for-the-badge">
</a>
<a href="https://github.com/signalfx/gdi-specification/releases/tag/v1.8.0">
<img alt="Splunk GDI specification" src="https://img.shields.io/badge/GDI-1.8.0-blueviolet?style=for-the-badge">
Expand Down Expand Up @@ -76,11 +76,6 @@ see [Migrate from the SignalFx Java Agent](https://help.splunk.com/en/splunk-obs

<!-- Comments, spacing, empty and new lines in the section below are intentional, please do not modify them! -->
<!--DEV_DOCS_WARNING-->
<!--DEV_DOCS_WARNING_START-->
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).

---
<!--DEV_DOCS_WARNING_END-->

## Requirements

Expand Down Expand Up @@ -112,11 +107,11 @@ To extend the instrumentation with the OpenTelemetry Instrumentation for Java,
you have to use a compatible API version.

<!-- IMPORTANT: do not change comments or break those lines below -->
The Splunk Distribution of OpenTelemetry Java version <!--SPLUNK_VERSION-->2.24.0<!--SPLUNK_VERSION--> is compatible
The Splunk Distribution of OpenTelemetry Java version <!--SPLUNK_VERSION-->2.25.0<!--SPLUNK_VERSION--> is compatible
with:

* OpenTelemetry API version <!--OTEL_VERSION-->1.57.0<!--OTEL_VERSION-->
* OpenTelemetry Instrumentation for Java version <!--OTEL_INSTRUMENTATION_VERSION-->2.24.0<!--OTEL_INSTRUMENTATION_VERSION-->
* OpenTelemetry Instrumentation for Java version <!--OTEL_INSTRUMENTATION_VERSION-->2.25.0<!--OTEL_INSTRUMENTATION_VERSION-->

## Snapshot builds

Expand Down
1 change: 0 additions & 1 deletion agent/license-overrides.txt
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,13 @@
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;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.DistributionPropertyModel;
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;

/**
Expand All @@ -45,7 +43,17 @@
* <p>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 {
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.

I see that detecting declarative configuration is getting more and more tricky. I think it would be good to contribute something in this area to the upstream.

try {
DECLARATIVE_CONFIG_PROPERTIES_BRIDGE_CLASS =
Class.forName(
"io.opentelemetry.instrumentation.config.bridge.DeclarativeConfigPropertiesBridge");
} catch (ClassNotFoundException exception) {
throw new IllegalStateException(exception);
}
}

private AutoConfigureUtil() {}

Expand All @@ -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);
Comment on lines +66 to +69
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.

hacktastic! 🚀

}

public static ConfigProvider getConfigProvider(AutoConfiguredOpenTelemetrySdk sdk) {
Expand Down
6 changes: 3 additions & 3 deletions dependencyManagement/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion deployments/cloudfoundry/buildpack/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
40 changes: 20 additions & 20 deletions licenses/licenses.md
Original file line number Diff line number Diff line change
@@ -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`
Expand All @@ -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)

Expand Down
2 changes: 1 addition & 1 deletion version.gradle.kts
Original file line number Diff line number Diff line change
@@ -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
Expand Down