|
1 | 1 | Changelog for older versions can be found in our [release page](https://github.com/DataDog/dd-trace-php/releases). |
2 | 2 |
|
3 | 3 | ## All products |
| 4 | +### Changed |
| 5 | +- Cache system getenv calls for improved request initialization performance #3670 |
| 6 | + |
4 | 7 | ### Fixed |
5 | | -- Fix packaging apks for new alpine versions #3555 |
6 | | -- Fix http_response_header deprecation in installer #3553 |
| 8 | +- Fix zombie creation in loader #3683 |
| 9 | + |
| 10 | +### Internal |
| 11 | +- Changed defaults of configurations and fixed DD_TRACE_HTTP_CLIENT_ERROR_STATUSES #3621, #3677 |
7 | 12 |
|
8 | 13 | ## Tracer |
9 | 14 | ### Added |
10 | | -- Support OpenTelemetry Metrics #3487 |
11 | | -- Adds process_tags to the first span of each tracing payload #3566 |
12 | | -- Distributed tracing header injection in HyperF/Swoole environments #3544 |
13 | | -- Stream context integration with HTTP method #3534 |
| 15 | +- Collect framework endpoints for Symfony, Laravel, and WordPress #3548 |
| 16 | +- Add sidecar thread mode as fallback connection for restricted environments #3573 |
| 17 | +- Add process_tags #3580, #3582, #3627, #3658, #3706, #3709 |
| 18 | +- Add `_dd.p.ksr` propagated tag for Knuth sampling rate #3701 |
| 19 | +- Add container tags support for DBM correlation #3708 |
14 | 20 |
|
15 | 21 | ### Changed |
16 | | -- Enable http.endpoint calculation when appsec is explicitly enabled #3556 |
| 22 | +- Optimize Symfony http.route caching with path map approach #3676 |
| 23 | +- Change the sidecar communication protocol #3695, DataDog/libdatadog#1742 |
17 | 24 |
|
18 | 25 | ### Fixed |
19 | | -- Fix panic after bailout in previous request #3537 |
20 | | -- Avoid curl_getenv for unix:// too #3540 |
21 | | -- Correct a bug on prepared statement regarding DBM correlation #3545 |
22 | | -- Fix onclose in cycle collected spans #3587 |
23 | | -- prefer poll() for channel DataDog/libdatadog#1443 |
24 | | -- AWS lambda also can return EACCESS for shm_open DataDog/libdatadog#1446 |
25 | | - |
26 | | -### Internal |
27 | | -- bump libdatadog to v25.0.0 #3568 |
| 26 | +- Poll for new remote config after unblocking SIGVTALRM #3717 |
| 27 | +- Fix crash during shutdown in FrankenPHP #3662 |
| 28 | +- Fix possible race condition leading to crash on sidecar reconnect in ZTS mode #3655 |
| 29 | +- Fix possible crash in end hook of traced closure #3624 |
| 30 | +- Fix hook is_internal being backwards #3625 |
| 31 | +- Enforce span limit in curl_multi_exec and DDTrace\start_span code paths #3691 |
| 32 | +- Prevent dangling tracked_streams #3689 |
| 33 | +- Fix debugger ephemerals handling for nested log probes #3685 |
| 34 | +- Block sidecar notification signal during sleep to prevent premature wakeup #3656 |
| 35 | +- Fix sidecar permission denied with IIS AppPools DataDog/libdatadog#1776 |
| 36 | +- Cleanup limiters on sidecar shutdown DataDog/libdatadog#1659 |
| 37 | +- Fix function and type name ordering in debugger DataDog/libdatadog#1715 |
28 | 38 |
|
29 | 39 | ## Profiler |
30 | | -### Changed |
31 | | -- Optimise allocation profiling for PHP >= 8.4 #3550 |
| 40 | +### Added |
| 41 | +- Add I/O profiling support for macOS #3648 |
| 42 | +- Add process_tags to profiler uploader #3609 |
| 43 | +- Improve time sample accuracy by also gathering during allocation samples #3559 |
32 | 44 |
|
33 | 45 | ### Fixed |
34 | | -- Fixed bindgen compatibility with PHP 8.5.1+ on macOS #3583 |
35 | | -- Fixed SystemSettings initialization #3579 |
36 | | -- Fixed UB and simplify SystemSettings #3578 |
37 | | -- Fixed crash in upload for DD_EXTERNAL_ENV #3576 |
38 | | -- Fixed crash in ddtrace_get_profiling_context #3563 |
39 | | -- Check long string before allocating #3561 |
40 | | -- Fixed incompatibility with ext-grpc #3542 |
41 | | -- Revert unsafe optimization in memory profiling #3541 |
42 | | -- Cap dependency name length to copied bytes #3538 |
| 46 | +- Store and restore errno in I/O profiling wrappers #3654 |
43 | 47 |
|
44 | 48 | ### Internal |
45 | | -- Pre-reserve function name buffer #3445 |
46 | | -- Use cached heap in alloc_prof_orig_* functions #3547 |
| 49 | +- Add internal metrics for profiling overhead #3616 |
| 50 | +- Avoid copy of function name when already UTF-8 encoded #3700 |
| 51 | +- Use libdd-profiling's ThinStr for function names #3631 |
| 52 | +- Shrink maximum file and function name length to 16,383 characters #3712 |
| 53 | +- Refactor ErrnoBackup::new is safe #3659 |
| 54 | +- Remove once_cell as a dependency #3607 |
47 | 55 |
|
48 | 56 | ## AppSec |
49 | 57 | ### Added |
50 | | -- Reduce cardinality of helper.connection_* #3586 |
51 | | -- Added fallback on http.endpoint for schema sampler #3557 |
| 58 | +- Support parsing partial JSON #3680 |
| 59 | +- Enable LLM event observability for OpenAI PHP client #3664 |
| 60 | + |
| 61 | +### Changed |
| 62 | +- Revert DD_APPSEC_ENABLED to runtime config #3598 |
52 | 63 |
|
53 | 64 | ### Fixed |
54 | | -- Use abstract namespace on linux #3525 |
55 | | -- Fix spurious munmaps in ZTS mode #3590 |
| 65 | +- Send response headers on meta even without event #3653 |
56 | 66 |
|
57 | 67 | ### Internal |
58 | | -- Improvements for appsec libxml2 usage #3564 |
59 | | -- Improve xml parsing in appsec #3558 |
| 68 | +- Rewrite AppSec helper in Rust #3581 |
| 69 | +- Submit worker count and route AppSec metrics directly to sidecar #3530 |
| 70 | +- Upgrade libxml2 #3690 |
0 commit comments