Skip to content

Releases: DataDog/dd-trace-go

v2.6.0

09 Feb 13:57
v2.6.0
a4e12a4

Choose a tag to compare

What's Changed

Application Performance Monitoring (APM)

  • feat(appsec): improved redirect handling of downstream requests by @RomainMuller in #4180
  • feat(contrib/mcp/go-sdk): Add intent capture to go-sdk by @jboolean in #4209
  • fix: update lambda integration tests with slack notifications and ver… by @joeyzhao2018 in #4254
  • feat: bump DataDog/go-libddwaf/v4 to v4.8.0 by @darccio in #4284
  • fix: lambda tests github action by @joeyzhao2018 in #4291
  • test(contrib/ibm/sarama): fix consumer group flaky test by @rarguelloF in #4295
  • feat(contrib/mark3labs/mcp-go): Add mcp_method, mcp_tool, mcp_tool_kind tags to mcp server tracing by @jboolean in #4288
  • feat(contrib/modelcontextprotocol/go-sdk): Add mcp_method, mcp_tool, mcp_tool_kind tags to mcp server tracing by @jboolean in #4289
  • fix(serverless): Support returning errors with new line characters. by @purple4reina in #4316
  • docs: update supported integrations documentation by @dd-octo-sts[bot] in #4237
  • chore(ddtrace/tracer): Utilize dynamic lock checks for SpanContext by @kakkoyun in #4326

General

  • ci(contrib/haproxy): deploy to reliability at each releases by @e-n-0 in #4232
  • feat(telemetry): add OriginCalculated, and re-export Origin type in config by @mtoffl01 in #4224
  • fix(config): support 0/1 and case-insensitive boolean values in getBool by @mtoffl01 in #4227
  • feat(otel): adding support for OpenTelemetry metrics by @rachelyangdog in #4132
  • chore: lint fixes by @quinna-h in #4242
  • chore(config): migrate dataStreamsMonitoringEnabled by @mtoffl01 in #4219
  • ci(benchmarks): add haproxy spoa macro benchmarks by @e-n-0 in #4246
  • chore(config): migrate tracer.logStartup by @mtoffl01 in #4214
  • chore(config): migrate tracer.runtimeMetrics and tracer.runtimeMetricsV2 by @mtoffl01 in #4215
  • chore(config): migrate tracer.profilerHotspots by @mtoffl01 in #4216
  • fix: fix typo in code owners file by @cbeauchesne in #4251
  • chore(config): migrate tracer.profilerEndpoints by @mtoffl01 in #4217
  • fix(civisibility): fixes git permissions and add more debug logs by @tonyredondo in #4252
  • fix: upload to CI was not always accessing secrets by @hannahkm in #4255
  • chore(datastreams): add data-streams-monitoring to CODEOWNERS for DSM integrations by @robcarlan-datadog in #4244
  • ci(contribs): fix tag extraction for docker images releases by @e-n-0 in #4272
  • fix(.github/workflows): revert #4098 by @darccio in #4270
  • chore(github): Do not render go.sum files by @kakkoyun in #4274
  • feat(remoteconfig): add support to the RC client for unsubscribing from a product by @andreimatei in #4248
  • chore: "eager" encoding for v1 protocol payloads by @hannahkm in #4273
  • chore: hold RLock when reading meta/metric maps by @hannahkm in #4253
  • fix(civisibility): fixes the missing logs due to the new partial logs in Go1.25 by @tonyredondo in #4283
  • chore: Mark go.work.sum as generated by @kakkoyun in #4285
  • feat(openfeature): add LRU cache for exposure deduplication by @leoromanovsky in #4290
  • chore(ci): enable AWS OIDC authentication for Lambda integration tests by @ganeshkumarsv in #4277
  • fix(instrumentation/testutils/containers): stop log producers on cleanup by @darccio in #4296
  • fix(civisibility): fix git test flakiness by improving resilience and skipping on some known errors by @tonyredondo in #4297
  • fix(civisibility): fix cases where the git pack-objects fails due to a cross-device error by @tonyredondo in #4298
  • fix(.github/workflows): rename FEATURE_FLAG_EXPOSURE system-tests scenario to FEATURE_FLAGGING_AND_EXPERIMENTATION by @darccio in #4299
  • chore(ci): Add GitHub Action linter and fix the issues by @kakkoyun in #4275
  • chore(internal/locking): Add static and dynamic lock analysis package by @kakkoyun in #3834
  • chore(codeowners): Make ml-observability owner of MCP contribs by @jboolean in #4287
  • feat(internal/{appsec,traceprof}): reduce dependency on google.golang.org/grpc by @darccio in #4183
  • ci: update macrobenchmark, SLO check and SLO notification rules by @igoragoli in #4172
  • chore(config): migrate logToStdout and isLambdaFunction by @mtoffl01 in #4256
  • feat(tracer): add support for dynamically enabling and disabling Live Debugger by @andreimatei in #4249
  • chore(config): migrate globalSampleRate and introduce configProvider.getFloatWithValidator by @mtoffl01 in #4257
  • fix(internal/remoteconfig): properly close RC client by @darccio in #4302
  • fix(ddtrace/opentelemetry): fix ignored sampling decision from otel by @genesor in #4238
  • fix(internal/telemetry): replace global variable with lazy initialization by @darccio in #4307
  • feat(internal/telemetry): app-endpoints telemetry playload by @RomainMuller in #4305
  • chore(config): migrate first chunk tracer configs by @mtoffl01 in #4258
  • feat(config): Config Visibility - report telemetry about all config sources by @mtoffl01 in #4308
  • docs: add known build flags to reduce size of instrumented binaries (& scout rule) by @darccio in #4311
  • feat(.github/workflows): use registry.datadoghq.com to pull agent in CI by @darccio in #4312
  • chore: replace use of runtime.SetFinalizer with runtime.AddCleanup by @RomainMuller in #4315
  • fix(internal/orchestrion): sort clean ups in mongo integration tests by @darccio in #4319
  • fix(telemetry): Make sure log tags are propagated correctly by @kakkoyun in #4324
  • feat: new gotip workflow by @hannahkm in #4314
  • chore: revert "feat(.github/workflows): use registry.datadoghq.com to pull agent in CI (#4312) by @darccio in #4329
  • ci: pin k8s client-go by @hannahkm in #4331
  • ci: aggregate benchmark results from parallel pipelines by @darccio in #4330
  • ci: remove smoke test runs from PRs by @hannahkm in #4332
  • fix(.gitlab): disable macrobenchmarks on merge queue by @darccio in #4334
  • chore(internal/locking): Change the lock detection library by @kakkoyun in #4327

