Skip to content

Update squareup.okio to v3.17.0#1535

Open
renovate[bot] wants to merge 2 commits into
mainfrom
renovate/squareup.okio
Open

Update squareup.okio to v3.17.0#1535
renovate[bot] wants to merge 2 commits into
mainfrom
renovate/squareup.okio

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Jun 1, 2026

This PR contains the following updates:

Package Change Age Confidence
com.squareup.okio:okio 3.3.03.17.0 age confidence

Release Notes

square/okio (com.squareup.okio:okio)

v3.17.0

2026-03-11

  • New: Adjust down the Kotlin stdlib dependency to [Kotlin 2.1.21][kotlin_2_1_21]. Okio is built
    with an up-to-date Kotlin compiler (2.2.21), but depends on an older kotlin-stdlib. We're doing
    this so you can update Okio and Kotlin independently.

  • Fix: Return the correct timestamp in FileMetadata.createdAtMillis on Kotlin/Native on UNIX
    platforms. We were incorrectly using the POSIX ctime (change time) instead of the
    birthtime. With this fix Okio now prefers statx() over stat() on native platforms. This
    API first appeared in Linux in 4.11 (2017) and Android in API 30 (2020).

v3.16.4

2025-11-17

  • Fix: Don't delay triggering timeouts. In 3.16.0 we introduced a regression that caused timeouts
    to fire later than they were supposed to.

v3.16.3

2025-11-14

This release is the same as 3.16.2. We forgot to cherry-pick a commit before we released!

v3.16.2

2025-10-14

  • Fix: okio-assetfilesystem APIs now correctly restored as visible to Kotlin.

v3.16.1

2025-10-09

  • Fix: Don't crash when calling Socket.shutdownOutput() or shutdownInput() on an SSLSocket on
    Android API 21. This method throws an UnsupportedOperationException, so we now catch that and
    close the underlying stream instead.

v3.16.0

2025-07-29

  • Fix: Change Socket.asOkioSocket() to resolve its source InputStream and OutputStream
    eagerly. This will throw a SocketException immediately if the socket isn’t connected.
    This behavior is consistent with our similar APIs, Socket.source() and Socket.sink().

  • Fix: Optimize AsyncTimeout on systems with a very large number of active timeouts. This class
    originally kept active timeouts in a linked list; with this update the internal data structure is
    a binary heap. The old runtime was 𝑂(𝑛²) to activate 𝑛 timeouts; with this optimization the
    runtime is 𝑂(𝑛 log 𝑛).

  • Upgrade: [Kotlin 2.2.0][kotlin_2_2_0].

v3.15.0

2025-07-01

  • Upgrade: [kotlinx-datetime 0.7.0-0.6.x-compat][datetime_0_7_0_compat]. The previous 3.14.0
    release, FakeFileSystem broke binary-compatibility for calls to FakeFileSystem(). This
    restores that compatibility.

  • Breaking: Change FakeFileSystem.clock from a JVM field to a property. This avoids a crash
    running Okio in a Gradle 8.x plugin. This change is not binary-compatible.

v3.14.0

2025-06-28

  • Upgrade: [kotlinx-datetime 0.7.0][datetime_0_7_0]. This impacts the okio-fakefilesystem
    artifact only. This is a binary-incompatible backwards-incompatible change that cannot co-exist
    with previous releases of okio-fakefilesystem! If you observe a NoSuchMethodError calling
    FakeFileSystem.init, update the calling code to this release (or newer) and recompile. We don't
    like imposing backwards-incompatible changes like this on you and do so regretfully.

v3.13.0

2025-06-13

  • New: okio.Socket interface. This is a first step towards low-level streaming networking support
    for Kotlin/Multiplatform. This release provides two JVM-only implementations: asOkioSocket()
    adapts a java.net.Socket to our new interface, and inMemorySocketPair() returns a pair of
    mutually-connected sockets. We also anticipate that this interface will be a useful abstraction
    for proxies and tunnels.
  • New: In-development snapshots are now published to the [Central Portal Snapshots repository].

v3.12.0

2025-05-27

  • New: Support an optional end index when searching with BufferedSource.indexOf().
  • Fix: Don't do unnecessary work in BufferedSource.rangeEquals().
  • Upgrade: [Kotlin 2.1.21][kotlin_2_1_21].

v3.11.0

2025-04-09

  • Fix: Clear the deflater's byte array reference
  • New: Faster implementation of String.decodeHex() on Kotlin/JS.
  • New: Declare EXACTLY_ONCE execution for blocks like Closeable.use {} and FileSystem.read {}.
  • Upgrade: [Kotlin 2.1.20][kotlin_2_1_20].

v3.10.2

Compare Source

2025-01-08

  • Fix: okio-nodefilesystem artifact is no longer empty.

v3.10.1

Compare Source

2025-01-07

  • New: FileSystem.close() may prevent future access and/or clean up associated resources depending on the backing implementation. FakeFileSystem will prevent future operations once closed.
  • InputStreams created from BufferedSource.inputStream() now have a more efficient version of InputStream.transferTo() which reduces memory copies.
  • okio-nodefilesystem is no longer publised as a JS project, but a Kotlin multiplatform project with only a JS target. This change should not affect consumers in any way, and is motivated by the Kotlin Gradle plugin deprecating the JS-only plugin. Please use 3.10.2 to ensure this change actually does not affect your builds.

v3.10.0

Compare Source

2025-01-06

