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.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
1.12.1 2025-09-12 datadog_trace-1.12.1.tgz
Show all releases

Changelog

Version Message
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
1.12.1 ## Tracer
### Fixed
- Fix double free at sidecar connection (#3407)
- Fix crash with freed resource (#3402)
- Fix invalid user headers injection (#3403)
- Exclude /vendor from code origins (#3399)
Show complete changelog