1.19.0 (Pending)

Incompatible Behavior Changes

Changes that are expected to cause an incompatibility if applicable; deployment changes are likely required

  • grpc_bridge_filter: the filter no longer collects grpc stats in favor of the existing grpc stats filter. The behavior can be reverted by changing runtime key envoy.reloadable_features.grpc_bridge_stats_disabled.

  • tracing: update Apache SkyWalking tracer version to be compatible with 8.4.0 data collect protocol. This change will introduce incompatibility with SkyWalking 8.3.0.

Minor Behavior Changes

Changes that may cause incompatibilities for some users, but should not for most

  • access_log: add new access_log command operator %REQUEST_TX_DURATION%.

  • http: replaced setting envoy.reloadable_features.strict_1xx_and_204_response_headers with settings envoy.reloadable_features.require_strict_1xx_and_204_response_headers (require upstream 1xx or 204 responses to not have Transfer-Encoding or non-zero Content-Length headers) and envoy.reloadable_features.send_strict_1xx_and_204_response_headers (do not send 1xx or 204 responses with these headers). Both are true by default.

  • http: serve HEAD requests from cache.

  • listener: respect the connection balance config defined within the listener where the sockets are redirected to. Clear that field to restore the previous behavior.

Bug Fixes

Changes expected to improve the state of the world and are unlikely to have negative effects

  • http: port stripping now works for CONNECT requests, though the port will be restored if the CONNECT request is sent upstream. This behavior can be temporarily reverted by setting envoy.reloadable_features.strip_port_from_connect to false.

  • http: raise max configurable max_request_headers_kb limit to 8192 KiB (8MiB) from 96 KiB in http connection manager.

  • listener: fix the crash which could happen when the ongoing filter chain only listener update is followed by the listener removal or full listener update.

  • validation: fix an issue that causes TAP sockets to panic during config validation mode.

  • xray: fix the default sampling ‘rate’ for AWS X-Ray tracer extension to be 5% as opposed to 50%.

  • zipkin: fix timestamp serializaiton in annotations. A prior bug fix exposed an issue with timestamps being serialized as strings.

Removed Config or Runtime

Normally occurs at the end of the deprecation period

  • http: removed envoy.reloadable_features.allow_500_after_100 runtime guard and the legacy code path.

  • http: removed envoy.reloadable_features.always_apply_route_header_rules runtime guard and legacy code path.

  • http: removed envoy.reloadable_features.hcm_stream_error_on_invalid_message for disabling closing HTTP/1.1 connections on error. Connection-closing can still be disabled by setting the HTTP/1 configuration override_stream_error_on_invalid_http_message.

  • http: removed envoy.reloadable_features.http_set_copy_replace_all_headers runtime guard and legacy code paths.

  • http: removed envoy.reloadable_features.overload_manager_disable_keepalive_drain_http2; Envoy will now always send GOAWAY to HTTP2 downstreams when the disable_keepalive overload action is active.

  • http: removed envoy.reloadable_features.http_match_on_all_headers runtime guard and legacy code paths.

  • http: removed envoy.reloadable_features.unify_grpc_handling runtime guard and legacy code paths.

  • tls: removed envoy.reloadable_features.tls_use_io_handle_bio runtime guard and legacy code path.

New Features

  • http: added upstream and downstream alpha HTTP/3 support! See quic_options for downstream and the new http3_protocol_options in http_protocol_options for upstream HTTP/3.

  • listener: added ability to change an existing listener’s address.

  • metric service: added support for sending metric tags as labels. This can be enabled by setting the emit_tags_as_labels field to true.

  • udp_proxy: added key as another hash policy to support hash based routing on any given key.