This version is equivalent to the subsequent 3.10.1, but it did not fully publish to Maven Central due to infrastructure problems.

v3.9.1

2024-09-12

  • Fix: Support paths containing a single dot (".") in Path.relativeTo.
  • Fix: Do not read from the upstream source when a 0-byte read is requested.
  • Fix: Update kotlinx.datetime to 0.6.0 to correct a Gradle module metadata problem with 0.5.0.
    Note: this artifact is only used in 'okio-fakefilesystem' and 'okio-nodefilesystem' and not in the Okio core.

v3.9.0

2024-03-12

  • New: FileSystem.SYSTEM can be used in source sets that target both Kotlin/Native and
    Kotlin/JVM. Previously, we had this symbol in each source set but it wasn't available to
    common source sets.
  • New: COpaquePointer.readByteString(...) creates a ByteString from a memory address.
  • New: Support InflaterSource, DeflaterSink, GzipSink, and GzipSource in Kotlin/Native.
  • New: Support openZip() on Kotlin/Native. One known bug in this implementation is that
    FileMetadata.lastModifiedAtMillis() is interpreted as UTC and not the host machine's time zone.
  • New: Prefer NTFS timestamps in ZIP file systems' metadata. This avoids the time zone problems
    of ZIP's built-in DOS timestamps, and the 2038 time bombs of ZIP's extended timestamps.
  • Fix: Don't leak file handles to opened JAR files open in FileSystem.RESOURCES.
  • Fix: Don't throw a NullPointerException if Closeable.use { ... } returns null.

v3.8.0

2024-02-09

  • New: TypedOptions works like Options, but it returns a T rather than an index.
  • Fix: Don't leave sinks open when there's a race in Pipe.fold().

v3.7.0

2023-12-16

  • New: Timeout.cancel() prevents a timeout from firing.
  • Breaking: Drop the watchosX86 Kotlin/Native target. From [the Kotlin blog][watchosX86],
    ‘This is an obsolete simulator for Intel Macs. Use the watchosX64 target instead.’
  • New: Add the watchosDeviceArm64 Kotlin/Native target.
  • New: Timeout APIs that accept kotlin.time.Duration.
  • Upgrade: [Kotlin 1.9.21][kotlin_1_9_21].

v3.6.0

2023-10-01

  • Fix: Don't leak file handles when using metadata functions on ZipFileSystem. We had a bug
    where we were closing the .zip file, but not a stream inside of it. We would have prevented
    this bug if only we’d used FakeFileSystem.checkNoOpenFiles() in our tests!
  • Fix: Don't build an index of a class loader's resources in ResourceFileSystem.read(). This
    operation doesn't need this index, and building it is potentially expensive.
  • New: Experimentally support Linux on ARM64 for Kotlin/Native targets (linuxArm64). Note that
    we haven't yet added CI test coverage for this platform.
  • Upgrade: [Kotlin 1.9.10][kotlin_1_9_10].

v3.5.0

2023-08-02

  • New: Support the WebAssembly (WASM) platform. Okio's support for WASM is experimental, but
    improving, just like Kotlin's own support for WASM.
  • New: Adapt WebAssembly System Interface (WASI) API's as an Okio FileSystem using
    WasiFileSystem. This is in the new okio-wasifilesystem module. It requires the [preview1]
    WASI API. We’ll make backwards-incompatible upgrades to new WASI API versions as they become
    available.
  • Fix: Return relative paths in the NIO adapter FileSystem when required. FileSystem.list()
    had always returned absolute paths, even when the target directory was supplied as a relative
    path.
  • Fix: Don't crash when reading into an empty array using FileHandle on Kotlin/Native.
  • Upgrade: [Kotlin 1.9.0][kotlin_1_9_0].

v3.4.0

2023-07-07

  • New: Adapt a Java NIO FileSystem (java.nio.file.FileSystem) as an Okio FileSystem using
    fileSystem.asOkioFileSystem().
  • New: Adapt Android’s AssetManager as an Okio FileSystem using AssetFileSystem. This is in the
    new okio-assetfilesystem module. Android applications should prefer this over
    FileSystem.RESOURCES as it’s faster to load.
  • Fix: Don't crash decoding GZIP files when the optional extra data (XLEN) is 32 KiB or larger.
  • Fix: Resolve symlinks in FakeFileSystem.canonicalize().
  • Fix: Report the correct createdAtMillis in NodeJsFileSystem file metadata. We were
    incorrectly using ctimeMs, where c means changed, not created.
  • Fix: UnsafeCursor is now Closeable.

Configuration

📅 Schedule: (UTC)

  • 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.


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot requested review from a team and zach-klippenstein as code owners June 1, 2026 20:25
@workflow-pr-fixer workflow-pr-fixer Bot requested a review from a team as a code owner June 1, 2026 20:28
@renovate renovate Bot changed the title Update dependency com.squareup.okio:okio to v3.17.0 Update squareup.okio to v3.17.0 Jun 2, 2026
@renovate renovate Bot force-pushed the renovate/squareup.okio branch 4 times, most recently from b422483 to db0675a Compare June 4, 2026 21:00
@steve-the-edwards steve-the-edwards force-pushed the renovate/squareup.okio branch from a4735d2 to c0cbca7 Compare June 5, 2026 20:39
@renovate renovate Bot force-pushed the renovate/squareup.okio branch from c0cbca7 to 4c58577 Compare June 5, 2026 20:44
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

1 participant