* Switch back to the kotlin JVM plugin
This does a ton of file moves from jvmMain to main, and jvmTest to test.
* Don't use AnimalSniffer on okcurl
* Use assertk more (#8150)
We had a bug where calling ConnectPlan.cancel() before ConnectPlan.connectTcp()
would drop the cancel. This is because the rawSocket wasn't created yet to
cancel.
Also document fast fallback on our documentation site.
Markdown coverts text with four leading spaces into a code block. Fenced code blocks in this file had four leading spaces in addition to the being wrapped with ```, because of this the code blocks weren't being rendered properly in the markdown preview.
Removing the two out of the four leading spaces fixed the issue.
Previously we were locking the RealConnectionPool for all
connection-related state, including cancelation.
This changes the locks to be per-Connection, leaning heavily
on thread-confined fields in RealCall, Exchange, and
ExchangeFinder.
Our original expectations were that KitKat devices would age out in
2020. It's been a garbage year and this expectations no longer hold.
We're extending support an extra year.
We continue to support OkHttp 3.12.x because later releases are not
usable on older devices and JVMs.
OkHttp 3.14.x has no such reason to receive support, and we'll stop
updating it on June 30, 2020. Users of OkHttp 3.14.x should upgrade
to the 4.x series. Android apps should accept Kotlin libraries; it's
the platform's future. And JVM apps are less constrained by binary
size. Here's the size of OkHttp + transitive dependencies, and those
of alternatives:
* OkHttp 4.4: 2.47 MiB including Kotlin stdlib (1.51 MiB)
* Apache HTTP Client 5.0: 1.78 MiB including slf4j-api (0.04 MiB)
* Jetty HTTP Client 9.4: 1.19 MiB