Skip to content

Update upstream OpenTelemetry agent dependencies to 2.30.0#1180

Merged
jackshirazi merged 4 commits into
mainfrom
updatecli_main_upgrade-upstream-agent-version
Jul 24, 2026
Merged

Update upstream OpenTelemetry agent dependencies to 2.30.0#1180
jackshirazi merged 4 commits into
mainfrom
updatecli_main_upgrade-upstream-agent-version

Conversation

@elastic-observability-automation

Copy link
Copy Markdown
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 ".ci/update-upstream.sh v2.30.0 && echo \"Update successful\""

v2.30.0
 This release targets the OpenTelemetry SDK 1.64.0.

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

### ⚠️ Breaking changes to non-stable APIs

- Remove `ExperimentalInstrumentationModule#getModuleGroup()`. Built-in invokedynamic modules now share a single `InstrumentationModuleClassLoader`, and each extension is isolated in its own. ([#18859](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18859))
- Remove the deprecated `InstrumentationModule.isIndyModule()`; whether a module uses invokedynamic is now determined by the agent rather than declared per module. ([#19140](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19140))
- Remove deprecated query-related APIs from `SqlClientAttributesGetter`, `CassandraRequest`, and `Experimental`. ([#19165](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19165))
- Remove the deprecated `Enduser*` attribute-capturing APIs from the Spring Security 6.0 library; use the `User*` replacements instead. ([#19168](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19168))

### 🚫 Deprecations

- Deprecate only the Spring Boot starter `ConfigProperties` compatibility bean used with experimental declarative configuration, in favor of the new `ConfigProvider` bean; it will be removed in 3.0. The `ConfigProperties` bean remains supported for non-declarative configuration. ([#19175](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19175))
- Deprecate `DeclarativeConfigPropertiesBridge` and `DeclarativeConfigPropertiesBridgeBuilder`. Use `DeclarativeConfigProperties` directly or `DeclarativeConfigBridge` instead. Will be removed in 3.0. ([#19202](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19202))
- Deprecate `ConfigPropertiesBackedConfigProvider` in favor of `DeclarativeConfigBridge`. It will be removed in 2.31.0. ([#19220](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19220))

### 🌟 New javaagent instrumentation

- Add Javaagent instrumentation for HBase client 1.4. ([#19087](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19087))

### 🌟 New library instrumentation

- Add library instrumentation (`ThriftTelemetry`) for the Apache Thrift 0.13 async server. ([#19062](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19062))

### 📈 Enhancements

- Add async server tracing to the Apache Thrift 0.13 javaagent instrumentation; async server handlers were previously uninstrumented. ([#18994](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18994))
- Support `database=` as an alias for `databaseName` when extracting `db.name` from MSSQL JDBC URLs. ([#19029](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19029))
- Add batch-operation support to the experimental stable database semantic-convention opt-in (`otel.semconv-stability.opt-in=database`) across database instrumentations, including batch span names, `db.operation.batch.size` (including empty batches), and `db.query.summary`. ([#19034](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19034), [#19037](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19037), [#19054](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19054), [#19055](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19055), [#19056](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19056), [#19057](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19057), [#19143](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19143), [#19147](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19147), [#19161](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19161), [#19162](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19162), [#19164](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19164), [#19172](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19172), [#19189](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19189), [#19199](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19199))
- Add tracing for Lettuce 4.0 reactive commands, including exceptional completion and cancellation. ([#19071](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19071))
- Add the experimental Cassandra JMX metrics target system. ([#19080](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19080))
- Add experimental JFR-based `jvm.thread.virtual.pinned` and `jvm.thread.virtual.submit_failed` metrics for Java 19+ virtual threads; enable with `otel.instrumentation.runtime-telemetry.emit-experimental-jfr-metrics=true`. ([#19092](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19092))
- Capture custom object values passed to `PreparedStatement.setObject()` in query parameter attributes. ([#19093](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19093))
- `InstrumentationModule` now exposes `injectedClassNames()` and `exposedClassNames()` for indy instrumentations, so module authors no longer need `ExperimentalInstrumentationModule` for those helper-class declarations. ([#19142](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19142))
- Add `captureTemplate` and `captureArguments` options to the log4j, java-util-logging, and jboss-logmanager logging instrumentations, capturing the log message template and arguments as separate `log.body.template` / `log.body.parameters` attributes; logback already supported these options ([#15423](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15423)). ([#19154](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19154))
- Add `server.address` and `server.port` attributes to Redisson client spans. ([#19191](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19191))
- Add `server.address` and `server.port` attributes to Lettuce Redis client spans. ([#19192](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19192))
- Add `server.address` and `server.port` attributes to Rediscala client spans. ([#19193](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19193))
- Set `server.address` on registry-backed Dubbo client spans to the registry address plus the service target (`registry://host:port/interface:version:group`) and leave `server.port` unset, gated behind the stable rpc semconv opt-in (`otel.semconv-stability.opt-in=rpc`); the resolved provider host and port are kept under the default semconv. ([#17244](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17244), [#19285](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19285))

### 🛠️ Bug fixes

- Fix a spurious duplicate warning when the application logger bridge is installed multiple times during startup. ([#19088](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19088))
- Fix MySQL and MariaDB `db.connection_string` values so IPv6 hosts stay bracketed instead of becoming ambiguous. ([#19078](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19078))
- Fix multi-topic Pulsar consumers so the internal background receive no longer creates a spurious extra receive span. ([#19095](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19095))
- `SpringConfigProperties.getMap()` no longer evaluates map property values as SpEL expressions; non-special-cased map properties now parse as comma-delimited `key=value` pairs via the SDK's `DefaultConfigProperties`, so settings like `otel.instrumentation.common.peer-service-mapping` work without SpEL syntax. ([#19113](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19113))
- Fix JMS destination extraction so an unreadable destination now leaves `messaging.destination.name` unset instead of reporting it as `unknown`. ([#19115](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19115))
- Fix the JMX Metric Insight `jvm.class.loaded` and `jvm.class.unloaded` metrics to use counter instruments. ([#19141](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19141))

### 🙇 Thank you

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

@alokmajumder
@bhuvan-somisetty
@breedx-splk
@carlosalberto
@CodingFabian
@FrankSpitulski
@heyams
@hwxy233
@imavroukakis
@inssein
@ishg
@jaydeluca
@jkoronaAtCisco
@johnbley
@JonasKunz
@laurit
@maryliag
@maxxedev
@mmanciop
@opentelemetry-pr-dashboard
@opentelemetrybot
@pavolloffay
@philsttr
@robsunday
@ryanrupp
@steverao
@SylvainJuge
@trask
@tsawada
@xiangtianyu
@YaoYingLong
@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 July 22, 2026 06:48
@elastic-observability-automation elastic-observability-automation Bot added dependencies Pull requests that update a dependency file changelog:upstream-update labels Jul 22, 2026
@github-actions
github-actions Bot requested a review from a team as a code owner July 22, 2026 06:49
@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown

🔍 Preview links for changed docs

⏳ Building and deploying preview... View progress

This comment will be updated with preview links when the build is complete.

vishaangelova
vishaangelova previously approved these changes Jul 22, 2026
LikeTheSalad
LikeTheSalad previously approved these changes Jul 22, 2026
@github-actions

Copy link
Copy Markdown

✅ Elastic Docs Style Checker (Vale)

No issues found on modified lines!


The Vale linter checks documentation changes against the Elastic Docs style guide. To use Vale locally or report issues, refer to Elastic style guide for Vale.

LikeTheSalad
LikeTheSalad previously approved these changes Jul 23, 2026
@jackshirazi
jackshirazi merged commit 3b0ae31 into main Jul 24, 2026
22 checks passed
@jackshirazi
jackshirazi deleted the updatecli_main_upgrade-upstream-agent-version branch July 24, 2026 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-java changelog:upstream-update dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants