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_content AppSec address for Jersey and RESTEasy (#11229 - @jandro996)
- ✨ Add server.request.body.files_content AppSec address for Tomcat and Netty multipart (#11198 - @jandro996)
- ✨ Add RASP instrumentation for Files.copy(Path,Path) and Files.copy(Path,OutputStream) (#11179 - @jandro996)
- ✨ Add server.request.body.filenames AppSec address for Undertow and Play (#11174 - @jandro996)
- ✨ Add server.request.body.filenames AppSec address for Akka HTTP (#11173 - @jandro996)
- 🐛 Restore original tracer during LambdaAppSecHandlerTest cleanup (#11172 - @claponcet)
- ✨ Add server.request.body.filenames AppSec address for Jersey and RESTEasy (#11171 - @jandro996)
- ✨ Expose uploaded file content as new WAF address server.request.body.files_content for commons-fileupload (#11137 - @jandro996)
- ✨ Extend RASP callsite coverage to File-argument constructors of FileOutputStream and FileInputStream (#11113 - @jandro996)
- ✨ Expose server.io.fs.file_write address for write file operations (#11084 - @jandro996)
- ✨ Add AppSec Java support for AWS Lambdas (#10570 - @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 and Play 2.3/2.4/2.5 (#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)
Play Framework instrumentation
Sofa RPC
- 💡 Add Sofa RPC instrumentation (Bolt, H2C, REST, Triple) (#11135 - @ValentinZakharov)