Skip to content

Releases: DataDog/dd-trace-php

0.83.0

13 Jan 18:27
cec4cd7
Compare
Choose a tag to compare

Infinite Loop

Please use version 0.84.0 or newer. This version contains a bug, sometimes leading to an infinite loop during sending of traces.

Added

Changed

  • Change error.msg to error.message #1821
  • Change process_id to metrics tag #1826
  • Remove libexecinfo on Alpine #1838
  • Always interpolate error message placeholders to avoid confusion #1849

Fixed

  • Fix installer name in help output in datadog-setup.php #1829
  • Fix #1828: crash when copying an immutable array #1832
  • Fix CodeIgniter integration to not depend on CI_Controller class #1835
  • (PHP 7) Fix memory leak with custom CURLOPT_READFUNCTION #1841
  • Support custom ini names in installer #1846, #1851
  • Clear the active closed stack head when resetting the tracer #1853

Internal changes

  • Speed up "Attaching workspace" step in CI #1823
  • Improve test suite flakiness & randomized asan #1817

Profiling (0.12.0)

Added

  • Add configuration to save profiles to disk #1837

Changed

  • Bump libdatadog to 1.0 #1825
  • Bump profiling version for release #1848

Internal changes

  • Fix compile time warnings when compiling without features #1819
  • Avoid putting .package-cache into the cache, commit Cargo.lock #1852

0.82.0

06 Dec 16:58
002e752
Compare
Choose a tag to compare

Added

  • PHP-8.2 support #1800
  • Add Elasticsearch 8 support #1808
  • Add a Roadrunner integration #1813

Changed

  • Change system.pid to process_id #1796

Fixed

  • Extract priority sampling whenever is string or int #1789
  • Fix crash during preloading on 8.1+ #1799
  • Fix $integration->setError() to also accept \Error instances #1802
  • Fix ZEND_CATCH chaining logic #1803, #1814
  • Fix misbehaviour with 256+ hooks on a same function #1809
  • FIX PSR-4 autoloading in ComposerBootstrap class #1816 (Thanks @ls-youssef-jlidat)
  • Fix dropped spans causing an infinite loop #1818

Internal changes

  • Avoid deprecated zend_atol on PHP 8.2 #1778
  • Retry docker images not starting in CI #1807

Profiling (0.11.0)

Profiling is now installed and enabled when --enable-profiling is passed on the installer. Previously it was installed but not enabled. This removes one step in onboarding as the environment variable DD_PROFILING_ENABLED no longer needs to be set to 1, which can be difficult in some situations. The recommended way to configure profiling is to use .ini settings, which is generally easier.

Added

  • Add .ini support #1775.
  • Groundwork for allocation profiling #1794

Changed

  • Bump libdatadog to 0.9 #1782.
  • Bump env_logger to 0.9.3 #1804.

Internal Changes

  • Add troubleshooting to README #1761

0.81.1

03 Nov 12:22
34267c6
Compare
Choose a tag to compare

Fixed

  • Fix span limiter not being reset in long running processes #1785

0.81.0

02 Nov 11:19
811647a
Compare
Choose a tag to compare

Traces disappearing

We have an issue causing span counters to not be reset properly after a flush. Thus the span limit of 1000 being reached, and then hooks not being executed anymore. This impacts long-running CLI processes only.
It is advised to stay on 0.80.0 until we have released 0.81.1.

Added

  • Rate limiting support #1769
  • Add span stacks #1746

Changed

  • Stop collecting IP on tracer #1774
  • Amend wording when uninstalling datadog #1756

Fixed

  • Guzzle Integration not initialized correctly #1762.
  • Do not create root spans for certain Symfony methods #1771. Thanks, @radykal-com!
  • ldconfig not found by installer #1773
  • Fix crash in ddtrace_curl_multi_get_gc #1779

Internal changes

  • Fix in-tree compilation #1760
  • Reusability of zai config across products #1765

Profiling (v0.10.2)

Fixed

  • Prevent deadlocks when forking #1752
  • Fix linking on arm64 mac #1759

Application Security Monitoring (v0.4.4)

Added

0.80.0

28 Sep 14:18
c82659b
Compare
Choose a tag to compare

Changed

  • Make sampling priorities public API again #1742

Fixed

  • Fix behaviour of return false in trace hooks #1749
  • Handle non-binaries in installer #1743
  • Fix mishandling of payload size limit #1750

Profiling (v0.10.1)

Fixed

  • Match the service names of the tracer when unset or empty #1733
  • Avoid crashing when pcntl_fork is called #1745

Application Security Monitoring (v0.4.3)

Fixed

Internal changes

0.79.0

09 Sep 12:47
77e083b
Compare
Choose a tag to compare

Added

  • Integrate with Symfony console commands #1724

Changed

