<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        xmlns="http://purl.org/rss/1.0/"
        xmlns:dc="http://purl.org/dc/elements/1.1/">

    <channel rdf:about="https://pecl.php.net">
        <link>https://pecl.php.net</link>
        <dc:creator>php-webmaster@lists.php.net</dc:creator>
        <dc:publisher>php-webmaster@lists.php.net</dc:publisher>
        <dc:language>en-us</dc:language>
        <items>
            <rdf:Seq>

                                    <rdf:li rdf:resource="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.26.1"/>
                                    <rdf:li rdf:resource="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.26.0"/>
                                    <rdf:li rdf:resource="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.25.1"/>
                                    <rdf:li rdf:resource="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.25.0"/>
                                    <rdf:li rdf:resource="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.24.0"/>
                                    <rdf:li rdf:resource="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.23.3"/>
                                    <rdf:li rdf:resource="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.23.2"/>
                                    <rdf:li rdf:resource="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.21.0"/>
                                    <rdf:li rdf:resource="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.20.0"/>
                                    <rdf:li rdf:resource="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.19.2"/>
                
            </rdf:Seq>
        </items>

        <title>PECL: Latest releases in category benchmarking</title>
        <description>The latest releases in the category benchmarking</description>
    </channel>

            <item rdf:about="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;release=1.26.1">
            <title>datadog_trace 1.26.1</title>
            <link>https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.26.1</link>
            <description>
                ## All products
### Fixed
- Call exit handlers when FrankenPHP shuts down #4350
- Use fallible allocations when serializing traces and parsing request bodies #4345, #4351
- Avoid null pointer arithmetic in CLI script basename detection #4320

## Tracer
### Fixed
- Hook `#[DDTrace\Trace]` attributes on preloaded functions #4324
- Propagate `DD_ENTITY_ID` to DogStatsD metrics sent by the extension #4328 (thank you @lcobucci!)

## Profiling
### Fixed
- Fix thread safety issues in profiler globals initialization and shutdown, and avoid a 100ms sleep at shutdown #4296, #4301

## AppSec
### Fixed
- Avoid accessing freed logging state at shutdown #4350            </description>
            <dc:date>2026-10-22T12:45:29-05:00</dc:date>
        </item>
            <item rdf:about="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;release=1.26.0">
            <title>datadog_trace 1.26.0</title>
            <link>https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.26.0</link>
            <description>
                ## All products
### Changed
- Write sidecar logs when it runs in thread mode #4235
- `datadog-setup.php` now reports that macOS is not supported #4284 (thank you @staabm for the report!)

### Fixed
- Stop spawning a new sidecar while a PHP worker shuts down, which left orphaned sidecar processes #4164
- Correctly handle a thread-mode sidecar that takes over as the new master process #4270
- Fix sidecar telemetry lock inversions, premature sidecar idle shutdown and a hang on Windows when the sidecar pipe is full #4219
- Avoid a race between the SSI loader&#039;s background `dlclose()` and process exit #4229
- Crash reports now respect proxy environment variables, and the agent host/port takes priority over a UDS socket for error tracking uploads DataDog/libdatadog#2462, DataDog/libdatadog#2633
- Authenticate sidecar connections and shared memory (peer credential checks, trusted shared memory directory), fixing https://github.com/DataDog/dd-trace-php/security/advisories/GHSA-j3g8-6962-2xqq and https://github.com/DataDog/dd-trace-php/security/advisories/GHSA-fmrj-jm6v-j549 DataDog/libdatadog#2551

### Internal
- Update Rust dependencies to fix RustSec advisories; building from source now requires Rust 1.91.1 #4188
- Publish the OTel process context during MINIT #4213

## Tracer
### Added
- Support OTel sampling (`ot.th`/`ot.rv` tracestate) in distributed tracing #4177

