Releases: DataDog/dd-trace-dotnet
2.35.0
Summary
This release mainly contains the last details of the preparatory work for the new service representation. It also disables the DBM and APM connection when executing a StoredProcedure
command.
Changes
Tracer
- [Tracer] v1 Schema: Update AWS SNS spans (#4427)
- [Tracer] Add
peer.service
to RabbitMQ integration (#4341) - [Tracer] Avoid including
peer.service
in Kafka inbound flow (#4428) - [Tracer] Separate inbound, outbound, and client flows for msmq (#4432)
- [Tracer] Add
peer.service
to Service Remoting integration (#4435) - [Tracer] Don't inject DBM data into stored procedures (#4466)
- [Tracer] Ensure the configuration of the trace context propagator is included in our telemetry (#4460)
Miscellaneous
- [RabbitMQ] Add tracing for basic.consume, and add queue name as tag to DSM data on consume (#4398)
- Add known limitations from method_rewriter.cpp to docs (#4405)
- Update duck typing docs (#4417)
- [Test Package Versions Bump] Updating package versions (#4441)
Build / Test
- Fix aspect definition order once and for all (#4438)
- Various test improvements (#4439)
- Fix
create_draft_release
when not specifying a specific commit (#4446) - Update the Rel Env docker-image workflow (#4448)
- Change di backend repo to run dogfood pipelines (#4449)
- [Release] Remove the extra CI variables (#4452)
- Tweak GitLab jobs (#4453)
- Fix flaky rabbitmq datastreams test (#4457)
2.34.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
- Improved WCF support for begin/end async operations and distributed tracing over TCP
- Improvements to OpenTelemetry support
- Add signature to methods in Profiler
Changes
Tracer
- Replace the spinlock by a monitor in dogstatsd (#4328)
- Log header warnings only once (#4369)
- [Tracer] v1 Schema: Update AWS SQS spans (#4386)
- [Tracer] v1 Schema: Update Aerospike spans (#4333)
- [Tracer] v1 Schema: Allow
peer.service
override (#4335) - [Tracer] v1 Schema: Update AWS SQS
inbound
spans (#4434) - [Tracer] Use
ScopeContext
instead of deprecated MDC for NLog 5.0.0 and higher (#4223) - Improve
NativeCallTargetDefinition
marshalling (#4326) - Fail gracefully when running with
NetFx40_LegacySecurityPolicy
(#4358) - [Tracer] [Kafka] Directly use SetMetric instead of SetTag (#4370)
- [Tracer] WCF integration to read WCF message headers (#4387)
- Default to
Activity.OperationName
forSpan.OperationName
(#4409) - Truncate mongodb query tag to 5K and Remove Generic Binary (#4421)
- Add better support for begin/end async operations in WCF (#4423)
CI Visibility
- [CI Visibility] - Fix ITR skipped test spans (#4352)
- Add SetTag(string, double?) extension method (#4380)
- Add TelemetryMetric to SetTag and remove GetTagObject (#4389)
ASM
- [ASM] fix error: run the waf once outside of the loop (#4338)
- [ASM] Check the path params count once list is finally built (#4365)
- [ASM] Fix appsec status log message (#4397)
- [ASM] Added 1 hour timer to vulnerability deduplication (#4411)
Continuous Profiler
- [Profiler] Add signature to methods name (#4170)
- [Profiler] Fix bug in GC threads reporting feature (#4351)
- [Profiler] Bump libdatadog to 3.0.0 (#4356)
- [Profiler] Fix a potential bug in libunwind-datadog (#4366)
- [Profiler] Fix frame store for allocation recorder (#4382)
- [Profiler] Fix flacky test (#4383)
Dynamic Instrumentation
- [Dynamic Instrumentation] Fixed NRE in locals name mapping (#4348)
Telemetry
- Refactor
TelemetryControllerV2
to be a singleton (#4354) - Update Telemetry transport retry handling (#4371)
- Include
app-closing
in final batch (#4375) - More telemetry fixes (#4359)
- [Telemetry] Capture metrics on fixed 10s interval and avoid drift in timer (#4388)
- Minor refactor of
BatchingSink
(#4402)
Miscellaneous
- [BugFix] Break recursion in GetTypeInfo (#4415)
- Fix IntegrationDefinitions generics and null parameter types (#4407)
- [Test Package Versions Bump] Updating package versions (#4161)
- Bump to Serilog v3 (#4294)
- Ignore telemetry.sdk.* tags in OpenTelemetry 1.5.1 snapshots (#4330)
- Enforced order in aspects generator (#4342)
- [Diagnostic] Report process name (#4353)
- [Test Package Versions Bump] Updating package versions (#4363)
- [Test Package Versions Bump] Updating package versions (#4400)
- [Test Package Versions Bump] Updating package versions (#4404)
- [Test Package Versions Bump] Updating package versions (#4414)
- Swap to Datadog as default propagation style (#4420)
- Revert "Swap to Datadog as default propagation style (#4420)" (#4442)
- [ASM] Waf version upgrade to 1.11.0 (#4355)
- Revert "[ASM] Waf version upgrade to 1.11.0 (#4355)" (#4430)
Build / Test
- Remove AWS Lambda integration tests for <net6.0 (#4391)
- Add version/license/description to .deb and .rpm packages (#4377)
- Update test agent configuration (#4378)
- [Release] Fix the onboarding pipeline (#4347)
- Fix generated aspects order (#4379)
- Bump .NET SDK to 7.0.306 (#4289)
- [Release] Deploy AAS test apps twice a week to monitor memory leaks (#4322)
- [CI] A try to reducing flakiness (#4336)
- Add INTEGRATIONS system tests to Dotnet Tracer CI (#4345)
- Fix system-tests lib-injection (#4349)
- update CI parametric tests (#4350)
- Update GitLab code-sign step (#4374)
- Fix "obsolete warnings in NLog sample (#4384)
- Download cppcheck from blob storage and check the hash (#4392)
- Add AWS SNS integration automated tests, interation 1 (#4394)
- Pin aerospike server to single version (#4396)
- [Tests] Reintroduce retry on RuntimeMetricsTests with NamedPipes (#4406)
- [Builds] Update Reports comments to be updates (#4425)
2.33.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] AWS SDK SNS context propagation (broken in 2.32.0) has been fixed.
- [Tracer] Preparatory work for Dynamic Configuration and new service representation.
- [Tracer] Telemetry about the tracer's health can now be collected. It is disabled for now but will be rolled out slowly in the coming weeks.
- [Profiler] Report GC CPU time (disabled by default for now, to enable it set the environment variable
DD_INTERNAL_GC_THREADS_CPUTIME_ENABLED
to1
)
Changes
Tracer
v1 Schema
- [Tracer] v1 Schema: Update gRPC client spans (#4243)
- [Tracer] v1 Schema: Update CosmosDb spans (#4247)
- [Tracer] v1 Schema: Add peer.service tag to StackExchange and ServiceStack spans (#4261)
- [Tracer] v1 Schema: Update Couchbase spans (#4278)
- [Tracer] v1 Schema: Use existing tags for
_dd.peer.service.source
(#4306) - [Tracer] v1 Schema: Update MSMQ spans (#4309)
Dynamic configuration
- [Tracer] Implement dynamic configuration (#4235)
- [Tracer] Move RCM state to the subscription manager (#4304)
Telemetry
- [Tracer] Send the telemetry app-started event only once (#4319)
- [Tracer] Add more telemetry metrics (#4269)
- [Tracer] Fixes for telemetry (#4291)
- [Tracer] Fix integration_name tag name (#4334)
Fixes
- Extract OpenTelemetry exception attributes (#4273)
- [Tracer] Fix Kafka span.kind tag regression (#4310)
- [Tracer] Fix
DuckTypeException
in earlier CosmosDb versions (#4325)
CI Visibility
- [CIVisibility] Improving client side commands for git metadata upload (#4312)
ASM
- [ASM] Instrument all the string builder methods (#4276)
- [ASM] Fix: avoid racing condition errors in IAST. (#4281)
- [ASM] Change the server.request.uri.raw WAF address (#4283)
- [ASM] path params: Dont run waf if no data (#4284)
- [ASM] Add support for ASM metrics (#4293)
- [ASM] Implement WAF metrics - part 1 (#4297)
- [ASM] User events auto instrumentation in .Net Core: extended mode (#4301)
- [ASM] Insecure cookies vulnerability (#4317)
Continuous Profiler
- [Profiler] Add CPU time for GC threads (#4256)
- [Profiler] Adjust label value to make it cleaner to display (#4280)
- [Profiler] Propagate git repository url and commit hash from tracer to profiler (#4298)
- [Profiler] Remove Profiler Github Actions CI (#4300)
- [Profiler] Enable new profiler and internal features for sanitizer jobs (#4318)
- [Profiler] Avoid loading more than 1 profiler instance (#4321)
- Fix compilation warnings (#4324)
Debugger
- [Dynamic Instrumentation] Installing unbound probes upon module load (#4132)
- [Dynamic Instrumentation] Enable mixed instrumentation types on the same method (#4231)
- [Dynamic Instrumentation] Fixed update of probes (#4315)
Serverless
- Fix SNS Context Propagation (#4305)
Miscellaneous
- Use string create if net6.0 or greater (#4183)
- Allow shared call targets instrumentation with flags (#4271)
- Revert removing IL2026 warning from customer trimming process. (#4295)
- Add CorProfilerInfo7::ApplyMetadata call (#4296)
- Handle new StyleCop errors (#4299)
- [Release] Sign and upload our packages to the agent repository for libinjection (docker/bare metal) (#4303)
- Fixup Datadog.Trace.sln file so it loads correctly on VS 2022 (#4314)
Build / Test
- Add Windows support for -TestAllPackageVersions (#4277)
- Fix more trim warnings (#4282)
- [Tooling] Use pagination for code freeze (#4285)
- [Release] Deploy AAS test apps twice a week to monitor memory leaks (#4286)
- [Build] Remove the 3rd party pipeline (#4307)
- Bump NuGet.CommandLine from 5.9.2 to 5.11.5 in /tracer/build/_build (#4323)
- Fix the namedpipes runtime metrics tests (#4329)
- [Release] Move git tag creation back to before creating the release (#4339)
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
TracerSettings
in 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
nullable
and more tests for configuration (#4139) - [Tracing] Fix potential recursion in managed loader by moving log message (#4153)
- [Tracing] Allows Adding
service
level 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
Debug
build 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)
IntegrationTelemetryCollector
should only return changed integrations (#4142)- Record enabled products in telemetry (#4143)
- Properly handle a wrong setup where
DD_DOTNET_TRACER_HOME
isn'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
MessagePack
to 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.Never
to 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
obj
as 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::profiler
null 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
BadImageFormatException
that 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
RawSample
classes 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_index
to 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
ZipMonitoringHomeLinux
task (#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.url
for 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)