Releases: open-telemetry/opentelemetry-java-instrumentation
Version 2.11.0
This release targets the OpenTelemetry SDK 1.45.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.
Migration notes
In preparation for stabilizing HTTP library instrumentation soon:
addAttributeExtractor
methods in a few*TelemetryBuilder
classes have been deprecated and renamed toaddAttributesExtractor
(which is how most of them were named already) (#12860)setEmitExperimental*
methods in*TelemetryBuilder
classes have been deprecated and moved to internal/experimental classes, see Javadoc@deprecated
for exact relocation (#12847)ApacheHttpClient5*
classes have been deprecated and renamed toApacheHttpClient*
(#12854)RatpackTelemetry*
classes have been deprecated and split intoRatpackClientTelemetry*
andRatpackServerTelemetry*
(#12853)SpringWebfluxTelemetry*
classes have been deprecated and split intoSpringWebfluxClientTelemetry*
andSpringWebfluxServerTelemetry*
(#12852)ArmeriaTelemetry*
classes have been deprecated and split intoArmeriaClientTelemetry*
andArmeriaServerTelemetry*
(#12851)*KtorClientTracing*
and*KtorServerTracing*
have been deprecated and renamed to*KtorClientTelemetry*
and*KtorServerTelemetry*
(#12855)- Experimental opt-in attribute
spring-webflux.handler.type
was removed in favor of standardcode.*
attributes (#12887)
📈 Enhancements
- Map lettuce 5.1
db.namespace
todb.name
(unless using experimental database semconv stability opt-in) (#12609) - Log4j2: add option to fill code attributes (#12592)
- Fill jvm.thread.state attribute for jvm.thread.count metric on jdk8 (#12724)
- Update Spring Scheduling
code.*
attribute extraction for latest release of Spring Scheduling (#12739) - Add jctools classes to
reflect-config.json
for better native image support (#12736) - Support Pulsar Client send message with transaction (#12731)
- Implement reading of simple key-value Logstash JSON Marker attributes (#12513)
- Add agent instrumentation for Ratpack 1.7+ (#12572)
- Added
spring-scheduling.enabled
property to spring-configuration-metadata.json (#12791) - Remove class files from spring-boot-autoconfigure source jar (#12798)
- Updated Camel rules adding route.started, route.added, and thread pools' pool.core_size (#12763)
- Add database client metrics (when using experimental database semconv stability opt-in) (#12806, #12818)
- Add dynamodb instrumenter for aws v1_11 sdk (#12756)
- Remove public suffixes list from the agent (#10763)
- Add an option to disable automatic kafka interceptor configuration in spring starter (#12833)
- Add code attributes to spring webmvc controller spans (#12839)
- Hibernate 6: don't record error on NoResultException (#12879)
- Add support for missing spring list properties (#12819)
- Ktor: support setting custom
spanNameExtractor
(#12842) (#12850) - Rename "db.client.connections.usage" to "db.client.connection.count" (when using experimental database semconv stability opt-in) (#12886)
- Support Struts 7.0 (#12935)
- Support latest Ktor release (#12937)
🛠️ Bug fixes
- Logback: don't make MDCPropertyMap of logging event immutable (#12718)
- Avoid exception when redisson address is null (#12883)
- Add close to fix CWE-404 (#12908)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@akats7
@andrewj2048
@austinlparker
@breedx-splk
@coderzc
@cuichenli
@dao-jun
@howan36
@jack-berg
@jackshirazi
@jaydeluca
@jeanbisutti
@johnrengelman
@JonasKunz
@KimDoubleB
@kuisathaverat
@larryluogit
@laurit
@LikeTheSalad
@luigidemasi
@micd
@nityanandagohain
@oldium
@pepeshore
@PeterF778
@sam9291
@shalk
@SIMULATAN
@steverao
@SylvainJuge
@the-vj
@trask
@zeitlinger
Version 2.10.0
This release targets the OpenTelemetry SDK 1.44.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.
🌟 New javaagent instrumentation
- Ktor 3 instrumentation (#12562)
🌟 New library instrumentation
- Ktor 3 instrumentation (#12562)
Migration notes
- Spring Boot Starter Scheduling instrumentation scope name changed from
io.opentelemetry.spring-scheduling-3.1
toio.opentelemetry.spring-boot-autoconfigure
to reflect the module's name. - Default flush timeout for aws lambda javaagent instrumentation changed from 1 second to 10 seconds to match the flush timeout used in the aws lambda library instrumentation. (#12576)
📈 Enhancements
- Delegate loading of java package to platform loader (#12505)
- Set up virtual field transforms before otel sdk is initialized (#12444)
- Update azure-core-tracing-opentelemetry version and improve HTTP suppression to back off when Azure SDK tracing is disabled. (#12489)
- Ktor2 http client uses low level instrumentation (#12530)
- Add logback mdc instrumentation to spring boot starter (#12515)
- Run class load listener only once (#12565)
- Remove duplicate byte buddy classes to reduce agent jar file size (#12571)
- Support additional JVM arg syntax in service name resource detector (#12544)
🛠️ Bug fixes
- Fix derby directory connection string parser (#12479)
- Improve whitespace handling in oracle jdbc url parser (#12512)
- Fix SpanKey bridging for unbridgeable span (#12511)
- Fix lettuce instrumentation and tests to pass against latest version (#12552)
- Fix Kafka initialization occasionally failed due to concurrent injection of OpenTelemetryMetricsReporter (#12583)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@AntonioLyubchev
@breedx-splk
@brunobat
@Cirilla-zmh
@e5l
@greatvovan
@heyams
@jaydeluca
@jeanbisutti
@JonasKunz
@laurit
@lmolkova
@misaya98
@obs-gh-abhishekrao
@pengliaoye
@shalk
@smoke
@steverao
@SylvainJuge
@trask
@v-chernyshev
@vanilla-sundae
@zeitlinger
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