Releases: DataDog/dd-trace-dotnet
2.32.0
DD_DBM_PROPAGATION_MODE. The issue is resolved in version 2.35.0.
Enabling DD_DBM_PROPAGATION_MODE may cause runtime errors in your application if you set the CommandType property on DbCommand to CommandType.StoredProcedure. If you suspect your application or a dependent library is using stored procedures, and you are currently using this release, don't enable DD_DBM_PROPAGATION_MODE until upgrading to 2.35.0+.
Summary
- Trimmed apps support: You can now instrument trimmed apps by including the Datadog.Trace.Trimming nuget package to your project. This is a pre-release, do not hesitate to share feedback through Github issues.
- AWS SDK SNS is now supported by the tracer. Edit: We discovered an issue with the current implementation of AWS SDK SNS support. A fix for this will be included in the next tracer release. For more details see link to issue and link to PR.
Changes
Tracer
- Add app trimming support (Datadog.Trace.Trimming nuget package) (#4195)
- [Tracer] Add TraceClock implementation as a DateTimeOffset.UtcNow optimization (#4212)
- [Tracer] Fix TracerManager initialization when replaced (#4218)
- [Tracer] AWS SDK SNS integration (#4084)
- [Tracer] v0 Schema: Add opt-in configuration for peer.service and client service name removal (#4207)
- [Tracer] v1 Schema: Add peer.service tag to HttpClient and WebRequest spans (#4174)
- [Tracer] v1 Schema: Add peer.service tag to AdoNet spans (#4176)
- [Tracer] v1 Schema: Update operation name for WCF server integration (#4216)
- [Tracer] v1 Schema: Update operation name for gRPC server integration (#4217)
- [Tracer] v1 Schema: Update Elasticsearch spans (#4254)
CI Visibility
- [CIVisibility] Fix repository and branch extraction in ITR and GitUpload (#4272)
ASM
- [ASM] SqlInjection instrumented tests (EF, Sqlite, Dapper, SqlCommand, Linq2db) (#4168)
- [ASM] .NET Framework response headers (#4173)
- [ASM] static hash code for strings & ints (#4178)
- [ASM] User events auto instrumentation in .Net Core (#4184)
- [ASM] Instrumented tests for MySql, Oracle and Postgress (#4206)
- [ASM] Netcore response headers passed to the WAF (#4209)
- [ASM] Improve support of uri and response status addresses (#4211)
- [ASM] Make library invoker static (#4240)
- [ASM] Instrument all string methods (#4253)
- [ASM] Sample little fixes , sign out action hiding controller base member (#4270)
- [IAST] Update evidence redaction suite . yml and fixes accordingly (#4205)
Continuous Profiler
- [Profiler] Fix warnings in the profiler (#4090)
- [Profiler] Avoid exceptions in code hotspots tests to reduce flacky tests (#4197)
- [Profiler] Try to avoid a race condition in named pipe tests (#4199)
- [Profiler] Fix reading from named pipe (#4222)
- [Profiler] Introduce IThreadInfo interface (#4233)
- [Profiler] Remove dead code (#4234)
- [Profiler] Add http client to download files as demo app (#4244)
- [Profiler] Try fixing code hotspots tests (#4250)
- [Profiler] Allow lock contention provider to upscale by duration instead of by count (#4263)
- [Profiler] Add labels to send raw lock contention data (i.e., before upscaling for timeline) (#4268)
Debugger
- [Dynamic Instrumentation] Added the ability to dynamically add tags to APM spans from method parameters or return values (#4098)
Telemetry and Remote Configuration
- Add bulk of telemetry V2 implementation (#4188)
- Allow enabling v2 telemetry (#4198)
- Update PublicApiGenerator + minor telemetry updates (#4214)
- Delay recording of
TracerSettingsin configuration telemetry (#4221) - Add
[GeneratePublicApi]toTracerSettings(#4232) - Update Telemetry Metrics implementation for performance (#4251)
- Add telemetry to public settings (#4259)
- Public API telemetry (#4257)
- Small telemetry updates from feedback (#4258)
- Ensure dependency collector persists across telemetry controllers (#4255)
- Move RCM initialization in the TracerManager (#4202)
- Update RCM and Telemetry poll settings (#4262)
- [RCM] In the agent TargetsVersion is a uint64 (#4208)
- Introduce per-trace settings (#4229)
Fixes
- Fix NullReferenceException in GitMetadataTagsProvider (#4194)
- Fix "GitMetadataTagsProvider.TryExtractGitMetadata Extremely Slow" (#4248)
- Avoid making excessive & unnecessary calls to TryGetGitTagsFromSouceLink (#4249)
- Fix
<Module>type loader injection (#4274)
Build / Test
- Disable nullable warnings in trimming app (#4266)
- Swap Samples.GrpcLegacy to use .NET Activity (#3879)
- Swap Samples.MongoDB to use Activity (#4097)
- Disable parallelization for LargePayloadTests integration tests (#4185)
- Fix benchmark tests (#4210)
- Include CreateRootDescriptorsFile as a dependency of BuildTracerHome (#4260)
- Fix build break that was introduced when we merged the gRPC server ch… (#4239)
- Fix build: Update Trimming.xml and add missing NuGets to IntegrationGroups (#4245)
Miscellaneous
- Refactor cache classes to avoid emitting new methods (#4192)
- Stop using Serilog.Log (#4242)
- Add the prerelease flag to the App trimming support (#4246)
- Fix nesting of Samples.AWS.SimpleNotificationService project (#4252)
- Fix explicit interface methods instrumentation (#4264)
- Fixes and tests for telemetry (#4265)
- Fix TraceClock ctor() (#4275)
2.31.0
DD_DBM_PROPAGATION_MODE. The issue is resolved in version 2.35.0.
Enabling DD_DBM_PROPAGATION_MODE may cause runtime errors in your application if you set the CommandType property on DbCommand to CommandType.StoredProcedure. If you suspect your application or a dependent library is using stored procedures, and you are currently using this release, don't enable DD_DBM_PROPAGATION_MODE until upgrading to 2.35.0+.
Summary
[Serverless] Add support for instrumentation of methods in generic base classes
[Profiler] .NET exception & lock profiling GA
Changes
Tracer
- [Tracing] Initial work on configuration telemetry (#4033)
- [Tracing] clean up for 128-bit trace ids (#4075)
- [Tracing] Remove Span and TraceContext locks and add a cache layer (#4125)
- [Tracing] Add
nullableand more tests for configuration (#4139) - [Tracing] Fix potential recursion in managed loader by moving log message (#4153)
- [Tracing] Allows Adding
servicelevel DBM Comment on SqlServer queries. (#3989) - [Tracing] v1 Schema: Add peer.service tag to MongoDb and Kafka spans (#4141)
CI Visibility
- [CIVisibility] Change the code coverage EVP subdomain to
citestcov-intake(#4150) - [CIVisibility] Remove the pipeline url processing (#4177)
ASM
- [ASM] Path traversal vulnerability (#4052)
- [ASM] Taint request body (#4080)
- IAST - Evidence sensitive data redaction (#4107)
- [ASM] Add source: taint request cookies (#4120)
- [ASM] Include ASM code ownership (#4121)
- [ASM] fix bug in test that meant user agent was being repeated in snapshots (#4124)
- [ASM] Add disabled flag and integration tests (#4129)
- missing custom rules capability (#4136)
- IAST - Evidence redaction Yaml suite (#4163)
- [ASM] update ruleset 1.7.0 > 1.7.1 (#4182)
- [ASM] Include path traversal method overloads in the netstandard library (#4131)
Continuous Profiler
- [Profiler] Allow comparison for Poisson after allocation context (#4111)
- [Profiler] Bump libdatadog to 2.2.0 (#4119)
- [Profiler] Add the possible reason of SuspendThread failure (#4133)
- [Profiler] Fix profiler clang-tidy job (#4134)
- [Profiler] Allow .balloc/.pprof allocations comparison (#4145)
- [Profiler] Add log about wrapped function (#4167)
- [Profiler] Log information about secure-execution mode (#4196)
Debugger
- [Dynamic Instrumentation] display object fields and collection items in log probe (#3947)
Serverless
- [Serverless] Add support for instrumentation of methods in generic base classes (#4158)
Fixes
- Add
Debugbuild stage and fix warnings (#4140)
Miscellaneous
- Add unit tests for all settings (#4115)
- Use ReadOnlySpan on ITags source code generator. (#4123)
- [Test Package Versions Bump] Updating package versions (#4128)
IntegrationTelemetryCollectorshould only return changed integrations (#4142)- Record enabled products in telemetry (#4143)
- Properly handle a wrong setup where
DD_DOTNET_TRACER_HOMEisn't set (#4146) - Removed added lines and updated existent one (#4148)
- Fix ducktype over non public struct fields (#4149)
- [ASM] Merge IAST directories (#4151)
- Refactor loader injection rewrite (#4152)
- Improvements in the startup process. (#4157)
- Upgrade Mono.Cecil to 0.11.5 (#4166)
- Headers Tags improvements (#4172)
- Small updates to telemetry in preparation for V2 (#4180)
- More telemetry v2 preparation (#4187)
Build / Test
2.30.0
DD_DBM_PROPAGATION_MODE. The issue is resolved in version 2.35.0.
Enabling DD_DBM_PROPAGATION_MODE may cause runtime errors in your application if you set the CommandType property on DbCommand to CommandType.StoredProcedure. If you suspect your application or a dependent library is using stored procedures, and you are currently using this release, don't enable DD_DBM_PROPAGATION_MODE until upgrading to 2.35.0+.
Summary
- [Tracer] Adds support for 128-bit Trace IDs
- [ASM] Adds custom rules support
- [Continuous Profiler] Enables timestamps and GC events by default for timeline view
Note
The Datadog .NET Tracer does not support application running in partial trust.
Changes
Tracer
- [Tracing] add support for 128-bit trace ids (#3744)
- Change the ownership of the RuntimeMetrics statsd instance (#4060)
- Make ModuleMetadata thread-safe (#4061)
- Update
MessagePackto 1.9.11 (#4078) - Reduce allocations in sampling mechanism tagging (#4085)
- [Tracer] Add interfaces to standardize operation name and service name calculations across schema versions (#4088)
- Add support for MySql.Data 8.0.33 (#4109)
CI Visibility
- [CI Visibility] Rename Intelligent Test Runner tag names (#3909)
- [CI Visibility] Update ci specs and add codefresh support (#4049)
- [CI Visibility] Add support for importing code coverage from cobertura and opencover format to the test session. (#4069)
ASM
- [ASM] Update waf and custom rules (#4053)
- [ASM] Add methods to location json (#4063)
- [ASM] Fix ip resolution: some local ips weren't seen as local (#4067)
- [ASM] Add custom rules support (#4077)
- [ASM] Add IAST instrumented tests ownership to ASM (#4087)
- [ASM] Update WAF (#4112)
Continuous Profiler
- [Profiler] Enable timestamps and GC events by default for timeline view (#3982)
- [Profiler] Make sure the memory dump is copied when a profiler test failed (#4047)
- Fix rare and random crash on linux (#4055)
- Investigate failing test on alpine (#4073)
- [Profiler] Fix race for endpoint profiling (#4079)
- [Profiler/Windows] Release HANDLE when Managed thread dies (#4089)
Fixes
- Remove support for partial trust environment (#4083)
- Add
EditorBrowsableState.Neverto types that should never be invoked (#4091)
Build / Test
- [IAST] Enable deduplication tests on net7 (#3973)
- Enable crash dumps on Windows (#3975)
- [Tracer] Update samples for log collection, agentless logging, and logs trace ID correlation (#3994)
- Update Nuke build to latest (#4000)
- [Test Package Versions Bump] Updating package versions (#4013)
- [Tracer] Attribute Schema configuration: Create distinct v0 and v1 span metadata rules (#4031)
- Update dockerfile to build native code with clang-16 (#4036)
- Add checksums for release artifacts (#4041)
- Replace Datadog.Trace.OSX.sln with a solution filter (#4048)
- [Tracer] Comprehensive package version testing fixes (#4057)
- Fix CI Visibility source root in Docker based test (#4059)
- InstrumentationVerification should override the log folder only if enabled (#4066)
- Setup python3.9 for system tests (#4070)
- Add
objas a folder exception in the static analysis workflow. (#4071) - Add debuglink to linux native lib to ease debugging experience (#4072)
- Add jetbrains diagnoser to Benchmark tests (#4074)
- Reduce the pressure on threadpool in the tests (#4086)
- Option to add Datadog Profiler to the BenchmarkDotNet tests (#4094)
- [Test Package Versions Bump] Updating package versions (#4096)
- Fix BenchmarkDotNet tests build warnings (#4110)
- Allow forcing code coverage in CI (#4113)
- Stop the flake (#4114)
Miscellaneous
- RCM refactoring from event model to subscriptions (#3983)
- [Tracer] Improvement: Make the ServiceNames immutable (#4043)
- Bump spdlog version (#4044)
- Exclude more high-cardinality dependencies from telemetry (#4050)
- Update Minimum required SDK version in Readme (#4092)
- Skip injecting loader on partial trust (#4108)
- Add
trace::profilernull check (#4116)
2.29.0
DD_DBM_PROPAGATION_MODE. The issue is resolved in version 2.35.0.
Enabling DD_DBM_PROPAGATION_MODE may cause runtime errors in your application if you set the CommandType property on DbCommand to CommandType.StoredProcedure. If you suspect your application or a dependent library is using stored procedures, and you are currently using this release, don't enable DD_DBM_PROPAGATION_MODE until upgrading to 2.35.0+.
Summary
Fixes the following issues:
- Fixes
BadImageFormatExceptionthat occurred when trace annotations were used in conjunction withDD_TRACE_DEBUG - Fixes possible memory leaks
Changes
Tracer
- [Tracer] Attribute Schema configuration: new configuration and v1 service naming (#4019)
Continuous Profiler
- [Profiler] Compare fixed and Poisson threshold allocation sampling/upscaling (#4016)
- [Profiler/Improvement] Make
RawSampleclasses move-only (#4024) - [Profiler] Free the error structure on profile_add (#4025)
- [Profiler] Fix possible memory leak (#4029)
- [Profiler] Run Profiler Unit tests ASAN with leak detection enabled (#4034)
- [Profiler] Make sure we catch tests that crashed in CI (#4037)
- [Profiler] Fix missing CPU samples (#4046)
Fixes
- Add more nullable annotations to settings objects (#4028)
Build / Test
Miscellaneous
2.28.0
⛔ An issue was found when using v2.28.0 of the Datadog.Trace.Annotations NuGet to instrument methods using attributes, when also setting DD_TRACE_DEBUG=1. Please upgrade to v2.29.0 or greater which resolves the problem.
DD_DBM_PROPAGATION_MODE. The issue is resolved in version 2.35.0.
Enabling DD_DBM_PROPAGATION_MODE may cause runtime errors in your application if you set the CommandType property on DbCommand to CommandType.StoredProcedure. If you suspect your application or a dependent library is using stored procedures, and you are currently using this release, don't enable DD_DBM_PROPAGATION_MODE until upgrading to 2.35.0+.
Summary
Fixes a native memory leak when using the Continuous Profiler. This leak was introduced in 2.26.0. If you are using the Continuous Profiler with 2.26.0 or 2.27.0, please upgrade to 2.28.0.
Also the tracer now supports
- HotChocolate 13
- Data Streams Monitoring for RabbitMQ
Changes
Tracer
- [Tracer] Fix ActivityContext not being honored (#3796)
- [Tracer] DataStreamMonitoring - RabbitMQ support (#3917)
- [Tracer] Add
db.redis.database_indexto redis spans (#3941) - [Tracer] Fix duplicate logging issue with DirectLogSubmission and Serilog (#3952)
- [Tracer] Reset the sampling mechanism tag during W3C tracecontext extraction (#3959)
- [Tracer] Upgrade HotChocolate to Version 13 (#3966)
- [Tracer] Fix AAS direct log submission log correlation (#3972)
- [Tracer] Make the querystring length in http.url configurable (#3980)
- [Tracer] Add nullable annotations to settings (#4009)
CI Visibility
- [CI Visibility] Fix BenchmarkDotNet random value in job description (#3960)
- [CI Visibility] - Refactor and changes to improve debugging and to help the datadog logger to extract env-vars. (#3990)
ASM
- [ASM] Taint StringBuilder.Append() and AppendLine() Methods (#3931)
- [ASM] Take into account if block exception is a child (#3944)
- [ASM] Command injection vulnerability detection (#3954)
- [ASM] Remove weak hashing redundant tests (#3962)
- [IAST] Add updated source names. (#3988)
Continuous Profiler
- [Profiler] Keep track of sampled/real exception/lock contention count per type/bucket (#3838)
- [Profiler] Avoid adding temporary runtime id names in cache (#3958)
- [Profiler] Don't read ExitTime if the process hasn't exited (#3992)
- [Profiler] Bump libdatadog version to 2.1.0 (#3993)
- [Profiler] Fix bug when thread name is set to null or "" (#4005)
- [Profiler] Fix native memory leaks (#4020)
Debugger
- [Dynamic Instrumentation] Implemented the Span Probes (#3955)
- [Dynamic Instrumentation] Evaluation error on metric probe (#4001)
Build / Test
- [Samples] Add sample to demonstrate instrumentation of an ASP.NET application inside a Windows container (#3798)
- [CI] Monitor retries and retry AgentMalFunctionTests on NamedPipes (#3887)
- Swap Samples.DatabaseHelper to use Samples.Shared (#3915)
- Swap Samples.LargePayload to use SampleHelpers (#3921)
- Swap DatadogThreadTest to use SampleHelpers (#3922)
- Swap DogStatsD.RaceCondition to not use Datadog.Trace (#3925)
- Limit the concurrency in xunit (#3930)
- Swap to SampleHelpers for LogsInjectionHelper (#3936)
- Fix TimeIt jobs and replace it with TimeItSharp (#3942)
- [Tracer] Fix flaky test graphql (#3945)
- Setup python 3.9 for system tests (#3948)
- Docker Base Images. Fix snapshot generation and fix draft releases (#3950)
- Convert RabbitMQ tests to snapshot tests (#3951)
- Capture full memory dumps instead of minidumps (#3963)
- Upgrade C++ toolset to v143 (#3964)
- Split
ZipMonitoringHomeLinuxtask (#3967) - Downgrade AWS dotnet7 image (#3969)
- Update the AspNetCoreTestFixture to let aspnetcore pick a port (#3971)
- Revert "Downgrade AWS dotnet7 image" (#3977)
- Temporarily remove python install from system tests (#3979)
- Disable Microsoft.Data.Sqlite tests on .NET Core 2.1 (#3981)
- Enable CI Visibility static analysis. (#3984)
- Disable code coverage except for scheduled builds on master (#3987)
- Reduce test flakiness in
ProbeTests.MethodProbeTest(#3995) - Increase log level in AspNetCore2 security sample app (#3997)
- Improve support of rolling log files in tests (#3998)
- Attempt to fix the DataStreams test (#4002)
- Try fix SetDotnetPath (#4003)
- Fix exploration tests typo (#4006)
- Remove the GraphQL4 websocket tests (#4010)
- Start the PipeServer synchronously (#4011)
- [Tracer] Set GraphQL7 Sample fixed packages version (#4022)
- [Tracer] Fix test: remove WebSockets tests on GraphQL version 4 (#3999)
- [Tracer] Add support for Metrics to span metadata (#3968)
- [Tracer] Adds MySql and NpgSql snapshot tests and files (#3867)
Miscellaneous
- Replace FMT x86 and x64 builds to a single source folder (#3943)
- Windows ARM64 support (#3953)
- [Test Package Versions Bump] Updating package versions (#3957)
- Remove validation on IIS site names (#3961)
- Add a "block list" to profiled processes in native profilers (#3965)
- [Test Package Versions Bump] Updating package versions (#3978)
- Bump DatadogTestLogger version up to 0.0.37 (#3985)
- Fix the log level and remove redundant info (#3991)
2.27.0
⛔ If you use the Continuous Profiler, please upgrade to v2.28.0 or greater. Release 2.26.0 introduced a native memory leak when using the Continuous Profiler.
DD_DBM_PROPAGATION_MODE. The issue is resolved in version 2.35.0.
Enabling DD_DBM_PROPAGATION_MODE may cause runtime errors in your application if you set the CommandType property on DbCommand to CommandType.StoredProcedure. If you suspect your application or a dependent library is using stored procedures, and you are currently using this release, don't enable DD_DBM_PROPAGATION_MODE until upgrading to 2.35.0+.
Summary
Tracer
- Support for isolated functions (.NET 6 and .NET 7) in Azure
- Support for GraphQL 7
- Performance improvements in the startup time. We had slowly decreased performances since 2.9.0 by adding more features, we're back to an equivalent state now.
Changes
Tracer
- Add a size limit to the serialization temp buffer (#3830)
- [Tracer] add support for GraphQL 7 (#3842)
- Optimize startup time (#3856)
- [Tracer] Protect against null Activity TraceId (#3870)
- [Tracing] parse propagated tags during header extraction (#3872)
- Initial support for isolated Azure Functions (v4) (#3900)
- Capture exceptions in Azure Functions (#3905)
- Exclude
App_LocalResources.deps from telemetry (#3906) - Performance improvements (#3907)
- Record SourceContext in direct submission logs (#3910)
- Add usr.id when propagating (#3912)
- Add recording of HTTP status code to Azure Functions HTTP triggers (#3914)
- Capture the querystring in
http.urlfor client HTTP spans (#3935)
CI Visibility
- [CI Visibility] Update CI Environment Variables spec (#3878)
- [CI Visibility] - Fixes git parser when using a SSH signature (#3940)
ASM
- [ASM] Update rules WAF rules to 1.5.2 (#3896)
- [ASM] Correct casing for tag values in SDK (#3893)
- [ASM] Optimize http body parsing (#3853)
- [ASM] Taint String Substring and ToCharArray methods (#3854)
- [ASM] Taint string.Remove() and string.Insert() methods in IAST (#3877)
- [ASM] Taint string.Join, ToUpper and ToLower methods in IAST (#3897)
- [ASM] Instrumentate String.Trim(), String.TrimStart(), String.TrimEnd() in IAST. (#3911)
- [ASM] Instrument String.PadLeft() and String.PadRight() methods (#3918)
- [ASM] Add integration tests for global rules switch (#3886)
Continuous Profiler
- [Profiler ] Fixes in FrameStore (#3861)
- [Profiler] Add support for Portable PDB in the profiler (#3904)
Debugger
- [Dynamic Instrumentation] Add metric probe for dynamic instrumentation (#3727)
- [Dynamic Instrumentation] Deploy dotnet to debugger backend demo applications (#3920)
Miscellaneous
- [Test Package Versions Bump] Updating package versions (#3759)
- Improve OSX dev experience (#3863)
- [Tracer] Implement all system-tests W3C tracecontext behaviors (#3873)
- Fix modules locking (#3892)
- Use a wrapper for synchronized access to collections (#3895)
- DSM - Span and Pathway linking (#3902)
- [Test Package Versions Bump] Updating package versions (#3929)
Build / Test
- Swap Samples.Telemetry to use .NET Activity (#3819)
- Refine CodeOwners (#3860)
- Fix the clone-repo template for hotfixes (#3866)
- [Test] Fix flakiness in Aerospike integration test - Attempt 1 (#3890)
- Add processors benchmarks (#3898)
- Add support for attach jetbrains products in Benchmark tests (#3903)
- Remove unused reference to Datadog.Trace in HttpMessageHandler.StackOverflowException (#3923)
- Fix codeowners file around ASM folders. (#3926)
- Test Azure Functions out of process on .NET 7 (#3927)
- Fix a few issues with Samples.Shared (#3934)
- Fix native compilation warning (#3932)
2.26.0
⛔ If you use the Continuous Profiler, please upgrade to v2.28.0 or greater. Release 2.26.0 introduced a native memory leak when using the Continuous Profiler.
DD_DBM_PROPAGATION_MODE. The issue is resolved in version 2.35.0.
Enabling DD_DBM_PROPAGATION_MODE may cause runtime errors in your application if you set the CommandType property on DbCommand to CommandType.StoredProcedure. If you suspect your application or a dependent library is using stored procedures, and you are currently using this release, don't enable DD_DBM_PROPAGATION_MODE until upgrading to 2.35.0+.
Summary
Adjustments on some previous tracer features, improve CI test skipping scenarios.
Profiler side, handle anonymous and inner named methods.
ASM side, suspicious request blocking is implemented through a consequent waf update.
Changes
Tracer
- Sort and encod DBM tags and add new tests (#3851)
CI Visibility
- [CI Visibility] Await git upload metadata before child command start only on test skipping scenarios. (#3827)
- [CI Visibility] - Improve manual api initialisation. (#3843)
ASM
- [ASM] Waf block actions configurable via Remote configuration (#3794)
- [ASM] String concat propagation (#3805)
- [ASM] Waf update to 1.8.2 (#3822)
- [ASM] Update IP collection algorithm (#3831)
- [ASM] Add missing capabilities and other minor corrections (#3855)
Continuous Profiler
- [Profiler] Add named/anonymous methods scenario (#3817)
- [Profiler] Bucketize contention events by duration (#3824)
- [Profiler] Bump libdatadog version to 2.0.0 (#3839)
Build / Test
- Proposal for standardized storage of installable artifacts (#3762)
- Bump DatadogTestLogger version (#3833)
- [CI] Fix the flakiness of
TelemetryControllerTests, but not the source of the issue (#3834) - [Tracer] Container init job to run for hotfixes (#3844)
Miscellaneous
- Enable rollforward on minor versions in global.json (#3841)
2.24.1
DD_DBM_PROPAGATION_MODE. The issue is resolved in version 2.35.0.
Enabling DD_DBM_PROPAGATION_MODE may cause runtime errors in your application if you set the CommandType property on DbCommand to CommandType.StoredProcedure. If you suspect your application or a dependent library is using stored procedures, and you are currently using this release, don't enable DD_DBM_PROPAGATION_MODE until upgrading to 2.35.0+.
Summary
Hotfix to fix a potential performance issues on Windows, for .NET Framework apps.
Tracer
- Stop extracting SourceLink after 100 tries (#3837)
2.24.0
DD_DBM_PROPAGATION_MODE. The issue is resolved in version 2.35.0.
Enabling DD_DBM_PROPAGATION_MODE may cause runtime errors in your application if you set the CommandType property on DbCommand to CommandType.StoredProcedure. If you suspect your application or a dependent library is using stored procedures, and you are currently using this release, don't enable DD_DBM_PROPAGATION_MODE until upgrading to 2.35.0+.
Summary
%PROGRAMDATA%\Datadog .NET Tracer\logs instead of %PROGRAMDTA%\Datadog-APM\logs\.
Tracer
- Added support for publishing init containers that will be used for library injection in kubernetes. The feature isn't yet available though as it requires changes in the datadog agent as well, which will be released next month.
Profiler
- Reduce CPU consumption on Linux
- Improve performance of exceptions profiling
Changes
Tracer
- [Tracer] Fix
otel.status_code/otel.library.namefrom .NET Activity API (#3750) - [Tracer] add 128-bit
TraceIdstruct (#3752) - [AAS] Bail out from starting processes if API_KEY isn't present (#3775)
- [Tracer] Fix
IDatadogLoggeranalyzer warnings (#3785) - [Tracer] APM and DBM Link Injecting SQL Comment (#3784)
- [Tracer] Add support for Aerospike 6.0.0 (#3811)
CI Visibility
- [CI Visibility] - BenchmarkDotNet framework support (#3774)
- [CI Visibility] - Extract traits recursively in NUnit (#3777)
- [CI Visibility] - Small changes to the CI Visibility processors. (#3788)
- [CI Visibility] - Lazy initialise the ITR instance (#3789)
- [CI Visibility] - Defer await for git upload task (#3825)
ASM
- [ASM] Instrumented tests: basic setup (#3718)
- [ASM] Set span type to "vulnerability" for iast spans in console apps. (#3747)
- [ASM] Weak hashing instrumentation for net462 (#3776)
- [ASM] Add valueparts without source in vulnerability Json (#3810)
- [ASM] Weak cipher support for .net framework (#3818)
Continuous Profiler
- [Profiler] Add allocations recorder (#3753)
- [Profiler] Reduce memory allocation of the profiler (#3764)
- [Profiler] Validate exceptions sampling (#3767)
- [Profiler] Improve .NET exception profiler (#3770)
- [Profiler] Fix CppCheck version when installing (#3772)
- [Profiler] Fix flacky tests (#3778)
- Remove all references to
DD_DOTNET_PROFILER_HOME(#3782) - [Profiler] Improve building thread stat file path (#3786)
- [Profiler] Improve Linux stackwalker deadlock detection (#3787)
- [Profiler] Take cores count into account for CPU profiling (#3793)
- [Profiler/CI] Remove profiler throughput tests from Github Actions (#3795)
- [Profiler] Add I/O-bound demo application (#3797)
- [Profiler] Add CI visibility on profiler AzDo jobs (#3799)
- [Profiler] Change scenario for better chances to get samples (#3801)
- [Profiler] Fix bug when retrieving number of cores (#3802)
- [Profiler] bug fixes (#3806)
- [Profiler] Increase leak size and fix exception (#3815)
- [Profiler] Add view for EndpointsCount controller (#3823)
Debugger
- [Dynamic Instrumentation] Support duration in debugger DSL (#3765)
- [Dynamic Instrumentation] Addressed a leakage by reusing probe data indices (#3771)
Miscellaneous
- Extract
git.commit.shaandgit.repository_urlfrom SourceLink (#3652) - Change profiler and native loader default log dir (#3790)
- Small performance improvements (#3809)
Build / Test
- Add debugger team as CODEONWERS to missing directories (#3766)
- Generate container images for Kubernetes Admission Controller library injection (#3769)
- [Build] Add retries for build and package commands (#3780)
- Add analyzers for
IDatadogLoggerusages (#3781) - [Build/Test] Limit upload_container_images build stage to individual CI (#3783)
- [Build/Test] Publish official dd-lib-dotnet-init images on tagged commit (#3791)
- Fix test trigger on scheduled builds (#3792)
- [Build/Test] Add system tests for the library injection images (#3803)
- Fix MongoDb integration tests and bump to latest (#3808)
- Add test and sample project for .NET Activity API (#3597)
2.23.0
Summary
Tracer
- Resolve an issue introduced in 2.14.0 that could lead to the tracer not working after an upgrade of the tracer, if the server had been rebooted in between.
- Added support for Confluent.Kafka 2.x.
Changes
Tracer
- PRNG improvements for trace and span ids (#3651)
- Update
TagListGeneratorto use newForAttributeWithMetadataName(#3662) - Add an enum extensions source generator (#3700)
- Add helper source generators for telemetry metrics (#3701)
- Add Analyzer for checking we don't use a public API (#3704)
- Add support for Confluent.Kafka 2.x.x (#3710)
- [Tracing] Converting to and from hex strings (#3715)
- Update log message with minimum datadog-agent version required for RCM (#3729)
- Handle multiple empty
tracestateheaders inW3CTraceContextPropagator(#3745)
CI Visibility
- [CI Visibility] - Fix NUnit integration (#3696)
- [CI Visibility] Adds support for NUnit TearDown attributes (#3713)
- [CI Visibility] - CI specs updates (#3719)
- [CIVisibility] - Replace the datacollector logger error calls with warnings (#3723)
- [CI Visibility] - Add retries support for IOException in the coverage collector (#3726)
- [CI Visibility] - Ensure dd-trace uses same settings as target process (#3728)
- [CI Visibility] - Simpler CIVisibility initialization for the dd-trace runner (#3736)
- [CI Visibility] - Avoid sending the global code coverage tag if we have ITR enabled (#3740)
- [CI Visibility] - Improve test source start line for CI Visibility UI (#3755)
ASM
- [ASM] Call site instrumentation (#3453)
- [ASM] Added parent span Id to vulnerability json. (#3684)
- [ASM] SQL injection vulnerability detection (#3694)
- [ASM] User blocking (#3610)
- [ASM] SDK to track user events for Account Takeover and Business Logic abuse (#3703)
- [ASM] Update format of vulnerabilities Json. (#3705)
- [ASM] Fix waf library loader unit tests (#3706)
- [ASM] Fix rcm integration tests flakiness (#3714)
- [ASM] Fixed typo in function parameter (#3720)
- [ASM][GIT] Fine tuned code owners (#3721)
- [ASM] Aspects code generator tests (#3741)
- [ASM] upgrade WAF to 1.7.0 and WAF rules to 1.5.0 (#3742)
- [ASM] dispose context and nullchecks framework side (#3749)
- [ASM] Correct copy / paste error (#3760)
- [ASM] Removed unnecesary aspects file (#3711)
Continuous Profiler
- Move profiler CI from GitHub Actions to AzDo (#2880)
- [Profiler] Measure profiled and real allocations count/size (#3698)
- [Profiler] Migrate profiler windows integration tests to AzDo (#3737)
- [Profiler] Fix integration tests not running (#3748)
- [Profiler] New scenario: Add endpoint with dots (#3756)
- [AAS/Profiler] Allow sending profiles if Tracer is deactivated (#3697)
Debugger
- [Debugger] Limit snapshot size (#3709)
- [Dynamic Instrumentation] Perf improvements + Added probe metadata payload (#3725)
- [Dynamic Instrumentation] Display interface properties in snapshot (#3761)
Miscellaneous
- Only Check Clsid32 Key If Tracer < 2.14 (#3549)
- Stop using the CorProfiler singleton in rejit logic (#3670)
- [Test Package Versions Bump] Updating package versions (#3691)
- Clean up codebase using clang-tidy (#3716)
- Adds the
ci crank-importcommand (#3722) - Wrap DbCommand.Connection getter with a try/catch (#3730)
- [Tracer] Check that the file in
DD_NATIVELOADER_CONFIGFILEexists before using it (#3738) - Record the MVID of a loaded assembly in dependency telemetry (#3746)
Build / Test
- Add comparison of execution benchmarks posting to PR (#3672)
- Remove sync-over-async from AWS integration and fix flake (#3695)
- Add tests that we never write general ambient env vars to the logs (#3712)
- Force all tests to run as part of scheduled builds on
master(#3724) - Fix osx folder in GetNativeLoaderPath() (#3733)
- Add throughput tests for manual instrumentation scenarios (#3734)
- Make the log output digestable by system tests dashboard (#3739)