github kubernetes-sigs/gateway-api v1.4.0

9 hours ago

Major Changes since v1.3.0

Breaking Changes

Experimental CORS Support in HTTPRoute - Breaking Change for AllowCredentials Field

Users of the Experimental CORS AllowCredentials field can now specify false.
The underlying API specification type has changed from a enum of type boolean to
just a boolean, so users deploying HTTPRoutes via libraries and evaluating the
experimental CORS support will need to adjust for the change in types. Please
see #3895 for more details.

Standard GRPCRoute - Spec Field Required (Technicality)

This PR makes grpcroute.spec a required field. This is technically a
backward-incompatible change, as previously the field was unintentionally
treated as optional because we erroneously used omitempty on .spec (unlike
other APIs). Since the codebase didn't yet enforce explicit required markers,
that omitempty allowed a missing .spec.

Because .spec contains essential route configuration, omitting it renders a
GRPCRoute unusable and causes route implementation to fail, so we expect this
change will not have adverse effects, but wanted to call it out all the same.
Please see #3937 for more details.

GEPs

New Features

In this release, the following major features are moving to the Standard
channel and are now considered generally available:

In this release, we introduced the following new features are moving to the
Experimental channel, for implementations to evaluate:

Other Iterations

Bug or Regression

  • The boolean "TrueField" introduced for CORS can cause generator issues by @shaneutt in #3895
  • Mark grpcroutes spec as required by @rikatz in #3937

Administrative

Changes by Kind

API

HTTPRoute

In the Standard channel, we've now added a Name field to HTTPRouteRule
and HTTPRouteMatch.

Documentation

CI & Testing

Conformance Tests

  • Add mesh conformance tests structure and a first test by @LiorLieberman in #3729
  • Add mesh conformance tests for httproute redirect(s) by @LiorLieberman in #3777
  • Improve feature name readability in conformance reports by @08volt in #3564
  • conformance: add Hook in ConformanceTestSuite by @zirain in #3786
  • add mesh conformance for request header modifier by @LiorLieberman in #3812
  • add httproute weight based routing mesh conformance tests by @LiorLieberman in #3827
  • Add mesh core conformance tests for httproute same-namespace attachment by @LiorLieberman in #3833
  • add httproute matching conformance mesh by @LiorLieberman in #3831
  • add mesh conformance for httproute-queryparmas-match by @LiorLieberman in #3834
  • fix meshredirectport and schemeredirect mesh conformance features by @LiorLieberman in #3847
  • Add body to http.Request and roundTripper.request to extend conformance testutil ability to send request with body. by @zetxqx in #3853
  • Infer SupportedFeatures in Conformance Tests (GEP-2162) [#3759] by @bexxmodd in #3848
  • Improve distribution tests in conformance for MeshHTTPRouteWeight by @carsontham in #3855
  • feat(conformance): validate implementation flags by @mlavacca in #3715
  • Issue 3138 - Conformance Tests for BackendTLSPolicy - normative by @candita in #3212
  • Fix(conformance report) Add Skip test count in Conformance Report if RunTest is configured. by @zetxqx in #3966
  • Add Conformance test for Invalid BackendTLSPolicy TLS settings by @kl52752 in #3930
  • Improve distribution tests in conformance for HTTPRouteWeight by @carsontham in #3880
  • BackendTLSPolicy conformance tests for observedGeneration bump by @snorwin in #3997
  • conformance: add test for optional address value by @EyalPazz in #3689
  • BackendTLSPolicy conformance tests for ResolvedRefs status condition by @snorwin in #4010
  • conformance: add test to check for proper cors allow-credentials behvior by @EyalPazz in #3990
  • Add Conformance tests for BackendTLSPolicy validating SANs with Type dsnName by @kl52752 in #3983
  • fix conformance test HTTPRouteWeight by @fabian4 in #4038
  • BackendTLSPolicy conformance tests for conflict resolution by @snorwin in #4043
  • Updated a new field on supported features inference from boolean to enum and remove from report. by @bexxmodd in #3885
  • Add GRPCRoute weighted backendRefs test by @sarthyparty in #3962

Cleanup

Release Candidate Fixes

These are patches during the v1.4.0 release candidate cycles from issues found or other small improvements needed for the final release:

  • Allow preprepared CoreDNS image to be used by @aaronjwood in #3906
  • Update index.md field after moving BackendTLS struct by @kl52752 in #4041
  • Issue 3940: Move BackendTLSPolicy to standard by @candita in #4074
  • Add allowOrigins configuration to CORSAllowCredentialsBehavior and perform cleanup by @snorwin in #4094
  • fix: fix validation and wording when making gateway spec addresses value optional by @bjee19 in #4084
  • Fix broken link in TLS Configuration page by @4n86rakam1 in #4091
  • Automate GEP TOC generation and validate by @rikatz in #4075
  • conformance: fix per-test cleanup by @howardjohn in #4104
  • Added flag for running mesh conformance suite and automatically inferring supported features from Mesh.Status by @bexxmodd in #4097
  • Fixed couple of typos in conformance tests. by @bexxmodd in #4106
  • Issue 3940: Update BackendTLSPolicy GEP to move to standard by @candita in #4099
  • Removing experimental annotation from SupportedFeatures in GWC Status. by @bexxmodd in #4115
  • conformance: fix invalid BackendTLSPolicy conformance test by @howardjohn in #4105
  • fix: use inferred supported features to set extendedSupportedFeatures by @snorwin in #4113
  • conformance: make backend TLS tests IPv6-safe by @howardjohn in #4120
  • concepts/tooling.md: Add Headlamp tool by @illume in #4083
  • docs: update implements page by @zirain in #3996
  • Fix broken link in TLS Configuration page by @4n86rakam1 in #4091

New Contributors

Full Changelog: v1.3.0...v1.4.0

Don't miss a new gateway-api release

NewReleases is sending notifications on new releases.