|
|
|
@ -4,17 +4,123 @@ Version history |
|
|
|
|
1.6.0 |
|
|
|
|
===== |
|
|
|
|
|
|
|
|
|
* http : added idle timeout for :ref:`upstream http connections |
|
|
|
|
<envoy_api_field_core.HttpProtocolOptions.idle_timeout>`. |
|
|
|
|
* access log: added DOWNSTREAM_REMOTE_ADDRESS, DOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT, and |
|
|
|
|
DOWNSTREAM_LOCAL_ADDRESS :ref:`access log formatters <config_access_log_format>`. |
|
|
|
|
DOWNSTREAM_ADDRESS access log formatter has been deprecated. |
|
|
|
|
* access log: added less than or equal (LE) :ref:`comparison filter |
|
|
|
|
<envoy_api_msg_config.filter.accesslog.v2.ComparisonFilter>`. |
|
|
|
|
* access log: added configuration to :ref:`runtime filter |
|
|
|
|
<envoy_api_msg_config.filter.accesslog.v2.RuntimeFilter>` to set default sampling rate, divisor, |
|
|
|
|
and whether to use independent randomness or not. |
|
|
|
|
* admin: added :ref:`/runtime <operations_admin_interface_runtime>` admin endpoint to read the |
|
|
|
|
current runtime values. |
|
|
|
|
* build: added support for :repo:`building Envoy with exported symbols |
|
|
|
|
<bazel#enabling-optional-features>`. This change allows scripts loaded with the Lua filter to |
|
|
|
|
load shared object libraries such as those installed via `LuaRocks <https://luarocks.org/>`_. |
|
|
|
|
* config: added support for sending error details as |
|
|
|
|
`grpc.rpc.Status <https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto>`_ |
|
|
|
|
in :ref:`DiscoveryRequest <envoy_api_msg_DiscoveryRequest>`. |
|
|
|
|
* config: added support for :ref:`inline delivery <envoy_api_msg_core.DataSource>` of TLS |
|
|
|
|
certificates and private keys. |
|
|
|
|
* config: added restrictions for the backing :ref:`config sources <envoy_api_msg_core.ConfigSource>` |
|
|
|
|
of xDS resources. For filesystem based xDS the file must exist at configuration time. For cluster |
|
|
|
|
based xDS the backing cluster must be statically defined and be of non-EDS type. |
|
|
|
|
* grpc: the Google gRPC C++ library client is now supported as specified in the :ref:`gRPC services |
|
|
|
|
overview <arch_overview_grpc_services>` and :ref:`GrpcService <envoy_api_msg_core.GrpcService>`. |
|
|
|
|
* grpc-json: Added support for :ref:`inline descriptors |
|
|
|
|
<envoy_api_field_config.filter.http.transcoder.v2.GrpcJsonTranscoder.proto_descriptor_bin>`. |
|
|
|
|
* health check: added :ref:`gRPC health check <envoy_api_field_core.HealthCheck.grpc_health_check>` |
|
|
|
|
based on `grpc.health.v1.Health <https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto>`_ |
|
|
|
|
service. |
|
|
|
|
* health check: added ability to set :ref:`host header value |
|
|
|
|
<envoy_api_field_core.HealthCheck.HttpHealthCheck.host>` for http health check. |
|
|
|
|
* health check: extended the health check filter to support computation of the health check response |
|
|
|
|
based on the :ref:`percentage of healthy servers in upstream clusters |
|
|
|
|
<envoy_api_field_config.filter.http.health_check.v2.HealthCheck.cluster_min_healthy_percentages>`. |
|
|
|
|
* health check: added setting for :ref:`no-traffic |
|
|
|
|
interval<envoy_api_field_core.HealthCheck.no_traffic_interval>`. |
|
|
|
|
* tracing: when using the zipkin tracer, it is now possible for clients to specify the sampling decision (using |
|
|
|
|
the :ref:`x-b3-sampled <config_http_conn_man_headers_x-b3-sampled>` header) and have the decision |
|
|
|
|
propagated through to subsequently invoked services. |
|
|
|
|
* tracing: when using the zipkin tracer, it is no longer necessary to propagate the |
|
|
|
|
* http : added idle timeout for :ref:`upstream http connections |
|
|
|
|
<envoy_api_field_core.HttpProtocolOptions.idle_timeout>`. |
|
|
|
|
* http: added support for :ref:`proxying 100-Continue responses |
|
|
|
|
<envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.proxy_100_continue>`. |
|
|
|
|
* http: added the ability to pass a URL encoded PEM encoded peer certificate in the |
|
|
|
|
:ref:`config_http_conn_man_headers_x-forwarded-client-cert` header. |
|
|
|
|
* http: added support for trusting additional hops in the |
|
|
|
|
:ref:`config_http_conn_man_headers_x-forwarded-for` request header. |
|
|
|
|
* http: added support for :ref:`incoming HTTP/1.0 |
|
|
|
|
<envoy_api_field_core.Http1ProtocolOptions.accept_http_10>`. |
|
|
|
|
* hot restart: added SIGTERM propagation to children to :ref:`hot-restarter.py |
|
|
|
|
<operations_hot_restarter>`, which enables using it as a parent of containers. |
|
|
|
|
* ip tagging: added :ref:`HTTP IP Tagging filter<config_http_filters_ip_tagging>`. |
|
|
|
|
* listeners: added support for :ref:`listening for both IPv4 and IPv6 |
|
|
|
|
<envoy_api_field_core.SocketAddress.ipv4_compat>` when binding to ::. |
|
|
|
|
* listeners: added support for listening on :ref:`UNIX domain sockets |
|
|
|
|
<envoy_api_field_core.Address.pipe>`. |
|
|
|
|
* listeners: added support for :ref:`abstract unix domain sockets <envoy_api_msg_core.Pipe>` on |
|
|
|
|
Linux. The abstract namespace can be used by prepending '@' to a socket path. |
|
|
|
|
* listeners: added :ref:`transparent <envoy_api_field_Listener.transparent>` option. |
|
|
|
|
* load balancer: added cluster configuration for :ref:`healthy panic threshold |
|
|
|
|
<envoy_api_field_Cluster.CommonLbConfig.healthy_panic_threshold>` percentage. |
|
|
|
|
* load balancer: added :ref:`Maglev <arch_overview_load_balancing_types_maglev>` consistent hash |
|
|
|
|
load balancer. |
|
|
|
|
* load balancer: added support for |
|
|
|
|
:ref:`LocalityLbEndpoints<envoy_api_msg_endpoint.LocalityLbEndpoints>` priorities. |
|
|
|
|
* lua: added headers :ref:`replace() <config_http_filters_lua_header_wrapper>` API. |
|
|
|
|
* redis: added local `PING` support to the :ref:`Redis filter <arch_overview_redis>`. |
|
|
|
|
* redis: added `GEORADIUS_RO` and `GEORADIUSBYMEMBER_RO` to the :ref:`Redis command splitter |
|
|
|
|
<arch_overview_redis>` whitelist. |
|
|
|
|
* router: added DOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT, DOWNSTREAM_LOCAL_ADDRESS, |
|
|
|
|
DOWNSTREAM_LOCAL_ADDRESS_WITHOUT_PORT, PROTOCOL, and UPSTREAM_METADATA :ref:`header |
|
|
|
|
formatters <config_http_conn_man_headers_custom_request_headers>`. The CLIENT_IP header formatter |
|
|
|
|
has been deprecated. |
|
|
|
|
* router: added gateway-error :ref:`retry-on <config_http_filters_router_x-envoy-retry-on>` policy. |
|
|
|
|
* router: added support for route matching based on :ref:`URL query string parameters |
|
|
|
|
<envoy_api_msg_route.QueryParameterMatcher>`. |
|
|
|
|
* router: added support for more granular weighted cluster routing by allowing the :ref:`total_weight |
|
|
|
|
<envoy_api_field_route.WeightedCluster.total_weight>` to be specified in configuration. |
|
|
|
|
* router: added support for :ref:`custom request/response headers |
|
|
|
|
<config_http_conn_man_headers_custom_request_headers>` with mixed static and dynamic values. |
|
|
|
|
* router: added support for :ref:`direct responses <envoy_api_field_route.Route.direct_response>`. |
|
|
|
|
I.e., sending a preconfigured HTTP response without proxying anywhere. |
|
|
|
|
* router: added support for :ref:`HTTPS redirects |
|
|
|
|
<envoy_api_field_route.RedirectAction.https_redirect>` on specific routes. |
|
|
|
|
* router: added support for :ref:`prefix_rewrite |
|
|
|
|
<envoy_api_field_route.RedirectAction.prefix_rewrite>` for redirects. |
|
|
|
|
* router: added support for :ref:`stripping the query string |
|
|
|
|
<envoy_api_field_route.RedirectAction.strip_query>` for redirects. |
|
|
|
|
* router: added support for downstream request/upstream response |
|
|
|
|
:ref:`header manipulation <config_http_conn_man_headers_custom_request_headers>` in :ref:`weighted |
|
|
|
|
cluster <envoy_api_msg_route.WeightedCluster>`. |
|
|
|
|
* router: added support for :ref:`range based header matching |
|
|
|
|
<envoy_api_field_route.HeaderMatcher.range_match>` for request routing. |
|
|
|
|
* squash: added support for the :ref:`Squash microservices debugger <config_http_filters_squash>`. |
|
|
|
|
Allows debugging an incoming request to a microservice in the mesh. |
|
|
|
|
* stats: added metrics service API implementation. |
|
|
|
|
* stats: added native :ref:`DogStatsd <envoy_api_msg_config.metrics.v2.DogStatsdSink>` support. |
|
|
|
|
* stats: added support for :ref:`fixed stats tag values |
|
|
|
|
<envoy_api_field_config.metrics.v2.TagSpecifier.fixed_value>` which will be added to all metrics. |
|
|
|
|
* tcp proxy: added support for specifying a :ref:`metadata matcher |
|
|
|
|
<envoy_api_field_config.filter.network.tcp_proxy.v2.TcpProxy.metadata_match>` for upstream |
|
|
|
|
clusters in the tcp filter. |
|
|
|
|
* tcp proxy: improved TCP proxy to correctly proxy TCP half-close. |
|
|
|
|
* tcp proxy: added :ref:`idle timeout |
|
|
|
|
<envoy_api_field_config.filter.network.tcp_proxy.v2.TcpProxy.idle_timeout>`. |
|
|
|
|
* tcp proxy: access logs now bring an IP address without a port when using DOWNSTREAM_ADDRESS. |
|
|
|
|
Use :ref:`DOWNSTREAM_REMOTE_ADDRESS <config_access_log_format>` instead. |
|
|
|
|
* tracing: added support for dynamically loading an :ref:`OpenTracing tracer |
|
|
|
|
<envoy_api_msg_config.trace.v2.DynamicOtConfig>`. |
|
|
|
|
* tracing: when using the Zipkin tracer, it is now possible for clients to specify the sampling |
|
|
|
|
decision (using the :ref:`x-b3-sampled <config_http_conn_man_headers_x-b3-sampled>` header) and |
|
|
|
|
have the decision propagated through to subsequently invoked services. |
|
|
|
|
* tracing: when using the Zipkin tracer, it is no longer necessary to propagate the |
|
|
|
|
:ref:`x-ot-span-context <config_http_conn_man_headers_x-ot-span-context>` header. |
|
|
|
|
See more on trace context propagation :ref:`here <arch_overview_tracing>`. |
|
|
|
|
* listeners: added :ref:`transparent <envoy_api_field_Listener.transparent>` option. |
|
|
|
|
* transport sockets: added transport socket interface to allow custom implementations of transport |
|
|
|
|
sockets. A transport socket provides read and write logic with buffer encryption and decryption |
|
|
|
|
(if applicable). The existing TLS implementation has been refactored with the interface. |
|
|
|
|
* upstream: added support for specifying an :ref:`alternate stats name |
|
|
|
|
<envoy_api_field_Cluster.alt_stat_name>` while emitting stats for clusters. |
|
|
|
|
* Many small bug fixes and performance improvements not listed. |
|
|
|
|
|
|
|
|
|
1.5.0 |
|
|
|
|
===== |
|
|
|
|