datadog_trace

APM and distributed tracing for PHP


The Datadog PHP Tracer brings APM and distributed tracing to PHP.

License: BSD 3-Clause

Latest releases

Version Release Download
1.15.0 2025-12-16 datadog_trace-1.15.0.tgz
1.14.1 2025-11-26 datadog_trace-1.14.1.tgz
1.14.0 2025-11-13 datadog_trace-1.14.0.tgz
1.13.1 2025-10-30 datadog_trace-1.13.1.tgz
1.13.0 2025-09-30 datadog_trace-1.13.0.tgz
Show all releases

Changelog

Version Message
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 `getenv` calls #3528
- `code_origin_for_spans_enabled` naming inconsistency #3494
- Add `NULL` guard 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_id` is 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_ext` metric #3507
- Fix segfault iterating mapping #3517
- Fix double end hook run/segfault when blocking in PHP 7.x #3490
- Fix `_iovec_writer_flush` and enforce limits on `$_POST` #3495
- Clear `client_ip` on `request_init` #3496
1.14.1 ## Profiling
### Fix
- Upgrade to libdatadog v24.0.2 #3492 #3498
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
- Upgrade libddwaf and rules #3438
- Adapt security_response_id to latest #3480
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
- Ensure json dependency is loaded at runtime #3462
- Fix several bugs and potential bugs in appsec #3463
- When helper is unavailable, avoid very long waits (> 7s) #3464
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

### Fixed
- Fix missing line numbers #3417
- Early init default connector to fix env var race #3432

### Internal
- Refactor tag handling #3423
- Permanently enable compilation of allocation, exception, and timeline features #3431
Show complete changelog