Releases: DataDog/dd-trace-dotnet
Releases · DataDog/dd-trace-dotnet
2.56.0
Summary
- [Tracing] Fix mapping of
http.status_code
OpenTelemetry tag - [Tracing] Fix bug where runtime metrics turns a recoverable OOM into an unrecoverable crash
- [Dynamic Instrumentation] Improve exception replay capturing accuracy
- [Dynamic Instrumentation] Fix potential crash related to exception replay
Changes
Tracer
- Map
http.status_code
to meta dictionary (#5782) - Record when we use v2 instrumentation with a v3 version of the manual tracer (#5791)
- Improve handling of OOM (#5797)
Debugger
- [Exception Replay] Improved exceptions capturing accuracy + fixed a crash caused by mishandling of exception case probe statuses (#5798)
Miscellaneous
- Tracer flare - Inspect the AGENT_CONFIG content to set the log level (#5802)
Build / Test
2.55.0
Summary
- [Dynamic Instrumentation] Fixed rewriting issues stemmed from combination of multiple instrumentations
- [Tracing] dd support for MySql.Data 9.0.0
- [Tracing] Handle unknown service names for OpenTelemetry/Activities
- [ASM] Standalone Billing
Changes
Tracer
- Add support for MySql.Data 9.0 (#5786)
- Correctly set
activityKey
when we change the Trace ID (#5771) - Change unknown_service to DefaultServiceName (#5671)
ASM
- [ASM] Standalone Billing (#5565)
- [ASM] Standalone Billing (part 2: Propagation) (#5743)
- [ASM] Appsec events in meta struct (#5779)
Continuous Profiler
- [Profiler] Support "auto" for profiler enablement (#5766)
- [Profiler] Fix bug when create thread lifetime event (#5769)
Debugger
- [Dynamic Instrumentation] Fixed Instrumentation failures revealed by the Exploration Tests of Line & Method probes (#5784)
- [Dynamic Instrumentation] Fixed SymDB upload when PDB is absent (#5789)
- [Exception Replay] Mitigating an exception thrown while processing the methods participating in exception stack traces (#5783)
Miscellaneous
- [SSI] Bail out on known-faulty .NET 6 version (#5761)
Build / Test
2.54.0
Summary
- [ASM] Exploit prevention: Support SQL Injection attacks
- [Profiler] Add
timer_create
-based CPU profiling on Linux - Multiple fixes
Changes
Tracer
- [Tracer] Rejit refactor to support multiple products in the same method (#5533)
- [Tracer] Move definitions to native side (#5592)
- [Remote Configuration] Buffer the response and include in error (#5675)
- [Dynamic Instrumentation] DEBUG-2356 3rd party detection Include\exclude for SymDB (#5681)
- [TRACER] Ensure synchronization in MethodInfo lazy operations (#5698)
- Config refactor - distinguish between "not present" and "not valid" (#5713)
- Config refactor - support "converters" for other configuration types (#5714)
- Config refactor - fix struct/class
T
nullable ref issues, and allow "raw" access toConfigurationResult
(#5715) - Config refactor - remove duplication and OTel-specific code from
ConfigurationBuilder
(#5716) - [Tracing] fix precedence of remote vs local sampling rules (#5720)
- [Tracer] Extracting Last Parent Id If Conflicting SpanIds are Found with The W3C Headers (#5721)
- Fix flake in
SimpleActivitiesAndSpansTest
(#5735) - [Dynamic Instrumentation] Fix SymDB config keys to match RFC (#5737)
- Do not reset
Activity.Id
for non-W3C formats (#5739) - Fix
ContentEncoding
inIApiResponse
(#5748)
CI Visibility
- Update CI Visibility metrics to latest requirements (#5747)
ASM
- [ASM] Exploit prevention: Support SQL Injection attacks (#5651)
- [ASM] Fix WAF timeout false positives (#5724)
- [ASM] Capture ObjectDisposedException (#5732)
- [ASM][IAST] Add support for CallSites in functions with by ref value type arguments (#5755)
- [ASM] Iast/Rasp vulnerability manager (#5764)
- [ASM] Fix - InvalidOperationException/ConcurrentOperationsNotSupported (#5765)
Continuous Profiler
- [Profiler] Add
timer_create
-based CPU profiling on Linux (#5476) - [Profiler] Add custom dl_iterate_phdr and use it in libunwind (#5660)
- [Profiler] Add heap size metrics (gen2, loh and poh) (#5669)
- [Profiler] Add global flag to prevent the profiler from stackwalking while the app is crashing (#5729)
Debugger
- [Dynamic Instrumentation] Fixed instrumentation error (InvalidProgramException) related to EH clauses (#5774)
Build / Test
- Update Windows hosted image to latest software (#5416)
- Build native test binaries in build jobs (#5614)
- Run smoke tests as though they're in SSI (#5673)
- Enforce not referencing Datadog.Trace directly in sample projects (#5683)
- [builds] fix
build_in_docker
scripts (#5688) - [Tracing] [Samples] Update MicrosoftExtensionsExample.csproj to remove incompatible library (#5689)
- Update codeowners to make Directory.Build.props to make them universal (#5703)
- Build against
macos-12
instead ofmacos-11
(#5707) - Set CODEOWNERS of debugger configuration keys to the debugger team (#5709)
- Add basic smoke tests for macos (#5710)
- Update workflow file again (#5712)
- Try to fix the build by changing BuildId (#5718)
- Fix Gitlab build and codeCoverage bugs (#5723)
- Fix some macOS build issues (#5725)
- Better logs folder creation in chiseled smoke test (#5731)
- Add workflow monitor to all workflows (#5733)
- Minor github action changes (#5734)
- Revert "Add workflow monitor to all workflows (#5733)" (#5741)
- Make BuildTracerHome build the native profiler (#5750)
- Skip flaky tests on .NET Core 2.1 (#5753)
- Add attribute for skipping tests in CI without using
[Fact(Skip = "")]
(#5756) - Re-order integrations folder in CODEOWNERS (#5762)
- Stop testing with a specific build in macos smoke tests (#5772)
- Filter out .NET Core 3.1 NuGet tests in prerelease versions (#5773)
- Switch system-tests to python 3.12 (#5777)
Miscellaneous
- [Test Package Versions Bump] Updating package versions (#5639)
- Single-step guard rails: Use stdin instead of args to invoke telemetry (#5677)
- [Test Package Versions Bump] Updating package versions (#5699)
- [Test Package Versions Bump] Updating package versions (#5727)
- [Test Package Versions Bump] Updating package versions (#5752)
- Lock access to rejitters (#5757)
- Revert native changes that moved the definitions to the native side (#5768)
2.53.2
Summary
- Fixes a bug in remote sampling rules
- Fixes a rare bug in runtime metrics when calling
GetType()
throws
Changes
Tracer
- Avoid infinite recursion in RuntimeMetricsWriter.FirstChanceException (#5704)
- Fix reading JSON-formatted settings in remote config, such as remote sampling rules (#5705)
Miscellaneous
- [CrashTracking] Fix the heuristic to filter out BlockingMiddleware (#5708)
Build / Test
2.53.1
Summary
- Fix crash at shutdown when runtime metrics enabled due to bug in the .NET runtime
- Fix occasional crash with Continuous Profiler
- Various other minor bug fixes
Changes
Tracer
- Handle
NullReferenceException
in EF6 (#5668) - Don't allow enabling UDS on < .NET Core 3.1 and .NET Framework (#5686)
- Prevent
NullReferenceException
whenActivity
IDs arenull
(#5690)
ASM
- [ASM] Fix Null reference exception error (#5664)
- [ASM] Protect NativeLibrary.CloseLibrary (#5682)
- [ASM] Fix null exception security coordinator (#5685)
- [ASM] Fix Security module failed error (#5694)
Continuous Profiler
- [Profiler] Fix possible crash when SSI deployed (#5684)
- [Profiler] Fix crash when different threads are trying to set a class description (#5691)
- [Profiler] Fix typo in crash fix (#5692)
Miscellaneous
- [SSI] Fix some of the single step injection forwarder code (#5678)
- Single-step guard rails: Use stdin instead of args to invoke telemetry (#5677)
- Fix crash at shutdown in runtime metrics (#5696)
- [CrashTracking] Add more exception types (#5697)
Build / Test
- Single-step guard rails: Fix the path of the log file in tests (#5700)
2.53.0
Summary
- [Tracing] Add support for ActivityLinks/OTEL Span Links
- [Tracing] Add support for OpenTelemetry's AddEvent and RecordException API's, and environment variables
- [Tracing] Add support for Serilog v4 and NLog 5.3.0
- [Tracing] Add support for remote configuration of sampling rules and Adaptive Sampling
- [CI Visibility] Add support for Microsoft.CodeCoverage
- [CI Visibility] Add support for UDS and NamedPipes
- [ASM] Enable Runtime Application Self-Protection (RASP) by default
- [Dynamic Instrumentation] Support using Boolean literals in the expression language
- [DBM] Add injection support for Oracle queries (service mode only)
Changes
Tracer
- [Tracer] Support remote config for
DD_TRACE_SAMPLING_RULES
and Adaptive Sampling (#5453) - [Tracer] Finishes Adding Support for ActivityLink (#5627)
- [Tracing] Add standardized support for OpenTelemetry AddEvent and RecordException API's (#5630)
- Add support for Serilog v4 (#5649)
- Remap
http.response.status_code
tohttp.status_code
(#5654) - Exclude vsdbg from tracing (#5657)
- [Tracing] Adds support for mapping stable OpenTelemetry environment variables to their Datadog equivalents (#5661)
- Don't allocate very large buffers when deserializing responses (#5665)
- [Tracer] SpanLinks Permissive null Clean Up (#5674)
CI Visibility
- [CI Visibility] Automatic reporting of Microsoft.CodeCoverage percentage (#5633)
- [CI Visibility] UDS and NamedPipes support (#5634)
ASM
- [ASM] Update WAF log messages (#5571)
- [ASM] Improved Unsafe Encoder readability (#5587)
- [ASM] Add the span id to the RASP events (#5588)
- [ASM] Add test for null response in aspnet core (#5590)
- [ASM] RASP: Add stack trace bottom and top filtering (#5621)
- [ASM] Enable RASP by default (#5625)
- [ASM] Capture exception to avoid errors (#5662)
- [ASM] Fix CloseLibrary condition (#5667)
- [ASM][IAST] Add
_dd.iast.json.tag.size.exceeded
telemetry metric (#5641)
Continuous Profiler
- [Profiler] Fix services start/stop (#5616)
- [Profiler] Few missing changes for IService startup/stop (#5619)
- [Profiler] Improve configuration aroung SSI/non-SSI (#5620)
- Add a space before |fg: in case of an unknown type (#5624)
- Normalize the profiler thread names (#5626)
- [Profiler] Investigate and fix profiler benchmarks failures (#5631)
Debugger
- [Dynamic Instrumentation] Aligned the line probe snapshot to fix System Tests failures (#5628)
- [Dynamic Instrumentation] Check specific path for diagnostics upload (#5461)
- [Dynamic Instrumentation] Cleansing third party module names to avoid conflicts with customer's modules (#5622)
Fixes
- Fix RCM Capabilities bugs (#5606)
- Fix NLog direct log shipping 5.3+ when no config is present (#5609)
Miscellaneous
- [DBM] add injection support for oracle queries (but only service mode) (#5506)
- [CrashTracking] Check if native crashes are caused by Datadog (#5573)
- Make crash tracking opt-out (#5582)
- [Test Package Versions Bump] Updating package versions (#5605)
- Fix NLog direct log shipping 5.3+ when no config is present (#5609)
- Record SSI injection values in configuration (#5611)
- Single-step guard rails: Move version.h to shared code (#5635)
- Single-step guard rails: Update
RuntimeInformation
to include "inferred" runtime version (#5636) - Single-step guard rails: telemetry (#5637)
- Normalize the tracer thread names (#5644)
- Update libdatadog to v10 (#5653)
- [CrashTracking] Let libdatadog set the endpoint (#5666)
- [Crashtracking] Mark DD_* threads as suspicious (#5647)
Build / Test
- Display C++ static analysis errors in the CI output (#5608)
- chore(lib-injection): update base image to alpine 3.20 (#5613)
- Set LD_PRELOAD in integration tests (#5617)
- [SINT-1401] update windows code signer to v0.2.3 (#5629)
- Ensure we catch exceptions in named pipe mock agent (#5646)
- Fix broken tests that only run on main (#5670)
- chore(serverless): update
CODEOWNERS
(#5672) - [Profiler/Tracer] Bump FluentAssertions to 6.12.0 (#5599)
- [Profiler] Capture dump on timeout in wrapper tests (#5602)
- [Profiler] Fix race condition in SocketTimeout (#5648)
2.52.0
Summary
- [CIVisibility] Fixes for
test.command
tag value and version-conflict scenarios - [ASM] Adds support for session-timeout vulnerability
- [ASM] Adds support for Grpc.AspNetCore source tainting and exclusion marks
- [Tracing] Single step instrumentation no longer instruments EOL runtimes by default
Changes
Tracer
- [Tracer] Delay sampling decisions (#5306)
- [Tracer] Only set
_dd.agent_psr
tag when using sampling rates from Agent (#5545) - Refactor
LifetimeManager
callbacks forUnhandledException
(#5557)
CI Visibility
- [CIVisibility] Add SourceLink support to CIEnvironmentValues (#5535)
- [CI Visibility] IPC subsystem (#5537)
- [CI Visibility] - Close and flush incomplete TSLV objects before exiting (#5549)
- [CI Visibility] Send data to the test session using IPC (#5551)
- [CIVisibility] Fix test.command tag value (#5560)
- [CIVisibility] Add a code coverage injection session tag (#5561)
- [CIVisibility] Tag profiles created by BenchmarkDotnet integration and add the IgnoreProfileAttribute (#5568)
- [CIVisibility] Fix support for custom spans with version mismatch (#5578)
ASM
- [ASM][IAST] Add source tainting for Grpc dotnet (#5473)
- [ASM] Rasp sinks instrumentation (#5512)
- [ASM][IAST] Add vulnerability marks to Range + Add the mark to Escaped XSS (#5531)
- [ASM] RASP span metrics (#5542)
- [ASM] Upgrade WAF to version 1.18 (#5546)
- [ASM] Remove the need to pass httpcontext to SecurityCoordinators (#5548)
- [ASM][IAST] Session Timeout vulnerability (#5559)
- [ASM][IAST] Fix System.Text.Json: Properly implement GetRawText() aspect (#5572)
- [ASM] Fix null ref (#5596)
Miscellaneous
- Bail out of instrumentation in SSI when an unsupported platform is detected (#5524)
- Don't instrument most
dotnet
SDK calls (#5564) - [Test Package Versions Bump] Updating package versions (#5569)
- [Test Package Versions Bump] Updating package versions (#5585)
- Crash tracking (#5451)
Build / Test
- Update
CODEOWNERS
for APM SDK IDM ownership (#5525) - [All Natives] Fix C5105 Warning for Windows Native Projects (#5541)
- Update lib-injection docker image tags (#5544)
- Try fixing flake in
TelemetryControllerShouldUpdateGitMetadataWithTelemetry
on macOS (#5547) - "Manually" install MSI dependencies instead of using choco install (#5553)
- Update the .DotSettings in
_build
(#5555) - Remove span count assertions from Azure Function tests (#5556)
- [Tracer] scrub
_dd.agent_psr
from test snapshots (#5562) - If a lot of snapshots have changed, we should check them all (#5563)
- [Build] Fix chiseled smoke tests jobs + capture coredump when crashing in all smoke tests jobs (#5570)
- Failing serverless tests are not reported in CI (#5574)
- [Tests] add null checks in
VerifyHelper
(#5575) - Fix dependabot and improve
GeneratePackageVersions
(#5579) - Disable automatic flush in AgentWriterTests.FaultyApi (#5581)
- Improve lib-injection tagging script (#5598)
- Bump Fody from 6.8.0 to 6.8.1 in /tracer/src/Datadog.Trace (#5576)
- [Tracer][Tests] scrub
_dd.agent_psr
tag fromTraceAnnotationsTests
snapshots only (#5591)
2.51.0
Summary
- [APM] Fix rare
TypeLoadException
when running instrumented code - [APM] Fix issue with runtime metrics that could cause memory usage to be reported as negative on x86
- [IAST] Directory listing leak vulnerability detection (Kestrel)
- [ASM] RASP: SSRF blocking. LFi reporting.
- [CI Visibility] Early Flake Detection
- [CI Visibility] Selenium + RUM support
- [Dynamic Instrumentation] Supporting putting a probe in a method which uses a pointer and pinned local variable
- [Profiler] Several fixes
Changes
Tracer
- Encode the last seen Datadog span ID within
tracestate
(#5176) - Check to ignore Activity when creating TraceID (#5318)
- read variable responsible for enabling SCA (#5432)
- Fix sending
Content-Length: 0
when using chunked-encoding (#5445) - Add full support for multipart form requests (#5448)
- Avoid batching updates in runtime metrics (#5469)
- Update
RegexBuilder
to accept aTimeout
so we can reduce flake (#5471) - [Tracing] sampling code cleanup (#5477)
- Switch memory mapped counters to unsigned (#5480)
- Fix nullable reference bugs in Kinesis integration (#5528)
CI Visibility
- [CI Visibility] Early Flake Detection (#5320)
- [CI Visibility] - Improvements to the
dd-trace ci ...
commands (#5468) - [CI Visibility] - Selenium + RUM support (#5505)
- [CI Visibility] - Ensure continuous profiler flush on CI Visibility close method (#5513)
- [CI Visibility] - Fix force Evp proxy environment variable (#5526)
- [CI Visibility] Add linux
whereis
command as a fallback to locate the target binary. (#5532)
ASM
- [ASM][IAST] Add Directory listing leak vulnerability (kestrel) (#5475)
- [ASM] change env variable name to remove experimental keyword (#5478)
- [ASM][IAST] Add exception for Vary: Origin (#5486)
- Send Rasp settings. Change codeowner file for snapshots. (#5490)
- [ASM] RASP: Lfi reporting (#5491)
- [ASM] Rasp: Block SSRF attacks (#5507)
- [ASM] Add stack traces to the span for RASP vulnerabilities (#5515)
- [ASM] Add RASP telemetry (#5527)
- Update WAF to version 1.17 (#5463)
- Fix
RegisterIastAspects
signature (#5474)
Continuous Profiler
- [Profiler] Fix crash in Sampler at shutdown (#5483)
- [Profiler] Fix various thing in the profiler testing infrastructure (#5495)
- [Profiler] Fix bug debug info store & line of code (Code viewer) (#5496)
Debugger
- [Dynamic Instrumentation] Fix
System.ArgumentNullException
while processing span decoration probes with empty tags (#5444) - [Debugger][Test] skip some tests that fail in
DEBUG
mode (#5452) - [Dynamic Instrumentation] DEBUG-2320 Support pointer and pinned local (#5464)
- [Dynamic Instrumentation] DEBUG-2321 Add local pinned and pointer for instrumentation verification (#5465)
- [Dynamic Instrumentation] DEBUG-2322 Find correct member ref based on best candidate (#5467)
- [Dynamic Instrumentation] Fix PinnedLocalTest (#5511)
- [Dynamic Instrumentation] Add 'connectionString' to the list of redacted values (#5487)
- [Dynamic Instrumentation] Do not create probe processor and rate limiting for unbound line probes (#5503)
- [Dynamic Instrumentation] Consolidate PII redaction keys for all libraries. (#5522)
Serverless
- [Serverless] add
CI_COMMIT_TAG
to be sent downstream (#5460)
Build / Test
- Avoid more flake in smoke tests (#5413)
- Try again to fix dd-trace build (#5429)
- Refactor test infrastructure to support chunked encoding/gzip correctly (#5446)
- Add testing of
IMultipartApiRequest
for UDS, streams and gzip (#5447) - [CI] Minor cleanup (#5450)
- Fix dotnet_tool build (#5470)
- Fix some flaky tests in IAST and sampling (#5472)
- Ignore expected CI Visibility error (#5482)
- [CLI Tool] Updated COMPlus_EnableDiagnostics Message (#5485)
- Simplify CI Visibility snapshot names (#5488)
- [CI] Fix flake in Git Telemetry (#5497)
- Remove direct references to Datadog.Trace from Security samples (#5500)
- Fix DSM SQS tests (#5530)
Miscellaneous
- Calltarget
ref struct
support (#5442) - [APM] Add git reference to application telemetry (#5459)
- Don't send errors from Exceptions during requests to RCM (#5466)
- Fix git metadata collection (#5489)
- Fix race condition when initializing metadata (#5508)
- Remove some write flags from
GetModuleMetaData
calls (#5517) - Prefix dynamic assemblies with "Datadog." (#5523)
- Include inner exceptions in the telemetry logs (#5529)
2.50.0
Summary
- [CI Visibility] - Improvements for MSTest: custom
TestMethod
, customDisplayName
, and missing tests - [IAST] - NHibernate SQLI vulnerability detection
- [ASM] - Add support for null-returning controller actions
- [Dynamic Instrumentation] - Improvements to async method handling
- [Dynamic Instrumentation] - Improvements to symbol database
- [Profiler] Performance improvements have been made and reduce the profiler overhead
Changes
Tracer
- [ASM] Report external wafs headers (#5178)
- Add rate limit for the log written by
TraceRateLimiter
(#5229) - Optimize HttpMessage.GetContentEncoding using spans (#5301)
- Use
TraceId128
in log instead ofTraceId
(#5312) - Use vendored span in HexString (#5313)
- Add support for span links (#5354)
- [Tracing] Add
IsRemote
toSpanContext
(#5385) - Adding nullability to CallTarget code and null checks to the ducktyping constraints proxy (#5393)
- Add try/finally to Msmq integration (#5457)
CI Visibility
- [CI Visibility] - New CI Visibility code coverage algorithm (#5254)
- [CI Visibility] Fix some test to avoid flakiness on retries. (#5325)
- [CI Visibility] - MSTest2 Improvements and Fixes (#5381)
- [CI Visibility] - Fix ITR Code Coverage collector attach algorithm (#5412)
- [CI Visibility] - Find .git folder when using GetFrom method as a fallback (#5425)
ASM
- [ASM][ApiSecurity] Change Api Securitysampling algorithm (#5257)
- [ASM] never log WAF at debug level, since (#5295)
- [ASM] Dont deserialize rcm payloads until they are needed for memory optimization (#5296)
- [ASM] Fix our legacy encoder benchmarks memory leak (#5308)
- Fix how security settings are read (#5317)
- [ASM] Ensure new sample and agent are used on each test (#5339)
- [ASM][IAST] NHibernate support (SQLI Vuln) (#5347)
- [ASM] Fix nullreference exception escalation on response body instrumentation for NET Fx (#5365)
Continuous Profiler
- [Profiler] Use a homemade implementation of linked-list (#5284)
- [Profiler] Add FlushProfile public method (#5303)
- [Profiler] Remove flakiness for GC CPU comsumption (#5323)
- [Profiler] Add callstack provider (#5328)
- [Profiler] Avoid named pipe test flackiness (#5331)
- [Profiler] Bump to libdatadog 8 (#5348)
- Update libunwind to 1.8.1 (#5358)
- [Profiler] Fix bug in case of Agent error with .NET Framework (#5368)
- Include the libunwind double-free fix (#5397)
- [Profiler] Upgrade cppcheck to 2.12 (#5398)
- Fix profiler integration tests (#5423)
- [Profiler] Move GetAppDomain to ManagedThreadInfo (#5427)
- [Profiler] Pass memory_resource around (#5434)
- [Profiler] Fix possible crash when Agent does not answer namedpipe connection (#5437)
- [Profiler] Fix use-after-free ASAN diagnostic (#5441)
Debugger
- [Dynamic Instrumentation] Consider 3rd party assemblies on SymDB (#5380)
- [Dynamic Instrumentation] Support legacy endpoint for diagnostics uploading (#5456)
- [Dynamic Instrumentation] Reduce allocations in probe processing (#5132)
- [Dynamic Instrumentation] Handle Out Of Range exception in SymDB (#5162)
- [Dynamic Instrumentation] Fix number of locals in async method (#5131)
- [Dynamic Instrumentation] Add NotCapturedReason for unreachable local var value in async method (#5161)
- [Dynamic Instrumentation] Normalize redaction keywords + add missing keywords (#5350)
- [Dynamic Instrumentation] Acknowledge log probe capture limits (#5364)
- [Dynamic Instrumentation] Added emitting status for probes (#5372)
- [Dynamic Instrumentation] Introduce diagnostics endpoint (#5373)
- [Dynamic Instrumentation] Temporary disable system tests (#5411)
- [Dynamic Instrumentation] Fix type of local in async method (#5414)
- [Dynamic Instrumentation] Fix probe status upload + refactor upload process (#5422)
Exception Debugging
- [Exception Debugging] Introducing the Exception Debugging product (#5163)
- [Exception Debugging] Minor post-merge fix to Exception Debugging unwinding logic (#5327)
- [Exception Debugging] Better communicate non-captured exceptions (#5371)
- [Exception Debugging] Enhanced the reporting of non-captured exceptions (#5391)
Serverless
Fixes
- Add some more
#nullable enable
(#5332)
Build / Test
- Fix 2.7.0 XUnit tests (#5341)
- Update CI support for release branches (#4811)
- Add explicit "clean" step to clone repo (#5309)
- Clean dangling AgentWriter instances in unit tests (#5311)
- Fix lib-injection container images (#5322)
- Increase the margin for the number of threads in RuntimeMetricsWriterTests (#5329)
- Remove automatic deploy to di (#5330)
- [Test] Running AspNetCore5IastTestsFullSampling Tests Serially (#5333)
- Disable inlining for restsharp exploration tests (#5335)
- Start pushing
latest_snapshot
images for lib-injection images (#5336) - Filtering out Timer ExitApp span (#5337)
- [Test Package Versions Bump] Updating package versions (#5338)
- [ci] Add oci package build (#5340)
- Update CODEOWNERS file for MethodSymbolResolver.cs (#5342)
- [Build] Extend Azure Service Bus testing from versions 7.4.x - 7.17.x (#5343)
- Disable Inlining to 0 for both Cake & swashbuckle tests (#5344)
- Disabling ASM Throughput Job (#5345)
- Running all WafLibraryRequiredTest tests serially (#5346)
- Exclude known error from smoke tests (#5349)
- Update some packages (#5353)
- Fix some warnings in the samples (#5366)
- separate DSM tests for more clarity (#5367)
- Fix smoke test issue and pin versions (#5376)
- Fix some more build warnings from the samples (#5378)
- Don't print snapshots diff unless running in CI (#5379)
- [Auto instrumentation generator] Add support for nested types (#5382)
- K8s Lib Injection: Migration (#5383)
- Try fix macos unit test crash (#5384)
- Try working around missing Docker Compose v1 in hosted runners (#5386)
- Really clean up before doing anything (#5387)
- Only publish
:latest
lib-injection container images on merges to master (#5388) - Temporarily disable profiler CppCheck (#5389)
- Split the macos build into 2 jobs and parallelise (#5390)
- Ensure we also clean hidden folders (#5399)
- Use docker mirror image in GitLab instead of dockerhub (#5401)
- Remove direct reference to Samples.AspNetCore.RazorPages from integration test project (#5402)
- Set the obfuscation querystring regex to something large to avoid flake in integration tests (#5403)
- Don't specify port for Yarp test to avoid flake (#5404)
- [Test Package Versions Bump] Updating package versions (#5405)
- Update approvals for debugger async tests (#5406)
- Update GitHub token to one that's not about to expire (#5407)
- Ignore complaints from NuGet about out of support packages (#5415)
- Add an explicit "clean docker" step (#5417)
- Don't re-build everything when building the runner in CI (#5424)
- Bump the timeout of the integration_tests_windows stage (#5426)
- Bump the macos timeout (#5430)
Miscellaneous
2.49.0
Summary
- Significantly improved runtime metrics performance
- Fixes for MSTestV2 integration on .NET Framework
- Fixes for IbmMq instrumentation for DSM
- Added additional integration and improvements for IAST
- Added
DD_TAGS
to snapshot query parameter for Dynamic Instrumentation
Changes
Tracer
- [Tracing] Support configuring
DD_TRACE_ENABLED
remotely (#5181) - Add support for
DD_DOGSTATSD_URL
(#5224) - Minor (potential) fixes for
NullReferenceException
(#5230) - Warm up the query string obfuscator regex (#5266)
- Include the trace sampling priority in the span debug log (#5274)
- [Tracer] Include propagation style in the configuration log (#5275)
- Fix errors identified from telemetry (#5279)
- Allow skipping span generation in
ProcessStart
integration (#5280) - Don't allow adding
null
to the GRPC headers (#5286) - Add
meta_struct
capability to the tracer (#5287) - Handle case where
SetExceptionTags()
throws (#5291) - Use vendored spans in tags generation (#5298)
- Optimize runtime metrics (#5304)
- [Tracing] Update instrumentation point for DD_TRACE_DELAY_WCF_INSTRUMENTATION_ENABLED=true (#5206)
CI Visibility
- [CI Visibility] - Enable snapshot testing of current testing framework implementations (#5226)
- [CI Visibility] - Add a rate limit to the warning message of the OriginTagTraceProcessor (#5261)
- Disable profiling in benchmarks (#5262)
- [CI Visibility] Fix MSTestV2 integration on .NET Framework (#5269)
ASM
- [ASM][IAST] Insecure Auth Vulnerability (#5148)
- [IAST] Added tests cases for Custom Manual and Attribute spans (#5218)
- [ASM][IAST] Support manual JSON deserialisation (System.Text.Json) (#5223)
- [IAST] XSS vulnerability (#5231)
- [ASM] Rework encoder telemetry and logs (#5234)
- [ASM][IAST] Support manual JSON deserialisation (Newtonsoft.Json) (#5238)
- [IAST] Set redaction config values according to documentation (#5242)
- [ASM] Add processors and scanners to ruleset (#5248)
- [ASM][IAST] Support manual JSON deserialisation (JavaScriptSerializer) #5238 (#5251)
- [ASM] Exclude NHibernate from callsite instrumentation (#5265)
- [ASM][IAST] Configure maximum IAST Ranges (#5292)
- [ASM] Deactivate benchmark for legacy encoder to help CI (#5299)
- [IAST] Vulnerability and Evidence truncation (#5302)
- [ASM] Try fix memory buildup in asm benchmarks removing destructor in Obj (#5305)
- [ASM] Add dummy agent writer for benchmarks (#5307)
- [ASM] - Fix HttpRequestValidationException Error (#5221)
- [IAST] Path in location is always the fully qualified type name (#5256)
- [IAST] Fix version parsing in Dataflow (#5263)
Continuous Profiler
- [Profiler] Force gen2 GCs to avoid test flakyness (#5273)
- [Profiler] Exclude export error message from flaky test (#5277)
Debugger
- [Dynamic Instrumentation] Fix not equal (ne!=) operator in EL (#5212)
- [Dynamic Instrumentation] Remove async void in SymbolsUploader (#5155)
- [Dynamic Instrumentation] Adding ddtags to snapshot query parameter (#5210)
Build / Test
- Enable Datadog static analysis (#5057)
- Try play asm benchmark only on appsec changed (#5066)
- Report library configuration through telemetry (#5126)
- Removing check to allow the test to create snapshots (#5246)
- [Tracer] Adding Optional Parameter for MockTraceAgent's WaitForSpans (#5253)
- [Tracer] Fixing Missing Query String for CleanUri_HttpUrlTag Tests (#5258)
- [Tracer] Updating GrpcLegacy Sample App and Tests (#5264)
- Add analyzer to avoid implicitly capturing parameters with primary constructors (#5276)
- add a test case where message attributes are null (integration tests) (#5282)
- Skip .NET Core 2.1 tests on ARM64 (#5283)
- Set big regex timeouts for tests (#5297)
- Running All Datadog.Trace.ClrProfiler.IntegrationTests Tests Serially (#5310)
- Fix: Skip System.Text.Json tainting tests on netcore3.0 (#5314)
- Skipping 3.0 Snapshot Check (#5316)
- [Tracer] Increasing GraphQL ObfuscationQueryStringRegexTimeout To Prevent Flakes (#5255)