Releases: open-telemetry/opentelemetry-java-instrumentation
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.partitiontomessaging.destination.partition.id(#11086) - Support
service.instance.idin 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.operationfor 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.enabledotel.instrumentation.netty.always-create-connect-span->otel.instrumentation.netty.connection-telemetry.enabledotel.instrumentation.http.capture-headers.client.request->otel.instrumentation.http.client.capture-request-headersotel.instrumentation.http.capture-headers.client.response->otel.instrumentation.http.client.capture-response-headersotel.instrumentation.http.capture-headers.server.request->otel.instrumentation.http.server.capture-request-headersotel.instrumentation.http.capture-headers.server.response->otel.instrumentation.http.server.capture-response-headersotel.instrumentation.http.client.emit-experimental-metrics->otel.instrumentation.http.client.emit-experimental-telemetryotel.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=trueor-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.propertiesorapplication.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.opentelemetrypackage when matching (#10385) - Use direct peer address in
client.addresswhen 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.addressandserver.portin 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)
Version 2.0.0
This release targets the OpenTelemetry SDK 1.34.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.
The 2.0.0 release contains significant breaking changes that will most likely affect all users, please be sure to read the breaking changes below carefully.
Note: 1.32.x will be security patched for at least 6 months in case some of the changes below are too disruptive to adopt right away.
⚠️ ⚠️ Breaking changes ⚠️ ⚠️
- The default OTLP protocol has been changed from
grpctohttp/protobufin order to align with the specification. You can switch to thegrpcprotocol usingOTEL_EXPORTER_OTLP_PROTOCOL=grpcor-Dotel.exporter.otlp.protocol=grpc. - Micrometer metric bridge has been disabled by default. You can enable it using
OTEL_INSTRUMENTATION_MICROMETER_ENABLED=trueor-Dotel.instrumentation.micrometer.enabled=true. - The OTLP logs exporter is now enabled by default. You can disable it using
OTEL_LOGS_EXPORTER=noneor-Dotel.logs.exporter=none. - Controller spans are now disabled by default. You can enable them using
OTEL_INSTRUMENTATION_COMMON_EXPERIMENTAL_CONTROLLER_TELEMETRY_ENABLED=trueor-Dotel.instrumentation.common.experimental.controller-telemetry.enabled=true. - View spans are now disabled by default. You can enable them using
OTEL_INSTRUMENTATION_COMMON_EXPERIMENTAL_VIEW_TELEMETRY_ENABLED=trueor-Dotel.instrumentation.common.experimental.view-telemetry.enabled=true. ⚠️ ⚠️ Stable HTTP semantic conventions are now emitted⚠️ ⚠️ - TOO MANY CHANGES TO LIST HERE, be sure to review the full list of changes.
- Stable JVM semantic conventions are now emitted.
-
Memory metrics
process.runtime.jvm.memory.usagerenamed tojvm.memory.usedprocess.runtime.jvm.memory.committedrenamed tojvm.memory.committedprocess.runtime.jvm.memory.limitrenamed tojvm.memory.limitprocess.runtime.jvm.memory.usage_after_last_gcrenamed tojvm.memory.used_after_last_gcprocess.runtime.jvm.memory.initrenamed tojvm.memory.init(still experimental)- Metric attributes:
typerenamed tojvm.memory.typepoolrenamed tojvm.memory.pool.name
-
Garbage collection metrics
process.runtime.jvm.gc.durationrenamed tojvm.gc.duration- Metric attributes:
namerenamed tojvm.gc.nameactionrenamed tojvm.gc.action
-
Thread metrics
process.runtime.jvm.threads.countrenamed tojvm.threads.count- Metric attributes:
daemonrenamed tojvm.thread.daemon
-
Classes metrics
process.runtime.jvm.classes.loadedrenamed tojvm.classes.loadedprocess.runtime.jvm.classes.unloadedrenamed tojvm.classes.unloadedprocess.runtime.jvm.classes.current_loadedrenamed tojvm.classes.count
-
CPU metrics
process.runtime.jvm.cpu.utilizationrenamed tojvm.cpu.recent_utilizationprocess.runtime.jvm.system.cpu.load_1mrenamed tojvm.system.cpu.load_1m(still experimental)process.runtime.jvm.system.cpu.utilizationrenamed tojvm.system.cpu.utilization(still experimental)
-
Buffer metrics
process.runtime.jvm.buffer.limitrenamed tojvm.buffer.memory.limit(still experimental)process.runtime.jvm.buffer.countrenamed tojvm.buffer.count(still experimental)process.runtime.jvm.buffer.usagerenamed tojvm.buffer.memory.usage(still experimental)- Metric attributes:
poolrenamed tojvm.buffer.pool.name
-
More migration notes
- Lettuce CONNECT spans are now disabled by default. You can enable them using
OTEL_INSTRUMENTATION_LETTUCE_CONNECTION_TELEMETRY_ENABLED=trueor-Dotel.instrumentation.lettuce.connection-telemetry.enabled=true. - The configuration property
otel.instrumentation.log4j-appender.experimental.capture-context-data-attributeshas been renamed tootel.instrumentation.log4j-appender.experimental.capture-mdc-attributes. - MDC attribute prefixes (
log4j.mdc.andlogback.mdc.*) have been removed. - The artifact
instrumentation-api-semconvhas been renamed toinstrumentation-api-incubator. - HTTP classes have been moved from
instrumentation-api-incubatortoinstrumentation-apiand as a result are now stable.
🌟 New javaagent instrumentation
- Vert.x redis client (#9838)
📈 Enhancements
- Reduce reactor stack trace depth (#9923)
- Implement
error.typeinspring-webfluxandreactor-nettyinstrumentations (#9967) - Bridge metric advice in OpenTelemetry API 1.32 (#10026)
- Capture http.route for akka-http (#10039)
- Rename
telemetry.auto.versiontotelemetry.distro.versionand addtelemetry.distro.name(#9065) - Implement forEach support for aws sqs tracing list (#10062)
- Add http client response attributes to aws sqs process spans (#10074)
- Add support for
OTEL_RESOURCE_ATTRIBUTES,OTEL_SERVICE_NAME,OTEL_EXPORTER_OTLP_HEADERS, andOTEL_EXPORTER_OTLP_PROTOCOLfor spring boot starter (#9950) - Add elasticsearch-api-client as instrumentation name to elasticsearch-api-client-7.16 (#10102)
- Add instrumentation for druid connection pool (#9935)
- Remove deprecated rocketmq setting (#10125)
- JMX metrics for Tomcat with 'Tomcat' JMX domain (#10115)
- Capture the SNS topic ARN under the 'messaging.destination.name' span attribute. (#10096)
- Add network attributes to rabbitmq process spans (#10210)
- Add UserExcludedClassloadersConfigurer (#10134)
- Apply both server attributes & network attributes to Lettuce 5.1 (#10197)
🛠️ Bug fixes
- Fix aws propagator presence check in spring boot starter (#9924)
- Capture authority from apache httpclient request when HttpHost is null (#9990)
- Fix NoSuchBeanDefinitionException with the JDBC driver configuration in spring boot starter (#9978)
- Null check for nullable response object in aws sdk 1.1 instrumentation (#10029)
- Fix using opentelemetry-spring-boot with Java 8 and Gradle (#10066)
- Fix transforming Java record types (#10052)
- Fix warnings from the spring boot starter (#10086)
- Resolve
ParameterNameDiscovererBean Conflict inspring-boot-autoconfigure(#10105)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@AlchemyDing
@anhermon
@anuraaga
@bcarter97
@breedx-splk
@happyuser23
@heyams
@jack-berg
@jaydeluca
@jeanbisutti
@JonasKunz
@kenfinnigan
@knbk
@laurit
@mateuszrzeszutek
@moznion
@nilsga
@PaurushGarg
@PeterF778
@rBrda
@SHaaD94
@stevesea
@SylvainJuge
@tduncan
@theletterf
@trask
@TylerHelmuth
@vallabhnatu
@xiongchun
@zeitlinger
Version 1.32.0
This release targets the OpenTelemetry SDK 1.32.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
- Old server/client socket getter methods deprecated (#9716)
📈 Enhancements
- Allow enabling receive telemetry in kafka library instrumentation (#9693)
- Add JdbcTelemetry and JdbcTelemetryBuilder (#9685)
- Rename http.resend_count to http.request.resend_count (#9700)
- Define
url.schemein terms of logical operation in HTTP server semconv (when opting in to new semconv) (#9698) - Generate only consumer span for sqs receive message (#9652)
- Replace
(client|server).socket.(address|port)attributes withnetwork.(peer|local).(address|port)(when opting in to new semconv) (#9676) - Add capability for invokedynamic InstrumentationModules to inject proxies (#9565)
- Make
network.transportandnetwork.typeopt-in (when opting in to new semconv) (#9719) - Factor in
X-Forwarded-Host/Forwardedwhen capturingserver.addressandserver.port(when opting in to new semconv) (#9721) - Move class that should've been internal to internal package (#9725)
- Only set
server.portwhenserver.addressis set (when opting in to new semconv) (#9737) - Add messaging conventions to sqs spans (#9712)
- Make the JDBC driver config work with the OTel starter (#9625)
- Don't normalize the '-' character in HTTP header names when opting in to new semconv (#9735)
- Add instrumentation for jaxws metro 3.0+ (#9705)
- Change
user_agent.originalfrom recommended to opt-in on HTTP client spans (#9776) - Change the precedence between
:authorityandHostheaders (#9774) - Move capturing enduser.id attribute behind a flag (#9751, #9788)
- Remove conditional requirement on
network.peer.addressandnetwork.peer.port(when opting in to new semconv) (#9775) - Change
client.portfrom recommended to opt-in on HTTP server spans (when opting in to new semconv) (#9786) - Make
url.schemeopt in for HTTP client metrics and makeserver.portrequired (when opting in to new semconv) (#9784) - Change
http.request.body.sizeandhttp.response.body.sizeattributes from recommended to opt-in (when opting in to new semconv) (#9799) - Capture
http.routein spring-cloud-gateway (#9597) - Always set messaging operation (#9791)
- Change
network.protocol.namefrom opt-in to conditionally required (when opting in to new semconv) (#9797) - Support specifying
spring.application.namein thebootstrap.properties,bootstrap.ymlandbootstrap.yaml(#9801) - Add process spans to aws-1 sqs instrumentation (#9796)
- Implement capturing message headers for aws1 sqs spans (#9824)
- Add process spans to aws2 sqs instrumentation (#9778)
- Add
service.nameto MDC (#9647) - Capture enduser attributes in Spring Security (#9777)
- Capture message id in aws1 sqs instrumentation (#9841)
- Implement capturing message headers for aws2 sqs spans (#9842)
- Move kafka metrics to separate instrumentation module (#9862)
- Capture logback logger context properties (#9553)
- Stable JVM semconv implementation: classes (#9821)
- Stable JVM semconv implementation: threads (#9839)
- Stable JVM semconv implementation: GC (#9890)
- Bridge incubator metrics apis (#9884)
- Ability to instrument logs before OTel injection into OTel appenders (#9798)
- Suppress instrumentation based on suppress Context key (#9739)
- Stable JVM semconv implementation: the rest (#9896)
🛠️ Bug fixes
- Fix armeria server instrumentation for http2 (#9723)
- Guard against null list from aws SQS lib (#9710)
- Fix parsing port from mariadb jdbc url (#9863)
🧰 Tooling
- Improve disableShadowRelocate (#9715)
- Allow injection of helper bytecode as resources (#9752)
- Rewrite @Advice.Enter for indy advice (#9887)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@123liuziming
@AlchemyDing
@breedx-splk
@brunobat
@cleverchuk
@cxjava
@glebignatieff
@hannahchan
@jack-berg
@jackshirazi
@jaydeluca
@jeanbisutti
@JonasKunz
@kares
@kenfinnigan
@laurit
@lesterhaynes
@LikeTheSalad
@mateuszrzeszutek
@mmorel-35
@nluk
@otbe
@PaurushGarg
@philsttr
@steverao
@tduncan
@trask
@tylerbenson
@wzy531a
Version 1.31.0
This release targets the OpenTelemetry SDK 1.31.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
- Apache Pekko (#9527)
📈 Enhancements
- Add instrumentation for vert.x sql client withTransaction method (#9462)
- Improve hibernate reactive instrumentation (#9486)
- Support application.yaml files in SpringBootServiceNameDetector (#9515)
- Add Spring Boot service version finder / ResourceProvider (#9480)
- Split hibernate reactive instrumentation (#9531)
- Rework reactor netty context tracking (#9286)
- Improve spring data reactive instrumentation (#9561)
- Support akka http latest version (#9573)
- Enhance AWS SDK Instrumentation with Detailed HTTP Error Information (#9448)
- Update HTTP metrics' descriptions (#9635)
- Remove server.socket.address from HTTP/RPC metrics (#9633)
- Remove 0 bucket from stable HTTP metrics (#9631)
- Suppress nested http client spans in aws2 instrumentation (#9634)
- Implement spec changes for grpc server span error status (#9641)
- Improve vertx-sql client context propagation (#9640)
- Add url.scheme to HTTP client metrics (#9642)
- Add support for newVirtualThreadPerTaskExecutor (#9616)
- Implement error.type attribute in HTTP semconv (#9466)
- Emit package events (#9301)
- Added Automatic-Module-Name header to MANIFEST.MF in instrumentation libraries (#9140)
- Support paths in
peer.servicemappings (#9061) - Compile ktor library instrumentation for earlier kotlin version (#9661)
🛠️ Bug fixes
- Fix NPE happening when .headersWhen() is used (reactor-netty) (#9511)
- Spring webflux: add user spans as children of the controller span (#9572)
- Make netty ChannelPipeline removeLast return user handler (#9584)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@123liuziming
@62mkv
@breedx-splk
@ccorbacho
@esamson
@Hayanesh
@jack-berg
@jaydeluca
@jeanbisutti
@JonasKunz
@kenfinnigan
@laurit
@LMarkie
@mateuszrzeszutek
@mmorel-35
@paul-kraftlauget
@peachisai
@philsttr
@pxaws
@rapphil
@rjbaucells
@samwright
@SylvainJuge
@trask
@tylerbenson
@wangzlei
Version 1.30.0
This release targets the OpenTelemetry SDK 1.30.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
- Experimental HTTP server metrics have been split out from
HttpServerMetricsinto a separate classHttpServerExperimentalMetrics(#9259) HttpClientResendhas been renamed toHttpClientResendCount,HttpRouteHolderhas been renamed toHttpServerRoute(#9280)- The previously deprecated
otel.javaagent.experimental.extensionsconfiguration was removed (it is replaced byotel.javaagent.extensions) (#9378)
🌟 New javaagent instrumentation
- Add instrumentation for hibernate reactive (#9304)
📈 Enhancements
- Don't log stack trace for expected exceptions in AWS SDK instrumentation (#9279)
- Add support for the AWS Secrets Manager JDBC URLs (#9335)
- More support for upcoming semantic convention changes (#9346 #9345, #9320, #9355, #9381, #9441)
- Unwrap Runnable in ThreadPoolExecutor before/after methods (#9326)
- Add javaagent to instrumentation bom (#9026)
- Add support for multiple headers in AlternateUrlSchemeProvider (#9389)
- Skip PreparedStatement wrappers (#9399)
- Disable Elasticsearch instrumentation for ES clients 8.10+ (#9337)
- Disable elasticsearch-rest-7.0 instrumentation when elasticsearch-java 8.10+ is present (#9450)
- Use attributes advice for HTTP & RPC metrics (#9440)
- Update Messaging semantic conventions to 1.21.0 (#9408)
- Add semconv to alpha bom (#9425)
🛠️ Bug fixes
- Ensure .class files aren't present in the resources library MR jar (#9245)
- Fixed getDefinedPackage lookup for OpenJ9 (8) (#9272)
- Ignore aws sdk v2 presign requests (#9275)
- Add logging timestamp for log4j1 appender instrument (#9309)
- Fix VerifyError with kotlin @WithSpan instrumentation (#9313)
- Fix serializing key to string in Lettuce instrumentation (#9347)
- Auto-instrumentation with JMX not working without a trigger (#9362)
- Return default DbInfo when connection is null (#9413)
- Fix instrumentation for reactor kafka 1.3.21 (#9445)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@AlexanderWert
@breedx-splk
@cleidiano
@ebyhr
@gavlyukovskiy
@jackshirazi
@jaydeluca
@jmk75
@JonasKunz
@laurit
@lmolkova
@mateuszrzeszutek
@PeterF778
@phil-rice-HCL
@poom-kitti
@shreya22-1998
@SylvainJuge
@trask
@tylerbenson
@yingziisme
@zbytt