Deprecation Notice
Note
DD_RUNTIME_ID_ENABLED
has been deprecated and will be removed in future releases. Please use DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED
instead.
Components
Application Security Management (WAF)
- π Add String length truncation limit to ObjectIntrospector and update truncation metrics (#8825 - @jandro996)
- π Adapt standalone ASM to support API Security (#8804 - @jandro996)
- β¨ Add appsec.waf.input_truncated metric (#8791 - @jandro996)
- β¨ Extended appsec request body collection (#8748 - @jandro996)
- β¨ Extended appsec request/response headers collection (#8724 - @jandro996)
Build & Tooling
- β¨ Add artifacts to public s3 bucket (#8947 - @randomanderson)
Continuous Integration Visibility
- β¨ Improve PR information building (#8908 - @daniel-mohedano)
- β¨ Truncate span stack traces when Test Optimization is enabled (#8903 - @nikita-tkachenko-datadog)
- π Ensure auto-detected service name is the same for every process in the same build (#8902 - @nikita-tkachenko-datadog)
- π Use tag as fallback in api requests if no branch is available (#8876 - @daniel-mohedano)
- β¨ Add support for JUnit 5.13-RC1 (#8865, #8871 - @daniel-mohedano)
- β¨ Implement attempt to fix v3 and v4 and bump capability version (#8824 - @daniel-mohedano)
- π§Ή Align retry logic for all test framework instrumentations (#8803 - @daniel-mohedano)
- π Always build ci workspace without trailing separator (#8788 - @daniel-mohedano)
- β¨ Add commit discrepancies telemetry when building repository git information (#8763 - @daniel-mohedano)
Data Streams Monitoring
- π‘ Surface process tags in dsm payloads and use them for base hash calculation (#8836 - @amarziali)
Dynamic Instrumentation
- β¨ Optimized allocations for collection filter functions (#8896 - @jpbempel)
- π Fix SymDB upload size check (#8887 - @jpbempel)
- π Add support for Set in filter function (#8873 - @jpbempel)
- π Add support for isDefined in log template (#8859 - @jpbempel)
- π Fix Max captured frames for Exception Replay (#8856 - @jpbempel)
- π Remove static inherited fields collection (#8832 - @jpbempel)
- π‘ Add process tags to dynamic instrumentation intake payload (#8779 - @amarziali)
GraalVM native-image
- β¨ Add support for GraalVM Native GC metrics (#8913 - @ygree)
- β¨ Add JMXFetch support for GraalVM Native (#8569 - @ygree)
JMX fetch
Library Injection
OpenTracing
Profiling
- β¨ Bump ddprof to 1.27.0 (#8893 - @jbachorik)
- Properly handle the adaptive sampling interval overflow by @jbachorik in DataDog/java-profiler#213
- Fix #200 Crash related to aligned_alloc and free in context by @yanglong1010 in DataDog/java-profiler#208
- Explicitly initialize empty context page by @jbachorik in DataDog/java-profiler#210
- Re-connect crash recursion protection with VM stackwalker by @jbachorik in DataDog/java-profiler#214
- β¨ Enable ZSTD compression for profiling (#8862 - @MattAlp)
- β¨ Extend JPS re-implementation to J9 family (#8813 - @MattAlp)
- π‘ Collect process tags for profiling upload requests (#8780 - @amarziali)
Telemetry
- π‘ Surface process tags on telemetry payloads (#8837 - @amarziali)
Trace context propagation
- β¨ Migrating all HttpClient Instrumentations to Inject Full Context (#8826 - @mhlidd)
- β¨ Migrating all HttpServer Instrumentations to Extract full Context (#8820 - @mhlidd)
- β¨ Add context API support OTel propagators (#8770 - @PerfectSlayer)
Tracer core
- β¨β‘ Skip JAXB generated classes classloader (#9003 - @bric3)
- β¨ Add DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED alias for runtime id generation (#8981 - @amarziali)
- π Use resolved address for peer.hostname when available without hitting the cache (#8915 - @amarziali)
- π‘ Surface server name process tag for tomcat (#8894 - @amarziali)
- π‘ Surface websphere cell and server name on process tags (#8880 - @amarziali)
- β¨ Added special lightweight pre-main class that skips installation on incompatible JVMs. (#8855 - @AlexeyKuznetsov-DD)
- π‘ Add entrypoint type to process tags (#8839 - @amarziali)
- β¨ Extend JPS re-implementation to J9 family (#8813 - @MattAlp)
- β¨ Notify listeners when the scope top changes after switching scope stacks (#8797 - @mcculls)
- β¨ Read hsperfdata for Java PIDs if jvmstat is unavailable (#8792 - @MattAlp)
- π Turn JDK socket support on by default (#8752 - @sarahchen6)
- β¨ Simplify context propagation (#8719 - @PerfectSlayer)
- β¨ Add JSON parsing support (#8579 - @PerfectSlayer)
Tracer internal logging
Tracer public API
- π‘ Track the source of installation (#8956 - @mabdinur)
- β¨ Enforce size limit on application_monitoring.yaml files (#8789 - @mtoffl01)
- β¨ Enabling baggage cache to support limits and non-ascii characters (#8713 - @mhlidd)
Instrumentations
AWS Lambda instrumentation
Core Java language instrumentation
- β¨ Ensure ClassloadingInstrumentation is always applied even with
DD_TRACE_ENABLED=false
(#8863 - @mcculls)
Eclipse Vert.x instrumentation
IBM Liberty
- π Fix error mark on http status for IBM liberty (#8822 - @amarziali)
JDBC instrumentation
- π Do not prepend DBM <> APM trace comment in SQLCommenter if there is a pg plan hint (#8864 - @edengorevoy)
JMS instrumentation
Kotlin instrumentation
- β¨ Enable kotlin_coroutine integration by default (#8848 - @mcculls)
- π§Ή Rework Kotlin coroutines instrumentation around coroutine context (#8774 - @mcculls)
OpenTelemetry instrumentation
- π Support WithSpan inheritContext attribute (#8858 - @amarziali)
- β¨ Add context API support OTel propagators (#8770 - @PerfectSlayer)
Play Framework instrumentation
- π Fix the Play Framework's span resource name priority so that the client JAX-RS 404 cannot override it (#8591 - @ygree)
Quarkus Instrumentation
- π Ignore quarkus jaxrs stubs and cdi wrapper proxies (#8891 - @amarziali)
ServiceTalk
Spring instrumentation
WebSocket Instrumentation
- π‘ Trace websocket for spring webflux reactive handlers (#8831 - @amarziali)
- π‘π§ͺ WebSocket support for Netty (#8632 - @ValentinZakharov)