Releases: open-telemetry/opentelemetry-java-instrumentation
Version 1.6.1
This is a patch release on the previous 1.6.0 release, fixing the one issue below. If you are not affected by this, you do not need to update.
🛠️ Bug fixes
- Fix possible JDBC instrumentation deadlock (#4191)
Version 1.6.0
This release requires the use of OpenTelemetry Java SDK 1.6.0.
Note that all artifacts other than io.opentelemetry.javaagent:opentelemetry-javaagent
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
🌟 New library instrumentation
📈 Enhancements
- Extract Jedis 3 net attributes from InetSocketAddress (#3912)
- Add option to suppress controller and view spans (#3865)
- Capture http.user_agent for AsyncHttpClient (#3930)
- Instrument spring-kafka batch message listeners (#3922)
- Use unsafe to inject classes to the bootstrap class loader (#4026)
- Some performance optimizations (#4004, #4006, #4008, #4013, #4014)
- Do not fallback to net attributes for http.client_ip (#4063)
- Start a CONSUMER span for Kafka poll() (#4041)
- Support otlp http exporter (#4068)
- Better grpc events (#4098)
🛠️ Bug fixes
- Bridge span keys defined in instrumentation-api (#3911)
- Hide generated fields and methods from reflection (#3948)
- Remove invalid message header (#3958)
- Fix memleak in the Netty ChannelPipeline instrumentation (#4053)
- Fix grpc instrumentation of callbacks (#4097)
- Bridge trace builder (#4090)
- Remove original handler when removelast in netty (#4123)
🧰 Tooling
- Deprecate old extensions (#3825)
- Add request parameter to EndTimeExtractor (#3947)
- Make Config behave exactly as SDK DefaultConfigProperties (#4035)
- Fix extension shading (#4064)
- Add error parameter to EndTimeExtractor and AttributesExtractor#onEnd() (#3988)
- Allow adding multiple ContextStore fields to one key class (#4067, #4084, #4110)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@anuraaga
@arm-chair
@asuresh4
@breedx-splk
@carlosalberto
@dengliming
@dmatscale
@edwardxia
@Enkelian
@evantorrie
@HaloFour
@iNikem
@jack-berg
@jkwatson
@jsuereth
@klboke
@kubawach
@laurit
@lmolkova
@mateuszrzeszutek
@mcmho
@meSunnySrivastava
@michaelbannister
@previousdeveloper
@ryandens
@shivanshu1333
@trask
@tydhot
@willarmiros
@zhq734
@zmapleshine
Version 1.5.3
This release requires the use of OpenTelemetry Java SDK 1.5.0.
This is a patch release on the previous 1.5.x releases, fixing the one issue below. If you are not affected by this, you do not need to update.
🛠️ Bug fixes
- Fix parsing of unclean map values in Config (#4032)
Version 1.5.2
This release requires the use of OpenTelemetry Java SDK 1.5.0.
This is a patch release on the previous 1.5.0 and 1.5.1 releases, fixing the one issue below.
It is recommended that all users of 1.5.0 and 1.5.1 update to this patch release.
🛠️ Bug fixes
- Fix unbounded metrics cardinality, which in particular causes memory leak when not using any metrics exporter (#3972)
Version 1.5.1
This release requires the use of OpenTelemetry Java SDK 1.5.0.
This is a patch release on the previous 1.5.0 release, fixing the three issues below. If you are not affected by any of these issues, you do not need to update.
🛠️ Bug fixes
Version 1.5.0
🌟 New library instrumentation
- Library instrumentation for Apache HTTP Client 4.3 (#3623)
- Library instrumentation for Ratpack server (#3749)
📈 Enhancements
- Support Couchbase 3.2.0 (#3645)
- Handle port and IPv6 in forwarded headers (#3651)
- Set real Hibernate span name on method entry to help samplers (#3603)
- Reduce overhead of unsampled requests (#3681)
- Sanitize SQL in Apache Camel instrumentation (#3683, #3717)
- Add option to create span on new netty connection (#3707)
- Propagate context into jdk http client callback (#3719)
- Instrument Tomcat executor to support async servlets in new Tomcat 9.0.52 release (#3789)
- Add otlp-logging exporter (#3807)
- Add new option to support capturing nested client spans of different types (#3691)
- Propagate context to lettuce callbacks (#3839)
- Instrument ForkJoinTask.fork() (#3849)
- Implement a Call.Factory for okhttp 3.x+ library instrumentation (#3812)
- Record exception in Dubbo instrumentation (#3851)
- Propagate context to elasticsearch callbacks (#3858, #3861)
- Added Vertx http client 4 instrumentation (#3665)
- Make empty agent bridged context equal root context (#3869)
🛠️ Bug fixes
- Fix OkHttp 3 correlation when using callback under concurrency (#3669, #3676)
- Fix Netty span not captured on read timeout (#3613)
- Fix Netty connection failure handling when listener is lambda (#3569)
- Fix NullPointerException in Apache HttpAsyncClient instrumentation (#3692)
- Fix NullPointerException in Tomcat instrumentation (#3705)
- Fix Apache HttpClient telemetry when host and absolute URI are used (#3694)
- Fix JDK http client should propagate even when sampled out (#3736)
- Limit netty exception capture to netty spans (#3809)
- Fix jetty httpclient returning empty response when instrumented (#3831, #3833)
- Don't clobber user decorators in Armeria client instrumentation (#3873)
- Use valid Java identifiers for message keys (#3863)
- Fix ClassNotFoundException: HandlerMappingResourceNameFilter in some ear deployments (#3718)
🧰 Tooling
- Improve extension sample documentation and add it to the README file (#3656)
- Extract muzzle check plugin (#3657)
- Move instrumentation specific classes out of javaagent-instrumentation-api (#3604, #3763)
- Fill
http.client_ip
in ServerInstrumenter (#3756) - Fix printMuzzleReferences gradle task (#3808)
- Introduce stable property for external extensions (#3823)
- Run tests on j9 JVM during CI (#3764)
- Support looking up a ContextStore from outside of Advice (#3827)
- Deprecate MetricExporterFactory (#3862)
- Don't pass configuration to SDK autoconfigure through system props (#3866)
- Rename Config get*Property() methods to get*() (#3881)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@anuraaga
@breedx-splk
@caniszczyk
@dengliming
@Enkelian
@HaloFour
@iNikem
@jack-berg
@jkwatson
@jsuereth
@kubawach
@laurit
@lmolkova
@mateuszrzeszutek
@michaelbannister
@mijingling
@necrolyte2
@randomanderson
@robododge
@seshness
@theletterf
@trask
@tydhot
@tylerbenson
@vovencij
@WillsonHG
@zmapleshine
Version 1.4.1
This release requires the use of OpenTelemetry Java SDK 1.4.1. It is a patch release on the previous one fixing a regression in the Apache HttpAsyncClient instrumentation. If you do not use this, you do not need to update.
🛠️ Bug fixes
- Fix NPE in Apache HttpAsyncClient instrumentation (#3692)
Version 1.4.0
This release requires the use of OpenTelemetry Java SDK 1.4.1.
Note that all artifacts other than io.opentelemetry.javaagent:opentelemetry-javaagent
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.
☢️ Behavioral changes
- Updated all instrumentation names to
io.opentelemetry.{libName}-{libVersion}
(#3411) - Updated RabbitMQ to follow semantic conventions (#3425)
🌟 New javaagent instrumentation
- Jetty 9 HTTP client instrumentation (#3079)
🌟 New library instrumentation
📈 Enhancements
- Make @RabbitListener propagate context properly (#3339)
- Add peer.service to grpc javaagent instrumentation (#3357)
- Propagate context to cassandra4 callbacks (#3371)
- Update Armeria instrumentation to support new Armeria 1.9.0 release (#3407)
- Context propagation for ratpack Execution.fork() (#3416)
🛠️ Bug fixes
- Fix Kafka stream instrumentation to support Kafka 2.6 and above (#3438)
- Fix Dubbo trace/span cross-process propagation (#3442)
- Fix
peer.service
configuration mapping (#3378)
🧰 Tooling
- Hide
Config#create()
method and use builder everywhere (#3338) - Ignore task classes using IgnoredTypesConfigurer (#3380)
- Exclude bootstrap dependencies from inst (#3432)
- Exclude duplicates from -all.jar (#3430)
- Port AsyncSpanEndStrategy to Instrumenter API (#3262)
- Rename
opentelemetry-javaagent-api
artifact toopentelemetry-javaagent-instrumentation-api
(#3513)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@agoallikmaa
@amitgud-doordash
@anuraaga
@Asafb26
@bnikster
@breedx-splk
@dengliming
@devinsba
@donbeave
@Enkelian
@EricGreen239
@GuillaumeWaignier
@HaloFour
@iNikem
@jamesylgan
@jkwatson
@Johnny850807
@judomu
@laurit
@liaozhenlin
@mateuszrzeszutek
@matthias-huber
@michaelbannister
@minwoox
@mnadeem
@necrolyte2
@Oberon00
@previousdeveloper
@RashmiRam
@rbelfils
@robododge
@tobias-
@trask
@trustin
@zmapleshine
Version 1.3.1
This release requires the use of OpenTelemetry Java SDK 1.3.0. It is a patch release on the previous one fixing issues with the BOM, reactor-rabbitmq, and Spring JMS. If you do not use any of these, you do not need to update.
🛠️ Bug fixes
Version 1.3.0
This release requires the use of OpenTelemetry Java SDK 1.3.0.
Note that all artifacts other than io.opentelemetry.javaagent:opentelemetry-javaagent
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
- Spring Integration javaagent instrumentation (#3295)
🌟 New library instrumentation
- Spring Integration library instrumentation (#3120)
📈 Enhancements
- Support peer-service-mapping in OkHttp3 instrumentation (#3063)
- Low cardinality span names for Hibernate spans (#3106)
- Propagate context to armeria callbacks (#3108)
- Add attributes to netty connection failure span (#3115)
- Defer initialization of OpenTelemetry in spring-boot-autoconfigure (#3171)
- Support couchbase 3.1.6 (#3194)
- New experimental support for agent extensions (#2881, #3071, #3226, #3237)
- Propagate context to akka http callbacks (#3263)
☢️ Behavioral changes
- Update agent logger prefix (#3007)
- Remove khttp instrumentation (#3087)
- Enable akka actor instrumentation by default (#3173)
🛠️ Bug fixes
- Remove Netty instrumented handler wrapper when original handler is removed (#3026)
- Fix memory leak when Netty handler is a lambda (#3059)
- Fix race condition on Undertow (#2992)
- Remove db.connection_string from redis instrumentation (#3094)
- Fix context propagation leak in Akka instrumentation (#3099)
- Fix webflux handler span sporadically not ending (#3150)
- End span on cancellation of subscription to reactive publishers (#3153)
- End span on cancellation of Guava future (#3175)
- Create Netty connection failure span only when first operation fails (#3228)
- Internal instrumentation should always be enabled by default (#3257)
- Fix context propagation leak in Akka HTTP instrumentation (#3264)
- Only include exporters in the
-all
jar (#3286) - Fix ForkJoinPool sometimes not instrumented (#3293)
🧰 Tooling
- Migrate MuzzlePlugin to Java (#2996, #3017)
- Refactor TypeInstrumentation#transformers() method (#3019)
- Change a couple of Longs to Integers in Instrumenter API (#3043)
- Add peer.service to Instrumenter API (#3050)
- Add response type parameter to db attributes extractor (#3093)
- Add optimized Attributes implementation for Instrumenter (#3136)
- Rename ComponentInstaller to AgentListener and add #order() method (#3182)
- Update ByteBuddy (#3254)
- Introduce IgnoredTypesConfigurer SPI to enable defining per-module ignores (#3219)
- Extract agent shadow configuration to conventions script (#3256)
- Deprecate SpanExporterFactory in favor of ConfigurableSpanExporterProvider (#3299)
- Refactor span names class (#3281)
- Move http client/server testing dependencies to internal package (#3305)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@agoallikmaa
@anuraaga
@ben-manes
@breedx-splk
@dengliming
@HaloFour
@iNikem
@jkwatson
@kubawach
@laurit
@mateuszrzeszutek
@matthias-huber
@michaelbannister
@minwoox
@necrolyte2
@robododge
@tobias-
@trask
@tylerbenson
@WillsonHG