Releases: DataDog/dd-trace-dotnet
1.28.4
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 ofEnvironment.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)
1.28.3-prerelease
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)
1.28.2
⛔ 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)
1.28.1-prerelease
1.28.0
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)
1.27.1
1.27.0
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)
1.26.3
⚠ 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
1.26.2
⛔ 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)
1.26.1
⛔ 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)