@@ -5,6 +5,74 @@ Change Log
5
5
6
6
See [ 4.x Change log] ( https://square.github.io/okhttp/changelogs/changelog_4x/ ) for the stable version changelogs.
7
7
8
+ ## Version 5.0.0-alpha.17
9
+
10
+ _ 2025-06-29_
11
+
12
+ This release stabilizes many APIs for the imminent OkHttp 5.0.0 release.
13
+
14
+ * New: ` TrailersSource ` , a public API for HTTP trailers. Production callers shouldn't need this
15
+ as the API to read response trailers is unchanged. Testers may use this new stable API to
16
+ supply trailers for a ` Response ` .
17
+
18
+ * New: ` Path.asRequestBody() ` is now a non-experimental API.
19
+
20
+ * New: ` FileDescriptor.toRequestBody() ` is now a non-experimental API.
21
+
22
+ * New: Stop using experimental coroutines APIs in our ` okhttp-coroutines ` artifact.
23
+
24
+ * Breaking: Move ` gzip ` from ` RequestBody ` to ` Request.Builder ` . This new API handles both
25
+ compressing the request body and also adding the corresponding ` Content-Encoding ` header. Note
26
+ that this function is sensitive to when it is called: the response body must be supplied before
27
+ it can be compressed.
28
+
29
+ * Breaking: Remove ` AddressPolicy ` , ` AsyncDns ` , and ` ConnectionListener ` from the public API. We
30
+ intend to ship a public API for these features, but we don't want to hold OkHttp 5.0.0 until
31
+ those APIs are stable.
32
+
33
+ * Fix: Change ` MockWebServer.close() ` to cancel ongoing calls that are blocked on a delay.
34
+
35
+ * Upgrade: [ Okio 3.13.0] [ okio_3_13_0 ] .
36
+
37
+ This release also stabilizes many APIs in the ` mockwebserver3 ` artifact that's new in 5.0.
38
+
39
+ * Breaking: ` RecordedRequest.body ` is now nullable. Null is used when the request does not have a
40
+ body.
41
+
42
+ * Breaking: ` RecordedRequest.chunkSizes ` is now nullable. Null is used when the request does not
43
+ use chunked encoding. This is different from an empty list - that indicates the request is
44
+ chunked but has no data.
45
+
46
+ * Breaking: Replace ` SocketPolicy ` with a new type, ` SocketEffect ` . It splits triggers (request
47
+ start, response body, etc.) from effects (closing the socket, closing the stream, etc.).
48
+
49
+ * Breaking: Rename ` RecordedRequest.sequenceNumber ` to ` exchangeIndex ` and introduce
50
+ ` connectionIndex ` on that type. These properties may be useful when testing features like
51
+ connection reuse.
52
+
53
+ * Breaking: Replace our parameters-based JUnit 5 extension with a new annotation, ` @StartStop ` .
54
+ Put this annotation on a ` MockWebServer ` property and the extension will start it before your
55
+ test executes and stop it after it completes. No further configuration is required.
56
+
57
+ ``` kotlin
58
+ @StartStop val server = MockWebServer ()
59
+ ```
60
+
61
+ * Breaking : Don ' t automatically start `MockWebServer` after calls to accessors like `port`. Now
62
+ these accessors will throw an `IllegalStateException` if the service has not yet been started.
63
+
64
+ * Breaking: Decompose the `RecordedRequest.requestLine` into three properties, `method`, `target`,
65
+ and `version`. This better suits HTTP/2 where the request line had to be synthesized from
66
+ component headers.
67
+
68
+ * Breaking: Change `RecordedRequest.body` from a mutable `Buffer` to an immutable `ByteString`.
69
+
70
+ * Breaking: Adopt Okio' s new `Socket ` interface for `MockResponse .socketHandler`.
71
+
72
+ Note that any _Breaking_ changes above impact only APIs introduced in earlier 5.0 .0 - alpha releasees.
73
+ We don' t break binary compatibility with non-alpha APIs.
74
+
75
+
8
76
## Version 5.0.0-alpha.16
9
77
10
78
_2025-05-29_
@@ -531,6 +599,7 @@ release is the version name.
531
599
[okio_2_9_0]: https: // square.github.io/okio/changelog/#version-290
532
600
[okio_3_0_0]: https: // square.github.io/okio/changelog/#version-300
533
601
[okio_3_12_0]: https: // square.github.io/okio/changelog/#version-3120
602
+ [okio_3_13_0]: https: // square.github.io/okio/changelog/#version-3130
534
603
[okio_3_1_0]: https: // square.github.io/okio/changelog/#version-310
535
604
[okio_3_2_0]: https: // square.github.io/okio/changelog/#version-320
536
605
[okio_3_7_0]: https: // square.github.io/okio/changelog/#version-370
0 commit comments