Releases: DataDog/dd-trace-php
Releases · DataDog/dd-trace-php
1.17.1
All products
Fixed
- Fix SSI crashing on apache reload; add SSI int tests for appsec #3724, #3733
- Fix entity_id handling for Podman cgroupns=host cgroup path DataDog/libdatadog#1828
Internal
Tracer
Fixed
- Fix _dd.p.ksr scientific notation for very small sampling rates #3721
- Fixed shell_exec() null return being interpreted as error #3723
- Batch endpoint collection & remove Wordpress Endpoint collection #3764
- Fix sidecar performance by batching ack sending & consumption DataDog/libdatadog#1835
Profiler
Fixed
- Fix crash due to AAS getenv #3746
Internal
- Update libdatadog to v30.0, make CA root optional for profiling #3758
1.17.0
Warning
This version may have performance issues with Symfony, Laravel or Wordpress. Please use 1.17.1 instead.
All products
Changed
- Cache system getenv calls for improved request initialization performance #3670
Fixed
- Fix zombie creation in loader #3683
Internal
Tracer
Added
- Collect framework endpoints for Symfony, Laravel, and WordPress #3548
- Add sidecar thread mode as fallback connection for restricted environments #3573
- Add process_tags #3580, #3582, #3627, #3658, #3706, #3709
- Add
_dd.p.ksrpropagated tag for Knuth sampling rate #3701 - Add container tags support for DBM correlation #3708
Changed
- Optimize Symfony http.route caching with path map approach #3676
- Change the sidecar communication protocol #3695, DataDog/libdatadog#1742
Fixed
- Poll for new remote config after unblocking SIGVTALRM #3717
- Fix crash during shutdown in FrankenPHP #3662
- Fix possible race condition leading to crash on sidecar reconnect in ZTS mode #3655
- Fix possible crash in end hook of traced closure #3624
- Fix hook is_internal being backwards #3625
- Enforce span limit in curl_multi_exec and DDTrace\start_span code paths #3691
- Prevent dangling tracked_streams #3689
- Fix debugger ephemerals handling for nested log probes #3685
- Block sidecar notification signal during sleep to prevent premature wakeup #3656
- Fix sidecar permission denied with IIS AppPools DataDog/libdatadog#1776
- Cleanup limiters on sidecar shutdown DataDog/libdatadog#1659
- Fix function and type name ordering in debugger DataDog/libdatadog#1715
Profiler
Added
- Add I/O profiling support for macOS #3648
- Add process_tags to profiler uploader #3609
- Improve time sample accuracy by also gathering during allocation samples #3559
Fixed
- Store and restore errno in I/O profiling wrappers #3654
Internal
- Add internal metrics for profiling overhead #3616
- Avoid copy of function name when already UTF-8 encoded #3700
- Use libdd-profiling's ThinStr for function names #3631
- Shrink maximum file and function name length to 16,383 characters #3712
- Refactor ErrnoBackup::new is safe #3659
- Remove once_cell as a dependency #3607
AppSec
Added
Changed
- Revert DD_APPSEC_ENABLED to runtime config #3598
Fixed
- Send response headers on meta even without event #3653
Internal
1.16.0
All products
Fixed
- Fix packaging apks for new alpine versions #3555
- Fix http_response_header deprecation in installer #3553
Tracer
Added
- Support OpenTelemetry Metrics #3487
- Adds process_tags to the first span of each tracing payload #3566
- Distributed tracing header injection in HyperF/Swoole environments #3544
- Stream context integration with HTTP method #3534
Changed
- Enable http.endpoint calculation when appsec is explicitly enabled #3556
Fixed
- Fix panic after bailout in previous request #3537
- Avoid curl_getenv for unix:// too #3540
- Correct a bug on prepared statement regarding DBM correlation #3545
- Fix onclose in cycle collected spans #3587
- prefer poll() for channel DataDog/libdatadog#1443
- AWS lambda also can return EACCESS for shm_open DataDog/libdatadog#1446
Internal
- bump libdatadog to v25.0.0 #3568
Profiler
Changed
- Optimise allocation profiling for PHP >= 8.4 #3550
Fixed
- Fixed bindgen compatibility with PHP 8.5.1+ on macOS #3583
- Fixed SystemSettings initialization #3579
- Fixed UB and simplify SystemSettings #3578
- Fixed crash in upload for DD_EXTERNAL_ENV #3576
- Fixed crash in ddtrace_get_profiling_context #3563
- Check long string before allocating #3561
- Fixed incompatibility with ext-grpc #3542
- Revert unsafe optimization in memory profiling #3541
- Cap dependency name length to copied bytes #3538
Internal
AppSec
Added
- Reduce cardinality of helper.connection_* #3586
- Added fallback on http.endpoint for schema sampler #3557
Fixed
- Use abstract namespace on linux #3525
Internal
1.15.2
1.15.1
1.15.0
All products
Internal
- bump tracing-core from 0.1.33 to 0.1.35 #3516
Tracer
Internal
- Const-ify some logging thread-local variables #3513
Fixed
- Avoid curl's
getenvcalls #3528 code_origin_for_spans_enablednaming inconsistency #3494- Add
NULLguard clause in sidecar reconnect callback #3499
Profiler
Added
- Detect parallel threads #3515
Changed
- Speedup hot path in allocator #3505
Fixed
- Fixed asserting length of INI #3508
AppSec
Added
- Minify blocking json message #3502
- Add Custom Data Classification #3524
- Add metrics for extension connections #3527
Fixed
- Amend string on request abort #3506
- Fix accessing to incorrectly hardcoded
$_GET#3501 - Amend issue where
security_response_idis being release before displaying it #3493 - AppSec helper: add send timeouts #3518
- Minor fixes and improvements to file descriptor reclamation #3526
- LaravelIntegration: be more defensive #3503
- Fix
duration_extmetric #3507 - Fix segfault iterating mapping #3517
- Fix double end hook run/segfault when blocking in PHP 7.x #3490
- Fix
_iovec_writer_flushand enforce limits on$_POST#3495 - Clear
client_iponrequest_init#3496
1.14.1
1.14.0
All products
- Add PHP 8.5 support #3400
Tracer
Added
- Implement APM endpoint resource renaming #3415
- Enable dynamic configuration for debugger-related products #3476
Fixed
- Collect incompletely fetched CurlMulti handles upon destruction #3469
- Safeguard proc_get_span in case proc_assoc_span is not happening #3471
- Skip SSI injector in installer for accurate ini-dir readings #3472
- Make stub file compatible with php 8.4+ parser #3475
- Fix function resolver on PHP 8.0 and PHP 8.1 for targets without HAVE_GCC_GLOBAL_REGS and with active JIT #3482
- Support ENOENT as shm_open failure mode DataDog/libdatadog#1315
- This fixes a failure mode present on some serverless runtimes.
Internal
- Add crashtracker support for the sidecar #3453
- Strip error messages from hook telemetry #3449
- Collect runtime crash frames #3479
- Use a dedicated endpoint for enriched logs DataDog/libdatadog#1338
Profiling
Internal
- Cleanup I/O profiling code #3406
- Upgrade to libdatadog v23, profiling uses zstd now #3470
- Switch panics to abort #3474
Application Security Management
Added
- Print block_id #3444
Changed
1.13.1
Tracer
Fixed
- Fix closed resource handling in live debugger #3437
- Ensure local variables in exception replay are redacted #3440
- Reset ddtrace_endpoint properly #3451
- Use a local limiter if shared memory fails to allocate #3454
- Do not skip error handling for timeouts happening during hook execution #3459
- Defer Theme\Registry::getRuntime() call until posthook #3465
- Ensure there's no trailing semicolon with only tid as propagated tag #3466
Profiling
Fixed
- Reset interrupt count when removing interrupt #3455
Application Security Management
Fixed
1.13.0
Tracer
Changed
- Reduce integrations overhead #3380
- Avoid unnecessary gc_collect_cycles if there's no open span #3428
- Make use of fast_shutdown to avoid freeing overhead #3429
- Optimize PDOIntegration::parseDsn() #3430
Fixed
- Fix #3135: Force flushing on shutdown of entry point processes #3398
- Support curl_multi_exec root spans #3419
- Fix a couple memory leaks #3420
Profiling
Added
- Add source code integration #3418