Skip to content

Releases: envoyproxy/gateway

latest

04 Feb 14:11
d50be42
Compare
Choose a tag to compare
latest Pre-release
Pre-release

This is the "latest" release of Envoy Gateway, which contains the most recent commits from the main branch.

This release might not be stable.

It is only intended for developers wishing to try out the latest features in Envoy Gateway, some of which may not be fully implemented.

We use v0.0.0-latest as the latest chart version to install latest envoy-gateway:

helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace

Try latest version of egctl with:

curl -Ls https://gateway.envoyproxy.io/get-egctl.sh | VERSION=latest bash

v1.3.0

31 Jan 03:57
76e714e
Compare
Choose a tag to compare

Release Announcement

Release Date: January 30, 2025

Check out the v1.3 release announcement to learn more about the release.

The Envoy Gateway v1.3.0 release brings a host of new features, and critical bug fixes to enhance networking, traffic management, and security. Explore the latest changes below.

🚨 Breaking Changes

  • Proxy Pod Template: The Container ports field of the gateway instance has been removed, which will cause the gateway Pod to be rebuilt when upgrading the version.
  • TLS Defaults: ClientTrafficPolicy previously treated an empty TLS ALPNProtocols list as being undefined and applied Envoy Gateway defaults. An empty TLS ALPNProtocols list is now treated as user-defined disablement of the TLS ALPN extension.
  • Default Passive Health Checks: Outlier detection (passive health check) is now disabled by default. Refer to BackendTrafficPolicy for working with passive health checks.
  • Extension Manager Fails Closed: Envoy Gateway treats errors in calls to an extension service as fail-closed by default. Any error returned from the extension server will replace the affected resource with an "Internal Server Error" immediate response. The previous behavior can be enabled by setting the failOpen field to true in the extension service configuration.
  • ClientTrafficPolicy Translation Failures: Envoy Gateway now return a 500 response when a ClientTrafficPolicy translation fails for HTTP/GRPC routes, and forwards client traffic to an empty cluster when a ClientTrafficPolicy translation fails for TCP routes.
  • Envoy Proxy Reference Failures: Any issues with EnvoyProxy reference in a Gateway will prevent the Envoy fleet from being created or result in the deletion of an existing Envoy fleet.
  • BackendTLSPolicy Translation Failures: Envoy Gateway now returns a 500 response when a BackendTLSPolicy translation fails for HTTP/GRPC/TLS routes.

✨ New Features

API & Traffic Management Enhancements

  • Compression: Added support for Response Compression in BackendTrafficPolicy CRD.
  • Route Order: Added support for preserving the user defined HTTPRoute match order in EnvoyProxy CRD.
  • Rate Limiting with Cost: Added support for cost specifier in the rate limit BackendTrafficPolicy CRD.
  • Gateway API 1.2 Retries: Added support for Retries (GEP-1731) in HTTPRoute CRD.
  • Backend Routing: Added support for referencing Backend resources in RPCRoute, TCPRoute and UDPRoute CRDs.
  • Response Override: Added support for status code override in BackendTrafficPolicy.

Security Enhancements

  • Client IP Detection: Added support for trusted CIDRs in the ClientIPDetectionSettings of ClientTrafficPolicy CRD.
  • API Key Authentication: Added support for API Key Authentication in the SecurityPolicy CRD.
  • External Auth: Added support for sending body to Ext-Auth server in SecurityPolicy CRD.
  • JWT Auth: Added support for configuring remote JWKS settings with BackendCluster in SecurityPolicy CRD.
  • Backend TLS System Trust Store: Added support for dynamic reload of System WellKnownCACertificates in BackendTLSPolicy.
  • Draining Endpoints: Continue using and drain endpoints during their graceful termination, as indicated by their respective EndpointConditions.

Observability & Tracing

  • Trace Sampling: Added support for configuring tracing sampling rate with Fraction EnvoyProxy CRD.
  • Static Metadata: Gateway API Route rule name is propagated to XDS metadata as sectionName.
  • Envoy Gateway Panics: Added metrics and dashboards for Envoy Gateway panics in watchables.

Infra

  • Proxy: Added support for patching HPA and PDB settings in EnvoyProxy CRD.
  • Rate Limit: added support for HPA in EnvoyGateway configuration.

Extensibility

  • External Processing Filter: Added support for Attributes, Dynamic Metadata and Processing Mode Override in EnvoyExtensionPolicy CRD.
  • Wasm: Added support for injecting Host Env in EnvoyExtensionPolicy CRD.
  • Extension Manager: Added support for configuring Max GRPC message size for the Extension Manager in EnvoyGateway configuration.

