Skip to content

Releases: DataDog/dd-trace-dotnet

2.6.0

07 Apr 09:11
95f5448
Compare
Choose a tag to compare

Summary

This version mainly brings:

  • Tracing for Grpc.AspNetCore.Server, Grpc.Net.Client and Grpc.Core. More information in the public doc
  • Correlation between Live Process and APM (#2544)

Tracer

  • Remove Duplicate Content-Type (#2492)
  • Add support for Grpc.AspNetCore.Server and Grpc.Net.Client (#2535)
  • add process_id tag to root span during serialization (#2544)
  • Add support for Grpc.Core (#2545)
  • Add timeouts to remote requests (#2572)
  • Do not load the tracer when loading NInject temporary appdomain (#2600)
  • Add additional diagnostic for Tags source generator (#2610)
  • Fix DD_TRACE_METHODS issue with manual-automatic version mismatch (#2621)
  • [Log Submission] Fallback to using GlobalTags for direct log submission (#2636)
  • Fix tag concatenation for direct log submission (#2642)

CI App

  • [CIAPP] - CODEOWNERS support (#2596)
  • [CIApp] - Update payload metadata format to latest spec (#2603)
  • Add null checks and remove the possibility to do wrong type casting (#2609)
  • [CIApp] - Implement specific CLI Run CI Settings and Descriptions (#2625)
  • [CiApp] Fix null environment variable in payload (#2640)

AppSec

  • [Appsec] Scanning request body by the waf (#2495)
  • Fix log message (#2623)
  • Update WAF rules to 1.2.7 (#2641)

Continuous Profiler

  • [Profiler] Use smart_pointer to manage services lifetime (#2570)
  • [Profiler] Implement Code Hotspot in the profiler (#2588)
  • [Profiler] Fix profiler build (#2619)
  • Rework the Native Logging API for shared code (#2620)

Serverless

  • [Serverless] Send lambda response payloads (#2608)
  • [Serverless] Merge two serverless debug lines into one (#2637)

Fixes

  • NGEN - Refactor rejit handler to remove inliners on module unload. (#2602)
  • [CLI] Correctly handle end of stream in ProcessMemoryStream (#2616)

Build / Test

  • Add Tracer testing and more repos to exploration tests (#2308)
  • Remove direct Datadog.Trace assembly references in integration tests (#2586)
  • [Release] Remove Tracer MSI and Improve release notes categorization (#2607)
  • Start allowing patch versions on master (#2613)
  • Improve source generator verification (#2614)
  • Allow setting force_run_exploration_tests_isTracerChanged variables (#2615)
  • Upload snapshots directory as an artifact (#2618)
  • [Profiler] Use Monitoring-home package in Profiler Rel.Env. (#2622)
  • [Release] Add profiler files to version bump (#2630)
  • [Release] Upload the windows-tracer-home file from GitLab (#2631)
  • Reorder Trace Annotation tests to reduce flakiness (#2633)
  • Fix issue where PdbReaderTests fail when running locally but pass in CI (#2646)

Changes since 2.5.1

2.5.1

25 Mar 19:30
d0b92ed
Compare
Choose a tag to compare

Summary

  • From now on, Datadog Continuous Profiler is released within the MSI on Windows. It is deactivated by default. Set the environment variable DD_PROFILING_ENABLED=1 to enable it.
  • You can now instrument methods through configuration thanks to the DD_TRACE_METHODS variable. Public documentation change is in progress (Install 2.6.0 instead if you want to test this feature as we have fixed one issue when using different versions between Custom and Automatic instrumentation).
  • Finally, the release also brings support for B3 and W3C headers (#2536).

Tracer

Changes

  • Add clarification to automatic instrumentation docs (#2473)
  • Add ExpandRouteTemplatesEnabled setting for ASP.NET Core (#2496)
  • stop propagating x-datadog-tags header (#2507)
  • Add ASP.NET support for DD_TRACE_EXPAND_ROUTE_TEMPLATES_ENABLED (#2517)
  • If the int status code is not valid, don't set it (#2529)
  • Managed loader cache (#2533)
  • SpanContextPropagator refactor (#2536)
  • Instrument custom methods through configuration (DD_TRACE_METHODS) (#2543)
  • Add DD_TRACE_RATE_LIMIT parameter (#2557)
  • Add small amount of Debug logs for runtime metrics submission (#2582)
  • Refactor all sync over async disposals (#2583)
  • Adds Timeout support to RequestFactories Http implementations. (#2548)

Fixes

  • handle language tag during serialization and add to manual spans (#2542)
  • Add missing volatile in Tracer creation (#2508)
  • Adds missing using statement and fix telemetry deadlock (#2574)
  • Fix error in HttpWebRequest timeout value. (#2581)

CLI Tool

  • Make ProcessEnvironmentWindows more robust (#2499)
  • Add checks for the profiler path in the CLI (#2482)
  • Update the CLI tests to use the new EnvironmentHelper methods (#2528)
  • CLI checks: consolidate IIS output messages when listing sites/apps (#2532)
  • Fix CLI tool failing process checks when using Native Loader (#2551)
  • Increase the retry delay in ProcessEnvironmentWindows (#2577)

CI App

  • [CI App] - Agentless Writer (#2402)
  • [CIApp] - Add support for XUnit LogsDirectSubmission (#2531)
  • [CI-App] Adds test.bundle tag (#2561)
  • [CIApp] - Protect foreground thread with a timeout to avoid blocking process shutdown (#2564)
  • [CIApp] - Fixes some agentless tags (#2575)
  • [CIApp] - Small improvements. (#2584)
  • [CIApp] - Add agentless url configuration key (#2589)

AppSec

  • Remove some CI appsec tests since blocking is not supported yet (#2505)
  • Increase WAF timeout in tests (#2512)
  • [Appsec] Update rules file (#2516)
  • [AppSec] Support postfix time format for WAF timeout (#2519)
  • [AppSec] small fix: don't log a warning if no waf timeout has been specified (#2576)

Continuous Profiler

  • Reverse to protobuf 3.7.0 to avoid unexpected new dependency (System.Memory.dll) (#2513)
  • [Profiler] Implement new pipeline to generate .pprof via libddprof (#2524)
  • [Profiler] Backport feature: send heartbeat metric on each export (#2565)
  • [Profiler] Prevent additional/useless copies in logging wrappers (#2585)
  • [Tracer] Implement Code Hotspot feature (#2587)
  • Fix warnings (#2518)
  • [Profiler] Use managed code to generate pprof file (#2540)

Shared

  • Allow sharing runtime ids between Tracer and Profiler (and other) (#2474)
  • Ensure the native loader works with 3rd party dispatcher (e.g.: Contrast) (#2478)
  • Add better handling of nullable type chaining (#2424)
  • Shared Loader - Add support for more rewriting points (#2487)
  • Add proper spdlog-based logging to NativeLoader (#2489)
  • [Cleanup] Move shared classes/files to shared and ensure Profiler, Tracer and Native Loader use them (#2493)
  • [Shared Loader] - Fix variable name (#2504)
  • [All] Use custom std::filesystem implementation for Linux (#2527)
  • Add basic PDB reading capability (and vendor-in dnlib) (#2592)
  • Update joint MSI with original .NET Tracer configuration (#2597)
  • Remove manual call to logger shutdown (#2559)

Build / Test

  • Make all integration tests utilize Native Loader instead of loading Datadog.Trace.ClrProfiler.Native directly (#2358)
  • Improve error handling in CLI (#2463)
  • Increase Redis test matrix (#2472)
  • Ignore common test failures (#2477)
  • Fixes for the build related to hotfix releases (#2511)
  • Add artifacts for the standalone tool (#2514)
  • Run profiler pipeline on PRs to hotfix branches (#2522)
  • Allow disabling samples on Alpine, and always running only major versions (#2534)
  • Reduce number of integration tests built and run on master (#2547)
  • Add --overwrite true to Azure upload (#2556)
  • Use Azure VMSS hosted runners (#2560)
  • Allow skipping builds for some packages on ARM64 (#2562)
  • Update test packages and fix MongoDb sample (#2563)
  • Fix Yaml in .gitlab-ci.yml (#2566)
  • Use CustomTestFramework in runner integration tests (#2590)
  • Strengthen GraphQL span expectation to address test flakiness (#2593)
  • CLI - Check for suspicious registry keys in WOW6432Node (#2595)
  • Fix typo in docker-compose.yml that is causing an error to appear in CI (#2475)
  • [Profiler] Add profiler in the automatic version bump process (#2530)
  • [Profiler] Fix build_windows_profiler AzOp step (#2541)
  • [Tracer] Use the native loader for Windows integration tests (#2549)
  • [Profiler] Activate checks in smoke tests for the new pipeline (#2552)
  • Run system tests over UDS (#2571)
  • Improve docs on Linux builds with Docker on Windows (#2523)

Misc

  • Use mermaid for flow chart (#2476)
  • Remove TODO from stylecop.json (#2490)

Changes since 2.4.4

2.4.4

16 Mar 16:50
ec5535d
Compare
Choose a tag to compare

Changes

  • [Appsec] Update rules file (#2516)
  • [AppSec] Support postfix time format for WAF timeout (#2519)
  • [AppSec] small fix: don't log a warning if no waf timeout has been specified (#2576)

Changes since 2.4.3

2.4.3

02 Mar 13:15
7ecab19
Compare
Choose a tag to compare

This release fixes a dependency issue in the .NET Continuous Profiler Beta MSI, which was introduced in 2.4.0. We recommend updating if you are using the continuous profiler, and are currently using versions 2.4.0-2.4.2.

Changes

  • [Profiler] - Revert protobuf version to 3.7.0 (#2513, #2521 )

Changes since 2.4.2

2.4.2

25 Feb 11:48
57bc388
Compare
Choose a tag to compare

⛔ Due to a possible crash situation with the .NET continuous profiler, we recommend upgrading to 2.4.3 which fixes the issue. This only applies if you are using the .NET continuous profiler.

Changes

  • Stop propagating x-datadog-tags header (#2506)

Changes since 2.4.1

2.4.1

24 Feb 17:08
a1358c1
Compare
Choose a tag to compare

⛔ Due to a possible crash situation with the .NET continuous profiler, we recommend upgrading to 2.4.3 which fixes the issue. This only applies if you are using the .NET continuous profiler.

Changes

Add ExpandRouteTemplatesEnabled setting for ASP.NET Core (#2496) (#2500)

Changes since 2.4.0

2.4.0

22 Feb 13:00
4fdd8a8
Compare
Choose a tag to compare

⛔ Due to a possible crash situation with the .NET continuous profiler, we recommend upgrading to 2.4.3 which fixes the issue. This only applies if you are using the .NET continuous profiler.

Changes

  • Add Telemetry (#2241, #2431, #2454, #2410)
  • Support cleaning of filenames in HttpClient + ASP.NET (#2471)
  • Add warning when attempting to use Unix Domain Sockets (UDS) on < .NET Core 3.1 (#2412)
  • Make IntegrationRegistry and DD_LOGS_DIRECT_SUBMISSION_INTEGRATIONS case insensitive (#2447)
  • [CIApp] - Revert ci_library.language tag to language (#2433)
  • [CIApp] - Ensure the Origin tag value on the public SpanContext .ctor (#2434)
  • [Profiler] - Update protobuf version to 3.19.4 (#2443)
  • Refactorings to avoid merge conflicts with the Live Debugger (#2452)
  • Add support for trace-level tags (vertical propagation) (#2432)
  • Updates to CLI command (process checks, IIS checks, version conflict detection) (#2416, #2450, #2448)

Fixes

  • Refactor all EnumNgenModuleMethodsInliningThisMethod call sites to resolve NGEN issues (#2470, #2442)
  • Fix MongoDB integration displaying incorrect query (#2435, #2430)
  • Update the http.status_code on root-level aspnet.request spans after TransferRequest calls (#2419)
  • clean up StartSpan() and StartActive() overloads in Tracer (#2406)
  • Remove unused IApiRequest.PostAsJson() method (#2411)
  • Fix missing http.status_code tag on ASP.NET Core spans with errors (#2458)
  • Always set response header tags in ASP.NET Core (#2480)

Build / Test

  • Improvements in SpanContextPropagatorTests (#2414)
  • Improvements to CI reliability (#2438, #2449, #2451, #2453, #2456, #2457, #2462, #2467, #2468)
  • Add regression tests for running in partial trust environments (#2338)
  • Include ad-hoc integration versions for coverage (#2311)
  • Update README badges (#2418)
  • Trigger deployment to the reliability environment (#2362)
  • Update .vsconfig (#2407)
  • Setup Github Actions for the profiler CI (#2415)
  • Add SampleHelpers.CreateScope (#2427)
  • Update PR template (#2429)
  • Add Auth header to HttpClient that downloads Azure DevOps build artifacts (#2436)
  • New tags useful for throughput testing (#2439)
  • Increase coverage in mongodb integration tests (#2469)
  • Describe the best scenarios to upgrade from v1 to v2 (#2417)
  • Adding more documentation on instrumenting specific methods (#2441)

Changes since 2.3.0

1.31.2

22 Feb 13:00
0cdd91a
Compare
Choose a tag to compare

Changes

  • Support cleaning filenames in http-client + aspnet (#2471)
  • Support child actions in aspnet (#2139)

Fixes

  • Fix missing http.status_code tag on ASP.NET Core spans with errors (#2458)
  • Use the non truncated UserAgent property in .NET Framework WebAPI (#2128)
  • Do not normalize periods in header tags if specified (#2205)

Build / Test

  • Make shared installer part of bumping version process (#2256/#2209)

2.3.0

10 Feb 13:18
903206e
Compare
Choose a tag to compare

Changes

  • Refactor Rejit Handling to support debugger use case (#2250)
  • Add internal "start" api to Tracer/TracerManager (#2330)
  • Implement Agent connectivity checks + add support for Unix Domain Sockets (UDS) (#2337)
  • Check the registry in the CLI (#2403)
  • [AppSec] Upgrade waf to 1.0.17, Support Arm and fix unimportant memory leak (#2357)
  • [AppSec] Configurable timeout for the WAF (#2400)
  • [CIApp] - Adds CI Library Language and Version according to CIApp specs. (#2388)
  • [CIApp] - Change CIEnvironmentValues from static to singleton. (#2389)
  • [Serverless] interact with extension (#2352)
  • [Serverless] add void return type support for AWS Lambda (#2413)

Fixes

  • Remove TraceContext.SamplingPriority setter (#2368)
  • use int internally instead of enum for sampling priority values (#2372)
  • Don't log to Console.WriteLine (#2379)
  • remove unused FormatterResolverWrapper (#2384)
  • [AppSec] Fix incorrect type arguments to AppSec Debug log (#2392)

Build / Test

  • Use SkippableFact in payload tests (#2343)
  • Small fix for environment configuration source tests (#2361)
  • Skip Cosmos tests for now (#2364)
  • Re-use ultimate pipeline on forked repositories (#2373)
  • Add support for ServiceStack.Redis 6.x (#2374)
  • Explicitly allow public reads on objects we upload to S3 from gitlab (#2376)
  • Update FluentAssertions to 6.4.0 (#2386)
  • Fix the benchmark project build (#2391)
  • Bind the agent in the CLI tests (#2393)
  • Display a warning when a test has been running for too long (#2396)
  • [Gitlab] More explanations on the --grant option used to upload artifacts (#2397)
  • [Serverless] Fix AWS Lambda integration tests (#2408)
  • [Release] A few enhancements after last release (#2387)
  • Fairly minimal .vsconfig (#2401)
  • Move profiler source files into the tracer repository (#2404)
  • Add profiler x64 MSI to releases (#2409)

Changes since 2.2.0

2.2.0

02 Feb 11:29
46efd8d
Compare
Choose a tag to compare

Changes

  • Add support for direct log submission (#2240, #2332)
  • Add Unix Domain Sockets (UDS) Transport (#2142)
  • [AppSec] Prepare the public beta of the product
    • Rate Limiter for appsec traces (#2350)
    • Conform to new standard logs docs and remove some spammy logs (#2129)
    • Refactoring of instrumentation gateway, call security at end request for 404 rules (#2251)
  • [Serverless] auto instrument lambda handler (#2233)
  • [AAS] Allow using custom metrics or tracing without automatic tracing (#2186)
  • [AAS] Azure functions enabled by default, but still unpluggable (#2326)
  • [AAS] Default debug logs to false (#2314)
  • [CLI] Invest in our CLI tool to ease onboarding
    • Add process checks to the CLI (#2323)
    • Add a test to detect when the CLI home folder is missing (#2320)
    • Add new command line arguments (#2295)
    • Migrate CLI to Spectre.Console (#2254)
    • Add artifact tests for the dd-trace tool artifacts (#2280)
  • Add SpanContext.None (#2309)
  • Add initial support for x-datadog-tags propagation header (horizontal propagation) (#2178)
  • Move some static readonly fields to const (#2292)
  • Documentation
    • Add documentation for new InstrumentationDefinitions generator (#2317, #2310)
    • Delete outdated blog entry (#2304)
  • Add TryParse function from WSTRING to int (#2369)

Fixes

  • Fix recording for 405 Method Not Allowed in ASP.NET Core integration (#2333)
  • Add #if NETFRAMEWORK to System.Web integrations #2294
  • Avoid potential exception in Security constructor #2235

Build / Test

  • [DEPENDABOT] Ignore Patches (#2315)
  • [Build] Add a no-op pipeline for PRs without code changes (#2378, #2347, 2334, 2303, #2296, #2342, 2287)
  • [Release] Make the rellease process faster (#2377, #2375, #2351, #2346, #2335, #2279)
    • Make releases instant(ish) (#2324)
    • Automatic upload of MSIs and Nugets (#2340)
  • [Build] Add env variable in CI builds to select a specific ref for the continuous profiler build (#2345)
  • Don't install the .NET tool in the CI build (#2363)
  • Add retry to cosmosdb initialization (#2348)
  • Fix some test data (#2329)
  • Bump the version of SourceLink (#2319)
  • Use a source generator to build InstrumentationDefinitions (#2288, #2305)
  • Update Verify files and version (#2301)
  • CI Improvements (#2306)
  • Update TagsList generation output and add verification action (#2285)
  • Run adhoc throughput test (#2248)
  • [Test Package Versions Bump] Updating package versions (#2284)
  • SpanContextPropagator unit tests (#2273)

Changes since 2.1.1