1.4.0 (August 24, 2017)

Changes

  • admin: Added /routes admin endpoint.

  • clusters: Route validate_clusters option added.

  • clusters: Virtual cluster priorities have been hard removed without deprecation as we are reasonably sure no one is using this feature.

  • config: YAML is now directly supported for config files.

  • configs: Configuration check tool added.

  • deprecation: Several features are deprecated as of the 1.4.0 release. They will be removed at the beginning of the 1.5.0 release cycle. We explicitly call out that the HttpFilterConfigFactory filter API has been deprecated in favor of NamedHttpFilterConfigFactory.

  • dns: Per-cluster DNS resolvers added.

  • dns: UDP statsd_ip_address option added.

  • envoy: Many small bug fixes and performance improvements not listed.

  • fault_injection: Fault filter enhancements and fixes.

  • flow_control: End-to-end flow control is now supported for TCP proxy, HTTP/1, and HTTP/2. HTTP flow control that includes filter buffering is incomplete and will be implemented in 1.5.0.

  • grpc: gRPC web filter added.

  • grpc: gRPC/JSON transcoder filter added.

  • headers: x-envoy-downstream-service-node header added.

  • headers: x-envoy-retry-grpc-on header added.

  • headers: x-forwarded-client-cert header added.

  • hot_restart: Hot restart compile time flag added.

  • http1: Initial HTTP/1 forward proxy support for absolute URLs has been added.

  • http2: HTTP/2 codec settings are now configurable.

  • lds: LDS API added.

  • load_balancing: Original destination cluster and load balancer added.

  • logging: Log verbosity compile time flag added.

  • mac: macOS is now supported. (A few features are missing such as hot restart and original destination routing).

  • networking: IPv6 support is now complete.

  • options: --local-address-ip-version option added.

  • options: Config validation mode added via the --mode option.

  • rate_limting: Configurable timeout for the rate limit service call in the network and HTTP rate limit filters.

  • schema: JSON schema check tool added.

  • tls: TLS :require_client_certificate option added.

  • websockets: WebSocket is now supported.

Deprecated

  • config: Config option http_codec_options has been deprecated and has been replaced with http2_settings.

  • filters: The direction of network and HTTP filters in the configuration will be ignored from 1.4.0 and later removed from the configuration in the v2 APIs. Filter direction is now implied at the C++ type level. The type() methods on the NamedNetworkFilterConfigFactory and NamedHttpFilterConfigFactory interfaces have been removed to reflect this.

  • grpc: The protobuf stub gRPC support via Grpc::RpcChannelImpl is now replaced with Grpc::AsyncClientImpl. This no longer uses protoc generated stubs but instead utilizes C++ template generation of the RPC stubs. Grpc::AsyncClientImpl supports streaming, in addition to the previous unary, RPCs.

  • http_filters: HttpFilterConfigFactory filter API has been deprecated in favor of NamedHttpFilterConfigFactory.

  • logging: The following log macros have been deprecated: log_trace, log_debug, conn_log, conn_log_info, conn_log_debug, conn_log_trace, stream_log, stream_log_info, stream_log_debug, stream_log_trace. For replacements, please see logger.h.

  • options: Config option statsd_local_udp_port has been deprecated and has been replaced with statsd_udp_ip_address.

  • streaming: The connectionId() and ssl() callbacks of StreamFilterCallbacks have been deprecated and replaced with a more general connection() callback, which, when not returning a nullptr, can be used to get the connection id and SSL connection from the returned Connection object pointer.