Skip to content

Releases: DataDog/dd-trace-dotnet

2.35.0

31 Jul 08:28
8bf7761
Compare
Choose a tag to compare

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)

Changes since 2.34.0

2.34.0

25 Jul 15:25
2e89a5e
Compare
Choose a tag to compare

⚠️ This release contains a known issue with 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 for Span.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)

Changes since 2.33.0

2.33.0

04 Jul 08:55
54061c0
Compare
Choose a tag to compare

⚠️ This release contains a known issue with 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 to 1)

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)

Changes since 2.32.0

2.32.0

20 Jun 09:07
b44416f
Compare
Choose a tag to compare

⚠️ This release contains a known issue with 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] to TracerSettings (#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)

Changes since 2.31.0

2.31.0

31 May 13:00
5a0f7f5
Compare
Choose a tag to compare

⚠️ This release contains a known issue with 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

  • Add an additional scheduled run in which we explicitly enable debug mode (#4105)
  • Include signed dlls in windows-tracer-home artifact (#4164)
  • OSX Improvements (#4193)

Changes since 2.30.0

2.30.0

05 May 08:39
d7e2388
Compare
Choose a tag to compare

⚠️ This release contains a known issue with 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)

Changes since 2.29.0

2.29.0

17 Apr 17:13
d6dc8c0
Compare
Choose a tag to compare

⚠️ This release contains a known issue with 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 with DD_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

  • Capture the sample output in IAST tests (#4021)
  • Fix IAST tests (#4027)

Miscellaneous

  • Add WaitForDiscoveryService test helper (#4023)
  • Bump DatadogTestLogger version to 0.0.38 (#4030)
  • Fix the tracer solution for OSX (#4039)
  • Fix BadImageFormatException that occurred when trace annotations were used in conjunction with DD_TRACE_DEBUG (#4045)

Changes since 2.28.0

2.28.0

12 Apr 08:12
b8edb91
Compare
Choose a tag to compare

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.

⚠️ This release contains a known issue with 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

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)

Changes since 2.27.0

2.27.0

24 Mar 08:51
d9da4df
Compare
Choose a tag to compare

⛔ 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.

⚠️ This release contains a known issue with 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)

Changes since 2.26.0

2.26.0

09 Mar 08:24
1e4d942
Compare
Choose a tag to compare

⛔ 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.

⚠️ This release contains a known issue with 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)

Changes since 2.24.1