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:
captureArgumentsno longer captures message template, usecaptureTemplate(#15423) - Play: disable controller spans by default, re-enable with
otel.instrumentation.common.experimental.controller-telemetry.enabled=true(#15604)
🚫 Deprecations
- Library instrumentation: deprecate
setSpanNameExtractor()andsetStatusExtractor()in favor ofsetSpanNameExtractorCustomizer()andsetStatusExtractorCustomizer()(#15529)
🌟 New javaagent instrumentation
- Apache ElasticJob (#14933)
🌟 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_idandspan_idattributes 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
afterRecordcallback (#15367) - Spring starter: fix environment variable overrides for array properties in declarative config (#15424)
- Ktor: prevent double
end()calls inKtorServerTelemetry(#15452) - OpenTelemetry API interop: fix null handling in
ExtendedOpenTelemetrydeclarative config (#15478) - Akka HTTP: fix
http.routeattribute capture and span naming (#15504) - Extensions: fix SPI loading for
InstrumenterCustomizerProviderand 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