Releases: open-telemetry/opentelemetry-java-instrumentation
Version 1.9.0
This release requires the use of OpenTelemetry Java SDK 1.9.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.
📈 Enhancements
- Don't report 400 level as error for SERVER spans (#4403)
- Netty instrumentation now captures
http.scheme
(#4446, #4576) - Stabilize HTTP headers capturing configuration property names (#4459)
- Add metrics to remaining http instrumentation (#4541)
- Remove hibernate session spans (#4538)
- Support Jedis 4 (#4555)
- Trace DNS resolution in Netty 4.1 and reactor-netty (#4587, #4627)
- Update garbage collector instruments to be async counters (#4600)
- Update HTTP metrics view to match the specification (#4556)
- Improve Spring Integration interceptor ordering (#4602)
- Support Restlet 2.0 (#4535)
- Improved capture of couchbase queries (#4615)
- Trace SSL handshakes in netty 4.0 and 4.1 (#4635, #4604)
- Capture exception on finatra controller spans (#4669)
- Capture exception on async servlet spans (#4677)
- Automatic AWS library instrumentor (#4607)
- Support spring boot 2.6.0 (#4687)
🛠️ Bug fixes
- Preserve caught netty exception in the context instead of calling end () (#4413)
- Extract net attributes both on start and on end in netty HTTP client (#4420)
- Capture metric dimensions from end attributes also (#4430)
- Avoid logging servlet3 muzzle failure when running on servlet2 (#4474)
- Fix JettyHttpClient9TracingInterceptor NullPointerException (#4527)
- Fix context propagation in tomcat thread pool (#4521)
- Add missing java.util.logging.Logger methods to PatchLogger (#4540)
- Fix ClassCircularityError when running with security manager (#4557)
- Fix sun.misc.Unsafe generation on Java 17 (#4558)
- Fix IndexOutOfBounds in apache http clients (#4575)
- Fix RMI instrumentation on Java 17 (#4577)
- Fix Spring Integration instrumentation name (#4601)
- Capture instrumentation version provided by application tracer correctly when using agent (#4630)
- Ensure that netty 4.0 instrumentation is not applied to 4.1 (#4626)
- Fix muzzle problems happening when netty without SSL is used (#4631)
- Fix memory leak when using ktor-client-java (#4637)
- Fix quartz instrumentation name (#4657)
- Fix Spring Integration context leak (#4673)
- Fix exemplars (#4678)
- Fix and enforce Android support (#4671, #4667, #4505)
🧰 Tooling
- Migrate to Spock 2 (#4458)
- Rename
newBuilder ()
tobuilder ()
(#4475) - Sync gradle-plugins version with main project (#4248)
- Muzzle match only once in each class loader (#4543)
- Inject helper resources only once (#4573)
- Improve muzzle check for constructors (#4591)
- Add version to the InstrumenterBuilder and Instrumenter (#4611)
- Add a ClassAndMethod class to Instrumentation API (#4619)
- Implement a dedicated reactor-netty 1.0 instrumentation (#4662)
- Remove gRPC dependency for export (#4674)
- Start using Gradle Enterprise instance (#4663)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@alvinhom
@anuraaga
@ben-manes
@breedx-splk
@brunojcm
@bsideup
@castortech
@chenjazz
@chris-pinola-rf
@dboreham
@dengliming
@Enkelian
@HaloFour
@harel-e
@iNikem
@irizzant
@jack-berg
@jkwatson
@jsalinaspolo
@jsuereth
@kubawach
@laurit
@lmolkova
@MartinDai
@mateuszrzeszutek
@michaelbannister
@osherv
@przemekak
@qiansheng91
@radcortez
@runningcode
@shivanshu1333
@steffan-westcott
@steven-aerts
@theletterf
@trask
@zmapleshine
Version 1.8.0 (Bad Release)
Due to an issue in the publishing infrastructure, a bad release was published as 1.8.0. Do not use it.
Version 1.7.2
This is a patch release on the previous 1.7.1 release, fixing the issues below. If you are not affected by these, you do not need to update.
🛠️ Bug fixes
Version 1.7.1
This is a patch release on the previous 1.7.0 release, fixing the three issues below. If you are not affected by these, you do not need to update.
🛠️ Bug fixes
Version 1.7.0
Note: with this release, the -all
artifact has been removed and the default artifact (with no classifier) is now the go-to artifact that contains the exporters. If you want an artifact with no exporters, there is a new -slim
artifact that is published to maven central. The -all
artifact is still attached to this release below (it has the same content as the default artifact), but will no longer be attached to the releases starting from v1.8.0.
This release requires the use of OpenTelemetry Java SDK 1.7.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.
📈 Enhancements
- Change the default javaagent artifact to have exporters, introduce new
-slim
artifact,
and deprecate the-all
artifact (#4106) - Support jlinked images without jdk.unsupported module (#4154, #4124)
- Added experimental option to suppress messaging receive spans (#4187, #4204)
- Refine 404 handling in Restlet instrumentation (#4206)
- Remove dynamo db.name attribute (#4208)
- Remove capturing http.url in server instrumentation in favor of http.scheme, http.host
and http.target (#4209) - Intern db info to reduce memory consumption (#4263)
- Better JAX-RS async cancel handling (#4279)
- Extract HTTP request/response headers as span attributes (#4237, #4309, #4320, #4321, #4328, #4395)
- Support kafka streams 3 (#4236)
- AWS lambda - improvements in custom type handling in wrappers, SQS event wrapper added (#4254)
- Add code attributes to quartz spans (#4332)
- Collect more attributes from servlet instrumenter (#4356)
- Allow reactor instrumentation to pick up spans from reactor context (#4159)
- Hide virtual field accessor interface methods from reflection (#4390)
🛠️ Bug fixes
- Fix spring context reload issue (#4051)
- Remove incorrect lettuce db.statement attribute (#4160)
- Fix tomcat async spans (#4339)
🧰 Tooling
- Add start/end time to RequestListener (#4155)
- Add context customizer hook to Instrumenter API (#4167)
- Transform lambda classes (#4182)
- Separate HTTP client/server AttributesExtractors (#4195)
- Introduce muzzle-specific interface to InstrumentationModule (#4207)
- Make it possible to use InstrumentationContext (now VirtualField) from library instrumentation (#4218)
- Add functionality to generate API changes (#4285)
- Split NetAttributesExtractor into NetClientAttributesExtractor and NetServerAttributesExtractor (#4287)
- Back VirtualField with a volatile field (#4355)
- Convert AttributesExtractor to interface (#4363)
- Rename some *InstrumenterBuilder classes to *InstrumenterFactory (#4391)
- rename
newBuilder()
tobuilder()
(#4407)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@alesj
@anuraaga
@aras112
@ben-manes
@breedx-splk
@brunojcm
@dengliming
@Enkelian
@frommeyerc
@GlowingRuby
@HaloFour
@HyunGook-Kim
@iNikem
@jack-berg
@jantekb
@jkwatson
@kubawach
@laurit
@lmolkova
@MartinDai
@mateuszrzeszutek
@michaelbannister
@Oberon00
@pavolloffay
@shivanshu1333
@theletterf
@trask
Version 1.6.2
This is a patch release on the previous 1.6.0 and 1.6.1 releases, fixing the one issue below that arose during the 1.6.1 patch release.
If you are not affected by this, you do not need to update.
🛠️ Bug fixes
- The 1.6.1 patch release was not backwards compatible with javaagent extensions built against 1.6.0 (#4245)
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)