Skip to content

Commit 7007d1b

Browse files
authored
Merge pull request #2244 from robscott/changelog-v0.8.0-rc1
Adding changelog for v0.8.0-rc1
2 parents 6348288 + b8726e3 commit 7007d1b

14 files changed

+167
-26
lines changed

CHANGELOG.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## Table of Contents
44

5+
- [v0.8.0-rc1](#v080-rc1)
56
- [v0.7.1](#v071)
67
- [v0.7.0](#v070)
78
- [v0.7.0-rc2](#v070-rc2)
@@ -27,6 +28,146 @@
2728
- [v0.1.0-rc2](#v010-rc2)
2829
- [v0.1.0-rc1](#v010-rc1)
2930

31+
# v0.8.0-rc1
32+
33+
The working group expects that this release candidate is quite close to the final
34+
v0.8.0 release. However, breaking API changes are still possible.
35+
36+
This release candidate is suitable for implementors, but the working group does
37+
not recommend shipping products based on a release candidate API due to the
38+
possibility of incompatible changes prior to the final release.
39+
40+
## Major Themes
41+
42+
### GAMMA (Service Mesh)
43+
Service mesh support per the GAMMA initiative has moved to **experimental** in
44+
`v0.8.0`. As an experimental API, **it is still possible that this will
45+
change**; the working group does not recommend shipping products based on any
46+
experimental API.
47+
48+
When using the Gateway API to configure a service mesh, the Gateway and
49+
GatewayClass resources are not used (as there will typically only be one mesh
50+
in the cluster) and, instead, individual route resources are associated
51+
directly with Service resources. This permits configuring mesh routing while
52+
preserving the Gateway API's overall semantics.
53+
54+
We encourage service mesh implementers and users to try this new support and
55+
we welcome feedback! Once again, though, the working group does not recommend
56+
shipping products based on this or any other experimental API. due to the
57+
possibility of incompatible changes prior to the final release.
58+
59+
### CEL Validation
60+
This release marks the beginning of a transition from webhook validation to CEL
61+
validation that is built into the CRDs. That will mean different things
62+
depending on the version of Kubernetes you're using:
63+
64+
#### Kubernetes 1.25+
65+
CEL validation is fully supported. Most validation is now covered by the
66+
validating webhook, but unfortunately not quite everything.
67+
68+
**Standard Channel:** All but one validation has been translated from the
69+
webhook to CEL. Currently the CRDs only have a case-sensitive uniqueness check
70+
for header names in header modifier filters. The webhook validation is more
71+
thorough, ensuring that the uniqueness is case-insensitive. Unfortunately that
72+
is not possible to represent with CEL today. There is more information in
73+
[#2277](https://github.com/kubernetes-sigs/gateway-api/issues/2277).
74+
75+
**Experimental Channel:** TCPRoute, TLSRoute, and UDPRoute are fully covered by
76+
CEL validation. GRPCRoute still has some significant gaps in CEL validation that
77+
will be covered in a future release.
78+
79+
#### Kubernetes 1.23 and 1.24
80+
CEL validation is not supported, but Gateway API v0.8.0 CRDs can still be
81+
installed. When you upgrade to Kubernetes 1.25+, the validation included in
82+
these CRDs will automatically take effect. We recommend continuing to install
83+
the validating webhook on these Kubernetes versions.
84+
85+
#### Kubernetes 1.22 and older
86+
Unfortunately Gateway API v0.8.0 is not supported on these Kubernetes versions.
87+
Gateway API v0.8.0 CRDs include CEL validation and cannot be installed on these
88+
versions of Kubernetes. Note that Gateway API only commits to providing support
89+
for the [5 most recent versions of
90+
Kubernetes](https://gateway-api.sigs.k8s.io/concepts/versioning/#supported-versions),
91+
and thus these versions are no longer supported by Gateway API.
92+
93+
### API Version Changes
94+
As we prepare for a v1.0 release that will graduate Gateway, GatewayClass, and
95+
HTTPRoute to the `v1` API Version from `v1beta1`, we are continuing the process
96+
of moving away from `v1alpha2` for resources that have graduated to `v1beta1`.
97+
The following changes are included in this release:
98+
99+
- `v1alpha2` of Gateway, GatewayClass, and HTTPRoute is no longer served
100+
- `v1alpha2` of ReferenceGrant is deprecrated
101+
- `v1beta1` is now the storage version for ReferenceGrant
102+
103+
Those changes mean that:
104+
105+
- Users and implementations that were reading or writing from `v1alpha2` of
106+
Gateway, GatewayClass, or HTTPRoute MUST upgrade to use `v1beta1`.
107+
- Users and implementations that were reading or writing from `v1alpha2` of
108+
ReferenceGrant SHOULD upgrade to use `v1beta1`.
109+
110+
For more information, refer to
111+
[#2069](https://github.com/kubernetes-sigs/gateway-api/pull/2069).
112+
113+
## Other Changes
114+
115+
### Status
116+
- Add IncompatibleFilters reason for implementations to specify when a route is
117+
invalid due to an invalid combination of route filters. (#2150, @sunjayBhatia)
118+
119+
### Spec Clarifications
120+
121+
- HTTPRoute Method matching precedence has been clarified (#2054,
122+
@gauravkghildiyal)
123+
- Clarify that implementations must not modify HTTP Host header. Adds
124+
specificity alongside spec that port in Host header must be ignored when
125+
matching on host. (#2092, @sunjayBhatia)
126+
- Fix typo: rename GatewaReasonUnsupportedAddress ->
127+
GatewayReasonUnsupportedAddress (#2149, @panslava)
128+
- HTTPRoute: Clarified that exact path matches are truly exact, both trailing
129+
slashes and capitalization are meaningful. (#2055, @robscott)
130+
- Implementations MUST ignore any port value specified in the HTTP Host header
131+
while performing a match against HTTPRoute.Hostnames (#1980,
132+
@gauravkghildiyal)
133+
134+
### Conformance
135+
136+
- Add conformance tests against accepting invalid ReferenceGrants in HTTPRoute
137+
and TLSRoute (#2076, @meyskens)
138+
- Fixed an issues causing conformance tests to fail when using IPv6 addresses
139+
(#2024, @howardjohn)
140+
- HTTPRoute connectivity is in now enforced in conformance tests if a relevant
141+
ReferenceGrant gets deleted. (#1853, @pmalek)
142+
- The `--skip-tests` flag has been added to the conformance CLI to enable tests
143+
opt-out when using it. (#2170, @mlavacca)
144+
- The experimental conformance profile suite can now be added as a stand-alone
145+
cli and by means of `go test`. (#2066, @mlavacca)
146+
- GEPs now must have a Conformance Details section that specifies the feature's
147+
name for conformance purposes. (#2115, @youngnick)
148+
149+
### Webhook
150+
151+
- Changed default imagePullPolicy for gateway-api-admission-server to
152+
IfNotPresent. (#2215, @networkhermit)
153+
- Webhook config works with PodAdmission restricted (#2016, @jcpunk)
154+
155+
### Documentation
156+
157+
- Adds support for ParentRef targeting a Kubernetes Service resource for mesh
158+
implementations. (#2146, @mikemorris)
159+
- Clarify wording on website around Gateway API vs API Gateway (#2191,
160+
@david-martin)
161+
- GEP-1282, Backend Properties, has been declined. (#2132, @youngnick)
162+
- Added missing GEPs. (#2114, @levikobi)
163+
164+
### Bug Fixes
165+
166+
- Added the missing ReferenceGrant resource the kustomization.yaml for the
167+
standard channel (#2084, @howardjohn)
168+
- Webhook validation now ensures that BackendRefs can not be specified in the
169+
same HTTPRoute rule as a Redirect filter (#2161, @slayer321)
170+
30171
# v0.7.1
31172

32173
This is a patch release that includes small fixes, clarifications, and

config/crd/experimental/gateway.networking.k8s.io_gatewayclasses.yaml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/experimental/gateway.networking.k8s.io_gateways.yaml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/experimental/gateway.networking.k8s.io_grpcroutes.yaml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/experimental/gateway.networking.k8s.io_httproutes.yaml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/experimental/gateway.networking.k8s.io_referencegrants.yaml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/experimental/gateway.networking.k8s.io_tcproutes.yaml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/experimental/gateway.networking.k8s.io_tlsroutes.yaml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/experimental/gateway.networking.k8s.io_udproutes.yaml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/standard/gateway.networking.k8s.io_gatewayclasses.yaml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)