mobile/docs/root/intro/version_history.rst
Breaking changes:
setNetworkMonitoringMode API. Use enableNetworkChangeMonitor instead.enableGzip and enableBrotli APIs were renamed to enableGzipDecompression and enableBrotliDecompression (:issue:#25352 <25352>)addH2RawDomains method. (:issue: #2590 <2590>)#2664 <2664>)getaddrinfo DNS resolver. Remove addDNSFallbackNameservers, enableDNSFilterUnroutableFamilies, and enableDNSUseSystemResolver methods from the Kotlin engine builder. (:issue:#2618 <2618>)--define=admin_functionality=disabled) (:issue#2693 <2693>)gauge, timer, and distribution methods from the PulseClient.cancel method to GRPCStream`` type (:issue:#24780 <24780>`).close method of GRPCStream with cancel method (:issue:#24780 <24780> :issue:#26683 <26683>).extendKeepaliveTimeout method from engine builders.#25392 <25392>)addVirtualClusters APIs.dnsPreresolveHostnames APIs from taking concatenated cluster YAML to taking a list of String hostnames (:issue: #25297 <25297>, :issue: #25259 <25259>, :issue: #25457 <25457>)setRuntimeGuard APIs for all languages (:issue: #25434 <25434>)setRtdsLayer, addAggregatedDiscoveryService, setNodeId, setNodeLocality APIs for all languagessetCdsLayer APIs for all languages (:issue: #26122 <26122>)enableSkipDNSLookup API. The runtime guard can still be set via setRuntimeGuard.x-envoy-mobile-upstream-protocol set to http2 will be sent to the base cluster and use the best available protocol (:issue #25796 <25796>).#25816 <25816>).#25814 <25814>).#25899 <25899>).#25893 <25893>).#24994 <24994>).Bugfixes:
#2520 <2520>)#2528 <2528>)#25516 <25516>)Features:
#25352 <25352>, :issue:#25595 <25595>)#2144 <2144>)setPerTryIdleTimeoutSeconds() method to C++ EngineBuilder.enableDNSCache(_:) method.enableProxying(true) method on the engine builder. (:issue:#2416 <2416>)enableSkipDNSLookupForProxiedRequests(true) knob for controlling whether Envoy waits on DNS response in the dynamic forward proxy filter for proxied requests. (:issue:#2602 <2602>)#2498 <2498>)#2498 <2498>)#2498 <2498>)#2613 <2613>)enableHappyEyeballs turning up happy eyeballs by default.exclude_certificates to disable inclusion of the Envoy Mobile certificate list, for use when using platform certificate validation.envoy_http_datagrams to allow disabling HTTP Datagram support. (:issue:#23564 <23564>)jni_cleared_pending_exception events (:issue:#26133 <26133>).enableScone() in EngineBuilder. SCONE data is propagated via new fields in envoy_stream_intel. (#44543)Breaking changes:
drainConnections() method with a broader resetConnectivityState(). (:issue:#2225 <2225>).#2275 <2275>)#2272 <2272>)#2215 <2215>)NWPathMonitor by default (:issue:#2329 <2329>)envoy_engine_t value of 1 will return the default engine.
Support for using multiple engines concurrently is coming later. (:issue:#2129 <2129>)Bugfixes:
#2216 <2216>)#2213 <2213>)#2221 <2221>)#2256 <2256>)#2285 <2285>)#2059 <2059>)HeadersBuilder and Headers case-insensitive. Rename allHeaders method to caseSensitiveHeaders. (:issue:#2383 <2383>, :issue:`#2400 <2400>``)#2378 <2378 >)Features:
#2134 <2134>, :issue: #2335 <2335>, :issue: #2430 <2430>)#2229 <2229>)#2225 <2225>, :issue:#2242 <2242>)#2321 <2321>) (:issue: #2349 <2349>)#2342 <2342>) (:issue: #2349 <2349>)#1512 <1521>)#2270 <2270>)#2267 <2267>)#2300 <2300>)#2319 <2319>)#2335 <2335>)#2362 <2362>)getaddrinfo-based system DNS resolver instead of c-ares (:issue: #2419 <2419>)KeyValueStore protocol conformance to UserDefaults (:issue: #2452 <2452>)#2396 <2396>)#2510 <2510>)Breaking changes:
#2084 <2084>)Bugfixes:
#2068 <2068>)#2175 <2175>)#2183 <2183>)#2122 <2122>)#2132 <2132>)#2059 <2059>)Features:
#2009 <2009>)#2053 <2053>)#2016 <2016>)#2004 <2004>)#2041 <2041>)#2046 <2046>)#2088 <2088>)#2104 <2104>)#2123 <2123>)#2163 <2163>)#2188 <2188>)Based off Envoy v1.21.0 <https://github.com/envoyproxy/envoy/releases/tag/v1.21.0>_
Bugfixes:
no-transform is specified (:issue:#1995 <1995>)Features:
x-envoy-upstream-alpn header (:issue: #1965 <1965>)Bugfixes:
#1898 <1898>)#1926 <1926>)#1936 <1936>)#1987 <1987>)#1950 <1950>)#1905 <1905>)#1958 <1958>)#1959 <1959>)Features:
#1924 <1924>)#1953 <1953>)#1984 <1984>)#1897 <1897>)#1901 <1901>)#1874 <1874>)#1971 <1971>)#1889 <1889>)Bugfixes:
#1752 <1752>)#1826 <1826>)Features:
#1772 <1772>)#1729 <1729>)#1756 <1756>)#1811 <1811>)#1583 <1583>)#1737 <1737>)#1592 <1592>)#1770 <1770>)#1805 <1805>)#1716 <1716>)#1832 <1832>)#1834 <1834>)#1858 <1858>)#1816 <1816>)#1746 <1746>)#1733 <1733>)#1771 <1771>)#1636 <1636>)#1657 <1657>)#1703 <1703>)Bugfixes:
#1560 <1560>)#1589 <1589>)Features:
#1513 <1513>)#1498 <1498>)#1535 <1535>)#1505 <1505>)#1486 <1486>)Bugfixes:
Features:
This is a large release. Moving forward the team will aim to release smaller version updates. The following is a very high-level overview of the larger changes going into this release.
Richer Platform-level Feature Set:
setLogger <api_starting_envoy>platform APIs <api_stats> for emitting time-series dataaddStringAccessor <api_starting_envoy>Additional Language Bindings:
Continued Bug fixes uncovered by additional testing:
Additional hardening of the codebase via extensive testing:
In the last few months the team has continued to harden Envoy Mobile with production exposure.
Stability and Production Hardening:
#774 <774>, :issue:#811 <811>)#791 <791>, :issue:#792 <792>)#798 <798>, :issue:#802 <802>, :issue:#808 <808>)#835 <835>)#852 <852>)#861 <861>)#965 <965>)#966 <966>)#964 <#964>)Observability:
#775 <775>)#821 <821>, :issue:#820 <820>, :issue:#813 <813>)#871 <871>)#902 <902>)Extensibility:
#795 <795>, :issue:#840 <840>, :issue:#858 <858>, :issue:#913 <913>, :issue:#940 <940>, :issue:#955 <955>, :issue:#943 <943>, :issue:#962 <962>)#860 <860>)Lastly, and perhaps most importantly, we have adopted a formal inclusive language policy <https://github.com/envoyproxy/envoy-mobile/blob/main/CONTRIBUTING.md#inclusive-language-policy>_
(:issue:#948 <948>) and updated all necessary locations (:issue:#944 <944>, :issue:#945 <945>, :issue:#946 <946>)
This is the first release of Envoy Mobile Lyft is using in a production application! 🎉
Since early November, when the team tagged v0.2.0, we have been hard at work to stabilize the library, and harden it via experiments with Lyft's Alpha and Beta releases. We have released Lyft's production binaries with Envoy Mobile for a couple weeks now, and are starting to expose a percentage of our production clients to Envoy Mobile with this release.
Since v0.2.3 we have largely focused on observability:
#701 <701>, :issue:#702 <702>, :issue:#722 <722>)#718 <718>)x-envoy-attempt-count response header (:issue:#751 <751>)virtual clusters <https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#config-route-v3-virtualcluster>_ (:issue:#768 <768>, :issue:#771 <771>)Additional changes:
#703 <703>)#714 <714>)#745 <745>)This release provides stabilization fixes as follow-up changes to 0.2.2:
#669 <669>)#672 <672>)#667 <667> and :issue:#674 <674>)#663 <663>)#690 <690>)#678 <678>)#699 <699>)Additional changes:
#659 <659>)#684 <684>)#697 <697>)Envoy Mobile v0.2.2 changes how network requests are performed to no longer use Envoy's AsyncClient and to instead consume the ApiListener directly (:issue:#616 <616>).
Additional changes:
#641 <641>, :issue:#642 <642>). Envoy Mobile now uses the authority specified when starting a new stream#652 <652>)This release of Envoy Mobile contains some small improvements:
Envoy Mobile v0.2 is a fundamental shift in how mobile clients use Envoy. Envoy Mobile now provides native Swift/Kotlin APIs that call through to Envoy directly (rather than using Envoy as a proxy), which apps use to create and interact with network streams.
This release includes a variety of new functionality:
This release is identical to v0.1.0, but packages the license and support for additional architectures.
Initial open source release.