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
tov4.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
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
- feat(.github/workflows): Migrate outdated integrations to use STS by @darccio in #3843
- docs(MIGRATING.md): Clarify migration tool name in documentation by @darccio in #3846
- fix(.github/workflows): Add path normalization function to convert forward slashes to backslashes on Windows runners by @darccio in #3847
- fix(.github/chainguard): Remove event_name field in outdated integrations policy by @darccio in #3849
- Read default env from trace-agent info by @ichinaski in #3844
- docs(.github/workflows): clarify Docker login token requirements in
docker-build-and-push
workflow by @darccio in #3859 - docs: update supported integrations documentation by @github-actions[bot] in #3754
- chore(.github): upgrade and align actions across workflows with their tagged versions by @darccio in #3861
- ci: fix docker images releases by @e-n-0 in #3867
- chore(ci/orchestrion): integration tests break if orchestrion updates
go
directive by @RomainMuller in #3874 - ci: conventional commits PR naming by @genesor in #3873
- chore(ci/orchestrion): add orchestrion checkout to
go.work
by @RomainMuller in #3877 - fix(orchestrion/ci): use backslash in replace directive on Windows by @RomainMuller in #3878
- chore(ci/orchestrion): just set
GOWORK=off
by @RomainMuller in #3879 - fix(.github/workflows): Pin GitHub Actions to specific SHA versions for enhanced security by @juliendoutre in #3884
- chore: prevent smoke tests from failing-fast by @hannahkm in #3888
- fix: pin DataDog/datadog-go to v5.6.0 because of a breaking change in v5.7.0 by @eliottness in #3904
- chore: remove replace directive to DataDog/datadog-go because version was retracted and fixed by @eliottness in #3905
- fix(scripts): fix fix_modules.sh script by @rarguelloF in #3870
- ci: enable GOEXPERIMENT=synctest by @eliottness in #3907
- fix(telemetry): data race between test and auto flush by @eliottness in #3920
- chore(.gitlab): align bp-runner.fail-on-breach names to macrobenchmarks by @darccio in #3919
- fix(profiler): don't double compress non-delta profiles by @nsrip-dd in #3918
- build(deps): bump the gh-actions-packages group across 1 directory with 4 updates by @dependabot[bot] in #3889
- ci: fix PR title validation regexp by @genesor in #3929
- feat(ci): enable performance SLO change tracking by @igoragoli in #3935
- chore(.github/workflowsw): move
main
CI checks to merge queue runs by @darccio in #3887 - feat(ci): update check-slo-breaches to use a template by @igoragoli in #3941
- fix(.gitlab): change directionality of throughput SLOs by @igoragoli in #3936
- cherry pick PRs from main by @hannahkm in #4020
- fix(instrumentation): restore deleted net/http/pattern package (#4017 backport) by @nsrip-dd in #4019
New Contributors
- @dolmen made their first contribution in #3609
- @ryanslade made their first contribution in #3627
- @crdueck made their first contribution in #3881
- @andreimatei made their first contribution in #3883
- @isaacdd made their first contribution in #3693
- @juliendoutre made their first contribution in #3884
- @shota3506 made their first contribution in #3841
- @Succo made their first contribution in #3016
- @therve made their first contribution in #3928
Full Changelog: v2.2.3...v2.3.0