Announcing Envoy Gateway v1.5
4 minute read
We are excited to announce the release of Envoy Gateway v1.5.0.
This release delivers new capabilities across traffic management, security, extensibility, observability, and infrastructure — along with key bug fixes and performance improvements. We extend our thanks to the entire Envoy Gateway community for your ongoing contributions, feedback, and collaboration. Your efforts make each release possible.
| Release Notes | Docs | Compatibility Matrix | Install |
|---|
What’s New
Envoy Gateway v1.5.0 introduces powerful enhancements, resolves critical issues, and lays the groundwork for upcoming changes in v1.6.
🚨 Breaking Changes
- Gateway Namespace Mode Naming: Gateway name is now used as the proxy fleet name when running in gateway namespace mode.
- Endpoint Removal Behavior: Endpoints absent from service discovery are removed even if their active health checks succeed.
- xDS Listener Naming: Listeners are now named based on listening port and protocol instead of Gateway and section names.
- This affects existing
EnvoyPatchPoliciesandExtensionManagers. - Controlled by the
XDSNameSchemeV2runtime flag (disabled by default in v1.5, enabled in v1.10). - See the migration guide to prepare.
- This affects existing
- Metrics Label Change: Removed
xds-translatorandxds-servervalues from therunnerlabel inwatchable_subscribe_total; usexdsinstead. - ALS Access Loggers: ALS now has HTTP/2 enabled on the cluster by default.
🔒 Security Updates
- Disabled
automountServiceAccountTokenfor Proxy and RateLimit deployments and their ServiceAccounts.
✨ New Features
API & Traffic Management Enhancements
- Added
initialJitteroption toBackendTrafficPolicyactive health checks. - Option to bypass OIDC authentication and defer to JWT when the request includes
Authorization: Bearer .... - Configure Subject Alternative Names (SANs) for upstream TLS validation via
BackendTLSPolicy.validation.subjectAltNames. - Added local rate limit header support.
- Added zone-aware routing configuration via
BackendTrafficPolicy. - Added endpoint override policy based on request header.
- Added rate limiting support for month and year periods.
- Configure
maxConnectionsToAcceptPerSocketEventviaClientTrafficPolicy. - Configure cluster stat name for
HTTPRouteandGRPCRouteinEnvoyProxyCRD. - Enhanced route rule support in
SecurityPolicytargets.
Security Enhancements
- Client certificate validation (SPKI, hash, SAN) in
ClientTrafficPolicy. - Forward client ID header and sanitize API keys for API Key authentication in
SecurityPolicy. - OIDC RP-initiated logout when end session endpoint is specified or discovered.
- Configure
SameSiteattribute for OAuth cookies in OIDC authentication. - Support for
ClusterTrustBundleas a CA. - Use Kubernetes Secret as the OIDC client ID source.
- Allow
SecurityPolicyandEnvoyExtensionPolicyto targetServiceImportviaBackendRefs.
Extensibility
- Added XDS metadata for clusters and endpoints from xRoutes and backend resources.
- Support for extension server policies in
PostTranslateModifyhook. - Support for custom backendRefs via extension server using
PostClusterModifyhook. - Support for listeners and routes in
PostTranslateModifyHook. - Validation strictness levels for Lua scripts in
EnvoyExtensionPolicies. - Extended
BackendTLSSettingssupport to all Backend types.
Infrastructure
- Support for setting OwnerReferences to infra resources in gateway namespace mode.
- Support for GatewayClass OwnerReferences in all other cases.
- Configure deployment annotations via Helm chart.
- Customize the name of the ServiceAccount used by the Proxy.
- Configure hostname in active HTTP health checks.
- Configure cache sync period for Kubernetes provider.
- Fallback to first key when loading CA certificate from Secret or ConfigMap.
- Configure user-provided names for generated HPA and PDB resources.
- Added admin console with web UI for the Envoy Gateway admin server.
Observability
- Added metric
watchable_publish_totalcounting store events in watchable message queues.
🐞 Bug Fixes
- Fixed WASM cache initialization failures affecting EnvoyExtensionPolicies without WASM filters.
- Restored UDP listener creation when Gateway is created.
- Retained ALPN configuration for listeners with overlapping certificates when explicitly set in
ClientTrafficPolicy. - Fixed
BackendTLSPolicySAN type enum handling and namespace reference validation. - Fixed SAN overlap detection in listeners.
- Fixed trailers not sent in
ExtProcFullDuplexStreamed mode. - Fixed validation for
ExtProcwithfailOpen=trueand FullDuplexStreamed mode. - Added ConfigMap indexers for Lua change reconciliation in EnvoyExtensionPolicies.
- Fixed default access log format not applying.
- Fixed Redis
rateLimitURL parsing with multiple comma-separated hosts. - Fixed DualStack NodePort Gateway addresses in status.
- Allowed overriding Prometheus annotation in
EnvoyProxyCRD. - Skipped invalid FailOpen configurations for
ExtProc,Wasm, andExtAuth. - Fixed policy status update failures with more than 16 ancestors.
- Fixed race condition in
watchable.MapSnapshot subscription. - Fixed listener drain caused by
HTTPRoutewith sessionPersistence. - Fixed deployment creation block when
EnvoyProxysecret is missing. - Increased
earlyRequestHeaderslimit from 16 to 64.
🚀 Performance Improvements
- Reduced xDS cluster DNS lookups.
- Combined
xds-translatorandxds-serverrunners into a singlexdsrunner, reducing memory usage by up to 25%. - Removed custom Equal functions for watchable types by pre-sorting Gateway API resources in the provider layer.
🛑 Deprecations
EnableProxyProtocolis deprecated, and useProxyProtocolinstead in ClientTrafficPolicy
We encourage all users to upgrade to v1.5.0 to take advantage of the new features, security improvements, and performance gains, and to prepare for the XDSNameSchemeV2 migration in v1.6. For full details, see the Release Notes and updated Documentation.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.