Releases: DataDog/dd-trace-go
v1.74.3
Note
This is the last minor release for v1. The Go tracer v1 transitional version is a wrapper that preserves the API from v1 but uses v2 under the hood.
This transitional version is the only v1 version that allows both v1 and v2 to be imported in the same service—enabling you to migrate a service gradually. Using this v1 transitional version doesn’t require any code changes, but it also won’t support any new features introduced in the new v2 tracer.
Changes
Updates github.com/DataDog/dd-trace-go/v2 from v2.0.1 to v2.1.0
Full Changelog: v1.74.2...v1.74.3
v1.73.2
What's Changed
Note
This is a patch release of the last v1 version before the v1 transitional release v1.74.0 planned for May/June 2025. The Go tracer v1 transitional version is essentially a wrapper that preserves the API from v1 but uses v2 under the hood.
The transitional version can co-exist with v2 in the same service, which enables you to migrate services gradually. Using the v1 transitional version - starting at v1.74.0 - doesn’t require any code changes, but it also won’t support any new features of the new v2 tracer.
The v1 transitional version is planned for release in late May/early June 2025 as v1.74.0.
Application Performance Monitoring (APM)
- fix(tracer): Baggage extraction by @mtoffl01 #3692
- fix(internal/baggage): fix data race on baggage map read/write by @mtoffl01 #3721
Full Changelog: v1.73.1...v1.73.2
v1.74.2: v1 transitional version
Note
This is the last minor release for v1. The Go tracer v1 transitional version is a wrapper that preserves the API from v1 but uses v2 under the hood.
Warning
The v1.62.0 - 1.74.0 go tracer releases included debug logs that sometimes include sensitive data. This patch resolves this behavior.
This transitional version is the only v1 version that allows both v1 and v2 to be imported in the same service—enabling you to migrate a service gradually. Using this v1 transitional version doesn’t require any code changes, but it also won’t support any new features introduced in the new v2 tracer.
Changes
Removes dependencies updates from go.mod files mistakenly added when releasing v1.74.1
Full Changelog: v1.74.0...v1.74.2
v2.0.1
Summary
Warning
The v2.0.0 go tracer released, as well as versions 1.62.0 - 1.74.0, included debug logs that sometimes include sensitive data. This patch resolves this behavior.
What's Changed
General
- instrumentation: stop sending telemetry logs for each log a contrib would send to stdout by @eliottness in #3684
- instrumentation: do not report debug and info errors as telemetry by @genesor in 56a952b
- contrib/database/sql: sanitize sensitive data in error messages by @kakkoyun in #3686
Full Changelog: v2.0.0...v2.0.1
v1.74.1: v1 transitional version
Warning
This release has been retracted, use the latest v1.74.x available instead.
Note
This is the last minor release for v1. The Go tracer v1 transitional version is a wrapper that preserves the API from v1 but uses v2 under the hood.
This transitional version is the only v1 version that allows both v1 and v2 to be imported in the same service—enabling you to migrate a service gradually. Using this v1 transitional version doesn’t require any code changes, but it also won’t support any new features introduced in the new v2 tracer.
Changes
Updates github.com/DataDog/dd-trace-go/v2 from v2.0.0 to v2.0.1
Full Changelog: v1.74.0...v1.74.1
v2.0.0
Warning
This release has been retracted, use the latest v2.x.x available instead.
Summary
Datadog has long supported the monitoring of instrumented Go applications through our Go tracer v1. As the Go ecosystem has continued to mature, we’ve been hard at work collecting feedback and improving upon the tracer’s capabilities and usability features.
We are now thrilled to announce the release of dd-trace-go v2.0.0. This major update includes better security and stability, and a new and simplified API. In creating this updated version, we have incorporated valuable feedback both from our customer community and from our own teams at Datadog who use the Go tracer extensively. We have already tested this new version in production and have migrated all our internal services.
A migration guide has been provided to help users running version 1.x with upgrading. It can be found here.
To view the complete set of changes implemented in this release, please refer to the issues and PRs marked with the v2.0 label in our GitHub repository.
Further reading
v1.74.0: v1 transitional version
Warning
This release has been retracted, use the latest v1.74.x available instead.
Note
This is the last minor release for v1. The Go tracer v1 transitional version is a wrapper that preserves the API from v1 but uses v2 under the hood.
This transitional version is the only v1 version that allows both v1 and v2 to be imported in the same service—enabling you to migrate a service gradually. Using this v1 transitional version doesn’t require any code changes, but it also won’t support any new features introduced in the new v2 tracer.
Note that, while we are offering the v1 transitional version for the convenience of our customers, we strongly encourage you to upgrade to the v2 version as soon as possible to benefit from the newest features and improvements. If you have concerns or reasons to not upgrade to the transitional version, contact us and we’ll work together to resolve them.
v1.73.1
What's Changed
Note
This is a patch release of the last v1 version before the v1 transitional release v1.74.0 planned for May/June 2025. The Go tracer v1 transitional version is essentially a wrapper that preserves the API from v1 but uses v2 under the hood.
The transitional version can co-exist with v2 in the same service, which enables you to migrate services gradually. Using the v1 transitional version - starting at v1.74.0 - doesn’t require any code changes, but it also won’t support any new features of the new v2 tracer.
The v1 transitional version is planned for release in late May/early June 2025 as v1.74.0.
Application Performance Monitoring (APM)
- fix(ddtrace/internal): log to debug instead of warning when starting spans without an active tracer by @darccio #3513
Full Changelog: v1.73.0...v1.73.1
v1.73.0
What's Changed
Note
This is the last v1 release before the v1 transitional release v1.74.0 planned for May/June 2025. The Go tracer v1 transitional version is essentially a wrapper that preserves the API from v1 but uses v2 under the hood.
The transitional version can co-exist with v2 in the same service, which enables you to migrate services gradually. Using the v1 transitional version - starting at v1.74.0 - doesn’t require any code changes, but it also won’t support any new features of the new v2 tracer.
The v1 transitional version is planned for release in late May/early June 2025 as v1.74.0.
Application Performance Monitoring (APM)
- contrib/envoyproxy: fix context propagation from envoy tracing by @e-n-0 in #3144
- contrib/miekg/dns: use random port for test by @rarguelloF in #3164
- contrib/internal/httptrace: add inferred span identification tag by @zarirhamza in #3184
- Opentelemetry Baggage Propagation by @rachelyangdog in #3126
- contrib: add messaging.destination.name to kafka integrations by @rarguelloF in #3173
- [serverless] Add S3 span pointers by @nhulston in #3083
- ddtrace/tracer: add integration tag to spans_started/finished by @hannahkm in #3023
- Orchestrion supports valkey by @keisku in #3231
- contrib/database/sql: update documentation on WithCustomTags function by @mtoffl01 in #3246
- Support rueidis tracing by @keisku in #3262
- [v1] Span Events native support and graphql error reporting by @rarguelloF in #3176
- contrib/internal/graphql: rename location -> locations by @rarguelloF in #3361
- feat: upgrade rueidis and valkey-go to 1.0.56 by @darccio in #3374
- chore: add test for merging baggage entries by @rachelyangdog in #3256
- chore: fix rueidis aspect (#3373) by @darccio in #3375
- tracer: Log a warning on NoopTracer.StartSpan() by @mtoffl01 in #2991
- ddtrace/tracer/slog: fix slog handler by @Gandem in #3131
- fix: manual publish of Service Extension image by @e-n-0 in #3151
- ddtrace/tracer: Span links improvements and bug fix by @nhulston in #3123
- ddtrace/tracer: fix flake in TestTracerMetrics by @hannahkm in #3172
- APM: Only do stats obfuscation when we know its safe to do so by @ajgajg1134 in #3155
- contrib/gorilla/mux: Add WithStatusCheck() by @winebarrel in #3166
- contrib/99designs/gqlgen: fix introspection query detection by checking Operation.Name by @LamineKouissi in #3175
- ddtrace/tracer: remove remote config check on env and service name by @genesor in #3261
- Add missing headers on Stats payload by @ichinaski in #3330
- v1 baggage otel drop-in support by @rachelyangdog in #3362
- fix(valkey): Make error checking configurable and fix inconsistency by @rwynn in #3297
- fix(ddtrace/tracer): postpone span events/links serialization (#3429) by @darccio in #3435
- fix(valkey): Make error checking configurable and fix inconsistency by @rwynn in #3297
- contrib/log/slog: make orchestrion config lib-side by @RomainMuller in #3408
- feat(http): add round tripper option for status check functionality and corresponding tests by @darccio in #3479
Application Security Management (ASM)
- appsec/gqlgen: fix recovered from an unexpected panic from an event listener by @RomainMuller in #3252
- tracer: allow disabling APM tracing with DD_APM_TRACING_ENABLED=false by @genesor in #3230
- appsec: better SSRF RASP detector with less false positive by @eliottness in DataDog/go-libddwaf#114
- appsec: unlock go 1.24 by @eliottness in DataDog/go-libddwaf#116
- appsec: update user monitoring SDK by @RomainMuller in #3192
- appsec: add missing addresses in UserSec feature activation by @RomainMuller in #3202
- appsec: populate _dd.appsec.events..sdk=true by @RomainMuller in #3207
Profiling
- ddtrace/tracer: optimize applyPPROFLabels for go1.24 by @felixge in #3241
- profiler: clear old completed list before re-using it by @paulcacheux in #3304
Datastreams Monitoring (DSM)
- internal/datastreams: Support service name overrides by @piochelepiotr in #3254
CI Visibility
- (fix) internal/civisibility/coverage: [APMLP-379] fix TestCollectCoverageAfterTestExecution flaky test by @tonyredondo in #3169
- (fix) ddtrace/tracer: don't call appsec.Start in CI Visibility agentless mode by @tonyredondo in #3149
- (fix) internal/civisibility: Fix test visibility on Go 1.24 by @tonyredondo in #3179
- (feat) internal/civisibility: add flaky test management features by @tonyredondo in #3177
- (fix) internal/civisibility: add support for detached heads in civisibility backend transactions by @tonyredondo in #3157
- (feat) internal/civisibility: Parallelize test optimization startup by @tonyredondo in #3187
- civisibility: add
civisibilityfolder and fix a race condition by @tonyredondo in #3235 - (fix) internal/civisibility: fix missing failing tests due to the
runtime.Goexit()call from the testing framework. by @tonyredondo in #3243 - (feat) internal/civisibility: adds the orchestrion integration for testify suite.Run function by @tonyredondo in #3247
- (feat) internal/civisibility: adds the
test_sessiontelemetry metric by @tonyredondo in #3268 - (feat) internal/civisibility: adds the telemetry metrics for the test management feature by @tonyredondo in #3271
- (feat) internal/civisibility: add support for attempt_to_fix v2 workflow by @tonyredondo in #3288
- (fix) internal/civisibility: fixes the
removeEmptyStringsfunc and updates the common_metrics.json file by @tonyredondo in #3291 - (fix) internal/civisibility: Fix git command to extract the source root by @tonyredondo in #3306
- (feat) internal/civisibility: add support for file environmental data by @tonyredondo in #3319
- (fix) internal/civisibility: fix data race due the usage of append over a read only tags (v1) by @tonyredondo in #3432
- fix (internal/civisibility): Fix features load race condition [release v1.73.x] by @tonyredondo in #3503
General
- ci: pin github actions by hash and update via dependabot by @xopham in #3146
- feat: implement origin detection by @darccio in #3124
- fix: bump version of golangci-lint by @hannahkm in #3161
- ci: fix incorrect filepath to multios test xml by @hannahkm in #3153
- internal/orchestrion/_integration: pull container images before running tests by @RomainMuller in #3189
- internal/orchestrion/_integration: go-redis tests now wait for successful Ping by @RomainMuller in #3193
- maintenance: feature request discussion template by @RomainMuller in #3194
- maintenance: fix feature request category link by @RomainMuller in #3195
- internal/orchestrion/_integration: enable vm.overcommit_memory by @RomainMuller in #3196
- go.mod: temporary workaround for mssql bug by @hannahkm in #3199
- [go1.24 support] bump golangcilint by @hannahkm in #3198
- Adds TELEMETRY_APP_STARTED_PRODUCTS_DISABLED scenario in CI by @cbeauchesne in #3213
- gitlab-ci: fix microbenchmark names by @eliottness in #3204
...
v1.72.2
What's Changed
General
- Add missing headers on Stats payload by @ichinaski in #3337
Full Changelog: v1.72.1...v1.72.2