This PR contains the following updates:
Release Notes
actions/checkout (actions/checkout)
Compare Source
actions/setup-java (actions/setup-java)
Compare Source
actions/upload-artifact (actions/upload-artifact)
Compare Source
gradle/gradle (gradle)
Compare Source
Compare Source
The Gradle team is excited to announce Gradle 9.1.0.
Here are the highlights of this release:
- Full Java 25 support
- Native task graph visualization
- Enhanced console output
Read the Release Notes
We would like to thank the following community members for their contributions to this release of Gradle:
Eng Zer Jun,
EunHyunsu,
Gaëtan Muller,
HeeChul Yang,
Jendrik Johannes,
Johnny Lim,
Junho Lee,
Kirill Gavrilov,
Matthew Haughton,
Na Minhyeok,
Philip Wedemann,
Philipp Schneider,
Pradyumna C,
r-a-sattarov,
Ryszard Perkowski,
Sebastian Schuberth,
SebastianHeil,
Staffan Al-Kadhimi,
winfriedgerlach,
Xin Wang.
Upgrade instructions
Switch your build to use Gradle 9.1.0 by updating your wrapper:
./gradlew wrapper --gradle-version=9.1.0 && ./gradlew wrapper
See the Gradle9.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.
For Java, Groovy, Kotlin and Android compatibility, see thefull compatibility notes.
Reporting problems
If you find a problem with this release, please file a bug onGitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use theforum.
We hope you will build happiness with Gradle, and we look forward to your feedback viaTwitter or onGitHub.
Compare Source
The Gradle team is excited to announce Gradle 9.0.0.
Here are the highlights of this release:
- Configuration Cache is the recommended execution mode
- Gradle requires JVM 17 or higher to run
- Build scripts use Kotlin 2.2 and Groovy 4.0
- Improved Kotlin DSL script compilation avoidance
Read the Release Notes
We would like to thank the following community members for their contributions to this release of Gradle:
Aaron Matthis,
Adam E,
Adam S,
Björn Kautler,
Daniel Lacasse,
Eng Zer Jun,
EunHyunsu,
FlorianMichael,
Francisco Prieto,
Gaëtan Muller,
Jake Wharton,
Kengo TODA,
Kent Kaseda,
Madalin Valceleanu,
Marc Philipp,
Mark S. Lewis,
Matthew Haughton,
Mycroft Wong,
Na Minhyeok,
Nelson Osacky,
Olivier "Oli" Dagenais,
ploober,
Radai Rosenblatt,
Róbert Papp,
Sebastian Schuberth,
Victor Merkulov.
Upgrade instructions
Switch your build to use Gradle 9.0.0 by updating your wrapper:
./gradlew wrapper --gradle-version=9.0.0 && ./gradlew wrapper
See the Gradle9.0.0 upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.
For Java, Groovy, Kotlin and Android compatibility, see thefull compatibility notes.
Reporting problems
If you find a problem with this release, please file a bug onGitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use theforum.
We hope you will build happiness with Gradle, and we look forward to your feedback viaTwitter or onGitHub.
gradle/actions (gradle/actions)
Compare Source
square/okhttp (com.squareup.okhttp3:logging-interceptor)
2025-10-30
New: Add tags toCall, including computable tags. Use this to attach application-specific
metadata to aCall in anEventListener orInterceptor. The tag can be read in any other
EventListener orInterceptor.
overridefunintercept(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].
2025-10-09
Fix: Don't crash when callingSocket.shutdownOutput() orshutdownInput() on anSSLSocket
on 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].
2025-10-07
New: Support [HTTP 101] responses withResponse.socket. This mechanism is only supported on
HTTP/1.1. We also reimplemented our websocket client to use this new mechanism.
New: Theokhttp-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 theQUERY HTTP method. You will need to set theRequest.cacheUrlOverride
property 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 ourAutomatic-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].
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 theIllegalStateException if they weren't available). This new API restores that
capability.
Fix: Don't crash ontrailers() 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.
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 oldokhttp3.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 themockwebserver3 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.
👻Immortal: This PR will be recreated if closed unmerged. Getconfig help if that's undesired.
This PR was generated byMend Renovate. View therepository job log.
Uh oh!
There was an error while loading.Please reload this page.
This PR contains the following updates:
v4->v5v4->v5v4->v58.14.3->9.2.0v4->v57.2.1->8.0.04.12.0->5.3.0Release Notes
actions/checkout (actions/checkout)
v5Compare Source
actions/setup-java (actions/setup-java)
v5Compare Source
actions/upload-artifact (actions/upload-artifact)
v5Compare Source
gradle/gradle (gradle)
v9.2.0Compare Source
v9.1.0: 9.1.0Compare Source
The Gradle team is excited to announce Gradle 9.1.0.
Here are the highlights of this release:
Read the Release Notes
We would like to thank the following community members for their contributions to this release of Gradle:
Eng Zer Jun,
EunHyunsu,
Gaëtan Muller,
HeeChul Yang,
Jendrik Johannes,
Johnny Lim,
Junho Lee,
Kirill Gavrilov,
Matthew Haughton,
Na Minhyeok,
Philip Wedemann,
Philipp Schneider,
Pradyumna C,
r-a-sattarov,
Ryszard Perkowski,
Sebastian Schuberth,
SebastianHeil,
Staffan Al-Kadhimi,
winfriedgerlach,
Xin Wang.
Upgrade instructions
Switch your build to use Gradle 9.1.0 by updating your wrapper:
See the Gradle9.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.
For Java, Groovy, Kotlin and Android compatibility, see thefull compatibility notes.
Reporting problems
If you find a problem with this release, please file a bug onGitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use theforum.
We hope you will build happiness with Gradle, and we look forward to your feedback viaTwitter or onGitHub.
v9.0.0: 9.0.0Compare Source
The Gradle team is excited to announce Gradle 9.0.0.
Here are the highlights of this release:
Read the Release Notes
We would like to thank the following community members for their contributions to this release of Gradle:
Aaron Matthis,
Adam E,
Adam S,
Björn Kautler,
Daniel Lacasse,
Eng Zer Jun,
EunHyunsu,
FlorianMichael,
Francisco Prieto,
Gaëtan Muller,
Jake Wharton,
Kengo TODA,
Kent Kaseda,
Madalin Valceleanu,
Marc Philipp,
Mark S. Lewis,
Matthew Haughton,
Mycroft Wong,
Na Minhyeok,
Nelson Osacky,
Olivier "Oli" Dagenais,
ploober,
Radai Rosenblatt,
Róbert Papp,
Sebastian Schuberth,
Victor Merkulov.
Upgrade instructions
Switch your build to use Gradle 9.0.0 by updating your wrapper:
See the Gradle9.0.0 upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.
For Java, Groovy, Kotlin and Android compatibility, see thefull compatibility notes.
Reporting problems
If you find a problem with this release, please file a bug onGitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use theforum.
We hope you will build happiness with Gradle, and we look forward to your feedback viaTwitter or onGitHub.
gradle/actions (gradle/actions)
v5Compare Source
square/okhttp (com.squareup.okhttp3:logging-interceptor)
v5.3.02025-10-30
New: Add tags to
Call, including computable tags. Use this to attach application-specificmetadata to a
Callin anEventListenerorInterceptor. The tag can be read in any otherEventListenerorInterceptor.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.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 - 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.
👻Immortal: This PR will be recreated if closed unmerged. Getconfig help if that's undesired.
This PR was generated byMend Renovate. View therepository job log.