The Wayback Machine - https://web.archive.org/web/20220309095610/https://github.com/DataDog/dd-trace-php/releases
Skip to content
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
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
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
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
a2d4e35
Compare
Choose a tag to compare
8f52f31
Compare
Choose a tag to compare

Note: the internal structure of the newly released dd-library-php-x86_64-linux-*.tar.gz archive is intended for internal use and might vary in the future.

Added

  • Bring priority sampling to internal #1366
  • SpanData::$parent property #1369
  • Add queue and channel components #1388
  • Add log component #1390
  • Add arena component #1391
  • Add stack sample component #1392
  • Add uuid component #1393
  • Add time component #1394, #1408
  • Add profiler installation #1422
  • Zai/json #1378, #1397
  • Add Code Coverage #1389

Changed

  • (PHP 8) Migrate ObjectKVStore to WeakMap internally #1362
  • Adjust components #1387
  • Export only specific symbols #1407
  • Sanitize user information from urls #1396
  • Split INI setting in installer so they can be added separately when missing #1415
  • Use the new targz bundle format with the new PHP installer #1421
  • Have both legacy and new installer to fail when json PHP extension is not enabled #1410

Fixed

  • Fix Laravel unnamed route with caching and domain specification #1364
  • Fix http.url of internal root span #1360
  • Add small framework to stress test our internal API with bogus inputs #1365
  • PDOIntegration::parseDSN fails to parse some DSN #1373
  • Fix constructor of OpenTracing wrapper when no Datadog tracer is provided #1406 - thanks @OGKevin for the reproduction case
  • Fix parsing of urls without schema into host name #1385
2b73ca0
Compare
Choose a tag to compare

Added

  • (PHP 5) Add zai config, internal spans, and exception handling (#1339)
  • (PHP 7, 8) Add mongodb instrumentation (#1345)
  • PHP installation script (beta) (#1335)

Changed

  • (PHP 5, 7) Move _dd.origin handling to internal #1347

Fixed

  • (PHP 7, 8) Fix exception handling with opcache cfg optimization enabled (#1344)
  • (PHP 7, 8) Fix memory leaks in curl and error handling (#1350)
  • Use ObjectKVStore in place of internal registry to store PDO connection parameters (#1355)
4078a30
Compare
Choose a tag to compare

⚠️ Breaking changes ⚠️

  • Global tags are now assigned early. This means that users have to make sure to not overwrite meta, but only add to it instead, if they don't want to lose global tags. Wrong: $span->meta = [ 'some' => 'tag' ]. Correct $span->meta['some'] = 'tag'.
  • Support for legacy param DD_TRACE_RESOURCE_URI_MAPPING has been dropped with the migration to C code, after more than a year of deprecation. Use DD_TRACE_RESOURCE_URI_FRAGMENT_REGEX, DD_TRACE_RESOURCE_URI_MAPPING_INCOMING, and DD_TRACE_RESOURCE_URI_MAPPING_OUTGOING instead. See resource mapping for more details.

Added

  • (PHP 8) Migrate _dd.origin and distributed header sending to internal (#1267)
  • (PHP 5) Add headers ZAI implementation (#1308)
  • Add support for PHP 8.1 (#1297)

Changed

  • (PHP 7, 8) Internal (root) span initialization (#1329)

Fixed

  • (PHP 5, 7, 8) Remove all lines containing zai_sapi from config.m4 (#1333)
  • (PHP 7, 8) Fix unnamed service spans caused by improper handling of DD_TRACE_ENABLED (#1332)
d440c99
Compare
Choose a tag to compare
7f7dda4
Compare
Choose a tag to compare

WARNING: Resource names for “Lumen” applications will change by default to GET /actual/uri/path from the previous format GET action_name or GET App\Controller@action_method. You might need to adjust your monitors and filters for the change. In order to go back to the previous behavior, instead, you can temporarily set DD_TRACE_URL_AS_RESOURCE_NAMES_ENABLED=false

Added

  • Add functions ZAI support for PHP 5 and 7 #1300
  • Add properties and exceptions ZAI implementations for PHP 5 #1306
  • Enhance exception reporting on Laravel 5+ #1322

Changed

  • Remove src/dd-doctor.php #1316
  • Honor DD_TRACE_URL_AS_RESOURCE_NAMES_ENABLED in Lumen resource naming #1318

Fixed

  • Fix CLI processes emitting empty root spans when CLI tracing is not enabled #1320