Releases: DataDog/dd-trace-dotnet
3.29.0
Summary
- [OTEL] Metrics API Support - Metrics Reader & OTLP Exporter (#7514)
- [Azure Functions] Add aas.site.kind tag to agentless logs (#7623)
- [Azure Functions] Skip instrumenting orchestrator functions (#7640)
- Various other fixes and improvements
Changes
Tracer
- Rebuild
MutableSettingson dynamic config changes (#7525) - Move
DefaultServiceNametoMutableSettings(#7530) - Simplify
PerTraceSettings.GetServiceName()(#7532) - [PDB] Handle exception during opening a pdb file (#7573)
CI Visibility
- [TestOptimization] Catch IOException on the Git folder discovery (#7658)
Continuous Profiler
- [crashtracker/profiler] Notify profiler the application is crashing (#7657)
Debugger
- [Dynamic Instrumentation] DEBUG-3695 Return correct RC apply details (#6890)
- [Dynamic Instrumentation] Skip some debugger tests on .NET 8 or greater (#7631)
- Minor fix in DynamicConfigurationManager update process (#7664)
- [Dynamic Instrumentation] DEBUG 3794 Stabilize snapshot enumerable serializing (#6910)
- [Dynamic Instrumentation] DEBUG-3959 Guard against undefined value expression (#7008)
- [Debugger Default-On] DEBUG-4341 Forward snapshots to debugger intake (#7388)
- [Dynamic Instrumentation] Ensure DI metric probe does not send automatic telemetry (#7621)
- [Dynamic Instrumentation] Remove reference types value property from snapshot (#7635)
Serverless
- [Azure Functions] Add
aas.site.kindtag to agentless logs (#7623) - [Azure Functions] Skip instrumenting orchestrator functions (#7640)
Miscellaneous
- [OTEL] Metrics API Support - Metrics Reader & OTLP Exporter (#7514)
- [internal docs] Add CI troubleshooting documentation (#7634)
- [OTEL] Moves OTelMetrics Under OpenTelemetry.Metrics (#7638)
- Minor refactor and added tests for
DynamicConfigurationManager(#7652) - [OTEL] Vendoring OtlpGrpcExportClient And Enabling OTLP Metrics gRPC Tests (#7666)
- [Code Origin] Add debug logs to code origin for entry span (#7612)
- [Code Origin] Performance: Add Assembly Filter Caching for Code Origin (#7667)
- Small OpenTelemetry Metrics fixes and optimizations (#7632)
Build / Test
- Optimize
AGENTS.mdwith contextual load guidance (#7625) - Bump timeit to v0.4.6 (#7647)
- Improve and simplify the microbenchmarks CI setup (#7613)
- Capture Exception when sending metrics (#7614)
- [Test Package Versions Bump] Updating package versions (#7617)
- Fix profiler_execution_benchmarks flakiness (#7622)
- Fix the code freeze action (#7626)
- Revert "[SINT-4157] sanitise ultimate-pipeline.yml" (#7627)
- Increase Docker run step resiliency for Profiler integration tests (#7629)
- [SINT-4157] sanitise ultimate-pipeline.yml (#7630)
- [Azure Functions] Add
Build-AzureFunctionsNuget.ps1helper script for local developement (#7633) - Update
CODEOWNERSfor consistent ownership of managed loader files (#7643) - [Test Package Versions Bump] Updating package versions (#7644)
- Clone the prod dd-trace-dotnet microbenchmark branch for microbenchmarks (#7646)
- Fix CleanObjFiles job (#7648)
- [Test Package Versions Bump] Updating package versions (#7655)
- [OTEL] Switches OTLP Tests To dd-apm-test-agent Instead of MockTracerAgent (#7656)
- Fix nuget installer smoke tests (#7619)
3.28.0
Summary
- [Tracer] Add Azure Service Bus instrumentation (#7413)
- [Tracer] add OTEL quartz autoinstrumentation (#7192)
- [Tracer] Add Azure Service Bus batching support (#7553)
- [Test Optimization] Failed Test Replay (#7102)
- [AAP] Enable by default API Security Endpoints collection when appsec enabled (#7569)
- [Tracer] Fix for sending duplicate logs when using Agentless Logging in Azure Function host (#7383)
- [Code Origin] Disable code origin for exit spans (#7610)
- [Profiler] Make
timer_create-based CPU profiler default (#7578)
Changes
Tracer
- No longer forgive
spans.Arrayfrom beingnull(#6878) - Update Datadog.Sketches vendored code (#7299)
- [Debugger Default-On] DEBUG-3322 Debugger in-product enablement (#7366)
- Extract
MutableSettingsfromTracerSettings(#7522) - Protect against UriFormatException (#7550)
- Update the
ProfilerSettingsenablement to ignore SSI (#7557) - [DI-EL] Add debug log in case evaluation result is null and it shouldn't be null (#7558)
- [SymbDB] Ignore canceled exception (#7572)
- [ER]- Fix ER system tests (#7576)
CI Visibility
- [Test Optimization] Failed Test Replay (#7102)
- fix(ci): recycle stale ServicePoint connections (#7593)
ASM
- [AAP] Enable by default API Security Endpoints collection when appsec enabled (#7569)
Continuous Profiler
- [Profiler] Leverage new .NET 10 allocation sampling (#6930)
- [Profiler] Support Stable Config (#7287)
- Update profiler availability helper to assume Windows always sets the env var (#7555)
- [Profiler] Add Index to samples and build index vector for libdatadog (#7559)
- Revert "Revert "[Profiler] Make
timer_create-based CPU profiler default (#7322)"" (#7578)
Debugger
- [Debugger Default-On] DEBUG-4406 Support multi-config merging with priorities (#7536)
- [Debugger Default-On] Add debuger dynamic configurations keys (#7595)
- [Dynamic Instrumentation] Skip dynamic config test net8 (#7608)
- [Code Origin] Disable code origin for exit spans (#7610)
Serverless
- [Azure Functions] Add Nuke targets to build local nuget for testing (#7537)
Fixes
- Set "component" tag for ASP.NET (#6010)
- Fix for sending duplicate logs when using Agentless Logging in Azure Function host (#7383)
- Remove duplicate "public" APIs and
Internalprefix/suffixes (#7546) - Fix log directory location for managed code in Windows nano server (#7561)
Miscellaneous
- Fallback to
OperationNameinstead ofstring.Emptyfor ElasticSearchResourceName(#5610) - [tracing] add OTEL quartz autoinstrumentation (#7192)
- [Tracer] Add Azure Service Bus instrumentation (#7413)
- Add a code fix provider for invalid DuckType null checks (#7448)
- [OTEL] Metrics API Support - Collection Implementation (#7511)
- [Tracer] Add Azure Service Bus batching support (#7553)
- [crashtracking] Change Crashtracking filtering default value (#7598)
- add
CLAUDE.md, updates toAGENTS.md(#7602) - Add performance, testing, logging, Azure Functions, and glossary to
AGENTS.md(#7609)
Build / Test
- Replace
code-freeze/action.ymlwithpr-status-updater/action.yml(#6702) - Build and run tests against .NET 10 RC 1 (#7499)
- [Test Package Versions Bump] Updating package versions (#7515)
- Remove the guards around M.D.SqlClient V4 in tests (#7541)
- Skip failing TraceAnnotationsTests in .NET 6.0 (#7551)
- Skip failing TraceAnnotationsTests in .NET 6.0 (#7552)
- Fix flakiness in the
TraceAnnotationtests (#7554) - Update CODEOWNERS (rename apm-sdk-api to apm-sdk-capabilities) (#7563)
- Fix smoke tests for nuget tool (#7564)
- Output MSBuild errors when publishing (#7566)
- Improve and simplify the microbenchmarks CI setup (#7571)
- [SINT-2273] update workflow steps (#7579)
- [SINT-4157] sanitise ultimate-pipeline.yml (#7582)
- Escape all paths in DownloadLibDatadog (#7583)
- exclude api keys from sample app logs (#7592)
- [SINT-4157] improve workflow (#7599)
- Bump the gh-actions-packages group across 2 directories with 5 updates (#7600)
- Mark FlakyRetriesWithExceptionReplay as flaky (#7603)
- Increase the Gitlab Build timeout (#7604)
- Update .gitlab/one-pipeline.locked.yaml (#7605)
- Revert "Improve and simplify the microbenchmarks CI setup" (#7606)
3.27.0
Summary
Various bug fixes and optimizations. Includes fix for Runtime Metrics that could be missing and more accurate telemetry reporting.
Changes
Tracer
- Remove unused dynamic settings (#7487)
- Fix incorrect usages of TracerManager PerTraceSettings (#7488)
- Add additional compiler flags to allow
required(#7501) - Fix .NET 10 RC1 bugs (#7506)
- fix(telemetry): correct heartbeat interval calculation (#7507)
- Fix
ManualInstrumentationConfigSourceand introduce base type (#7508) - Allow optimized creating of composite configuration source (#7509)
- Move partial flush settings from
ExporterSettingstoTracerSettings(#7516) - fix: change Language value from '.NET' to 'dotnet' in trace headers (#7523)
- Hide problematic public APIs using
[EditorBrowsable](#7531) - Add a Continuous Profiler availability check (#7534)
ASM
- [AAP] Update waf version to v1.28.0 (#7494)
- [AAP] Update waf to v1.28.1 (#7524)
- [AAP] Test endpoint collection with APM tracing disabled (#7535)
Debugger
- [Dynamic Instrumentation] Added native hot standby mode to support Remote Enablement and Stable Config (#7441)
- [Dynamic Instrumentation] Avoid async instrumentation if the type
AsyncMethodDebuggerInvokerV2does not exist (#7513)
Serverless
- [Azure Functions] bump
Datadog.Serverless.Compatnuget package reference (#7497)
Fixes
- More cleanup in native loader code (#7475)
- Fix dependabot again by allowing private feed access (#7480)
- [Tracer] Updating Statsd in RuntimeEventListener (#7512)
Miscellaneous
- [OTEL] Metrics API Support - Configurations & Telemetry (#7420)
- This feature is incomplete and still in development
- Simplify Windows benchmarks credential setup (#7498)
- Allow passing fallback values to
IntegrationSettingsCollection(#7510) - Add AGENTS.md file (#7539)
Build / Test
- Timeout error installer_smoke_tests (#7468)
- Attempt to improve Kafka timeout flake in tests (#7474)
- Try fixing ASAN job crashes (#7476)
- Update Windows macrobenchmark tooling (#7481)
- Update Windows microbenchmark tooling (#7482)
- [Hands-off config] add integration test (#7483)
- [Test Package Versions Bump] Updating package versions (#7484)
- Check for errors when signing (#7490)
- Sign artifacts using 0.3.5 of the
dd wcstool (#7492) - Decrease Nuke restore verbosity job (#7493)
- Decrease log level when uncompressing files in Nuke (#7496)
- Fix macos build (#7503)
- Mark kafkatests as flaky (#7505)
- Upload execution benchmark log files and cleanup (#7521)
- chore(CI): add ForceDebugRun variable for debug control system tests (#7528)
- Ensure
execution_benchmarksdownload the profiler (#7529) - Capture timeout exceptions in IAST tests (#7533)
- Fix the
verify_app_trimming_changes_are_persistedjob (#7542)
3.26.3
Summary
Fixes authenticode signing for artifacts by updating our CI images to use the appropriate Windows signing tools.
Changes
Build / Test
3.26.2
3.26.1
Warning
Versions 3.25.0-3.26.1 include a bug related to Runtime Metrics, in which metrics are no longer reported after a configuration update. If you are affected, please update your library to version 3.26.2 or above.
Summary
Fixes authenticode signing for artifacts
3.26.0
Warning
Versions 3.25.0-3.26.1 include a bug related to Runtime Metrics, in which metrics are no longer reported after a configuration update. If you are affected, please update your library to version 3.26.2 or above.
Summary
Various bug fixes and optimizations.
Changes
Tracer
- Update build and testing to use .NET 10 preview 7 (#7170)
- add logging for data pipeline status in
TracerSettings(#7436) - Use P/Invoke to call
lstatinstead of shelling out tostatto retrieve the inode (#7453) - [Native] Convert Rejitters vector to a fixed array (#7460)
- [Phase 1] chore(configuration): enable
DataPipelineEnabledon the AAS Site Extension (#7464)
ASM
- [AAP] Add Forwarded header as IP source (#7438)
- [AAP] Add "100.65.0.0/10" as a private IP range (#7461)
- [IAST] Fix GRPC IAST tests (#7485)
- [IAST] Delay dataflow creation (#7440, #7451, #7465)
Continuous Profiler
- [Profiler] Make sure we generate a build-id using SHA-1 (#7449)
- [Profiler] Try fixing TSAN job (#7452)
Serverless
- [Azure Functions] Restore files moved by in-process Azure Functions SDK (#7419)
Fixes
- Support
final="true"in NLog Logging rules for direct log submission (#7445) - Extract the Managed DevOps pools names to variables (#7447)
- Update language used in native log messages (#7467)
- Remove
Samples.TraceAnnotations.VersionMismatch.NewerNuget(#7469) - Remove
Samples.CIVisibilityVersionMismatch(#7471) - Add parameter names to MongoDb
IBsonSerializerProxy.Serialize()method (#7443) - Fix GRPC instrumentation for BuildHttpErrorResponse. Enable integration tests. (#7457)
Build / Test
- Use mock agent in exploration tests (#7431)
- [Test Package Versions Bump] Updating package versions (#7435)
- Use the global.json file to specify the .NET SDK version in GitHub Actions (#7442)
- Update Managed DevOps pools images (#7446)
- Remove smoke test image that won't work (#7450)
- [Test Package Versions Bump] Updating package versions (#7455)
- Bump the gh-actions-packages group across 2 directories with 2 updates (#7456)
- [Test Package Versions Bump] Updating package versions (#7458)
- Split dependabot files into separate projects (#7459)
- Bump actions/setup-dotnet from 4.3.1 to 5.0.0 in the gh-actions-packages group across 1 directory (#7463)
- Try to fix dependabot (#7466)
- Improve logging for
InstrumentationTestsand update dynamic code scenario (#7472) - Fix typo in dependabot yaml (#7477)
- Fix dependabot again (#7478)
Miscellaneous
3.25.0
Warning
Versions 3.25.0-3.26.1 include a bug related to Runtime Metrics, in which metrics are no longer reported after a configuration update. If you are affected, please update your library to version 3.26.2 or above.
Summary
- Various bug fixes and optimisations
Changes
Tracer
- Implement "enahanced telemetry reporting" (#7360)
- Don't call
ToUpperInvariantif we don't need to (#7393) - Handle TypeLoadException when retrieving HostingEnvironment (#7417)
- Add missing
GetDictionary()method toConfigurationBuilder(#7421) - More
ConfigurationBuilderrefactoring to avoid incorrect usages (#7422) - [Tracer] fix: Re-use runtime metrics writer resources to limit memory growth (#7434)
Continuous Profiler
- [Profiler] Make
timer_create-based CPU profiler default (#7322) - Revert "[Profiler] Make
timer_create-based CPU profiler default (#7322)" (#7427)
Debugger
- Disable debugger initialization if it's not enabled initially (#7398)
Serverless
- [Azure Functions] Remove all Serverless Mini-Agent (SMA) code (#7389)
ASM
- [IAST] Fix NRE in Native IAST ModuleInfo->GetFullName() (#7404)
Fixes
- fix: Clean up small C# and C++ build warnings (#7363)
- chore: update malformed telemetry name (#7402)
- Get process start info variables safely (#7423)
- Fix null reference exception in proxy spans (#7428)
Build / Test
- [CI] Creates PR Label Based Docker Image (#7337)
- [Test Package Versions Bump] Updating package versions (#7315)
- Include the target framework in our
InstrumentationTests(#7347) - Ignore rejit timeout errors in smoke tests and report a metric (#7370)
- fix: Make OTLP metrics snapshot testing more stable (#7374)
- Add final job for blocking merges of PRs (#7376)
- Fix debug symbol upload in release job (#7377)
- Fix Windows SSI release (#7379)
- Fix null ref type warning in Nuke (#7382)
- Fix creation of label-based artifacts for system tests (#7385)
- Filter our exit span from Azure Functions tests (#7391)
- Fix variable generation for
linux-arm64unit tests (#7394) - Add more alpine checks for native library (#7395)
- [Test Package Versions Bump] Updating package versions (#7396)
- Fix ASM WAF unit tests (#7397)
- [SINT-3848] 🔒 Pin GitHub Actions to specific SHA versions for enhanced security (#7400)
- Improve PR labelling and release note generation (#7401)
- [Native] Add native string unit tests (#7407)
- Add
Os,OsVersion, andTfmto CI flaky-smoke-test metrics (#7409) - Scrape native tracer stats from logs in smoke tests and track in Datadog (#7410)
- Update
tracer_home_smoke_testsstage to use MS hosted windows images (#7412) - Enable runtime metrics for macrobenchmarks (#7414)
- Try to fix dynamic instrumentation tests (#7415)
- Make the
Instrumentation.csfile owned by everyone (#7416) - Try to fix more flake in fleet installer IIS tests (#7418)
- Bump the gh-actions-packages group across 1 directory with 5 updates (#7429)
- [Test Package Versions Bump] Updating package versions (#7430)
Miscellaneous
- Fix minor warnings and issues and improvements (#7390)
- refactor(libdatadog): namespaces and file organization, error code and typo (#7405)
- Don't write debug logs to console for hands off config (#7392)
- chore(trace-exporter): disable data pipeline when SSI is enabled (#7386)
- [Service Disc] Change type layout to make it x86 safe (#7387)
- [HandsOff Config] Read sources from libdatadog (#7282)
- Refactor telemetry in
ConfigurationBuilder(#7354) - [Native] Added DBG macro that checks for IsDebugEnabled before logging a debug trace (#7406)
- refactor(libdatadog): error handling and trace exporter response management (#7411)
3.24.1
Summary
- Fixes the SSI artifact publishing, which were not published in 3.24.0
Changes
Misc
- Fix Windows SSI release (#7379)
3.24.0
Summary
- [Tracer] Logs injection for connecting logs with traces is enabled by default. To disable, set
DD_LOGS_INJECTION=0 - [Tracer] Add support for latest S3 and MSTest packages
- [AAP] Add resource name to the collected endpoints
- [DSM] Flush DSM stats on Lambda Stop
Changes
Tracer
- Refactor the profiling configuration reading (#7303)
- Minor
IConfigurationSourceclean up (#7327) - chore: clean up baggage span tags implementation (#7335)
- Update default value of DD_LOGS_INJECTION to true (#7336)
- Fix broken S3 integration (#7368)
CI Visibility
- [Test Optimization] Support for MSTest v3.10 (#7343)
ASM
- [AAP] Add resource name to the collected endpoints (#7317)
- [AAP] Add latest supported waf capabilities to RC (#7332)
- [AAP] Added WAF metrics. Reorganized other metrics to match RFC (#7356)
- [AAP] Update WAF ruleset to v1.15.0 (#7331)
Debugger
- [Dynamic Instrumentation] DEBUG-3514 Refactor debugger code (#7304)
- Removes exception throwing during shutdown of dynamic instrumentation (#7375)
Serverless
- DSMS-90: Flush DSM stats on Lambda Stop (#7054)
Data Streams Monitoring
- Do not inject DSM legacy headers by default in "default enabled" mode (#7351)
Build / Test
- Update xunit to latest, fix analyzer warnings, and update analyzer tests (#7280)
- Send Warm-up request in iisexpress integration tests (#7321)
- Update CODEOWNERS with SDK capabilities team as owners (#7328)
- Pre pull aerospike image (#7333)
- Remove CMake warning: jobserver unavailable: using -j1. Add `+' to parent make rule. (#7334)
- Fix typo in
create_draft_release(#7338) - Fix the signing of the fleet installer exe (#7341)
- Elaborate on Run failed description (#7344)
- Work around flake in the Couchbase 3 integration tests (#7357)
- Try to fix flake by using unique keys in StackExchange sample tests (#7359)
- Mark the OTLP metrics test as
[Flaky](#7369) - Fix more flake in the IIS fleet smoke tests (#7372)
- Don't test Aerospike.Client 8.1.0 on .NET 6 or 7 (#7349)
Miscellaneous
-
Cache response in order to avoid unnecessary deserializations (#7320)
-
Add Stats on EnqueueRequestRejitForLoadedModules (#7340)
-
Include
telemetry_forwarder.exein the Windows SSI OCI images (#7342) -
Update the configuration key for controlling managed activation (#7350)
-
Update libdatadog to 20.0.0 (#7358)