Skip to content

Releases: DataDog/dd-trace-dotnet

2.0.0-prerelease

10 Dec 18:16
374d2eb
Compare
Choose a tag to compare
2.0.0-prerelease Pre-release
Pre-release

Highlights

  • .NET 6 support added
  • .NET Framework versions <4.6.1 are no longer supported
  • ASP.NET and ASP.NET Core resource names have been standardized to use controller/action and routes wherever possible
    • ⚠️ This will change endpoints in the Datadog app
  • New integrations
    • Couchbase
    • Postgres v6
  • Public API changes
    • Datadog.Trace.Tracer is now a singleton and its settings can be updated with Tracer.Configure
    • Datadog.Trace.Tracer implements ITracer for use in DI
    • Replace usages of Scope/Span classes with IScope/ISpan classes

Changes

  • Resolver and Formatter improvements for domain-neutral scenarios. (#1500)
  • Remove unused throughput test (#1802)
  • Couchbase instrumentation (#1925)
  • [2.0] Add ImmutableTracerSettings (#1951)
  • [2.0] Remove obsolete APIs (#1952)
  • [2.0] Drop support for .NET < 4.6.1 (#1957)
  • [2.0] - Remove CallSite instrumentation (#1958)
  • [2.0] Update default value of DD_TRACE_ROUTE_TEMPLATE_RESOURCE_NAMES_ENABLED to true (#1961)
  • [2.0] - Native stats fixes (#1967)
  • [2.0] Make various APIs internal (#1968)
  • [2.0] - Adds a simple agent port checker on CI Visibility scenarios. (#1972)
  • [2.0] Mark deprecated settings obsolete (#1974)
  • [2.0] Cleanup old factory method and tests (#1980)
  • fold IntegrationIds.ElasticsearchNet5 into ElasticsearchNet (#1983)
  • [2.0] - Remove unnecessary copies from native side. (#1989)
  • [2.0] Handle multiple tracer instances gracefully (#1990)
  • Improves DomainMetadata class (#2003)
  • [2.0] Split integration id AdoNet into individual ids per db type (#2008)
  • [2.0] Rename ReplaceGlobalSettings() -> Configure() (#2023)
  • [2.0] Various small DiagnosticObserver optimisations (#2024)
  • [2.0] Use buster-based debian for building (#2032)
  • Update CI App specs (#2035)
  • Profiler uses environment variables instead of current module for pinvoke generation (#2042)
  • Remove dependency from the shared project to main project (#2043)
  • [2.0] - Detect current module at runtime and use it for PInvoke rewriting (#2044)
  • [2.0] Relax duck type visibility requirements (#2045)
  • [2.0] Simplify IntegrationSettingsCollection (#2048)
  • [AppSec] Waf fixes: reading register for waf and unit tests for alpine (#2060)
  • Restoring Couchbase instrumentation (#2064)
  • Remove the newline between the log message and properties (#2070)
  • Update supported ADO.NET versions (#2077)
  • Remove CIApp Feature Tracking (#2088)
  • Change the public API to only use ISpan / IScope (#2090)
  • CallTarget ByRef (#2092)
  • Add a pointer to the "Performance Counters and In-Process Side-By-Side Applications" doc (#2093)
  • Add space in log line (#2094)
  • Add helper for collecting host metadata (#2097)
  • Change the CallTargetReturn struct to a ref struct (#2103)
  • [CIApp] - MsTest 2.2.8 integration. (#2107)
  • Bump supported version of NUnit3TestAdapter (#2118)
  • [AppSec] Fix tag prefix bug (#2123)
  • Add a big fat warning in NativeCallTargetDefinition file (#2126)
  • Use the non truncated UserAgent property in .netfx webapi (#2128)
  • Update ITracer interface (#2131)
  • Add space before exception message (#2133)
  • Make Span internal (#2134)
  • Improve performance of AutomaticTracer (#2135)
  • Log additional information about the AssemblyLoadContext (#2136)
  • Reinstate Integration.AdoNet integration (#2137)
  • DBScopeFactory improvements. (#2138)
  • Use PathBase.ToUriComponent in AspNetCoreDiagnosticObserver (#2141)
  • Adds feature flag to disable integration version checks. (#2147)

Fixes

  • [2.0] Additional cleanup from CallSite removal (#1966)
  • [2.0] - Refactor Integration struct, and remove unused code. (#1969)
  • [2.0] - Remove unused files (#1985)
  • [2.0] Cleanup some more obsolete usages (#1997)
  • Remove SpanId argument from StartActiveWithTags (#2017)
  • [2.0] Minor restructuring of logging files (#2040)
  • [2.0] Add modified WCF CallTarget instrumentation via opt-in environment variable (#2041)
  • Fix a couple of obsolete API usages (#2056)
  • [2.0] remove leftover references to integrations.json and DD_INTEGRATIONS (#2073)
  • [2.0] remove unused class MethodBuilder and test references (#2074)
  • Fix disabled integrations log message (#2078)
  • CallTarget ByRef: Fix ByRef Generics arguments (#2099)
  • Fix host metadata kernel information (#2104)
  • Fix benchmarks comparison (#2130)

Build / Test

  • [2.0] Add support for .NET 6 (#1885)
  • [2.0] Update GitLab build to use .NET 6 SDK (#2010)
  • [2.0] Fix ASP.NET Core tests + snapshots (#2012)
  • [2.0] Add .NET 6 WebApplicationBuilder tests (#2016)
  • Don't push artifacts to AWS/Azure unless on main/master (#2018)
  • [2.0] Add Linux installer smoke tests (#2036)
  • Switch to using curl to send AzDo build GitHub status (#2049)
  • Try switch dependabot generation to use pull_request_target (#2055)
  • Don't throw in AgentWriterBenchmark (#2057)
  • Allow running ITests locally on Mac (#2063)
  • [Test Package Versions Bump] Updating package versions (#2072)
  • Implementation of Exploration Tests (#2089)
  • Redesign package version generator to allow more granular control (#2091)
  • Fix flaky test in unit tests (#2106)
  • Centralize Mock Trace Agent Initialization (#2114)
  • Update dependabot/Nuke targets (#2117)
  • Fix asp snapshots file names (#2148)

Changes since 1.31.0

1.31.0

02 Dec 10:12
f0a9b53
Compare
Choose a tag to compare

Changes

  • [AppSec] Report attacks by the _dd.appsec.triggers tag (#1923)
  • [AppSec] Change waf initialization to have better logging (#2068)
  • [AppSec] Upgrade WAF rule set (#2086)
  • [Appsec] Fix duplicate key in cookies when building waf args (#2098)

Fixes

  • Remove insertion of blocking middleware (#2011)

Changes since 1.30.1

1.30.1

24 Nov 11:53
e62f76f
Compare
Choose a tag to compare

Fixes

  • [AppSec] Waf fixes: reading register for waf and unit tests for alpine (#2074)
  • Revert "Add modified WCF CallTarget instrumentation via opt-in environment variable" (#2081)

Changes since 1.30.0

1.30.0

16 Nov 12:54
1b75be0
Compare
Choose a tag to compare

⛔ Due to a possible crash situation when mixing version 1.30.0 with other versions, we recommend upgrading to 1.30.1 which fixes the issue.

Changes

  • Make vuln app database samples path work cross OS (#1824)
  • Add the standardizes logs for AppSec (#1894)
  • Refactor reverse duck-typing and add negative tests (#1900)
  • Additional updates for the joint MSI (#1915)
  • Correct _dd.appsec.enabled (#1918)
  • Refactor ModuleMetadata handling to reduce memory allocations (#1931)
  • [Appsec] Send events in utf 8 without byte marker (#1932)
  • Use UserKeep(2)/UserReject(-1) in the rules-based sampler (#1937)
  • Add AssemblyLoadContext to logs for netcoreapp assembly builds (#1977)
  • Update tests and CI App environment variable parser fixes. (#1995)
  • Cherry-pick/backport to master (#1996)
  • [AppSec] Update waf version to 1.14 (#1998)
  • Use sensible default service name in AAS (Functions & WebApps) (#2007)

Fixes

  • Shared Managed Loader delays loading assemblies until AD has initialized. (#1916)
  • Fix typo in comments (#1928)
  • Escape http.url tag in AspNetCore spans (#1938)
  • Properly set sampling priority when using GetRequestStream (#1947)
  • Fix issue with WAF with x86 on x64 (#1984)
  • Add modified WCF CallTarget instrumentation via opt-in environment variable (#1992)
  • Stop writing warning to log about ServiceFabric if we're not running in ServiceFabric (#1999)

Build / Test

  • Add test application for MySqlConnector nuget package (#1863)
  • Build a beta MSI that contains multiple .NET products (#1870)
  • Don't use ITestOutputHelper after test has finished (#1877)
  • Improve testing for Aerospike (#1889)
  • Upgrade to Alpine 3.14 (#1899)
  • Remove the "comprehensive" testing suite (#1907)
  • Clean the workspace before building on ARM64 (#1908)
  • Create version.txt (#1917)
  • Update Datadog.Trace to 1.19.1 in regression test (#1919)
  • Don't downgrade cmake on OSX (#1920)
  • Include the package version in all the MySqlConnector tests (#1921)
  • Modify the GitLab CI to build and sign the multi-product MSI (#1924)
  • Give some time for the aspnetcore process to exit in AppSec tests (#1926)
  • Use GitHub API to hide old code coverage/benchmark reports when adding a new one (#1927)
  • Run log injection tests on linux (#1929)
  • Update dependabot PRs (#1930)
  • Small build fixes (#1936)
  • Add a "LatestMajors" option for testing all major package versions (#1939)
  • Add system tests into CI (#1942)
  • Fix GitHub Actions workflows (#1946)
  • Fix condition in Datadog.Trace.proj breaking the build on master (#1950)
  • "Update test package versions" PR has to run UpdateIntegrationsJson (#1954)
  • Treat release/ branches as the "main" branch (#1963)
  • Use anyCPU on Mac as well for target: CompileRegressionDependencyLibs (#1994)
  • Don't push artifacts to AWS/Azure unless on main/master (#2019)

Changes since 1.29.0

1.29.1-prerelease

28 Oct 12:53
81aa2a3
Compare
Choose a tag to compare
1.29.1-prerelease Pre-release
Pre-release

Fixes

  • [Appsec] Send events in utf 8 without byte marker (#1932)

Changes since 1.29.0

1.29.0

15 Oct 23:28
6ffe180
Compare
Choose a tag to compare

Changes

  • [AppSec] Send ip addresses headers to the backend (#1764)
  • CI Visibility Mode v1 (#1795)
  • Add PInvoke Map rewriting in all platforms to support native library renaming (#1809)
  • Ensure exceptions are added during ASP.NET Web API 2 message handler exceptions (CallSite instrumentation) (#1817)
  • [CIVisibility] Add Test Framework version to test spans (#1828)
  • Add lookup for LocalRootSpanId property and tests for SpanId and LocalRootSpanId. (#1839)
  • Add LifetimeManager for handling shutdown events (#1841)
  • Report attack when response has ended (#1847)
  • [CIVisibility] Update CI namespace types (#1864)
  • Add tags for App Sec (#1869)
  • Cleanup startup logs (#1890)
  • Reduce the number of times we call the WAF (#1901)

Fixes

  • Fix serialization issue with log4net when logs injection is enabled (#1710)
  • Skip WriteTrace call when no there's no spans and improve filtering (#1843)
  • Fix bug logging response even if successful (#1874)
  • [AppSec] Fix appsec event tag value (#1898)

Build / Test

  • Generate Dependabot File for Integrations (#1754)
  • Scan integration test logs for errors (#1776)
  • Post benchmark result comparison as a comment to the PR (#1811)
  • Small build improvements (#1813)
  • Dont test all integration package versions on every PR (#1818)
  • Parallelise Windows integration tests by framework (#1819)
  • Change more timeouts in MassTransit (#1829)
  • Add a sleep to CallTargetNativeTests to minimize risks of segfaults on 2.1 (#1830)
  • Fix path in gitlab.bat after repository move (#1832)
  • Enable static analysis for ConfigureAwait (#1833)
  • Update Gitlab build image to use 5.0.401 SDK (#1834)
  • Skip segmentation faults in .NET Core 2.1 tests (#1835)
  • Fix transient error in aspnetcore tests (#1836)
  • Use temporary folder for NServiceBus storage (#1840)
  • Add a separate performance pipeline for running Performance tests (#1842)
  • Additional updates to launchSettings.json for test applications (#1848)
  • Fix performance pipeline (#1851)
  • Use Xunit.SkippableFact for inconclusive tests (#1858)
  • Update test package versions (#1862)
  • Add more information to aerospike tags (#1865)
  • Kill the old Samples.Shared project (#1867)
  • Delete performance pipeline, and manually update GitHub statuses (#1868)
  • Initialize LocalDB ahead of time in the CI (#1873)
  • Handle the expected segfault in smoke tests (#1878)
  • Fix errors in the CI when the startup log thread gets aborted (#1879)
  • Test the tracer works with F# web framework 'Giraffe' (#1888)
  • Add sanity check for _OR_GREATER compiler directives (#1895)
  • Skip Pipeline for Dependabot Lures (#1905)

Changes since 1.28.8

1.28.8

29 Sep 08:04
ed0e465
Compare
Choose a tag to compare

Changes

  • Adds automatic instrumentation for GraphQL 3 and 4 (#1751)
  • Adds automatic instrumentation for Elasticsearch 7 (#1760, #1821)
  • Adds initial beta Azure Functions automatic instrumentation (#1613)
  • Remove CallTarget Integrations from json file. Integrations are now loaded directly from the dll. (#1693, #1780, #1771)
  • Add exceptions to active span during ASP.NET Web API 2 message handler exception (#1734 #1772)
  • Refactor ILogger integration (#1740, #1798, #1770)
  • Refactor repository folder locations (#1748, #1762, #1762, #1806, #1759, #1810)
  • Updates to the shared native loader (#1755, #1825, #1826, #1815, #1729)
  • AppSec updates (#1757, #1758, #1768, #1777, #1778, #1796)
  • Improve DuckType generic methods support (#1733)
  • Rename ADO.NET providers integration names (cosmetic change) (#1781)
  • Enable shared logger for managed log file (#1788)
  • Remove unused ISpan/IScope (#1746, #1749)

Fixes

  • Restore Tracer.ActiveScope in ASP.NET when request switches to a different thread (#1783)
  • Fix duplicating integrations due to multiple Initialize calls from different AppDomains. (#1794)
  • Fix reference to mscorlib causing failures with reflection (#1797)
  • Propagate sampling priority to all spans during partial flush (#1803)
  • JITInline callback refactor to fix race condition. (#1823)

Build / Test

  • Update .NET SDK to 5.0.401 (#1782)
  • Improvements to build process and automations (#1812, #1704, #1773, #1792, #1793, #1799, #1801, #1808, #1814)
  • Disable memory dumps in CI (#1822)
  • Fix compilation directive for NET5.0 (#1731)
  • Restore the original env-var value before asserting. (#1816)
  • Catch object disposed exception in Samples.HttpMessageHandler (#1774)
  • Add minimal test applications that use service bus libraries (#1690)
  • Synchronously wait for tasks in HttpClient sample (#1703)
  • Update test spans from Crank runs (#1592)
  • Update code owners (#1750, #1785)
  • Exclude liblog from code coverage by filepath (#1753)
  • Move tracer snapshots to /tracer/test/snapshots directory (#1766)
  • Increase timeout in MassTransit smoke tests (#1779)
  • Fix CIEnvironmentVariable test (#1765)

Changes since 1.28.7

1.28.7

14 Sep 16:26
a4176bf
Compare
Choose a tag to compare

Fixes

  • Update AppSec native library version (#1768)

Changes since 1.28.6

1.28.6

08 Sep 09:20
c926ae1
Compare
Choose a tag to compare

Changes

  • Add automatic instrumentation support for Aerospike.Client (#1717)
  • Add automatic instrumentation for Begin/EndGetResponse to WebRequest (#1658)
  • Add logs injection support for Microsoft.Extensions.Logging (ILogger) (#1663)
  • Produce new Datadog.Monitoring.Distribution NuGet package (#1661, #1720, #1728)
  • Reduce native memory consumption (#1723)
  • Remove usage of non-builtin types in Attribute named arguments (#1601)
  • Add tracer metrics setting to startup logs (#1689)
  • Merge auto-instrumentation code into Datadog.Trace.dll (#1443)
  • Adds Datadog.AutoInstrumentation.NativeLoader (#1577)
  • Adds the v0 version of App Sec (#1647, #1732, #1742, #1686, #1692, #1695, #1744)
  • Read performance counter values from environment variables in AAS (#1651)
  • Improve error handling for performance counters (#1652)
  • 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

  • Updates to code coverage (#1699)
  • Adding appsec crank scenarios (#1684, #1739)
  • Fixes for various flaky tests (#1713, #1715, #1718, #1719, #1722
  • Package windows native symbols in a separate archive (#1727)
  • Updates to shared loader build (#1694, #1697, #1724, #1725, #1735, #1736)
  • Don't trigger Tracer-specific CI for changes to shared assets not used by the Tracer (#1701)
  • Add end-to-end integration tests for logs injection (#1637)
  • Adds Execution time benchmarks (#1687)
  • Add fix for Samples.MultiDomainHost.App.NuGetHttpWithRedirects test application (#1691)
  • Reduce snapshot file path length (#1696, #1657)

Build / Test

  • Replace "minimal" solution with a solution filter (#1631)
  • Add support for a temporary NGEN pipeline (#1642)
  • Small build improvements (#1646, #1653, #1655)
  • Update GitHub action release workflows (#1659)
  • Fixes crank pipeline on PR merge commits. (#1669)
  • Disable CallSite scenario from Throughput tests. (#1674, #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.4

1.28.5-prerelease

30 Aug 22:23
6fa91cb
Compare
Choose a tag to compare
1.28.5-prerelease Pre-release
Pre-release

Changes

  • Remove usage of non-builtin types in Attribute named arguments (#1601)
  • Add Microsoft.Extensions.Logging.ILogger instrumentation (#1663)
  • Adding appsec crank scenarios (#1684)
  • Proxy calls to dl (#1686)
  • Add tracer metrics to startup logs (#1689)
  • New version of the WAF (#1692)
  • Merging repos: 'dd-shared-components-dotnet' into 'dd-trace-dotnet'. (#1694)
  • Sending more relevant data to backend (#1695)
  • Prepare the /shared folder for consumption by the Profiler. (#1697)
  • Don't cache the Process instance for runtime metrics (#1698)
  • Use AppDomain.CurrentDomain.BaseDirectory instead of Environment.CurrentDirectory when searching for configuration file (#1700)
  • Don't trigger Tracer-specific CI for changes to shared assets not used by the Tracer (#1701)

Fixes

  • Fix possible deadlock by preserving the synchronization context where needed (#1702)

Build / Test

  • Add end-to-end integration tests for logs injection (#1637)
  • Produce NuGet package to deploy automatic instrumentation (#1661)
  • Adds Execution time benchmarks (#1687)
  • Add fix for Samples.MultiDomainHost.App.NuGetHttpWithRedirects test application (#1691)
  • Reduce snapshot file path length (#1696)

Changes since 1.28.3-prerelease