🐞 Bug Fixes

  • Fixed a panic in the provider goroutine when the body in the direct response configuration was nil.
  • Fixed Envoy rejecting TCP Listeners that have no attached TCPRoutes.
  • Fixed failed to update SecurityPolicy resources with the backendRef field specified.
  • Fixed xDS translation failed when oidc tokenEndpoint and jwt remoteJWKS are specified in the same SecurityPolicy and using the same hostname.
  • Fixed frequent 503 errors when connecting to a Service experiencing high Pod churn.
  • Disabled the retry policy for the JWT provider to reduce requests sent to the JWKS endpoint. Failed async fetches will retry every 1s.
  • Fixed BackendTLSPolicy not supporting the use of a port name as the sectionName in targetRefs.
  • Fixed reference grant from EnvoyExtensionPolicy to the referenced ext-proc backend not being respected.
  • Fixed BackendTrafficPolicy not applying to Gateway Routes when a Route has a Request Timeout defined.
  • Fixed proxies connected to the secondary Envoy Gateway not receiving xDS configuration.
  • Fixed traffic splitting not working when some backends were invalid.
  • Fixed a nil pointer error that occurred when a SecurityPolicy referred to a UDS backend.
  • Fixed an issue where the Gateway API translator did not use the TLS configuration from the BackendTLSPolicy when connecting to the OIDC provider’s well-known endpoint.
  • Fixed a validation failure that occurred when multiple HTTPRoutes referred to the same extension filter.
  • Fixed a nil pointer error caused by accessing the cookie TTL without verifying if it was valid.
  • Fixed unexpected port number shifting in standalone mode.
  • Fixed an issue where the shutdown-manager did not respect the security context of the container spec.
  • Fixed readiness checks failing for single-stack IPv6 Envoy Gateway deployments on dual-stack clusters.
  • Fixed IPv6 dual-stack support not working as intended.
  • Fixed the ability to overwrite control plane certs with the certgen command by using a new command arg (-o).
  • Fixed a panic that occurred following update to the envoy-gateway-config ConfigMap.
  • Fixed prometheus format conversion of ratelimit metrics for remote address.
  • Fixed limitations that prevented creation of FQDN Endpoints with a single-character subdomain in [Backend].
  • Fixed issue where SecurityContext of shutdown-manager container was not updated by overriding helm values.
  • Fixed issue with incorrect IPFamily detection for backends.
  • Fixed validation of interval values in Retry settings.

⚠️ Vulnerabilities

  • Fixed CVE-2025-24030 which exposed the Envoy admin interface through the prometheus stats endpoint. Refer to Advisory.

⚙️ Other Notable Changes

  • Envoy Upgrade: Now using Envoy v1.33.0.
  • Ratelimit Upgrade: Now using Ratelimit 60d8e81b.
  • Gateway API: Now using Gateway API v1.2.1
  • Envoy Gateway Base Image: Modified the base container image to gcr.io/distroless/base-nossl:nonroot.
  • K8s Version Matrix: Add support for Kubernetes 1.32.x in the test matrix, and remove support for Kubernetes 1.28.x.
  • Go Control Plane: Now using v0.13.4.
  • XDS Validations: Envoy Gateway validates additional resources before adding them to snapshot.
  • Backend Routing: Increased the maximum amount of endpoints to 64 in Backend.

What's Changed

  • feat: set full URI for the envoy-gateway service using name and namespace by @rajatvig in #4533
  • Reduce the amount of configuration logging, and make it line-delimeted friendly by @evankanderson in #4505
  • feat: enable load backend resources by @shawnh2 in #4535
  • build(deps): bump actions/setup-node from 4.0.4 to 4.1.0 by @dependabot in #4537
  • chore: optimized code by @zirain in #4514
  • build(deps): bump github/codeql-action from 3.26.13 to 3.27.0 by @dependabot in #4538
  • build(deps): bump distroless/static from 26f9b99 to 3a03fc0 in /tools/docker/envoy-gateway by @dependabot in #4541
  • build(deps): bump actions/setup-go from 5.0.2 to 5.1.0 in /tools/github-actions/setup-deps by @dependabot in #4540
  • build(deps): bump github.com/replicatedhq/troubleshoot from 0.107.1 to 0.107.4 by @dependabot in #4543
  • build(deps): bump github.com/tsaarni/certyaml from 0.9.3 to 0.10.0 by @dependabot in #4546
    ...
Read more

v1.3.0-rc.1

24 Jan 13:59
bfe2bc1
Compare
Choose a tag to compare
v1.3.0-rc.1 Pre-release
Pre-release

What's Changed

Read more

v1.2.6

23 Jan 04:35
732a09b
Compare
Choose a tag to compare

Release Announcement

Check out the v1.2.6 release announcement to learn more about the release.

Security updates

Bug fixes

  • Fixed a panic that occurred following update to the envoy-gateway-config ConfigMap.

What's Changed

Full Changelog: v1.2.5...v1.2.6

v1.2.5

14 Jan 03:55
51a420a
Compare
Choose a tag to compare

