Skip to content

Commit a9b501b

Browse files
authored
v1.5.0-rc.1 CHANGELOG and version bumps (#4529)
* docs: Release 1.5 CHANGELOG items Signed-off-by: Flynn <emissary@flynn.kodachi.com> * chore: Bump versions in CRDs Signed-off-by: Flynn <emissary@flynn.kodachi.com> --------- Signed-off-by: Flynn <emissary@flynn.kodachi.com>
1 parent 52df5b9 commit a9b501b

25 files changed

Lines changed: 260 additions & 29 deletions

CHANGELOG/1.5-CHANGELOG.md

Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
# v1.5 Changelog
2+
3+
## Table of Contents
4+
5+
- [v1.5.0-rc.1](#v150-rc1)
6+
7+
# v1.5.0-rc.1
8+
9+
## Major Changes Since v1.4.1
10+
11+
### Breaking Changes
12+
13+
#### TLSRoute `v1alpha2` and XListenerSet
14+
15+
Since TLSRoute and ListenerSet have graduated to the Standard channel,
16+
TLSRoute `v1alpha2` and XListenerSet are no longer included in the
17+
Experimental channel.
18+
19+
Additionally, note that TLSRoute's CEL validation requires Kubernetes
20+
1.31 or higher.
21+
22+
#### Upgrades and ValidatingAdmissionPolicy
23+
24+
Gateway API 1.5 introduces a validating admission policy (VAP) called
25+
`safe-upgrades.gateway.networking.k8s.io` to guard
26+
against two specific concerns:
27+
28+
* It prevents installing Experimental CRDs once you've installed Standard
29+
CRDs.
30+
* It prevents downgrading to a version prior to 1.5 after you've
31+
installed Gateway API 1.5.
32+
33+
These actions can't be known to be safe without detailed knowledge about
34+
your application and users. If you need to perform them, delete the
35+
`safe-upgrades.gateway.networking.k8s.io` VAP first.
36+
37+
### New Features
38+
39+
In this release, the following major features are moving to the
40+
`Standard` channel and are now considered generally available:
41+
42+
* Gateway Client Certificate validation ([GEP-91], [GEP-3567])
43+
* Certificate selection for Gateway TLS origination ([GEP-3155])
44+
* ListenerSet support ([GEP-1713])
45+
* HTTPRoute CORS filter ([GEP-1767])
46+
* TLSRoute `v1` ([GEP-2643])
47+
48+
Additionally, the ReferenceGrant resource is moving to `v1`.
49+
50+
[GEP-91]: https://gateway-api.sigs.k8s.io/geps/gep-91/
51+
[GEP-1713]: https://gateway-api.sigs.k8s.io/geps/gep-1713/
52+
[GEP-1767]: https://gateway-api.sigs.k8s.io/geps/gep-1767/
53+
[GEP-2643]: https://gateway-api.sigs.k8s.io/geps/gep-2643/
54+
[GEP-3155]: https://gateway-api.sigs.k8s.io/geps/gep-3155/
55+
[GEP-3567]: https://gateway-api.sigs.k8s.io/geps/gep-3567/
56+
57+
## Experimental
58+
59+
* Gateway/HTTPRoute level authentication ([GEP-1494])
60+
61+
[GEP-1494]: https://gateway-api.sigs.k8s.io/geps/gep-1494/
62+
63+
## Changes by Kind
64+
65+
### Test
66+
67+
- Add conformance test to check that only Accepted Routes are considered as attachedRoute on Gateway status (#4362, @davidesalerno)
68+
- Added conformance tests for invalid backend TLS configurations and the Gateway ResolvedRefs condition (#4389, @snorwin)
69+
- Adds a conformance test for BackendTLSPolicy so that when a ConfigMap contents are changed, it should be reconciled by the controller. (#4360, @Thealisyed)
70+
71+
### GEPs
72+
73+
- Adding initial conformance tests for XListenerSets (#3890, @davidjumani)
74+
- Adds the `AttachedListeners` conditions to the Gateway status which is the count of successful ListenerSet attachments to the gateway (#4211, @davidjumani)
75+
- Allow only static port ports for listenerSets (#4426, @davidjumani)
76+
- Fix the description of what conditions count as a valid attachedRoute on Gateway status (#4341, @davidesalerno)
77+
- TLSRoute gep creation (#4064, @rikatz)
78+
79+
### Feature
80+
81+
- Adds TLS mode validation for TLS protocol on ListenerSet Listener. (#4451, @rostislavbobo)
82+
- Allow implementation-specific values for wellKnownCACertificates in BackendTLSPolicy (#4401, @snorwin)
83+
- Promote ReferenceGrant to v1 (#4458, @rikatz)
84+
- Support for client certificate validation for TLS terminating at the Gateway is now in Standard (#4496, @kl52752)
85+
- Support for defining Gateway client certificate when Gateways originate TLS connection to Backends is now in Standard. (#4489, @kl52752)
86+
- TLSRoute has graduated to GA. We recommend using the "v1" API version with this API now. The "v1alpha2" and "v1alpha3" version of this API are deprecated and will be removed in the future. (#4439, @rostislavbobo)
87+
88+
### Documentation
89+
90+
- Added a "When to Use GRPCRoute" section to the GRPCRoute API types documentation, with guidance on when to use HTTPRoute vs GRPCRoute and for controller implementers. (#4502, @kahirokunn)
91+
- Adds the `AttachedListeners` conditions to the Gateway status for the GEP and details for ListenerSets conformance tests (#4205, @davidjumani)
92+
- Define a new Reason type for Listener's Condition status to reflect invalid Client Certificate Validation Configuration for Gateway. (#4443, @kl52752)
93+
- Updating versioning docs located at https://gateway-api.sigs.k8s.io/concepts/versioning/ (#4308, @bexxmodd)
94+
95+
### Bug or Regression
96+
97+
- Added `minItems=1` validation to `HTTPRoute.spec.rules` to prevent creation of HTTPRoute resources without any rules. (#4301, @snorwin)
98+
- Only allow cookieConfig with type: Cookie (#4411, @LiorLieberman)
99+
100+
### Other (Cleanup or Flake)
101+
102+
- Remove TCPRoute support from TLS listeners (#4427, @rikatz)
103+
- Update the Gateway status to include `AttachedListenerSets` - the count of ListenerSets that have successfully attached to the gateway (#4358, @davidjumani)
104+
105+
### Uncategorized
106+
107+
- Added conformance tests validating Gateway behavior for connection coalescing when SNI and Host headers do not match, including correct use of HTTP 421 for potentially misdirected requests. (#4364, @snorwin)
108+
- Adds TLS mode validation for TLS protocol on Gateway Listener. (#4441, @rostislavbobo)
109+
- Adds conformance tests for ListenerSets (#4445, @davidjumani)
110+
- Https://github.com/kubernetes-sigs/aws-load-balancer-controller/releases/tag/v3.0.0 (#4453, @shuqz)
111+
- Implement conformance test for CORS (#4494, @rikatz)
112+
- Promote ListenerSet to standard (#4499, @davidjumani)
113+
114+
## Dependencies
115+
116+
### Added
117+
- github.com/Masterminds/semver/v3: [v3.4.0](https://github.com/Masterminds/semver/tree/v3.4.0)
118+
- github.com/chzyer/readline: [v1.5.1](https://github.com/chzyer/readline/tree/v1.5.1)
119+
- github.com/gkampitakis/ciinfo: [v0.3.2](https://github.com/gkampitakis/ciinfo/tree/v0.3.2)
120+
- github.com/gkampitakis/go-diff: [v1.3.2](https://github.com/gkampitakis/go-diff/tree/v1.3.2)
121+
- github.com/gkampitakis/go-snaps: [v0.5.15](https://github.com/gkampitakis/go-snaps/tree/v0.5.15)
122+
- github.com/ianlancetaylor/demangle: [f615e6b](https://github.com/ianlancetaylor/demangle/tree/f615e6b)
123+
- github.com/joshdk/go-junit: [v1.0.0](https://github.com/joshdk/go-junit/tree/v1.0.0)
124+
- github.com/maruel/natural: [v1.1.1](https://github.com/maruel/natural/tree/v1.1.1)
125+
- github.com/mfridman/tparse: [v0.18.0](https://github.com/mfridman/tparse/tree/v0.18.0)
126+
- github.com/tidwall/gjson: [v1.18.0](https://github.com/tidwall/gjson/tree/v1.18.0)
127+
- github.com/tidwall/match: [v1.1.1](https://github.com/tidwall/match/tree/v1.1.1)
128+
- github.com/tidwall/pretty: [v1.2.1](https://github.com/tidwall/pretty/tree/v1.2.1)
129+
- github.com/tidwall/sjson: [v1.2.5](https://github.com/tidwall/sjson/tree/v1.2.5)
130+
131+
### Changed
132+
- cloud.google.com/go/compute/metadata: v0.7.0 → v0.9.0
133+
- github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp: [v1.29.0 → v1.30.0](https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/compare/detectors/gcp/v1.29.0...detectors/gcp/v1.30.0)
134+
- github.com/cncf/xds/go: [2ac532f → 0feb691](https://github.com/cncf/xds/compare/2ac532f...0feb691)
135+
- github.com/envoyproxy/go-control-plane/envoy: [v1.32.4 → v1.35.0](https://github.com/envoyproxy/go-control-plane/compare/envoy/v1.32.4...envoy/v1.35.0)
136+
- github.com/envoyproxy/go-control-plane: [v0.13.4 → 75eaa19](https://github.com/envoyproxy/go-control-plane/compare/v0.13.4...75eaa19)
137+
- github.com/go-jose/go-jose/v4: [v4.1.1 → v4.1.3](https://github.com/go-jose/go-jose/compare/v4.1.1...v4.1.3)
138+
- github.com/google/pprof: [d1b30fe → 294ebfa](https://github.com/google/pprof/compare/d1b30fe...294ebfa)
139+
- github.com/mailru/easyjson: [v0.9.0 → v0.9.1](https://github.com/mailru/easyjson/compare/v0.9.0...v0.9.1)
140+
- github.com/miekg/dns: [v1.1.68 → v1.1.72](https://github.com/miekg/dns/compare/v1.1.68...v1.1.72)
141+
- github.com/onsi/ginkgo/v2: [v2.22.0 → v2.28.0](https://github.com/onsi/ginkgo/compare/v2.22.0...v2.28.0)
142+
- github.com/onsi/gomega: [v1.38.1 → v1.39.1](https://github.com/onsi/gomega/compare/v1.38.1...v1.39.1)
143+
- github.com/prometheus/client_golang: [v1.23.0 → v1.23.2](https://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.2)
144+
- github.com/prometheus/common: [v0.65.0 → v0.66.1](https://github.com/prometheus/common/compare/v0.65.0...v0.66.1)
145+
- github.com/prometheus/procfs: [v0.17.0 → v0.19.2](https://github.com/prometheus/procfs/compare/v0.17.0...v0.19.2)
146+
- github.com/rogpeppe/go-internal: [v1.13.1 → v1.14.1](https://github.com/rogpeppe/go-internal/compare/v1.13.1...v1.14.1)
147+
- github.com/spf13/cobra: [v1.9.1 → v1.10.2](https://github.com/spf13/cobra/compare/v1.9.1...v1.10.2)
148+
- github.com/spf13/pflag: [v1.0.7 → v1.0.10](https://github.com/spf13/pflag/compare/v1.0.7...v1.0.10)
149+
- github.com/spiffe/go-spiffe/v2: [v2.5.0 → v2.6.0](https://github.com/spiffe/go-spiffe/compare/v2.5.0...v2.6.0)
150+
- github.com/stretchr/testify: [v1.11.0 → v1.11.1](https://github.com/stretchr/testify/compare/v1.11.0...v1.11.1)
151+
- go.etcd.io/bbolt: v1.4.2 → v1.4.3
152+
- go.etcd.io/etcd/api/v3: v3.6.4 → v3.6.5
153+
- go.etcd.io/etcd/client/pkg/v3: v3.6.4 → v3.6.5
154+
- go.etcd.io/etcd/client/v3: v3.6.4 → v3.6.5
155+
- go.etcd.io/etcd/pkg/v3: v3.6.4 → v3.6.5
156+
- go.etcd.io/etcd/server/v3: v3.6.4 → v3.6.5
157+
- go.opentelemetry.io/auto/sdk: v1.1.0 → v1.2.1
158+
- go.opentelemetry.io/contrib/detectors/gcp: v1.36.0 → v1.38.0
159+
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.58.0 → v0.61.0
160+
- go.opentelemetry.io/otel/metric: v1.37.0 → v1.38.0
161+
- go.opentelemetry.io/otel/sdk/metric: v1.37.0 → v1.38.0
162+
- go.opentelemetry.io/otel/sdk: v1.37.0 → v1.38.0
163+
- go.opentelemetry.io/otel/trace: v1.37.0 → v1.38.0
164+
- go.opentelemetry.io/otel: v1.37.0 → v1.38.0
165+
- go.opentelemetry.io/proto/otlp: v1.5.0 → v1.7.0
166+
- go.uber.org/zap: v1.27.0 → v1.27.1
167+
- go.yaml.in/yaml/v2: v2.4.2 → v2.4.3
168+
- golang.org/x/crypto: v0.41.0 → v0.47.0
169+
- golang.org/x/mod: v0.27.0 → v0.32.0
170+
- golang.org/x/net: v0.43.0 → v0.49.0
171+
- golang.org/x/oauth2: v0.30.0 → v0.34.0
172+
- golang.org/x/sync: v0.16.0 → v0.19.0
173+
- golang.org/x/sys: v0.35.0 → v0.40.0
174+
- golang.org/x/telemetry: 1a19826 → bd525da
175+
- golang.org/x/term: v0.34.0 → v0.39.0
176+
- golang.org/x/text: v0.28.0 → v0.33.0
177+
- golang.org/x/time: v0.12.0 → v0.14.0
178+
- golang.org/x/tools: v0.36.0 → v0.41.0
179+
- google.golang.org/genproto/googleapis/api: 8d1bb00 → ab9386a
180+
- google.golang.org/genproto/googleapis/rpc: ef028d9 → ab9386a
181+
- google.golang.org/grpc: v1.75.1 → v1.78.0
182+
- google.golang.org/protobuf: v1.36.8 → v1.36.11
183+
- k8s.io/api: v0.34.1 → v0.35.0
184+
- k8s.io/apiextensions-apiserver: v0.34.1 → v0.35.0
185+
- k8s.io/apimachinery: v0.34.1 → v0.35.0
186+
- k8s.io/apiserver: v0.34.1 → v0.35.0
187+
- k8s.io/client-go: v0.34.1 → v0.35.0
188+
- k8s.io/code-generator: v0.34.1 → v0.35.0
189+
- k8s.io/component-base: v0.34.1 → v0.35.0
190+
- k8s.io/gengo/v2: c297c0c → ec3ebc5
191+
- k8s.io/kms: v0.34.1 → v0.35.0
192+
- k8s.io/kube-openapi: d7b6acb → 589584f
193+
- k8s.io/utils: 0af2bda → 914a6e7
194+
- sigs.k8s.io/controller-runtime: v0.22.1 → v0.23.1
195+
- sigs.k8s.io/controller-tools: v0.19.0 → v0.20.0
196+
- sigs.k8s.io/structured-merge-diff/v6: v6.3.0 → d9cc664
197+
198+
### Removed
199+
- github.com/kisielk/errcheck: [v1.5.0](https://github.com/kisielk/errcheck/tree/v1.5.0)
200+
- github.com/kisielk/gotool: [v1.0.0](https://github.com/kisielk/gotool/tree/v1.0.0)
201+
- github.com/pkg/errors: [v0.9.1](https://github.com/pkg/errors/tree/v0.9.1)
202+
- github.com/zeebo/errs: [v1.4.0](https://github.com/zeebo/errs/tree/v1.4.0)
203+
- golang.org/x/xerrors: 5ec99f8

CHANGELOG/1.5-TEAM.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# v1.5 Release Team
2+
3+
Release Manager: @kflynn
4+
5+
## Standard
6+
7+
| Enhancement | Leads |
8+
| - | - |
9+
| Gateway Client Certificate validation ([GEP-91], [GEP-3567]) | @arkodg @kl52752 @robscott |
10+
| CORS support ([GEP-1767]) | @lianglli @robscott @EyalPazz @shaneutt @DamianSawicki |
11+
| Certificate selection for Gateway TLS origination ([GEP-3155]) | @mkosieradzki @robscott |
12+
| ListenerSet support ([GEP-1713]) | @dprotaso @youngnick @mlavacca |
13+
| TLSRoute promotion to Standard ([GEP-2643]) | @candita @Miciah @rikatz @rostislavbobo |
14+
15+
[GEP-91]: https://gateway-api.sigs.k8s.io/geps/gep-91/
16+
[GEP-1713]: https://gateway-api.sigs.k8s.io/geps/gep-1713/
17+
[GEP-1767]: https://gateway-api.sigs.k8s.io/geps/gep-1767/
18+
[GEP-2643]: https://gateway-api.sigs.k8s.io/geps/gep-2643/
19+
[GEP-3155]: https://gateway-api.sigs.k8s.io/geps/gep-3155/
20+
[GEP-3567]: https://gateway-api.sigs.k8s.io/geps/gep-3567/
21+
22+
## Experimental
23+
24+
| Enhancement | Leads |
25+
| - | - |
26+
| Gateway/HTTPRoute level authentication ([GEP-1494]) | @youngnick @jgao1025 |
27+
28+
[GEP-1494]: https://gateway-api.sigs.k8s.io/geps/gep-1494/

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

Lines changed: 1 addition & 1 deletion
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_gatewayclasses.yaml

Lines changed: 1 addition & 1 deletion
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: 1 addition & 1 deletion
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: 1 addition & 1 deletion
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: 1 addition & 1 deletion
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_listenersets.yaml

Lines changed: 1 addition & 1 deletion
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: 1 addition & 1 deletion
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: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)