Skip to content

Conversation

@elastic-observability-automation
Copy link
Contributor

@elastic/apm-agent-java, can you please check and merge this PR?


Upgrade the upstream agent version and related transitive dependencies

Update upstream OpenTelemetry agent version and related dependencies

ran shell command "gradle/update-upstream.sh v2.22.0 && echo \"Update successful\""

v2.22.0
This release targets the OpenTelemetry SDK 1.56.0.

Note that many artifacts have the `-alpha` suffix attached to their version number, reflecting that they are still alpha quality and will continue to have breaking changes. Please see the [VERSIONING.md](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/VERSIONING.md#opentelemetry-java-instrumentation-versioning) for more details.

 ### ⚠️ Breaking Changes

- AWS SDK 2.x attributes updated to align with semantic conventions ([#15028](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15028))  - The following attributes have been renamed:  - `aws.bucket.name` (S3) → `aws.s3.bucket`  - `aws.queue.url` (SQS) → `aws.sqs.queue.url`  - `aws.stream.name` (Kinesis) → `aws.kinesis.stream_name`  - `aws.table.name` (DynamoDB) → `aws.dynamodb.table_names`  - `aws.dynamodb.provisioned_throughput.read_capacity_units` → `aws.dynamodb.provisioned_read_capacity` (type changed from long to double)  - `aws.dynamodb.provisioned_throughput.write_capacity_units` → `aws.dynamodb.provisioned_write_capacity` (type changed from long to double)  - `aws.dynamodb.exclusive_start_table_name` → `aws.dynamodb.exclusive_start_table`  - `aws.dynamodb.projection_expression` → `aws.dynamodb.projection`  - `aws.dynamodb.scan_index_forward` → `aws.dynamodb.scan_forward`  - The following attribute types have changed:  - `aws.dynamodb.table_names`: string → string[]  - `aws.dynamodb.consumed_capacity`: string → string[]  - `aws.dynamodb.global_secondary_indexes`: string → string[]  - `aws.dynamodb.local_secondary_indexes`: string → string[]  - `aws.dynamodb.consistent_read`: string → boolean  - `aws.dynamodb.table_count`: string → long  - `aws.dynamodb.limit`: string → long  - `aws.dynamodb.attributes_to_get`: string → string[]  - `aws.dynamodb.segment`: string → long  - `aws.dynamodb.total_segments`: string → long  - `aws.dynamodb.count`: string → long  - `aws.dynamodb.scanned_count`: string → long  - The following attributes are no longer emitted by default but can be enabled with `otel.instrumentation.aws-sdk.experimental-span-attributes=true`:  - `aws.queue.name` (SQS)  - `aws.lambda.function.name` (Lambda)  - `aws.lambda.function.arn` (Lambda)
- JDBC library data source instrumentation now disabled by default ([#15074](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15074))
- JMX state metrics unit changed from empty string to `1` to align with semantic conventions ([#15093](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15093))
- AWS SDK 1.x attributes updated to align with semantic conventions ([#15094](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15094))  - Only affects users with `otel.instrumentation.aws-sdk.experimental-span-attributes=true`  - The following attributes have been renamed and are now emitted by default (no experimental flag required):  - `aws.bucket.name` (S3) → `aws.s3.bucket`  - `aws.queue.url` (SQS) → `aws.sqs.queue.url`  - `aws.stream.name` (Kinesis) → `aws.kinesis.stream_name`  - `aws.table.name` (DynamoDB) → `aws.dynamodb.table_names`
- Finatra controller spans now disabled by default to match other controller spans ([#15118](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15118))
- Netty HTTP request wrapper class renamed from HttpRequestAndChannel to NettyRequest ([#15247](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15247))
- JSP compile spans now disabled by default to match other view spans ([#15261](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15261))

### 🚫 Deprecations

- TracingConsumerInterceptor and TracingProducerInterceptor deprecated in favor of new configurable interceptors ([#14929](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14929))
- Various builder methods updated to use UnaryOperator<X> instead of Function<X, X> ([#15101](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15101))
- DbClientCommonAttributesGetter deprecated in favor of DbClientAttributesGetter ([#15139](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15139))

### 🌟 New javaagent instrumentation

- Add JFinal instrumentation ([#15216](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15216))

### 📈 Enhancements

- Avoid Unsafe usage on Java 23+ ([#14855](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14855), [#15091](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15091))
- Update Azure SDK instrumentation so `az.namespace` can be used for sampling ([#15068](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15068))
- Spring Boot Starter: Add cache to reduce environment variable lookups ([#15132](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15132))
- HTTP instrumentations now emit semantic convention schema URL ([#15144](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15144))
- Added instrumentation support for AsyncHttpClient version 1.8 ([#15195](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15195))
- Instrumenter customizer now receives instrumentation type ([#15227](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15227))
- Added support for Spring Framework 7.0 ([#15287](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15287), [#15299](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15299), [#15301](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15301), [#15304](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15304), [#15311](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15311), [#15362](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15362), [#15371](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15371))
- Added span status customizer to incubating InstrumenterCustomizer API ([#15288](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15288))
- Added configuration options for sqlcommenter ([#15169](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15169))
- GraphQL instrumentation now records data fetcher errors ([#15289](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15289))
- Add http client url template customizer ([#15217](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15217))
- Introduce idiomatic `JmxTelemetry` API for JMX metrics library ([#15220](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15220))
- Add instrumentation for OpenTelemetry API incubator's `ExtendedOpenTelemetry` ([#15178](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15178))

### 🛠️ Bug fixes

- Fix missing `peer.service` in Netty HTTP spans ([#14963](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14963))
- Fix Couchbase span kind to be `CLIENT` instead of `INTERNAL` ([#14995](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14995))
- Link attributes are now bridged to the Java agent when using OpenTelemetry API ([#15143](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15143))
- Potential race condition in JFR runtime metrics initialization fixed ([#15231](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15231))
- Regression fixed related to context propagation when using Spring `@EnableAsync` ([#15249](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15249))
- Declarative configuration now uses snake_case for distro resource provider attribute name ([#15260](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15260))
- Logback appender fixed to capture Logstash `StructuredArguments.entries()` ([#15341](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15341))
- Fix context propagation in Spring WebFlux 7.0 client reactive callbacks ([#15336](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15336))

### 🙇 Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@bioplasticlining
@breedx-splk
@brunobat
@copilot-pull-request-reviewer
@defields923
@dixanms
@jack-berg
@jaydeluca
@jeanbisutti
@JonasKunz
@kasiditi
@koksay
@Kresshy
@laurit
@LikeTheSalad
@lukaszgryglicki
@mateuszrzeszutek
@mlbiscoc
@mznet
@PaarthB
@pepeshore
@roberttoyonaga
@robsunday
@steverao
@SylvainJuge
@tharsanrp
@trask
@vasireddy99
@wyctxwd1
@zeitlinger
GitHub Action workflow link
Updatecli logo

Created automatically by Updatecli

Options:

Most of Updatecli configuration is done via its manifest(s).

  • If you close this pull request, Updatecli will automatically reopen it, the next time it runs.
  • If you close this pull request and delete the base branch, Updatecli will automatically recreate it, erasing all previous commits made.

Feel free to report any issues at github.com/updatecli/updatecli.
If you find this tool useful, do not hesitate to star our GitHub repository as a sign of appreciation, and/or to tell us directly on our chat!

@elastic-observability-automation elastic-observability-automation bot requested a review from a team as a code owner November 29, 2025 06:02
@elastic-observability-automation elastic-observability-automation bot added the dependencies Pull requests that update a dependency file label Nov 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-java dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant