All products
Fixed
- Fix critical ZTS race condition in INI value refcounting that caused use-after-free crashes under concurrent load #3832
- Ensure a unique installation directory to avoid conflicts with other tools #3835
Tracer
Added
- Implement client-side stats computation using shared memory for zero-copy stats delivery, with fallback to socket on first payloads #3756, #3811, #3815, #3836
Changed
- Use a webserver-wide session ID for sidecar instead of per-fork session IDs, and propagate it to child processes via environment #3828, #3838
Fixed
- Fix ZTS race condition in
process_tags.serializedrefcounting on shared inter-thread string #3831 - Fix dynamic instrumentation installation regression when enabling via dynamic config #3843
- Handle
APM_MULTI_CONFIGremote configuration and fix missing data for exception replay #3791 - Fix duration of httpstream and live debugger spans being incorrectly reported as zero #3821
- Fix
instanceoftype aliases for PHP 7.x in live debugger DSL (integer/doublevsint/float) #3813 - Obfuscate
:nameplaceholder parameters in PDO queries for correct DBM correlation #3801 - Fix locale settings breaking ksr resolution #3797 (thank you @jdmaguire for the report!)
- Fix exception in PDO::__construct when signals arrive during database connection setup #3841
- Fix infinite loop in crashtracker runtime stack collection #3845
- Fix Request::get() removal in Symfony 8 #3809 - thanks for the fix @TomBrouws!
Internal
- Add timeout to sidecar info fetcher DataDog/libdatadog#1890
- Allow sidecar worker to be stopped cleanly after fork DataDog/libdatadog#1893
- Use a dedicated sidecar connection per PHP thread, reducing lock contention and enabling per-thread request queuing #3770
- Emit environment variable names in telemetry config (e.g.,
DD_TRACE_GENERATE_ROOT_SPAN) instead of INI dot notation #3783 - Default crash report upload to errors intake to be enabled DataDog/libdatadog#1902
- Flush telemetry on anticipated sidecar shutdown to avoid data loss for short-lived sidecars #3806
- Skip sending empty telemetry payloads DataDog/libdatadog#1894
- Wire telemetry extended heartbeat interval through sidecar SessionConfig DataDog/libdatadog#1882, #3800
Profiling
Added
- Support generator unwinding in stack traces #3807
AppSec
Fixed
- Fix Remote Config regression in Rust helper #3840
- Fix double-logging of broken connections as errors and improve connection error handling in Rust helper #3792, #3803