OkHttp v5.0.0-alpha.8 Release Notes
-
2022-06-08
Fix: Change how
H2_PRIOR_KNOWLEDGE
works with HTTP proxies. Previously OkHttp assumed the proxy itself was a prior knowledge HTTP/2 server. With this update, OkHttp attempts aCONNECT
tunnel just as it would with HTTPS. For prior knowledge with proxies OkHttp's is now consistent with these curl arguments:curl \ --http2-prior-knowledge \ --proxy localhost:8888 \ --proxytunnel \ http://squareup.com/robots.txt
Fix: Support executing OkHttp on kotlin-stdlib versions as old as 1.4. The library still builds on up-to-date Kotlin releases (1.6.21) but no longer needs that version as a runtime dependency. This should make it easier to use OkHttp in Gradle plugins.
Fix: Don't start the clock on response timeouts until the request body is fully transmitted. This is only relevant for duplex request bodies, because they are written concurrently when reading the response body.
New:
MockResponse.inTunnel()
is a newmockwebserver3
API to configure responses that are served while creating a proxy tunnel. This obsoletes both thetunnelProxy
argument onMockWebServer
and theUPGRADE_TO_SSL_AT_END
socket option. (Only APIs onmockwebserver3
are changed; the oldokhttp3.mockwebserver
APIs remain as they always have been.