1.6.0 (March 20, 2018)
Changes
access log: added
DOWNSTREAM_REMOTE_ADDRESS
,DOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT
, andDOWNSTREAM_LOCAL_ADDRESS
access log formatters.DOWNSTREAM_ADDRESS
access log formatter has been deprecated.access log: added configuration to runtime filter to set default sampling rate, divisor, and whether to use independent randomness or not.
access log: added less than or equal (LE) comparison filter.
admin: added /runtime admin endpoint to read the current runtime values.
build: added support for building Envoy with exported symbols. This change allows scripts loaded with the Lua filter to load shared object libraries such as those installed via LuaRocks.
config: added restrictions for the backing config sources 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.
config: added support for inline delivery of TLS certificates and private keys.
config: added support for sending error details as grpc.rpc.Status in DiscoveryRequest.
envoy: Many small bug fixes and performance improvements not listed.
grpc: the Google gRPC C++ library client is now supported as specified in the gRPC services overview and GrpcService.
grpc-json: added support for inline descriptors.
health check: added gRPC health check based on grpc.health.v1.Health service.
health check: added ability to set host header value for http health check.
health check: added setting for no-traffic interval.
health check: extended the health check filter to support computation of the health check response based on the percentage of healthy servers in upstream clusters.
hot restart: added SIGTERM propagation to children to hot-restarter.py, which enables using it as a parent of containers.
http: added idle timeout for upstream http connections.
http: added support for incoming HTTP/1.0.
http: added support for proxying 100-Continue responses.
http: added support for trusting additional hops in the x-forwarded-for request header.
http: added the ability to pass a URL encoded PEM encoded peer certificate in the x-forwarded-client-cert header.
ip tagging: added HTTP IP Tagging filter.
listeners: added support for abstract unix domain sockets on Linux. The abstract namespace can be used by prepending ‘@’ to a socket path.
listeners: added support for listening for both IPv4 and IPv6 when binding to ::.
listeners: added support for listening on UNIX domain sockets.
load balancer: added Maglev consistent hash load balancer.
load balancer: added cluster configuration for healthy panic threshold percentage.
load balancer: added support for LocalityLbEndpoints priorities.
lua: added headers replace() API.
lua: extended to support metadata object API.
redis: added
GEORADIUS_RO
andGEORADIUSBYMEMBER_RO
to the Redis command splitter allowlist.redis: added local
PING
support to the Redis filter.router: added
DOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT
,DOWNSTREAM_LOCAL_ADDRESS
,DOWNSTREAM_LOCAL_ADDRESS_WITHOUT_PORT
,PROTOCOL
, andUPSTREAM_METADATA
header formatters. TheCLIENT_IP
header formatter has been deprecated.router: added gateway-error retry-on policy.
router: added support for HTTPS redirects on specific routes.
router: added support for custom request/response headers with mixed static and dynamic values.
router: added support for direct responses. I.e., sending a preconfigured HTTP response without proxying anywhere.
router: added support for prefix_rewrite for redirects.
router: added support for range based header matching for request routing.
router: added support for stripping the query string for redirects.
router: added support for downstream request/upstream response header manipulation in weighted cluster.
router: added support for more granular weighted cluster routing by allowing the total_weight to be specified in configuration.
router: added support for route matching based on URL query string parameters.
squash: added support for the Squash microservices debugger. Allows debugging an incoming request to a microservice in the mesh.
stats: added metrics service API implementation.
stats: added native DogStatsd support.
stats: added support for fixed stats tag values which will be added to all metrics.
tcp proxy: access logs now bring an IP address without a port when using DOWNSTREAM_ADDRESS. Use DOWNSTREAM_REMOTE_ADDRESS instead.
tcp proxy: added idle timeout.
tcp proxy: added support for specifying a metadata matcher for upstream clusters in the tcp filter.
tcp proxy: improved TCP proxy to correctly proxy TCP half-close.
tracing: added support for dynamically loading an OpenTracing tracer.
tracing: when using the Zipkin tracer, it is no longer necessary to propagate the x-ot-span-context header. See more on trace context propagation here.
tracing: when using the Zipkin tracer, it is now possible for clients to specify the sampling decision (using the x-b3-sampled header) and have the decision propagated through to subsequently invoked services.
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 alternate stats name while emitting stats for clusters.
Deprecated
headers:
CLIENT_IP
header formatter is deprecated. UseDOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT
instead.lds: ‘use_original_dst’ field in the v2 LDS API is deprecated. Use listener filters and filter chain matching instead.
logging:
DOWNSTREAM_ADDRESS
log formatter is deprecated. UseDOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT
instead.matching:
value
andregex
fields in theHeaderMatcher
message is deprecated. Use theexact_match
orregex_match
oneof instead.