Skip to content

Releases: DataDog/dd-trace-php

0.89.0

04 Jul 05:57
643d49f
Compare
Choose a tag to compare

This release adds timeline support to the profiler. This is off by default. Enable it with the environment variable DD_PROFILING_EXPERIMENTAL_TIMELINE_ENABLED=1 or INI setting datadog.profiling.experimental_timeline_enabled=1.

Added

  • Add horizon as artisan queue command #2124 Thanks, @markwalet.
  • Add network destination name to http client spans #2134
  • Add automated Laravel user tracking events #2100
  • Add DD_HTTP_SERVER_ROUTE_BASED_NAMING config to enforce resources #2138

Fixed

  • Fix a memory leak when overriding default arguments in install_hook (PHP7.2-) #2107
  • Generate runtime-id on first request #2137
  • Better GC workaround on PHP 7.3 and below for cycle collected span stacks #2123
  • Use proper variable for php-config #2114
  • Generate runtime-id on first request #2137

Internal Changes

  • Add note about cargo in README, make debug symbols included by default for manual compilation #2110

Profiling

Added

  • Add timeline support #1997, #2108
  • Add endpoint counts #2111
  • Add file compilation times to timeline #2119

Internal changes

  • ci: add stack walking benchmark #2041, #2133, #2136
  • ​​build: bump indexmap to v2.0.0 #2127
  • build: bump bindgen to 0.66.1 #2128

Application Security Management (0.10.0)

Added

Fixed

Internal Changes

0.88.1

16 Jun 21:39
05a87e4
Compare
Choose a tag to compare

Fixed

  • Add note about cargo in README, make debug symbols included by default for manual compilation #2110
  • Fix commit hashes in profiling release versions #2105

0.88.0

15 Jun 12:11
5fbcf9d
Compare
Choose a tag to compare

Added

  • Add support for environment variable syntax to config mode in datadog-setup.php #2050

Changed

  • Use span links in the RabbitMQ Integration #2092
  • Disable root span generation and removes orphans for Laravel Horizon #2091

Fixed

  • datadog-setup.php: remove return types for compatibility with PHP 5 #2059 Thanks @dserodio!
  • Work around fiber->execute_data only being correct upon yielding #2072
  • Skip error assignment on the root span for 5xx errors that shouldn't be reported #2089
  • Ensure no crashes happen with multiple observers installed #2093
  • Fix incorrect offset access in Laminas Integration #2094

Internal Changes

  • build: delete unused C components #2055
  • build: bump cmake and catch2 versions #2056
  • build: reduce Laravel queues' tests flakiness #2057
  • testing: add snapshot testing #2058
  • build: pin guzzlehttp/promises to ^1.5.3 #2071
  • Update removed methods used in Guzzle V6 & V7 test suites #2073
  • build: drop now-unused uuid component #2096
  • Prepare instrumentation telemetry #2029, #2086, #2099
  • build: Add rebuild with ASAN section to randomized tests README.md #2084

Profiling

Allocation profiling is now enabled by default. You can manage it using the DD_PROFILING_ALLOCATION_ENABLED environment variable or the datadog.profiling.allocation_enabled setting in the INI file. Although the DD_PROFILING_EXPERIMENTAL_ALLOCATION_ENABLED environment variable and datadog.profiling.experimental_allocation_enabled INI setting still work, the new ones take precedence.

Added

  • GA allocation profiling #2038
  • disable allocation profiling if JIT is enabled #2088

Fixed

  • fixed segfault in test suite #2077

Internal changes

  • move allocation profiling to its own module #2090

Application Security Management (0.9.0)

Fixed

Internal changes

0.87.2

19 May 13:11
8578f89
Compare
Choose a tag to compare

Application Security Management (0.8.1)

Fixed

0.87.1

16 May 10:54
a3bb5f4
Compare
Choose a tag to compare

This bugfix release fixes a regression introduced in 0.87.0, causing 4xx responses from Laravel to be marked as errors.

Fixed

  • Fix opline being replaced by ZEND_HANDLE_EXCEPTION in uncaught finally on PHP 7 #2052
  • Won't set 4xx errors on Laravel root span every time an Exception is caught #2053

