chore(deps): update dependency com.squareup.okio:okio to v3#849
Open
renovate[bot] wants to merge 1 commit into8.0.xfrom
Open
chore(deps): update dependency com.squareup.okio:okio to v3#849renovate[bot] wants to merge 1 commit into8.0.xfrom
renovate[bot] wants to merge 1 commit into8.0.xfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
2.8.0→3.16.4Release Notes
square/okio (com.squareup.okio:okio)
v3.16.42025-11-17
to fire later than they were supposed to.
v3.16.32025-11-14
This release is the same as 3.16.2. We forgot to cherry-pick a commit before we released!
v3.16.22025-10-14
okio-assetfilesystemAPIs now correctly restored as visible to Kotlin.v3.16.12025-10-09
Socket.shutdownOutput()orshutdownInput()on anSSLSocketonAndroid API 21. This method throws an
UnsupportedOperationException, so we now catch that andclose the underlying stream instead.
v3.16.02025-07-29
Fix: Change
Socket.asOkioSocket()to resolve its sourceInputStreamandOutputStreameagerly. This will throw a
SocketExceptionimmediately if the socket isn’t connected.This behavior is consistent with our similar APIs,
Socket.source()andSocket.sink().Fix: Optimize
AsyncTimeouton systems with a very large number of active timeouts. This classoriginally 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.02025-07-01
Upgrade: [kotlinx-datetime 0.7.0-0.6.x-compat][datetime_0_7_0_compat]. The previous 3.14.0
release,
FakeFileSystembroke binary-compatibility for calls toFakeFileSystem(). Thisrestores that compatibility.
Breaking: Change
FakeFileSystem.clockfrom a JVM field to a property. This avoids a crashrunning Okio in a Gradle 8.x plugin. This change is not binary-compatible.
v3.14.02025-06-28
okio-fakefilesystemartifact only. This is a binary-incompatible backwards-incompatible change that cannot co-exist
with previous releases of
okio-fakefilesystem! If you observe aNoSuchMethodErrorcallingFakeFileSystem.init, update the calling code to this release (or newer) and recompile. We don'tlike imposing backwards-incompatible changes like this on you and do so regretfully.
v3.13.02025-06-13
okio.Socketinterface. This is a first step towards low-level streaming networking supportfor Kotlin/Multiplatform. This release provides two JVM-only implementations:
asOkioSocket()adapts a
java.net.Socketto our new interface, andinMemorySocketPair()returns a pair ofmutually-connected sockets. We also anticipate that this interface will be a useful abstraction
for proxies and tunnels.
v3.12.02025-05-27
BufferedSource.indexOf().BufferedSource.rangeEquals().v3.11.02025-04-09
String.decodeHex()on Kotlin/JS.EXACTLY_ONCEexecution for blocks likeCloseable.use {}andFileSystem.read {}.v3.10.2Compare Source
2025-01-08
okio-nodefilesystemartifact is no longer empty.v3.10.1Compare Source
2025-01-07
FileSystem.close()may prevent future access and/or clean up associated resources depending on the backing implementation.FakeFileSystemwill prevent future operations once closed.InputStreams created fromBufferedSource.inputStream()now have a more efficient version ofInputStream.transferTo()which reduces memory copies.okio-nodefilesystemis 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.0Compare 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.12024-09-12
Path.relativeTo.Note: this artifact is only used in 'okio-fakefilesystem' and 'okio-nodefilesystem' and not in the Okio core.
v3.9.02024-03-12
FileSystem.SYSTEMcan be used in source sets that target both Kotlin/Native andKotlin/JVM. Previously, we had this symbol in each source set but it wasn't available to
common source sets.
COpaquePointer.readByteString(...)creates a ByteString from a memory address.InflaterSource,DeflaterSink,GzipSink, andGzipSourcein Kotlin/Native.FileMetadata.lastModifiedAtMillis()is interpreted as UTC and not the host machine's time zone.of ZIP's built-in DOS timestamps, and the 2038 time bombs of ZIP's extended timestamps.
FileSystem.RESOURCES.NullPointerExceptionifCloseable.use { ... }returns null.v3.8.02024-02-09
TypedOptionsworks likeOptions, but it returns aTrather than an index.Pipe.fold().v3.7.02023-12-16
Timeout.cancel()prevents a timeout from firing.watchosX86Kotlin/Native target. From [the Kotlin blog][watchosX86],‘This is an obsolete simulator for Intel Macs. Use the watchosX64 target instead.’
watchosDeviceArm64Kotlin/Native target.TimeoutAPIs that acceptkotlin.time.Duration.v3.6.02023-10-01
metadatafunctions onZipFileSystem. We had a bugwhere we were closing the
.zipfile, but not a stream inside of it. We would have preventedthis bug if only we’d used
FakeFileSystem.checkNoOpenFiles()in our tests!ResourceFileSystem.read(). Thisoperation doesn't need this index, and building it is potentially expensive.
linuxArm64). Note thatwe haven't yet added CI test coverage for this platform.
v3.5.02023-08-02
improving, just like Kotlin's own support for WASM.
WasiFileSystem. This is in the newokio-wasifilesystemmodule. It requires the [preview1]WASI API. We’ll make backwards-incompatible upgrades to new WASI API versions as they become
available.
FileSystem.list()had always returned absolute paths, even when the target directory was supplied as a relative
path.
FileHandleon Kotlin/Native.v3.4.02023-07-07
java.nio.file.FileSystem) as an Okio FileSystem usingfileSystem.asOkioFileSystem().AssetManageras an Okio FileSystem usingAssetFileSystem. This is in thenew
okio-assetfilesystemmodule. Android applications should prefer this overFileSystem.RESOURCESas it’s faster to load.XLEN) is 32 KiB or larger.FakeFileSystem.canonicalize().createdAtMillisinNodeJsFileSystemfile metadata. We wereincorrectly using
ctimeMs, wherecmeans changed, not created.UnsafeCursoris nowCloseable.v3.3.02023-01-07
use {}is used with a non-local return. We introduced thisperformance and stability bug by not considering that non-local returns execute neither the
returnnorcatchcontrol flows.BufferedSinkandBufferedSource. These were never intendedfor end-users to implement, and we're happy that Kotlin now allows us to express that in our API.
synchronizedtoReentrantLockandCondition. We expect thisto improve help when using Okio with Java virtual threads ([Project Loom][loom]).
v3.2.02022-06-26
com.squareup.okio:okio:3.x.x) to depend on theJVM artifact (
com.squareup.okio:okio-jvm:3.x.x) for Maven builds. This should work-around anissue where Maven doesn't interpret Gradle metadata.
CipherSourceandCipherSinkto recover if the cipher doesn't support streaming.This should work around a crash with AES/GCM ciphers on Android.
v3.1.02022-04-19
multiplatform project please upgrade your project to Kotlin 1.6.20 (or newer) to take advantage
of this. With hierarchical projects it's easier to use properties like
FileSystem.SYSTEMthatare available on most Okio platforms but not all of them.
ForwardingSourceis now available on all platforms.watchosX64platform is now supported.FileSystem.openZip().canonicalize()of ZIP file systems if the path doesn't exist.okio.ProtocolExceptionis a new exception type for multiplatform users. (It is aliased tojava.net.ProtocolExceptionon JVM platforms).v3.0.02021-10-28
This is the first stable release of Okio 3.x. This release is strongly backwards-compatible with
Okio 2.x, and the new major version signifies new capabilities more than it does backwards
incompatibility.
Most users should be able to upgrade from 2.x by just changing the version. If you're using Okio
in a Kotlin Multiplatform project, you'll need to drop the
-multiplatformsuffix in your Gradledependencies.
New: Remove
@ExperimentalFileSystem. This annotation is no longer necessary as the file systemis no longer experimental!
New: Path no longer aggressively normalizes
..segments. UsePath.normalize()to apply thesebased on the content of the path, or
FileSystem.canonicalize()to do it honoring any symlinkson a particular file system.
New: Publish a [bill of materials (BOM)][bom] for Okio. Depend on this from Gradle or Maven to
keep all of your Okio artifacts on the same version, even if they're declared via transitive
dependencies. You can even omit versions when declaring other Okio dependencies.
dependencies { api(platform("com.squareup.okio:okio-bom:3.0.0")) api("com.squareup.okio:okio") // No version! api("com.squareup.okio:okio-fakefilesystem") // No version! }New:
FileSystem.delete()silently succeeds when deleting a file that doesn't exist. Usethe new
mustExistparameter to trigger an exception instead.New:
FileSystem.createDirectories()silently succeeds when creating a directory that alreadyexists. Use the new
mustCreateparameter to trigger an exception instead.New:
FileSystemoffers Java-language overloads where appropriate. Previously functions thathad default parameters were potentially awkward to invoke from Java.
New:
Timeout.intersectWith()returns a value instead ofUnit. This is a binary-incompatiblechange. We expect that this public API is very rarely used outside of Okio itself.
Fix: Change
BufferedSource.readDecimalLong()to fail if the input value is just-. PreviouslyOkio incorrectly returned
0for this.v2.10.02021-01-07
HashingSource,HashingSink, buffer hash functions, andUnsafeCursoron non-JVMplatforms. Previously these were all JVM-only.
CloseableonSinkandSourceon non-JVM platforms. Okio now includes amultiplatform
okio.Closeableinterface and correspondinguse {}extension. Closing resourceswhen you're done with them shouldn't be JVM-only!
Sink.hashingSinkandSource.hashingSourcefunctions that acceptjava.security.MessageDigestandjavax.crypto.Macinstances. Use these when your hash functionisn't built-in.
ShortBufferExceptioninCipherSinkandCipherSourceon Android.(Android may throw a
ShortBufferExceptioneven if the buffer is not too short. We nowavoid this problem!)
v2.9.02020-10-04
Bufferwhen writing a slice of a segmentedByteString. We had a severebug where
ByteStringinstances created withsnapshot()andreadByteString()incorrectlyadjusted the buffer's size by their full length, not the length of the slice. This would have
caused buffer reads to crash! We do not believe data was silently corrupted.
CipherSinkandCipherSource. Use these withjavax.crypto.Cipherto encrypt and decryptstreams of data. This is a low-level encryption API; most applications should use higher-level
APIs like TLS when available.
md5,sha1(),sha512(), andsha256()to common Kotlin. Theseare currently only available on
ByteString, multiplatform support forHashingSource,HashingSink, andBuffershould come in a follow-up release. We wrote and optimized our ownimplementations of these hash functions in Kotlin. On JVM and Android platforms Okio still uses
the platform's built-in hash functions.
Configuration
📅 Schedule: Branch creation - "after 10pm" in timezone Europe/Prague, 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.