### Changed
- Update the default query string obfuscation regex, fixing a security vulnerability, as described in https://github.com/DataDog/dd-trace-php/security/advisories/GHSA-49fg-59cp-2hqj #4282
- Improve stability of the tracer on macOS #4187
- Client-side stats obfuscation now follows the agent&#039;s full SQL obfuscation config DataDog/libdatadog#2535

### Fixed
- Fix crashes at shutdown: on PHP 7.0/7.1 ZTS #4185, in `atexit` after ddtrace was unloaded #4197, in the zend extension shutdown #4218, and in remote config shutdown #4220
- Fix rare use-after-frees in the in-process background sender, during request processing #4189 and at shutdown when the writer thread gets detached #4278 (thank you @alexandre-daubois!)
- Make the flush on SIGTERM/SIGINT safe against crashes in the allocator #4222
- Fix a crash when walking the stack after a generator was destroyed during an aborted call #4272
- Fix JIT blacklisting on PHP 8.5+ and for generator memory #4226, #4236
- Fix multi-hooking with dynamic payloads and a crash when subclassing `HookData` #4236
- Do not start the background writer when the tracer is disabled during MINIT #4233
- Avoid starvation of synchronous flushes with the in-process background sender #4224
- Fix sidecar connection from threads impersonating another user under Windows #4280
- Make Windows remote config notifications safe against unloading ddtrace #4219
- Evaluate the sampling decision once per trace chunk during serialization #4219
- Set `peer.service` sources in the Predis and PDO connect integrations #4285, #4286 (thank you @redpanda for the reports!)
- Report `http.status_code` for Guzzle requests that throw on non-2xx responses, and fix `DD_TRACE_HTTP_CLIENT_ERROR_STATUSES` handling #4287 (thank you @fbaumann-ph for the report!)
- Fix client-side stats: `http.endpoint` takes precedence over `http.route` again, and deeply nested SQL can no longer exhaust the stack during obfuscation DataDog/libdatadog#2582, DataDog/libdatadog#2441
- Fix a possible divide-by-zero panic in the shared rate limiter #4259

### Internal
- Add the `_dd.sdk.otlp_export` marker to trace chunks #4240

## Profiling
### Changed
- Speed up sample processing, reducing dropped samples under load #4194

### Fixed
- Fix several I/O profiling issues: `poll` readiness, `fread`/`fwrite` byte counts, RELRO protection after GOT patching, and loader bounds checks #4156
- Fix a wall-time crash after ext-grpc runs PHP code on a native thread; I/O profiling is disabled when ext-grpc is loaded #4198
- Report allocator-rounded allocation sizes and fix upscaling of samples with varying allocation sizes #4230
- Block signals before spawning profiler helper threads #4224

## AppSec
### Changed
- Update libddwaf to 2.1.0 and build it from source for PECL packages, fixing offline builds #4203 (thank you @remicollet for the report!)
- Update vendored libxml2 to 2.15.4 #4224

### Fixed
- Fix loading AppSec on musl ZTS builds (e.g. Alpine, FrankenPHP), and a crash on ZTS thread exit #4180
- Fix protocol failures caused by empty AppSec data #4216            </description>
            <dc:date>2026-10-08T14:35:45-05:00</dc:date>
        </item>
            <item rdf:about="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;release=1.25.1">
            <title>datadog_trace 1.25.1</title>
            <link>https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.25.1</link>
            <description>
                ## All products
### Fixed
- Fix SSI MSHUTDOWN on PHP 7.3 with opcache #4169

## Tracer
### Fixed
- Set ZEND_ENABLE_STATIC_TSRMLS_CACHE=1 on windows as well for windows ZTS builds #4172
- Fix #4163: broken frankenphp shutdown signal on musl #4167

### Internal
- Remove any dependency on aws-lc-sys #4170

## Profiling
### Fixed
- Fix IO/allocation sampling intervals #4159

