Releases: nginx/nginx-gateway-fabric
v0.4.0
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
- Exact PathMatch support for HTTPRoutes by @sjberman in #603
- Allow empty sectionName in HTTPRoute parentRef by @sjberman in #626
- Set ResolvedRefs condition to true on HTTPRoutes by @kate-osborn in #645
- Set gateway Pod IP as GatewayStatus address by @sjberman in #638
- Set Accepted condition type on Gateway status by @kate-osborn in #633
- Support multiple commands in gateway binary by @pleshakov in #656
- Make static mode compatible with provisioner by @pleshakov in #657
- Drop unrequired capabilities from containers by @ciarams87 in #677
- Update route condition where listener is not found by @ciarams87 in #675
- Set Gateway Programmed condition by @sjberman in #658
- Implement provisioner by @pleshakov in #683
- AllowedRoutes support for Listeners by @sjberman in #721
- Support custom listener ports by @kate-osborn in #745
- Add support for RequestHeaderModifier for HTTPRouteRule objects by @ciarams87 in #717
- Add wildcard hostname support by @sjberman in #769
- Add Programmed status for listener by @sjberman in #786
- ReferenceGrant from Gateway to Secret by @kate-osborn in #791
- Run conformance tests in the CI pipeline by @ciarams87 in #792
🐛 Bug Fixes
- Set upstream zone size to 512k by @kate-osborn in #609
- Allow empty HTTPRoute hostnames by @sjberman in #650
- Allow long server names by @ciarams87 in #651
- Ensure uniqueness and validity of generated names and labels by @pleshakov in #716
- Add in required capabilities for writing TLS secrets by @ciarams87 in #718
- Fix binding to multiple listeners with empty section name by @kate-osborn in #730
- Add timeout and retry logic for finding NGINX PID file by @ciarams87 in #676
- Fix/increase nginx timeout by @kate-osborn in #777
- Prioritize method matching by @sjberman in #789
- Run conformance tests in pod on cluster by @ciarams87 in #787
- Add NewListenerInvalidRouteKinds condition by @ciarams87 in #799
- Update validateBackendRef invalid group error conditions by @ciarams87 in #800
- Set GatewayClass status for ignored GatewayClasses by @sjberman in #804
📝 Documentation
- Update repo files for release 0.3.0 by @pleshakov in #592
- Bump sigs.k8s.io/gateway-api from 0.6.2 to 0.7.0 by @dependabot in #643
- Fix supported gateway conditions in compatibility doc by @kate-osborn in #674
- Add developer guide to CONTRIBUTING.md by @kate-osborn in #669
- Add Go style guide by @kate-osborn in #679
- Bump nginx from 1.23 to 1.25 by @lucacome in #684
- Add enhancement proposal document and template by @kate-osborn in #680
- Fix issue template by @kate-osborn in #729
- Improve dev quickstart guide by @pleshakov in #733
- Add SBOM for Docker image by @lucacome in #731
- Add enhancement proposal to list of possible issue types by @kate-osborn in #738
- Tests/run conformance tests by @vepatel in #713
- Improve provisioner docs by @pleshakov in #741
- Add architecture and design principles doc by @kate-osborn in #715
- Add requirements for Docker image in examples by @pleshakov in #756
- Fix spacing in the go style code blocks by @kate-osborn in #764
- Bump sigs.k8s.io/gateway-api from 0.7.0 to 0.7.1 by @dependabot in #711
- Release 0.4.0 by @ciarams87 in #810
🧹 Tech debt
- Move BackendGroup to dataplane package by @kate-osborn in #601
- Refactor controllers registration by @pleshakov in #646
🔨 Maintenance
- Fix whitespace in nginx templates by @sjberman in #597
- FIXME Review by @kate-osborn in #666
- Update k8s and controller-runtime dependencies by @sjberman in #682
- FIXME Review Continued by @kate-osborn in #692
- Move nginx.conf to ConfigMap by @sjberman in #678
- Update labeler config with new format by @lucacome in #697
- Update release step to use GitHub Action by @lucacome in #699
- Update GoReleaser config by @lucacome in #722
- Update runners to ubuntu-22.04 by @lucacome in #739
- Add dependency review workflow and config by @lucacome in #737
- Add summary of dependency review as comment in the PR by @lucacome in #753
- Add actionlint to lint workflow by @lucacome in #762
- Add mend workflow for security scanning by @sjberman in #746
- Regenerate FakeCapturer by @pleshakov in #784
- Pin logex dependency to licensed version by @sjberman in #790
- Update release branch dependencies by @sjberman in #813
⬆️ Dependencies
41 changes
- Update Kind Kubernetes version to 1.27.1 by @pleshakov in #588
- Bump prettier from 2.8.7 to 2.8.8 in /internal/nginx/modules by @dependabot in #591
- Bump github/codeql-action from 2.2.12 to 2.3.0 by @dependabot in #590
- Bump github/codeql-action from 2.3.0 to 2.3.1 by @dependabot in #596
- Bump github/codeql-action from 2.3.1 to 2.3.2 by @dependabot in #602
- Bump github/codeql-action from 2.3.2 to 2.3.3 by @dependabot in #627
- Bump anchore/sbom-action from 0.14.1 to 0.14.2 by @dependabot in #630
- Bump github.com/onsi/ginkgo/v2 from 2.9.2 to 2.9.4 by @dependabot in #624
- Bump actions/setup-go from 4.0.0 to 4.0.1 by @dependabot in #642
- Bump github.com/onsi/ginkgo/v2 from 2.9.4 to 2.9.5 by @dependabot in #640
- Bump github.com/onsi/gomega from 1.27.6 to 1.27.7 by @dependabot in #653
- Bump alpine from 3.17 to 3.18 in /build by @dependabot...
v0.3.0
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 https://github.com/nginxinc/nginx-kubernetes-gateway/blob/v0.3.0/CHANGELOG.md#release-030
What's Changed
🚀 Features
- Make NGINX error log visible in NGINX container logs by @pleshakov in #319
- Support NoMatchingListenerHostname reason in HTTPRoute status by @pleshakov in #290
- Always generate a root "/" location block in NGINX config to handle unmatched requests with 404 response by @kate-osborn in #356
- Run webhook validation rules inside NKG control plane by @pleshakov in #388
- Implement NKG-specific field validation for Gateways by @pleshakov in #407
- Implement NKG-specific field validation for HTTPRoutes by @pleshakov in #455
- Implement NKG-specific field validation for GatewayClasses by @pleshakov in #495
- Remove redundant warnings by @pleshakov in #502
- Improve Gateway validation error messages by @pleshakov in #503
- Report proper Conditions in status of HTTPRoute and Gateway when GatewayClass is invalid or doesn't exist by @pleshakov in #576
🐛 Bug Fixes
- Use double buffers in EventLoop by @kate-osborn in #270
- Generate default http server in NGINX if http listener exists in Gateway by @kate-osborn in #320
- Fix status for parentRef with invalid listener in HTTPRoute by @kate-osborn in #350
- Fix Observed Generation for Gateway Status by @kate-osborn in #351
- Calculate max capacity for locations slice by @kate-osborn in #360
- Fix initContainer failure during pod restart by @pl4nty in #337
- Fix HTTPRoute section name related bugs by @pleshakov in #568
- Fix status reporting for invalid HTTPRoutes by @pleshakov in #582
- Fix field path in error message for HTTPRoute path validation by @pleshakov in #587
📝 Documentation
- Update changelog and readme for release 0.2.0 in main branch by @pleshakov in #282
- Add a design doc for resource validation by @pleshakov in #343
- Bump sigs.k8s.io/gateway-api from 0.5.1 to 0.6.0 by @dependabot in #341
- Add design doc for Control Plane and Data Plane Separation by @kate-osborn in #344
- Add Issue Lifecycle and update Contributing by @lucacome in #431
- Bump sigs.k8s.io/gateway-api from 0.6.0 to 0.6.2 by @dependabot in #471
- Add webhook installation to docs by @pleshakov in #505
- Document how Gateway API resources are validated by @pleshakov in #520
- Update the release process document by @pleshakov in #585
- Release 0.3.0 by @pleshakov in #589
🧹 Tech debt
- Refactor webhook validation by @pleshakov in #510
🔨 Maintenance
- Run CI on PRs to release branch, remove set-output by @lucacome in #283
- Enable govet fieldalignment linter by @kate-osborn in #284
- Enable lll linter and make changes by @kate-osborn in #287
- Correct explanatory comment about time by @pleshakov in #296
- [StepSecurity] ci: Harden GitHub Actions by @step-security-bot in #309
- Improve performance of endpoints deduplication by @pleshakov in #299
- Bump kind to 1.26.0 by @lucacome in #328
- Use strict versions in package.json and align CI by @lucacome in #420
- Use read-only npm command by @lucacome in #423
- Remove pinned dependencies by @lucacome in #419
- Refactor graph and configuration into separate packages by @pleshakov in #432
- Remove redundant comment about query param validation by @pleshakov in #497
- Simplify hostname validation for HTTPRoute by @pleshakov in #504
- Panic for broken webhook validation assumption by @pleshakov in #565
- Add tech-debt label by @pleshakov in #586
⬆️ Dependencies
Details
- Bump anchore/sbom-action from 0.12.0 to 0.13.0 by @dependabot in #286
- Bump aquasecurity/trivy-action from 0.7.1 to 0.8.0 by @dependabot in #288
- Bump github.com/onsi/gomega from 1.22.1 to 1.24.0 by @dependabot in #289
- Bump sigs.k8s.io/controller-runtime from 0.13.0 to 0.13.1 by @dependabot in #291
- Bump anchore/sbom-action from 0.13.0 to 0.13.1 by @dependabot in #293
- Bump github.com/onsi/ginkgo/v2 from 2.4.0 to 2.5.0 by @dependabot in #298
- Bump chai from 4.3.6 to 4.3.7 in /internal/nginx/modules by @dependabot in #297
- Bump github.com/onsi/gomega from 1.24.0 to 1.24.1 by @dependabot in #300
- Bump k8s.io/client-go from 0.25.3 to 0.25.4 by @dependabot in #304
- Bump golangci/golangci-lint-action from 3.3.0 to 3.3.1 by @dependabot in #301
- Bump minimatch from 3.0.4 to 3.1.2 in /internal/nginx/modules by @dependabot in #310
- Bump github.com/onsi/ginkgo/v2 from 2.5.0 to 2.5.1 by @dependabot in #311
- Bump prettier from 2.7.1 to 2.8.0 in /internal/nginx/modules by @dependabot in #313
- Bump alpine from 3.16 to 3.17 in /build by @dependabot in #314
- Bump actions/setup-go from 3.3.1 to 3.4.0 by @dependabot in #317
- Bump github/codeql-action from 2.1.33 to 2.1.35 by @dependabot in #318
- Bump prettier from 2.8.0 to 2.8.1 in /internal/nginx/modules by @dependabot in #321
- Bump mocha from 10.1.0 to 10.2.0 in /internal/nginx/modules by @dependabot in #326
- Bump github.com/onsi/ginkgo/v2 from 2.5.1 to 2.6.0 by @dependabot in #327
- Bump github/codeql-action from 2.1.35 to 2.1.36 by @dependabot in #322
- Bump goreleaser/goreleaser-action from 3.2.0 to 4.1.0 by @dependabot in #330
- Bump actions/setup-go from 3.4.0 to 3.5.0 by @dependabot in #329
- Bump github/codeql-action from 2.1.36 to 2.1.37 by @dependabot in #332
- Bump actions/checkout from 3.1.0 to 3.2.0 by @dependabot in #331
- Bump ossf/scorecard-action from 2.0.6 to 2.1.0 by @dependabot in #333
- Bump github.com/onsi/gomega from 1.24.1 to 1.24.2 by @dependabot in #334
- Bump sigs.k8s.io/controller-runtime from 0.13.1 to 0.14.0 by @dependabot in #335
- Bump ossf/scorecard-action from 2.1.0 to ...
v0.2.0
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 https://github.com/nginxinc/nginx-kubernetes-gateway/blob/v0.2.0/CHANGELOG.md#release-020
What's Changed
🚀 Features
- Handle query param names in case-sensitive way with njs-0.7.6 in NGINX 1.23.1 image. by @pleshakov in #220
- Implement request redirect filter in HTTPRoute rule by @pleshakov in #218
- Feature/dynamic upstreams by @kate-osborn in #221
- Support ObservedGeneration in HTTPRoute status by @pleshakov in #254
- HTTP Traffic Splitting by @kate-osborn in #261
🐛 Bug Fixes
- Resolve AddToScheme FIXME by @kate-osborn in #236
- Resolve FIXMEs for gateway-ctlr-name CLI arg by @kate-osborn in #235
- Deduplicate endpoints by @kate-osborn in #253
- Refactor reconcilers and implementations by @pleshakov in #250
📝 Documentation
- Add changelog to main branch by @pleshakov in #206
- Remove unnecessary HTTPRoute in cafe example by @pleshakov in #208
- Add an explanation regarding our release cadence by @f5yacobucci in #216
- Fix doc mistakes and remove unused test variables by @kate-osborn in #252
- Bump sigs.k8s.io/gateway-api from 0.5.0 to 0.5.1 by @dependabot in #251
- Add OpenSSF Scorecard Github Action and Badge by @lucacome in #265
- Create SECURITY.md by @lucacome in #264
- Update repo files for release 0.2.0 by @pleshakov in #280
- Update release date in changelog for 0.2.0 by @pleshakov in #281
🔨 Maintenance
- Remove deprecated linters, add gocyclo and gofumpt by @lucacome in #213
- Remove workaround for CVE by @lucacome in #226
- Add help for Makefile by @lucacome in #228
- Always run pipeline by @lucacome in #229
- Increase lint timeout to 3m by @kate-osborn in #234
- Add PR labeler by @lucacome in #230
- Remove all GatewayConfig related code by @kate-osborn in #249
- Add release branches to CodeQL analysis by @lucacome in #263
- [StepSecurity] ci: Harden GitHub Actions by @step-security-bot in #266
- Update CODEOWNERS by @lucacome in #269
⬆️ Dependencies
- Bump aquasecurity/trivy-action from 0.6.2 to 0.7.0 by @dependabot in #195
- Bump anchore/sbom-action from 0.11.0 to 0.12.0 by @dependabot in #196
- Bump k8s.io/api from 0.24.3 to 0.24.4 by @dependabot in #198
- Bump k8s.io/code-generator from 0.24.3 to 0.24.4 by @dependabot in #197
- Bump aquasecurity/trivy-action from 0.7.0 to 0.7.1 by @dependabot in #202
- Bump github.com/onsi/gomega from 1.20.0 to 1.20.1 by @dependabot in #214
- Bump github.com/onsi/ginkgo/v2 from 2.1.4 to 2.1.6 by @dependabot in #215
- Bump github.com/onsi/gomega from 1.20.1 to 1.20.2 by @dependabot in #217
- Bump sigs.k8s.io/controller-runtime from 0.12.3 to 0.13.0 by @dependabot in #225
- Bump kind to 1.25.0 by @lucacome in #227
- Bump github.com/google/go-cmp from 0.5.8 to 0.5.9 by @dependabot in #231
- Update golang.org/x/net for CVE-2022-27664 by @lucacome in #242
- Bump k8s.io/api from 0.25.0 to 0.25.1 by @dependabot in #237
- Bump k8s.io/code-generator from 0.25.0 to 0.25.1 by @dependabot in #238
- Bump github.com/onsi/ginkgo/v2 from 2.1.6 to 2.2.0 by @dependabot in #239
- Bump k8s.io/api from 0.25.1 to 0.25.2 by @dependabot in #248
- Bump k8s.io/code-generator from 0.25.1 to 0.25.2 by @dependabot in #247
- Bump joshdales/labeler from 0861fa5accbc36878f85f40b98a9f40b15fe0429 to 4c74e8446142eeec7aa182f52ea24306a5479850 by @dependabot in #244
- Bump github.com/onsi/gomega from 1.20.2 to 1.21.1 by @dependabot in #255
- Bump github.com/onsi/gomega from 1.21.1 to 1.22.1 by @dependabot in #260
- Bump github.com/onsi/ginkgo/v2 from 2.3.0 to 2.3.1 by @dependabot in #262
- Bump k8s.io/api from 0.25.2 to 0.25.3 by @dependabot in #267
- Bump mocha from 10.0.0 to 10.1.0 in /internal/nginx/modules by @dependabot in #273
- Bump ossf/scorecard-action from 2.0.4 to 2.0.6 by @dependabot in #274
- Update container image to pull latest patch by @f5yacobucci in #275
- Update golang.org/x/text for CVE-2022-32149 by @lucacome in #272
- Bump golangci/golangci-lint-action from 3.2.0 to 3.3.0 by @dependabot in #276
- Bump github.com/onsi/ginkgo/v2 from 2.3.1 to 2.4.0 by @dependabot in #277
- Bump kind to 1.25.2 by @lucacome in #278
New Contributors
- @step-security-bot made their first contribution in #266
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Below is the auto-generated changelog, which includes all PRs that went into the release. For a shorter version, see https://github.com/nginxinc/nginx-kubernetes-gateway/blob/v0.1.0/CHANGELOG.md#release-010
What's Changed
🚀 Features
- Add initial version by @pleshakov in #1
- Support local compilation by @pleshakov in #4
- Gatewayclass controller by @pleshakov in #3
- Adding Gateway Controller by @f5yacobucci in #5
- Add gatewayconfig crd by @pleshakov in #7
- Update codegen to produce proper packages by @f5yacobucci in #9
- Adding CLI validation by @f5yacobucci in #8
- Process HTTPRoutes in Configuration by @pleshakov in #51
- Add Event Loop by @pleshakov in #56
- Update statuses of HTTPRoutes by @pleshakov in #60
- Support service resolution by @pleshakov in #68
- Support Config Generation by @pleshakov in #71
- Add configuration file and runtime management of NGINX by @pleshakov in #77
- Add NodePort and LoadBalancer Service definitions to manifests by @kate-osborn in #86
- Disable unsused controllers by @kate-osborn in #91
- Expand HTTPRoute Matching by @kate-osborn in #109
- Support processing multiple HTTP listeners by @pleshakov in #121
- Support multiple routes per path by @kate-osborn in #126
- Handle repeated headers by @kate-osborn in #133
- Support GatewayClass resource by @pleshakov in #136
- Handle multiple Gateway resources by @pleshakov in #139
- HTTPS Termination by @kate-osborn in #140
- Enforce that the SNI name matches the host name by @kate-osborn in #170
- Batch events by @pleshakov in #175
- Process all relevant cluster resources at start by @pleshakov in #184
🐛 Bug Fixes
- Generate a default SSL server for select HTTPS listener hostname by @kate-osborn in #173
📝 Documentation
- Design evaluation by @f5yacobucci in #2
- Prepare OSS Files by @kate-osborn in #76
- Improve project description by @pleshakov in #96
- Move parts of the README into separate docs by @pleshakov in #187
- Use edge tag in examples and makefile by @kate-osborn in #192
- Add changelog by @pleshakov in #204
- Added release process to README.md. (#191) by @f5yacobucci in #207
🔨 Maintenance
- Chore: create pipeline by @ciarams87 in #6
- Onboarding new collaborator by @f5yacobucci in #81
- Updating references for public name by @f5yacobucci in #92
- Error with repository name change by @f5yacobucci in #93
- Chores and refreshing dependencies by @f5yacobucci in #94
- Replace TO-DOs with FIXMEs by @pleshakov in #95
- chore: Set go_version in linting by @ciarams87 in #99
- Configure goimports linter to group internal packages by @pleshakov in #123
- Move lint to separate workflow, use concurrency feature to cancel runs by @lucacome in #155
- Remove patch version from golang image by @lucacome in #160
- Add npm to dependabot, use team in reviewers by @lucacome in #161
- Check that CRDs are up to date by @lucacome in #156
- Add javascript to CodeQL by @lucacome in #159
- Install npm packages from package.json in workflow by @lucacome in #165
- Push release build to registry and create draft release. by @pammecrandall in #146
- Remove deprecated ioutil library by @kate-osborn in #174
- Fix linter error with block comment by @kate-osborn in #176
- Add GoReleaser, create SBOMs and upload artifacts to Azure by @lucacome in #171
- Add check for go.mod and go.sum changes by @lucacome in #182
- Use new sarif fomat for Trivy by @lucacome in #183
- Enable pushing
edge
images by @lucacome in #186 - Add release step, add check for first tag by @lucacome in #185
- Add missing labels and remove unnecessary build-args by @lucacome in #188
- Use 0.1.0 version in release-0.1 branch by @pleshakov in #205
⬆️ Dependencies
- Bump aquasecurity/trivy-action from 0.0.21 to 0.1.0 by @dependabot in #10
- Bump k8s.io/apimachinery from 0.22.2 to 0.22.4 by @dependabot in #11
- Bump sigs.k8s.io/controller-tools from 0.6.2 to 0.7.0 by @dependabot in #12
- Bump k8s.io/client-go from 0.22.2 to 0.22.4 by @dependabot in #13
- Bump sigs.k8s.io/controller-runtime from 0.10.2 to 0.10.3 by @dependabot in #14
- Bump k8s.io/code-generator from 0.22.2 to 0.22.4 by @dependabot in #15
- Bump actions/cache from 2.1.6 to 2.1.7 by @dependabot in #16
- Bump aquasecurity/trivy-action from 0.1.0 to 0.2.0 by @dependabot in #18
- Bump github.com/go-logr/logr from 0.4.0 to 1.2.0 by @dependabot in #17
- Bump aquasecurity/trivy-action from 0.2.0 to 0.2.2 by @dependabot in #55
- Bump golang from 1.17 to 1.18.0 in /build by @dependabot in #69
- Bump k8s.io/code-generator from 0.22.4 to 0.23.5 by @dependabot in #70
- Bump github.com/go-logr/logr from 1.2.0 to 1.2.3 by @dependabot in #72
- Bump actions/cache from 2.1.7 to 3 by @dependabot in #73
- Bump k8s.io/client-go from 0.23.0-alpha.3 to 0.24.0-alpha.4 by @dependabot in #74
- Bump github.com/onsi/ginkgo/v2 from 2.1.1 to 2.1.3 by @dependabot in #79
- Bump sigs.k8s.io/controller-runtime from 0.11.0-beta.0 to 0.11.1 by @dependabot in #80
- Bump actions/checkout from 2 to 3 by @dependabot in #67
- Bump sigs.k8s.io/gateway-api from 0.4.0 to 0.4.2 by @dependabot in #85
- Bump github.com/onsi/gomega from 1.17.0 to 1.19.0 by @dependabot in #78
- Bump github.com/google/go-cmp from 0.5.6 to 0.5.7 by @dependabot in #84
- Bump sigs.k8s.io/controller-tools from 0.7.0 to 0.8.0 by @dependabot in #83
- Bump github.com/ma...