New Contributors

Full Changelog: v2.5.0...v2.6.0

v2.5.0

09 Jan 10:32
v2.5.0
d6a766b

Choose a tag to compare

What's Changed

Application Performance Monitoring (APM)

  • feat(contrib/sarama): option to add custom consumer/producer span tags by @fabiomargarido in #3993
  • fix(net/http): fix segfault on nil response by @eliottness in #4099
  • fix(contrib/gorm.io): allow resource name to be overridden by custom tags by @will-bem in #3909
  • feat(contrib/gin-gonic/gin): add WithStatusCheck and WithUseGinErrors options by @theo303 in #3984
  • feat(contrib/mcp-go): Initial mcp-go tracer implementation by @jboolean in #4100
  • feat(contrib/mcp-go): Trace MCP session initializations with MLObs spans by @jboolean in #4101
  • feat(contrib/mcp-go): Record MCP Session ID as tag by @jboolean in #4106
  • feat: add request id headers to aws lambda start/end invocation calls by @ojproductions in #4136
  • fix(contrib/net/http): when Wrapping use the WrappedHandler by @jacobmikesell in #4079
  • fix(haproxy): data race on span TTL eviction by @eliottness in #4156
  • feat(contrib/mcp-go): Simplified way to add tracing by @jboolean in #4122
  • fix(contrib): enhance appsec tests with WAF timeout adjustments to GraphQL contribs by @darccio in #4160
  • fix: database/sql tags not propagated from registers by @hannahkm in #4157
  • fix(contrib/gorilla/mux): nil pointer exception in Orchestrion with Subrouter by @mtoffl01 in #4110
  • fix(contrib/mcp-go): Report structured tool call errors as error spans by @jboolean in #4158
  • fix(haproxy): data race on span TTL eviction 2 by @eliottness in #4163
  • fix(gateway-api): correctly finish request-mirror span + fix missing query params by @eliottness in #4167
  • feat(contrib/valyala/fasthttp): add orchestrion support by @darccio in #4162
  • feat(contrib/mcp-go): Intent capture by @jboolean in #4123
  • feat(contrib/go-sdk): Initial go-sdk tracer implementation by @jboolean in #4199
  • fix(contrib/haproxy): don't warn on each cache deletion by @e-n-0 in #4229
  • feat(profiler): switch back to zstd compression by default by @nsrip-dd in #4080
  • chore(internal/version): bump release tag to v2.5.0-dev by @e-n-0 in #4081
  • feat: v1 trace protocol implementation by @hannahkm in #3947
  • fix(sampling): Force manual sampling on locked traces by @genesor in #4084
  • chore: small improvements to v1 protocol by @hannahkm in #4090
  • chore: revert breaking error tracking changes by @hannahkm in #4095
  • fix(ddtrace/tracer): TestTracerTwiceStartRuntimeMetrics by @felixge in #4086
  • fix: ETP wasn't checking for v1 endpoint in agent by @hannahkm in #4112
  • fix(contrib/confluentinc/confluent-kafka-go/kafka.v2): ensure kafka.produce span is always finished by @pedroreys in #4107
  • fix: Fix duplicate and out-of-order key in supported_configurations by @jboolean in #4121
  • test(telemetry): atomic in tests by @eliottness in #4120
  • chore(99designs/gqlgen): output more information on test failure by @RomainMuller in #4131
  • fix(internal/remoteconfig): allow Remote Config singleton to be reentrant by @darccio in #4118
  • feat: store OTEL process context in named anonymous mapping on Linux by @nsavoire in #3937
  • fix(ddtrace/tracer): ensure that sampling tests on remote config update are consistent by @darccio in #4053
  • fix: Use a real true value for headers by @ajgajg1134 in #4161
  • chore(stacktrace): Add parseSymbol benchmark by @kakkoyun in #4169
  • fix(ddtrace/tracer): ensure determinism on metrics tests by @darccio in #4168
  • docs: update supported integrations documentation by @dd-octo-sts[bot] in #3967
  • chore(stacktrace): Use internal/stacktrace package where it possible by @kakkoyun in #4062
  • refactor(stacktrace): remove unnecessary locking from segmentPrefixTrie by @kakkoyun in #4154
  • refactor(stacktrace): remove unused prefixTrie implementation by @kakkoyun in #4150
  • perf(stacktrace): optimize parseSymbol with zero-allocation implementation by @kakkoyun in #4148
  • fix(ddtrace/tracer): update abandoned spans' tests to use eventual assertions for log checks by @darccio in #4170
  • feat(internal/config): Introduce internal config package by @mtoffl01 in #4064
  • fix: avoid race condition in TestSamplingDecision by @darccio in #4195
  • refactor(internal/config): extract shared configProvider logic into generic get function by @mtoffl01 in #4203
  • fix: Change analytics env var from MCPGO to MCP by @jboolean in #4205
  • refactor(config): add test config isolation and support debug programmatic API by @mtoffl01 in #4204

