What's Changed
Application Performance Monitoring (APM)
- feat(internal/version): bump version to
v2.12.0-devby @kakkoyun in #5365 - feat(internal/version): bump version to
v2.12.0-dev.2by @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
2c0c8d5to6d3a386by @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
- @PROFeNoM made their first contribution in #5298
- @alfredosa made their first contribution in #5156
- @dcarbone made their first contribution in #2095
- @lemon0333 made their first contribution in #5288
- @cphelps-ud made their first contribution in #5364
- @cgcote made their first contribution in #5503
Full Changelog: v2.12.0-dev...v2.12.0