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