New: Support [Hierarchical project structure][hierarchical_projects]. If you're using Okio in a
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.SYSTEM that
are available on most Okio platforms but not all of them.
New: ForwardingSource is now available on all platforms.
New: The watchosX64 platform is now supported.
Fix: Don't crash in `NSData.toByteString()' when the input is empty.
Fix: Support empty ZIP files in FileSystem.openZip().
Fix: Throw in canonicalize() of ZIP file systems if the path doesn't exist.
Fix: Don't require ZIP files start with a local file header.
New: okio.ProtocolException is a new exception type for multiplatform users. (It is aliased to
java.net.ProtocolException on JVM platforms).
Version 3.0.0
2021-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 -multiplatform suffix in your Gradle
dependencies.
New: Remove @ExperimentalFileSystem. This annotation is no longer necessary as the file system
is no longer experimental!
New: Path no longer aggressively normalizes .. segments. Use Path.normalize() to apply these
based on the content of the path, or FileSystem.canonicalize() to do it honoring any symlinks
on 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. Use
the new mustExist parameter to trigger an exception instead.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps okio from 2.10.0 to 3.1.0.
Changelog
Sourced from okio's changelog.
... (truncated)
Commits
60db130
Prepare for release 3.1.0.533e019
Support Kotlin Hierarchical Project structure (#980)ede888f
Merge pull request #1107 from MJegorovas/fixNSDataToByteString4766fe7
Use ByteString.EMPTY in assert80d936e
Use ByteString.EMPTY1ce2370
Fix 'NSData.toByteString'22b5ed9
Support mounting empty zips as a FileSystem (#1105)29559b4
Merge pull request #1104 from square/jw/zip-canon/2022-03-221397be2
Throw on canonincalization of paths which do not existsfe76896
Merge pull request #1103 from square/jw/workarounds/2022-03-21Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)