fix(deps): update dependency com.squareup.okhttp3:okhttp to v5.0.0-alpha.17 #1733
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:
5.0.0-alpha.14
->5.0.0-alpha.17
Release Notes
square/okhttp (com.squareup.okhttp3:okhttp)
v5.0.0-alpha.17
2025-06-29
This release stabilizes many APIs for the imminent OkHttp 5.0.0 release.
New:
TrailersSource
, a public API for HTTP trailers. Production callers shouldn't need thisas the API to read response trailers is unchanged. Testers may use this new stable API to
supply trailers for a
Response
.New:
Path.asRequestBody()
is now a non-experimental API.New:
FileDescriptor.toRequestBody()
is now a non-experimental API.New: Stop using experimental coroutines APIs in our
okhttp-coroutines
artifact.Breaking: Move
gzip
fromRequestBody
toRequest.Builder
. This new API handles bothcompressing the request body and also adding the corresponding
Content-Encoding
header. Notethat this function is sensitive to when it is called: the response body must be supplied before
it can be compressed.
Breaking: Remove
AddressPolicy
,AsyncDns
, andConnectionListener
from the public API. Weintend to ship a public API for these features, but we don't want to hold OkHttp 5.0.0 until
those APIs are stable.
Fix: Change
MockWebServer.close()
to cancel ongoing calls that are blocked on a delay.Upgrade: [Okio 3.13.0][okio_3_13_0].
This release also stabilizes many APIs in the
mockwebserver3
artifact that's new in 5.0.Breaking:
RecordedRequest.body
is now nullable. Null is used when the request does not have abody.
Breaking:
RecordedRequest.chunkSizes
is now nullable. Null is used when the request does notuse chunked encoding. This is different from an empty list - that indicates the request is
chunked but has no data.
Breaking: Replace
SocketPolicy
with a new type,SocketEffect
. It splits triggers (requeststart, response body, etc.) from effects (closing the socket, closing the stream, etc.).
Breaking: Rename
RecordedRequest.sequenceNumber
toexchangeIndex
and introduceconnectionIndex
on that type. These properties may be useful when testing features likeconnection reuse.
Breaking: Replace our parameters-based JUnit 5 extension with a new annotation,
@StartStop
.Put this annotation on a
MockWebServer
property and the extension will start it before yourtest executes and stop it after it completes. No further configuration is required.
Breaking: Don't automatically start
MockWebServer
after calls to accessors likeport
. Nowthese accessors will throw an
IllegalStateException
if the service has not yet been started.Breaking: Decompose the
RecordedRequest.requestLine
into three properties,method
,target
,and
version
. This better suits HTTP/2 where the request line had to be synthesized fromcomponent headers.
Breaking: Change
RecordedRequest.body
from a mutableBuffer
to an immutableByteString
.Breaking: Adopt Okio's new
Socket
interface forMockResponse.socketHandler
.Note that any Breaking changes above impact only APIs introduced in earlier 5.0.0-alpha releasees.
We don't break binary compatibility with non-alpha APIs.
v5.0.0-alpha.16
2025-05-29
running our Android artifact on the JVM platform!
v5.0.0-alpha.15
2025-05-28
This release introduces separate JVM and Android artifacts. Until now, we've distributed OkHttp
as a JVM library that detects Android capabilities at runtime, but that doesn't offer
Android-specific APIs. With this release we're starting to publish OkHttp as an AAR for Android
users in addition to our existing JAR for JVM users.
This first Android-specific artifact adopts Android's
assets
mechanism to embed the public suffixdata. We will build more Android integration in future releases.
The okhttp-android artifact first introduced in
5.0.0-alpha.7
is no longer available:AndroidAsyncDns
class moved to theokhttp
artifact.AndroidLogging
class is no longer necessary.LoggingEventListener
andHttpLoggingInterceptor
write to logcat by default.The rest of this release is our highest-quality release yet. Though we continue to use the word
alpha in the version name, the only unstable thing in it is some non-final APIs tagged
@ExperimentalOkHttpApi
. You can safely use this release in production.Fix: Attempt to read the response even if sending the request failed. This makes it possible
to handle response statuses like
HTTP/1.1 431 "Request Header Fields Too Large
.Fix: Handle multiple 1xx responses.
Fix: Address a performance bug in our internal task runner. We had a race condition that could
result in it OkHttp starting a thread for each queued task, even when a single thread could run
all of them.
Fix: Address a performance bug in
MultipartReader
. We were scanning the entire input streamfor a delimiter when we only needed to scan enough to return a result.
Fix: Don't double-compress the public suffix database. OkHttp is usually distributed in a
compressed file (like a JAR or APK), so compressing its internal data was redundant.
Fix: Call
ProxySelector.connectFailed()
when a connection's initial TCP handshake fails.Fix: Change the signature of
Dispatcher
to accept a nullableExecutorService
. Changing thisparameter to be non-null was an unintended signature change in OkHttp 4.0.
New:
EventListener.retryDecision()
is called each time a request fails with anIOException
.It notifies your listener if OkHttp will retry.
New:
EventListener.followUpDecision()
is called each time a response is received. It notifiesyour listener if OkHttp has decided to make a follow-up request. Some common follow-ups are
authentication challenges and redirects.
New: Handy constants for
Headers.EMPTY
,RequestBody.EMPTY
, andResponseBody.EMPTY
.New: OkHttp now calls
StrictMode.noteSlowCall()
when initializing TLS on Android. UseStrictMode
to detect if yourOkHttpClient
is being initialized on the main thread.Upgrade: [Okio 3.12.0][okio_3_12_0].
Upgrade: [Kotlin 2.1.21][kotlin_2_1_21].
Upgrade: [kotlinx.coroutines 1.10.2][coroutines_1_10_2]. This is used by the optional
okhttp-coroutines
artifact.Upgrade: [AndroidX Startup 1.2.0][startup_1_2_0]. The Android variant of the
okhttp
artifactnow depends on this. This is a new dependency.
Upgrade: [AndroidX Annotation 1.9.1][annotation_1_9_1]. As above, the Android variant of the
okhttp
artifact now depends on this. This is also a new dependency.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 this update again.
This PR was generated by Mend Renovate. View the repository job log.