v1.8.3
2 minute read
Date: July 20, 2026
Breaking changes
- Moved EnvoyExtensionPolicy Lua source code from per-route
LuaPerRouteoverrides to listener-level Lua filters to avoid route-count-dependent memory growth. This changes generated xDS Lua filter names and configuration layout; EnvoyPatchPolicies and extension servers matching the previousenvoy.filters.http.lua/<index>keys must be updated.
Security updates
- Updated distroless base image.
New features
Bug fixes
- Fixed backend (upstream) TLS connections being capped at TLS 1.2 by default; they now default to a max of TLS 1.3 as documented.
- Fixed TLS Secrets being pushed to Envoy and rejected by BoringSSL (KEY_VALUES_MISMATCH), which with mergeGateways enabled broke TLS for all Gateways sharing the proxy. A serving certificate chain that contains an expired (or malformed) certificate is now rejected during translation instead of having the expired member silently dropped (which corrupted the chain), and a Secret whose certificate and private key do not match is likewise rejected; both failures are isolated to the referencing listener. CA bundles used for client validation still drop expired CAs.
- Fixed a data race that could crash envoy-gateway with
panic: reflect: slice index out of rangewhen the watchable coalesce goroutine compared the xDS IR withreflect.DeepEqualwhile the translator concurrently mutated resource status in place; the translator now isolates status mutations by deep-copying only the status field of each resource at the start of translation. - Fixed unreferenced Secret events triggering a full reconciliation whenever the HTTPRouteFilter CRD is installed. Every Secret write in the cluster previously enqueued a reconcile, causing sustained reconcile storms on clusters with high-frequency Secret writers (secret sync controllers, certificate rotation).
- Fixed Wasm extensions remaining permanently failed after transient errors fetching the Wasm module. Envoy’s built-in behavior only retried the fetch once after ~1 second and never re-attempted it, leaving the filter failed until the next configuration update. Envoy Gateway now configures the fetch with up to 10 retries using jittered exponential backoff (1s base interval, 30s max interval).
- Fixed log timestamps regressing to Unix epoch floats (e.g.
1.784e+09) since v1.8.0 by explicitly settingISO8601TimeEncoderon the production zap encoder config, restoring the expected ISO 8601 format (e.g.2026-07-14T17:44:06.617Z). - Fixed IPv6 literal hosts (e.g.
[::1],[2001:db8::1]) not being detected in OIDC token/JWKS endpoints, which caused them to be built as STRICT_DNS clusters instead of static ones and bypassed the IP-literal check on the SecurityPolicy token endpoint.
Performance improvements
Deprecations
Other changes
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.