APM and distributed tracing for PHP
The Datadog PHP Tracer brings APM and distributed tracing to PHP.
License: BSD 3-Clause
| 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 |
| 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) |