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.
New: FileSystem.createDirectories() silently succeeds when creating a directory that already
exists. Use the new mustCreate parameter to trigger an exception instead.
New: FileSystem offers Java-language overloads where appropriate. Previously functions that
had default parameters were potentially awkward to invoke from Java.
New: Timeout.intersectWith() returns a value instead of Unit. This is a binary-incompatible
change. 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 -. Previously
Okio incorrectly returned 0 for this.
Version 3.0.0-alpha.11
2021-10-23
Upgrade: [Kotlin 1.5.31][kotlin_1_5_31].
Upgrade: [kotlinx-datetime 0.3.0][datetime_0_3_0]. (This is a dependency of okio-fakefilesystem
only.)
New: Support creating and accessing symlinks. We were reluctant to include symlinks in our API
(to keep it small!) but decided that supporting them was essential to properly implement
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.0.0.
Changelog
Sourced from okio's changelog.
... (truncated)
Commits
4214975
Prepare for release 3.0.0.cbbb57a
Merge pull request #1061 from square/bquenaudon.2021-10-28.deletemusteddd538
Better deleteRecursivef631599
Merge pull request #1060 from ccjernigan/master9e3f854
Spotless94e034f
support for ubuntu and nodejs73d889f
Fix dependencies of okio-nodefilesystemad1c093
delete#mustExist createDirectory#mustCreate6565389
Document the file system (#1056)c9388b3
Publish a BOM for Okio (#1054)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)