Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ and this repository adheres to [Semantic Versioning](https://semver.org/spec/v2.

## Unreleased

## v2.26.0 - 2026-03-18

- OpenTelemetry Java SDK has been updated to version 1.60.1.
- OpenTelemetry Instrumentation for Java has been updated to version 2.26.0.

## v2.25.1 - 2026-02-26

- Update CSA to version 26.2.1-1436.
Expand Down
13 changes: 4 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Splunk Distribution of OpenTelemetry Java

![Stable](https://img.shields.io/badge/status-stable-informational)
[![OpenTelemetry Instrumentation for Java Version](https://img.shields.io/badge/otel-2.25.0-blueviolet)](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v2.25.0)
[![OpenTelemetry Instrumentation for Java Version](https://img.shields.io/badge/otel-2.26.0-blueviolet)](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v2.26.0)
[![Splunk GDI specification](https://img.shields.io/badge/GDI-1.8.0-blueviolet)](https://github.com/signalfx/gdi-specification/releases/tag/v1.8.0)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/signalfx/splunk-otel-java?include_prereleases)](https://github.com/signalfx/splunk-otel-java/releases)
[![Maven Central](https://img.shields.io/maven-central/v/com.splunk/splunk-otel-javaagent)](https://central.sonatype.com/artifact/com.splunk/splunk-otel-javaagent)
Expand Down Expand Up @@ -43,11 +43,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.25.1](https://github.com/signalfx/splunk-otel-java/releases/latest)) can be found [here](https://github.com/signalfx/splunk-otel-java/blob/v2.25.1/README.md).

---
<!--DEV_DOCS_WARNING_END-->

## Requirements

Expand Down Expand Up @@ -79,11 +74,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.25.1<!--SPLUNK_VERSION--> is compatible
The Splunk Distribution of OpenTelemetry Java version <!--SPLUNK_VERSION-->2.26.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.25.0<!--OTEL_INSTRUMENTATION_VERSION-->
* OpenTelemetry API version <!--OTEL_VERSION-->1.60.1<!--OTEL_VERSION-->
* OpenTelemetry Instrumentation for Java version <!--OTEL_INSTRUMENTATION_VERSION-->2.26.0<!--OTEL_INSTRUMENTATION_VERSION-->

## Snapshot builds

Expand Down
2 changes: 0 additions & 2 deletions agent/license-overrides.txt
Original file line number Diff line number Diff line change
@@ -1,2 +0,0 @@
# 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.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.3.0")
implementation("io.opentelemetry.instrumentation:gradle-plugins:2.25.0-alpha")
implementation("io.opentelemetry.instrumentation:gradle-plugins:2.26.0-alpha")

// keep these versions in sync with settings.gradle.kts
implementation("com.gradleup.shadow:shadow-gradle-plugin:9.4.0")
Expand Down
2 changes: 1 addition & 1 deletion dependencyManagement/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ val otelVersion = "1.60.1"
val otelAlphaVersion = otelVersion.replaceFirst("(-SNAPSHOT)?$".toRegex(), "-alpha$1")
val otelInstrumentationVersion = "2.26.0-SNAPSHOT"
val otelInstrumentationAlphaVersion = otelInstrumentationVersion.replaceFirst("(-SNAPSHOT)?$".toRegex(), "-alpha$1")
val otelContribAlphaVersion = "1.53.0-alpha"
val otelContribAlphaVersion = "1.54.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.25.1
$ cf set-env SPLUNK_OTEL_JAVA_VERSION 2.26.0
```

By default, the [latest](https://github.com/signalfx/splunk-otel-java/releases/latest) available agent version is used.
Expand Down
8 changes: 4 additions & 4 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-03-10 12:00:59 EET_
_2026-03-17 16:11:25 EET_
## Apache License, Version 2.0

**1** **Group:** `com.squareup.okhttp3` **Name:** `okhttp` **Version:** `5.3.2`
Expand Down Expand Up @@ -80,15 +80,15 @@ _2026-03-10 12:00:59 EET_
> - **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)

**20** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-opamp-client` **Version:** `1.53.0-alpha`
**20** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-opamp-client` **Version:** `1.54.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.53.0-alpha`
**21** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-resource-providers` **Version:** `1.54.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.53.0-alpha`
**22** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-samplers` **Version:** `1.54.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)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -935,6 +935,20 @@ otel.exporter.otlp.metrics.temporality.preference OTEL_EXPORTER_OTLP_METRICS_TEM
"",
SettingType.STRING,
SettingCategory.INSTRUMENTATION));
settings.add(
setting(
"otel.instrumentation.sanitization.url.experimental.sensitive-query-parameters",
"A comma-separated list of HTTP url parameter names. HTTP server and client instrumentations will redact the values of give url parameters.",
"AWSAccessKeyId, Signature, sig, X-Goog-Signature",
SettingType.STRING,
SettingCategory.INSTRUMENTATION));
settings.add(
setting(
"otel.instrumentation.http.known-methods",
"A comma-separated list of known HTTP methods. `_OTHER` will be used for methods not in this list.",
"CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, TRACE",
SettingType.STRING,
SettingCategory.INSTRUMENTATION));

// Capturing servlet request parameters
// https://opentelemetry.io/docs/instrumentation/java/automatic/agent-config/#capturing-servlet-request-parameters
Expand Down Expand Up @@ -1050,6 +1064,8 @@ You can configure the agent to capture general identity attributes (enduser.id,
"false",
SettingType.BOOLEAN,
SettingCategory.INSTRUMENTATION));
// deprecated in favor of
// otel.instrumentation.sanitization.url.experimental.sensitive-query-parameters
settings.add(
setting(
"otel.instrumentation.http.client.experimental.redact-query-parameters",
Expand Down Expand Up @@ -2049,6 +2065,26 @@ Some instrumentations (e.g. Spring Web MVC instrumentation) produce SpanKind.Int
SettingType.BOOLEAN,
SettingCategory.INSTRUMENTATION));

// https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/instrumentation/opensearch/README.md
/*
| `otel.instrumentation.opensearch.experimental-span-attributes` | Boolean | `false` | Enable the capture of experimental span attributes. |
| `otel.instrumentation.opensearch.capture-search-query` | Boolean | `true` | Enable the capture of sanitized search query bodies. |
*/
settings.add(
setting(
"otel.instrumentation.opensearch.experimental-span-attributes",
"Enable the capture of experimental span attributes.",
"false",
SettingType.BOOLEAN,
SettingCategory.INSTRUMENTATION));
settings.add(
setting(
"otel.instrumentation.opensearch.capture-search-query",
"Enable the capture of sanitized search query bodies.",
"true",
SettingType.BOOLEAN,
SettingCategory.INSTRUMENTATION));

// https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/instrumentation/opentelemetry-extension-annotations-1.0/README.md
/*
| `otel.instrumentation.opentelemetry-annotations.exclude-methods` | String | | All methods to be excluded from auto-instrumentation by annotation-based advices. |
Expand Down Expand Up @@ -3485,6 +3521,10 @@ Some instrumentations (e.g. Spring Web MVC instrumentation) produce SpanKind.Int
"jvm.file_descriptor.count",
MetricInstrument.UP_DOWN_COUNTER,
"Number of open file descriptors as reported by the JVM (disabled by default).")
.customMetric(
"jvm.file_descriptor.limit",
MetricInstrument.UP_DOWN_COUNTER,
"Measure of max open file descriptors as reported by the JVM (disabled by default).")
// XXX JFR metrics from runtime-telemetry-java17 are missing
.build());
instrumentations.add(instrumentation("javalin").component("Javalin", "5.0 and higher").build());
Expand Down Expand Up @@ -3757,6 +3797,8 @@ Some instrumentations (e.g. Spring Web MVC instrumentation) produce SpanKind.Int
instrumentations.add(
instrumentation("xxl-job").component("XXL-JOB", "1.9.2 and higher").build());
instrumentations.add(instrumentation("zio").component("ZIO", "2.0 and higher").build());
instrumentations.add(
instrumentation("zio-http").component("ZIO HTTP", "3.0 and higher").build());

// splunk instrumentations
instrumentations.add(
Expand Down Expand Up @@ -3866,7 +3908,7 @@ Some instrumentations (e.g. Spring Web MVC instrumentation) produce SpanKind.Int
resourceProvider(
"io.opentelemetry.instrumentation.resources.OsResourceProvider",
"Os detector.",
List.of("os.type", "os.description"))
List.of("os.type", "os.description", "os.version"))
.dependency(
"OpenTelemetry Java Instrumentation Resource Providers",
"https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/resources/library",
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.26.0-SNAPSHOT"
val distroVersion = "2.26.0"

allprojects {
version = distroVersion
Expand Down
Loading