fix(deps): update okhttp monorepo to v5 (major)
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| com.squareup.okhttp3:mockwebserver (source) | 4.12.0 -> 5.3.1 |
||
| com.squareup.okhttp3:okhttp (source) | 4.12.0 -> 5.3.1 |
Release Notes
square/okhttp (com.squareup.okhttp3:mockwebserver)
v5.3.1
2025-11-16
-
Fix: Don't delay triggering timeouts. In Okio 3.16.0 we introduced a regression that caused timeouts to fire later than they were supposed to.
-
Upgrade: [Okio 3.16.3][okio_3_16_3].
v5.3.0
2025-10-30
-
New: Add tags to
Call, including computable tags. Use this to attach application-specific metadata to aCallin anEventListenerorInterceptor. The tag can be read in any otherEventListenerorInterceptor.override fun intercept(chain: Interceptor.Chain): Response { chain.call().tag(MyAnalyticsTag::class) { MyAnalyticsTag(...) } return chain.proceed(chain.request()) } -
New: Support request bodies on HTTP/1.1 connection upgrades.
-
New:
EventListener.plus()makes it easier to observe events in multiple listeners. -
Fix: Don't spam logs with ‘Method isLoggable in android.util.Log not mocked.’ when using OkHttp in Robolectric and Paparazzi tests.
-
Upgrade: [Kotlin 2.2.21][kotlin_2_2_21].
-
Upgrade: [Okio 3.16.2][okio_3_16_2].
-
Upgrade: [ZSTD-KMP 0.4.0][zstd_kmp_0_4_0]. This update fixes a bug that caused APKs to fail [16 KB ELF alignment checks][elf_alignment].
v5.2.2
2025-11-16
-
Fix: Don't delay triggering timeouts. In Okio 3.16.0 we introduced a regression that caused timeouts to fire later than they were supposed to.
-
Upgrade: [Okio 3.16.3][okio_3_16_3].
v5.2.1
2025-10-09
-
Fix: Don't crash when calling
Socket.shutdownOutput()orshutdownInput()on anSSLSocketon Android API 21 through 23. This method throws anUnsupportedOperationException, so we now catch that and close the underlying stream instead. -
Upgrade: [Okio 3.16.1][okio_3_16_1].
v5.2.0
2025-10-07
-
New: Support [HTTP 101] responses with
Response.socket. This mechanism is only supported on HTTP/1.1. We also reimplemented our websocket client to use this new mechanism. -
New: The
okhttp-zstdmodule negotiates [Zstandard (zstd)][zstd] compression with servers that support it. It integrates a new (unstable) [ZSTD-KMP] library, also from Square. Enable it like this:val client = OkHttpClient.Builder() .addInterceptor(CompressionInterceptor(Zstd, Gzip)) .build() -
New: Support the
QUERYHTTP method. You will need to set theRequest.cacheUrlOverrideproperty to cache calls made with this method. TheRequestBody.sha256()may be helpful here; use it to compose a cache URL from the query body. -
New: Publish events when calls must wait to execute.
EventListener.dispatcherQueueStart()is invoked when a call starts waiting, anddispatcherQueueEnd()is invoked when it's done. -
New:
Request.toCurl()returns a copy-pasteable [curl] command consistent with Chrome’s and Firefox’s ‘copy as cURL’ features. -
New: Support [JPMS]. We replaced our
Automatic-Module-Namemetadata with propermodule-info.javafiles. -
Fix: Recover gracefully when worker threads are interrupted. When we introduced fast fallback in OkHttp 5.0, we started using background threads while connecting. Sadly that code didn't handle interruptions well. This is now fixed.
-
Upgrade: [Kotlin 2.2.20][kotlin_2_2_20].
-
Upgrade: [Okio 3.16.0][okio_3_16_0].
v5.1.0
2025-07-07
-
New:
Response.peekTrailers(). When we changedResponse.trailers()to block instead of throwing in 5.0.0, we inadvertently removed the ability for callers to peek the trailers (by catching theIllegalStateExceptionif they weren't available). This new API restores that capability. -
Fix: Don't crash on
trailers()if the response doesn't have a body. We broke [Retrofit] users who read the trailers on theraw()OkHttp response, after its body was decoded.
v5.0.0
2025-07-02
This is our first stable release of OkHttp since 2023. Here's the highlights if you're upgrading from OkHttp 4.x:
OkHttp is now packaged as separate JVM and Android artifacts. This allows us to offer platform-specific features and optimizations. If your build system handles [Gradle module metadata], this change should be automatic.
MockWebServer has a new coordinate and package name. We didn’t like that our old artifact
depends on JUnit 4 so the new one doesn’t. It also has a better API built on immutable values. (We
intend to continue publishing the old okhttp3.mockwebserver artifact so there’s no urgency to
migrate.)
| Coordinate | Package Name | Description |
|---|---|---|
| com.squareup.okhttp3:mockwebserver3:5.0.0 | mockwebserver3 | Core module. No JUnit dependency! |
| com.squareup.okhttp3:mockwebserver3-junit4:5.0.0 | mockwebserver3.junit4 | Optional JUnit 4 integration. |
| com.squareup.okhttp3:mockwebserver3-junit5:5.0.0 | mockwebserver3.junit5 | Optional JUnit 5 integration. |
| com.squareup.okhttp3:mockwebserver:5.0.0 | okhttp3.mockwebserver | Obsolete. Depends on JUnit 4. |
OkHttp now supports Happy Eyeballs ([RFC 8305][rfc_8305]) for IPv4+IPv6 networks. It attempts both IPv6 and IPv4 connections concurrently, keeping whichever connects first.
We’ve improved our Kotlin APIs. You can skip the builder:
val request = Request(
url = "https://cash.app/".toHttpUrl(),
)
OkHttp now supports [GraalVM].
Here’s what has changed since 5.0.0-alpha.17:
- Upgrade: [Okio 3.15.0][okio_3_15_0].
- Upgrade: [Kotlin 2.2.0][kotlin_2_2_0].
- Fix: Don't crash with a
NoSuchMethodErrorwhen using OkHttp with the Sentry SDK. - Fix: Retain the query data in the old
okhttp3.mockwebserver.RecordedRequest.pathproperty. We inadvertently changed this behavior when we introduced themockwebserver3API.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
/run-tests
Build & Test complete. :sparkles: View workflow run