|
| 1 | +# v1.4 Changelog |
| 2 | + |
| 3 | +## Table of Contents |
| 4 | + |
| 5 | +- [v1.4.0-rc.1](#v140-rc1) |
| 6 | + |
| 7 | +# v1.4.0-rc.1 |
| 8 | + |
| 9 | +## Major Changes since v1.3.0 |
| 10 | + |
| 11 | +### Breaking Changes |
| 12 | + |
| 13 | +#### Experimental CORS Support in HTTPRoute - Breaking Change for AllowCredentials Field |
| 14 | + |
| 15 | +Users of the `Experimental` CORS `AllowCredentials` field can now specify false. |
| 16 | +The underlying API specification type has changed from a enum of type boolean to |
| 17 | +just a boolean, so users deploying `HTTPRoutes` via libraries and evaluating the |
| 18 | +experimental CORS support will need to adjust for the change in types. Please |
| 19 | +see #3895 for more details. |
| 20 | + |
| 21 | +#### Standard GRPCRoute - Spec Field Required (Technicality) |
| 22 | + |
| 23 | +This PR makes `grpcroute.spec` a required field. This is _technically_ a |
| 24 | +backward-incompatible change, as previously the field was unintentionally |
| 25 | +treated as optional because we erroneously used `omitempty` on `.spec` (unlike |
| 26 | +other APIs). Since the codebase didn't yet enforce explicit required markers, |
| 27 | +that `omitempty` allowed a missing `.spec`. |
| 28 | + |
| 29 | +Because `.spec` contains essential route configuration, omitting it renders a |
| 30 | +`GRPCRoute` unusable and causes route implementation to fail, so we expect this |
| 31 | +change will not have adverse effects, but wanted to call it out all the same. |
| 32 | +Please see #3937 for more details. |
| 33 | + |
| 34 | +### GEPs |
| 35 | + |
| 36 | +#### New Features |
| 37 | + |
| 38 | +In this release, the following major features are moving to the `Standard` |
| 39 | +channel and are now considered generally available: |
| 40 | + |
| 41 | +* [GEP-1897 BackendTLSPolicy] - Configuration of TLS from the Gateway to Backends |
| 42 | +* [GEP-3164 SupportedFeatures] - Status information about the features that an implementation supports. |
| 43 | + |
| 44 | +In this release, we introduced the following new features are moving to the |
| 45 | +`Experimental` channel, for implementations to evaluate: |
| 46 | + |
| 47 | +* [GEP-3949 Mesh Resource] - Mesh-wide configuration and supported features. |
| 48 | +* [GEP-3793 Default Gateways] - Allowing `Gateways` to program some routes by default. |
| 49 | +* [GEP-1494 HTTP External Auth] - Enabling External Auth for `HTTPRoute`. |
| 50 | + |
| 51 | +[GEP-1897 BackendTLSPolicy]:https://github.com/kubernetes-sigs/gateway-api/issues/1897 |
| 52 | +[GEP-3164 SupportedFeatures]:https://github.com/kubernetes-sigs/gateway-api/issues/3164 |
| 53 | +[GEP-3949 Mesh Resource]:https://github.com/kubernetes-sigs/gateway-api/issues/3949 |
| 54 | +[GEP-3793 Default Gateways]:https://github.com/kubernetes-sigs/gateway-api/issues/3793 |
| 55 | +[GEP-1494 HTTP External Auth]:https://github.com/kubernetes-sigs/gateway-api/pull/4001 |
| 56 | + |
| 57 | +#### Other Iterations |
| 58 | + |
| 59 | +* GEP-1897: standardizing behavior for invalid BackendTLSPolicy by @snorwin in https://github.com/kubernetes-sigs/gateway-api/pull/3909 |
| 60 | +* GEP-1897: describe TargetRefs conflict-resolution rules in BackendTLSPolicy by @snorwin in https://github.com/kubernetes-sigs/gateway-api/pull/4048 |
| 61 | +* GEP-2627: DNS Configuration - Initial Provisional PR by @maleck13 in https://github.com/kubernetes-sigs/gateway-api/pull/2712 |
| 62 | +* GEP-1713: Revisions by @dprotaso in https://github.com/kubernetes-sigs/gateway-api/pull/3744 |
| 63 | +* GEP 91: Update Goals and Prior Art by @arkodg in https://github.com/kubernetes-sigs/gateway-api/pull/3838 |
| 64 | +* GEP-91: Address connection coalescing security issue - API updates by @kl52752 in #3960 and #3942 |
| 65 | +* GEP-1494: Update gRPC Auth config by @youngnick in https://github.com/kubernetes-sigs/gateway-api/pull/4061 |
| 66 | +* GEP 3779: East/West Identity-Based Authorization by @LiorLieberman in https://github.com/kubernetes-sigs/gateway-api/pull/3822 |
| 67 | +* GEP-3792: Off-Cluster Gateways by @kflynn in https://github.com/kubernetes-sigs/gateway-api/pull/3851 |
| 68 | +* GEP-3798: Adding initial Provisional GEP for client ip based session persistence by @arihantg in https://github.com/kubernetes-sigs/gateway-api/pull/3844 |
| 69 | +* GEP-696: Update the possible states by @mlavacca in https://github.com/kubernetes-sigs/gateway-api/pull/3901 |
| 70 | +* TLSRoute: Require hostnames and bump version to v1alpha3 by @rostislavbobo in https://github.com/kubernetes-sigs/gateway-api/pull/3872 |
| 71 | +* TLSRoute: Require hostnames via +required by @rostislavbobo in https://github.com/kubernetes-sigs/gateway-api/pull/3918 |
| 72 | +* TLSRoute: Set MaxItems=1 for rules[] in v1alpha3 by @rostislavbobo in https://github.com/kubernetes-sigs/gateway-api/pull/3971 |
| 73 | +* Update Auth GEP with Implementable details by @youngnick in https://github.com/kubernetes-sigs/gateway-api/pull/3884 |
| 74 | +* add GRPCRouteExtendedFeatures to AllFeatures list by @skriss in https://github.com/kubernetes-sigs/gateway-api/pull/4046 |
| 75 | +* Allow preprepared CoreDNS image to be used by @aaronjwood in https://github.com/kubernetes-sigs/gateway-api/pull/3906 |
| 76 | +* Specify SAN validation precedence over Hostname validation by @kl52752 in https://github.com/kubernetes-sigs/gateway-api/pull/4039 |
| 77 | +* docs: move GEP-3798 to Deferred for now by @shaneutt in https://github.com/kubernetes-sigs/gateway-api/pull/3947 |
| 78 | + |
| 79 | +## Bug or Regression |
| 80 | + |
| 81 | +* The boolean "TrueField" introduced for CORS can cause generator issues by @shaneutt in https://github.com/kubernetes-sigs/gateway-api/issues/3895 |
| 82 | +* Mark grpcroutes spec as required by @rikatz in https://github.com/kubernetes-sigs/gateway-api/pull/3937 |
| 83 | + |
| 84 | +## Administrative |
| 85 | + |
| 86 | +* chore: remove inactive reviewers by @shaneutt in https://github.com/kubernetes-sigs/gateway-api/pull/3829 |
| 87 | +* Adding Lior to Mesh Leads by @robscott in https://github.com/kubernetes-sigs/gateway-api/pull/3877 |
| 88 | + |
| 89 | +## Changes by Kind |
| 90 | + |
| 91 | +### API |
| 92 | + |
| 93 | +#### HTTPRoute |
| 94 | + |
| 95 | +In the `Standard` channel, we've [now added] a `Name` field to `HTTPRouteRule` |
| 96 | +and `HTTPRouteMatch`. |
| 97 | + |
| 98 | +[now added]:https://github.com/kubernetes-sigs/gateway-api/issues/995 |
| 99 | + |
| 100 | +### Documentation |
| 101 | + |
| 102 | +* Enable dark mode switch on docs by @rikatz in https://github.com/kubernetes-sigs/gateway-api/pull/3977 |
| 103 | +* docs: Add v1.3 conformance report table by @snorwin in https://github.com/kubernetes-sigs/gateway-api/pull/3810 |
| 104 | +* docs: Update HTTPRoute status example by @jonstacks in https://github.com/kubernetes-sigs/gateway-api/pull/3784 |
| 105 | +* Add time extensions to release management doc by @shaneutt in https://github.com/kubernetes-sigs/gateway-api/pull/3943 |
| 106 | +* Update implementations.md with removal policy by @youngnick in https://github.com/kubernetes-sigs/gateway-api/pull/3863 |
| 107 | +* TLSRoute: Hostnames godoc by @rostislavbobo in https://github.com/kubernetes-sigs/gateway-api/pull/3925 |
| 108 | +* Make feature name required for Experimental by @youngnick in https://github.com/kubernetes-sigs/gateway-api/pull/3859 |
| 109 | +* Support comparison of response protocol by @zirain in https://github.com/kubernetes-sigs/gateway-api/pull/3986 |
| 110 | +* docs: note about expectations when a gep misses a release timeline by @shaneutt in https://github.com/kubernetes-sigs/gateway-api/pull/3866 |
| 111 | + |
| 112 | +## CI & Testing |
| 113 | + |
| 114 | +* Enable Kubernetes API Linter by @rikatz in https://github.com/kubernetes-sigs/gateway-api/pull/3917 |
| 115 | +* Use envtest for CRD validation tests by @rikatz in https://github.com/kubernetes-sigs/gateway-api/pull/3948 |
| 116 | + |
| 117 | +## Conformance Tests |
| 118 | + |
| 119 | +* Add mesh conformance tests structure and a first test by @LiorLieberman in https://github.com/kubernetes-sigs/gateway-api/pull/3729 |
| 120 | +* Add mesh conformance tests for httproute redirect(s) by @LiorLieberman in https://github.com/kubernetes-sigs/gateway-api/pull/3777 |
| 121 | +* Improve feature name readability in conformance reports by @08volt in https://github.com/kubernetes-sigs/gateway-api/pull/3564 |
| 122 | +* conformance: add Hook in ConformanceTestSuite by @zirain in https://github.com/kubernetes-sigs/gateway-api/pull/3786 |
| 123 | +* add mesh conformance for request header modifier by @LiorLieberman in https://github.com/kubernetes-sigs/gateway-api/pull/3812 |
| 124 | +* add httproute weight based routing mesh conformance tests by @LiorLieberman in https://github.com/kubernetes-sigs/gateway-api/pull/3827 |
| 125 | +* Add mesh core conformance tests for httproute same-namespace attachment by @LiorLieberman in https://github.com/kubernetes-sigs/gateway-api/pull/3833 |
| 126 | +* add httproute matching conformance mesh by @LiorLieberman in https://github.com/kubernetes-sigs/gateway-api/pull/3831 |
| 127 | +* add mesh conformance for httproute-queryparmas-match by @LiorLieberman in https://github.com/kubernetes-sigs/gateway-api/pull/3834 |
| 128 | +* fix meshredirectport and schemeredirect mesh conformance features by @LiorLieberman in https://github.com/kubernetes-sigs/gateway-api/pull/3847 |
| 129 | +* Add body to http.Request and roundTripper.request to extend conformance testutil ability to send request with body. by @zetxqx in https://github.com/kubernetes-sigs/gateway-api/pull/3853 |
| 130 | +* Infer SupportedFeatures in Conformance Tests (GEP-2162) [#3759] by @bexxmodd in https://github.com/kubernetes-sigs/gateway-api/pull/3848 |
| 131 | +* Improve distribution tests in conformance for MeshHTTPRouteWeight by @carsontham in https://github.com/kubernetes-sigs/gateway-api/pull/3855 |
| 132 | +* feat(conformance): validate implementation flags by @mlavacca in https://github.com/kubernetes-sigs/gateway-api/pull/3715 |
| 133 | +* Issue 3138 - Conformance Tests for BackendTLSPolicy - normative by @candita in https://github.com/kubernetes-sigs/gateway-api/pull/3212 |
| 134 | +* Fix(conformance report) Add Skip test count in Conformance Report if RunTest is configured. by @zetxqx in https://github.com/kubernetes-sigs/gateway-api/pull/3966 |
| 135 | +* Add Conformance test for Invalid BackendTLSPolicy TLS settings by @kl52752 in https://github.com/kubernetes-sigs/gateway-api/pull/3930 |
| 136 | +* Improve distribution tests in conformance for HTTPRouteWeight by @carsontham in https://github.com/kubernetes-sigs/gateway-api/pull/3880 |
| 137 | +* BackendTLSPolicy conformance tests for observedGeneration bump by @snorwin in https://github.com/kubernetes-sigs/gateway-api/pull/3997 |
| 138 | +* conformance: add test for optional address value by @EyalPazz in https://github.com/kubernetes-sigs/gateway-api/pull/3689 |
| 139 | +* BackendTLSPolicy conformance tests for ResolvedRefs status condition by @snorwin in https://github.com/kubernetes-sigs/gateway-api/pull/4010 |
| 140 | +* conformance: add test to check for proper cors allow-credentials behvior by @EyalPazz in https://github.com/kubernetes-sigs/gateway-api/pull/3990 |
| 141 | +* Add Conformance tests for BackendTLSPolicy validating SANs with Type dsnName by @kl52752 in https://github.com/kubernetes-sigs/gateway-api/pull/3983 |
| 142 | +* fix conformance test HTTPRouteWeight by @fabian4 in https://github.com/kubernetes-sigs/gateway-api/pull/4038 |
| 143 | +* BackendTLSPolicy conformance tests for conflict resolution by @snorwin in https://github.com/kubernetes-sigs/gateway-api/pull/4043 |
| 144 | +* Updated a new field on supported features inference from boolean to enum and remove from report. by @bexxmodd in https://github.com/kubernetes-sigs/gateway-api/pull/3885 |
| 145 | +* Add GRPCRoute weighted backendRefs test by @sarthyparty in https://github.com/kubernetes-sigs/gateway-api/pull/3962 |
| 146 | + |
| 147 | +## Cleanup |
| 148 | + |
| 149 | +* Remove unused dependabot config for Github actions by @FelipeYepez in https://github.com/kubernetes-sigs/gateway-api/pull/3816 |
| 150 | +* rm duplicate explanation by @naruse666 in https://github.com/kubernetes-sigs/gateway-api/pull/3780 |
| 151 | +* fix: remove misleading description by @snorwin in https://github.com/kubernetes-sigs/gateway-api/pull/3778 |
| 152 | +* Fix typo for the file name case type in GEP-2162 doc. by @bexxmodd in https://github.com/kubernetes-sigs/gateway-api/pull/3807 |
| 153 | +* fix(gep-1911): remove duplicated header in table by @davinkevin in https://github.com/kubernetes-sigs/gateway-api/pull/3818 |
| 154 | +* Fix godoc comment for GatewaySpecAddress by @syw14 in https://github.com/kubernetes-sigs/gateway-api/pull/3845 |
| 155 | +* Updated index.md to reflect changes in GEP-2162 by @bexxmodd in https://github.com/kubernetes-sigs/gateway-api/pull/3898 |
| 156 | +* GEP-3792 and GEP-3793 title fixes :man_facepalming: by @kflynn in https://github.com/kubernetes-sigs/gateway-api/pull/3870 |
| 157 | +* docs: fix typo and add contents about "ngrok Kubernetes Operator" by @Seo-yul in https://github.com/kubernetes-sigs/gateway-api/pull/3874 |
| 158 | +* docs: Fix links to nonexistent anchors by @blake in https://github.com/kubernetes-sigs/gateway-api/pull/3862 |
| 159 | +* kubecon talk link updated. by @kundan2707 in https://github.com/kubernetes-sigs/gateway-api/pull/3660 |
| 160 | +* Fix Godoc for BackendTLSPolicyValidation struct for Hostname field by @mayuka-c in https://github.com/kubernetes-sigs/gateway-api/pull/3923 |
| 161 | +* Fix malformed URL typo in index.md by @HaeyoonJo in https://github.com/kubernetes-sigs/gateway-api/pull/3926 |
| 162 | +* Lint required optional by @rikatz in https://github.com/kubernetes-sigs/gateway-api/pull/3929 |
| 163 | +* Fix Gateway API community meeting schedule documentation by @jgreeer in https://github.com/kubernetes-sigs/gateway-api/pull/3975 |
| 164 | +* ListenerSet adjust PortNumber kubebuilder validations by @dprotaso in https://github.com/kubernetes-sigs/gateway-api/pull/3750 |
| 165 | +* Fix OpenAPI validations by adding API list markers by @erikgb in https://github.com/kubernetes-sigs/gateway-api/pull/3964 |
| 166 | +* fix typo by @maheshrijal in https://github.com/kubernetes-sigs/gateway-api/pull/3976 |
| 167 | +* Add gateway class label to generated objects by @howardjohn in https://github.com/kubernetes-sigs/gateway-api/pull/3955 |
| 168 | +* Change to ignore Mesh features in GWC instead of erroring out. by @bexxmodd in https://github.com/kubernetes-sigs/gateway-api/pull/3938 |
| 169 | +* fix(docs): remove unnecessary array in incorrect example @ gep-1767 by @EyalPazz in https://github.com/kubernetes-sigs/gateway-api/pull/3991 |
| 170 | +* Update devguide.md to include docker as a pre-req for verify by @PronomitaDey in https://github.com/kubernetes-sigs/gateway-api/pull/4000 |
| 171 | +* Add ResolvedRefs condition for BackendTLSPolicy by @snorwin in https://github.com/kubernetes-sigs/gateway-api/pull/3994 |
| 172 | +* Update status fields with clearer definitions by @youngnick in https://github.com/kubernetes-sigs/gateway-api/pull/4008 |
| 173 | +* Add API changes for HTTP External Auth by @youngnick in https://github.com/kubernetes-sigs/gateway-api/pull/4001 |
| 174 | +* remove http non mesh features from mesh profile by @LiorLieberman in https://github.com/kubernetes-sigs/gateway-api/pull/4029 |
| 175 | +* Move BackendTLS configuration to GatewayTLSConfig by @kl52752 in https://github.com/kubernetes-sigs/gateway-api/pull/4009 |
| 176 | +* Fix cors cel by @rikatz in https://github.com/kubernetes-sigs/gateway-api/pull/4032 |
| 177 | +* simplify BackendTLSPolicy test infrastructure and remove unnecessary code by @snorwin in https://github.com/kubernetes-sigs/gateway-api/pull/4016 |
| 178 | +* Upgrade dependencies to K8s 1.34 by @erikgb in https://github.com/kubernetes-sigs/gateway-api/pull/4044 |
| 179 | +* chore(build): Clean up excessive warnings from "make generate" by @kflynn in https://github.com/kubernetes-sigs/gateway-api/pull/4045 |
| 180 | +* Update release manager role description by @youngnick in https://github.com/kubernetes-sigs/gateway-api/pull/4040 |
| 181 | +* Clarify terminology for gateway TLS by @kl52752 in https://github.com/kubernetes-sigs/gateway-api/pull/4036 |
| 182 | +* add BackendTLSPolicyExtendedFeatures to AllFeatures list by @snorwin in https://github.com/kubernetes-sigs/gateway-api/pull/4047 |
| 183 | +* Fix PortNumber type to support controller-gen by @erikgb in https://github.com/kubernetes-sigs/gateway-api/pull/4049 |
| 184 | +* prevent controller-runtime stack traces logger by @aojea in https://github.com/kubernetes-sigs/gateway-api/pull/4054 |
| 185 | +* Add new BackendTLSPolicy configuration options to documentation by @08volt in https://github.com/kubernetes-sigs/gateway-api/pull/3563 |
| 186 | +* Add default timeout to UDPRoute test and improve logs by @cnvergence in https://github.com/kubernetes-sigs/gateway-api/pull/4027 |
| 187 | +* API for default Gateways by @kflynn in https://github.com/kubernetes-sigs/gateway-api/pull/4031 |
| 188 | +* Improve some ListenetSet gep descriptions by @rikatz in https://github.com/kubernetes-sigs/gateway-api/pull/3978 |
| 189 | +* Update index.md field after moving BackendTLS struct by @kl52752 in https://github.com/kubernetes-sigs/gateway-api/pull/4041 |
| 190 | +* concepts/tooling.md: Add Headlamp tool by @illume in https://github.com/kubernetes-sigs/gateway-api/pull/4083 |
| 191 | + |
| 192 | +## New Contributors |
| 193 | + |
| 194 | +* @szviagintsev made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3782 |
| 195 | +* @jonstacks made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3784 |
| 196 | +* @naruse666 made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3780 |
| 197 | +* @08volt made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3564 |
| 198 | +* @bexxmodd made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3807 |
| 199 | +* @davinkevin made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3818 |
| 200 | +* @FelipeYepez made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3816 |
| 201 | +* @samcrichard made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3775 |
| 202 | +* @dawid-nowak made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3813 |
| 203 | +* @syw14 made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3845 |
| 204 | +* @zetxqx made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3853 |
| 205 | +* @arihantg made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3844 |
| 206 | +* @Seo-yul made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3874 |
| 207 | +* @carsontham made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3855 |
| 208 | +* @rostislavbobo made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3872 |
| 209 | +* @mayuka-c made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3923 |
| 210 | +* @rikatz made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3917 |
| 211 | +* @HaeyoonJo made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3926 |
| 212 | +* @furykerry made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3968 |
| 213 | +* @jgreeer made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3975 |
| 214 | +* @erikgb made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3964 |
| 215 | +* @maheshrijal made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3976 |
| 216 | +* @PronomitaDey made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/4000 |
| 217 | +* @idebeijer made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/4018 |
| 218 | +* @fabian4 made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/4038 |
| 219 | +* @sarthyparty made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3962 |
| 220 | +* @aaronjwood made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/3906 |
| 221 | +* @illume made their first contribution in https://github.com/kubernetes-sigs/gateway-api/pull/4083 |
| 222 | + |
| 223 | +**Full Changelog**: https://github.com/kubernetes-sigs/gateway-api/compare/v1.3.0...v1.4.0-rc.1 |
0 commit comments