The Envoy project has released Envoy 1.19.0, adding a number of minor new features and bug fixes to the sidecar proxy for large service-oriented architectures.
Envoy is deployed as an agent alongside each service instance, handling the communications between instances. Although Envoy is a self-contained process, it also forms a key part of the Istio service mesh platform, therefore changes to Envoy may affect Istio users.
This release makes a couple of incompatible behaviour changes that may require application changes. One is that the
grpc_bridge_filter no longer collects grpc stats, but this can be can be reverted by changing a runtime key. The second is that Apache SkyWalking tracer support has been updated to be compatible with 8.4.0 data collect protocol. This introduces incompatibility with SkyWalking 8.3.0.
A number of minor changes may cause incompatibilities for some users. These include the removal of extra quotes on metadata string values in the
access_log, but this behaviour can also be temporarily reverted by setting a runtime key. Requests to AWS services are also now buffered by default in order to compute signatures which include the payload hash, making the filter compatible with most AWS services. For full details of these, see the change list on the Envoy project web site.
Bug fixes in this release include the cluster stats histograms, which properly compute the number of bytes sent, as well as handling retries, which were previously ignored. Also fixed is erroneous handling of invalid nghttp2 frames, while unauthorised responses now correctly include a www-authenticate header in
There is also a long list of additions in Envoy 1.19.0, including a new response flag for overload manager termination in
access_log, set when the http stream is terminated by overload manager.
The cluster manager has added
dns_resolution_config to aggregate all DNS resolver configuration into a single message. Also added is
wait_for_warm_on_init, which allows cluster readiness not to block on cluster warm-up – currently only applicable for DNS-based clusters.
Meanwhile, crash support in this release restores crash context when continuing to process requests or responses as a result of an asynchronous callback that invokes a filter directly.
Among the features deprecated in this release are the fields
dns_resolvers, which are deprecated in favour of
dns_resolution_config to aggregate all of the DNS resolver configuration.