Changes
- Update HttpMessageHandler, WebRequest, and AdoNet integrations to run on .NET 5 (#995)
- Note: If you upgrade your application to .NET 5 please upgrade to this version of the .NET Tracer so you do not encounter missing automatic instrumentation spans
- Add a new dd-trace dotnet cli tool to easily run .NET Core applications with automatic instrumentation enabled (#962)
- Remove external dependency on Sigil library (#993)
- Ensure the CLR profiler only loads on .NET Framework 4.5 or later by using the ICorProfilerInfo4 profiling interface (#967)
- Detect the presence of .NET 4.6.1 during the Windows MSI installation so .NET 4.6.1 assets can be installed in the GAC (#964)
- Add an error message on web server spans when the http status code is 5xx (#992)
- Use HttpClient to send traces on netcoreapp target (#974)
- Add a Datadog.Trace.DuckTyping internal library to enable strongly-typed proxy objects when writing integration methods that may not have a direct assembly reference to third-party libraries (#946, #987, #975, #990)
Fixes
- Fix missing IIS traces in 1.19.5 (#1010)
- Fix
System.IO.FileLoadException: Could not load file or assembly 'Datadog.Trace, Version=1.X.X.X Culture=neutral, PublicKeyToken=def86d061d0d2eeb'when 1) combining manual and automatic instrumentation on .NET Core and 2) using a newer version of the Windows MSI or Linux .NET Tracer package than the NuGet package (#999) - Fix internal DogstatsD usage to remove non-thread-safe usage (#989)
- Do not apply span rate limiting when not using Tracing Without Limits (#963)
- Prevent null reference exceptions when setting special span tags (#977)
Performance Improvements
- Optimize instrumentation tags for automatic instrumentation (#945, #980, #996)
- Avoid string allocation for retrieving http status codes (#979)
- Add a helper for empty arrays (#991)
- Remove uses of string.Join for simple concatenation (#981)
Docs
- Add a manual tracing example for the RabbitMQ library (#944)
Build / Test
- Run integration tests on .NET 5 (#995)
- Restructure repository directories for clearer organization (#973, #994)
- Split Windows smoke tests into separate jobs (#920)
- Fix Redis keys in tests (#978)
- Add PropertyFetcher tests for reference types and value types (#982)
- Increase benchmarks iteration time to reduce noise (#970)
- Delete unused Samples.Elasticsearch.MultipleAppDomains test application (#971)
- Fix IIS Express fixture in Datadog.Trace.ClrProfiler.IntegrationTests (#966)
- Fix CI setup_tracer script on linux to correctly consume prerelease versions (#988)