## AppSec
### Fixed
- Use MetricType::Distribution for RASP_RULE_DURATION_DIST #4093
- Do not panic when WAF arrays exceed 2^16-1 elements DataDog/libddwaf-rust#28            </description>
            <dc:date>2026-09-09T00:38:28-05:00</dc:date>
        </item>
            <item rdf:about="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;release=1.25.0">
            <title>datadog_trace 1.25.0</title>
            <link>https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.25.0</link>
            <description>
                ## All products
### Added
- Support the stable OpenTelemetry `deployment.environment.name` resource attribute, mapped to `DD_ENV` (in addition to the legacy `deployment.environment`) #4148

### Internal
- Exclude `DD_API_KEY` and OTLP exporter header values from configuration telemetry #3961

## Tracer
### Changed
- Add a 1 MB size limit to Dynamic Instrumentation capture snapshots #4126

### Fixed
- Fix missing/mis-tagged `drupal.theme.render` spans on Drupal &gt;= 11.3 and under early-returning renders #4145
- Fix sidecar reconnection error handling DataDog/libdatadog#2463
- Fix a sidecar listening-socket leak across forks DataDog/libdatadog#2447

### Internal
- Reduce reconnect overhead for periodic background HTTP requests in the sidecar (telemetry/trace flushes) DataDog/libdatadog#2440
- Reduce the number of HTTP requests sent for shutdown telemetry DataDog/libdatadog#2435
- Feature Flag Evaluation: support arbitrary semver version formats and add serial-id tracking to exposure events DataDog/libdatadog#2413, DataDog/libdatadog#2402
- Improve crash-report accuracy by filtering stack frames above the faulting frame DataDog/libdatadog#2428
- Fix -flto -ffat-lto-objects builds DataDog/libdatadog#2460

## Profiling
### Changed
- Improve profiler throughput by ~1% by gating debug-only runtime cache stats behind a build feature #4130

### Fixed
- Restore I/O GOT hooks on module shutdown #4154

### Internal
- Align zstd compression behavior across targets in the profiler&#039;s uploader DataDog/libdatadog#2400

## AppSec
### Internal
- Move appsec communication onto the sidecar; the appsec helper is now built into the sidecar instead of as a separate binary, and the legacy C++ helper is removed #3725            </description>
            <dc:date>2026-09-04T15:48:34-05:00</dc:date>
        </item>
            <item rdf:about="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;release=1.24.0">
            <title>datadog_trace 1.24.0</title>
            <link>https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.24.0</link>
            <description>
                ## All products
### Fixed
- Repair the macOS crashtracking sidecar connector #4069
- Avoid leaking a patched `module_entry` across SSI loader shutdown, which could crash on reload #4087
- Fix `vsnprintf` off-by-one buffer sizing across appsec/logging/telemetry call sites #4115
- Harden crash-report backtrace collection from a multi-threaded process via ptrace DataDog/libdatadog#2216
- Fix parent-death-signal handling in the sidecar/loader child-process bootstrap DataDog/libdatadog#2348

### Internal
- Crashtracker now shares the sidecar&#039;s socket instead of holding a dedicated one, reducing per-process file descriptor usage DataDog/libdatadog#2179
- Fix the debug build variant of the SSI loader on PHP 8.4 #4089

## Tracer
### Added
- Support `DD_TRACE_PROPAGATION_BEHAVIOR_EXTRACT` (`continue`/`restart`/`ignore`) to control how upstream distributed-trace context is extracted, matching other Datadog tracers #3997
- Add `DD_DYNAMIC_INSTRUMENTATION_CAPTURE_TIMEOUT_MS` to bound Dynamic Instrumentation capture time #4003
- Add experimental Feature Flag Events (FFE) span enrichment, opt-in via `DD_EXPERIMENTAL_FLAGGING_PROVIDER_SPAN_ENRICHMENT_ENABLED` (default off) #3996
- Publish standard OTel process and thread contexts from the tracer, consumed by the profiler for runtime identity and effective service metadata #4077

### Changed
- Propagate the agent-configured timeout to the sidecar instead of using a fixed value #4025