App & API Protection

  • fix(appsec): add missing _dd.appsec_request_downstream span tag by @eliottness in #4130
  • feat(instrumentation/appsec/emitter/waf): replace mapstructure/v2 by tailored code by @darccio in #4181
  • chore: fix a number of AppSec tests being silently skipped by @RomainMuller in #4141
  • fix(appsec/waf): remove RASPScope on downward API10 addresses by @eliottness in #4140
  • refactor(appsec): disable error scrubbing on WAF error codes by @eliottness in #4159
  • feat(appsec): waf upgrade + security response id by @e-n-0 in #4113
  • fix(appsec): jsoniter decoder treats trailing whitespace as invalid by @RomainMuller in #4179

CI Visibility

  • feat(civisibility): add branch parameter to test management tests API by @juan-fernandez in #4197
  • feat(civisibility): add a test optimization mode where tracer only works on test optimization spans. by @tonyredondo in #4193
  • fix(internal/civisibility): fixes an scenario where we might be deadlocking by waiting on a channel. by @tonyredondo in #4177
  • feat(internal/civisibility): subtest-level test management & flaky retry support. by @tonyredondo in #4063

Feature Flags

  • feat(openfeature/provider): Add ability to pass context into openfeature provider to support cancellation by @leoromanovsky in #4087
  • feat(openfeature): After Hook Exposure event writer by @eliottness in #4094

