Releases: DataDog/dd-trace-php
1.6.3
1.6.2
1.6.1
1.6.0
Warning
This version can crash when calling SpanLink::fromHeaders()
in the tracer with no or invalid propagated tags and may cause metrics to not be computed and services to be hidden in the Datadog Interface. Please upgrade to v1.6.2
or newer. You can read about the technical details in #3025
Tracer
Added
Changed
- Leave a hint at what to do if the temp dir is not writable in installer #3015
Fixed
- JIT enabled detection in SSI loader #2971
- Block signals for more functions #2999
- Use-after-free with live-debugger #2989
- root span name in Slim V4 #3020
- PHP 8.4 deprecations #2981 (thanks @JeppeKnockaert)
- Avoid repeated processing of internal functions #3022
Internal
library_entrypoint.start
metric #3009- Bump rust to 1.78 #3005
- Exit if execv failed #2983
- Compatibility with newest arginfo gen_stub from PHP 8.4 #2973
Application Security Management
Added
- Support for endpoint, header, network and session fingerprints #2955
- WAF telemetry #2735
- Implement LFI #2770
- ASM Standalone #2903, #3001
Changed
- Upgrade libddwaf to v1.22.0 #3007
Fixed
- Restart usleep() on EINTR #3002
- recv/writev calls in the face of interrupting signals #3008
- Blocking from a hook is not stopping code execution #2836
Profiling
Fixed
- crash on PHP 8.4 #3019 (thanks @SanderVerkuil)
- Mismatch in UTF8 handling #2990
1.5.1
Warning
This version can crash on PHP 8.4 with profiling enabled, when using a web server (CLI is unaffected). Please upgrade to v1.6.0
or newer. You can read about the technical details in #3019
Tracer
Added
- Add mysqli_real_query to MysqliIntegration #2965
Application Security Management
Fixed
- Bridge more musl/glibc diffs in aarch64 DataDog/nginx-datadog#140
1.5.0
Warning
There is a known issue with the Application Security Management module on aarch64 architectures in this release. If you use datadog.appsec.enabled=0
, this won't affect you. Otherwise it might happen that the datadog-ipc-helper process crashes immediately.
Warning
This version can crash on PHP 8.4 with profiling enabled, when using a web server (CLI is unaffected). Please upgrade to v1.6.0
or newer. You can read about the technical details in #3019
Tracer
Added
- PHP 8.4 support #2758
- Support Tag Keys for DD_TRACE_HEADER_TAGS #2922
- Add stubs for the Public PHP API #2933
- These are available as datadog_tracer.stubs.php release asset
- Collect agent info and apply the env for remote config #2930
Changed
- Increase read timeout of sidecar for synchronous flushes #2910
- Implement Universal Service Tracking Consistency #2896
- Updating Default Rate Limit Value and Usage Based on Sample Rate #2912
Fixed
- Fix a possible crash in zai config #2906
- Fix crash when yielding from generators are destroyed #2908
- Fix bad hasThis() check on PHP 7.0 #2911
- Fix RootSpanData writer interception on consecutive calls #2919
- Fix DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP Empty Value Behavior #2909
- Handle hooks on trampoline fake closures #2925
- Fix crash with locals collection in generator close sequence #2932
- Avoid the hook frame in mysqli connection error tracking #2937
- Support multiple PHP_INI_SCAN_DIR's #2941
- Fix use-after-free in exception replay #2947
- Fully disable the sidecar on lambda by setting all related configs to false #2948
- Fix Symfony Messenger propagation to non-instrumented clients #2956
- Fix JIT crash: There may or may not be a readable ZEND_TRACE_OP_INFO() #2942
- Block remote config signals during ftp functions #2957
- Deduplicate Debugger diagnostics in sidecar DataDog/libdatadog#736
- Handle case where the applictaion is stopped without other telemetry sent DataDog/libdatadog#743
Internal
- Create many tiny artifacts for faster download #2951
- Using datadog-setup.php will now download less than 50 MB for a single PHP version
- Add names to memfds DataDog/libdatadog#714
- Allow attaching to the sidecar via gdb DataDog/libdatadog#687
SSI Loader changes
Profiling
Added
- Add fatals and thread start/end events to timeline #2820
- Add thread names #2934
- Add timeline active check for fatals #2945
- Add stream_select()-type functions to timeline #2943
- Visualise opcache restarts in the timeline #2946
Application Security Management
Changed
- Disable helper when appsec is fully disabled #2935
Fixed
- Fix heap corruption after apache reloads (appsec) #2928
Internal changes
1.4.2
Tracer
Changed
- Disable sidecar sending on lambda #2904
Fixed
- Fix exception property offset computation for PHP 8.1+ #2901
- Prevent Laravel Queue hooks from stacking up #2899
- Fix crash with missing name in span in debug mode #2893
- Restrict remote config path to a definite 31 chars DataDog/libdatadog#676
Application Security Management
Changed
- Update event obfuscation regex #2897
Fixed
- Fix abort() call on appsec helper unload #2900
1.4.1
Tracer
Fixed
- Fix: MongoDBIntegration condition typo #2884
- Fix crash in profiler when span stack switch causes GC run #2885
- Support build with disabled zend signals #2886
- Send git tags via remote config #2890
- Fix memory leak with sidecar trace sender #2875
Profiling
Fixed
- Fix profiler ZTS build on alpine #2887
Application Security Management
Fixed
- Improve behavior with empty DD_SERVICE/DD_ENV #2888
1.4.0
Tracer
The default value for datadog.trace.cli_enabled is now set to true (except for composer), meaning that CLI processes will be traced by default.
Added
- Dynamic configuration #2796
- Dynamic instrumentation #2796
- Can be enabled with datadog.dynamic_instrumentation.enabled=1.
- Exception replay #2796
- Can be enabled with datadog.exception_replay_enabled=1.
- Track peak memory usage in root span metrics #2840
Changed
- Enable sidecar trace sender on PHP 8.3 #2729
- Optimize sending traces via sidecar DataDog/libdatadog#598
- Add new ini config datadog.crashtracking_enabled #2850
- Add ionCube to the list of incompatible extensions + add INI setting to ignore incompatible extensions #2858
- Enable CLI by default #2871
Fixed
- Crashtracker: fix a use-after-free error #2843
- Fix curl integration race condition #2847
- Fix memory leak with sidecar trace sender #2875
- OpenTelemetry: Missing addLink method and Fiber handling #2849
- Mongodb: Deprecated exception in v1.20+ #2870
- Fix leaking sidecar sessions DataDog/libdatadog#642
- Implement deadlock watchdog for sidecar DataDog/libdatadog#647
Internal
- Fix testsuite flakiness #2841, #2846, #2848, #2867
- Fix telemetry metric name DataDog/libdatadog#666
SSI Loader changes
- Add SSI requirements.json file #2813
- Disable the tracer in case of a potential incompatibility (extension/jit) #2853
Profiling
Internal
- bump to Rust 1.76 #2876
Application Security Management
Changed
- Move helper to sidecar remote config #2864
Fixed
- Fix improper symbol exports in appsec ext/helper #2854
- Remove gid from socket/lock path of helper #2855
- appsec ext: retry on connection refused #2860
- Fix orderly helper appsec shutdown #2859
Internal changes
- Add appsec benchmarks #2791