1.36.0 (Pending)
Removed config or runtime
Normally occurs at the end of the deprecation period
dfp: Removed runtime guard
envoy.reloadable_features.dfp_fail_on_empty_host_header
and legacy code paths.dynamic_forward_proxy: Removed runtime guard
envoy.reloadable_features.avoid_dfp_cluster_removal_on_cds_update
and legacy code paths.http_connection_manager: Removed runtime guard
envoy.reloadable_features.explicit_internal_address_config
and legacy code paths.oauth2: Removed runtime guard
envoy.reloadable_features.oauth2_use_refresh_token
and legacy code paths.quic: Removed runtime guard
envoy.reloadable_features.prefer_quic_client_udp_gro
and legacy code paths.router: Removed runtime guard
envoy.reloadable_features.shadow_policy_inherit_trace_sampling
and legacy code paths.
New features
dns_filter, redis_proxy and prefix_matcher_map: Switch to using Radix Tree instead of Trie for performance improvements.
health_check: Added support for request payloads in HTTP health checks. The
send
field inHttpHealthCheck
can now be used to specify a request body to be sent during health checking. This feature supports both hex-encoded text and binary payloads, similar to TCP health checks. The payload can only be used with HTTP methods that support request bodies (POST
,PUT
,PATCH
,OPTIONS
). Methods that must not have request bodies (GET
,HEAD
,DELETE
,TRACE
) are validated and will throw an error if combined with payloads. The implementation is optimized to process the payload once during configuration and reuse it for all health check requests. See HttpHealthCheck for configuration details.load_reporting: Added support for endpoint-level load stats and metrics reporting. Locality load reports now include per endpoint statistics and metrics, but only for endpoints with updated stats, optimizing report size and efficiency.
lua: Added
virtualHost()
to the Stream handle API, allowing Lua scripts to retrieve virtual host information. So far, the only method implemented ismetadata()
, allowing Lua scripts to access virtual host metadata scoped to the specific filter name. See Virtual host object API for more details.lua: Added a new
filterState()
onstreamInfo()
which provides access to filter state objects stored during request processing. This allows Lua scripts to retrieve string, boolean, and numeric values stored by various filters for use in routing decisions, header modifications, and other processing logic. See Filter State API for more details.observability: Added
ENVOY_NOTIFICATION
macro to track specific conditions in produiction environments.otlp_stat_sink: Added support for resource attributes. The stat sink will use the resource attributes configured for the OpenTelemetry tracer via resource_detectors.
ratelimit: Add the rate_limits field to generate rate limit descriptors. If this field is set, the VirtualHost.rate_limits or RouteAction.rate_limits fields will be ignored. However, RateLimitPerRoute.rate_limits will take precedence over this field.
router_check_tool: Added support for testing routes with dynamic metadata matchers in the router check tool. The tool now accepts a
dynamic_metadata
field in test input to set metadata that can be matched by route configuration. This allows comprehensive testing of routes that depend on dynamic metadata for routing decisions.socket: Added :ref:
network_namespace_filepath <envoy_v3_api_msg_config.core.v3.SocketAddress.network_namespace_filepath>
to SocketAddress. This field allows specifying a Linux network namespace filepath for socket creation, enabling network isolation in containerized environments.