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