Skip to content

Releases: open-telemetry/opentelemetry-java-instrumentation

Version 1.6.1

29 Sep 17:31
Compare
Choose a tag to compare

⚠️ There was a problem with this patch release which breaks javaagent extensions if you are using them.


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

18 Sep 18:56
15cfcfa
Compare
Choose a tag to compare

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

  • Add instrumentation for Quartz 2.0 (#4017)
  • Restlet instrumentation (#3946)

🌟 New library instrumentation

  • Add instrumentation for Quartz 2.0 (#4017)
  • Restlet instrumentation (#3946)

📈 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

31 Aug 22:35
Compare
Choose a tag to compare

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

27 Aug 14:53
Compare
Choose a tag to compare

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

25 Aug 04:54
2991cd2
Compare
Choose a tag to compare

⚠️ There is a memory leak in the recent 1.5.0 and 1.5.1 releases of the Java agent that will likely impact anyone who is not using a metrics exporter. Please use the 1.5.2 release instead.


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

  • Fix broken Android level 21-25 support in OkHttp 3 library instrumentation (#3910)
  • Fix maven central pom file for the opentelemetry-javaagent artifact (#3929)
  • Fix maven central pom file for the opentelemetry-agent-for-testing artifact (#3935)

Version 1.5.0

22 Aug 20:41
052d00d
Compare
Choose a tag to compare

⚠️ There is a memory leak in the recent 1.5.0 and 1.5.1 releases of the Java agent that will likely impact anyone who is not using a metrics exporter. Please use the 1.5.2 release instead.


🌟 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

29 Jul 21:25
db7bc95
Compare
Choose a tag to compare

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

20 Jul 15:53
ec30d42
Compare
Choose a tag to compare

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

  • Jetty 9 HTTP client instrumentation (#3079)
  • Jdbc instrumentation (#3367)

📈 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 to opentelemetry-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

24 Jun 04:22
d65738d
Compare
Choose a tag to compare

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

  • Fix incorrect dependency in published BOM (#3376)
  • Fix UnsupportedOperationException with reactor-rabbitmq (#3381)
  • Fix Spring JMS not being instrumented (#3359)

Version 1.3.0

17 Jun 14:11
8e6a464
Compare
Choose a tag to compare

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