Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update okhttp monorepo to v5.0.0-alpha.14 #1790

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 17, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
com.squareup.okhttp3:okhttp-dnsoverhttps (source) 5.0.0-alpha.11 -> 5.0.0-alpha.14 age adoption passing confidence
com.squareup.okhttp3:logging-interceptor (source) 5.0.0-alpha.11 -> 5.0.0-alpha.14 age adoption passing confidence
com.squareup.okhttp3:okhttp (source) 5.0.0-alpha.11 -> 5.0.0-alpha.14 age adoption passing confidence

Warning

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


Release Notes

square/okhttp (com.squareup.okhttp3:okhttp-dnsoverhttps)

v5.0.0-alpha.14

2024-04-17

  • Breaking: Move coroutines extensions to okhttp3.coroutines. Previously this artifact shared the
    okhttp3 package name with our core module, which is incompatible with the Java Platform Module
    System.

  • Fix in okhttp-coroutines: Publish a valid artifact. The coroutines JAR file in 5.0.0-alpha.13
    was corrupt and should not be used.

v5.0.0-alpha.13

2024-04-16

  • Breaking: Tag unstable new APIs as @ExperimentalOkHttpApi. We intend to release OkHttp 5.0
    without stabilizing these new APIs first.

    Do not use these experimental APIs in modules that may be executed using a version of OkHttp
    different from the version that the module was compiled with. Do not use them in published
    libraries. Do not use them if you aren't willing to track changes to them.

  • Breaking: Drop support for Kotlin Multiplatform.

    We planned to support multiplatform in OkHttp 5.0, but after building it, we weren't happy with
    the implementation trade-offs. We can't use our HTTP client engine on Kotlin/JS, and we weren't
    prepared to build a TLS API for Kotlin/Native.

    We'd prefer a multiplatform HTTP client API that's backed by OkHttp on Android and JVM, and
    other engines on other platforms. [Ktor] does this pretty well today!

  • Breaking: Use kotlin.time.Duration in APIs like OkHttpClient.Builder.callTimeout(). This
    update also drops support for the DurationUnit functions introduced in earlier alpha releases
    of OkHttp 5.

  • Breaking: Reorder the parameters in the Cache constructor that was introduced in 5.0.0-alpha.3.

  • New: Request.Builder.cacheUrlOverride() customizes the cache key used for a request. This can
    be used to make canonical URLs for the cache that omit insignificant query parameters or other
    irrelevant data.

    This feature may be used with POST requests to cache their responses. In such cases the
    request body is not used to determine the cache key, so you must manually add cache-relevant
    data to the override URL. For example, you could add a request-body-sha256 query parameter so
    requests with the same POST data get the same cache entry.

  • New: HttpLoggingInterceptor.redactQueryParams() configures the query parameters to redact
    in logs. For best security, don't put sensitive information in query parameters.

  • New: ConnectionPool.setPolicy() configures a minimum connection pool size for a target
    address. Use this to proactively open HTTP connections.

    Connections opened to fulfill this policy are subject to the connection pool's
    keepAliveDuration but do not count against the pool-wide maxIdleConnections limit.

    This feature increases the client's traffic and the load on the server. Talking to your server's
    operators before adopting it.

  • New in okhttp-android: HttpLoggingInterceptor.androidLogging() and
    LoggingEventListener.androidLogging() write HTTP calls or events to Logcat.

  • New: OkHttpClient.webSocketCloseTimeout configures how long a web socket connection will wait
    for a graceful shutdown before it performs an abrupt shutdown.

  • Fix: Honor RequestBody.isOneShot() in MultipartBody

  • Fix in okhttp-coroutines: Don't leak response bodies in executeAsync(). We had a bug where
    we didn't call Response.close() if the coroutine was canceled before its response was
    returned.

  • Upgrade: [Okio 3.9.0][okio_3_9_0].

  • Upgrade: [Kotlin 1.9.23][kotlin_1_9_23].

  • Upgrade: [Unicode® IDNA 15.1.0][idna_15_1_0]

v5.0.0-alpha.12

2023-12-17

We took too long to cut this release and there's a lot of changes in it. We've been busy.

