Below is the auto-generated changelog, which includes all PRs that went into the release.
For a shorter version that highlights only important changes, see CHANGELOG.md.
What's Changed
π Features
Add Session Persistence support for NGINX OSS and Plus users by @salonichf5 in https://github.com/nginx/nginx-gateway-fabric/pull/4471
Allow users to specify escape format when customizing the data plane access logs by @michasHL in https://github.com/nginx/nginx-gateway-fabric/pull/4530
Enables keepAlive directive to 16 by default by @salonichf5 in https://github.com/nginx/nginx-gateway-fabric/pull/4524
Add TCPRoute and UDPRoute Support for L4 Load Balancing by @Skcey in https://github.com/nginx/nginx-gateway-fabric/pull/4518
Support Basic Auth through AuthenticationFilter by @shaun-nx in https://github.com/nginx/nginx-gateway-fabric/pull/4575
feat: Add CRD discovery for BackendTLSPolicy and experimental CRDs by @ciarams87 in https://github.com/nginx/nginx-gateway-fabric/pull/4569
Add SnippetsPolicy for Gateway level by @fabian4 in https://github.com/nginx/nginx-gateway-fabric/pull/4461
Add proxy settings policy by @ciarams87 in https://github.com/nginx/nginx-gateway-fabric/pull/4592
Support watching subset of namespaces by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4606
Support Rate Limiting through RateLimitPolicy by @bjee19 in https://github.com/nginx/nginx-gateway-fabric/pull/4633
Add TLS Options support for Gateway by @dhurley in https://github.com/nginx/nginx-gateway-fabric/pull/4639
π Bug Fixes
Use container UUID instead of IP address for tracking agent by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4470
Preserve external controller annotations for deployment and daemonSet by @salonichf5 in https://github.com/nginx/nginx-gateway-fabric/pull/4468
Fix hostNetwork data plane pod connection issue by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4481
Prevent unnecessary data plane restarts by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4555
Add RouteType to L4Route struct by @shaun-nx in https://github.com/nginx/nginx-gateway-fabric/pull/4646
Ensure agent collector logs go to stdout by @dhurley in https://github.com/nginx/nginx-gateway-fabric/pull/4656
Confirm auth filter secret is referenced and exists by @shaun-nx in https://github.com/nginx/nginx-gateway-fabric/pull/4654
π¦ Helm Chart
Update docs for 2.3.0 release by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4491
feat(chart): add priorityClassName for control plane pod by @starlightromero in https://github.com/nginx/nginx-gateway-fabric/pull/4356
Include Gateway TLS spec in Helm template by @kwentine in https://github.com/nginx/nginx-gateway-fabric/pull/4514
Update dependency dadav/helm-schema to v0.20.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4558
add support for the GatewaySpecAddress to the gateway configuration by @rushikesh-outbound in https://github.com/nginx/nginx-gateway-fabric/pull/4605
Add snippets helm flag and example changes for snippets doc update by @bjee19 in https://github.com/nginx/nginx-gateway-fabric/pull/4628
Release 2.4.0 by @github-actions[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4669
π§ͺ Tests
Update Helm release opentelemetry-collector to v0.143.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4464, https://github.com/nginx/nginx-gateway-fabric/pull/4504, https://github.com/nginx/nginx-gateway-fabric/pull/4516, https://github.com/nginx/nginx-gateway-fabric/pull/4580
NFR Test Results for NGF version edge by @github-actions[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4467
NFR Test Results for NGF version v2.3.0 (#4453) by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4475
Fix inference conformance duplication by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4492
Test: replace context.TODO and context.Background to t.Context in uni⦠by @richie-king in https://github.com/nginx/nginx-gateway-fabric/pull/4355
Fix GW API version for NFR tests by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4528
Update curlimages/curl Docker tag to v8.18.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4566
Refactor test options by @tataruty in https://github.com/nginx/nginx-gateway-fabric/pull/4582
Increase test coverage for stream servers; add UDP to feature list by @ciarams87 in https://github.com/nginx/nginx-gateway-fabric/pull/4563
Add CEL tests for SnippetsPolicy by @tataruty in https://github.com/nginx/nginx-gateway-fabric/pull/4603
Update docker/dockerfile Docker tag to v1.21 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4642
Update telemetry collector for release 2.4 by @shaun-nx in https://github.com/nginx/nginx-gateway-fabric/pull/4659
NFR Test Results for NGF version 2.4.0 by @github-actions[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4660
π Documentation
Update AuthenticationFilter proposal by @shaun-nx in https://github.com/nginx/nginx-gateway-fabric/pull/4424
Implementable RateLimitPolicy proposal by @bjee19 in https://github.com/nginx/nginx-gateway-fabric/pull/4346
Add doc describing provisioning restrictions by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4499
Add example files for TCPRoute and UDPRoute user guides. by @salonichf5 in https://github.com/nginx/nginx-gateway-fabric/pull/4573
Update functional test to cover JWT auth by @shaun-nx in https://github.com/nginx/nginx-gateway-fabric/pull/4593
Add details on JWKS creation for use in JWT auth secret by @shaun-nx in https://github.com/nginx/nginx-gateway-fabric/pull/4599
Update RateLimitPolicy example files to guide by @bjee19 in https://github.com/nginx/nginx-gateway-fabric/pull/4634
π¨ Maintenance
Rename context package to avoid linter errors in pipeline by @salonichf5 in https://github.com/nginx/nginx-gateway-fabric/pull/4476
Update GOPROXY for forks; skip UBI plus by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4493
Add correlation_id to logs by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4506
Run create/update draft on manual workflows by @ciarams87 in https://github.com/nginx/nginx-gateway-fabric/pull/4526
Automate Operator certification by @ciarams87 in https://github.com/nginx/nginx-gateway-fabric/pull/4288
Merge open actions PRs into a single PR by @ciarams87 in https://github.com/nginx/nginx-gateway-fabric/pull/4564
Remove FOSSA by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4576
Temporarily switch to dev artifactory by @ciarams87 in https://github.com/nginx/nginx-gateway-fabric/pull/4594
Chore: readd prod artifactory by @ciarams87 in https://github.com/nginx/nginx-gateway-fabric/pull/4604
Remove internal redirect statuscode validation by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4600
Fix events RBAC and action by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4638
Render snippets-filter flag when specified by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4650
Update glib2 and libpng packages for cves by @bjee19 in https://github.com/nginx/nginx-gateway-fabric/pull/4648
β¬οΈ Dependencies
32 changes
Update GitHub Artifact Actions (major) by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4460
Update github/codeql-action action to v4.31.10 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4463, https://github.com/nginx/nginx-gateway-fabric/pull/4502, https://github.com/nginx/nginx-gateway-fabric/pull/4618
Update kindest/node Docker tag to v1.35.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4459, https://github.com/nginx/nginx-gateway-fabric/pull/4478, https://github.com/nginx/nginx-gateway-fabric/pull/4488
Lock file maintenance by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4465, https://github.com/nginx/nginx-gateway-fabric/pull/4505, https://github.com/nginx/nginx-gateway-fabric/pull/4517, https://github.com/nginx/nginx-gateway-fabric/pull/4581, https://github.com/nginx/nginx-gateway-fabric/pull/4621
Update stefanzweifel/git-auto-commit-action action to v7.1.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4490
Update module github.com/nginx/nginx-gateway-fabric/v2 to v2.3.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4495
Update ghcr.io/nginx/nginx-gateway-fabric/operator Docker tag to v1.1.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4494
Update module sigs.k8s.io/controller-tools to v0.20.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4496
Update docker/setup-buildx-action action to v3.12.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4501
Update npm dependencies to ^4.0.16 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4503
Update ghcr.io/nginx/dependencies/nginx-ubi:ubi9 Docker digest to 8352fd3 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4507, https://github.com/nginx/nginx-gateway-fabric/pull/4510, https://github.com/nginx/nginx-gateway-fabric/pull/4577
Update module google.golang.org/grpc to v1.78.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4508
Update anchore/sbom-action action to v0.21.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4511
Update dependency goreleaser/goreleaser to v2.13.3 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4512, https://github.com/nginx/nginx-gateway-fabric/pull/4578
Update kubernetes packages to v0.35.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4489
Update module github.com/prometheus/common to v0.67.5 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4534
Update NGINX and NGINX Agent by @sjberman in https://github.com/nginx/nginx-gateway-fabric/pull/4469
Update Testing dependencies by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4574
Update module golang.org/x/text to v0.33.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4579
Update GitHub Actions by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4565
Update pre-commit hook adrienverge/yamllint to v1.38.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4591
Update module github.com/onsi/ginkgo/v2 to v2.27.5 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4588
Update dependency redhat-openshift-ecosystem/openshift-preflight to v1.16.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4590
Update actions/setup-go action to v6.2.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4589
Update actions/setup-node action to v6.2.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4608
Update pre-commit hook rbubley/mirrors-prettier to v3.8.1 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4609, https://github.com/nginx/nginx-gateway-fabric/pull/4640
Update lucacome/draft-release action to v2.0.3 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4617
Update npm dependencies by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4619
Update redhat/ubi9-minimal Docker tag to v9.7-1768783948 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4620
Update module sigs.k8s.io/controller-runtime to v0.23.0 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4629
Update GitHub Actions by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4643
Update actions/checkout action to v6.0.2 by @renovate[bot] in https://github.com/nginx/nginx-gateway-fabric/pull/4652
Other Changes
Ensure NGINX Agent default metrics pipeline is not overridden when NGINX One reporting is configured by @dhurley in https://github.com/nginx/nginx-gateway-fabric/pull/4658
New Contributors
@richie-king made their first contribution in https://github.com/nginx/nginx-gateway-fabric/pull/4355
@starlightromero made their first contribution in https://github.com/nginx/nginx-gateway-fabric/pull/4356
@kwentine made their first contribution in https://github.com/nginx/nginx-gateway-fabric/pull/4514
@Skcey made their first contribution in https://github.com/nginx/nginx-gateway-fabric/pull/4518
@rushikesh-outbound made their first contribution in https://github.com/nginx/nginx-gateway-fabric/pull/4605
@dhurley made their first contribution in https://github.com/nginx/nginx-gateway-fabric/pull/4656
Full Changelog: https://github.com/nginx/nginx-gateway-fabric/compare/v2.3.0...v2.4.0