android icon indicating copy to clipboard operation
android copied to clipboard

fix(deps): update okhttp monorepo to v5 (major)

Open renovate[bot] opened this issue 5 months ago • 2 comments

This PR contains the following updates:

Package Change Age Confidence
com.squareup.okhttp3:mockwebserver (source) 4.12.0 -> 5.3.1 age confidence
com.squareup.okhttp3:okhttp (source) 4.12.0 -> 5.3.1 age confidence

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 a Call in an EventListener or Interceptor. The tag can be read in any other EventListener or Interceptor.

      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() or shutdownInput() on an SSLSocket on Android API 21 through 23. This method throws an UnsupportedOperationException, 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-zstd module 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 QUERY HTTP method. You will need to set the Request.cacheUrlOverride property to cache calls made with this method. The RequestBody.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, and dispatcherQueueEnd() 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-Name metadata with proper module-info.java files.

  • 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 changed Response.trailers() to block instead of throwing in 5.0.0, we inadvertently removed the ability for callers to peek the trailers (by catching the IllegalStateException if 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 the raw() 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 NoSuchMethodError when using OkHttp with the Sentry SDK.
  • Fix: Retain the query data in the old okhttp3.mockwebserver.RecordedRequest.path property. We inadvertently changed this behavior when we introduced the mockwebserver3 API.

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.

renovate[bot] avatar Jul 03 '25 18:07 renovate[bot]

/run-tests

growse avatar Oct 19 '25 10:10 growse

Build & Test complete. :sparkles: View workflow run

github-actions[bot] avatar Oct 19 '25 10:10 github-actions[bot]