Skip to content

Update okhttp monorepo to v5 (master) (major)#601

Merged
Donnerbart merged 6 commits into
masterfrom
renovate/mqtt-cli/master-major-okhttp-monorepo
Oct 10, 2025
Merged

Update okhttp monorepo to v5 (master) (major)#601
Donnerbart merged 6 commits into
masterfrom
renovate/mqtt-cli/master-major-okhttp-monorepo

Conversation

@renovate

@renovate renovate Bot commented Oct 10, 2025

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

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

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

square/okhttp (com.squareup.okhttp3:mockwebserver)

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 - Only on Sunday and Saturday ( * * * * 0,6 ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, 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

renovate Bot commented Oct 10, 2025

Copy link
Copy Markdown
Contributor Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@Donnerbart
Donnerbart force-pushed the renovate/mqtt-cli/master-major-okhttp-monorepo branch from f720a76 to bedf903 Compare October 10, 2025 13:02
@Donnerbart
Donnerbart requested a review from Copilot October 10, 2025 13:13

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Upgrade OkHttp dependencies to v5.x and adapt tests to the new mockwebserver3 API, along with related dependency catalog adjustments (JUnit version bump, introduction of OkHttp BOM) and minor CI/test tweaks.

  • Migrate test imports and usage from okhttp3.mockwebserver to mockwebserver3 with new Builder API.
  • Introduce OkHttp BOM and remove explicit versions for okhttp artifacts; bump JUnit Jupiter and (attempt to) align platform launcher version.
  • Minor formatting / workflow adjustments (Docker login removal, parameter formatting in a listener).

Reviewed Changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/test/java/com/hivemq/cli/rest/hivemq/HiveMQCLICommandRestServiceTest.java Update to mockwebserver3 imports and response construction.
src/test/java/com/hivemq/cli/commands/hivemq/export/clients/ClientIdsRetrieverTaskTest.java Update mockwebserver usage; refine static imports.
src/test/java/com/hivemq/cli/commands/hivemq/export/clients/ClientDetailsRetrieverTaskTest.java Update mockwebserver usage; add HTTP_OK import.
src/systemTest/java/com/hivemq/cli/utils/KillCliTestExecutionListener.java Formatting change to method parameters.
gradle/libs.versions.toml OkHttp 5 upgrade via BOM, JUnit version changes, removed some version entries.
.github/workflows/check.yml Replace Docker login step with Gradle property-based credentials for check task.

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread gradle/libs.versions.toml
@Donnerbart
Donnerbart enabled auto-merge (rebase) October 10, 2025 13:23
@Donnerbart
Donnerbart merged commit 1659b2c into master Oct 10, 2025
6 checks passed
@Donnerbart
Donnerbart deleted the renovate/mqtt-cli/master-major-okhttp-monorepo branch October 10, 2025 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants