github DataDog/dd-trace-go v2.12.0

3 hours ago

What's Changed

Application Performance Monitoring (APM)

  • feat(internal/version): bump version to v2.12.0-dev by @kakkoyun in #5365
  • feat(internal/version): bump version to v2.12.0-dev.2 by @darccio in #5374
  • ci: run workflows on changed components instead of every pull request by @kakkoyun in #5353
  • feat(llmobs): add managed prompt retrieval by @PROFeNoM in #5298
  • feat(contrib/aws/aws-sdk-go-v2): add LoadOptionsFunc implementation by @dcarbone in #2095
  • chore(internal/version): v2.12.0-dev.3 by @darccio in #5389
  • chore(deps): bump google.golang.org/grpc to v1.83.1 by @darccio in #5393
  • fix(contrib/aws/aws-sdk-go-v2): decouple http.url assertions from SDK path serialization by @kakkoyun in #5413
  • chore(deps): bump google.golang.org/grpc to v1.83.2 by @kakkoyun in #5414
  • ci: halve the floor on time-to-green by @kakkoyun in #5379
  • feat(contrib/jackc/pgx.v5): monitor SQLi by @RomainMuller in #5427
  • fix(appsec): report failed request blocks by @RomainMuller in #5377
  • feat(llmobs): expose versioned prompt config by @PROFeNoM in #5333
  • fix(contrib/sirupsen/logrus): honor DD_TRACE_128_BIT_TRACEID_LOGGING_ENABLED in orchestrion hook by @rarguelloF in #5428
  • chore(deps): bump otel to v1.45.0 to fix GO-2026-6508 by @darccio in #5462
  • chore(deps): bump the docker group across 4 directories with 2 updates by @dependabot[bot] in #5410
  • chore(contrib/go-chi/chi): bump go-chi/chi to v1.5.5 by @kakkoyun in #5475
  • docs(contrib): add apm-integrations skill and integration authoring guides by @rarguelloF in #5052
  • fix(contrib/modelcontextprotocol/go-sdk): handle nil tool call results by @kakkoyun in #5481
  • fix(contrib/google.golang.org/grpc): make cached service name race-free by @kakkoyun in #5471
  • feat(contrib/opensearch-project/opensearch-go.v4): support opensearch-go tracing by @keisku in #3280
  • fix(contrib/valyala/fasthttp): run the WAF instead of only tagging headers by @RomainMuller in #5418
  • fix(contrib/opensearch-project/opensearch-go.v4): bump opensearch-go to v4.7.0 by @darccio in #5510
  • fix: smoke tests failing on main by @hannahkm in #5512
  • fix(instrumentation/httptrace): updated query string obfuscation by @RomainMuller in #5518
  • fix: obfuscate query strings in inferred proxy and AWS spans by @RomainMuller in #5520
  • feat(contrib/net/http): support OpenTelemetry client semantics by @marcotc in #5203
  • feat(contrib/net/http): add otelc compile-time instrumentation by @rarguelloF in #5425
  • feat(contrib/database/sql): add otelc support by @rarguelloF in #5434
  • feat(contrib/jackc/pgx.v5): connection use time, consistent hook gates by @rarguelloF in #5341
  • feat(contrib/go-chi): add otelc support for chi and chi.v5 by @rarguelloF in #5145
  • fix(contrib/modelcontextprotocol/go-sdk): guard nil clientInfo by @kakkoyun in #5476
  • chore(deps): bump golang.org/x/tools and golang.org/x/net to support Go 1.27.2 by @rarguelloF in #5530
  • feat(contrib/gomodule/redigo): add otelc support by @rarguelloF in #5123
  • feat(contrib/net/http): support OpenTelemetry server semantics by @marcotc in #5231
  • feat(contrib/emicklei/go-restful.v3): support OpenTelemetry server semantics by @marcotc in #5232
  • feat(contrib/gorilla/mux): support OpenTelemetry server semantics by @marcotc in #5234
  • feat(contrib/gin-gonic/gin): support OpenTelemetry server semantics by @marcotc in #5235
  • feat(contrib/labstack/echo.v4): support OpenTelemetry server semantics by @marcotc in #5236

General

  • ci(static-checks): disable overlapping lint caches by @marcotc in #5366
  • fix(scripts/autoreleasetagger): skip nested git checkouts when discovering modules by @kakkoyun in #5373
  • fix(openfeature): bound InitWithContext by the configured init timeout by @pavlokhrebto in #5363
  • ci(dynamic-checks): absorb flaky failures instead of blocking the merge queue by @kakkoyun in #5382
  • ci: add notif channel for benchmark failures by @hannahkm in #5383
  • chore(deps): bump the docker group across 2 directories with 1 update by @dependabot[bot] in #5370
  • fix(ci): stop classifying submodules as core by @kakkoyun in #5378
  • feat(contrib/cloudevents): add native observability by @alfredosa in #5156
  • fix(civisibility): allow environment to enable ATR by @tonyredondo in #5338
  • fix(contrib/elastic/go-elasticsearch.v6): fall back to status text when response body is empty by @lemon0333 in #5288
  • test(civisibility): skip Orchestrion fixture on Go tip by @tonyredondo in #5392
  • fix(ci): follow-up on 5382 dynamic checks improvements by @kakkoyun in #5384
  • ci(actions): emit cache hit/miss and size metrics by @kakkoyun in #5380
  • fix(civisibility): align TIA missing coverage field by @daniel-mohedano in #5299
  • ci: upload coverage to Datadog by @hannahkm in #5387
  • ci(llm-validation): add LLM validation gate suite by @anna-git in #4965
  • fix(appsec): resolve defects found in a full appsec audit by @eliottness in #5397
  • chore(deps): bump openfeature/ffe-system-test-data from 2c0c8d5 to 6d3a386 by @dependabot[bot] in #5405
  • feat(otelc): add support for otelc compile-time instrumentation by @rarguelloF in #5117
  • ci(build-metrics): cache go-size-analyzer download, track cache utilization by @kakkoyun in #5417
  • fix(ci): upgrade llm validation platform version by @hannahkm in #5422
  • docs(otelc): add a skill for migrating integrations from orchestrion to otelc by @rarguelloF in #5423
  • fix(civisibility): serialize runtime coverage snapshots by @tonyredondo in #5441
  • fix(openfeature): validate local EVP proxy capabilities by @leoromanovsky in #5367
  • test(internal/datastreams): expand SetCheckpoint benchmark coverage, wire two into CI by @arjunguhaswe in #5404
  • chore(deps): bump the github-actions group across 1 directory with 11 updates by @dependabot[bot] in #5448
  • chore(deps): bump the docker-compose-dev group across 2 directories with 14 updates by @dependabot[bot] in #5447
  • fix(internal/locking): bound deadlock detector retention by @kakkoyun in #5424
  • test(internal/appsec): isolate telemetry in tests that make WAF-monitored requests by @darccio in #5455
  • chore(ci): retry go-size-analyzer download in build-metrics by @cbeauchesne in #5470
  • test(internal/locking): keep bounded OTLP wait stress active by @kakkoyun in #5431
  • fix(llmobs): preserve surrounding braces when rendering prompts by @PROFeNoM in #5440
  • feat(profiler): report configuration serialization errors by @darccio in #5451
  • chore(llmobs): classify Error Tracking audit sites by @darccio in #5464
  • feat(llmobs): separate typed formatted prompt output by @PROFeNoM in #5437
  • feat(llmobs): support message placeholders in managed prompts by @PROFeNoM in #5334
  • ci(metrics): establish Go cache timing baseline by @kakkoyun in #5419
  • ci: retry go mod tidy by @cbeauchesne in #5477
  • fix(contrib/ibm/sarama): resolved deadlock during input backpressure by @cphelps-ud in #5364
  • fix(contrib/jackc/pgx.v5): measure each batch query's own span duration by @jalaziz in #5309
  • ci(actions): isolate and refresh Go build caches by @kakkoyun in #5421
  • fix(internal/config): silence OTLP protocol warning when unused by @kakkoyun in #5472
  • fix(ddtrace/tracer): clarify runtime metrics v2 conflict log by @kakkoyun in #5473
  • feat(datastreams): report sketch serialization errors by @darccio in #5450
  • ci(orchestrion): add a blocking benchmark apps build check by @darccio in #5484
  • feat(openfeature): report configuration processing failures by @darccio in #5468
  • build: fix 'make help' for BSD awk and harden 'make docs' by @darccio in #5492
  • fix(tracer): apply OpenTelemetry semantics consistently by @marcotc in #5219
  • feat(instrumentation/testutils/testtracer): recover testtracer as a wrapper on the inspectable tracer by @darccio in #5495
  • feat: create dora metrics workflow by @hannahkm in #5505
  • fix(internal/config): fall back to OTEL_EXPORTER_OTLP_ENDPOINT for traces by @anna-git in #5407
  • feat(httptrace): support OpenTelemetry HTTP attributes by @marcotc in #5220
  • test(appsec): fix flaky TestBlockingUnavailable by @eliottness in #5516
  • ci: pull opensearch test image from Docker Hub instead of ECR Public by @rarguelloF in #5526
  • test(internal/civisibility): reuse module cache in read cache E2E by @cgcote in #5503
  • feat(civisibility): report Go fuzz tests and examples by @tonyredondo in #5442
  • feat(ddtrace/tracer): add OTLP adoption markers to trace payloads by @mhlidd in #5436
  • fix: future versions of Go use absolute socket paths by @hannahkm in #5537
  • chore(codeowners): use base SDK capabilities team by @bm1549 in #5513
  • feat(httptrace): support OpenTelemetry HTTP server semantics by @marcotc in #5230
  • ci: update one-pipeline version by @erikayasuda in #5546
  • fix(civisibility): preserve helper subtest identity and CI span routing by @tonyredondo in #5401
  • refactor(config): centralize blrp settings by @MilanGarnier in #5506
  • fix(opentelemetry): decode percent-encoded OTLP header values by @Mascarpone in #5542
  • fix(ddtrace/opentelemetry/log): honor OTEL_SERVICE_NAME in logs resource by @vpellan in #5531
  • chore: [🤖] Update System Tests by @dd-octo-sts[bot] in #5553
  • fix(crashtracker): make Orchestrion injection opt-in by @kakkoyun in #5556
  • fix(internal/config): remove the 10 attribute limit on OTEL_RESOURCE_ATTRIBUTES by @MilanGarnier in #5532
  • feat(apps): add a nightly crashtracker test-app scenario by @kakkoyun in #5316
  • feat(contrib/go-chi/chi.v5): support OpenTelemetry server semantics by @marcotc in #5242
  • feat(openfeature): add debug logging to the Feature Flags provider by @ethan-romero-dg in #5582
  • feat(openfeature): add per-subject evaluation telemetry opt-out by @leoromanovsky in #5611
  • feat(openfeature): add experimentation opt-out modes by @leoromanovsky in #5666
  • feat(openfeature): add customer exposure hooks by @leoromanovsky in #5667
  • feat(openfeature): support opt-out from future experiments by @leoromanovsky in #5700

New Contributors

Full Changelog: v2.12.0-dev...v2.12.0

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

NewReleases is sending notifications on new releases.