Skip to content

Releases: DataDog/dd-trace-php

0.90.0

17 Jul 11:28
ec17a97
Compare
Choose a tag to compare

This release adds logs correlation and telemetry support:

  • Used configurations, libraries and integrations will be collected. This may be disabled with DD_INSTRUMENTATION_TELEMETRY_ENABLED=0.
  • Logs written by common logging libraries will be attached metadata about the trace and span the log line was generated in. This may be disabled with DD_LOGS_INJECTION=0.

Added

  • Add Logs Correlation #2118
  • Add network destination name to http client spans #2134
  • Add peer.service to Mysqli instrumentation #2142
  • Add peer.service to PHPRedis instrumentation #2152
  • Add peer.service to PDO instrumentation #2148
  • Add peer.service to SQLSRV instrumentation #2155
  • Add peer.service to Mongodb instrumentation #2147
  • Add peer.service to Memcached clients instrumentation #2145
  • Add peer.service to http client instrumentations #2134
  • Add automated login events to Symfony #2132 #2146
  • Opt-in to flat service names #2163

Changed

  • Move all integrations to deferred loading #2153
  • Reflect changes to datadog.version and datadog.env in existing spans #2165
  • Evaluate the service name after the service mapping for a sampling decision #2166

Fixed

  • Add invalid regex handling for sampling rules #2160

Internal Changes

  • Add SpanData::peerServiceSources #2130
  • Handle peer.service-related post-process in the extension #2135
  • Enable instrumentation telemetry by default #2153
    • With this change, a new datadog-ipc-helper process will be started alongside the application. This process will be in charge of collecting telemetry and will take over more responsibilities in upcoming releases.

Profiling

Added

  • doc(profiling): make phpinfo() output more helpful #2144
  • timeline: add eval() timings #2150

Fixed

  • Explicit shutdown allocation profiling on fork() #2149
  • Optimize event timestamp for timeline #2157

Internal changes

  • refactor(profiling): apply clippy suggestions #2141

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.