Skip to content

Releases: DataDog/dd-trace-dotnet

1.28.4

30 Aug 21:32
e409fc9
Compare
Choose a tag to compare

Changes

  • Improve error-handling when reading Performance Counters (#1652)
  • Don't cache the Process instance for runtime metrics (#1698)

Fixes

  • Fix possible deadlock by preserving the synchronization context where needed (#1702)
  • Fix missing runtime metrics in Azure App Services by reading Performance Counters from environment variables (#1651)
  • Use AppDomain.CurrentDomain.BaseDirectory instead of Environment.CurrentDirectory when searching for configuration file (#1700)
  • Fix native regex usage on non-Windows platforms (#1662)
  • Revert change that writes error messages to stderr to avoid breaking changes (#1677)

Build / Test

  • Reduce length of snapshot paths (#1657)

Changes since 1.28.2

1.28.3-prerelease

17 Aug 00:43
8278f55
Compare
Choose a tag to compare
1.28.3-prerelease Pre-release
Pre-release

Changes

  • Merge auto-instrumentation code into Datadog.Trace.dll (#1443)
  • Adds Datadog.AutoInstrumentation.NativeLoader (#1577)
  • The v0 version of App Sec (#1647)
  • Read performance counter values from environment variables in AAS (#1651)
  • Improve error handling for performance counters (#1652)
  • Add instrumentation for Begin/EndGetResponse to WebRequest (#1658)
  • Cache native AssemblyReference instances (#1665)
  • Use link shortener for IIS permissions (#1666)
  • Native profiler Initialize callback optimization (#1672)
  • Update CI Visibility specification (#1682)

Fixes

  • Fixes native regex usage on non windows platforms. (#1662)

Build / Test

  • replace "minimal" solution with a solution filter (#1631)
  • Add support for a temporary NGEN pipeline (#1642)
  • Small build improvements (#1646)
  • Filter now applied to the samples when compiling (#1653)
  • Crank native profiler fix (#1655)
  • Reduce length of snapshot paths (#1657)
  • Update GitHub action release workflows (#1659)
  • Fixes crank pipeline on PR merge commits. (#1669)
  • Disable CallSite scenario from Throughput tests. (#1674)
  • Removes code for Callsite scenario from the throughput tests (#1679)
  • Add a custom test framework to monitor execution of unit tests in ducktyping library (#1680)
  • Add tests for changes to Datadog.Trace's Public API (#1681)

Changes since 1.28.2

1.28.2

04 Aug 13:07
ac32db2
Compare
Choose a tag to compare

⛔ Due to a possible deadlock when synchronously waiting on async tasks, we recommend upgrading to 1.28.4 which fixes the issue.

Changes

  • Add additional logs injection fallback for NLog 1.x (#1614)
  • Remove version from the test.framework tag in CIApp (#1622)
  • Fix ReJIT and Shutdown log levels (#1624)
  • Logger API refactoring (#1625, #1635)
  • Add experimental NGEN support (#1628)
  • Clear metadata when an appdomain unloads (#1630)
  • Don't add the sampling priority header if empty (#1644, #1649)
  • Add a public ForceFlushAsync API on the Tracer (#1599)
  • CIApp: Update Bitrise spec (#1593)

Fixes

  • Fix memory leak in native code (#1564, #1600)
  • Fix CIApp in latest version of MSTest (#1604)
  • Add fallback for logs injection for NLog versions < 4.1.0 (#1607)
  • Fix PInvokes to the native lib on non windows os. (#1612)
  • Add fix for log injection with log4net.Ext.Json versions < 2.0.9.1 (#1615)
  • Fix CIApp Feature Tracking (#1616)
  • Fixes the dd-trace exit code always returning 0 (#1621)
  • Preserve the task cancelled state when using calltarget instrumentation (#1634)
  • Add better error handling for the Header Tags feature accessing System.Web.HttpResponse.Headers (#1641)

Build / Test

  • Switch to Nuke consolidated pipeline (#1595, #1587, #1598, #1605)
  • Add a custom test framework to monitor execution of unit tests (#1572)
  • Add analyzer project + ThreadAbortAnlayzer to detect inifinte loops on ThreadAbortException (#1325, #1619)
  • Add ASP.NET Core on IIS Express tests (#1582)
  • Split Windows regression tests and integration tests to save drive space (#1586)
  • CIApp - Add support to add custom env-vars from dd-trace wrapper (#1594)
  • Make the benchmark step optional (#1608)
  • Add GitHub workflows for automating Release creation (#1611)
  • Fix ARM64 Integration tests (#1629)
  • Exclude more vendored files from code coverage (#1632)
  • Add additional scrubbing for stacktraces in snapshots (#1633)
  • Fix throughput tests (#1650, #1618, #1617)

Changes since 1.28.0

1.28.1-prerelease

14 Jul 14:24
0bfc12b
Compare
Choose a tag to compare
1.28.1-prerelease Pre-release
Pre-release

Changes

  • Add a public ForceFlushAsync API on the Tracer (#1599)
  • CIApp: Update Bitrise spec (#1593)

Fixes

Build / Test

  • Switch to Nuke consolidated pipeline (#1595, #1587, #1598)
  • Add a custom test framework to monitor execution of unit tests (#1572)

Changes since 1.28.0

1.28.0

12 Jul 15:44
Compare
Choose a tag to compare

Changes

  • Enable calltarget instrumentation by default on .NET 4.6+ runtimes (#1542)
  • Add automatic instrumentation for Microsoft.Data.SqlClient 3.* only for calltarget instrumentation (#1579)
  • Add automatic instrumentation for Cosmos Db only for calltarget instrumentation (#1473)
  • Add automatic instrumentation for AWS SQS only for calltarget instrumentation (#1471)
  • Improvements to the ducktyping library for the future ILogger integration (#1555, #1557, #1561)
  • Reduce overhead of log injection when using older versions of Serilog (#1560)
  • Upgrade spdlog to 1.4 (#1507)
  • Add net5.0 support to dd-trace (#1516)
  • Avoid the trace copy when flushing spans (#1502)
  • Improvements to CIApp (#1503, #1533, #1554)

Fixes

  • Fix a deadlock when enabling runtime metrics in a Windows service (#1564)
  • Properly match runtime metrics to spans when running in a container (#1548)
  • Fix log injection with Serilog when log4net is loaded (#1578)
  • Fixes environment values in the logs on non windows platforms (#1581)
  • Stability fixes for calltarget instrumentation when running with older runtimes (#1517)
  • Fix possible race conditions when flushing spans during process exit (#1501, #1514, #1535)
  • Remove unnecessary mscorlib reference (#1522)
  • CIApp: Correctness and stability fixes. (#1504)

Build / Test

  • Remove callsite benchmarks and set iteration time back to 2 seconds (#1511)
  • Add a consolidated build pipeline based on Nuke (#1476, #1508, #1512, #1515, #1521, #1523, #1524, #1531, #1563, #1567, #1570, #1576, #1589)
  • Fix flaky tests (#1526, #1566, #1573, #1585)
  • Hide warnings for EOL .NET Core targets (#1569)
  • Reduce dependencies between build tools and helper projects (#1568)
  • Fix "PrepareRelease msi" command (#1583)
  • Small ASP.NET Snapshot refactoring (#1580)
  • Change clang-format to custom style (#1553, #1544)
  • Add small CI fix and docker optimization (#1551)
  • Upgrade non windows native builds to C++17 (#1543)
  • Fix Enable32Bit flag for IIS container (#1536)
  • Add an OWIN test application to the integration-tests pipeline (#1525)
  • Downgrade the version of cmake used for MacOs builds (#1529)
  • Delete project NugetProfilerVersionMismatch (#1520)
  • Crank sample app profiler detector (#1518)
  • Fix race condition in runner pipeline (#1510)
  • Cleanup project files (#1499)

Changes since 1.27.1

1.27.1

16 Jun 21:37
377dc7a
Compare
Choose a tag to compare

Fixes

  • Fix possible crash condition in .NET Framework 4.5, 4.5.1, and 4.5.2 (#1528, #1539)

Build

  • Update build pipelines to run in release/* and hotfix/* branches where appropriate (#1545, #1546)

Changes since 1.27.0

1.27.0

02 Jun 09:30
c8dc636
Compare
Choose a tag to compare

Changes

  • Add Linux ARM64 support (auto instrumentation supported on .NET 5 Only) (#1449)
  • Add MSMQ automatic instrumentation integration (Only enabled for CallTarget instrumentation) (#1463)
  • Add Confluent.Kafka automatic instrumentation integration (Only enabled for CallTarget instrumentation) (#1444, #1492)
  • Exclude well-known URLs from tracing to avoid multiple top level spans in AAS (#1447)
  • Optimize log injection with NLog and log4net (#1475, #1489)
  • _dd.origin tag improvements for CIApp (#1481)
  • Cache MessagePack Span tag keys in UTF-8 (#1482)
  • Add [DuckInclude] attribute (#1487)

Fixes

  • Handle exceptions in async integrations in CallTarget (#1458)
  • Fix Call opcode in DuckTyping on struct targets (#1469)
  • Refactor DisposeWithException invocations to remove null conditional operator (#1493)
  • Add runtime-id tag to metrics to improve Fargate support (#1496)
  • Remove the static collection in the HTTP module (#1498)

Build / Test

  • Remove stale AAS tests (#1466, #1467)
  • Add Windows container sample (#1472)
  • Add tests for IIS classic mode (#1462)
  • Add CIApp test framework integrations test suite (#1317)
  • Add and enforce copyright headers (#1445, #1485)
  • Clean up project files (#1464, #1468)
  • Add GH Action to auto-create benchmark branch (#1483)
  • Add throughput test for ARM64 (#1490)
  • Convert ASP.NET tests to use Snapshot Testing with VerifyTests/Verify
  • Fix .vcxproj file for latest msbuild version (#1495)
  • Remove a few benchmarks to make the pipeline faster (#1497)
  • Increase crank duration to 4 minutes (#1505)

Changes since 1.26.3

1.26.3

11 May 15:50
9e445f9
Compare
Choose a tag to compare

⚠ Note: With this release, TracingHttpModule is automatically loaded into ASP.NET applications. If you were adding it manually from your web.config file, make sure to remove the relevant part.

Fixes

  • Fix crash in the ASP.NET integration when running in IIS in classic mode (#1459)
  • Fixes dynamically emitted methods signatures (#1455, fixes #1232)

Build / Test

  • Add benchmarks for log4net and nlog (#1453)
  • Update CoreCLR headers from dotnet/runtime v5.0.5 tag (#1451)
  • Adds the FeatureTracking tool and CIApp implementation (#1268)

Changes since 1.26.2

1.26.2

10 May 16:11
9d9bb06
Compare
Choose a tag to compare

⛔ Due to an application-breaking bug, do NOT install this version if you run IIS in classic mode. This issue is fixed in version 1.26.3. Users of IIS in integrated mode are not affected.

⚠ Note: With this release, TracingHttpModule is automatically loaded into ASP.NET applications. If you were adding it manually from your web.config file, make sure to remove the relevant part.

Changes

  • Reduce overhead when using log injection (DD_LOGS_INJECTION) with Serilog (#1435, #1450)
  • Use the profiler API instead of the IIS configuration to register the ASP.NET integration in TracingHttpModule (#1280)
  • Various optimizations (#1420, #1425, #1434, #1437, #1448)
  • Allow calltarget instrumentation of nested classes (#1409)
  • Add debug logs to help diagnose partial flush issues (#1432)
  • Add execution time logs for native callbacks (#1426)
  • Upgrade LibLog to 5.0.8 (#1396)

Fixes

  • Remove obsolete "Using eager agent writer" warning at startup (#1441)
  • Fix wrong service name when a DbCommand implementation is named "Command" (#1430, fixes #1282)

Build / Test

  • Run calltarget integration tests only with inlining (#1439, #1452)
  • Clean up the PrepareRelease tool (#1442)
  • Stop using external domains in integration tests (#1438)
  • Prevent dependabot from opening PR's against the Microsoft.Build.Framework NuGet package (#1427)
  • Remove useless dependency from benchmark project (#1428)
  • Fix a build issue with the MSI (#1423)

Changes since 1.26.1

1.26.1

23 Apr 12:59
76fb62f
Compare
Choose a tag to compare

⛔ Due to an application-breaking bug, do NOT install this version if you run IIS in classic mode. This issue is fixed in version 1.26.3. Users of IIS in integrated mode are not affected.

Changes

  • Serialize tags/metrics in a single pass to improve performance (#1416)
  • Add Ducktype reverse proxy for implementing interfaces indirectly (#1402)

Fixes

  • Don't throw or log exceptions in TryDuckCast methods (#1422)
  • Fix git parser on really big pack files (>2GB) in CIApp (#1413)

Build / Test

  • Reinstate the consolidated multi-stage build pipeline (#1363)
  • Enable endpoint routing in AspNetCore benchmark (#1418)
  • Re-enable AspNet integration tests in CI (#1414)
  • Update NuGet packages in integration tests, under existing instrumentation version ranges (#1412)

Changes since 1.26.0