Releases: DataDog/dd-trace-dotnet
Releases · DataDog/dd-trace-dotnet
3.45.0
Summary
- [Tracing] Add experimental http/protobuf support for OTLP traces export (#8645)
- [AppSec] APPSEC-65483 Collect Datadog security-testing headers on entry spans (#8682)
- [Code Origin] DEBUG-4174 - Make Code Origin on by default (#8272)
Changes
Tracer
- [Tracing] Add experimental http/protobuf support for OTLP traces export (#8645)
- Handle invalid timestamps in Kafka consume integration (#8653)
- [Tracer] Tolerate clock skew when reparenting Activities to active Span (#8674)
- [Opentelemetry] Prevent OTLP array attribute stack overflow on cyclic/deep arrays (#8707)
CI Visibility
- [CI Visibility] propagate tests skipping enabled tag (#8582)
- Fix race condition in IpcTests (#8657)
- [CI Visibility] Fix coverage resolver assembly file locks (#8666)
ASM
- Fix ASM accessing
HttpRequest.Headerson .NET Framework without guarding (#8611) - Fix WAF Encoder child miscount bug (#8617)
- Refactor remote config for ASM to fix missing config (#8630)
- Fix off-by-one error in ASM Encoder (#8637)
- [AppSec] APPSEC-65483 Collect Datadog security-testing headers on entry spans (#8682)
Continuous Profiler
- [Profiler] Fix flacky tests possibly due to network errors (#8574)
- Load native loader in profiler via absolute path on Windows (#8646)
- [Profiler] Add Flaky attribute (#8648)
- [Profiler] Stop unwinding when unsafe (#8671)
- [Profiler] Add more context to timer_create call failure (#8686)
Debugger
- [SymDB] Increase SymDB upload batch default to 1MB (#8193)
- [Code Origin] DEBUG-4174 - Make Code Origin on by default (#8272)
- [Debugger] Add global rate limiter (#8480)
- [Dynamic Instrumentation] DEBUG-5101 line probe two segment fallback (#8543)
- [Debugger] Report retryable line probe resolution errors (#8603)
- fix(debugger): apply redaction to dictionary iterator key/value (#8641)
- [Debugger] Preserve EMITTING diagnostics across probe change (#8654)
- [SymDB] Stream SymDB payload (#8691)
Serverless
- [Serverless] Bump Datadog.Serverless.Compat to 1.6.0 (#8660)
- Prevent invalid JSON in AWS Lambda payloads (#8662)
- [Serverless] Bump Datadog.Serverless.Compat to 1.7.0 (#8692)
Build / Test
- Refactor
DiscoveryServicepolling loop to allow less-flaky testing (#8601) - Introduce
Datadog.Trace.Build.g.slnto reduce size of artifacts copied between stages (#8610) - Tag gitlab include refs as migration touchpoints (#8624)
- Fix kafka flakiness (#8629)
- Use
ArtifactsOutputin more places in the tracer build (#8636) - Serialize RuntimeIdTests and HttpHeaderHelperTests to remove telemetry header flake (#8638)
- [Test Package Versions Bump] Updating package versions (#8649)
- [Smoke Test Docker Image Bump] Updating docker image tags (#8650)
- Add some more owners to the nullability file (#8656)
- [Code Origin] Fix smoke test path mismatches on macOS and Windows IIS (#8659)
- [Test Package Versions Bump] Updating package versions (#8661)
- Allocate 2 CPUs per microbenchmark item (#8663)
- Exclude OpenTelemetry.Api from baseline files in PR comment (#8664)
- [Test Package Versions Bump] Updating package versions (#8683)
- [Build] Retry git clone in exploration tests setup (#8685)
- Increase integration_tests_linux Test job timeout to 90 minutes (#8699)
- [Test Package Versions Bump] Updating package versions (#8700)
- use https to download authanywhere binary (#8704)
Miscellaneous
- Ensure we wrap the process path in quotes before running it (#8613)
- chore(ci) update one-pipeline (#8687)
- Tweak
BatchingSinkto remove flake (#8696) - [DBM] Add dynamic_service propagation mode (#8701)
Data Streams Monitoring
- [DSM] Guard against future timestamps when extracting pathway context (#8672)
3.44.0
Summary
- [Continuous Profiler] Add experimental support for Linux ARM64
- [AAP] Fix body analysis on downstream requests causing stream-closed issues
- [Serverless] Add support for running multiple Azure Functions in the same Windows hosting plan
- [Data Streams Monitoring] Add produce-side checkpoints for Azure Service Bus
- [FFE] Update minimum required version of OpenFeature for Datadog.FeatureFlags.OpenFeature
- [Dynamic Instrumentation] Many fixes and performance improvements
Changes
Tracer
- Fix metrics for baggage extract (#8561)
- Skip sending errors to instrumentation telemetry for performance counter initialization (#8598)
- Add handling of
OutOfMemoryExceptionto runtime metrics polyfill (#8609) - Switch
Activityhandling to useWeakReference<T>(#8549) - Add a fixed cutoff for the activity handler reconcilliation loop for OTel (#8576)
CI Visibility
- Add Jenkins custom parent ID bypass (#8608)
ASM
Continuous Profiler
- [Profiler] Add support for ARM64 (#8338)
- [Profiler] Ensure valid json format for information json (#8578)
- [Profiler] Add guard-rails when creating a profile (#8579)
Debugger
- [SymDB] Defer SymDB startup work (#8548)
- Reapply "[SymDB] DEBUG-5086 SymDB upload enable when DI is disabled" (#8565)
- [Dynamic Instrumentation] Skip arg/local when byref-like check fails (#8566)
- [Debugger] Harden SnapshotPruner fallback handling (#8567)
- [Debugger] Treat Nullable as safe for snapshot ToString (#8568)
- [Debugger] Handle open generic types in probe expressions (#8569)
- [Debugger] Reuse singleton no-op symbol uploader (#8570)
- [Debugger Tests] Surface sample exit diagnostics during /stop cleanup (#8571)
- [Debugger] Fix flaky DI probe file test (#8575)
- [Debugger] Fix ConcurrentAdaptiveCache.GetOrAdd race that returned stale value (#8584)
- Remove allocation and delay in startup due to JSON parsing in Symbol uploader (#8589)
- Debugger: add upload metadata fields to SymDB upload event message (#8590)
- [Debugger] Reduce noisy Info logs to debug in native code (#8618)
- [Debugger] Fix Timer leaks and missing rate updates in probe rate limiter (#8619)
- [Debugger] DEBUG-4260 Add capture expression to log probe (#8621)
- fix(debugger): redact nullable wrappers of configured types (#8642)
- [Dynamic Instrumentation] Fix Equals/GetHashCode contract on Dynamic Instrumentation configuration models (#8615)
- [Code Origin] Reduce endpoint detector allocations (#8588)
- [Code Origin] Improve ASP.NET Core code origin endpoint detection (#8595)
- [Code Origin] Optimize per-assembly PDB cache (#8631)
- [Code Origin] Treat Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore as 3rd party (#8628)
- [Code Origin] Skip exit-span hook in Tracer.StartSpan (#8635)
Serverless
- Add Multi-Azure Function Unique Named Pipe Configuration (#8164)
- [Azure Functions] Update Datadog.Serverless.Compat version to 1.4.0 (#8563)
- [Serverless] Bump Datadog.Serverless.Compat to 1.5.0 (#8602)
Miscellaneous
- [Feature Flags] Add flag evaluation metrics via OpenFeature hook (#8367)
- [Runtime Metrics] Support for OTLP Runtime Metrics (#8457)
Data Streams Monitoring
- [DSM] Fix missing produce-side checkpoints for Azure Service Bus (#8433)
Build / Test
- Improve agents.md (#8554)
- Fix azure-functions skill YAML frontmatter parsing (#8583)
- AGENTS.md cleanup, round 2 (#8596)
- [SINT-5051] Update CI identities client version and Windows code signer to latest release (#8474)
- Allow building the Gitlab docker image in Gitlab (#8507)
- Ensure we always run all smoke tests on Docker tag bump PRs (#8514)
- Reduce warnings in test-applications samples (#8519)
- Add smoke tests for Ubuntu 26.04 (Resolute Racoon) (#8522)
- Decrease warnings part 3 (#8546)
- [SERVERLESS CI] use serverless-tools tags (#8551)
- Bump the gh-actions-packages group across 1 directory with 2 updates (#8552)
- [Test Package Versions Bump] Updating package versions (#8553)
- Retry microbenchmarks on non-compliant CPUs (#8558)
- Enable OpenTelemetry microbenchmarks (#8559)
- Don't run benchmark trigger on tag pushes (#8560)
- [Test Package Versions Bump] Updating package versions (#8564)
- [Libdatadog] Bump libdatadog + add SKILL.md to do it (#8580)
- [Test Package Versions Bump] Updating package versions (#8593)
- [Smoke Test Docker Image Bump] Updating docker image tags (#8594)
- [ASM Test] Add IIS CI coverage for WebApi null-action ASM test (#8597)
- Decrease warnings part 4 (#8599)
- chore(ci) update one-pipeline (#8600)
- Exclude OpenTelemetry.Api from benchmark PR comments (#8606)
- Use latest benchmark tooling image for macrobenchmark AMI build (#8625)
- [SINT-5051] Upgrade CI Identities GitLab Job Client version to v0.6.3 (#8627)
- [ASM Test] Mark WebApi null-action test as end-to-end (#8604)
3.43.0
Summary
- Implement Client-Side Stats (CSS) 1.2.0 (#8420)
- [Azure Functions] Fix span parenting in ASP.NET Core integration (#7628)
- Performance improvements and bug fixes.
Changes
Tracer
- Bump Fody from 6.8.1 to 6.9.3 (#7764)
- Implement Client-Side Stats (CSS) 1.2.0 (#8420)
- Extract
ContainsSpanIdtoSpanCollection(#8435) - Fix processing pipeline for client-side-stats (#8436)
- Improve peer-tag calculation fast-path performance (#8445)
- Fix .NET Framework startup deadlock from configBuilder sync-over-async (#8498)
- Fix race condition in Client Side Stats enablement (#8509)
- Apply .cctor deadlock defense on .NET Core (follow-up to #8498) (#8517)
- Apply baggage limits on extract (#8555)
Continuous Profiler
- fix(profiler): five native profiler bug fixes (#8533)
Debugger
- [Dynamic Instrumentation] DEBUG-4089 Support file-based debugger probes (#7833)
- [SymDB] DEBUG-5086 SymDB upload enable when DI is disabled (#8510)
- [Dynamic instrumentation] DEBUG-3374 support
@keyand@valuein EL hash iteration (#8511) - [Dynamic Instrumentation] DEBUG-2387 Sample evaluation error snapshots (#8515)
- [Dynamic instrumentation] DEBUG-3321 Fix malformed local var sig parsing in PDB reader (#8532)
- [Dynamic Instrumentation] DEBUG-5104 support case-insensitive line probe source paths (#8542)
- [SymDB] DEBUG-5382 Add injectable line ranges to method scopes (#8544)
- Revert "[SymDB] DEBUG-5086 SymDB upload enable when DI is disabled" (#8550)
Serverless
- [Azure Functions] Fix span parenting in ASP.NET Core integration (#7628)
Fixes
- Fix broken parenting when Ocelot API Gateway is used (#8128)
- Fix OTLP HTTP/protobuf export failures and improve OTLP integration test reliability (#8449)
- Stop vendoring resx for vendored microsoft code (#8461)
- Fix warnings native (#8534)
- Do not send DD_GIT_COMMIT_SHA error to telemetry (#8537)
- Normalize CosmosDB resource URI IDs to reduce resource cardinality (#8541)
Build / Test
- Extract Datadog.AutoInstrumentation.Generator.Core shared library (#8312)
- Update vendored System.Collections.Immutable (#8391)
- Docker run retry (#8447)
- Use the built-in System.Reflection.Metadata types for .NET Core (#8454)
- Update vendored System.Reflection.Metadata (#8455)
- Update vendored System.Memory (#8459)
- Update vendored System.Runtime.CompilerServices.Unsafe (#8469)
- Move vendored
ReadOnlySpan<T>,Span<T>et. al. to System namespace (#8476) - Cleanup and fix the GeneratePackageVersions (#8478)
- [Test Package Versions Bump] Updating package versions (#8481)
- fix(microbenchmarks): restore CI Visibility reporting to Datadog (#8483)
- Skip
SubmitsOtlpLogsandSubmitsOtlpMetrics(#8488) - Add .NET service names to macrobenchmarks (#8490)
- Remove unused references to System.ServiceModelHttp (#8496)
- Update System.Text.Json to latest in source generators project (#8497)
- [Test Package Versions Bump] Updating package versions (#8502)
- Run the docker-compose version tagging update manually instead of using Dependabot (#8506)
- Try fix flake in OTLP logs tests (#8508)
- fix(ci): avoid branch-name command injection in image dispatch (#8513)
- Bump softprops/action-gh-release from 2.6.1 to 2.6.2 in the gh-actions-packages group across 1 directory (#8516)
- List the versions that changed in package-version-bump PRs (#8518)
- [Test Package Versions Bump] Updating package versions (#8520)
- [Smoke Test Docker Image Bump] Updating docker image tags (#8521)
- Bump check-azure-pipeline benchmark job timeout from 1h to 2h (#8523)
- Add
Environment.Versionto the banned API list (#8524) - chore(ci) update one-pipeline (#8527)
- Update
UpdateVendorstool to allow vendoring non-C# code (#8529) - Update vendored
spdloglibrary to 1.17.0 (latest) (#8530) - unify the target to build integration tests across platforms (#8535)
- [Test Package Versions Bump] Updating package versions (#8540)
- Manually bump macrobenchmark SLOs and disable notifications (#8545)
Data Streams Monitoring
Miscellaneous
- Take advantage of the
Span<T>namespace changes (#8477) - Update
TagListGeneratorto always useReadOnlySpan<byte>properties (#8486) - Convert
Encoding.Utf8.GetBytescalls to static constants using UTF8 string literals (#8487) - Remove agent check in client-side-stats (#8503)
- Remove dependabot for instrumentations (#8504)
3.42.0
Summary
- [CI Visibility] Add support for MSTest.Framework 4.2.1
- [DSM] Add support for transaction tracking
- [AAP] Add downstream request RASP analysis
Changes
CI Visibility
- [SDTEST-2993] Switch to paginated endpoint for retrieving known tests (#8380)
- fix(mstest): add 4.2.1 adapter signatures (#8475)
ASM
- [AAP] API10 downstream request analysis (#8232)
Continuous Profiler
- [Profiler] Bump to libunwind 1.8.3 (#8387)
- [Profiler] Prevent profiler from interrupted thread while executing handler
SIGSEGVhandler (#8465) - [Profiler] Fix bug in ManagedCodeCache (#8467)
- [Profiler] Fix UB in DebugInfoStore::Get(): re-acquire iterator after map insertion (#8468)
Debugger
- [Dynamic Instrumentation] clarify unbound line probe diagnostics (#8415)
- [Dynamic Instrumentation] Improve line probe source path resolution (#8422)
Fixes
- fix user & host parsing in SQL connection string (#8431)
- Set resource name after exception in OnEndRequest method (#8439)
- Fix excessive allocation in vendored
SharedArrayPool(#8442) - Fix ServiceStack not calling EndRequest method (#8466)
Data Streams Monitoring
- [DSM] Initial transaction tracking implementation (#7949)
Build / Test
- Update microbenchmark design to reduce flakiness (#8300)
- Harden Linux Docker retries in CI (#8358)
- [Test Package Versions Bump] Updating package versions (#8414)
- Add managed-by:bp-infra tag and skip PR comments on master on benchmarking jobs (#8416)
- Enable performance quality gates on microbenchmarks and macrobenchmarks (#8424)
- Parametrize gitlab org (#8426)
- Update base image used in download stages (#8437)
- [Test Package Versions Bump] Updating package versions (#8441)
- [Coding Agents] Add HTTP REST API fallbacks for AzDO build analysis (#8448)
- Make microbenchmark post-processing steps non-fatal (#8452)
- Fix benchmark reporting (#8453)
- Move microbench AMI provision file into this repo, stop cloning benchmarking-platform (#8458)
- add new set of benchmarks (#8464)
Miscellaneous
3.41.0
Summary
- Switch Process tags on by default (#8296)
- [Tracing] Add support for
DiagnosticSource(and Quartz) in .NET Framework (#7687) - [Tracing] Add experimental support for exporting traces as OTLP (.NET 6+) (#8211)
- [Tracing] Update mapping from Datadog to OTLP spans (#8385)
- [DBM] Add container tags hash to queries (if enabled) (#8061)
Changes
Tracer
- Fix
CA1872- PreferConvert.ToHexStringoverBitConverter.ToString(#8333) - [Tracing] Add experimental support for exporting traces as OTLP (.NET 6+) (#8211)
- [Tracing] Update mapping from Datadog to OTLP spans (#8385)
- Revert YARP exclusion (#8407)
Serverless
- [Serverless] Cache serverless platform detection results (#8231)
- Add smoke tests for Datadog.AzureFunctions NuGet package (#8336)
Fixes
- Fix the integration name for several IAST Sqlite bytecode instrumentations (#8361)
- Set
DD_TRACE_OTEL_ENABLED=trueby default for all integration tests (#8370) - Fix multiple termination signals on .NET 10+ (#8374)
- Move
TracerSettingshelper methods toTestHelpersproject (#8375) - Add potential fix for duck typing derived types (#8410)
Miscellaneous
- [Tracing] add support for
DiagnosticSource(and Quartz) in .NET Framework (#7687) - Skip some errors from being sent to telemetry (#8003)
- [DBM] Add container tags hash to queries (if enabled) (#8061)
- bump libdatadog version to v30 (#8282)
- Add _dd.p.ksr propagated tag for Knuth sampling rate (#8287)
- switch process tags on by default (#8296)
- Fix InvalidCastException in DefaultModelBindingContext (#8334)
- Enable
CA1851- Avoid multiple enumeration of collections (#8341) - Use
SpanCharSplitterfor parsing source link URLs (#8349) - feat: Stable Session ID headers for telemetry (#8352)
- Specify AGENTS.md to not edit generated files (#8359)
- Fix exception in Kafka on .NET Framework (#8366)
- Fix swapped SpanKinds and missing tags in IbmMqHelper (#8369)
- Configure
GeneratePackageVersionsto support a "cooldown" on dependencies (#8371) - Add OTEL_RESOURCE_ATTRIBUTES to claude settings (#8378)
- chore(ci) update one-pipeline (#8403)
Build / Test
- Increase endpoint telemetry wait timeout (#8294)
- Enable
CA1859- Use concrete types when possible (#8335) - chore(ci) update one-pipeline (#8351)
- Fix dd_dotnet.ArtifactTests.CreatedumpTests.DisableTelemetry flakiness (#8354)
- Fix
dd-octo-ststrust policy for create-draft-release workflow (#8356) - chore: disable automated dependency updater config [incident-51602] (#8364)
- Stabilize test-agent readiness in smoke tests (#8368)
- chore: re-enable dependabot with 2-day cooldown (#8377)
- Bump the gh-actions-packages group across 3 directories with 10 updates (#8381)
- Add hardcoded limits for OCI and libinjection packages (#8382)
- [Tests] Use
[EnvironmentRestorer]to prevent env var leaks in tests (#8388) - Pin floating pre-release versions of SQLitePCLRaw.* dependencies in samples (#8390)
- Delete the static analysis workflow (#8393)
- Bump the gh-actions-packages group across 2 directories with 5 updates (#8404)
- scrub process tags from debugger snapshots (#8406)
- [CI Tools] Add prerequisite validation to AzureDevOps helper scripts (#8409)
- maybe fix macos smoketests (#8413)
3.40.0
Summary
- [Runtime Metrics] Enables Runtime Metrics by Default for .NET 6+ (#8267)
- [Tracing] Add interoperability between the Datadog Baggage API and the OpenTelemetry Baggage API (#7921)
- Add support for Microsoft.Data.SqlClient 7.x.x (#8346)
Changes
Tracer
- Refactor log directory resolution into smaller methods, add tests (#7255)
- Adjust Log levels in OltpExporter (#8133)
- [Metrics] Fixing sync-over-async patterns in DogStatsD Client Fork (#8265)
- Add _dd.svc_src meta tag to track service name source (#8274)
- Add process tags to service discovery (#8295)
- Add "manual" service source (#8302)
- ServiceNameSource for inferred proxy (#8309)
CI Visibility
- [CI Visibility] honor EFD retry mode over ATR (#8288)
Continuous Profiler
- [Profiler] Add unit tests for ManagedCodeCache (#8307)
Debugger
- [Dynamic Instrumentation] DEBUG-5317 fix snapshot stackoverflow in collection (#8310)
- [Dynamic Instrumentation] Add detailed diagnostics for line probe resolution (#8316)
Fixes
- More remote config performance improvements (#8241)
- WCF cleanup and trace context extraction (#8263)
Data Streams Monitoring
- Support adding kafka_cluster_id for Confluent.Kafka (#7702)
- [DSM] Include container tags hash in node hash calculation (#8163)
Miscellaneous
- [Tracing] Add interoperability between the Datadog Baggage API and the OpenTelemetry Baggage API (#7921)
- [Process Tags] Explicit whether the service name is the default one (#8106)
- Add an
IArrayPool<char>implementation for vendored Newtonsoft.JSON (#8228) - Use
IArrayPoolin more places for JSON (#8236) - Remote configuration tests and performance improvements (#8237)
- Reduce payload size sent by agent in remote config (#8238)
- [Agent Skill] Rename to
analyze-azdo-build, add retry support, and more (#8247) - [Metrics] Send Diagnostics GC Pause Time as Counter instead of Timer (#8266)
- [Runtime Metrics] Enables Runtime Metrics by Default for .NET 6+ (#8267)
- Rename telemetry
GetDatamethods toGetIncrementalData(#8269) - Remove unnecessary use of duck typing in HTTP integrations (#8275)
- Exclude Otel for MongoDb 3.7 (#8279)
- Detect whether an app has been trimmed (#8281)
- [Agent Docs] Clean up
AGENTS.md: fix stale reference, consolidate structure (#8290) - Add some documentation on running system-tests (#8298)
- Update local smoke testing docs (#8311)
- [Tracer] Add Component Tag to Quartz Instrumentation (#8315)
- [AI Agents] Remove plugin settings from shared Claude Code config (#8343)
- Add support for Microsoft.Data.SqlClient 7.x.x (#8346)
- Attempt to fix macOS runner native build (#8348)
Build / Test
- (CI) Migrating benchmark-serverless CI job to short-lived tokens (#8219)
- Update Wix to 5.x.x (#8268)
- Allow generating a snapshot of the MSI contents (#8270)
- Move running of smoke tests to Nuke (#8271)
- Enable performance analyzers for Datadog.Trace (#8276)
- [Test Package Versions Bump] Updating package versions (#8278)
- Retry ChromeDriver startup in Selenium tests (#8284)
- Fix Datadog.Trace.Annotations dependency version in Datadog.AzureFunctions nuspec (#8285)
- Ban SetVersion/SetVersionPrefix/SetVersionSuffix in Nuke Build (#8289)
- Only allow creating hotfix branches from a tag (#8297)
- Bump test dependencies and add test.final_status to benchmark exporter (#8301)
- Update
FeatureFlagsEvaluatorand DebuggerToUUIDto not violateCA1850(#8303) - [Test Package Versions Bump] Updating package versions (#8306)
- Relax concurrent TagsList stress test (#8317)
- Replace our custom GitHub App Token with
dd-octo-sts(#8318) - Fix
GeneratePackageVersionsso that it correctly respectsIncludePackagesandExcludePackages(#8340)
3.39.0
Summary
- [Serverless] Create and reparent span for Azure API Management (#7806)
- [CI Visibility] Support NUnit v4.5.0
- [Profiler] Support Windows pdb format (#8096)
- [Profiler] Measure memory consumption (#8134)
Changes
Tracer
- Termination signals fix (#8168)
- [Code Origin] DEBUG-5199 Reduce per-span allocations and locks (#8197)
- Add
Base64DecodingStream(#8226)
CI Visibility
- Add support for latest NUnit (#8246)
ASM
- [ASM] Ruggerize waf GetKnownAddresses call to try to stop it crashing (#8239)
Continuous Profiler
Serverless
- [tracing] Create and reparent span for Azure API Management (#7806)
Miscellaneous
- [Claude][Azure Functions] Add dev/test workflow skill and scripts (#8173)
- [Claude] Improve
troubleshoot-ci-buildskill with scripts and heuristics (#8181) - [crashtracker] Improve crashtracker message (#8182)
- [Config registry] Add release step for v2 (#8200)
- [Config registry] Only one yaml for all (#8206)
- Implement
app-extended-heartbeattelemetry event (#8227) - Attempt to prevent crash when enumerating integration_definitions (#8230)
- Re-write /analyze-error Claude skill (#8240)
- Add support for ducktyping private fields and properties from a base type (#8248)
- Add more Claude Code files to
.gitignore(#8249)
Build / Test
- Disable Ryuk images (#8208)
- [CI] Upload system-tests results to Test Optimization (#8214)
- [Test Package Versions Bump] Updating package versions (#8233)
- Ensure we publish all nuget packages during release (#8234)
- Add additional TFMs to benchmarks project (#8243)
- Ensure docker ready (#8245)
- Bump the gh-actions-packages group across 3 directories with 3 updates (#8251)
3.38.0
Summary
- [Test Optimization] Add
test.final_statustag - [Profiler] Improve thread names and IDs
- [Dynamic Instrumentation] Remove the 100-probe limit
- [Feature Flags] Update Datadog.FeatureFlags.OpenFeature .NET Framework minimum version to 4.6.2, to match OpenFeature
- [Tracing] Performance improvements
Changes
Tracer
- Refactoring and improvements to
HttpHeaderHelpers(#8153) - Improve performance of
AspNetCoreResourceNameHelper.SimplifyRouteTemplate(#8170) - Improve performance of
AspNetCoreResourceNameHelper.SimplifyRoutePattern(#8180) - Catch FileNotFoundException when accessing assemblies (#8185)
- [Logging] Add tag and span information to warning log (#8191)
- Fix broken build in Rider (#8195)
- Remove allocations for operation name/service name versioning code (#8196)
- Improve performance for
UriHelpers.CleanUri(#8199) - Remove the
RedisObfuscationUtil.Obfuscate()method as it's never used (#8202) - Reduce allocations in
HttpRequestUtils.GetUrl()(#8203) - Minor aspnetcore perf improvements (#8210)
CI Visibility
- [Test Optimization] Add
test.final_statustag (#8091) - NUnit: emit test.final_status on terminal executions (#8216)
Continuous Profiler
Debugger
- [Dynamic Instrumentation] DEBUG-4689 Remove the 100-probe limit for Dynamic Instrumentation (#7848)
- [SymDB] Fixed SymDB multipart event.json (#8194)
Serverless
- [Azure Functions] Improve local NuGet build script (#8174)
- [Azure Functions] Improve local NuGet build script, follow-up (#8188)
Fixes
- Use built-in .NET runtime types instead of vendored types when possible (#6726)
- Add
#nullable enableto UriHelpers (#8166)
Miscellaneous
- [Tracing] Instrument static methods defined in non-generic value types (#7920)
- Make
ValueStringBuilderavailable in.NET Core 3.1(#8167) - Add Claude skill for CI build troubleshooting (#8172)
- [docs for ai] Add configuration reference docs to
AGENTS.md(#8201)
Build / Test
- [Test Package Versions Bump] Updating package versions (#8176)
- Fix dd-octo-sts policy used in SLO checks (#8179)
- [Config Registry] feat: migrate supported-configurations to V2 format (#8183)
- Add artifacts for SLO checks to enable notifications (#8184)
- chore(ci) update one-pipeline (#8187)
- [Build] Support glob patterns in CI build pipeline exclude paths (#8190)
- Fix incorrect use of namespace breaking the build (#8192)
- [Test Package Versions Bump] Updating package versions (#8204)
- Assign area:builds to version bump PRs (#8205)
- Add retry for IIS ASM tests (#8207)
- Update
nuget.orgpublishing to use trusted publishing (#8209) - Skip NUnitTests.SubmitTraces (#8212)
- Enable Datadog Claude Marketplace plugins (#8218)
3.37.0
Summary
Performance improvements and minor fixes.
Changes
Tracer
- Skip telemetry for span sampling rules (#8161)
CI Visibility
- [Test Optimization] perf: logging/timing helpers (#8070)
- [Test Optimization] ci: add run id + config keys (#8071)
- [Test Optimization] ci: git caching + env improvements (#8072)
- [Test Optimization] ci: client caching + feature tweaks (#8073)
- [Test Optimization] Improve GitHub Actions
@ci.job.urlformat (#8098)
ASM
- [ASM] Added missing
appsec.waf.requesttelemetry metric tags (#8113) - [ASM] Custom data classification (#8155)
- [ASM] Remove unused telemetry tag from waf.request metric (#8160)
Continuous Profiler
- [Profiler] Add managed code cache (#7956)
- Do not mark empty frame crashes as complete (#8119)
- [Profiler] Disable a test on x86 with Managed Code Cache (#8147)
Debugger
- [SymDB] DEBUG-4512 Sanitize hoisted 'this' name in symbol upload (#8100)
Serverless
- Refactor Azure Functions instrumentation before #7628 (#8079)
- [Azure Functions] Update Datadog.Serverless.Compat version to 1.2.0 (#8108)
Fixes
- Fix
ProcessTags.GetLastPathSegmentfor some edge cases, add tests (#8103) - Quick fix: write process tags as array instead of string in DSM payloads (#8114)
- Fix TypeLoadException exception error (#8157)
- Fix flaky test metrics tag values (#8099)
Miscellaneous
- Read container tags hash from agent (#7893)
- [Config Registry] 7/8 Integration names to keys (#7937)
- chore(ci) update one-pipeline (#8088)
- Filter more dynamic assemblies (#8120)
- Add a few nitpicks in
agents.md(#8125) - chore(ci) update one-pipeline (#8130)
- Update
/analyze-errorandAGENTS.md(#8152) - Convert Claude commands to skills format (#8158)
Build / Test
- Add non-blocking SLO check jobs (#7976)
- [Test Package Versions Bump] Updating package versions (#8032)
- reorder
CODEOWNERSso debugger lines override serverless (#8102) - Check for labels in PRs. (#8107)
- Fix compilation issues under VS 2022 (#8111)
- Fetch Windows macrobenchmark artifacts from S3 (#8112)
- [Test Package Versions Bump] Updating package versions (#8116)
- Increase timeout DiscoveryService Tests (#8118)
- [Test Package Versions Bump] Updating package versions (#8121)
- Bump the gh-actions-packages group across 2 directories with 7 updates (#8122)
- Add a
review-prcommand (#8126) - [CI] Add CultureInvariant to a test that was failing locally (#8127)
- [FFE] Ruggerize integration tests Remote Config retrieval (#8129)
- [Tests] Remove empty metastruct info from snapshots (#8150)
3.36.0
Summary
- [Tracer] Add Cosmos DB CRUD instrumentation (#7837)
- [Profiler] Fix crash when calling GetAppDomainInfo (#8076)
- Performance improvements and minor fixes.
Changes
Tracer
- [Tracer] Add Cosmos DB CRUD instrumentation (#7837)
- [Config Registry] 6/8 Forbid use of System.Environment methods and adapt everywhere (#7932)
- LifetimeManager .NET10 fix (#7969)
- [SymDB] DEBUG-4881 Fix type name in TypeProvider (#7990)
- Various optimizations for Activity handling (#8040)
- Reduce allocation in
ExposureApiby serializing to stream (#8051) - Fix ASP.NET Core Diagnostic Observer's incorrect Activity copying (#8054)
- Add a new single-span diagnostic observer for ASP.NET Core (#7964)
- Don't do
DynamicMethodbased allocation-free enumeration on .NET 10 (#8058) - Replace remaining usages of
Environment.Version(#8069)
ASM
Continuous Profiler
- [Profiler] Provide more settings in Runtime Info (#7933)
- [Profiler] Update benchmarks definitions (#7970)
- [Profiler] Fix crash when calling GetAppDomainInfo (#8076)
Debugger
- Add process tags to runtime metrics & dynamic instrumentation metric probes (#7871)
- [Dynamic Instrumentation] Add NullByRefArgAndLocal test (#7987)
- [Dynamic Instrumentation] DEBUG-4142 Subscribe to settings change in the debugger manager (#8048)
- [Symbol Database] DEBUG-5045 DEBUG-5046 Fix trailing bytes in symbol uploader and performance improvements (#8097)
- [SymDB] DEBUG-4760 Fix "Not enough space for all closure methods" (#8101)
- [Dynamic Instrumentation] DEBUG-4871 Added a managed guard in LogLocal and LogArg to detect null byrefs (#7986)
- [Dynamic Instrumentation] DEBUG-4786 Explicitly track open nodes (#7988)
- [Dynamic Instrumentation] DEBUG-4877 Stabilize snapshot serializer (#7989)
- [EL] DEBUG-4878 Fix null equality in expression language (#7991)
- [EL] DEBUG-4884 Fix null expression when type is struct (#7993)
- [EL] DEBUG-4879 Support multiple expression compilations (#7994)
- [Dynamic Instrumentation] DEBUG-5018 Send logs to debugger intake (#8092)
Serverless
- [Azure Functions] Update
Datadog.Serverless.Compatversion (#8085) - [SVLS-7360] Fix Exception Replay in Lambda (#8043)
Fixes
- Remove unused properties from
MockTelemetryAgent(#8020)
Feature Flags
- [FFE] Change fee integration tests codeowner (#8075)
- [FFE] Fix asserts being ignored in release builds (#8093)
- [FFE] Cache the condition regexes (#8087)
- [FFE] Add feature-flagging-and-experimentation-sdk as code owners for FFE code (#8095)
- [FFE] Feature Flags SDK (#7896)
- [FFE] Fix exposures url (#8074)
- [FFE] OpenFeature 2.x shim package (#8077)
- [FFE] Added support for Value evaluation type in OpenFeature (#8086)
- [Feature Flags] Fix ISO 8601 date parsing to support variable precision (#8094)
Miscellaneous
- Create a more optimized
AspNetCoreResourceNameHelper(#7966) - Don't poll discovery service if we've received an update from the agent recently (#7979)
- Switch to allocation-free enumeration of
Activityobjects (#8041) - Improve
OpenTelemetryTagspopulation to reduce allocation and work (#8042) - chore(ci) update one-pipeline (#8053)
Build / Test
- Add benchmarks for single-span diagnostic observer for ASP.NET Core (#7965)
- Automatic retry ASM integration tests under failure (#8011)
- [SINT-4550] Use CI Identities in Windows CI Jobs (#8033)
- Fix build by splitting
FleetInstallerintegration tests into their own test project (#8044) - Add missing permissions to release process (#8046)
- Try disable the pull-request-freshness feature (#8049)
- AzureServiceBusAPMTests flakiness fix. (#8050)
- Fix benchmark projects (#8056)
- Collect logs in arm64 macrobenchmark tests (#8057)
- fix(tests): make sure we include the codeowners tag on all tests (#8060)
- Update CODEOWNERS for feature flagging work (#8063)
- [Build] Clean up
SuppressTfmSupportBuildWarningsusage (#8078) - Fix Batching sink tests flakiness. (#8081)
- Fix Benchmark tests (#8082)
- fix benchmark code (#8104)
Data Streams Monitoring
- [IBM MQ] Fix queue naming by removing URI prefix (#8080)