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