Components
Application Security Management (WAF)
- ✨ Implementation of http client request analysis for OkHttp3 (#9654 - @manuel-alvarez-alvarez)
- ✨ Opt-out API Security endpoint discovery (#9623 - @jandro996)
- ✨ Guard parsed-body instrumentation from raw Spring HttpMessageConverters (#9613 - @jandro996)
- ✨ Add downstream HTTP request/response analysis for OkHttp2 client (#9572 - @manuel-alvarez-alvarez)
- ✨ Update Extended appsec request/response headers and request body collection (#9428 - @jandro996)
- ✨ Add new features for trace tagging rules (#9131 - @sezen-datadog)
Configuration at Runtime
Continuous Integration Visibility
- 🐛 Fix fallback ExecutionRequest creator in JUnit 5 instrumentation (#9673 - @daniel-mohedano)
- ✨ Add support for JUnit 5.14 (#9664 - @daniel-mohedano)
- ✨ Minor fixes for code coverage report upload (#9659 - @nikita-tkachenko-datadog)
- ✨ Add session level metrics for Failed Test Replay (#9531 - @daniel-mohedano)
- 🐛 Set correct subdomain when sending intake requests via EVP proxy (#9517 - @nikita-tkachenko-datadog)
- ✨ Add support for JUnit 6 (#9509 - @nikita-tkachenko-datadog)
- 🐛 Fix test status propagation in headless mode (#9478 - @nikita-tkachenko-datadog)
- 🐛 Fix JUnit 5 Cucumber instrumentation for version 7.28.1 (#9474 - @nikita-tkachenko-datadog)
- ✨ Implement Failed Test Replay (#9214 - @daniel-mohedano)
Crash tracking
- 🐛 Properly handle user provided crash/oome script paths (#9496 - @jbachorik)
Dynamic Instrumentation
- ✨ Fix Exception Probes to not emit any probe status (#9669 - @jpbempel)
- ✨ Stream the SymDB serialization and compression (#9642 - @jpbempel)
- ✨ Add CompletableFuture in WellKnownClasses (#9622 - @jpbempel)
- 🐛 Fix symbol extraction for interface static method (#9597 - @jpbempel)
- 🐛 Allow pre-Java 6 classes to be transformed in the debugger (#9591 - @deejgregor - thanks for the contribution!)
- 🐛 Disable exit spans (#9581 - @jpbempel)
- ✨ Prevent using v1/input endpoint for snapshots (#9573 - @jpbempel)
- 🐛 Fix error logged for Bridge methods (#9504 - @jpbempel)
- ✨ Send only snapshots to Debugger Track (#9501 - @jpbempel)
- ✨ Add support debugger/v2/input endpoint (#9406 - @shatzi)
GraalVM native-image
- 🐛 Disable process context sharing when using native image (#9647 - @PerfectSlayer)
Library Injection
- ✨ Add
ikeycmd
andikeyman
utilities fromIBM SDK, Java Technology Edition
to exclusion list. (#9482 - @AlexeyKuznetsov-DD) - ✨ Add
UtilityMain
from Open Liberty to SSI exclusion list. (#9460 - @AlexeyKuznetsov-DD)
ML Observability (LLMObs)
- 🐛 Fix LLM Observability Data Submission (#9476 - @sabrenner)
- ✨ Default LLM Observability ML Application to Service Name (#9415 - @sabrenner)
Metrics
- ✨⚡ Defer metrics aggregator classloading to save startup time (#9590 - @amarziali)
- 🐛 Lazily obtain feature discovery when starting client metrics (#9548 - @amarziali)
- ✨ Exclude long running partial versions from stats (#9495 - @amarziali)
- 🐛 Avoid direct casting of base service tag to string (#9489 - @amarziali)
- 💡🧪 Activate client stats by default for java 17 services (#9463 - @amarziali)
Platform components
- ✨ Improve OS type and architecture detection (#9637 - @PerfectSlayer)
Profiling
- ✨ Bump ddprof to 1.32.0 (#9584 - @zhengyu123) (Changelog)
- Update process context support with version 0.0.7 of reference library by @ivoanjo in DataDog/java-profiler#268
- Implement 64-bit trace ID system with double-buffered storage and liveness tracking by @jbachorik in DataDog/java-profiler#262
- Thread filter optim by @r1viollet in DataDog/java-profiler#238
- Bypass JDK-8313796 workaround for the fixed JDK versions by @zhengyu123 in DataDog/java-profiler#273
- Relax memory constraint on independent counters by @zhengyu123 in DataDog/java-profiler#275
- ✨ Use the built-in CPU profiler on JDK 25 and Linux (#9502 - @jbachorik)
Realtime User Monitoring
- 🐛 Refactor RUM telemetry (#9526 - @sarahchen6)
Telemetry
- 🐛 Error Logs Remediation 2 (#9467 - @ygree)
- ✨ ConfigProvider iterates over all sources and reports all non-null values to telemetry (#9404 - @mtoffl01)
Testing
- ✨ Fix gradle update pipeline (#9580 - @cbeauchesne)
- 🐛 Fixed git command hangs in case if no remote exists. (#9575 - @AlexeyKuznetsov-DD)
- 🧹 Ensure tracer and scheduler are clean after test execution (#9512 - @amarziali)
Tracer core
- ✨⚡ Send process tags once per payload (#9657 - @amarziali)
- 🧹 Remove tracing requirement to be enabled to generate a flare (#9579 - @cecile75)
- ✨ Replace FixedSizeStripedLongAdder with LongAdder (#9571 - @amarziali)
- ✨ Disable byte-buddy's Nexus mechanism (#9569 - @mcculls)
- 🐛 Ensure health metrics are closed when the tracer is closed (#9511 - @amarziali)
- 💡 Enable process tags collection by default (#9510 - @raphaelgavache)
- 🐛 Ensure info discovery state change is atomic (#9497 - @amarziali)
- ✨⚡ Fixing oversight of missing synchronized on long version of recalibrate (#9480 - @dougqh)
- 🧹 Improving TagMap coverage (#9470 - @dougqh)
- 🐛 Fix NPE for keys with empty value in Stable Configuration (#9461 - @BaptisteFoy)
- 🐛 Update datadog.trace.agent.tooling.bytebuddy.outline.TypeOutline to work with ByteBuddy 1.17.6 (#9457 - @nikita-tkachenko-datadog)
- ✨⚡ Add UTF8 caching for v0.4 (#9434 - @dougqh)
Tracer public API
- ✨🧪 Initial implementation of the AI Guard SDK (#9628 - @manuel-alvarez-alvarez)
- ✨ Migrate tests and
ConfigInversionMetricCollector
toconfig-utils
module (#9566 - @mhlidd)
Instrumentations
Apache Spark instrumentation
- ✨ Extract Spark Plan "simpleString" into traces (#9645 - @charlesmyu)
Core Java language instrumentation
- ✨ Add support for Java 25 Structured Concurrency API (#9276 - @PerfectSlayer)
JDBC instrumentation
- ✨ Add a span when waiting for an available database connection from a pool (#9251 #9636 - @deejgregor - thanks for the contribution!)
Kotlin instrumentation
- 🐛 Improve thread-safety of
ScopeContext.restore
when swapping Kotlin coroutine contexts (#9491 - @mcculls)
All other instrumentations
- ✨ Implementation of http client request analysis for OkHttp3 (#9654 - @manuel-alvarez-alvarez)
- ✨ Add downstream HTTP request/response analysis for OkHttp2 client (#9572 - @manuel-alvarez-alvarez)
- 💡 Resilience4j 2+ (#9525 - @ygree)
- 🐛 Fix ClassCastException in SynapseServerInstrumentation (#9513 - @mcculls)
- 🧹 Refactor Severless Gateway Inferred Span (#9388 - @PerfectSlayer)