Warning
As per our version release policy, we are dropping support for Go 1.24 after the release of Go 1.26. Our minimum supported Go release is now Go 1.25.
Note
v2.7.0 introduces a new method of tracking errors. In most cases, this should not break existing error traces if you are using Error Tracking. If you have problems, please feel free to open an issue!
What's Changed
Application Performance Monitoring (APM)
- feat(echo.v4): traffic-less API Discovery by @RomainMuller in #4306
- chore: v2.7.0-dev.1 by @nsrip-dd in #4341
- fix(appsec/proxies): show real version image based on build vars by @e-n-0 in #4348
- chore(ddtrace/tracer): migrate to locking.*Mutex to enable dynamic lock checks by @kakkoyun in #4359
- refactor(instrumentation/mcp): replace
ddtraceargument withtelemetryby @jboolean in #4335 - fix(contrib/aws/datadog-lambda-go): start tracer while initializing lambda listener by @shreyamalpani in #4371
- feat(contrib/gomongodb.org/mongo-driver): add optional query tag truncation by @colinking in #3679
- fix(mark3labs/mcp): fix concurrent writes bug in intent capture by @jboolean in #4362
- fix(contrib/database/sql): bump
lib/pqto v1.11.1 by @darccio in #4385 - feat(contrib/redis): add Redis raw command env toggle by @darccio in #4389
- feat: bump
DataDog/datadog-agent/pkg/*to v0.75.2 by @darccio in #4399 - docs(contrib/aws/datadog-lambda-go): add README with migration guidance by @Dogbu-cyber in #4378
- chore: bump minimum support Go version to 1.25 by @kakkoyun in #4403
- fix: make lint pass clean(er) by @darccio in #4390
- fix(appsec): align downstream body analysis env var with RFC by @RomainMuller in #4398
- docs: update supported integrations documentation by @dd-octo-sts[bot] in #4325
- chore(deps): upgrade go-runtime-metrics-internal by @kakkoyun in #4428
- fix(contrib/valkey-io/valkey-go): support dedicated client by @darccio in #4419
- fix(contrib/go-sdk): upgrade go-sdk to v1.3.0, fix concurrent writes in intent capture by @jboolean in #4432
- fix(orchestrion): prevent GLS memory leak from unpaired executionTracedKey pushes by @kakkoyun in #4410
- chore: upgrade gofiber to v2.52.11 by @hannahkm in #4441
- fix: bump go.opentelemetry.io/otel/sdk to v1.40.0 by @darccio in #4455
- fix: pin k8s.io/* deps to non-alpha v0.35.1 by @darccio in #4466
- fix: Disable client-side trace stats computation in Lambda by @joeyzhao2018 in #4471
- chore: bump klauspost/compress to v1.81.2 (skip retracted v1.81.1) and golang.org/x/net to v0.50.0 by @darccio in #4459
- chore: bump golang.org/x/net to v0.51.0 by @darccio in #4485
General
- fix: skip benchmarks on merge queue by @darccio in #4343
- chore: Fix several linter issues by @kakkoyun in #4347
- fix: improve benchmarks aggregation by @darccio in #4349
- fix: empty decision maker causes errors by @hannahkm in #4165
- fix: incorrect encoding/decoding of span link traceIDs by @hannahkm in #4351
- ci: upload test reports for smoke tests by @hannahkm in #4336
- fix(civisibility): Use -c flag for git safe.directory instead of modifying global config by @anmarchenko in #4344
- chore(otel): add telemetry metrics for OpenTelemetry Metrics Configurations by @rachelyangdog in #4266
- ci(workflows): update system tests proxies scenarios by @e-n-0 in #4339
- revert: don't aggregate benchmarks results by @darccio in #4355
- ci: make sure benchmarks do not run on mq branches by @faydef in #4354
- fix(stats): Remove header when client_drop_p0=false by @ichinaski in #4342
- refactor(tracer): encapsulate span mutex access behind helper methods by @kakkoyun in #4338
- ci: solve incident 48034 by @faydef in #4356
- fix: [openfeature] allow empty targeting key in exposure events by @leoromanovsky in #4361
- chore(scripts): improve checklocks script by @kakkoyun in #4358
- chore(ddtrace/tracer): add checkatomic annotations by @kakkoyun in #4363
- chore: use (again)
registry.datadoghq.comto pull agent in CI by @darccio in #4357 - ci: upload test reports for appsec tests by @hannahkm in #4323
- fix(remoteconfig): prevent targets_version reset and always report config_states by @RomainMuller in #4366
- ci: update config inversion CI scripts settings by @genesor in #4365
- fix(appsec): lowercase downstream request headers for WAF by @RomainMuller in #4367
- fix(internal/config): fix hostname lookup by @genesor in #4373
- chore(internal/config): cover #4373 changes by @darccio in #4376
- fix(civisibility): improve ci.job.url format for GitHub Actions by @tonyredondo in #4380
- feat(civisibility): add test.final_status tag for adjusted test outcomes by @tonyredondo in #4379
- chore(ci): disable gotip schedule by @cbeauchesne in #4381
- chore(ci): fix test ownership attribution by @cbeauchesne in #4382
- fix(appsec): use path instead of product as status map key in RC update handler by @RomainMuller in #4386
- feat(internal/config): change internalconfig behavior to use a fresh instance upon tracer creation by @genesor in #4392
- chore(ci): fox typo in codeowners by @cbeauchesne in #4396
- feat(config): migrate supported_configurations.json file to v2 format by @genesor in #4374
- feat(otel): adding support for OpenTelemetry logs by @rachelyangdog in #4350
- feat(v2fix): expand analyzer coverage and harden suggested fix generation by @darccio in #4393
- feat(version): drop v1 version detection by @darccio in #4409
- chore(ci): add nofilter for reviewdog by @kakkoyun in #4418
- chore(deps): bump the gh-actions-packages group across 3 directories with 15 updates by @dependabot[bot] in #4411
- feat(contrib): Add rs/zerolog ddtracer integration by @takanuva15 in #4370
- feat(ddtrace/tracer): drop string concatenations in
prioritySampler.getRateby @darccio in #4423 - chore(ddtrace/tracer): add checklock annotations by @kakkoyun in #4364
- fix: various fixes to ETP encoding by @hannahkm in #4430
- refactor(stacktrace): remove unused UnwindOption types and constructors by @felixge in #4422
- refactor(tracer): add checklocks annotations and lock assertions to Trace struct by @kakkoyun in #4406
- refactor(tracer): add checklocks annotations to SpanContext by @kakkoyun in #4407
- fix(profiler/test): use atomic.Pointer[string] for containerID/entityID to prevent data race by @kakkoyun in #4438
- fix(appsec): add rel=noopener noreferrer to blocked template link by @RomainMuller in #4437
- feat(claude): add checklocks annotation skill by @kakkoyun in #4405
- fix(ci): update oldstable Go version to 1.25.7 in macrobenchmarks by @kakkoyun in #4444
- refactor: modernize Go code via go fix (Go 1.25+) by @kakkoyun in #4448
- feat: change environment variable used to set ETP by @hannahkm in #4446
- chore(ci): introduce code freeze flow using milestones by @kakkoyun in #4276
- fix(telemetry): skip agent proxy URL when agent doesn't expose /telemetry/proxy/ by @eliottness in #4454
- fix: appsec enablement at startup for resource renaming by @e-n-0 in #4447
- feat(internal/samplernames): decision maker string conversion by lookup table by @darccio in #4424
- fix(tracer): don't start telemetry when there is no agent in stdout lambda mode by @eliottness in #4464
- fix(orchestrion/_integration): prevent TOCTOU race between mock agent and tested services by @darccio in #4457
- fix: pulling datadog-agent@main doesn't build by @hannahkm in #4391
- refactor(tracer): extract
setTagLockedfromSetTagfor use during span construction by @darccio in #4425 - chore(ci): rewrite add-codeowners action in Go by @nsrip-dd in #4467
- fix: span event array attributes in v1 payload format by @ajgajg1134 in #4469
- fix(tracer): incremental per-chunk encoding in payloadV1 by @darccio in #4461
- feat(ddtrace/tracer): optimize tracer Git metadata tags updates by @darccio in #4472
- fix(internal/civisibility): increase test time sleep from 100ms to 2s to avoid flakiness in CI by @tonyredondo in #4473
- refactor(tracer): add checklocks annotations to Span struct by @kakkoyun in #4408
- feat(datastreams): add manual transaction checkpoint tracking by @ericfirth in #4468
- chore: re-add error tracking changes by @hannahkm in #4322
New Contributors
- @anmarchenko made their first contribution in #4344
- @shreyamalpani made their first contribution in #4371
- @colinking made their first contribution in #3679
- @takanuva15 made their first contribution in #4370
Full Changelog: v2.6.0...v2.7.0