Skip to content

Releases: open-telemetry/opentelemetry-java-instrumentation

Version 2.5.0

17 Jun 17:39
f0e9fdb
Compare
Choose a tag to compare

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

21 May 11:35
6695408
Compare
Choose a tag to compare

This is a patch release on the previous 1.33.2 release, fixing the issue(s) below.

📈 Enhancements

  • Backport: Fix the logic to get container.id resource attribute (#11333)
  • Backport: Update the OpenTelemetry SDK version to 1.38.0 (#11386)
  • Backport: Fix a bug in undertow instrumentation related to HTTP/2 (#11387)
  • Backport: Fix container.id issue in some crio scenarios (#11405)

Version 2.4.0

18 May 03:15
0975f66
Compare
Choose a tag to compare

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

20 Apr 12:13
d90f6f1
Compare
Choose a tag to compare

This is a patch release on the previous 1.33.1 release, fixing the issue(s) below.

📈 Enhancements

  • Backport: elasticsearch-java 7.17.20 has native instrumentation (#11098)
  • Update the OpenTelemetry SDK version to 1.37.0 (#11118)
  • Backport: graphql-java-22.0 support (#11171)

Version 2.3.0

12 Apr 00:45
0f86a84
Compare
Choose a tag to compare

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 to messaging.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

20 Mar 12:22
24fcdbf
Compare
Choose a tag to compare

This is a patch release on the previous 1.33.0 release, fixing the issue(s) below.

📈 Enhancements

  • Backport: Capture http.route for akka-http (#10777)
  • Update the OpenTelemetry SDK version to 1.36.0 (#10866)

Version 2.2.0

14 Mar 22:37
ba611b5
Compare
Choose a tag to compare

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

28 Feb 19:01
dbb12a1
Compare
Choose a tag to compare

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

  • Backport: Set route only on the SERVER span (#10580)
  • Update the OpenTelemetry SDK version to 1.35.0 (#10524)

Version 2.1.0

16 Feb 05:50
7bfa6a3
Compare
Choose a tag to compare

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

  • MyBatis framework instrumentation (#10258)
  • Finagle instrumentation (#10141)

🌟 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 or application.yml
  • 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 and server.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

02 Feb 16:38
ea2e14a
Compare
Choose a tag to compare

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)