### Fixed
- Scan the agent&#039;s full peer-tag key list for client-side stats instead of truncating it, which had started silently dropping tags like `out.host`/`peer.hostname`/`peer.service`/`server.address` #4102
- Preserve the complete W3C trace-flags byte when converting a Datadog span into an OpenTelemetry span context, fixing sampled+random-id contexts being treated as unsampled #4112
- Fix health metrics over UDS #4116

### Internal
- Report OTLP export status (traces/metrics/logs) in the startup log #4056
- Update libdatadog and fix background-sender telemetry errors/flakiness #4073, DataDog/libdatadog#2277

## Profiling
### Added
- Add build compatibility with PHP 8.6 #4084

### Changed
- Avoid an FFI call on the allocation hot path on NTS builds #4068
- Remove indirect allocator forwarding by specializing malloc/free/realloc callbacks at RINIT #4070
- Speed up `interrupt_count` checks by using a relaxed atomic outside of `REQUEST_LOCALS` #4074
- Reuse a single cached TSRM pointer for profiler and executor globals in the allocation hook (PHP ?8.3) #4072

## AppSec
### Added
- Support the `server.response.body.raw` WAF address for raw (unparsed) HTTP response body inspection #4055

### Fixed
- Ensure `_dd.apm.enabled:0` is present on every span so it is reliably encountered during APM-standalone billing processing #4054

### Internal
- Report `DD_APPSEC_AGENTIC_ONBOARDING` in configuration telemetry #4053            </description>
            <dc:date>2026-08-19T22:19:38-05:00</dc:date>
        </item>
            <item rdf:about="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;release=1.23.3">
            <title>datadog_trace 1.23.3</title>
            <link>https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.23.3</link>
            <description>
                ## Profiler
