github open-telemetry/opentelemetry-java-instrumentation v2.23.0
Version 2.23.0

one day ago

This release targets the OpenTelemetry SDK 1.57.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 for more details.

⚠️ Breaking Changes

  • ActiveMQ Classic JMX metrics: rename attributes and metrics to align with semantic conventions (see PR description for specifics) (#14996)
  • Library instrumentation: remove previously deprecated methods from telemetry builders (#15324)
  • Logback: captureArguments no longer captures message template, use captureTemplate (#15423)
  • Play: disable controller spans by default, re-enable with otel.instrumentation.common.experimental.controller-telemetry.enabled=true (#15604)

🚫 Deprecations

  • Library instrumentation: deprecate setSpanNameExtractor() and setStatusExtractor() in favor of setSpanNameExtractorCustomizer() and setStatusExtractorCustomizer() (#15529)

🌟 New javaagent instrumentation

🌟 New library instrumentation

📈 Enhancements

  • Spring starter: add declarative config logging exporter (#14917)
  • Failsafe: add support for RetryPolicy (#15255, #15537)
  • GraphQL: add option to disable capturing query documents (#15384)
  • JMX metrics: allow any classpath resource path in rules (#15413)
  • Spring Boot actuator autoconfigure: support Spring Boot 4 (#15433)
  • Spring JMS: support Spring Boot 4 (#15434)
  • Spring starter: support Spring Boot 4 (#15459)
  • Lettuce: support custom ClientResources (#15470)
  • Lettuce: add reactor-core compatibility checker (#15472)
  • Servlet: propagate context explicitly for async runnables (#15476)
  • Servlet: always add trace_id and span_id attributes to requests (#15485)
  • Pekko HTTP: separate route instrumentation from HTTP server instrumentation (#15499)
  • MongoDB: emit versioned scope name (#15500)
  • Spring WebFlux: support Spring Boot 4 (#15502, #15574)
  • Spring WebMVC: support Spring Boot 4 (#15525)
  • Spring Cloud Gateway: support Spring Boot 4 (#15540)
  • Spring starter: add missing Kafka configuration options (#15592)
  • OpenTelemetry API interop: support new GlobalOpenTelemetry methods introduced in 1.57 (#15620)

🛠️ Bug fixes

  • Spring Web/WebFlux: restore GraalVM native-image compatibility (#15306)
  • Spring Kafka: end span in afterRecord callback (#15367)
  • Spring starter: fix environment variable overrides for array properties in declarative config (#15424)
  • Ktor: prevent double end() calls in KtorServerTelemetry (#15452)
  • OpenTelemetry API interop: fix null handling in ExtendedOpenTelemetry declarative config (#15478)
  • Akka HTTP: fix http.route attribute capture and span naming (#15504)
  • Extensions: fix SPI loading for InstrumenterCustomizerProvider and related classes (#15538)
  • Sanitize sql statements that may contain unquoted passwords (#15607)

🙇 Thank you

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

@123liuziming
@bioplasticlining
@Cirilla-zmh
@copilot-pull-request-reviewer
@cyrille-leclerc
@droidnxs
@gaeljw
@George-C-Odes
@ghareeb-falazi
@GondaliaKaran
@gquintana
@jack-berg
@jaydeluca
@laurit
@marychatte
@obs-gh-abhishekrao
@onurkybsi
@philsttr
@prydin
@robsunday
@steverao
@SylvainJuge
@Tefaier
@thompson-tomo
@ThorbenKuck
@toon-borgers-hs
@trask
@tylerbenson
@zeitlinger

Don't miss a new opentelemetry-java-instrumentation release

NewReleases is sending notifications on new releases.