Releases: open-telemetry/opentelemetry-java-instrumentation
Version 2.9.0
This release targets the OpenTelemetry SDK 1.43.0.
Note that many artifacts 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
- Allow JMX Insight reuse for remote connections (#12178)
- Add opentelemetry-semconv-incubating to bom-alpha (#12266)
- Bridge more incubating api (#12230)
- Jetty HttpClient 12: propagate context to all response listeners (#12326)
- Add Pekko Scheduler context propagation (#12359)
- Add Akka Scheduler context propagation (#12373)
- Add instrumentation for spring-cloud-aws SqsListener annotation (#12314)
- Align SpringConfigProperties with DefaultConfigProperties (#12398)
- Clear context propagation virtual field (#12397)
- The opt-in experimental attribute
aws.requestId
was renamed toaws.request_id
(to match the semantic conventions) and it is now emitted by default. (#12352) - Ability to set Logback argument capture with a property in Spring Boot Starter (#12442)
- Support experimental declarative configuration (#12265)
- Spring Boot Starter: Add auto configuration for spring scheduling instrumentation (#12438)
- Extract
APIGatewayProxyRequestEvent
headers for context propagation in AWS Lambda instrumentation (#12440) - Support JMX state metrics (#12369)
- Allow method instrumentation module to trace methods in boot loader (#12454)
🛠️ Bug fixes
- Fix gc duration metric in runtime-telemetry-java17 (#12256)
- Fix vert.x route containing duplicate segments when RoutingContext.next is used (#12260)
- Fixes for latest mongo version (#12331)
- Fix context propagation for ratpack request body stream (#12330)
- Fix lambda instrumentation to forceFlush logs also (#12341)
- Can't add custom AttributeExtractor to Apache HttpClient 5 library instrumentation (#12394)
- Disable logback capture arguments by default (#12445)
- Add support for missing list properties in spring starter (#12434)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@aarrsseni
@AntonioLyubchev
@breedx-splk
@brunobat
@cleverchuk
@Dimagreg
@dubek
@egahlin
@encodedrose
@fabiolnh
@heyams
@jack-berg
@jackshirazi
@jaydeluca
@jeanbisutti
@jkwatson
@kyy1996
@laurit
@NaveenRamu
@PeterF778
@pingleig
@pjfanning
@rage-shadowman
@RajatArora08
@rdicroce
@s-chance
@shalk
@smoke
@stevenschlansker
@steverao
@SylvainJuge
@trask
@tylerbenson
@vanilla-sundae
@wsargent
@xiepuhuan
@zeitlinger
Version 2.8.0
This release targets the OpenTelemetry SDK 1.42.1.
Note that many artifacts 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.
Migration notes
- The unit on the opt-in Java 17 JFR-based metrics was updated from milliseconds to seconds to conform with the semantic conventions. If you are using the Java agent, this only affects you if you are opting in via
otel.instrumentation.runtime-telemetry-java17.enable-all=true
. (#12084, #12244)
📈 Enhancements
- Update Pulsar instrumentation to work with next Pulsar release (#11648)
- Capture
network.peer.address
in OkHttp 3.0 instrumentation (#12012) - Add support for CXF 4.0 JAX-WS (#12077)
- Add rules for capturing Apache Camel metrics exposed by JMX MBeans (#11901)
- Make RocketMQ span status extractor delegate to the default extractor (#12183)
- Bridge log body any value (#12204)
- Add declarative config support for resource providers (#12144)
🛠️ Bug fixes
- Fix Javaagent doesn't work with
java.net.spi.InetAddressResolverProvider
(#11987) - Fix Oracle UCP 11 metrics not emitted (#12052)
- Fix wrong database info captured while using Apache ShardingSphere (#12066)
- Fix RabbitMQ NullPointerException (#12109)
- Fix possible
NullPointerException
in Play instrumentation (#12121) - Fix error span status for successful requests in Ktor (#12161)
- Make OpenTelemetryHandlerMappingFilter handle exceptions from
ServletRequestPathUtils.parseAndCache()
(#12221) - Fix tracing CoroutineCrudRepository.findById (#12131)
- Fix capturing context in log4j library instrumentation with async logger (#12176)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@123liuziming
@allati
@crossoverJie
@dao-jun
@hermannpencole
@heyams
@huange7
@jack-berg
@jackshirazi
@jaydeluca
@jeanbisutti
@jerrylincs
@JonasKunz
@laurit
@LikeTheSalad
@luigidemasi
@marychatte
@ofelbaum
@PeterF778
@robsunday
@serkan-ozal
@shalk
@steverao
@SylvainJuge
@trask
@xiepuhuan
@XuyuFu
@zeitlinger
Version 1.33.6
This is a patch release on the previous 1.33.5 release, fixing the issue(s) below.
📈 Enhancements
- Backport: Update the OpenTelemetry SDK version to 1.41.0 (#12071)
Version 2.7.0
This release targets the OpenTelemetry SDK 1.41.0.
Note that many artifacts 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
- Add span baggage processor (#11697)
- Improve tomcat version detection (#11936)
- Improve akka route handling with java dsl (#11926)
- Ignore Alibaba fastjson ASMClassLoader (#11954)
- Use
aws-lambda-java-serialization
library, which is available by default, while deserializing input and serializing output (#11868) - Logback appender: map timestamp in nanoseconds if possible (#11974)
- Save ILoggingEvent.getArgumentArray() arguments from Logback (#11865)
- Update Java 17-based metrics to stable semconv (#11914)
- Add Pulsar Consumer metrics (#11891)
🛠️ Bug fixes
- Fix missing throw statement in RestClientWrapper (#11893)
- Fix ClickHouse tracing when database name not included in connection string (#11852)
- Fix class cast exception, noop meter does not implement incubating API (#11934)
- Closing a kafka producer/consumer should not disable metrics from other consumers/producers (#11975)
- Fix ending span in Ktor plugin (#11726)
- Fix netty memory leak (#12003)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@ArtyomGabeev
@asuresh4
@breedx-splk
@crossoverJie
@devurandom
@halleystar
@huange7
@igor-suhorukov
@janfreymann
@jaydeluca
@jeanbisutti
@jjoslet
@jkwatson
@JonasKunz
@jpkrohling
@kjschnei001
@kyy1996
@laurit
@LikeTheSalad
@marrek13
@marychatte
@rapphil
@robsunday
@secustor
@serkan-ozal
@stanosamek
@starsliao
@steverao
@SylvainJuge
@trask
@tylerbenson
@zeitlinger
Version 1.33.5
This is a patch release on the previous 1.33.4 release, fixing the issue(s) below.
📈 Enhancements
- Backport: Update the OpenTelemetry SDK version to 1.40.0 (#11879)
Version 2.6.0
This release targets the OpenTelemetry SDK 1.40.0.
Note that many artifacts 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.
The Spring Boot Starter (opentelemetry-spring-boot-starter
) is now stable.
Migration notes
- The
opentelemetry-spring-boot
andopentelemetry-spring-boot-3
artifacts have been merged into a single artifact namedopentelemetry-spring-boot-autoconfigure
which supports both Spring Boot 2 and Spring Boot 3 - Two experimental HTTP metrics have been renamed: -
http.server.request.size
→http.server.request.body.size
, -http.server.response.size
→http.server.response.body.size
🌟 New javaagent instrumentation
📈 Enhancements
- Support HTTP client instrumentation configuration in Spring starter (#11620)
- Influxdb client: don't fill
db.statement
for create/drop database and write operations (#11557) - Support
otel.instrumentation.common.default-enabled
in the Spring starter (#11746) - Support Jetty HTTP client 12 (#11519)
- Add Pulsar
messaging.producer.duration
metric (#11591) - Improve instrumentation suppression behavior (#11640)
- Propagate OpenTelemetry context through custom AWS client context for Lambda direct calls (#11675)
- Spring Native support for
@WithSpan
(#11757) - Support HTTP server instrumentation config properties in the Spring starter (#11667)
🛠️ Bug fixes
- Fix
http.server.active_requests
metric with async requests (#11638)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@123liuziming
@breedx-splk
@crossoverJie
@devurandom
@heyams
@jaydeluca
@jeanbisutti
@johnbley
@JonasKunz
@laurit
@lucasamoroso
@pandaji
@steverao
@SylvainJuge
@trask
@tylerbenson
@xiepuhuan
@Yindazz
@zeitlinger
Version 1.33.4
This is a patch release on the previous 1.33.3 release, fixing the issue(s) below.
📈 Enhancements
- Backport: Undertow, run response customizer on all ServerConnection implementations (#11548)
- Backport: Improve security manager support (#11606)
- Backport: Update the OpenTelemetry SDK version to 1.39.0 (#11603)
🛠️ Bug fixes
- Backport: Avoid NullPointerException when JMS destination is not available (#11577)
- Backport: Fix Spring Kafka instrumentation closing the trace too early (#11592)
- Backport: Fix gRPC instrumentation adding duplicates to metadata instead of overwriting (#11604)
- Backport: Fix request header capture corrupting tomcat request (#11607)
Version 2.5.0
This release targets the OpenTelemetry SDK 1.39.0.
Note that many artifacts 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
- Add support for Informix connection string parsing in JDBC instrumentation (#11542)
- Generate an SBOM for the javaagent artifact (#11075)
- Extract sql operation even when the sanitizer is disabled (#11472)
- Improve security manager support (#11466)
- Generate Log4j2Plugin.dat for OpenTelemetryAppender (#11503)
- Stop kotlin coroutine dispatcher from propagating context (#11500)
- Handle Vert.x sub routes (#11535)
- Undertow: run response customizer on all ServerConnection implementations (#11539)
- Allow configuring MDC key names for trace_id, span_id, trace_flags (#11329)
- Apply async end strategy to all kotlin coroutine flows (#11583)
🛠️ Bug fixes
- Fix container.id issue in some crio scenarios (#11382)
- Fix Finagle http client context propagation (#11400)
- Fix sporadically failing finagle test (#11441)
- Fix request header capture corrupting tomcat request (#11469)
- Fix Ktor server instrumentation when Ktor client library is not present (#11454)
- Fix gRPC instrumentation adding duplicates to metadata instead of overwriting (#11308)
- Avoid NullPointerException when JMS destination is not available (#11570)
- Fix Spring Kafka instrumentation closing the trace too early (#11471)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@AlchemyDing
@breedx-splk
@cleverchuk
@heyams
@himamulch
@jack-berg
@jaydeluca
@jeanbisutti
@JonasKunz
@KarinaGanieva-sl
@kintan-singh-backend
@kjschnei001
@laurit
@liurui-1
@ofelbaum
@pavelvodrazka
@pepeshore
@philsttr
@Questlog
@rickardoberg
@s-af
@steverao
@SylvainJuge
@trask
@tylerbenson
@wgy035
@zeitlinger
@zhangjiabin1010
Version 1.33.3
This is a patch release on the previous 1.33.2 release, fixing the issue(s) below.
📈 Enhancements
Version 2.4.0
This release targets the OpenTelemetry SDK 1.38.0.
Note that many artifacts 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
📈 Enhancements
- Instrument ConnectionSource in Akka/Pekko HTTP Servers (#11103)
- Use constant span name when using Spring AMQP AnonymousQueues (#11141)
- Add support for
RestClient
in Spring starter (#11038) - Add support for WebFlux server in Spring starter (#11185)
- Add async operation end strategy for Kotlin coroutines flow (#11168)
- Add automatic JDBC instrumentation to the Spring starter (#11258)
- Add
StructuredTaskScope
instrumentation (#11202) - Allow reading OTel context from reactor ContextView (#11235)
- Add spring starter r2dbc support (#11221)
- Enable instrumentation of Spring EJB clients (#11104)
- Support
otel.instrumentation.kafka.experimental-span-attributes
in Spring starter (#11263) - Remove incubating semconv dependency from library instrumentation (#11324)
- Add extension functions for Ktor plugins (#10963)
- Add dedicated flag for R2DBC statement sanitizer (#11384)
- Allow library instrumentations to override span name (#11355)
- Don't sanitize PostgreSQL parameter markers (#11388)
- Make statement sanitizer configurable for Spring Boot (#11350)
🛠️ Bug fixes
- Fix GraphQL instrumentation to work with latest version (#11142)
- Fix jmx-metrics on WildFly (#11151)
- End gRPC server span in onComplete instead of close (#11170)
- Fix a bug in undertow instrumentation related to HTTP/2 (#11361)
- Armeria http client reports wrong protocol version (#11334)
- Use daemon thread for scheduling in jmx-metrics BeanFinder (#11337)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@123liuziming
@aaron-ai
@AlchemyDing
@ArtyomGabeev
@aschugunov
@breedx-splk
@cxjava
@dengliming
@ehsannas
@flamiau04
@hannahchan
@jaydeluca
@jeanbisutti
@jmadureira
@laurit
@LikeTheSalad
@lizongwu
@marychatte
@ofelbaum
@PeterF778
@philsttr
@steverao
@swar8080
@SylvainJuge
@trask
@v1v
@zackman0010
@zeitlinger