github DataDog/dd-trace-go v2.5.0

one day ago

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): bump the gh-actions-packages group across 3 directories with 10 updates by @dependabot[bot] in #4073
  • ci: set benchmarks to be interruptible outside main by @igoragoli in #4128
  • chore(checks): Add Makefile checks by @kakkoyun in #4103
  • chore(codeowners): add database monitoring team as code owner of the sql comment carrier by @na-ji in #4117
  • fix(.gitlab): don't run benchmarks when tagging nested modules by @darccio in #4119
  • chore(ci): Use runner:apm-k8s-m8g-metal for microbenchmarking by @ddyurchenko in #4126
  • chore(ci): adds id-token: write permission to ecossystem-label-issu workflow by @cbeauchesne in #4125
  • fix(ci): fix gin smoke test issue by @rarguelloF in #4142
  • fix(ci): Migrating Config Registry CI Jobs to Support V2 Format by @mhlidd in #4133
  • chore(ci): work around smoke test breaking changes by @nsrip-dd in #4098
  • fix: codeowner script doesn't change directories as needed by @hannahkm in #4108
  • docs: update supported integrations documentation by @dd-octo-sts[bot] in #4212
  • docs: update supported integrations documentation by @dd-octo-sts[bot] in #4175
  • fix: module go.opentelemetry.io/collector/pdata@latest found (v1.46.0), but does not contain package go.opentelemetry.io/collector/pdata/internal/data/protogen/profiles/v1development by @darccio in #4174
  • docs: update supported integrations documentation by @dd-octo-sts[bot] in #4184
  • fix: bump golang.org/x/crypto to v0.45.0 (Dependabot alert 408) by @darccio in #4186
  • docs: update supported integrations documentation by @dd-octo-sts[bot] in #4196
  • docs: update supported integrations documentation by @dd-octo-sts[bot] in #4206
  • build(deps): bump the gh-actions-packages group across 2 directories with 6 updates by @dependabot[bot] in #4192

New Contributors

Full Changelog: v2.4.0...v2.5.0

Don't miss a new dd-trace-go release

NewReleases is sending notifications on new releases.