Skip to content

Releases: DataDog/dd-trace-dotnet

2.41.0

06 Nov 11:33
b92236e
Compare
Choose a tag to compare

Warning

Due to a bug that can cause applications using ASM to crash under some circumstances, please upgrade to 2.42.0

Summary

  • [Tracer] Improvements to the diagnostic tool
  • [Tracer] Bug fixes for mixed-mode assemblies, ducktyping, and WebRequest handling
  • [Tracer] Provisional support for .NET 8
  • [Continuous Profiler] Workaround for unwinding crash
  • [Dynamic Instrumentation] Added PII redaction support

Changes

Tracer

  • Enabled invariant globalization in dd-trace tool (#4721)
  • Include Datadog.Trace in our root-descriptors file (#4723)
  • Diagnostic tool improvements (#4725)
  • Use dd-dotnet in dd-trace (#4732)
  • Add a better error message when inspecting worker process (#4735)
  • Change the installer message in dd-dotnet (#4746)
  • Add provisional support for .NET 8 (#4731)
  • Add error message when IIS is not found (#4774)
  • [Tracer] Elasticsearch Refactor Part 1 (AIT-8764) (#4767)
  • Remove the check command on OSX (#4769)
  • Update context propagation when using OTEL API is Enabled (#4783)
  • Properly feed the arguments to dd-dotnet (#4775)
  • Add support for NLog 5.2.5 (#4772)

CI Visibility

  • [CI Visibility] - BenchmarkDotNet + Datadog Profiler (#4650)

ASM

  • Improve query string obfuscation regex (#4504, #4764)
  • [ASM] Remove debug mode for unit tests (#4728)
  • [ASM]Cleanup null chars (#4733)
  • [ASM] Update IAST source names (#4755)
  • [ASM] Correct location error (#4780)
  • [ASM] Join with char separator bug fix (#4793)

Continuous Profiler

  • [Profiler] Workaround to avoid unwinding SIGSEGV signal handler (#4753)

Debugger

  • [Dynamic Instrumentation] Fixed a crash caused by improper handling of module unload (#4779)
  • [Dynamic Instrumentation] Added PII redaction support (#4786)
  • [Dynamic Instrumentation] Improved probe status polling mechanism + fixed snapshot issues (#4678)

Serverless

  • [Serverless] Support tracing top-level statements for AWS Lambda (#4535)
  • [serverless][SVLS-579] Add span error metadata to DD Lambda Extension request headers (#4743)
  • [Serverless] [Fix PR-4535] EndInvocationAsync should be awaited. (#4752)

Fixes

  • Handle potential NullReferenceException in DSM (#4744)
  • [Tracing] Fix WebRequest bug with existing distributed tracing headers (#4770)
  • Fix bug when duck typing types with very long names (#4756)
  • Avoid loader injection on (#4760)

Build / Test

  • [SLN file] move new test project into test-applications solution folder (#4798)
  • Bump logger version (#4165)
  • [TESTS] Segregate samples logs (#4698)
  • [TESTS]Added BenchmarkDotNet debug helper (#4717)
  • Update native build to use /FS option (#4718)
  • Tweak CopyNativeFilesForAppSecUnitTests to stop it doing so much work (#4724)
  • [Test Package Versions Bump] Updating package versions (#4734)
  • Make compare_throughput stage more robust (#4739)
  • Merge throughput_appsec into throughput stage (#4740)
  • Fix flaky DSM test (#4741)
  • [Test Package Versions Bump] Updating package versions (#4742)
  • Disable profiling integration tests on non-profiler PRs (#4745)
  • [Test Package Versions Bump] Updating package versions (#4758)
  • [DD Tool] Port message changes to dd tool (#4762)
  • Bump Timeit version to v0.1.14 (#4766)
  • [Test Package Versions Bump] Updating package versions (#4773)
  • Add missing dependencies to dotnet_tool job (#4777)
  • Fix installer smoke tests (#4785)
  • Produce "supported versions" artifacts (#4787)
  • Fix MSBuild location in Nuke (#4790)
  • [Test Package Versions Bump] Updating package versions (#4792)
  • Update python packages and use the new image in gitlab (#4794)
  • Increase timeout for query string obfuscator unit tests (#4802)
  • Try to fix flake in DSM test (#4804)
  • Basic smoke tests for .NET chiseled containers (#4805)
  • Fix compilation errors in CodeQL job (#4768)

Miscellaneous

  • [DSM] - Lag metrics support (original PR #4574) (#4720)
  • Update duck-typing documentation with best-practice recommendations (#4761)
  • Update URLs in README.md (#4778)
  • Delete Telemetry V1 implementation (#4750)
  • Rename TelemetryV2 to Telemetry (#4751)

Changes since 2.40.0

2.40.0

16 Oct 12:51
034fdee
Compare
Choose a tag to compare

Warning

Due to a bug that can cause applications using ASM to crash under some circumstances, please upgrade to 2.42.0

Summary

Fixes a possible application crash when using ASM. This issue was introduced in 2.38.0. If you are using ASM with 2.38.0 or 2.39.0, please upgrade to 2.42.0.

Changes

CI Visibility

  • [CI Visibility] Add support for AWS Code Pipeline (#4714)

Continuous Profiler

  • [Profiler] Add GC benchmarks for Windows (#4708)
  • [Profiler] Add Profiler_Version as exported symbol to allow version check in dumps (#4710)

ASM

  • Fix possible application crash (#4726)

Miscellaneous

  • [Tool] Updating Tool checks for Windows scenarios (#4605)

Build / Test

  • Use dd-dotnet in the nuget smoke tests (#4695)
  • Fix various GitHub Actions (#4716)

Changes since 2.39.0

2.39.0

11 Oct 10:13
7e14cde
Compare
Choose a tag to compare

Warning

Due to a bug that can cause applications to crash under some circumstances, please upgrade to 2.42.0

Summary

  • NLog logs-injection / agentless logging no longer requires configuration changes
  • [CI Visibility] Remove ApplicationKey requirement from Intelligent Test Runner and add Unskippable tests support
  • [ASM] - Weak-randomness vulnerability detection
  • [Profiler] - The profiler takes care of some non-restartable syscalls (ex: select, poll...): restart them if the profiler interrupted them and/or avoid interrupting them whenever it's possible
  • [Profiler] - Fix crash when resolving symbols from unloaded modules (ex: ASP.NET)

Changes

Tracer

  • Make NLog configuration optional for Logs Injection/Agentless Logging (#4616)
  • Introducing the Fault-Tolerant Instrumentation: A Self-Healing Mechanism for .NET Instrumentation Failures (disabled by default) (#4470)
  • Add new dd-dotnet tool (#4623)
  • [Tracer] Use peer.service as dddbs for DBM when available (#4619)
  • [Tracer] add dynamodb integration (#4627)
  • Adjust default log folder when running on AAS (#4656)

CI Visibility

  • [CIVisibility] Enable GZip compression on agentless mode (#4637)
  • [CI Visibility] Intelligent Test Runner - Unskippable tests support (#4645)
  • [CI Visibility] Remove ApplicationKey requirement from Intelligent Test Runner (#4659)
  • [CI Visibility] Ensure Code Coverage percentage is always a valid number for the backend. (#4661)
  • [CI Visibility] Improve unshallowing process with fallback commands (#4663)
  • [CI Visibility] LifeTimeManager handling on VSTest (#4671)
  • [CI Visibility] Simplify CiVisibility Telemetry check (#4679)
  • [CI Visibility] Add dropped payloads Telemetry metric (#4681)
  • [CI Visibility] Fix code coverage reporter (#4689)
  • [CI Visibility] Capture network exceptions for telemetry (#4699)
  • [CI Visibility] Telemetry metrics (#4596)

ASM

  • [ASM] Implementation of the weak randomness vulnerability detection (#4629)
  • [ASM] Fix waf memory tests flakiness (#4636)
  • [ASM] Add IAST throughput tests (#4640)
  • [ASM] Limit number of same warning messages in waf benchmarks (#4643)
  • [ASM] Filter AspNetCore.Correlation.* cookies vulnerabilities (#4652)
  • [ASM] Taint Newtonsoft .net framework request body parameters (#4669)
  • [ASM][IAST] Evidence redaction rules update (#4685)
  • [ASM] Refactor the use of enums for WAF return codes (#4688)

Continuous Profiler

  • [Profiler] Add profiler timeit-based benchmarks (#4408)
  • [Profiler] Wrap socket syscalls to prevent application errors (#4488)
  • [Profiler] Clean up profiler C++ code (#4587)
  • [Profiler] Fix flacky unit test on Alpine (#4647)
  • [Profiler] POC for named pipes based IPC (#4649)
  • [Profiler] Revisit the presence of the wrapping library check (#4655)
  • [Profiler] Check choco exit code and retry if needed (#4665)
  • [All] Run throughput jobs when they should run (#4670)
  • [Profiler] Fix issue with Sentinel One Agent (#4672)
  • [Profiler] Clean up profiler benchmark tests (#4673)
  • [Profiler] Change Garbage Collector frame layout (#4696)
  • [Profiler] Fix unit tests flackyness on Alpine (#4697)
  • [Profiler] Fix Preprocessor variable (#4707)

Debugger

  • [Debugger] Run system tests for debugger scenarios (#4657)

Fixes

  • Delete unused Distribution metric (#4635)
  • Add missing metric in agent writer (#4706)

Miscellaneous

  • [ASM] Move files in incorrect directory (#4687)
  • [DSM] - Lag metrics support (#4574)
  • Revert "[DSM ] - Lag metrics support (#4574)" (#4704)
  • Add support for multiple enums in telemetry source generator (#4631)
  • Store CIVisibility (and shared) metrics separately from APM/ASM (#4634)
  • Add artifact tests for the "run" command (#4639)
  • Source generate the metric collector implementations (#4642)
  • Improve the dd-dotnet.sh error message (#4664)
  • Disable LZMA on Linux (#4668)
  • Publish dd-dotnet symbols with the proper path (#4674)
  • [Tracer][Telemetry] Add incentives to impact the telemetry config when adding an integration (#4701)
  • Record TFM value in telemetry (#4702)
  • Stop using public properties in built-in record methods (#4703)
  • Inject serverless headers in agentless telemetry (#4705)
  • [All] Add build-id to Linux binaries (#4711)

Build / Test

  • Add a dd-dotnet test for named pipes (#4646)
  • Package dd-dotnet with the tracer (#4648)
  • Disable dd_dotnet AOT build in OSX (#4658)
  • Updates to source generators (#4660)
  • Add copyright headers to source generated code (#4662)
  • Add dd-dotnet to bundle nuget package (#4667)
  • Add smoke tests for dd-dotnet.sh and dd-dotnet.cmd (#4675)
  • Fix flake in TracerSettingsTests due to using environment variables (#4677)
  • Try to fix GitLab build (#4684)
  • Move cppcheck calls to separate stage (#4690)
  • Rename intermediate Linux artifacts for consistency (#4692)
  • Re-enable runnign the throughput tests on all PRs (#4693)
  • Bump timeitsharp version (#4694)
  • Try to fix GitLab flake (#4709)

Changes since 2.38.0

2.38.0

20 Sep 12:20
cd4ce84
Compare
Choose a tag to compare

Warning

Due to a bug that can cause applications to crash under some circumstances, please upgrade to 2.42.0

Summary

  • [Tracing] This release mainly contains tracing support for Amazon Kinesis and Azure.Messaging.ServiceBus v7.14.0. For the latter, it builds on top of the built-in OpenTelemetry support so you'll need to set DD_TRACE_OTEL_ENABLED to true to get tracing.
  • [CI Visibility] Support for Code Coverage exclusion filters

Changes

Tracer

  • [Tracer] add Kinesis integration (#4521)
  • [Tracing] Add first-class tracing support for Azure Service Bus (#4575)
  • [DSM] Add datastreams monitoring to Azure Service Bus integration (#4576)
  • Lazy initialize the AggregatedMetrics. (#4602)
  • Fix HeaderTagsNormalizationFixEnabled is not saved in settings (#4604)
  • Fix race-condition in DuckType (#4608)
  • Restrict sending APM-related metrics when running in CI app (#4618)
  • Enable v2 telemetry by default (#4638)

CI Visibility

  • [CIVisibility] Add code coverage exclusion filters (#4507)
  • [CI Visibility] Allow explicitly disabling CI Visibility (#4550)
  • [CI Visibility] dd-trace ci configure improvements (#4572)
  • [CI Visibility] Adds support for System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute (#4590)
  • [CI Visibility] BenchmarkDotNet instrumentation refactor and fixes (#4628)

ASM

  • [ASM] forgotten user blocking capability (#4545)
  • [ASM] Filter azure assemblies in the stack of vulnerabilities (#4577)
  • [ASM] New marshalling system for Waf.Run calls to improve speed and reduce allocations (#4302)
  • [ASM] Waf update to 1.14.0 (#4523)
  • [ASM] IAST fix for the 0 line bug (#4568)
  • [ASM] Add waf benchmark with attack (#4578)
  • [ASM] Iast telemetry metrics: executed instrumentation points (#4586)
  • [ASM] Update IAST instrumented tests scripts for local debugging (#4595)
  • [ASM] Fix IAST MVC telemetry test in Net4 (#4606)
  • [ASM] Improve waf benchmarks (#4609)
  • [ASM] Add request.tainted metric (#4610)
  • [ASM] Update waf ruleset to 1.8 (#4633)

Continuous Profiler

  • [Profiler] Add missing runtime metrics (#4436)
  • [Profiler] Remove unneeded debug logs (to be replaced by frames related metrics) (#4493)
  • [Profiler] Add tests for Wrapper library + pthread_create for alpine (#4560)
  • [Profiler] Improve integration tests output (#4569)
  • [Profiler] Fix log message to have thread id in hexadecimal (#4583)
  • [Profiler] Avoid returning managed thread with invalid handle (#4584)
  • [Profiler] Fix vcxproj and filters (#4585)
  • [Profiler] Add thread start/stop events to timeline (#4597)

Serverless

  • [Serverless][AWS] Fix serialization to use JsonConverter (#4559)
  • Refactor LambdaMetadata settings creation (#4624)
  • Disable telemetry metrics when running in serverless environment (#4625)

Fixes

  • Fix runtime metrics bugs + allow DD_TAGS tagging (#4580)

Build / Test

  • Change Samples.TracingWithoutLimits to use Samples.Shared (#3916)
  • Swap Samples.WebRequest to use Activity (#4101)
  • Assert that we don't timeout for MockTracerAgent (#4486)
  • Add a retry to the macos unit tests (#4571)
  • Try to remove more flake (#4581)
  • Add separate log folder for throughput run (#4594)
  • Crank: add logs as artifacts (#4607)
  • Fix HotChocolate tests and bump version to latest (#4614)
  • Fix flake in smoke tests (#4617)
  • Fix GraphQL integration tests (#4620)
  • Fix flake in telemetry metric unit test (#4622)
  • Fix docker-compose stop related flake (#4626)
  • Update CODEOWNERS for serverless (#4630)
  • Skip flaky Waf Memory Tests (#4641)

Miscellaneous

  • Initial version of the Datadog AutoInstrumentation Generator (#4422)
  • Set the Integration.Enabled telemetry flag for direct log submission (#4552)
  • [Test Package Versions Bump] Updating package versions (#4555)
  • DuckType improvements (#4582)
  • Use alpine base for lib-injection image (#4589)
  • Update native log verbosity (#4591)
  • [Test Package Versions Bump] Updating package versions (#4593)
  • Delete unused helper (#4600)
  • Add support for "missing" tag values in telemetry metrics (#4601)
  • Support for Delegate instrumentation (#4613)
  • Ducktyping ValueWithType struct support (#4621)

Changes since 2.37.0

2.37.0

31 Aug 09:17
1cbf0f9
Compare
Choose a tag to compare

Summary

[DSM] - Report default time in queue and payload size

Changes

Tracer

  • [Tracer] Fix telemetry metrics and add validator (#4543)
  • [Tracer] use 2^64-1 as the modulo in the sampling formula (#4548)
  • [Tracer] Make sure Process is not used concurrently (#4567)

CI Visibility

  • [CI Visibility] ConfigureCiCommand fixes. (#4558)
  • [CI Visibility] Update CI specs (#4565)

ASM

  • [ASM] Create new appsec waf benchmark with benchmark agent (#4534)
  • [ASM] Fix ASM WAF benchmarks (#4547)
  • [ASM] DecompileDelegate lib bugfix (#4554)
  • [ASM] bugfix - stop misreporting RC update failure (#4557)

Continuous Profiler

  • [Profiler] Add Sample value type provider (#4480)
  • [Profiler] Fix race in ManagedThreadList class (#4513)
  • [Profiler] Prevent symbols resolution from crashing on Windows (#4564)

Build / Test

  • Add OpenTelemetry Benchmarks (#4381)
  • Test Package Versions Bump, Updating package versions (#4539)
  • Bump the version of GRPC tested by default (in Windows) (#4542)
  • Validate that we only use known configuration keys in telemetry (#4546)
  • Fix flake in StackExchange.Redis integration tests (#4549)
  • Fix warning in sample (#4551)
  • Add a GH action for forcing required checks for version-bump PR to success (#4556)
  • Fix version-bump PR forcer action (#4563)

Miscellaneous

  • [DSM] - Default time in queue + payload size (#4520)
  • Migrate from Spectre.Console.Cli to System.CommandLine (#4395)

Changes since 2.36.0

2.36.0

23 Aug 10:42
dc5f664
Compare
Choose a tag to compare

Summary

This release:

  • Fixes a regression with runtime metrics introduced in 2.31.0 where memory was not reported correctly
  • WebRequest 4xx responses will not be reported as error if excluded by DD_HTTP_CLIENT_ERROR_STATUSES
  • Add support for identifying PCF container IDs
  • [ASM] Add support for trusted IP
  • [ASM] Add shell commands integration
  • [ASM] IAST: Added detection for SSRF and LDAP injection vulnerabilities.

Changes

Tracer

  • [Agent] Do not retry response codes: 429, 413, and 408 (#4401)
  • [Tracer] Consistent APM tagging for AWS requests (#4474)
  • [Tracer] Logs The Setting used by dbm_propagation_mode to TracerManager (#4476)
  • [Tracer] _dd.base_service now keeps the original service name when changed (#4481)
  • [Tracer] Only tag Spans when DBM TraceParent is Injected (#4483)
  • [Tracer] Fix WebRequest span when HTTP status code is 4XX (#4527)
  • Add support for identifying Pivotal Cloud Foundry container IDs (#4536)

CI Visibility

  • [CIVisibility] Add new Intelligent Test Runner tags (#4458)

ASM

  • [ASM] Add Shell Commands collection (#4181)
  • [ASM] IAST SSRF vulnerability detection (#4451)
  • [ASM] Update waf to version 1.12.0 (#4482)
  • [ASM] add trusted ip capablity (#4503)
  • [ASM] IAST: Ldap injection vulnerability (#4506)
  • [ASM] Improve the stack walker performance (#4537)
  • [ASM] Filter new assemblies in the vulnerability stack (#4501)
  • [ASM] Use of filters in the IAST stack walker (#4522)

Continuous Profiler

  • [Profiler] Clean up logs (#4418)
  • [Profiler] Check HRESULT for generic parameter enumeration (#4443)

Serverless

  • [Serverless] Spawn mini agent in GCP & Azure Functions (#4204)

Fixes

  • Fix runtime metric generation (#4531)

Build / Test

  • Run all the system tests in CI (#4416)
  • Various CI improvements (#4447)
  • Fix GraphQL tests not running against package-versions API (#4455)
  • [Build] Stop running master on the weekend (#4467)
  • [Test Package Versions Bump] Updating package versions (#4473)
  • Bump timeit version (#4478)
  • Assorted speed improvements to tests (#4479)
  • Fix macOS flaky unit test (#4484)
  • Bump timeitsharp version to v0.0.15 (#4485)
  • Update java version to 1.17 (current LTS version) (#4496)
  • Update pull_request_template to mention approval requirements (#4505)
  • [Test Package Versions Bump] Updating package versions (#4510)
  • CI fixes to increase reliability (#4512)
  • More CI fixes to reduce flake (#4514)
  • [Test Package Versions Bump] Updating package versions (#4517)
  • Fix some flake and speed up some integration tests (#4519)
  • Add Nuke helper for performing CPA on pipeline results (#4524)
  • Add github action to run the generate package versions target (#4525)
  • Split system tests as they're on the critical path (#4526)
  • Fix flake in Metrics Telemetry collector tests (#4515)

Miscellaneous

  • Populate extra_services field (#4419)
  • Add docs about testing automatic instrumentation (#4477)
  • [Telemetry] Aggregate metrics in a separate loop (#4491)
  • Don't include app-heartbeat in the first message-batch (#4497)
  • Add Benchmarks public dashboard to the Readme file (#4502)
  • Enable V2 Telemetry and Metrics by default in AAS (#4518)
  • [Tracer] Explicit cases where configuration telemetry isn't recorded (#4464)

Changes since 2.35.0

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