Skip to content

Releases: DataDog/dd-trace-php

0.74.0

12 May 13:11
7e112e4
Compare
Choose a tag to compare

Tracer

Added

  • Add configurations for retaining select query string parameters in resources and http.url #1566

Changed

  • Respect autofinish on flush(), add warnings in debug mode when having unbalanced spans #1564, #1569
  • Loose restrictions around distributed tracing context setting #1571

Fixed

  • Fix dispatch resetting #1570
  • Fix run_time_cache initialization for closure calls with foreign scope on PHP 7.4-8.1 #1578
  • Eliminate the separate span id stack, fix distributed tracing trace_id #1586
  • Fix handling of INI and ENV changes post minit, pre runtime #1593
  • Fix inconsistent module load and unload sequence #1585
  • Fix installer setting check for extensions #1584

Internal changes

  • Pin composer on PHP 7 docker containers to version 2.2 #1565
  • Disable flaky test on PHP 5.4 #1583
  • Remove Symfony 4.2 from PHP 7.4 web tests #1587
  • Add the scenario name to the randomized test docker name #1590
  • Fix ownership of files within release artifact tars #1591

Profiling (v0.6.1)

Fixed

  • Bump profiling to v0.6.1 #1588. This re-initializes static variables on startup/minit which may help prevent Apache reload from crashing.
  • Enable profiling installation on PHP 8.1 #1576

Application Security Monitoring (v0.3.2)

Fixed

  • Fix hybrid extension initialisation #92

0.73.0

27 Apr 17:41
af7719d
Compare
Choose a tag to compare

Application Security Monitoring

Breaking Changes

  • Rename ini settings from datadog.appsec.rules_path to datadog.appsec.rules #74
  • Interpret datadog.appsec.waf_timeout as microseconds rather than milliseconds #74

Fixes

  • Add obfuscator strings when initialising WAF from client settings #83
  • Fix relative module order with ddtrace on PHP 7.3 issue #88 - #86

Additions

  • Add WAF metrics and errors to traces #79
  • Actor IP resolution from request headers #80
  • Add support for WAF event obfuscator #82
  • Add obfuscator regex for values #84

Miscellaneous Changes

  • Update installer links in documentation and tests #76
  • Add parameter_view for non-ownership of WAF parameters #78
  • Accept IP list on X-Cluster-Client-IP header #81
  • Update ruleset to v1.3.1 #82
  • libddwaf upgraded to v1.3.0 #82
  • Update installation instructions #84

0.72.0

07 Apr 12:20
20236f9
Compare
Choose a tag to compare

Added

  • Add support for memcached on PHP 8 #1558

Fixed

  • Fix #1544: Handle hook dummy span hack when assigning parent #1557

Internal changes

  • Add gdbinit files for php 8.0 and 8.1 #1556
  • Add system tests in CI #1552
  • Use latest 8.0.17 in buster images #1559
  • Update flex to v1.18.5 in composer.lock files for Symfony 4.0 and 5.0 #1560
  • Add a single test to xfail after upgrade of docker image to 8.0.18 #1561
  • Update link to download 0.71.1 in the reliability environment #1555

0.71.1

31 Mar 15:01
4ba8218
Compare
Choose a tag to compare

⚠ This release fixes a critical issue in this library that exists for PHP 8.1.4+ and PHP 8.0.18+ ⚠

Fixed

  • Use -1 as uninitialized op_array_extension marker #1550 (thanks @blazarecki for the report)

Internal changes

  • Use latest ubuntu images in CI #1543
  • Use 8.1.4 in development buster images #1553
  • Add randomized tests for PHP 8.1 and make buster containers arm64 ready #1551
  • Remove regressions from randomized tests #1547

0.71.0

15 Mar 11:20
3a36b1c
Compare
Choose a tag to compare

Not supported with PHP 8.1.4+ and PHP 8.0.18+

Due to a subtle behaviour change in PHP 8.1.4 and PHP 8.0.18 respectively, all versions of the datadog tracer up to 0.71.0 are not compatible with PHP versions newer than PHP 8.1.4 or PHP 8.0.18.

Changed

  • Do not disable tracing when ionCube loader and ZendGuard loader are detected #1520

Added

  • Added ES integration support for newer PHP and ES versions #1516
  • Add support for wordpress on PHP 8 and use a different hook #1522
  • Add Code Hotspots #1517
  • Implement split by instance in PDO #1498

Fixed

  • Trigger profiling interrupt function before internal observer_end #1499
  • Fix compatibility with PHP 8.2 (master) #1521

