Incompatible Behavior Changes¶
Changes that are expected to cause an incompatibility if applicable; deployment changes are likely required
Minor Behavior Changes¶
Changes that may cause incompatibilities for some users, but should not for most
config: the log message for “gRPC config stream closed” now uses the most recent error message, and reports seconds instead of milliseconds for how long the most recent status has been received.
dns: now respecting the returned DNS TTL for resolved hosts, rather than always relying on the hard-coded dns_refresh_rate. This behavior can be temporarily reverted by setting the runtime guard
listener: destroy per network filter chain stats when a network filter chain is removed during the listener in place update.
Changes expected to improve the state of the world and are unlikely to have negative effects
listener: fixed the crash when updating listeners that do not bind to port.
thrift_proxy: fix the thrift_proxy connection manager to correctly report success/error response metrics when performing payload passthrough.
Removed Config or Runtime¶
Normally occurs at the end of the deprecation period
envoy.reloadable_features.enable_compression_without_content_length_headerruntime guard and legacy code paths.
health check: removed
envoy.reloadable_features.health_check.immediate_failure_exclude_from_clusterruntime guard and legacy code paths.
envoy.reloadable_features.add_and_validate_scheme_headerand legacy code paths.
envoy.reloadable_features.check_unsupported_typed_per_filter_config, Envoy will always check unsupported typed per filter config if the filter isn’t optional.
envoy.reloadable_features.dont_add_content_length_for_bodiless_requests deprecationand legacy code paths.
envoy.reloadable_features.http2_skip_encoding_empty_trailersand legacy code paths. Envoy will always encode empty trailers by sending empty data with
end_streamtrue (instead of sending empty trailers) for HTTP/2.
envoy.reloadable_features.improved_stream_limit_handlingand legacy code paths.
envoy.reloadable_features.remove_forked_chromium_urland legacy code paths.
envoy.reloadable_features.return_502_for_upstream_protocol_errors. Envoy will always return 502 code upon encountering upstream protocol error.
envoy.reloadable_features.treat_host_like_authorityand legacy code paths.
envoy.reloadable_features.treat_upstream_connect_timeout_as_connect_failureand legacy code paths.
envoy.reloadable_features.upstream_host_weight_change_causes_rebuildand legacy code paths.
api: added support for xds.type.v3.TypedStruct in addition to the now-deprecated udpa.type.v1.TypedStruct proto message, which is a wrapper proto used to encode typed JSON data in a google.protobuf.Any field.
bootstrap: added typed_dns_resolver_config in the bootstrap to support DNS resolver as an extension.
cluster: added typed_dns_resolver_config in the cluster to support DNS resolver as an extension.
dns_cache: added typed_dns_resolver_config in the dns_cache to support DNS resolver as an extension.
dns_filter: added typed_dns_resolver_config in the dns_filter to support DNS resolver as an extension.
dns_resolver: added CaresDnsResolverConfig to support c-ares DNS resolver as an extension.
dns_resolver: added AppleDnsResolverConfig to support apple DNS resolver as an extension.
http: added support for retriable health check status codes.
oauth filter: added cookie_names to allow overriding (default) cookie names (
OauthExpires) set by the filter.
thrift_proxy: add upstream response zone metrics in the form
thrift_proxy: add upstream metrics to show decoding errors and whether exception is from local or remote, e.g.
thrift_proxy: add host level success/error metrics where success is a reply of type success and error is any other response to a call.
thrift_proxy: support subset lb when using request or route metadata.
udp: add support for multiple listener filters.
upstream: added the ability to configure max connection duration for upstream clusters.
xds: re-introduced unified delta and sotw xDS multiplexers that share most of the implementation. Added a new runtime config
envoy.reloadable_features.unified_mux(disabled by default) that when enabled, switches xDS to use unified multiplexers.