Releases: DataDog/dd-trace-dotnet
Releases · DataDog/dd-trace-dotnet
2.0.0-prerelease
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 withTracer.Configure
Datadog.Trace.Tracer
implementsITracer
for use in DI- Replace usages of
Scope
/Span
classes withIScope
/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
intoElasticsearchNet
(#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
andDD_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)
1.31.0
1.30.1
1.30.0
⛔ 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)
1.29.1-prerelease
1.29.0
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 forSpanId
andLocalRootSpanId
. (#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)
1.28.8
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)
1.28.7
1.28.6
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)
1.28.5-prerelease
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 ofEnvironment.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)