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