Improvements
Core
- Avoid using type resolver
loadClass
fallback withgroovy.lang.GroovyClassLoader
#4505 - Guard against agent being initialized twice #4474
- Log JSON sampling rules when failed to parse for easier debugging. #4469
Profiling
- Disable built-in walltime tracing when wallclock profiler is enabled #4518
- Add 10 ms threshold to datadog.EndpointEvent #4514
- Disable jdk.FileWrite on OpenJDK versions where durations are incorrect #4512
Debugger
- Add line probe span instrumentation #4510
- Add index operator in Expression Language #4498
- Merge snapshot probe into log probe config #4492
- Add null literal support #4478
- Fix evaluation error reporting for merged probes #4476
- Add Span Probe instrumentation for method probe #4466
- Fix NotEqual operator #4465
- Remove prefixes for value reference in expressions #4378
Performance
- Detect process-id on Java 8 via ManagementFactory instead of JNR/POSIX #4506
- Load instrumentation classes in separate classloader so they can be unloaded after use #4484
Application Security Management (ASM)
- Support request body interception in servlet 5+ #4501
- Add configuration timeout for the WAF #4490
- Reenable appsec on IBM J9 #4460
- Fix instrumentation problem in jetty 9.4 #4459
CI Visibility
- Handle HTTP response 429: Rate Limit Exceeded #4480
- Fail process when running in Agentless mode and API key is not set #4479
- DDIntakeWriter: Do not flush after every single trace #4471
Integrations
- Apache httpclient5 async instrumentation #4472
- Set servlet.context & servlet.path for Undertow Servlet Request #4463
Telemetry
Efficiency
- Provide access to the original location of TypeDescriptions #4444
Miscellaneous
- Added NoOp implementation of HealthMetrics and modified tests #4470
Fixes
Remote Configuration
- Fix configuration path parsing #4494