Although this release is labeled alpha, the only unstable thing in it is our new APIs. This
release has many critical bug fixes and is safe to run in production. We're eager to stabilize our
new APIs so we can get out of alpha.

  • New: Support Java 21's virtual threads (‘OpenJDK Project Loom’). We changed OkHttp's internals
    to use Lock and Condition instead of synchronized for best resource utilization.

  • New: Switch our Internationalized Domain Name (IDN) implementation to [UTS #​46 Nontransitional
    Processing][uts46]. With this fix, the ß code point no longer maps to ss. OkHttp now embeds
    its own IDN mapping table in the library.

  • New: Prefer the client's configured precedence order for TLS cipher suites. (OkHttp used to
    prefer the JDK’s precedence order.) This change may cause your HTTP calls to negotiate a
    different cipher suite than before! OkHttp's defaults cipher suites are selected for good
    security and performance.

  • New: ConnectionListener publishes events for connects, disconnects, and use of pooled
    connections.

  • Fix: Immediately update the connection's flow control window instead of waiting for the
    receiving stream to process it.

    This change may increase OkHttp's memory use for applications that make many concurrent HTTP
    calls and that can receive data faster than they can process it. Previously, OkHttp limited
    HTTP/2 to 16 MiB of unacknowledged data per connection. With this fix there is a limit of 16 MiB
    of unacknowledged data per stream and no per-connection limit.

  • Fix: Don't close a Deflater while we're still using it to compress a web socket message. We
    had a severe bug where web sockets were closed on the wrong thread, which caused
    NullPointerException crashes in Deflater.

  • Fix: Don't crash after a web socket fails its connection upgrade. We incorrectly released
    the web socket's connections back to the pool before their resources were cleaned up.

  • Fix: Don't infinite loop when a received web socket message has self-terminating compressed
    data.

  • Fix: Don't fail the call when the response code is ‘HTTP 102 Processing’ or ‘HTTP 103 Early
    Hints’.

  • Fix: Honor interceptors' changes to connect and read timeouts.

  • Fix: Recover gracefully when a cached response is corrupted on disk.

  • Fix: Don't leak file handles when a cache disk write fails.

  • Fix: Don't hang when the public suffix database cannot be loaded. We had a bug where a failure
    reading the public suffix database would cause subsequent reads to hang when they should have
    crashed.

  • Fix: Avoid InetAddress.getCanonicalHostName() in MockWebServer. This avoids problems if the
    host machine's IP address has additional DNS registrations.

  • New: Create a JPMS-compatible artifact for JavaNetCookieJar. Previously, multiple OkHttp
    artifacts defined classes in the okhttp3 package, but this is forbidden by the Java module
    system. We've fixed this with a new package (okhttp3.java.net.cookiejar) and a new artifact,
    com.squareup.okhttp3:okhttp-java-net-cookiehandler. (The original artifact now delegates to
    this new one.)

    implementation("com.squareup.okhttp3:okhttp-java-net-cookiehandler:5.0.0-alpha.12")
  • New: Cookie.sameSite determines whether cookies should be sent on cross-site requests. This
    is used by servers to defend against Cross-Site Request Forgery (CSRF) attacks.

  • New: Log the total time of the HTTP call in HttpLoggingInterceptor.

  • New: OkHttpClient.Builder now has APIs that use kotlin.time.Duration.

  • New: mockwebserver3.SocketPolicy is now a sealed interface. This is one of several
    backwards-incompatible API changes that may impact early adopters of this alpha API.

  • New: mockwebserver3.Stream for duplex streams.

  • New: mockwebserver3.MockResponseBody for streamed response bodies.

  • New: mockwebserver3.MockResponse is now immutable, with a Builder.

  • New: mockwebserver3.RecordedRequest.handshakeServerNames returns the SNI (Server Name
    Indication) attribute from the TLS handshake.

  • Upgrade: [Kotlin 1.9.21][kotlin_1_9_21].

  • Upgrade: [Okio 3.7.0][okio_3_7_0].


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 these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot changed the title Update okhttp monorepo Update okhttp monorepo to v5.0.0-alpha.13 Apr 17, 2024
@renovate renovate bot force-pushed the renovate/okhttp-monorepo branch from a2500a8 to 6806445 Compare April 18, 2024 02:19
@renovate renovate bot changed the title Update okhttp monorepo to v5.0.0-alpha.13 Update okhttp monorepo to v5.0.0-alpha.14 Apr 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants