v1.36.0

envoyproxy/envoyv1.36.0Oct 14, 2025by publish-envoy[bot]

AI Summary

A major release focusing on HTTP/2 memory safety, HTTP/1.1 proxy improvements, ext_authz enhancements, dynamic modules logging, and various networking fixes.

Key Highlights

  • Default HTTP/2 limits changed for improved memory safety (1024 streams, 16MiB/24MiB windows)
  • HTTP/1.1 proxy now supports RFC 9110 compliant CONNECT requests with Host header
  • Enhanced ext_authz with gRPC service override and retry policy support
  • Dynamic modules now support logging and metrics (counters, gauges, histograms)
  • Experimental reverse tunnel support for NAT/firewall traversal

Breaking Changes

  • Changed default HTTP/2 max concurrent streams from unlimited to 1024
  • Changed default HTTP/2 initial stream window from 256MiB to 16MiB
  • Changed default HTTP/2 connection window from 256MiB to 24MiB

New Features

  • HTTP/1.1 proxy transport RFC 9110 compliant CONNECT requests with Host header
  • Enhanced route refresh to trigger tracing refresh
  • Support for decompressed HTTP header bytes tracking in access logs
  • Stream flush timeout configuration independent of stream idle timeout
  • Header removal based on header key matching patterns
  • Per-route compressor library override support
  • Added upstream_rq_per_cx histogram for connection reuse monitoring
  • TLS inspector regression fix
  • DNS cache use-after-free fix
  • Listener socket creation failures fix in different Linux network namespaces
  • Locality weighted round robin structures refactored
  • Weighted cluster hash policies for consistent session affinity
  • Network namespace filepath support to socket addresses
  • Re-enabled fail_open + FULL_DUPLEX_STREAMED configuration combination
  • Per-route gRPC service override and retry policy support for ext_authz
  • Configurable HTTP status codes on ext_proc errors
  • OAuth2 token encryption disable option
  • Support for removing unused metrics from memory with configurable eviction intervals
  • Stateful session filter statistics for routing outcome monitoring
  • Upstream connection recording option to HTTP tap filter
  • GeoIP database build timestamp tracking
  • OAuth2 response code details for 401 local responses
  • OTLP stat sink resource attributes and custom metric conversions
  • Logging ABI for modules to emit logs
  • Support for counters, gauges, histograms in dynamic modules API
  • New Redis commands including COPY, RPOPLPUSH, SMOVE, SUNION
  • Enhanced rate limit filter with substitution formatter support
  • Support for request payloads in HTTP health checks

Full Release Notes

**Summary of changes**:

  * HTTP:
    - Changed default HTTP/2 max concurrent streams from unlimited to 1024,
    initial stream window from 256MiB to 16MiB, and connection window from
    256MiB to 24MiB for improved memory safety.
    - Added HTTP/1.1 proxy transport RFC 9110 compliant ``CONNECT`` requests
    with ``Host`` header by default.
    - Enhanced route refresh to trigger tracing refresh, applying new
    route's sampling and decoration to active spans.
    - Added support for decompressed HTTP header bytes tracking in access
    logs.
    - Added stream flush timeout configuration independent of stream idle
    timeout.
    - Added header removal based on header key matching patterns.
    - Added per-route compressor library override support.
    - Added ``upstream_rq_per_cx`` histogram for connection reuse
    monitoring.

  * Security & TLS:
    - Fixed TLS inspector regression that closed plain text connections when
    reading >16KB at once.
    - Fixed use-after-free in DNS cache when ``Host`` header is modified
    between filters.
    - Fixed listener socket creation failures in different Linux network
    namespaces.

  * Load Balancing & Networking:
    - Moved locality weighted round robin structures out of ``HostSetImpl``
    into separate classes.
    - Added support for weighted cluster hash policies for consistent
    session affinity.
    - Fixed client-side weighted round robin load balancer priority
    iteration issues.
    - Added network namespace filepath support to socket addresses for
    containerized environments.
    - Enhanced network namespace input matching for RBAC and filter chain
    selection.

  * External Processing & Authentication:
    - Re-enabled ``fail_open`` + ``FULL_DUPLEX_STREAMED`` configuration
    combination.
    - Added per-route gRPC service override and retry policy support for
    ext_authz.
    - Added configurable HTTP status codes on ext_proc errors and TLS alerts
    on network ext_authz denials.
    - Added OAuth2 token encryption disable option for trusted environments.
    - Enhanced header count validation after mutations in ext_authz.

  * Observability & Stats:
    - Added support for removing unused metrics from memory with
    configurable eviction intervals.
    - Added stateful session filter statistics for routing outcome
    monitoring.
    - Added upstream connection recording option to HTTP tap filter.
    - Added GeoIP database build timestamp tracking.
    - Added OAuth2 response code details for ``401`` local responses.
    - Added OTLP stat sink resource attributes and custom metric
    conversions.

  * Dynamic Modules & Extensions:
    - Added logging ABI for modules to emit logs in standard Envoy logging
    stream.
    - Added support for counters, gauges, histograms in dynamic modules API.
    - Added new Redis commands including ``COPY``, ``RPOPLPUSH``, ``SMOVE``,
    ``SUNION``, and others.
    - Added reverse tunnel support for NAT/firewall traversal
    (experimental).

  * Runtime & Configuration:
    - Enhanced rate limit filter with substitution formatter support at
    stream complete phase.
    - Added support for request payloads in HTTP health checks.

  * Notable Fixes:
    - Fixed TCP proxy idle timeout handling for new connections.
    - Fixed UDP proxy crash during ``SIGTERM`` with active tunneling
    sessions.
    - Fixed HTTP/3 access log skipping for half-closed streams.
    - Fixed premature stream resets causing recursive draining and potential
    stack overflow.
    - Fixed OAuth2 cookie handling in pass-through matcher configurations.

**Docker Images**:
    [hub.docker.com/r/envoyproxy/envoy/tags?page=1&name=v1.36.0](https://hub.docker.com/r/envoyproxy/envoy/tags?page=1&name=v1.36.0)
**Docs**:
    [www.envoyproxy.io/docs/envoy/v1.36.0/](https://www.envoyproxy.io/docs/envoy/v1.36.0/)
**Release Notes**:
    [www.envoyproxy.io/docs/envoy/v1.36.0/version_history/v1.36/v1.36.0](https://www.envoyproxy.io/docs/envoy/v1.36.0/version_history/v1.36/v1.36.0)
**Full Changelog**:
    [github.com/envoyproxy/envoy/compare/v1.35.0...v1.36.0](https://github.com/envoyproxy/envoy/compare/v1.35.0...v1.36.0)

Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Signed-off-by: Boteng Yao <boteng@google.com>