Releases: open-telemetry/opentelemetry-java-instrumentation
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
Version 1.33.2
Version 2.3.0
This release targets the OpenTelemetry SDK 1.37.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
- Handle async requests in spring mvc library instrumentation (#10868)
- Support statement sanitizer enabled flag in lettuce 5.1 instrumentation (#10922)
- Remove AWS Active Tracing span linking (#10930)
- Make spring boot honor the standard environment variables for maps (#11000)
- Pulsar: use span links when receive telemetry is enabled (#10650)
- Rename
messaging.kafka.destination.partition
tomessaging.destination.partition.id
(#11086) - Support
service.instance.id
in spring starter (#11071) - Add library instrumentation for RestTemplateBuilder (#11054)
- Add cloud resource providers in spring starter (#11014)
🛠️ Bug fixes
- Fix disabling virtual thread context propagation (#10881)
- Fix virtual thread instrumentation for jdk 21 ea versions (#10887)
- Fix spring kafka interceptor wrappers not delegating some methods (#10935)
- AWS Lambda Runtime legacy internal handlers need to be ignored from being instrumented and so traced … (#10942)
- Metro: ignore UnsupportedOperationException when updating span name (#10996)
- Fix jedis plugin for 2.7.2 (#10982)
- Fix idle in druid instrumentation (#11079)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@123liuziming
@AlchemyDing
@breedx-splk
@cleverchuk
@damienburke
@huange7
@itsmykairos
@jack-berg
@jaydeluca
@jeanbisutti
@johnbley
@JonasKunz
@laurit
@Moscagus
@phillipdriver
@rapphil
@robberphex
@serkan-ozal
@srinivas-bode
@steverao
@SylvainJuge
@Synthenses
@trask
@tylerbenson
@wang007
@xiangtianyu
@zeitlinger
Version 1.33.1
Version 2.2.0
This release targets the OpenTelemetry SDK 1.36.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
- Remove deprecated spring properties (#10454)
🌟 New javaagent instrumentation
- Add cloud resource detectors in javaagent, but keep them disabled by default (#10754)
- Add support for XXL-JOB (#10421)
📈 Enhancements
- Don't fill network peer for cassandra SniEndPoint (#10573)
- Spring boot starter: add service.version detection, improve service.name detection (#10457)
- Always create a JMS consumer span (#10604)
- Ability to disable the automatic Logback appender addition (#10629)
- Allow excluding all methods of a class (#10753)
- Preserve attribute type for logback key value pairs (#10781)
- Add instrumentation for graphql 20 that does not use deprecated methods (#10779)
- Capture http.route for pekko-http (#10799)
- Normalize SQL IN(?, ?, ...) statements to "in(?)" to reduce cardinality of db.statement attribute (#10564)
- Capture
db.operation
for CREATE/DROP/ALTER SQL statement (#10020) - Ignore AWS Lambda Runtime internal handlers (#10736)
- Spring use SDK autoconfig (#10453)
- Add manifest resource detector (#10621)
- Add instrumentation for jetty 12 (#10575)
- add host.id resource provider (#10627)
🛠️ Bug fixes
- Don't fail spring application startup if sdk is disabled (#10602)
- Fix shading aws propagator (#10669)
- Disable http and rpc metrics when advice can not be applied (#10671)
- Fix native tests (#10685)
- Fix tomcat instrumentation when user includes wrong servlet api (#10757)
- Override xray trace header instead of appending (#10766)
- Fix spring boot starter failing without logback (#10802)
- Fix spring kafka context leak when batch listener is retried (#10741)
- Fix the logic to get container.id resource attribute (#10737)
- Configure kafka metrics reporter as class (#10855)
- Disable context propagation when virtual thread is switched to the carrier thread (#10854)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@bbakerman
@bjrara
@breedx-splk
@cleverchuk
@crossoverJie
@dalbani
@dmarkwat
@freshchen
@gaeljw
@gdw2
@hatharom
@heyams
@jaydeluca
@jeanbisutti
@jkwatson-verta
@JonasKunz
@laurit
@liurui-1
@Moscagus
@paragniist
@pmitura-lucid
@qixiaogang
@samwright
@serkan-ozal
@steverao
@swar8080
@theletterf
@tkramarczyk-vgw
@trask
@tylerbenson
@wangzlei
@zeitlinger
Version 1.33.0
This release targets the OpenTelemetry SDK 1.35.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
- The deprecated Jaeger exporter has been removed (#10524)
📈 Enhancements
Version 2.1.0
This release targets the OpenTelemetry SDK 1.35.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
- Deprecated config properties have been removed in favor of the new names:
otel.instrumentation.kafka.client-propagation.enabled
->otel.instrumentation.kafka.producer-propagation.enabled
otel.instrumentation.netty.always-create-connect-span
->otel.instrumentation.netty.connection-telemetry.enabled
otel.instrumentation.http.capture-headers.client.request
->otel.instrumentation.http.client.capture-request-headers
otel.instrumentation.http.capture-headers.client.response
->otel.instrumentation.http.client.capture-response-headers
otel.instrumentation.http.capture-headers.server.request
->otel.instrumentation.http.server.capture-request-headers
otel.instrumentation.http.capture-headers.server.response
->otel.instrumentation.http.server.capture-response-headers
otel.instrumentation.http.client.emit-experimental-metrics
->otel.instrumentation.http.client.emit-experimental-telemetry
otel.instrumentation.http.server.emit-experimental-metrics
->otel.instrumentation.http.server.emit-experimental-telemetry
(#10349)
- The deprecated Jaeger exporter has been removed (#10241)
- Actuator instrumentation has been disabled by default. You can enable using
OTEL_INSTRUMENTATION_SPRING_BOOT_ACTUATOR_AUTOCONFIGURE_ENABLED=true
or-Dotel.instrumentation.spring-boot-actuator-autoconfigure.enabled=true
. (#10394) - Spring starter: removed support for the deprecated @io.opentelemetry.extension.annotations.WithSpan annotation. Use @io.opentelemetry.instrumentation.annotations.WithSpan annotation instead. (#10530)
🌟 New javaagent instrumentation
🌟 New library instrumentation
- Apache HttpClient 5 instrumentation (#10100)
📈 Enhancements
- Spring starter: add distro version resource attribute (#10276)
- Add context propagation for rector schedulers (#10311)
- Spring starter: automatic addition of the OTel Logback appender (#10306)
- Spring starter: add resource detectors (#10277)
- Allow closing the observables for System and Process metrics gathered by OSHI (#10364)
- Spring starter: Allow to configure the OTel Logback appender from system properties (#10355)
- Spring starter: re-use sdk logic for configuring otlp exporters (#10292)
- All available spring starter properties (including the new properties) can be found
here - You can also use auto-completion in your IDE to see the available properties in
application.properties
orapplication.yml
- All available spring starter properties (including the new properties) can be found
- Spring starter: add SystemOutLogRecordExporter (#10420)
- Spring starter: use duration parser of config properties (#10512)
- Spring starter: support
otel.propagators
(#10408) - Set route only on the SERVER span (#10290)
- Convert Apache HttpClient 4.3 library instrumentation to "low-level" HTTP instrumentation (#10253)
🛠️ Bug fixes
- Fix log replay of the Log4j 2 appender (#10243)
- Fix Netty addListener instrumentation (#10254)
- Fix Calling shutdown() multiple times warning in spring starter (#10222)
- Correctly fix NPE in servlet AsyncListener (#10250)
- add @ConditionalOnMissingBean to LoggingMetricExporter (#10283)
- Make Netty Instrumentation HttpServerRequestTracingHandler propagate "Channel Inactive" event to downstream according to parent contract (#10303)
- Improve rediscala instrumentation to address sporadic test failure (#10301)
- Undertow: restore attached context only when it is for different trace (#10336)
- Reactor kafka wrapper delegates to wrong method (#10333)
- Spring starter: add missing LoggingMetricExporterAutoConfiguration to spring factories (#10282)
- Spring starter: Fix MapConverter does not get initialized if some exporters are turned off (#10346)
- Update azure-core-tracing-opentelemetry version and fix double-collection for synchronous HTTP requests (#10350)
- Allow OSGI dynamic import for
io.opentelemetry
package when matching (#10385) - Use direct peer address in
client.address
when X-Forwarded-For is not present (#10370) - Netty: don't expose tracing handler in handlers map (#10410)
- Wrap request to avoid modifying attributes of the original request (#10389)
- Fix JarAnalyzer warnings on Payara (#10458)
- Return wrapped connection from
Statement.getConnection()
(#10554) - Spring starter: Fix
otel.propagators
(#10559) - Populate
server.address
andserver.port
in Cassandra instrumentation (#10357)
🧰 Tooling
- Allow multiple invokedynamic InstrumentationModules to share classloaders (#10015)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@AlchemyDing
@breedx-splk
@cartersocha
@cbeneke
@codeboten
@dmarkwat
@elbiocaetano
@hadesy
@heyams
@jack-berg
@jackshirazi
@jakub-pomykala
@jaydeluca
@jeanbisutti
@JonasKunz
@jonasrutishauser
@KayWu
@kenfinnigan
@laurit
@lichenglin
@lmolkova
@lukny
@manikmagar
@mmorel-35
@pellmont
@Periecle
@pmitura-lucid
@rgrochowicz
@rickardoberg
@Roiocam
@rvenancio
@shaykeren
@steverao
@SylvainJuge
@theletterf
@trask
@zeitlinger
Version 1.32.1
This is a patch release on the previous 1.32.0 release, fixing the issue(s) below.
📈 Enhancements
- Backport: update jackson packages to v2.16.1 (#10198, #10199)
- Backport: implement forEach support for aws sqs tracing list (#10195)
- Backport: Bridge metric advice in OpenTelemetry API 1.32 (#10026)
- Update the OpenTelemetry SDK version to 1.34.1 (#10320)
🛠️ Bug fixes
- Backport: Handle authority from request when HttpHost is null (#10204)
- Backport: Null check for nullable response object in aws sdk 1.1 instrumentation (#10029)
- Backport: Make Netty Instrumentation HttpServerRequestTracingHandler propagate "Channel Inactive" event to downstream according to parent contract (#10303)
- Backport: Fix Netty addListener instrumentation (#10254)
- Backport: Update azure-core-tracing-opentelemetry version and fix sync suppression (#10350)