Releases: open-telemetry/opentelemetry-java-instrumentation
Version 1.31.0
This release targets the OpenTelemetry SDK 1.31.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.
🌟 New javaagent instrumentation
- Apache Pekko (#9527)
📈 Enhancements
- Add instrumentation for vert.x sql client withTransaction method (#9462)
- Improve hibernate reactive instrumentation (#9486)
- Support application.yaml files in SpringBootServiceNameDetector (#9515)
- Add Spring Boot service version finder / ResourceProvider (#9480)
- Split hibernate reactive instrumentation (#9531)
- Rework reactor netty context tracking (#9286)
- Improve spring data reactive instrumentation (#9561)
- Support akka http latest version (#9573)
- Enhance AWS SDK Instrumentation with Detailed HTTP Error Information (#9448)
- Update HTTP metrics' descriptions (#9635)
- Remove server.socket.address from HTTP/RPC metrics (#9633)
- Remove 0 bucket from stable HTTP metrics (#9631)
- Suppress nested http client spans in aws2 instrumentation (#9634)
- Implement spec changes for grpc server span error status (#9641)
- Improve vertx-sql client context propagation (#9640)
- Add url.scheme to HTTP client metrics (#9642)
- Add support for newVirtualThreadPerTaskExecutor (#9616)
- Implement error.type attribute in HTTP semconv (#9466)
- Emit package events (#9301)
- Added Automatic-Module-Name header to MANIFEST.MF in instrumentation libraries (#9140)
- Support paths in
peer.service
mappings (#9061) - Compile ktor library instrumentation for earlier kotlin version (#9661)
🛠️ Bug fixes
- Fix NPE happening when .headersWhen() is used (reactor-netty) (#9511)
- Spring webflux: add user spans as children of the controller span (#9572)
- Make netty ChannelPipeline removeLast return user handler (#9584)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@123liuziming
@62mkv
@breedx-splk
@ccorbacho
@esamson
@Hayanesh
@jack-berg
@jaydeluca
@jeanbisutti
@JonasKunz
@kenfinnigan
@laurit
@LMarkie
@mateuszrzeszutek
@mmorel-35
@paul-kraftlauget
@peachisai
@philsttr
@pxaws
@rapphil
@rjbaucells
@samwright
@SylvainJuge
@trask
@tylerbenson
@wangzlei
Version 1.30.0
This release targets the OpenTelemetry SDK 1.30.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
- Experimental HTTP server metrics have been split out from
HttpServerMetrics
into a separate classHttpServerExperimentalMetrics
(#9259) HttpClientResend
has been renamed toHttpClientResendCount
,HttpRouteHolder
has been renamed toHttpServerRoute
(#9280)- The previously deprecated
otel.javaagent.experimental.extensions
configuration was removed (it is replaced byotel.javaagent.extensions
) (#9378)
🌟 New javaagent instrumentation
- Add instrumentation for hibernate reactive (#9304)
📈 Enhancements
- Don't log stack trace for expected exceptions in AWS SDK instrumentation (#9279)
- Add support for the AWS Secrets Manager JDBC URLs (#9335)
- More support for upcoming semantic convention changes (#9346 #9345, #9320, #9355, #9381, #9441)
- Unwrap Runnable in ThreadPoolExecutor before/after methods (#9326)
- Add javaagent to instrumentation bom (#9026)
- Add support for multiple headers in AlternateUrlSchemeProvider (#9389)
- Skip PreparedStatement wrappers (#9399)
- Disable Elasticsearch instrumentation for ES clients 8.10+ (#9337)
- Disable elasticsearch-rest-7.0 instrumentation when elasticsearch-java 8.10+ is present (#9450)
- Use attributes advice for HTTP & RPC metrics (#9440)
- Update Messaging semantic conventions to 1.21.0 (#9408)
- Add semconv to alpha bom (#9425)
🛠️ Bug fixes
- Ensure .class files aren't present in the resources library MR jar (#9245)
- Fixed getDefinedPackage lookup for OpenJ9 (8) (#9272)
- Ignore aws sdk v2 presign requests (#9275)
- Add logging timestamp for log4j1 appender instrument (#9309)
- Fix VerifyError with kotlin @WithSpan instrumentation (#9313)
- Fix serializing key to string in Lettuce instrumentation (#9347)
- Auto-instrumentation with JMX not working without a trigger (#9362)
- Return default DbInfo when connection is null (#9413)
- Fix instrumentation for reactor kafka 1.3.21 (#9445)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@AlexanderWert
@breedx-splk
@cleidiano
@ebyhr
@gavlyukovskiy
@jackshirazi
@jaydeluca
@jmk75
@JonasKunz
@laurit
@lmolkova
@mateuszrzeszutek
@PeterF778
@phil-rice-HCL
@poom-kitti
@shreya22-1998
@SylvainJuge
@trask
@tylerbenson
@yingziisme
@zbytt
Version 1.29.0
This release targets the OpenTelemetry SDK 1.29.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.
Migration notes
NetClientAttributesExtractor
andNetServerAttributesExtractor
have been deprecated (#9165, #9156)HttpClientAttributesGetter
now extendsNetClientAttributesGetter
andHttpServerAttributesGetter
extendsNetServerAttributesGetter
(#9015, #9088)- A couple of Spring starter configuration options have been renamed to match Java agent options: -
otel.springboot.httpclients.enabled
->otel.instrumentation.spring-webmvc.enabled
orotel.instrumentation.spring-webmvc.enabled
depending on the underlying http client -otel.springboot.aspects.enabled
->otel.instrumentation.annotations.enabled
(#8950) - Previously deprecated suppression key
executor
was removed from executors module, the new suppression key isexecutors
(#9064)
🌟 New javaagent instrumentation
- Ktor (#9149)
🌟 New library instrumentation
- Elasticsearch rest client (#8911)
📈 Enhancements
- Include OpenTelemetry logging appenders in the Spring Starter (#8945)
- Support RPC metrics under "stable" http semconv opt-in (#8948)
- Support the
http.request.method_original
attribute under "stable" semconv opt-in (#8779) - Make
server.socket.*
attributes on the HTTP server side opt-in (#8747) - Fill additional db.* attributes on DataSource#getConnection() (#8966)
- Lettuce instrumentation - optimization to avoid extra toString() (#8984)
- Allow overriding span name in spring web library instrumentation (#8933)
- Implement HTTP resend spec for Reactor Netty (excl CONNECT spans) (#8111)
- Set
process.runtime.jvm.system.cpu.load_1m
metric unit to{run_queue_item}
(#8777) - Update elasticsearch instrumentation to work with latest version (#9066)
- Reactor Netty: emit actual HTTP client spans on connection errors (#9063)
- Rename
http.*.duration
tohttp.*.request.duration
under "stable" semconv opt-in (#9089) - Snippet inject support for non-empty head tags (#8736)
- Update network.protocol.version
2.0
->2
and3.0
->3
(#9145) - @WithSpan support for kotlin coroutines (#8870)
🛠️ Bug fixes
- Fix incompatibility between quarkus resteasy reactive and vertx-web instrumentations (#8998)
- Fix
IllegalArgumentException
inMetroServerSpanNaming
(#9075) - Fix rector netty instrumentation under concurrency (#9081)
- Improve grpc cancellation propagation (#8957)
- Add missing timestamp for jboss logmanager instrumentation (#9159)
- Handle kafka
METRIC_REPORTER_CLASSES_CONFIG
being set to a List (#9155) - Fix NullPointerException with Pulsar and SSL (#9166)
- Netty 4.1: handle closing connection before the request completes (#9157)
- Micrometer bridge: use app's thread context class loader for callbacks into app (#9000)
- Fix context propagation in Executor#execute() for non-capturing lambdas (#9179)
- Ensure reactor netty spans are ended in the order they were started (#9203)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@alaegin
@AlexanderWert
@amitgud-doordash
@anderssv
@bcoquell
@breedx-splk
@cleidiano
@darcydai
@davsheld-te
@dkharlan
@doppleware
@guadalupe-duolingo
@jack-berg
@jackshirazi
@jaydeluca
@jeanbisutti
@jkamon
@JonasKunz
@josecoelho96
@kaiwen
@keithc-ca
@laurit
@lmolkova
@mateuszrzeszutek
@oliver-zhang
@pg-yang
@sebastian-hans-swm
@siyuniu-ms
@stevesea
@swar8080
@theletterf
@trask
@tylerbenson
@xiangtianyu
@XiaoWeiKIN
@YuliaMittova
@zeitlinger
Version 1.28.0
This release targets the OpenTelemetry SDK 1.28.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.
Migration notes
- Rename HTTP configuration settings (#8758) -
otel.instrumentation.http.capture-headers.client.request
→otel.instrumentation.http.client.capture-request-headers
-otel.instrumentation.http.capture-headers.client.response
→otel.instrumentation.http.client.capture-response-headers
-otel.instrumentation.http.capture-headers.server.request
→otel.instrumentation.http.server.capture-request-headers
-otel.instrumentation.http.capture-headers.server.response
→otel.instrumentation.http.server.capture-response-headers
📈 Enhancements
- Support latest armeria release (#8745)
- Support latest mongo release (#8785)
- Remove
server.{address,port}
from HTTP server metrics (#8771) - aws-sdk-2.2.: Support injection into SQS.SendMessageBatch message attributes (#8798)
- Log4j and Logback appenders opt-in to using GlobalOpenTelemetry (#8791)
- aws-sdk-2.2: SNS.Publish support with experimental messaging propagator flag (#8830)
- support for adding baggage to log4j 2 ContextData (#8810)
- Micrometer bridge: interpret no SLO config as no buckets advice (#8856)
- Instrumentation for Elasticsearch 8+ (#8799)
- Add support for schemaUrls auto-computed from
AttributesExtrator
s (#8864) - Initialize appenders in the spring boot starter (#8888)
- Support reactor-netty 1.0.34+ (#8922)
- Rename messaging operation "send" to "publish" per spec (#8929)
- Extract query arguments without regex on lettuce 6 (#8932)
🛠️ Bug fixes
- Fix logging timestamp (#8761)
- Minor fixes to the
server.*
attributes extrator (#8772) - Fix context leak on call to AmazonS3.generatePresignedUrl (#8815)
- Fix exception when pulsar has multiple service addresses (#8816)
- Fix NPE in aws instrumentation on duplicate TracingExecutionInterceptor (#8896)
- (micrometer) don't add . to empty unit with prometheus naming conventions (#8872)
- Set server span name for aborted requests in quarkus resteasy native (#8891)
- Fix instrumentation of Azure SDK EventHubs library (#8916)
- Fix http attributes of AWS SDK V2 instrumentation (#8931)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@abhisesh
@AlexanderWert
@bcoquell
@breedx-splk
@frombrest
@huange7
@jack-berg
@jaydeluca
@jeanbisutti
@josecoelho96
@jprinet
@laurit
@lmolkova
@lu-xiaoshuang
@mateuszrzeszutek
@Oberon00
@quinoant
@rapphil
@scprek
@swar8080
@SylvainJuge
@theletterf
@trask
@tylerbenson
@XiaoWeiKIN
@zeitlinger
Version 1.27.0
This release targets the OpenTelemetry SDK 1.27.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.
Migration notes
- Jersey 3.0 instrumentation suppression keys have changed from
jaxrs-2.0
tojaxrs-3.0
, and fromjersey-2.0
tojersey-3.0
(#8486) - The
opentelemetry-runtime-metrics
artifact has been renamed and split intoopentelemetry-runtime-telemetry-java8
andopentelemetry-runtime-telemetry-java17
(#8165, #8715) InetSocketAddressNetServerAttributesGetter
andInetSocketAddressNetClientAttributesGetter
have been deprecated (#8341, #8591)- The new HTTP and network semantic conventions can be opted into using either the system property
otel.semconv-stability.opt-in
or the environment variableOTEL_SEMCONV_STABILITY_OPT_IN
, which support two values:http
- emit the new, stable HTTP and networking attributes, and stop emitting the old experimental HTTP and networking attributes that the instrumentation emitted previously.http/dup
- emit both the old and the stable HTTP and networking attributes, allowing for a more seamless transition.- The default behavior (in the absence of one of these values) is to continue emitting the same HTTP and network semantic conventions that were emitted in
1.26.0
. - Note: this option will be removed later this year after the new HTTP and network semantic conventions are marked stable, at which time the Java instrumentation version will be bumped from 1.x to 2.0, and the old HTTP and network semantic conventions will no longer be supported.
🌟 New javaagent instrumentation
📈 Enhancements
- Use histogram advice in the Micrometer bridge (#8334)
- Disable by default gauge-based histograms in the Micrometer bridge (#8360)
- Specify ...jvm.gc.duration buckets using advice API (#8436)
- Make spanKindExtractor configurable in Ktor instrumentations (#8255)
- aws-sdk-2.2: Support non-X-Ray propagation for SQS (#8405)
- Implement HTTP resend spec for OkHttp 3 (#7652)
- Use jakarta.servlet.error.exception request attribute on jetty11 (#8503)
- Provide spring-boot-autoconfigure configuration metadata (#8516)
- Read AWS lambda tracing info from
com.amazonaws.xray.traceHeader
system property (#8368) - Skip not decorator check for classes in boot loader (#8594)
- Change context propagation debug failures from error to warn (#8601)
- JavaScript Snippet Injection Support Servlet 5 (#8569)
- Faster type matching (#8525)
- Explicitly disable the logging exporter by default to override the upcoming SDK autoconfigure module change in 1.27.0 and preserve existing behavior (#8647)
- Support otel.sdk.disabled in the spring boot starter (#8602)
- Add OTLP log exporter to the OpenTelemetry Spring Starter (#8493)
- Suppress Spring Actuator instrumentation when micrometer instrumentation is suppressed (#8677)
- Replace "1" with the appropriate units and don't fall back to "1" if the unit is unknown (#8668)
- Added setOpenTelemetry method to log4j appender (#8231)
🛠️ Bug fixes
- Fix using logback mdc instrumentation along with SocketAppender (#8498)
- Fix failure when kafka metrics reporter is set to an empty string (#8523)
- Remove extra space from kubernetes client span name (#8540)
- Fix jetty context leak (#8552)
- Filter out scalar Mono/Flux instances (#8571)
- End netty client span when channel is closed (#8605)
- Unregistering jmx gc metrics on close (#8650)
- Fix snippet injection ClassCastException (#8701)
- Only instrument the actual Spring
TaskScheduler
implementations (#8676)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@62mkv
@bcoquell
@breedx-splk
@brunobat
@edzebo
@gavlyukovskiy
@huange7
@insotriplesix
@irizzant
@jack-berg
@jdoherty
@jeanbisutti
@kes2464
@kurvatch
@laurit
@mateuszrzeszutek
@michaeljohnalbers
@Oberon00
@orangain
@qiansheng91
@roberttoyonaga
@rotscher
@rupinder10
@sakthiraam
@siyuniu-ms
@smirnoal
@theletterf
@trask
@tylerbenson
@ViliusS
@will-zdu
@zeitlinger
@zoobert
Version 1.26.0
This release targets the OpenTelemetry SDK 1.26.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.
Migration notes
java.util.concurrent
executors instrumentation suppression key has changed fromexecutor
toexecutors
(#8451)
🌟 New javaagent instrumentation
- Add instrumentation for vertx-sql-client (#8311)
🌟 New library instrumentation
📈 Enhancements
- Make net.transport an optional attribute (#8279)
- Introduce
@AddingSpanAttributes
annotation (#7787) - JavaScript snippet injection (#7650)
- Map
peer.service
also fromnet.sock.peer.name
(#7888) - Set up EarlyInitAgentConfig even earlier (#8413)
🛠️ Bug fixes
- Fix nested http.route (#8282)
- Fix undertow instrumentation with http pipelining (#8400)
- Fix http pipelining on Grizzly (#8411)
- Fix http pipelining on Netty 4.1 server (#8412)
- Allow transforming classes with missing field types (#8393)
- Fix reactor flux retry context leak (#8456)
🧰 Tooling
- Introduce new incubating
InstrumenterBuilder
methods (#8392)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@apanasevich
@breedx-splk
@BroadWFarmer
@brunobat
@dmarkwat
@edison-moreno
@ericsyh
@fmhwong
@hannahchan
@heyams
@kaibocai7
@laurit
@lmolkova
@mateuszrzeszutek
@niteshs7
@PeterF778
@rahuldimri
@sfriberg
@shuwpan
@siyuniu-ms
@stevesea
@theletterf
@trask
@tylerbenson
@xiangtianyu
@yzhuang93
Version 1.25.1
This is a patch release on the previous 1.25.0 release, fixing the issue(s) below.
- Fix apache pulsar instrumentation missing from the Java agent (#8378)
Version 1.25.0
This release targets the OpenTelemetry SDK 1.25.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.
Migration notes
- Apache Pulsar instrumentation name is changed from
io.opentelemetry.apache-pulsar-2.8
toio.opentelemetry.pulsar-2.8
and Apache Camel instrumentation name is changed fromio.opentelemetry.apache-camel-2.20
toio.opentelemetry.camel-2.20
(#8195) - Mojarra instrumentation suppression key has changed from
mojarra
tojsf-mojarra
and MyFaces instrumentation suppression key has changed frommyfaces
tojsf-myfaces
(#7811)
🌟 New javaagent instrumentation
🌟 New library instrumentation
- R2DBC (#7977)
- Add JFR streaming metrics gatherer (#7886)
- Add library instrumentation for java http client (#8138)
📈 Enhancements
- Move X-Ray Env Variable propagation to span link instead of parent (#7970)
- Reduce memory usage for ClassLoaderHasClassesNamedMatcher (#7866)
- Remove password from db.user parsed from JDBC url (#8106)
- Ignore appd agent classes (#8065)
- Add http client metrics to apache http library instrumentation (#8128)
- Instrument additional pulsar receive methods (#8171)
- Support latest Hibernate 6 version (#8189)
- Support spring boot service name detector when spring boot application is packaged in one jar (#8101)
- Support parsing Spring boot service name when more than one yaml is defined (#8006)
- Add option to capture logback key value pairs (#8074)
- Bridge agent logs into application's slf4j logger (#7339, #8228)
- Better container ID parsing (#8206)
- Pulsar batch receive instrumentation (#8173)
- Improve compatibility with SecurityManager (#7983)
- Instrument akka-http bindAndHandle (#8174)
- Spring scheduling: run error handler with the same context as task (#8220)
- Switch from http.flavor to net.protocol.* (#8131, #8244)
- Support latest Armeria release (#8247)
- Populate
process.command_args
for Java 9+ and improveprocess.command_line
for Java 8 (#8130)
🛠️ Bug fixes
- Fix TracingCqlSession ClassCastException (#8041)
- Kafka: avoid registering duplicate metrics reporter (#8099)
- Prefix baggage key not value when adding it to logback mdc (#8066)
- Fix error when using shardingsphere (#8110)
- Fix order of cxf handlers to enable symmetric tracing around jaxws handler chain (#8160)
- Fix javaagent armeria server instrumentation (#8281)
🧰 Tooling
- Add HttpServerResponseCustomizer support for various servers (#8094, #8095, #8265, #8264, #8273, #8263, #8274, #8272)
- Add
removeJarVersionNumbers
build setting (#8116) - Add
disableShadowRelocate
build setting (#8117)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@abhisesh
@adamleantech
@agoallikmaa
@amseager
@anuraaga
@arminru
@aschugunov
@bcoquell
@blumamir
@breedx-splk
@cleverchuk
@coderzc
@dmytr
@duartesaraiva98
@huange7
@jack-berg
@jeanbisutti
@jkwatson
@juandaco
@laurit
@lmolkova
@makssobolevs
@marcingrzejszczak
@mateuszrzeszutek
@maverick-devil
@niteshs7
@pellmont
@PhilKes
@roberttoyonaga
@robododge
@ryandens
@sirianni
@transfercai
@trask
@trudyq
@tsloughter
@tylerbenson
@Volodymyr-Maiboroda-Imprivata
@wzy531a
@zackman0010
Version 1.24.0
This release targets the OpenTelemetry SDK 1.24.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.
Migration notes
🌟 New javaagent instrumentation
- Add Apache Pulsar client instrumentation (#5926, #7999, #7943, #8007)
- Add Jodd-Http instrumentation (#7868)
🌟 New library instrumentation
📈 Enhancements
- Implement
messaging.kafka.*
attributes spec (#7824, #7860) - Make RxJava2 instrumentation Android-friendly (#7895)
- Support more semantic convention for RocketMQ trace (#7871)
- Instrumenting cassandra executeReactive method (#6441)
- Make the OpenTelemetry Logback appender work with GraalVM native images (#7989)
- Add baggage to Logback MDC; controlled by a configuration flag (#7892)
- Make the Spring Boot autoconfigure module work with Spring Boot 3 (#8028, #8051)
🛠️ Bug fixes
- Handle JMX MBean attributes with embedded dots (#7841)
- Fix
ClassCastException
when using-Dotel.jmx.target.system=tomcat
(#7884) - Fix NPE in the AWS SDK 2 instrumentation when request instrumentation is suppressed (#7953)
- Fix Kotlin coroutine context propagation (#7879)
- Fix the JAX-RS annotation instrumentation on Open Liberty (#7890)
- Fix an
AbstractMethodError
in the Logback instrumentation (#7967) - Fix NPE in the RabbitMQ instrumentation (#8021)
- Fix JMX metrics usage examples (#7877)
🧰 Tooling
- Remove deprecated
instrumentation-api-semconv
code (#7838) - Look up helper class bytes when they are needed (#7839)
- Run smoke tests using Open Liberty 21.0.0.12 and 22.0.0.12 (#7878, #7857)
- Add additional groovy script classloaders to ignore list. (#7460)
- Make AggregationTemporality configurable for
OtlpInMemoryMetricExporter
in theagent-for-testing
module (#7904) - Upgrade to gradle 8.0.2 (#7910, 7978)
- Replace the test-sets plugin with Gradle test suites (#7930, #7933, #7932, #7931, #7929, #7946, #7945, #7944, #7943, #7942, #7928, #7951)
- Add a utility for tracking HTTP resends (#7986)
- Remove deprecated
messaging.url
attribute from messaging getter (#8008) - Add protocol name&version to net attribute getters (#7994)
- Test http client captured headers (#7993)
- Improve compatibility with other agents (#7916)
- Share timer class used by messaging instrumentations (#8009)
- Convert groovy tests to java (#7976, #7975, #7912)
- Check that extracting extension jar doesn't escape designated directory (#7908)
- Assert user agent when it is present in HTTP client tests (#7918)
- Update the OpenTelemetry SDK version to 1.24.0 (#8027)
- Provide ability to add HTTP server response headers, with Tomcat implementation (#7990)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@aaron-ai
@adamleantech
@agoallikmaa
@amexboy
@anuragagarwal561994
@arik-dig
@asarkar
@awelless
@bherbst
@breedx-splk
@devkanro
@fmhwong
@hansh0801
@heyams
@hubxx
@jack-berg
@jamesmoessis
@jeanbisutti
@KevinLiLu
@laurit
@lennartfricke
@mateuszrzeszutek
@mellis3000
@neroux
@oswin886
@PeterF778
@PhilKes
@ptrdom
@raamcosta
@riferrei
@SimoneGiusso
@tjiuming
@trask
@tylerbenson
@yonigibbs
@zeitlinger
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.SpringWebTelemetry
io.opentelemetry.instrumentation.spring.webflux.SpringWebfluxTelemetry
→io.opentelemetry.instrumentation.spring.webflux.v5_0.SpringWebfluxTelemetry
io.opentelemetry.instrumentation.spring.integration.SpringIntegrationTelemetry
→io.opentelemetry.instrumentation.spring.integration.v4_1.SpringIntegrationTelemetry
io.opentelemetry.instrumentation.logback.v1_0.OpenTelemetryAppender
→io.opentelemetry.instrumentation.logback.mdc.v1_0.OpenTelemetryAppender
io.opentelemetry.instrumentation.apachedbcp.ApacheDbcpTelemetry
→io.opentelemetry.instrumentation.apachedbcp.v2_0.ApacheDbcpTelemetry
io.opentelemetry.instrumentation.c3p0.C3p0Telemetry
→io.opentelemetry.instrumentation.c3p0.v0_9.C3p0Telemetry
io.opentelemetry.instrumentation.graphql.GraphQLTelemetry
→io.opentelemetry.instrumentation.graphql.v12_0.GraphQLTelemetry
io.opentelemetry.instrumentation.guava.GuavaAsyncOperationEndStrategy
→io.opentelemetry.instrumentation.guava.v10_0.GuavaAsyncOperationEndStrategy
io.opentelemetry.instrumentation.hikaricp.HikariTelemetry
→io.opentelemetry.instrumentation.hikaricp.v3_0.HikariTelemetry
io.opentelemetry.instrumentation.kafkaclients.KafkaTelemetry
→io.opentelemetry.instrumentation.kafkaclients.v2_6.KafkaTelemetry
io.opentelemetry.instrumentation.oracleucp.OracleUcpTelemetry
→io.opentelemetry.instrumentation.oracleucp.v11_2.OracleUcpTelemetry
io.opentelemetry.instrumentation.ratpack.RatpackTelemetry
→io.opentelemetry.instrumentation.ratpack.v1_7.RatpackTelemetry
io.opentelemetry.instrumentation.reactor.ContextPropagationOperator
→io.opentelemetry.instrumentation.reactor.v3_1.ContextPropagationOperator
io.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.2
io.opentelemetry.jersey-2.0
→io.opentelemetry.jaxrs-2.0-jersey-2.0
orio.opentelemetry.jaxrs-3.0-jersey-3.0
as appropriateio.opentelemetry.resteasy-3.0
→io.opentelemetry.jaxrs-2.0-resteasy-3.0
io.opentelemetry.resteasy-3.1
→io.opentelemetry.jaxrs-2.0-resteasy-3.1
io.opentelemetry.resteasy-6.0
→io.opentelemetry.jaxrs-3.0-resteasy-6.0
io.opentelemetry.jws-1.1
→io.opentelemetry.jaxws-jws-api-1.1
io.opentelemetry.vertx-kafka-client-3.5
→io.opentelemetry.vertx-kafka-client-3.6
io.opentelemetry.hibernate-4.3
→io.opentelemetry.hibernate-procedure-call-4.3
- All methods in all
*Getter
classes ininstrumentation-api-semconv
have 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.port
to thehttp.server.active_requests
metric (#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.route
attribute ontohttp.server.duration
on Play framework request processing (#7801) - Add Jakarta JSF 3.0+ instrumentation (#7786)
- Capture
net.sock.peer.addr
more 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.port
in 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