Update okhttp monorepo to v5 (master) (major)#601
Merged
Donnerbart merged 6 commits intoOct 10, 2025
Conversation
Contributor
Author
Edited/Blocked NotificationRenovate 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. |
Donnerbart
force-pushed
the
renovate/mqtt-cli/master-major-okhttp-monorepo
branch
from
October 10, 2025 13:02
f720a76 to
bedf903
Compare
There was a problem hiding this comment.
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.
Donnerbart
approved these changes
Oct 10, 2025
Donnerbart
enabled auto-merge (rebase)
October 10, 2025 13:23
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.12.0->5.2.14.12.0->5.2.14.12.0->5.2.1Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
square/okhttp (com.squareup.okhttp3:mockwebserver)
v5.2.12025-10-09
Fix: Don't crash when calling
Socket.shutdownOutput()orshutdownInput()on anSSLSocketon Android API 21 through 23. This method throws an
UnsupportedOperationException, so we nowcatch that and close the underlying stream instead.
Upgrade: [Okio 3.16.1][okio_3_16_1].
v5.2.02025-10-07
New: Support [HTTP 101] responses with
Response.socket. This mechanism is only supported onHTTP/1.1. We also reimplemented our websocket client to use this new mechanism.
New: The
okhttp-zstdmodule negotiates [Zstandard (zstd)][zstd] compression with servers thatsupport it. It integrates a new (unstable) [ZSTD-KMP] library, also from Square. Enable it like
this:
New: Support the
QUERYHTTP method. You will need to set theRequest.cacheUrlOverrideproperty 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 andFirefox’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.02025-07-07
New:
Response.peekTrailers(). When we changedResponse.trailers()to block instead ofthrowing in 5.0.0, we inadvertently removed the ability for callers to peek the trailers
(by catching the
IllegalStateExceptionif they weren't available). This new API restores thatcapability.
Fix: Don't crash on
trailers()if the response doesn't have a body. We broke [Retrofit] userswho read the trailers on the
raw()OkHttp response, after its body was decoded.v5.0.02025-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.mockwebserverartifact so there’s no urgency tomigrate.)
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:
OkHttp now supports [GraalVM].
Here’s what has changed since 5.0.0-alpha.17:
NoSuchMethodErrorwhen using OkHttp with the Sentry SDK.okhttp3.mockwebserver.RecordedRequest.pathproperty. Weinadvertently changed this behavior when we introduced the
mockwebserver3API.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.
This PR was generated by Mend Renovate. View the repository job log.