Version 1.23.0
This release targets the OpenTelemetry SDK 1.23.1.
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.
Migration notes
- HTTP span names are now
"{http.method} {http.route}"instead of just"{http.route}", reflecting the recent change in the HTTP semantic conventions (#7730) - Added the base version into library package names to make room for other base versions without breaking backwards compatibility in the future once these artifacts are declared stable (#7608, #7752, #7764)
io.opentelemetry.instrumentation.spring.web.SpringWebTelemetry→io.opentelemetry.instrumentation.spring.web.v3_1.SpringWebTelemetryio.opentelemetry.instrumentation.spring.webflux.SpringWebfluxTelemetry→io.opentelemetry.instrumentation.spring.webflux.v5_0.SpringWebfluxTelemetryio.opentelemetry.instrumentation.spring.integration.SpringIntegrationTelemetry→io.opentelemetry.instrumentation.spring.integration.v4_1.SpringIntegrationTelemetryio.opentelemetry.instrumentation.logback.v1_0.OpenTelemetryAppender→io.opentelemetry.instrumentation.logback.mdc.v1_0.OpenTelemetryAppenderio.opentelemetry.instrumentation.apachedbcp.ApacheDbcpTelemetry→io.opentelemetry.instrumentation.apachedbcp.v2_0.ApacheDbcpTelemetryio.opentelemetry.instrumentation.c3p0.C3p0Telemetry→io.opentelemetry.instrumentation.c3p0.v0_9.C3p0Telemetryio.opentelemetry.instrumentation.graphql.GraphQLTelemetry→io.opentelemetry.instrumentation.graphql.v12_0.GraphQLTelemetryio.opentelemetry.instrumentation.guava.GuavaAsyncOperationEndStrategy→io.opentelemetry.instrumentation.guava.v10_0.GuavaAsyncOperationEndStrategyio.opentelemetry.instrumentation.hikaricp.HikariTelemetry→io.opentelemetry.instrumentation.hikaricp.v3_0.HikariTelemetryio.opentelemetry.instrumentation.kafkaclients.KafkaTelemetry→io.opentelemetry.instrumentation.kafkaclients.v2_6.KafkaTelemetryio.opentelemetry.instrumentation.oracleucp.OracleUcpTelemetry→io.opentelemetry.instrumentation.oracleucp.v11_2.OracleUcpTelemetryio.opentelemetry.instrumentation.ratpack.RatpackTelemetry→io.opentelemetry.instrumentation.ratpack.v1_7.RatpackTelemetryio.opentelemetry.instrumentation.reactor.ContextPropagationOperator→io.opentelemetry.instrumentation.reactor.v3_1.ContextPropagationOperatorio.opentelemetry.instrumentation.viburdbcp.ViburTelemetry→io.opentelemetry.instrumentation.viburdbcp.v11_0.ViburTelemetry
- Several instrumentation scope names have been fixed (#7632)
io.opentelemetry.cxf-jaxrs-3.2→io.opentelemetry.jaxrs-2.0-cxf-3.2io.opentelemetry.jersey-2.0→io.opentelemetry.jaxrs-2.0-jersey-2.0orio.opentelemetry.jaxrs-3.0-jersey-3.0as appropriateio.opentelemetry.resteasy-3.0→io.opentelemetry.jaxrs-2.0-resteasy-3.0io.opentelemetry.resteasy-3.1→io.opentelemetry.jaxrs-2.0-resteasy-3.1io.opentelemetry.resteasy-6.0→io.opentelemetry.jaxrs-3.0-resteasy-6.0io.opentelemetry.jws-1.1→io.opentelemetry.jaxws-jws-api-1.1io.opentelemetry.vertx-kafka-client-3.5→io.opentelemetry.vertx-kafka-client-3.6io.opentelemetry.hibernate-4.3→io.opentelemetry.hibernate-procedure-call-4.3
- All methods in all
*Getterclasses ininstrumentation-api-semconvhave been renamed to use theget*()naming scheme (#7619) - Return interfaces instead of concrete implementations in
instrumentation-api-semconv(#7658)
📈 Enhancements
- Support Spring Web 6 in library instrumentation (#7551)
- Add gRPC request metadata instrumentation (#7011)
- Pass context to content length http metrics meters (#7506)
- Update SQL span name for procedures (#7557)
- Ratpack services OpenTelemetry (#7477)
- Ignore janino classloader (#7710)
- Improve type resolution cache for classes in java package (#7714)
- End netty client span before callbacks (#7737)
- Support slf4j to log4j2 (#7656)
- Add
net.host.portto thehttp.server.active_requestsmetric (#7757) - Allow JDBC library instrumentation to use a custom OpenTelemetry instance to be more DI (e.g. Spring Boot) friendly (#7697)
- Dubbo: don't create spans for calls inside the same jvm (#7761)
- Bridge OpenTelemetry metrics batch API (#7762)
- Support Spring Boot 3 in autoconfigure module (#7784)
- Change Spring Scheduling to not capture span for one-time jobs (only repeated jobs) (#7760)
- Add instrumentation for hibernate 6 (#7773)
- Put
http.routeattribute ontohttp.server.durationon Play framework request processing (#7801) - Add Jakarta JSF 3.0+ instrumentation (#7786)
- Capture
net.sock.peer.addrmore reliably in grpc client instrumentation (#7742)
🛠️ Bug fixes
- Fix potential startup failure (#7567)
- Fix NoClassDefFoundError happening when snakeyaml is used on a custom JRE (#7598)
- Fix inconsistent handling of
net.peer.portin HTTP instrumentations (#7618) - Fix concurrency issue in OpenTelemetryDriver (#7628)
- Fix ClassCastException with redisson batch with atomic write option (#7743)
- Ensure kafka configuration remains serializable (#7754, #7789)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@akats7
@anuragagarwal561994
@arbiv
@aschugunov
@astappiev
@bcmedeiros
@blumamir
@breedx-splk
@cuichenli
@FranPregernik
@heyams
@jack-berg
@jarias-lfx
@jkwatson
@jsalinaspolo
@kaibocai
@laurit
@lmolkova
@mateuszrzeszutek
@MosheElisha
@moznion
@PeterF778
@plevart
@robododge
@samimusallam
@ShinJJang
@Tavh
@theletterf
@trask
@xiangtianyu
@zeitlinger
@zewade