Releases: DataDog/dd-trace-dotnet
2.41.0
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
intothroughput
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
2.40.0
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
2.39.0
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
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
anddd-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)
2.38.0
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
andAzure.Messaging.ServiceBus
v7.14.0. For the latter, it builds on top of the built-in OpenTelemetry support so you'll need to setDD_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)
2.37.0
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
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
2.36.0
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
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)
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)