square/okio (com.squareup.okio:okio)
### [`v3.9.0`](https://togithub.com/square/okio/blob/HEAD/CHANGELOG.md#Version-390)
*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`](https://togithub.com/square/okio/blob/HEAD/CHANGELOG.md#Version-380)
*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`](https://togithub.com/square/okio/blob/HEAD/CHANGELOG.md#Version-370)
*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`](https://togithub.com/square/okio/blob/HEAD/CHANGELOG.md#Version-360)
*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`](https://togithub.com/square/okio/blob/HEAD/CHANGELOG.md#Version-350)
*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`](https://togithub.com/square/okio/blob/HEAD/CHANGELOG.md#Version-340)
*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`.
### [`v3.3.0`](https://togithub.com/square/okio/blob/HEAD/CHANGELOG.md#Version-330)
*2023-01-07*
- Fix: Don't leak resources when `use {}` is used with a non-local return. We introduced this
performance and stability bug by not considering that non-local returns execute neither the
`return` nor `catch` control flows.
- Fix: Use a sealed interface for `BufferedSink` and `BufferedSource`. These were never intended
for end-users to implement, and we're happy that Kotlin now allows us to express that in our API.
- New: Change internal locks from `synchronized` to `ReentrantLock` and `Condition`. We expect this
to improve help when using Okio with Java virtual threads (\[Project Loom]\[loom]).
- Upgrade: \[Kotlin 1.8.0]\[kotlin\_1\_8\_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 this update 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.
This PR contains the following updates:
3.2.0
->3.9.0
Release Notes
square/okio (com.squareup.okio:okio)
### [`v3.9.0`](https://togithub.com/square/okio/blob/HEAD/CHANGELOG.md#Version-390) *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`](https://togithub.com/square/okio/blob/HEAD/CHANGELOG.md#Version-380) *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`](https://togithub.com/square/okio/blob/HEAD/CHANGELOG.md#Version-370) *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`](https://togithub.com/square/okio/blob/HEAD/CHANGELOG.md#Version-360) *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`](https://togithub.com/square/okio/blob/HEAD/CHANGELOG.md#Version-350) *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`](https://togithub.com/square/okio/blob/HEAD/CHANGELOG.md#Version-340) *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`. ### [`v3.3.0`](https://togithub.com/square/okio/blob/HEAD/CHANGELOG.md#Version-330) *2023-01-07* - Fix: Don't leak resources when `use {}` is used with a non-local return. We introduced this performance and stability bug by not considering that non-local returns execute neither the `return` nor `catch` control flows. - Fix: Use a sealed interface for `BufferedSink` and `BufferedSource`. These were never intended for end-users to implement, and we're happy that Kotlin now allows us to express that in our API. - New: Change internal locks from `synchronized` to `ReentrantLock` and `Condition`. We expect this to improve help when using Okio with Java virtual threads (\[Project Loom]\[loom]). - Upgrade: \[Kotlin 1.8.0]\[kotlin\_1\_8\_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 this update again.
This PR has been generated by Mend Renovate. View repository job log here.