### Fixed
- Restore OPcache restart hook on shutdown (#4076)            </description>
            <dc:date>2026-07-29T13:03:38-05:00</dc:date>
        </item>
            <item rdf:about="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;release=1.23.2">
            <title>datadog_trace 1.23.2</title>
            <link>https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.23.2</link>
            <description>
                ## Tracer
### Fixed
- Prevent application error handlers from replacing successful OpenFeature
  evaluation values with code defaults #4071            </description>
            <dc:date>2026-07-28T20:35:28-05:00</dc:date>
        </item>
            <item rdf:about="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;release=1.21.0">
            <title>datadog_trace 1.21.0</title>
            <link>https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.21.0</link>
            <description>
                ## All products
### Changed
- The sidecar is now always spawned unconditionally, regardless of configuration #3912

### Internal
- Bump Rust MSRV to 1.87 #3926

## Tracer
### Added
- Add PHP feature flag evaluation including evaluation metrics via OTLP #3906, #3909, #3910, #3911
- Add `dynamic_service` DBM propagation mode as a convenience alias for `service` mode with base hash injection; this mode will replace `service` on the long term #3940
- Add `DD_DBM_ALWAYS_APPEND_SQL_COMMENT` to unconditionally append SQL comments in DBM regardless of sampling #3954
- Recognize PCF Garden container IDs for Cloud Foundry deployments DataDog/libdatadog#2025

### Fixed
- Fix remote config not being delivered after forking #3958
- Fix span pointer invalidation crash during inferred span serialization with `DD_TRACE_INFERRED_PROXY_SERVICES_ENABLED` #3934
- Fix buffer overflow in autoload path construction for oversized class/path names #3932
- Fix Swoole integration parsing the POST body regardless of `DD_TRACE_HTTP_POST_DATA_PARAM_ALLOWED` #3931
- Guard JIT blacklist rewrite to prevent crashes with non-tracing JIT metadata #3929
- Fix OTel polyfill post hooks with `:void` return type overwriting the instrumented function&#039;s actual return value #3920
- Fix span stats broken for nested services due to incorrect `top_level` span detection #3916
- Fix `php.compilation.total_time_ms` reporting values 1000x too large (microseconds labeled as milliseconds) #3915 (thank you @dortort!)
- Fix memory corruption of INIs in ZTS builds #3898
- Fix data race in curl header assignment (non-atomic write to `_Atomic` field) #3945
- Fix sample rate normalization to 0..1 range, preventing incorrect Knuth hash computation #3935
- Fix multi-request failures caused by incorrect rinit ordering after tracer/ext split #3946

### Internal
- Split the tracer code into a separate `tracer/` directory within the extension #3912
- Improve crashtracker reliability: socket-based thread collection, incomplete stack handling, and `language:native` tag DataDog/libdatadog#2080, DataDog/libdatadog#2079, DataDog/libdatadog#2083

## Profiling
### Fixed
- Fix macOS release builds for the profiler #3923

### Internal
- Support PHP DEBUG builds for the profiler, enabling ASAN testing in CI #3908

## AppSec
### Added
- Collect `x-datadog-endpoint-scan` and `x-datadog-security-test` security testing headers as span tags on HTTP entry spans, independent of `DD_TRACE_HEADER_TAGS` and AppSec enablement #3925

### Fixed
- Fix out-of-bounds iteration in PHP &lt;8.1 backtrace `HashTable` loop in the AppSec backtrace collection path #3933            </description>
            <dc:date>2026-06-06T01:15:52-05:00</dc:date>
        </item>
            <item rdf:about="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;release=1.20.0">
            <title>datadog_trace 1.20.0</title>
            <link>https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.20.0</link>
            <description>
                ## All products
### Fixed
- Properly reset SSI loader global state on shutdown to cleanly support reloading #3881

### Internal
- Spawn the sidecar via dynamic linker instead of trampoline #3869

## Tracer
### Added
- Add support for OpenTelemetry logs (`DD_LOGS_OTEL_ENABLED=true`, disabled by default) #3748

### Changed
- Crashtracking now collects stack traces from all threads at the moment of a crash #3866

### Fixed
- Fix NULL dereference crash in ZTS mode during sidecar/telemetry shutdown #3886
- Ensure remote config processing happens strictly after request initialization #3882
- Strip libpq-style paired quotes from PostgreSQL `dbname` DSN value in PDO integration #3885
- Fix use-after-realloc crash in tracestate formatting #3874

## Profiling
### Fixed
- Prevent panics in profiling encoding under out-of-memory and out-of-bounds conditions #3888

## AppSec
### Added
- Add AppSec integrations to Laminas Framework (http.route, endpoint collection, login events) #3716

### Changed
- Update recommended ruleset to v1.18.0, adding Stripe and LLM endpoint detection rules #3859

### Fixed
- Treat cleared shared memory as no-config rather than an error in AppSec helper #3876
- Avoid the possibility of sensitive data going to the telemetry logs backend via WAF strings #3884

### Internal
- Fix `blocked_request` metric tag detection in AppSec helper #3863
- Add `block` tag to `rasp.rule.match` metric #3870
- RFC-1012 metrics improvements: WAF duration distributions, rule_variant tag, and tag fixes #3850            </description>
            <dc:date>2026-05-21T01:48:53-05:00</dc:date>
        </item>
            <item rdf:about="https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;release=1.19.2">
            <title>datadog_trace 1.19.2</title>
            <link>https://pecl.php.net/package-changelog.php?package=datadog_trace&amp;amp;release=1.19.2</link>
            <description>
                ## Tracer
### Changed
- Restrict the accepted amount of extracted tags and baggage #3854

### Fixed
- Fix parentId refcount underflow #3851
- Fix SpanStack active reference corruption #3853
- Retry FFI telemetry batches when session config not yet available DataDog/libdatadog#1929
- Fallback to ftruncate if fallocate gets EPERM DataDog/libdatadog#1938            </description>
            <dc:date>2026-05-06T21:58:52-05:00</dc:date>
        </item>
    
</rdf:RDF>
