1.55.0
·
302 commits
to master
since this release
Known Bugs
Note
If you are using the liveheap profiler functionality you may experience occasional JVM crashes. In case you see the crashes happening disable the profiling library via DD_PROFILING_DDPROF_ENABLED=false environment variable or the -Ddd.profiling.ddprof.enabled=false. The fix fix is available in release 1.56.3.
Components
Application Security Management (IAST)
- 🐛 Fix NullPointerException in ApplicationModuleImpl (#9879 - @jandro996)
- 🐛 Fix issue with call sites on constructors without DUP bytecode (#9698 - @manuel-alvarez-alvarez)
Application Security Management (WAF)
- 🐛 Fix NullPointerException in ObjectIntrospection (#9878 - @jandro996)
- 🐛 Rename request body sample rate config variable (#9791 - @manuel-alvarez-alvarez)
- 🐛 Ensure blocking exceptions are propagated for SSRF (#9790 - @manuel-alvarez-alvarez)
- ✨ Add support for API Security Custom Data Classification (#9710 - @jandro996)
- ✨ Update telemetry tags in API10 (#9708 - @manuel-alvarez-alvarez)
- ✨ Upgrade libddwaf to 17.1.0 (#9486 - @sezen-datadog)
Build & Tooling
- 🧹 Make
akka-http-10.6module optional to simplify local build. SeeBUILDING.mdfor akka token configuration. (#9767 - @AlexeyKuznetsov-DD)
Continuous Integration Visibility
- 🐛 Fix NullPointerException in Jacoco coverage report merge logic (#9803 - @nikita-tkachenko-datadog)
- ✨ Bump default Jacoco version used by Test Optimization to 0.8.14 (#9738 - @nikita-tkachenko-datadog)
- ✨ Add config source reading from Test Optimization remote environment (#9701 - @nikita-tkachenko-datadog)
- ✨ Lower logging level for RepoIndex error (#9697 - @daniel-mohedano)
Crash tracking
- ✨ Send ping message (#9804 - @amarziali)
- 🐛 Improve OS version parsing (#9785 - @amarziali)
- 🐛 Use arrays for tags and send data schema version (#9763 - @amarziali)
- ✨ Extract library name and address from native error reports (#9721 - @amarziali)
- ✨🧹 Forward wellknown runtime and process tags in crash reports (#9719 - @amarziali)
- ✨ Add origin header to crashtracking telemetry (#9685 - @amarziali)
Data Streams Monitoring
Database Monitoring
Dynamic Instrumentation
- 🐛 Fix logging when uninstrumenting cannot happen (#9851 - @jpbempel)
- ✨ Extract line information as injectible lines (#9850 - @jpbempel)
- ⚡🧹 Optimize method probe without condition (#9834 - @jpbempel)
- 🐛 Fix trigger probe and tests (#9828 - @jpbempel)
- ⚡🧹 Optimize line probe without condition (#9787 - @jpbempel)
- 🐛 Fix possible IndexOutOfBoundsException in ExceptionReplay (#9771 - @jpbempel)
- ✨ Add support for Guava and FastUtil (#9727 - @jpbempel)
- ✨ Add Capture Expressions (#9694 - @jpbempel)
- 🐛 Truncate large exception message when serialized (#9686 - @jpbempel)
- 🐛 Throttle warning log when resolving probe (#9675 - @jpbempel)
JMX fetch
- ✨ Clean up JMXFetch job on thread interrupt (#9788 - @PerfectSlayer)
ML Observability (LLMObs)
- 🐛 Limit writer logs only when LLMObs is enabled (#9781 - @daniel-mohedano)
- 🐛⚡ Fix CPU overhead in LLMObs eval processor (#9765 - @XG-xin)
Metrics
- ✨ Drop rare sampling support on CSS (#9776 - @amarziali)
- 🐛 Fix client stats payload (#9743 - @amarziali)
- ✨ Avoid calculating stats if dropping is disabled (#9742 - @amarziali)
- ✨ Enable client side stats by default (#9740 - @amarziali)
Profiling
- 🐛 Bump ddprof to 1.34.0 (#9865 - @zhengyu123)
- 🐛 Keep generic signature aligned when adding
TaskWrapperinterface (#9794 - @mcculls) - 🐛 Protect exception advices from NoClassDefFound (#9769 - @amarziali)
- ✨ Use 'vm' stackwalker as default for java profiler (#9722 - @jbachorik)
Tracer core
- 🧹 Simplify InstanceStore API (#9861 - @mcculls)
- ✨ 🪞 9757 - Avoid pending queue wedge if tracer flare is generated multiple times (#9840 - @deejgregor - thanks for the contribution!)
- ✨ Add span builder reuse variable (#9839 - @dougqh)
- ✨ Disambiguate normalizeTag from normalizeTagValue (#9816 - @amarziali)
- 🐛 Protect intercepted null traces from NPE (#9797 - @amarziali)
- ✨ Safely set context classloader on final blocks (#9795 - @amarziali)
- ✨⚡ Add quick 'datadog.' prefix check before applying delegation fix (#9793 - @mcculls)
- ✨ Include dd-instrument-java (#9792 - @mcculls)
- 🐛 Avoid UnsatisfiedLinkError when constructing statsd client (#9789 - @amarziali)
- ✨ Use common method to determine telemetry intake url (#9786 - @amarziali)
- ✨ Exclude safeParse errors from telemetry (#9770 - @amarziali)
- ✨ Simplify InstanceStore implementation to use simple, synchronized HashMaps (#9739 - @mcculls)
- ✨ Add support for service discovery using JNA (#9705 - @raphaelgavache)
- 🧹 Replace jctools NonBlockingHashMap with ConcurrentHashMap (#9700 - @amarziali)
- ✨ Upgrade byte-buddy to 1.17.7 (#9692 - @mcculls)
- ✨ Upgrade asm to 9.9 (#9684 - @amarziali)
- ✨⚡ Create shared DD intake HTTP client (#9660 - @nikita-tkachenko-datadog)
- ✨ Introduce NativeLoader (#9625 - @dougqh)
- ✨ Migrate querying of environment variables to
ConfigHelper(#9620 - @mhlidd) - ✨⚡ Reuse SpanBuilder within a Thread (#9537 - @dougqh)
Tracer public API
- ✨ Migrate querying of environment variables to
ConfigHelper(#9620 - @mhlidd) - ✨📖 Implement Config Inversion with default strictness of
Warning(#9539 - @mhlidd)
Instrumentations
Apache Spark instrumentation
- 🐛 Fix muzzle mismatch causing Spark jobs on Databricks 17.3 to not be instrumented (#9872 - @aboitreaud)
- ✨ Extract SparkPlan product and append to trace (#9783 - @charlesmyu)
JDBC instrumentation
- 🐛 Avoid NPE while accessing JDBC metadata URL (#9815 - @amarziali)
- ✨ Add option to JDBC instrumentation to always append DBM comment (#9798 - @na-ji)
- 🐛 Fix generic url parsing in JDBC instrumentation (#9777 - @vandonr)
OpenTelemetry instrumentation
- 🐛 Fix OpenTelemetry span events (#9864 - @ValentinZakharov)
- 🐛 Normalize behavior of OTel spans created from custom instrumentation and trace annotations (#9759 - @mhlidd)
- ✨ Avoid allocating a tracing context when not fully extracted (#9693 - @amarziali)
All other instrumentations
- 🐛 Avoid NPE on FinatraInstrumentation (#9760 - @amarziali)