LLM Observability

  • chore(llmobs): skip tracing for the internal llmobs http transport when using Orchestrion by @rarguelloF in #4139
  • fix(llmobs): add missing type aliases by @rarguelloF in #4200
  • fix(llmobs): fix parentID field when starting a span from a propagated span by @rarguelloF in #4146
  • fix(llmobs): fix llmobs to apm link for spans by @rarguelloF in #4104
  • chore(llmobs): add telemetry to track llmobs usage by @rarguelloF in #4088

General

  • build(deps): bump github.com/containerd/containerd from 1.7.27 to 1.7.29 in /contrib/confluentinc/confluent-kafka-go/kafka.v2 by @dependabot[bot] in #4105
  • chore: update golang.org/x/crypto to v0.45.0 by @darccio in #4145
  • ci: enable codecov comments on PRs by @hannahkm in #4207
  • ci: Add cron jobs on 3 workflows by @cbeauchesne in #4202
  • chore: Add CODEOWNERS to internal packages by @kakkoyun in #4171
  • fix(gitlab): deny benchmark runs on temporary graphite branches by @faydef in #4164
  • build(deps): b...
Read more

v2.4.1

15 Dec 13:10
65c6907

Choose a tag to compare

What's Changed

LLM Observability

  • fix(llmobs): fix llmobs to apm link for spans (#4104)
  • fix(llmobs): fix parentID field when starting a span from a propagated span (#4146)
  • fix(llmobs): add missing type aliases (#4200)

Full Changelog: v2.4.0...v2.4.1

v2.4.0

14 Nov 15:58
e072bec

Choose a tag to compare

What's Changed

Application Performance Monitoring (APM)

Application Security Management (ASM)

  • feat(appsec): support for OWASP API10 monitoring by @eliottness in #3983
  • feat(appsec/proxy): enable body processing by default (except GCP SE) by @e-n-0 in #4069
  • feat(contrib/haproxy): start empty haproxy contrib by @e-n-0 in #3986
  • fix(contrib/envoy): fix response body processing by @e-n-0 in #4001
  • feat(contrib/haproxy): HAProxy AAP support by @e-n-0 in #3912
  • feat(contrib/haproxy): Add HAProxy SPOE Agent binary by @e-n-0 in #3913
  • feat(contrib/haproxy): add haproxy release and system tests by @e-n-0 in #3944
  • feat(appsec/proxy): add metrics by @e-n-0 in #4072
  • feat(envoyproxy): give the option to manipule gRPC TLS by @eliottness in #4035
  • fix(envoyproxy): replace telemetry header by env var for envoy gateway by @eliottness in #4051
  • fix(appsec): body parsing depth limited to 1 and truncated body reader returned to the user by @eliottness in #4005
  • feat(envoyproxy): report envoy gateway futur integration correctly by @eliottness in #4026

General

  • ci: update import url for one-pipeline scripts by @genesor in #3963
  • chore(sampling): track knuth sampling in distributed trace by @rachelyangdog in #3954
  • feat(internal/appsec): activation metric and config key by @eliottness in #3959
  • chore(.gitlab): add docs about check-slo-breaches by @darccio in #3969
  • fix(.github/workflows): fix smoke-tests to avoid breaking changes in v0.70.x by @darccio in #3973
  • chore(ddtrace/tracer): fix flaky TestHealthMetricsRaceCondition by @felixge in #3971
  • feat(profiler): switch to zstd compression by default by @felixge in #3970
  • feat(telemetry): implement secure telemetry logging with PII protection by @kakkoyun in #3948
  • chore(go.mod): upgrade go-libddwaf by @eliottness in #3980
  • feat(appsec): increase DD_APPSEC_WAF_TIMEOUT default value 1ms -> 2ms by @eliottness in #3924
  • fix(proxy): multiple analysis of truncated body by @e-n-0 in #3981
  • chore(ci): removes APPSEC_BLOCKING from system-tests by @cbeauchesne in #3988
  • chore: update CODEOWNERS with apm-sdk-api-go team by @genesor in #3950
  • chore(codeowners): update codeowners to rename apm-sdk-api to apm-sdk-capabilities by @bm1549 in #3994
  • ci(all-green): add edited event to trigger all-green job by @genesor in #3998
  • chore(ci): replace TELEMETRY_METRIC_GENERATION_ENABLED with AGENT_SUPPORTING_SPAN_EVENTS from system-tests by @jandro996 in #3992
  • fix(ddtrace/tracer): TestSpansStartedTags by @darccio in #4000
  • build(deps): bump DataDog/ensure-ci-success from 2.2.0 to 2.3.0 in the gh-actions-packages group across 1 directory by @dependabot[bot] in #3934
  • feat: add process tags to exposed metadata by @raphaelgavache in #3960
  • fix(ddtrace/tracer): don't fail on error when starting statsd client by @darccio in #4006
  • fix(profiler): switch back to pre-zstd compression by @nsrip-dd in #4016
  • fix(instrumentation): restore deleted net/http/pattern package by @nsrip-dd in #4017
  • fix(ddtrace/tracer): deflake TestMultipleSpanIntegrationTags by @genesor in #4021
  • feat(datastreams): added segment_name to hashable tags by @kr-igor in #4013
  • fix(ci): Updating one-pipeline Commit for Config Registry CI Jobs by @mhlidd in #4023
  • chore(.github/workflows): ignore label_issues in all-jobs-are-green job by @darccio in #4030
  • perf: improve process tags insertion by @raphaelgavache in #4010
  • fix: flaky test by @raphaelgavache in #4033
  • feat: enable process tags by default by @raphaelgavache in #4008
  • fix(.github/workflows): [APMSVLS] Update action/cache to 4.3.0 for lambda integration tests by @jcstorms1 in #4037
  • fix: flaky test by @raphaelgavache in #4038
  • chore(codeowners): add ml-observability team by @rarguelloF in #4041
  • fix(llmobs/dataset): add pagination and big datasets support by @rarguelloF in #4039
  • chore: remove unnecessary Error() calls by @mdb in #4031
  • feat(llmobs/experiment): add summary evaluators by @rarguelloF in #4040
  • chore: NOOP housekeeping of scripts/*.sh files by @mdb in #4042
  • feat: allow skip-checks with reason by @darccio in #4048
  • feat(instrumentation/errortrace): Add orchestrion integration by @kakkoyun in #3964
  • fix(.github/workflows/apps): ignore parsed fetched go.mod by @darccio in #4055
  • fix(ci): inputs of slackapi/slack-github-action by @cbeauchesne in #4054
  • fix(llmobs): include missing tags and make SubmitEvaluationFromSpan more flexible by @rarguelloF in #4050
  • chore: fix IDE warnings by @darccio in #4049
  • fix(ddtrace/tracer): Implement Serverless Service Representation by @ojproductions in #4043
  • chore: enable shuffle testing for most core packages by @felixge in #4061
  • fix(ddtrace/tracer): don't leak URL details on WithAgentURL failure by @darccio in #4066
  • chore(o...
Read more

v2.3.1

30 Oct 19:06
d851f37

Choose a tag to compare

What's Changed

Application Performance Monitoring (APM)

  • fix(sampling): Force manual sampling on locked traces by @genesor in #3976

Application Security Management (ASM)

General

  • fix(llmobs): include missing tags and make SubmitEvaluationFromSpan more flexible by @rarguelloF in #4050
  • fix(llmobs): do not cancel the context before reading response bodies by @rarguelloF in #4075

Full Changelog: v2.3.0...v2.3.1

v2.3.0

20 Oct 14:37
v2.3.0
c95df19

Choose a tag to compare

What's Changed

As per our version release policy, we are dropping support for Go 1.23 after the release of Go 1.25. Our minimum supported Go release is now Go 1.24.

Application Performance Monitoring (APM)

  • fix(ddtrace/tracer): keep correct trace+span sampling with propagated sampling decision by @darccio in #3856
  • ci: deploy released version of envoy contrib to reliability env by @e-n-0 in #3761
  • chore: upgrade golang.org/x/oauth2 to v0.27.0 by @hannahkm in #3811
  • chore: upgrade go-pg/pg to v10.14.0 by @hannahkm in #3806
  • contrib/envoyproxy: refine component detection by @e-n-0 in #3815
  • feat(contrib/jackc/pgx.v5): Add WithErrCheck option by @ryanslade in #3627
  • ci: remove commit sha tag from released images and add it as container label by @e-n-0 in #3832
  • chore(contrib/envoy): tests for config for serviceextensions by @e-n-0 in #3848
  • fix(contrib/net/http): cannot use http.Request.PathValue before http.ServeMux.ServeHTTP is called by @eliottness in #3853
  • chore: upgrade gofiber/fiber to v2.52.9 to avoid crashes by @hannahkm in #3854
  • chore: upgrade github.com/DataDog/go-libddwaf/v4 to v4.3.2 by @RomainMuller in #3858
  • fix(contrib/net/http): workaround to fix symbol collision in Orchestrion by @rarguelloF in #3865
  • chore: update the remoteconfig dependency by @andreimatei in #3883
  • chore(contrib/olivere/elastic.v5): http.RoundTripper for transport by @isaacdd in #3693
  • fix: security issue in go-pg by @hannahkm in #3885
  • feat: bump minimum Go version to 1.24 by @darccio in #3875
  • feat(contrib/net/http): new orchestrion http ResourceNamer with quantization by @genesor in #3545
  • chore(internal/stacktrace): remove usage to eapache/queue/v2 by @eliottness in #3906
  • docs: update supported integrations documentation by @dd-octo-sts[bot] in #3864
  • feat(appsec): blocking on path params for net/http serve mux tracing by @eliottness in #3914
  • docs: update supported integrations documentation by @dd-octo-sts[bot] in #3916
  • feat(contrib/labstack/echo): analyze parsed request body by @eliottness in #3923
  • build(deps): bump github.com/go-viper/mapstructure/v2 from 2.3.0 to 2.4.0 in /contrib/confluentinc/confluent-kafka-go/kafka by @dependabot[bot] in #3908
  • feat(contrib/aws/sqs): add cloud.resource_id as resource tag by @seungleelee in #3894
  • fix(log/slog): deadlock when calling SetDefault with the original default handle by @eliottness in #3931
  • fix(contrib/aws/aws-sdk-go-v2): set messaging.system tag in SQS tracing by @therve in #3928
  • docs: update supported integrations documentation by @dd-octo-sts[bot] in #3922
  • feat: ensure new contrib integrations are properly documented by @hannahkm in #3939
  • refactor(envoyproxy): prepare to move envoyproxy common code in instrumentation for the future HAProxy contrib by @eliottness in #3945
  • chore(ddtrace/tracer): check for goroutine leaks by @felixge in #3788
  • contrib/hashicorp/vault: add godoc links by @dolmen in #3609
  • contrib/julienschmidt/httprouter: add godoc links by @dolmen in #3610
  • fix(ddtrace/tracer): fix seelog goroutine leak by @felixge in #3818
  • chore(ddtrace/tracer): fix typo by @felixge in #3823
  • fix(contrib/99designs/gqlgen): fix panic on empty response from response handler by @asger-noer in #3728
  • refactor(ddtrace/tracer): prepare payload.push for supporting v1 trace protocol by @darccio in #3826
  • feat(ddtrace/tracer): add DD_TRACE_AGENT_PROTOCOL_VERSION support by @darccio in #3850
  • feat(contrib/cloud.google.com/go/pubsub.v2): support cloud.google.com/go/pubsub/v2 by @shota3506 in #3841
  • feat(contrib/gomodule/redigo): adds the DialURLContext method by @Succo in #3016
  • fix(ddtrace/tracer): move startup log after appsec has started by @eliottness in #3942
  • feat(contrib/net/http): add WithClientTimings option by @korECM in #3839
  • fix(ddtrace/tracer): assert context update without hacking the internal implementation by @darccio in #3892
  • feat(ddtrace/tracer): Add 'endpoint' tag to API error metric by @ichinaski in #3925
  • fix(ddtrace/tracer): resolve race conditions in write pipeline by @kakkoyun in #3821
  • fix(contrib/net/http): WithStatusCheck option by @genesor in #4018

Application Security Management (ASM)

  • refactor(internal/appsec): move appsec-internal-go/limiter by @eliottness in #3896
  • refactor(internal/appsec): move apisec sampler out of appsec-internal-go by @eliottness in #3897
  • refactor(internal/appsec): move appsec-internal-go config by @eliottness in #3898
  • feat(gin/appsec): support for request body analysis and blocking by @eliottness in #3930
  • refactor(internal/appsec): remove appsec-internal-go dependency by @eliottness in #3899
  • feat(appsec): add Forwarded as a source for client IP by @RomainMuller in #3911
  • chore(appsec): add tests for Forwarded header by @RomainMuller in #3915

CI Visibility

  • feat(internal/civisibility): add the pr.number tag for github provider by @tonyredondo in #3803
  • feat(internal/civisibility): add source file and codeowners tags to the suite span by @tonyredondo in #3812
  • fix(internal/civisibility): fix buildkite ci.job.id tag by @tonyredondo in #3813
  • fix(internal/civisibility): fix base branch SHA usage. by @tonyredondo in #3816
  • fix(internal/civisibility): fix impacted tests implementation by @tonyredondo in #3817
  • chore(internal/civisibility): handle flakiness on the unshallow test by @tonyredondo in #3820
  • chore(internal/civisibility): reduce civisibility gotesting tests verbosity by @tonyredondo in #3862

Profiling

  • feat(profiler): implement ProfileType.UnmarshalText method by @crdueck in #3881

General

  • revert #3727 by @eliottness in #3807
  • feat(Dockerfiles): label dockerfiles using opencontainers format for Github Packages UI by @eliottness in #3785
  • feat(internal/env): add env var config validation by @genesor in #3746
  • ci: enable new macrobenchmark envoy scenarios with bodies by @e-n-0 in #3805
  • chore(tools/v2fix): upgrade dd-trace-go.v1 to avoid v2 non-compatible warning by @darccio in #3814
  • build(deps): bump github.com/go-chi/chi/v5 from 5.0.10 to 5.2.2 in /orchestrion/all by @dependabot[bot] in #3810
  • ci: add new sts policies for ecosystems-label checks by @genesor in #3825
  • ci: add STS token retrieval step for label check by @genesor in #3824
  • chore(tools): Improve develoment tool management by @kakkoyun in #3819
  • Avoid using GITHUB_TOKEN for PR creation by @xopham in #3828
  • fix(internal/setup-smoke-test): use JSON arguments for CMD/ENTRYPOINT and change alias in FROM scratch by @darccio in #3830
  • chore(ci): Improve CI by @kakkoyun in #3833
  • feat(.github/chainguard): add outdated integrations policy for STS migration by @darccio in #3842...
Read more

v1.74.7

20 Oct 14:57
v1.74.7
8a21725

Choose a tag to compare

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

This release has been retracted due to problematic upgrades to the minimum Go version. Please use the latest v1.74.x version instead.

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.2.3 to v2.3.0

Full Changelog: v1.74.6...v1.74.7

v2.2.3

02 Sep 16:20
v2.2.3
4d4a462

Choose a tag to compare

What's Changed

This patch release fixes a significant bug that caused dropped spans due to local sampling rules overriding the sampling decision already present in inbound distributed trace context.

Important

Depending on your sampling rules, and especially if you have trace sampling rules,, you may notice an increase in ingested spans. This increase is expected and the consequence of not applying trace sampling rules when there is a head sampling decision. If the ingested volume is problematic, reduce it using APM Ingestion Controls. For any questions or issues, please contact Datadog Support.

Application Performance Monitoring (APM)

  • fix(ddtrace/tracer): keep correct trace+span sampling with propagated sampling decision by @darccio in #3856
  • chore: update the remoteconfig dependency by @andreimatei in #3883

Full Changelog: v2.2.2...v2.2.3

v1.74.6

02 Sep 16:38
93c69f9

Choose a tag to compare

What's Changed

This patch release fixes a significant bug that caused dropped spans due to local sampling rules overriding the sampling decision already present in inbound distributed trace context.

Important

Depending on your sampling rules, and especially if you have trace sampling rules,, you may notice an increase in ingested spans. This increase is expected and the consequence of not applying trace sampling rules when there is a head sampling decision. If the ingested volume is problematic, reduce it using APM Ingestion Controls. For any questions or issues, please contact Datadog Support.

Application Performance Monitoring (APM)

  • fix(ddtrace/tracer): keep correct trace+span sampling with propagated sampling decision by @darccio in #3856
  • chore: update the remoteconfig dependency by @andreimatei in #3883

Full Changelog: v1.74.5...v1.74.6

v2.2.2

11 Aug 14:13
68104c3

Choose a tag to compare

Note

v2.2.0 and v2.2.1 are retracted versions. If you are running one these two versions, please upgrade to v2.2.2 as soon as possible.

Warning

If you are experiencing sporadic spotaneous reboots by running dd-trace-go on Mac M4 15.5 or 15.6. Please upgrade to v2.2.2 as soon as possible. More information in #3827

What's Changed

Application Performance Monitoring (APM)

  • fix: bump aws-sdk-go-v2 dependencies to support opensearch by @darccio in #3645
  • contrib/go.mongodb.org/mongo-driver.v2: add orchestrion support by @rarguelloF in #3651
  • contrib/database/sql: sanitize sensitive data in error messages by @kakkoyun in #3686
  • valkey-go: fix orchestrion schema by @eliottness in #3732
  • go.mod: upgrade datadog-agent packages to v.0.67.0 by @KevinFairise2 in #3726
  • feat: add ruleguard rules to prevent uncontrolled data leakage in logging by @kakkoyun in #3706
  • fix: service name configurations by @rarguelloF in #3736
  • feat: enable runtime metrics v2 by default by @felixge in #3745
  • refactor: replace atomic operations with atomic.Int32 for error tracking in SpanContext by @darccio in #3655
  • fix(tracer): Baggage extraction by @mtoffl01 in #3597
  • fix(ddtrace/tracer): add test and fix for deadlock issue #3541 in remote configuration by @darccio in #3667
  • instrumentation: stop sending telemetry logs for each log a contrib would send to stdout by @eliottness in #3684
  • ddtrace/tracer: cap execution tracer task name length by @nsrip-dd in #3658
  • contrib/aws: finish span in middleware func where it was created by @chadawagner in #3697
  • ddtrace/tracer: sanitize URLs in CI Visibility transport logs by @kakkoyun in #3704
  • fix(internal/baggage): fix data race on baggage map read/write by @mtoffl01 in #3700
  • ddtrace/tracer: fix remote config memory leak by @ajwerner in #3797

App & API Protection

Profiling

  • profiler: fix race in refreshing execution trace config by @nsrip-dd in #3659
  • profiler: re-introduce enabled field to startup log by @mtoffl01 in #3712

Ci Visibility

  • fix (internal/civisibility): fix code coverage stdout data race by @tonyredondo in #3674
  • fix (internal/civisibility): fix code coverage data race by @tonyredondo in #3662
  • fix (internal/civisibility): logs test fix by @tonyredondo in #3653
  • fix (internal/civisibility): fix p.serializationTime data race by @tonyredondo in #3668
  • fix: data race in civisibility/integrations/logs/logs_payload.go by @darccio in #3666
  • fix (internal/civisibility): fix parallel testing when ancilliary features are enabled. by @tonyredondo in #3720
  • fix(internal/civisibility): fix the attempt-to-fix-passed tag by @tonyredondo in #3743
  • internal/civisibility: add debug logs to the git command execution by @tonyredondo in #3770
  • feat(baggage): auto-adding baggage to span tags by @rachelyangdog in #3440
  • feat(internal/civisibility): improve telemetry for git commands. by @tonyredondo in #3773
  • feat(internal/civisibility): start reporting ci.job.id tag on supported providers. by @tonyredondo in #3776
  • feat(internal/civisibility): attempt to fix v5 by @tonyredondo in #3784
  • feat(internal/civisibility): update ci provider spec and add DroneCI support by @tonyredondo in #3800

General

  • fix: add @latest to v2fix install command by @mkusaka in #3654
  • Adds a nil check on tracer.AddEvent by @heitoriha in #3657
  • internal/telemetry: fix deadlock when recorder queue is full by @eliottness in #3683
  • profiler: skip flaky TestDebugCompressionEnv test by @nsrip-dd in #3691
  • add recipe for handling flaky tests [LANGPLAT-352] by @emmettbutler in #3682
  • internal/stableconfig: Report configuration telemetry by @mtoffl01 in #3570
  • fix: sanitize span context debug logging to prevent sensitive data exposure by @kakkoyun in #3703
  • fix: orchestrion metadata not propagated into the config object by @RomainMuller in #3734
  • internal/remoteconfig: Propagate git metadata tags by @piob-io in #3735
  • internal/stableconfig: Report config ID to telemetry by @mtoffl01 in #3617
  • Suppress spammy retry attempt logs by @yuandesu in #3747
  • instrumentation/errortrace: Improve error stack traces by @hannahkm in #3709
  • internal/remoteconfig: Propagate container ids headers by @piob-io in #3794
  • tracer: subscribe to and report symbol db RC status by @ajwerner in #3799
  • fix: errorstack duration checks failing on Windows by @hannahkm in #3798

New Contributors

Full Changelog: v2.1.0...v2.2.0