Fixed

  • Fix #1709 appsec attempting to load erroneously #1711
  • Fix symfony service and root span name #1723 (Thanks @numyx)
  • Initialize hooks and config early to prevent conflicts with code executed in early startup #1726
  • Fix hook dynamic data zeroing when new hooks are added during hook execution #1730

Internal changes

  • Fix compilation on MacOS #1716
  • Deduplicate PHP 7 and PHP 8 source files #1722

Profiling (v0.10.0)

Added

  • Add Endpoint Profiling #1720

Internal changes

  • Extract C API module; refactor Uuid #1710

0.78.0

24 Aug 11:58
8ffb855
Compare
Choose a tag to compare

Symfony integration partially broken

Some Symfony spans may be of service unnamed-php-service instead of the proper service name. Under version 0.77.0 the behaviour is as expected.

Added

  • Instrument pcntl_fork and reset tracing when it is called #1633 (Thanks @jlesueur)
  • ARM64 support (Build arm images in CI) #1701
    • ARM64 is supported for the tracer and the profiler now. Appsec has no ARM64 support yet.

Changed

  • Accept pseudonym on via header as specified by rfc7230 #1696
  • Add agent target URL to flush-message to help with debugging #1705
  • Add IPv6 support to DD_AGENT_HOST #1707

Fixed

  • Fix span memory leak and packaging #1697
  • Fix datadog-setup.php failing in environments without scan directory #1702
  • Fix random number generator usage #1704
  • Set root span name only in HttpKernel::boot() to avoid side effects on CLI #1706
  • Fix meta information loss in PDOIntegration #1708 (Thanks @frankdejonge)

Internal changes

  • Update artifact URL for v0.77.0 gitlab deployments #1686
  • Update relenv to use datadog-setup.php #1689
  • Add arm support to docker images #1699

Application Security Monitoring (v0.4.0)

Fixed

Changed

Internal changes

Profiling (v0.9.0)

Added

  • Add Unix Domain Socket (UDS) support #1698

Fixed

  • Avoid PHP per-request interning #1700

Internal changes

  • Add phpt tests for profiling #1690

0.77.0

02 Aug 21:20
a76f1e4
Compare
Choose a tag to compare

⚠️ The tracer and profiling packages for PHP 7 and 8 are built on CentOS 7. These packages will not run on older GNU Linux versions like CentOS 6, Debian 7, and Ubuntu 12.04.

Added

  • Add single span ingestion mechanism #1628
  • Add "recurse" => true option to hook/trace config array #1677

Changed

  • Allow Symfony EventDispatcher::dispatch hooks to recurse #1678

Fixed

  • Fix JIT compatibility under macOS #1661
  • Fix -Werror=address-of-packed-member #1664
  • Add support for ports on x-forwarded-for header #1675. Thanks, @estringana!

Internal changes

  • Move to CentOS 7; begin adding profiling deps #1660
  • Add profiling sources #1606
  • Build and package datadog-profiling in CI #1663
  • Fix profiler config in randomized tests #1682

Profiling (v0.8.0)

Added

  • Add process_id and runtime_version tags #1606.
  • Add support for changing env vars per request, such as per-directory env var settings in Apache #1606.
  • Add fake frame when truncating stacks #1679. This way users can tell when the stack is truncated.

Changed

  • Switch <php> to <?php #1680
  • Raise max stack depth to 512 #1681
  • Enable CPU Time profile by default #1663. This can disabled by setting the environment variable DD_PROFILING_EXPERIMENTAL_CPU_TIME_ENABLED to 0, off, or no.
  • Change logging format #1606. Add a new log level trace, which is even more verbose than debug.
  • Stop sending a profile on every phpinfo() (or the equivalent command line option --ri datadog-profiling) #1606

0.76.2

28 Jul 14:54
f92fd59
Compare
Choose a tag to compare

Fixed

  • Check for datadog-profiling in startup only instead of inside a message_handler #1670. This fixes a possible crash when all of tracer, profiler and appsec are loaded.
  • Add opcode shutdown handlers, fix integrations after repeated minit #1669. This fixes a crash when using reload on apache (sending SIGUSR1).
  • (PHP 7) Fix curl wrapper use after free #1662. This fixes a possible crash when curl handles are manually released within destructors inside the PHP shutdown sequence.
  • Fix -Werror=address-of-packed-member #1664

Internal changes

  • Skip curl test if curl is not loaded #1668

Profiling (v0.7.2)

0.76.1

14 Jul 19:43
f10f862
Compare
Choose a tag to compare

apache reload will cause crashes

Please upgrade to 0.76.2, if you get crashes with apache with versions 0.76.0 or 0.76.1.

Fixed

  • Bump PHP minimum version in PECL #1652
  • PHP 7.3+ Fix compatibility with opcache #1656

Internal changes

  • %d resource ids in language tests #1657