0.87.0

12 May 10:04
d0d60c5
Compare
Choose a tag to compare

Added

  • Add config mode to datadog-setup.php #1951
  • Add file hooking to DDTrace\install_hook #1989
  • Allow DDTrace\install_hook to take any callable #1991
  • Add Laminas integration #1990
  • Add php-amqp integration #1996
  • Add Laravel Queue integration with Span Links #2026
  • Add SQLSRV Integration #2031
  • Implement replacing of return values #2018

Changed

  • Allow for consuming an array via DDTrace\consume_distributed_tracing_headers #2010
  • Allow DDTrace\install_hook to take any callable #1991
  • Do not force cycle collection at runtime on flush by default #2046

Fixed

  • Add fixes for parametric testsuite #1988
  • Fix exceptions and errors in auto_prepend_file #1987
  • [Yii] Do not use module property if it doesn't exist #1999
  • Load API files relative to the ComposerBootstrap.php instead of the ddtrace autoloader #2013
  • Avoid side effects from errors within the sandbox #2015
  • Prevent execution of install_hook() hooks after disabling tracer #2016
  • Fix install_hook on functions returning by-reference #2017
  • Fix #2012: Remove PHP 7-only types from signatures #2021 Thanks, @jmakuc, for reporting the issue.
  • Ensure internal server errors are set on the root span in Laravel #2026
  • Starting multiple traces in parallel does not confuse the limiter #2026
  • Fix #2030: Segmentation fault with autoloaders bailing out #2037 Thanks, @NickStallman, for reporting the issue.
  • Possible segfault when instrumenting curl_setopt() in PHP 7 #2039
  • Fix resolving hooks within files declaring many functions on PHP 7.2 - 8.1 #2045

Internal changes

  • Increase the number of configuration entries in zai config #2020
  • Reduce the allocated heap size of the elasticsearch7 container #2040

Profiling

The profiling version number is now in sync with the tracer for stable releases.

Changed

  • Sync profiling version number with tracer #1992
  • refactor: move upscaling to libdatadog #1984
  • perf: raise sampling distance for allocations to 2048 KB #2036

Fixed

  • Fix crashes when allocation sampling occurs in certain places #2039

Internal changes

  • add test to ensure we do not crash with fibers #2003
  • add stack walking test #2034

Application Security Management (0.8.0)

Fixed

Added

Changed

Internal Changes

0.86.3

06 Apr 08:41
4356321
Compare
Choose a tag to compare

Application Security Monitoring (0.7.2)

Fixed

0.86.2

04 Apr 14:41
950cfd6
Compare
Choose a tag to compare

Fixed

  • [Tracer][YII] Do not use module property if it doesn't exist #1999

Application Security Monitoring (0.7.1)

Fixed

0.86.1

30 Mar 19:12
fbe276f
Compare
Choose a tag to compare

Profiling (0.15.1)

Fixed

  • Fix crash by reverting "perf(profiling): speed up stack walking by using function run_time_cache" #1994. Thanks, @zeroxs for reporting.

0.86.0

23 Mar 13:29
567c62c
Compare
Choose a tag to compare

Important: Enabling profiling on this release can crash if your code or any code dependencies use magic methods. Since this is difficult to determine, we recommend avoiding this release and moving to 0.86.1 or newer.

Added

  • Add MemcacheIntegration #1981
  • Add PSR18 tracing support in any PSR18 ClientInterface #1938
  • Collect HTTP POST Data and headers #1971

Fixed

  • Restrict backends on DBM propagation #1983
  • Allow for hooking of extended internal classes #1976

Internal changes

  • Include the circleci URL for 1.0.0-nightly installers #1977

Profiling (0.15.0)

Fixed

  • Fix issues when preloading and non-root php-fpm user are used #1975

Changed

  • perf: speed up stack walking by using function run_time_cache #1949

Internal changes

  • Fix system ini handling of invalid values in zai config #1982

Application Security Monitoring (v0.7.0)

Breaking Changes

Fixed

Added

Internal Changes