github kgateway-dev/kgateway v2.4.0-beta.2

pre-release2 hours ago

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

Release Notes

Changes since v2.4.0-beta.1

New Features

  • Add headersToClient and headersToClientOnSuccess fields to AuthorizationResponse in ExtHttpService, mapping to Envoy's allowed_client_headers and allowed_client_headers_on_success. This enables redirect-based OAuth2 flows by forwarding auth service response headers (e.g. Location) to the downstream client. (#13592)
  • Now storing release artifacts for each commit to make it easier to try out cutting-edge releases. Previously we only stored vX.Y.Z-main, a moving tag. Also fixes a minor race that could cause that tag to point to an older commit than desired. (#13876)
  • Add transportSocketConnectTimeout field to ListenerPolicy (#14058)
  • Add an rbac.create value to disable the creation of the ClusterRole and ClusterRoleBinding (#14105)
  • TrafficPolicy response compression now supports selecting and negotiating multiple codecs via compression.responseCompression.libraries (Gzip, Brotli, Zstd, in preference order). Envoy negotiates the codec from the request's Accept-Encoding header. Defaults to Gzip, preserving existing behavior. (#14275)
  • Allow configuring supported TLS signature algorithms in Gateway and BackendConfigPolicy (#14282)
  • EC2 backends now expose Prometheus metrics for endpoint discovery: kgateway_ec2_discovery_poll_total, kgateway_ec2_discovery_endpoints_active, kgateway_ec2_discovery_error_state, and kgateway_ec2_discovery_poll_duration_seconds. (#14318)
  • Added allowConnect to listener http2ProtocolOptions (ListenerPolicy and HTTPListenerPolicy), mapping to Envoy's HCM http2_protocol_options.allow_connect, to support WebSocket-over-HTTP/2 (RFC 8441 Extended CONNECT). (#14323)
  • Added connectionKeepalive to BackendConfigPolicy.spec.http2ProtocolOptions, enabling Envoy HTTP/2 keepalive PINGs for active half-dead upstream connection detection. (#14367)
  • Added default-off support for ordered ADS delivery via KGW_ENABLE_ORDERED_ADS=true, preserving CDS, EDS, LDS, and RDS response order for same-snapshot busy-stream additions. (#14372)
  • Added an opt-in statPrefix field to TrafficPolicy that sets the Envoy route stat_prefix, enabling per-route statistics. The value supports {{route_name}}, {{route_namespace}}, and {{rule_name}} template variables and is only honored for HTTPRoute and GRPCRoute targets. (#14409)

Bug Fixes

  • Fix XListenerSet status patch failures caused by missing required port field since v2.3.0. (#14231)
  • Fix route status reporting and ensure stale status is cleared for GRPCRoute, TCPRoute, and TLSRoute resources. (#14294)
  • TrafficPolicy retry may now target a whole Gateway (without a sectionName), consistent with timeouts. TrafficPolicy urlRewrite is now validated to only target HTTPRoute resources, matching its documented behavior. (#14378)
  • Fix 503s for ingress-use-waypoint routes to auto-allocated ServiceEntries. (#14391)

Cleanup

  • Refactor: replace sort package with slices package for cleaner sorting code. (#14356)

Dependency Updates

  • Kgateway now supports Gateway API v1.6.1 (#14426)

Contributors

Thanks to all the contributors who made this release possible:

Installation

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

Helm Charts

The Helm charts are available at:

  • cr.kgateway.dev/kgateway-dev/charts/kgateway.

Docker Images

The docker images are available at:

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

Quickstart

Try installing this release:

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

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

Don't miss a new kgateway release

NewReleases is sending notifications on new releases.