Release Announcement

Check out the v1.2.5 release announcement to learn more about the release.

Bug fixes

  • Fixed a nil pointer error that occurred when a SecurityPolicy referred to a UDS backend.
  • Fixed an issue where the Gateway API translator did not use the TLS configuration from the BackendTLSPolicy when connecting to the OIDC provider’s well-known endpoint.
  • Fixed a validation failure that occurred when multiple HTTPRoutes referred to the same extension filter.
  • Fixed a nil pointer error caused by accessing the cookie TTL without verifying if it was valid.
  • Fixed unexpected port number shifting in standalone mode.
  • Fixed an issue where the shutdown-manager did not respect the security context of the container spec.
  • Fixed readiness checks failing for single-stack IPv6 Envoy Gateway deployments on dual-stack clusters.
  • Fixed IPv6 dual-stack support not working as intended.

Other changes

  • Bumped Envoy to version 1.32.3.

What's Changed

Full Changelog: v1.2.4...v1.2.5

v1.2.4

13 Dec 05:04
6ca4fe3
Compare
Choose a tag to compare

Release Announcement

Check out the v1.2.4 release announcement to learn more about the release.

Bug fixes

  • Fixed BackendTLSPolicy not supporting the use of a port name as the sectionName in targetRefs.
  • Fixed reference grant from EnvoyExtensionPolicy to the referenced ext-proc backend not being respected.
  • Fixed BackendTrafficPolicy not applying to Gateway Routes when a Route has a Request Timeout defined.
  • Fixed proxies connected to the secondary Envoy Gateway not receiving xDS configuration.
  • Fixed traffic splitting not working when some backends were invalid.

Other changes

  • Bumped Envoy to version 1.32.2.

What's Changed

Full Changelog: v1.2.3...v1.2.4

v1.1.4

13 Dec 13:15
127d356
Compare
Choose a tag to compare

Release Announcement

Check out the v1.1.4 release announcement to learn more about the release.

Bug fixes

  • Fixed validate proto messages before converting them to anypb.Any
  • Fixed BackendTlsPolicy specify multiple targetRefs of the same service, only one will work
  • Fixed Envoy rejecting TCP Listeners that have no attached TCPRoutes
  • Fixed frequent 503 errors when connecting to a Service experiencing high Pod churn
  • Fixed reference grant from EnvoyExtensionPolicy to referenced ext-proc backend not respected
  • Fixed BackendTrafficPolicy not applying to Gateway Route when Route has a Request Timeout defined

Other changes

  • Bumped Rate Limit to 49af5cca
  • Bumped golang.org/x/crypto to 0.31.0

What's Changed

Full Changelog: v1.1.3...v1.1.4

v1.2.3

02 Dec 04:08
9fe25ce
Compare
Choose a tag to compare

Release Announcement

Check out the v1.2.3 release announcement to learn more about the release.

Bug fixes

  • Disabled the retry policy for the JWT provider to reduce requests sent to the JWKS endpoint. Failed async fetches will retry every 1s.
  • Used a waitGroup instead of an enabled channel in the status updater.

Other changes

  • EG Listens on IPv4 by default, but if IPFamily is set to IPv6 or DualStack, it listens on :: and enables ipv4_compat for DualStack.
  • Bumped Gateway API to v1.2.1.

What's Changed

Full Changelog: v1.2.2...v1.2.3

v1.2.2

28 Nov 03:59
4901ba0
Compare
Choose a tag to compare

Release Announcement

Check out the v1.2.2 release announcement to learn more about the release.

Bug fixes

  • Fixed Envoy rejecting TCP Listeners that have no attached TCPRoutes.
  • Fixed failed to update SecurityPolicy resources with the backendRef field specified.
  • Fixed xDS translation failed when oidc tokenEndpoint and jwt remoteJWKS are specified in the same SecurityPolicy and using the same hostname.
  • Fixed frequent 503 errors when connecting to a Service experiencing high Pod churn.

Other changes

  • Bump the RateLimit image to 49af5cca.
  • Always use :: and IPv4Compact enabled on dynamic listeners.
  • Use V4_PREFERRED instead of V4_ONLY by default for the cluster's DnsLookupFamily.

What's Changed

Full Changelog: v1.2.1...v1.2.2

v1.2.1

07 Nov 07:31
1e7263b
Compare
Choose a tag to compare

Release Announcement

Check out the v1.2.1 release announcement to learn more about the release.

Bug fixes

  • Fixed a panic in the provider goroutine when the body in the direct response configuration was nil.

What's Changed

  • [release/v1.2] fix panic in provider when the direct response body is nil (#4647) by @arkodg in #4654
  • [release/v1.2] Cherry-pick release note and version bump by @arkodg in #4657
  • [release/v1.2] fix lint by @arkodg in #4659

Full Changelog: v1.2.0...v1.2.1