Skip to content

v2.4.0-beta.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Jul 03:07
0f8f332

🎉 Welcome to the v2.4.0-beta.1 release of the kgateway project!

Release Notes

Changes since v2.4.0-alpha.2

New Features

  • Envoy routes generated by kgateway now carry a io.kgateway.route_source
    filter metadata entry with the originating xRoute's kind, group, name,
    namespace, and rule name — enabling tracing correlation and access-log
    filtering against route origin.
    (#13620)
  • Added asyncFetch and retryPolicy options to the JWT provider remote JWKS configuration, enabling asynchronous JWKS fetching/caching and retries with exponential backoff. (#14211)
  • Add support for Gateway API 1.6.0 (#14245)
  • Add internal redirect feature in TrafficPolicy (#14261)
  • Added support for excluding Istio ServiceEntries from kgateway ServiceEntry backend and endpoint discovery using Kubernetes label selectors. (#14328)
  • TrafficPolicy retry configuration is now applied at the route level instead of the virtual host level, making retry policy precedence between TrafficPolicy and the builtin HTTPRouteRetry policy explicit and consistent. (#14360)
  • Added a new priorityGroups backend type to the Backend API, enabling active/passive failover between static backends. Each group in the ordered list becomes an Envoy priority level; traffic fails over to the next group when the preceding groups' endpoints are unhealthy, and recovers automatically. Combine with an active health check via BackendConfigPolicy to drive failover. (#14379)
  • added get cookie functions to transformation template funcion (#14385)

Bug Fixes

  • Fix a reconnect-time xDS race where Envoy could briefly receive routes and listeners before all referenced backend clusters were present, causing transient NC/500 responses during controller restart. (#13868)
  • Fixed two HTTPListenerPolicy/DirectResponse cases where an IR field could be compared by pointer identity instead of value, causing spurious re-translations. (#14331)
  • Fixed north-south traffic to a global service continuing to route to a local pod for the duration of its termination grace period. kgateway now drains a terminating pod (deletionTimestamp set) from ServiceEntry-derived endpoints and fails over to a healthy peer-cluster endpoint, consistent with the east-west (ztunnel) path and the Kubernetes Service backend path. (#14332)
  • Fixed a bug where a TrafficPolicy timeout (and other route-level settings) targeting a Gateway HTTP listener section was silently ignored. (#14374)
  • Fix a bug where per-client xDS snapshots could be withheld indefinitely (reverts #13868/#13958), stranding running gateway pods on stale endpoints and starving newly created pods of any configuration until they crashloop. The control plane now publishes snapshots unconditionally and instead delays each newly connected client's first xDS response by a short grace period (default 1s, configurable via KGW_XDS_FIRST_CONNECT_DELAY; 0 disables) so per-client translation can converge before the first snapshot is served. Trade-off: in environments where per-client translation exceeds the grace period, a controller restart can once again cause a brief, self-healing burst of upstream-connect (NC) errors on reconnecting proxies; raise KGW_XDS_FIRST_CONNECT_DELAY if you observe this. (#14380)

Contributors

Thanks to all the contributors who made this release possible:

@alexliu541 @andy-fong @chandler-solo @davidjumani @JCigan @kristin-kronstain-brown @mihir-dixit2k27 @nmnellis @NomadXD @puertomontt @ymesika

Installation

The kgateway project is available as a Helm chart and docker images.

Helm Charts

The Helm charts are available at:

Docker Images

The docker images are available at:

  • cr.kgateway.dev/kgateway-dev/kgateway:v2.4.0-beta.1
  • cr.kgateway.dev/kgateway-dev/sds:v2.4.0-beta.1
  • cr.kgateway.dev/kgateway-dev/envoy-wrapper:v2.4.0-beta.1

Quickstart

Try installing this release:

helm install kgateway-crds oci://cr.kgateway.dev/kgateway-dev/charts/kgateway-crds --version v2.4.0-beta.1 --namespace kgateway-system --create-namespace
helm install kgateway oci://cr.kgateway.dev/kgateway-dev/charts/kgateway --version v2.4.0-beta.1 --namespace kgateway-system --create-namespace

For detailed installation instructions and next steps, please visit our quickstart guide.