Internal changes

  • Clean up Tea SAPI and allow ddtrace to run there #1502
  • Use a new curl session for each writer iteration and clear it after #1504
  • Increase bgs backlog by 20% #1506
  • Always include the Tea SAPI Catch2 test header #1507
  • Add is_nil function to UUID component #1515
  • Fix randomized testsuite memory limits and background sender curl handling #1525
  • Run cmake-format on TEA's CMakeLists.txt #1527
  • Simplify calls (zai symbols), add support for generators #1529
  • Update profiling to v0.5.0 #1537
  • Update profiling to v0.5.1 #1541
  • Move from checking status code reported by vegeta to check error logs #1540
  • Fix ZAI symbols on PHP 7.3+ (randomized tests failures) #1536
  • ​​Add a test case for guzzle url no schema + split by domain #1534
  • Point rel-env deployment to GH release 0.70.1 #1531
  • Tea ZE Suppport #1526
  • Show curl response status code in tests #1524
  • Add long running script memory check to randomized tests #1356
  • Add a test for sub path and wildcards normalization #1505

0.70.1

02 Mar 16:09
dddfae3
Compare
Choose a tag to compare

Changed

  • Disable x-datadog-tags header propagation #1528

Fixed

  • Fix Laravel exceptions being over-reported #1361
  • Fix too aggressive symbol exporting #1523
  • Hide the dummy span during trace hooks away #1519
  • (PHP 5) Remove empty multi_curl handles hashtables #1513
  • Do not mess with the span duration in curl integration #1512
  • Fix #1510 post-install not detecting required extension #1511
  • ​​Explicitly depend on ext/standard and fix in-tree builds #1509

0.70.0

07 Feb 08:43
e621659
Compare
Choose a tag to compare

Changed

  • Make the legacy API a pure proxy to internal spans #1471
  • Load the legacy tracer only when actually used #1449
  • Update profiling to v0.4.0 #1495

Added

  • Add appsec library to the release bundle #1469
  • Add appsec installation #1470

Fixed

  • Always emit NoopSpans if the tracer extension is disabled #1475
  • fix dd_update_upstream_services on php5 #1476
  • Setup: Error if profiling is given but unavailable #1477
  • Ensure dropped spans are distinguishable from unfinished spans #1480
  • Fix Span::setError docblock #1481
  • Fix invalid reads in background sender #1483
  • Restore support for manual distributed tracing #1484
  • Remove version number from datadog-setup.php's help output #1487
  • Improve error detection for datadog-setup.php #1489

Internal changes

  • Add parallelism to makefile for builds and test runs #1382
  • Add profiling module to randomized tests #1412
  • Run randomized internal API stress testing in CI #1445
  • Switch to Symbols interface, cleanup tests #1465
  • Improve Symbol Call interface, introduce closure support #1467
  • Support in-tree builds of Tea #1472
  • Sandbox Bailout #1473
  • Patch zend_alloc.c to not crash in CI for PHP 7.0 to 7.2 #1478
  • build tea once during development #1479
  • Update PHP 8.1 dependencies, include laravel testing #1482
  • Inline queue function pointers #1490
  • Adjust stack sample max stack depth #1491
  • Remove unused profiling components #1492

0.69.0

24 Jan 16:55
95159f0
Compare
Choose a tag to compare

⚠ Breaking changes

  • Query string is now not included in http.url in Nette integration and in generic web frameworks tracing.

Added

  • Implement x-datadog-tag propagation and _dd.p.upstream_services #1405

Changed

  • Get rid of ini-ignoring and redundant checking of ddtrace being enabled #1448
  • Strip query string from http.url in generic web tracing #1454
  • Use internal root spans in Integrations in place of using the legacy API #1383
  • Hard-code version in installer, remove --url option, rename it #1463
  • Remove generator support on PHP 7 #1464

Fixed

  • Ensure a proper sampling decision is also evaluated when distributed tracing is used #1450
  • Fix ObjectKVStore compatibility with throwing autoloaders #1451
  • Properly report error for artisan command in Laravel 7+ #1456 (thank you @ls-paul-julien-vauthier)

Internal changes

  • Migrate ZAI tests to use ZAI SAPI harness #1457
  • Move ZAI SAPI to root directory #1411 #1443
  • ZAI methods on PHP 5: Args and retval #1401
  • Implement ZAI Value interface #1453
  • Implement ZAI SAPI test harness (catch2) #1455
  • Implement ZAI SAPI test fixture (catch2) #1458
  • Refactor ZAI SAPI into Tea SAPI, brings various improvements #1462
  • Implement ZAI Symbols interface #1452
  • Address Sanitizer check for ZAI SAPI - 1459
  • Fix ZaiSapi_ROOT path in Makefile #1443

0.68.2

07 Jan 19:54
a6cbdb8
Compare
Choose a tag to compare

Changed

  • Clean up generate-final-artifact.sh #1442

Fixed

  • Replace direct access of meta/metrics zvals by safe array access in most places #1440 (thank you @mente for the report and the repro!)
  • Always separate meta and metrics arrays on access #1441
  • Bump profiling to v0.3.0-rc.6 (fixes some linking bugs) #1444

0.68.1

30 Dec 17:00
a2d4e35
Compare
Choose a tag to compare

Fixed

  • Do not diagnostics when ddtrace is disabled #1434
  • Fix json symbol address resolving logic #1432
  • Disable tracing when PHP is executed during RINIT #1429
  • Change Predis integration type to "redis" #1427