Releases: DataDog/dd-trace-java
Release list
1.63.2
Note
This release contains the same changes as in release 1.63.1. Release 1.63.1 is not flawed in any way.
Components
Application Security Management (IAST)
- ✨⚡ Improve performance of regexps in IAST and query obfuscator (#11710 - @manuel-alvarez-alvarez)
Continuous Integration Visibility
- ✨ Support Maven generateTestClasspath lookup on 3.6.0+ (#11634 - @daniel-mohedano)
Dynamic Instrumentation
OpenFeature
- 🐛 Skip malformed FFE flags during config parsing (#11648 - @PerfectSlayer)
1.63.1
Note
This release is missing in Docker registries.
Components
Application Security Management (IAST)
- ✨⚡ Improve performance of regexps in IAST and query obfuscator (#11710 - @manuel-alvarez-alvarez)
Continuous Integration Visibility
- ✨ Support Maven generateTestClasspath lookup on 3.6.0+ (#11634 - @daniel-mohedano)
Dynamic Instrumentation
OpenFeature
- 🐛 Skip malformed FFE flags during config parsing (#11648 - @PerfectSlayer)
1.63.0
Components
AI Guard
- ✨ Copy anomaly detection tags to AI Guard spans (#11319 - @smola)
- ✨ Collect client IP tags for AI Guard requests (#11233 - @smola)
Application Security Management (WAF)
- ✨ Collect Datadog security-testing headers on HTTP server entry spans (#11418 - @christophe-papazian)
- ✨ Add server.request.body.filenames and files_content for GlassFish/Payara (#11267 - @jandro996)
Configuration at Runtime
- 🐛 Request feature flag config on the first RC poll (#11465 - @leoromanovsky)
Continuous Integration Visibility
- ✨ Propagate Jenkins custom parent ID (#11348 - @juan-fernandez)
- ✨ Update JUnit4 instrumentation to fire test suite events for Bazel (#11322 - @daniel-mohedano)
- ✨ Propagate test skipping enabled tag to CI Visibility test spans (#11300 - @anmarchenko)
- ✨ Use test_srcdir as virtual repo root for bazel runs (#11273 - @daniel-mohedano)
- 🐛 Consider Gradle wrapper as a wrapper for headless calculations (#11266 - @daniel-mohedano)
- ✨ Report bazel as provider in telemetry for payload-in-files mode (#11207 - @daniel-mohedano)
Crash Tracking
Database Monitoring
- ✨ Add a new dynamic_service DBM propagation mode (#11432 - @amarziali)
- ✨ Improve DBM commenter (#11339 - @amarziali)
Dynamic Instrumentation
- ✨ debugger/symdb: add upload metadata fields to upload event message (#11329 - @andreimatei)
ML Observability (LLMObs)
- 🐛 emit session_id as top-level field + propagate via context (#11371 - @jessicagamio)
Metrics
- ✨⚡ Update client-side stats to use light weight Hashtable (#11382 - @dougqh)
- ✨⚡ Defer MetricKey construction to the aggregator thread (#11381 - @dougqh)
- ✨⚡ Use bitmask SpanKindFilter for per-span eligibility in metrics aggregator (#11380 - @dougqh)
- ✨ Support OTLP runtime metrics with OTel-native naming (#11318 - @link04)
- ✨ Allow ignoring the agent version when checking for trace stats computation support (#11064 - @bric3)
OpenFeature
- 🐛 Recover OpenFeature provider after initialization timeout (#11474 - @leoromanovsky)
- 🐛 Request feature flag config on the first RC poll (#11465 - @leoromanovsky)
- 🐛 use delta temporality for OTLP metrics export (#11426 - @sameerank)
- 🐛 read OTEL_SERVICE_NAME for metrics resource (#11424 - @sameerank)
Profiling
- 🐛 Bump java-profiler to 1.44.0 for more critical stability fixes (#11501 - @jbachorik)
- 🐛 Bump java-profiler to 1.43.0 for critical stability fixes (#11475 - @jbachorik)
- ✨ Enable publishing process context by default (#11288 - @ivoanjo)
Telemetry
- ✨ Add Telemetry for Extension Finder SPIs (#11298 - @mhlidd)
- ✨ Introduce OTel SPI Metrics (#11297 - @mhlidd)
- ✨ Update Baggage Metrics for Extract (#11278 - @mhlidd)
Testing
- ✨ 🪞 9979 - Record detailed instrumentation errors during tests (#10300 - @deejgregor - thanks for the contribution!)
Trace context propagation
- ✨ Add lazy-transformer to KeyClassifier for deferred header decoding (#11466 - @amarziali)
Tracer core
- ✨⚡ Cache hashCode on UTF8BytesString (#11444 - @dougqh)
- 🐛 Fix DDSpan.addThrowable crashing when exception getMessage() throws (#11428 - @ValentinZakharov)
- 🐛 Avoid extracting the baggage from null values (#11396 - @amarziali)
- ✨⚡ Update client-side stats to use light weight Hashtable (#11382 - @dougqh)
- ✨⚡ Defer MetricKey construction to the aggregator thread (#11381 - @dougqh)
- ✨⚡ Use bitmask SpanKindFilter for per-span eligibility in metrics aggregator (#11380 - @dougqh)
- 🐛 Fix bugs in GenerationalUtf8Cache constructor and access-time handling (#11323 - @dougqh)
- ✨ Remove deprecated internal spanBuilder methods (#11287 - @amarziali)
- 🐛 Fix peer IP tag in Play 2.3/2.4/2.5 (#11274 - @smola)
- ✨ Move network.client.ip out of AppSec into HttpServerDecorator (#11208 - @smola)
Instrumentations
AWS Lambda instrumentation
- ✨ force placeholder resource so the Lambda Extension drops dd-tracer-serverless-span (#11313 - @zarirhamza)
AWS SDK instrumentation
- 🐛⚡ Skip ClassCastException on every DynamoDB request in AWS SDK v2 instrumentation (#11285 - @dougqh)
Eclipse Vert.x instrumentation
- 🐛 finish vertx.route-handler via RoutingContext.addEndHandler fallback (#11312 - @zarirhamza)
gRPC instrumentation
- ✨⚡ Avoid Metadata.key allocations on grpc (#11351 - @amarziali)
JDBC instrumentation
- ✨ Mute telemetry when Connection.getClientInfo fails (#11412 - @amarziali)
JMS instrumentation
- ✨ Have a fully JMS 1.0 compatible instrumentation (#11413 - @amarziali)
OpenTelemetry instrumentation
- ✨⚡ Use FAST_LANE prioritization for OTLP trace export (#11447 - @mcculls)
- ✨ Add Additional OTel JVM Runtime Metrics and Gate "Developmental" Metrics (#11411 - @mhlidd)
- 🐛 Fix the behaviour of asynchronous counters and up-down counters (#11332 - @mcculls)
- 🐛 Avoid potential shutdown delay when using GRPC protocol for OTLP (#11321 - @mcculls)
- ✨ Support OTLP runtime metrics with OTel-native naming (#11318 - @link04)
- 🐛 Fix OtelLogRecordProcessor schedule (#11315 - @mcculls)
- 💡⚡ Reduce allocation rate when marshaling OTLP data (#11296 - @mcculls)
- ✨ Enable publishing process context by default (#11288 - @ivoanjo)
Play Framework instrumentation
Reactor instrumentation
- ✨⚡ avoid attaching context if it's already attached (#11393 - @amarziali)
Servlet instrumentation
- 🐛 Tolerate AbstractMethodError for servletRequest remote port (#11403 - @amarziali)
- 🐛 avoid NPE when headerNames is null (#11394 - @amarziali)
All other instrumentations
- 🧹 Remove deprecated startSpan and use integration name for telemetry (#11181 - @amarziali)
1.62.0
Warning
This version contains a known regression in profiler that can cause crashes in the profiled application. Please upgrade to the latest version.
Note
Do not enable Trace Payload protocol V1 until further notice as it is not enabled on all DataDog backends yet.
Components
AI Guard
- ✨ Add ai_guard.event tag to local root span (#11109 - @manuel-alvarez-alvarez)
- ✨ Expose tag probabilities in SDK responses (#11063 - @manuel-alvarez-alvarez)
Application Security Management (IAST)
- 🐛 🪞 10671 - Fix platform-dependent String.getBytes() calls to use explicit UTF-8 charset (#11149 - @mcculls - thanks @saravadeo for the contribution!)
Application Security Management (WAF)
- ✨ Add
server.request.body.files_contentAppSec address: commons-fileupload (#11137), Tomcat & Netty multipart (#11198), Jersey & RESTEasy(#11229) - @jandro996 - ✨ Add
server.request.body.filenamesAppSec address: Jersey & RESTEasy (#11171), Akka HTTP (#11173), Undertow & Play (#11174) - @jandro996 - ✨ Expose
server.io.fs.file_writeAppSec address for write file operations (#11084),FileOutputStream/FileInputStreamconstructors(#11113),Files.copyoverloads (#11179) - @jandro996 - ✨ Add AppSec Java support for AWS Lambdas (#10570 - @claponcet)
- 🐛 Restore original tracer during LambdaAppSecHandlerTest cleanup (#11172 - @claponcet)
Configuration
- ✨ Add Integration Specific Handling for Config Inversion Linter (#11074 - @mhlidd)
- ✨ Add Profiling Specific Handling for Config Inversion Linter (#11066 - @mhlidd)
- ✨ Update Spock Tests to run with
STRICT_TESTmode by default (#11032 - @mhlidd)
Continuous Integration Visibility
- ✨ Honor attempt to fix failures (#11244 - @daniel-mohedano)
- ✨ Avoid feature discover and java.nio.* access in Bazel Mode (#11232 - @daniel-mohedano)
- ✨ Implement Bazel support for CI Visibility (#11150 - @daniel-mohedano)
- 🐛 Fix TestNG session status reported with EFD (#11087 - @daniel-mohedano)
Crash Tracking
- ✨ Enable sending crashtracking reports to errors intake by default (#11243 - @amarziali)
- 🐛 🪞 10671 - Fix platform-dependent String.getBytes() calls to use explicit UTF-8 charset (#11149 - @mcculls - thanks @saravadeo for the contribution!)
- ✨ Do not use java.nio in crashtracking init (premain) (#11080 - @amarziali)
Dynamic Instrumentation
- 🐛 Fix NullPointerException on samplers (#11230 - @jpbempel)
- 🐛 Fix NullPointerException in Exception Replay (#11219 - @jpbempel)
- ✨ Add support for case insensitivity file names (#11205 - @jpbempel)
- 🐛 Fix DebuggerAgent commonInit (#11183 - @jpbempel)
- 🐛 🪞 10671 - Fix platform-dependent String.getBytes() calls to use explicit UTF-8 charset (#11149 - @mcculls - thanks @saravadeo for the contribution!)
- ✨ Add support for windows-style path (backslashes) (#11073 - @jpbempel)
Metrics
- ✨ Report dropped stats aggregates in health metrics (#11231 - @amarziali)
- ✨ Upgrade jmxfetch dependency to 0.52.0 (#11127 - @mcculls)
- ✨ Upgrade java-dogstatsd-client dependency to 4.4.5 (#11126 - @mcculls)
OpenFeature
- 💡 Add flag evaluation metrics via OTel counter and OpenFeature Hook (#11040 - @typotter)
- ✨ Refine variant reason computation to include SPLIT and STATIC (#11037 - @typotter)
- 🐛 Strictly check variant types in Flag Evaluations (#11036 - @typotter)
Profiling
- ✨ Bump Java profiler library to 1.42.0 (#11222 - @jbachorik)
- (subsumes) Bump Java profiler library to 1.41.0 (#11169 - @jbachorik)
Telemetry
- ✨ Remove noise at boostrap due to telemetry failures (#11218 - @amarziali)
Testing
- 🧹 Migrate OtlpWriterCombinedTest from groovy to junit (#11245 - @mtoffl01)
- ✨ Improve trace assert API (#11209 - @PerfectSlayer)
- 🐛⚡ Improve instrumentation JUnit testing (#11096 - @PerfectSlayer)
- ✨ Improve Config JUnit extension (#11094 - @PerfectSlayer)
- ✨ Add Config and Context JUnit extensions (#11076 - @PerfectSlayer)
- ✨ Update Spock Tests to run with
STRICT_TESTmode by default (#11032 - @mhlidd)
Trace context propagation
- 🐛🔐 Add items and bytes limits to baggage extraction (#11265 - @PerfectSlayer)
- 💡 Add Sofa RPC instrumentation (Bolt, H2C, REST, Triple) (#11135 - @ValentinZakharov)
- 🐛 Preload scope classes to prevent virtual thread deadlock (#11111 - @PerfectSlayer)
Tracer core
- 🐛 Fix peer IP tags in Jetty/Dropwizard (#11237 - @smola)
- ✨ Use ParentBasedAlwaysOnSampler by default when OTLP traces export is enabled (#11225 - @mtoffl01)
- ✨ Introduce a generic JavaModuleOpener for JPMS (#11220 - @amarziali)
- ✨ Allow mapping process tags from env or sysprops (#11204 - @amarziali)
- ✨ Add OtlpWriter for OTLP traces export (#11200 - @mtoffl01)
- 🐛 Add support double quotes as a single token in SQLNormalizer (#11197 - @Eldolfin)
- 🐛 Fix NPE in PayloadDispatcherImpl (#11196 - @amarziali)
- 🐛 Widen info state hashing catch (#11192 - @amarziali)
- ✨ Add classloader exclusions for drools generated classes (#11191 - @amarziali)
- 🐛 🪞 10671 - Fix platform-dependent String.getBytes() calls to use explicit UTF-8 charset (#11149 - @mcculls - thanks @saravadeo for the contribution!)
- 🐛 Abort on IBMJ9's
keytool(#11133 - @bric3) - ✨ Upgrade byte-buddy dependency to 1.18.8 (#11128 - @mcculls)
- ✨⚡ Cache span.kind as byte ordinal for fast isOutbound() (#11116 - @dougqh)
- 🐛 Fix container ID parsing for cgroup v1 in EKS-Fargate (#11110 - @vandonr)
- ✨ Optimize PendingTrace span registration and time tracking (#11078 - @bm1549)
- 🐛 Fix _dd.p.ksr formatting to use 6 decimal places (#11068 - @bm1549)
- ✨ Efficient Trace Payload Protocol (v1 protocol) (#10801 - @AlexeyKuznetsov-DD)
Instrumentations
Apache Spark instrumentation
- ✨ Add spark.openlineage.appName tag to spark.application spans (#11246 - @aboitreaud)
- 🐛 Fall back to jobGroupId when jobRunId equals taskRunId (#11199 - @aboitreaud)
- ✨ Instrument QueryExecution.assertAnalyzed() to catch DataFrame analysis failures (#11033 - @aboitreaud)
AWS SDK instrumentation
Core Java language instrumentation
- 🐛 Preload scope classes to prevent virtual thread deadlock (#11111 - @PerfectSlayer)
- ✨ Add a jpms opener for HostNameResolver cache (#11095 - @amarziali)
Jetty instrumentation
Kafka instrumentation
- ✨ Add Kafka cluster ID and offset tags to producer/consumer spans (#11107 - @piochelepiotr)
OpenTelemetry instrumentation
- 🐛 Correctly export overflow histogram bucket over OTLP (#11261 - @mcculls)
- 💡 Support sending OpenTelemetry logs over OTLP (http/protobuf) (#11253 - @mcculls)
- 🐛⚡ Miscellaneous OpenTelemetry Metrics fixes (#11240 - @mcculls)
- 💡 Implement OpenTelemetry Logs API (#11224 - @mcculls)
- 💡 Add telemetry attributes to OTLP payloads (#11125 - @mcculls)
- 💡 Provide optimized writers for OpenTelemetry's "trace.proto" wire protocol (#11120 - @mcculls)
Sofa RPC
- 💡 Add Sofa RPC instrumentation (Bolt, H2C, REST, Triple) (#11135 - @ValentinZakharov)
1.61.1
Instrumentations
Core Java language instrumentation
- 🐛 Preload scope classes to prevent virtual thread deadlock (#11131 - @PerfectSlayer)
1.61.0
Warning
This version contains a known regression that can cause application hangs when virtual threads are used heavily at startup, on JDK versions from 21+ up to January 2025. If you use virtual threads, please upgrade to the latest version.
Components
Application Security Management (IAST)
- 🐛 Skip XSS check for freemarker built-in escaping expressions in 2.3.24 instrumentation (#10865 - @jandro996)
Application Security Management (WAF)
- ✨ Add server.request.body.filenames support for Tomcat and Netty 4.1 (#10973 - @jandro996)
- ✨ Add server.request.body.filenames AppSec address for commons-fileupload (#10949 - @jandro996)
- ✨🧪 Return AI Guard SDS findings into SDK Response (#10821 - @obordeau)
- 🐛 Fix ObjectIntrospection exposing JDK internal toString() to the WAF (#10820 - @jandro996)
- ✨ Honor in-app blocking settings by default in AI Guard evaluate (#10818 - @smola)
- 🐛 Fix HttpEndpointPostProcessor incorrectly overwriting span resource name (#10754 - @jandro996)
- ✨ Add http.status_code, error, and http.useragent to inferred proxy spans (#10749 - @jandro996)
- 🐛 Fix content-type extraction for akka-http (#10742 - @jandro996)
- ✨🧪 Attach SDS findings to ai_guard spans (#10721 - @obordeau)
- 🐛 Fix missing http.response.headers.content-type span tag on blocking responses (#10711 - @jandro996)
- 🐛 Fix AWS API Gateway endpoints correlation HTTP span tags - Inferred Proxy Spans (#10561 - @jandro996)
Configuration
- ✨ Guarantee OTel Configs to run through
ConfigHelper(#11057 - @mhlidd) - ✨ Update
supported-configurations.jsonw/ Missing Configs (#11046 - @mhlidd) - ✨ Update JUnit Tests to run with
STRICT_TESTmode by default (#11045 - @mhlidd) - ✨ Update
ConfigHelperto throw error inSTRICT_TESTmode and capture undocumented Configs (#11031 - @mhlidd)
Continuous Integration Visibility
- 🐛 Include all candidate paths for duplicate keys in coverage reports (#10997 - @daniel-mohedano)
- ✨ Implement configuration error tagging for all backend requests (#10963 - @daniel-mohedano)
- 🐛 Fix Test Management telemetry (#10962 - @daniel-mohedano)
- ✨ Add support for Weaver 0.12 release (#10903 - @daniel-mohedano)
- ✨ Consider empty parameters as null in TestIdentifier creation (#10902 - @daniel-mohedano)
- ✨ Add error tag for library configuration request (#10856 - @daniel-mohedano)
- ✨ Add Java 26 support to CI Visibility (#10839 - @daniel-mohedano)
- ✨⚡ Use HashingUtils hash in CI Visibility (#10784 - @dougqh)
Crash Tracking
- ✨ Feature flag crashtracking extended info, and improve runtime args filtering (#11048 - @bric3)
- 🐛 Unset
ld_preloadanddyld_insert_librariesfor crashtracker child JVM (#11041 - @gyuheon0h) - ✨ Report JVM argument flags for crash tracking (#11013 - @bric3)
- ✨ Reports loaded libraries in crashtracking reports (#11000 - @bric3)
- 🐛✨ Add crashtracking addresses and error thread name (#10984 - @bric3)
- ✨ Properly handle OpenJ9 crash report (#10976 - @bric3)
- 🐛 Fix crashtracking siginfo missed some information (#10907 - @bric3)
- 🐛 Change error tracking crashtracker source (#10848 - @amarziali)
- 🐛 Unset inherited JVM env vars in crashtracking scripts (#10819 - @jbachorik)
Database Monitoring
- 🐛 Fix Oracle DBM trace correlation (#10829 - @azhou-datadog)
Dynamic Instrumentation
- 🐛 Fix NullPointerException in ExceptionProbe (#11051 - @jpbempel)
- 🐛 Fix NullPointerException in Fingerprinter (#11049 - @jpbempel)
- 🐛 Fix capture limit for capture expressions (#11042 - @jpbempel)
- 🐛 Fix CodeOrigin for interface endpoints (#11017 - @jpbempel)
- ✨ Optimize Lambda proxy class matching on filtering (#10905 - @jpbempel)
- 🐛 Fix Kotlin fake source mapping (#10880 - @jpbempel)
- 🐛 Fix NullPointerException in SymbolExtractor (#10858 - @jpbempel)
- 🐛 Handle exception from retrieving git info (#10853 - @jpbempel)
- 🐛 Change MethodParameters detection reporting (#10849 - @jpbempel)
- 🐛 Prevent retransforming record with type annotation (#10824 - @jpbempel)
- 🐛 Prevent instrumenting debugger agent classes (#10803 - @jpbempel)
- 🐛 Catch exception from detecting MethodParameters (#10779 - @jpbempel)
- 🐛 Prevent instrumenting first line of a constructor (#10772 - @jpbempel)
- 🐛 Catch exceptions in registerSourceFile (#10752 - @jpbempel)
- 🐛 Use SpringVersion to detect MethodParameters usage (#10750 - @jpbempel)
- 🐛 Fix Spring detection (#10740 - @jpbempel)
- 🐛 Add an error sampler for Log probes (#10638 - @jpbempel)
Logs Product
ML Observability (LLMObs)
- ✨ Propagate global dd_tags to LLMObs span tags (#10978 - @ygree)
- 🐛 Fix openai-java payload mapping for responses, tool metadata, and prompt tracking (#10644 - @ygree)
Metrics
- ✨ Add GitCommitSha to the client stats (#10833 - @amarziali)
- 🐛 Report gRPC status code in client-computed stats (#10805 - @bric3)
- ✨⚡ Reduce memory allocation from client-side stats (#10705 - @dougqh)
- ✨ Reduce verbosity of StatsD connection errors (#10618 - @PerfectSlayer)
OpenFeature
- 🐛 Allow null targeting key for static and rule-only flags (#10990 - @leoromanovsky)
Platform
- ✨ Add HTTP component API module (#10770 - @PerfectSlayer)
Profiling
- ✨ Enable live heap profiling by default on safe JVM versions (#11039 - @jbachorik)
- ✨ Update Java profiler library to 1.40.1 (#10995 - @jbachorik)
- ✨ Remove experimental jvmti wallclock profiler (#10872 - @zhengyu123)
Telemetry
- ✨ Update Environment Variable Normalization to not add DD prefix for OTel Configs (#11044 - @mhlidd)
- 🐛 Report dd-java-agent itself as a Maven dependency in SCA telemetry (#10975 - @jandro996)
- ✨ Add stable session ID headers to telemetry requests (#10914 - @khanayan123)
- ✨ Update Telemetry Key Normalization to Use Environment Variables (#10823 - @mhlidd)
- ✨⚡ Replace Objects.hash with HashingUtils.hash in telemetry (#10813 - @dougqh)
- ✨⚡ Reduce allocation overhead of ExceptionLogger / LogCollector (#10684 - @dougqh)
Testing
- ✨ Update JUnit Tests to run with
STRICT_TESTmode by default (#11045 - @mhlidd) - 🐛 Fix final_status workaround (#10852 - @cbeauchesne)
- 🧹 Refactor tests following Java migration (#10733 - @jpbempel)
Trace context propagation
- 🐛 Improve VirtualThread context tracking instrumentation (#11009 - @PerfectSlayer)
- 🐛 Fix VirtualThread support on multiple unmount/remount cycles (#10931 - @PerfectSlayer)
Tracer core
- ✨ Use TagMap.set in CoreTracer tracer tags (#11004 - @dougqh)
- ✨⚡ Replace interceptors ConcurrentSkipListSet with priority ordered copy on write "list" (#11002 - @dougqh)
- ✨⚡ Cache Tracer Host Entry to reduce allocation in RemoteHostnameAdder (#10968 - @dougqh)
- ✨ Add ObjectInputStream.readObject to forbidden apis (#10952 - @dougqh)
- ✨ Add ParentBasedAlwaysOnSampler as default sampler for OTLP trace export mode (#10915 - @mtoffl01)
- 🐛 Handle the case the info response does not contain endpoints / empty (#10838 - @amarziali)
- ✨⚡ Use forEach to avoid Iterator allocation (#10830 - @dougqh)
- ✨⚡ Avoid ArrayList copying from TraceInterceptors (#10828 - @dougqh)
- ✨⚡ Avoid creation of empty CopyOnWriteArrayList for span links (#10822 - @dougqh)
- ✨ Update BaseHash when process tags are updated (#10809 - @amarziali)
- ✨ Add _dd.p.ksr propagated tag for Knuth sampling rate (#10802 - @bm1549)
- ✨ Add capped sampling rate increases (#10715 - @raphaelgavache)
- ✨⚡ Avoid boxing by using TagMap.set in PayloadTagsProcessor (#10964 - @dougqh)
- ✨🧪 Add tracing support for native method calls via Java FFM API (#10718 - @amarziali)
Tracer internal logging
Instrumentations
Apache Spark instrumentation
- 🐛 Fix EMR Spark support by using Seq instead of ArrayBuffer for externalAccums (#10987 - @aboitreaud)
- 🐛 Fix spark application spans status on sql analysis failure (#10981 - @aboitreaud)
- 🐛 Fix sql plan nodes order causing test flakiness (#10911 - @aboitreaud)
- 🐛 Fix flaky test assertion by normalizing column ref and plan_id num (#10757 - @aboitreaud)
- ✨ Capture time app-related metrics for launchers (#10708 - @aboitreaud)
- 🐛 Remove Wrong Spark Spans for Inactive Databricks Clusters (#10651 - @larakulkarni1)
- ✨ Store accumulator-stage lookups directly (#10645 - @charlesmyu)
- ✨ Track external accumulators in tracer instead of using SparkInfo values (#10553 - @charlesmyu)
Armeria Instrumentation
AWS SDK instrumentation
Core Java language instrumentation
- 🐛 Improve VirtualThread context tracking instrumentation (#11009 - @PerfectSlayer)
- 🐛 Fix VirtualThread support on multiple unmount/remount cycles (#10931 - @PerfectSlayer)
- 🧹 Disable outdated RMI instrumentation (#10897 - @PerfectSlayer)
- 🐛🔐 Use primitive types for RMI context payload serialization (#10935 - @PerfectSlayer)
- ✨ Mute tracing for a...
1.60.4
Important
This release fixes a possibility of profiler deadlocking a thread if a library intercepting SIGSEGV is present
Components
Profiling
- 🐛 Update Java profiler library to 1.40.1 (#11012 - @jbachorik)
1.60.3
Announcement
Important
This release fixes CVE-2026-33728.
Components
Continuous Integration Visibility
- ✨ Add Java 26 support to CI Visibility (#10929 - @daniel-mohedano)
Profiling
- ✨ Update Java profiler library to 1.40.0 (#10932 - @jbachorik)
Instrumentations
RMI
- 🐛🔐 Use primitive types for RMI context payload serialization (#10937 - @PerfectSlayer)
1.60.2
Components
Application Security Management (WAF)
- 🐛 Add http.response.headers.content-type span tag on blocking responses (#10884 - @jandro996)
- 🐛 Fix ObjectIntrospection exposing JDK internal toString() to the WAF (#10882 - @jandro996)
Profiling
- ✨ Update Java profiler library to 1.39.0 (#10869 - @jbachorik) (contains also 1.38.0)
1.60.1
Instrumentations
OpenTelemetry instrumentation
- 🐛 Restore OpenTelemetry instrumentation library support. (#10738 - @bric3)