Bump to version 0.16 (#659)
* Bump to version 0.16
Signed-off-by: Xuanwo <github@xuanwo.io>
* Fix lonk
Signed-off-by: Xuanwo <github@xuanwo.io>
Signed-off-by: Xuanwo <github@xuanwo.io>
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 82e173f..9856a1e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,41 @@
The format is based on [Keep a Changelog](https://keepachangelog.com/)
and this project adheres to [Semantic Versioning](https://semver.org/).
+## [v0.16.0] - 2022-09-12
+
+### Added
+
+- feat: Implement tests for read-only services (#634)
+- feat(services/ftp): Implemented multi connection (#637)
+- feat: Finalize FTP read operation (#644)
+- feat: Implement service for IPFS HTTP Gateway (#645)
+- feat: Add ImmutableIndexLayer (#651)
+- feat: derive Hash for Scheme (#653)
+- feat(services/ftp): Setup integration tests (#648)
+
+### Changed
+
+- refactor: Migrate all behavior tests to capability based (#635)
+- refactor: Remove list support from http service (#639)
+- refactor: Replace isahc with reqwest and ureq (#642)
+
+## Deps
+
+- deps: Bump reqsign to v0.4 (#643)
+- deps: Remove not used features (#658)
+- chore(deps): Update criterion requirement from 0.3 to 0.4 (#656)
+- chore(deps): Update quick-xml requirement from 0.24 to 0.25 (#657)
+
+### Docs
+
+- docs: Add docs for ipfs (#649)
+- docs: Fix typo (#650)
+- docs: Add docs for ftp services (#655)
+
+## RFCs
+
+- RFC-0623: Redis Service (#623)
+
## [v0.15.0] - 2022-09-05
### Added
@@ -649,6 +684,7 @@
Hello, OpenDAL!
+[v0.16.0]: https://github.com/datafuselabs/opendal/compare/v0.15.0...v0.16.0
[v0.15.0]: https://github.com/datafuselabs/opendal/compare/v0.14.1...v0.15.0
[v0.14.1]: https://github.com/datafuselabs/opendal/compare/v0.14.0...v0.14.1
[v0.14.0]: https://github.com/datafuselabs/opendal/compare/v0.13.1...v0.14.0
diff --git a/Cargo.toml b/Cargo.toml
index 0b9bcd5..90fd8cc 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -9,7 +9,7 @@
license = "Apache-2.0"
name = "opendal"
repository = "https://github.com/datafuselabs/opendal"
-version = "0.15.0"
+version = "0.16.0"
[package.metadata.docs.rs]
all-features = true
diff --git a/docs/upgrade.md b/docs/upgrade.md
index 519c1ae..d581ae2 100644
--- a/docs/upgrade.md
+++ b/docs/upgrade.md
@@ -2,6 +2,33 @@
This document intends to record upgrade and migrate procedures while OpenDAL meets breaking changes.
+## Upgrade to v0.16
+
+OpenDAL v0.16 refactor the internal implementation of `http` service. Since v0.16, http service can be used directly without enabling `services-http` feature. Accompany by these changes, http service has the following breaking changes:
+
+- `services-http` feature has been deprecated. Enabling `services-http` is a no-op now.
+- http service is read only services and can't be used to `list` or `write`.
+
+OpenDAL introduces a new layer `ImmutableIndexLayer` that can add `list` capability for services:
+
+```rust
+use opendal::layers::ImmutableIndexLayer;
+use opendal::Operator;
+use opendal::Scheme;
+
+async fn main() {
+ let mut iil = ImmutableIndexLayer::default();
+
+ for i in ["file", "dir/", "dir/file", "dir_without_prefix/file"] {
+ iil.insert(i.to_string())
+ }
+
+ let op = Operator::from_env(Scheme::Http)?.layer(iil);
+}
+```
+
+For more information about this change, please refer to [RFC-0627: Split Capabilities](https://opendal.databend.rs/rfcs/0627-split-capabilities.html).
+
## Upgrade to v0.14
OpenDAL v0.14 removed all deprecated APIs in previous versions, including:
diff --git a/oay/Cargo.lock b/oay/Cargo.lock
index d513a5a..47d4b91 100644
--- a/oay/Cargo.lock
+++ b/oay/Cargo.lock
@@ -1092,7 +1092,7 @@
[[package]]
name = "oay"
-version = "0.15.0"
+version = "0.16.0"
dependencies = [
"actix-web",
"anyhow",
@@ -1114,7 +1114,7 @@
[[package]]
name = "opendal"
-version = "0.15.0"
+version = "0.16.0"
dependencies = [
"anyhow",
"async-compat",
diff --git a/oay/Cargo.toml b/oay/Cargo.toml
index 074de1b..b66a683 100644
--- a/oay/Cargo.toml
+++ b/oay/Cargo.toml
@@ -8,7 +8,7 @@
license = "Apache-2.0"
name = "oay"
repository = "https://github.com/datafuselabs/opendal"
-version = "0.15.0"
+version = "0.16.0"
[dependencies]
actix-web = "4.1"
@@ -17,7 +17,7 @@
env_logger = "0.9"
futures = "0.3"
log = "0.4"
-opendal = "0.15.0"
+opendal = "0.16.0"
percent-encoding = "2.1"
sluice = "0.5.5"
tokio = { version = "1.20", features = ["rt-multi-thread", "macros"] }
diff --git a/oli/Cargo.lock b/oli/Cargo.lock
index 5c19cb8..418f62e 100644
--- a/oli/Cargo.lock
+++ b/oli/Cargo.lock
@@ -753,7 +753,7 @@
[[package]]
name = "oli"
-version = "0.15.0"
+version = "0.16.0"
dependencies = [
"anyhow",
"clap",
@@ -770,7 +770,7 @@
[[package]]
name = "opendal"
-version = "0.15.0"
+version = "0.16.0"
dependencies = [
"anyhow",
"async-compat",
diff --git a/oli/Cargo.toml b/oli/Cargo.toml
index 0b8ffeb..5f23c2a 100644
--- a/oli/Cargo.toml
+++ b/oli/Cargo.toml
@@ -8,14 +8,14 @@
license = "Apache-2.0"
name = "oli"
repository = "https://github.com/datafuselabs/opendal"
-version = "0.15.0"
+version = "0.16.0"
[dependencies]
anyhow = "1.0"
clap = { version = "3.2", features = ["cargo"] }
env_logger = "0.9"
log = "0.4"
-opendal = "0.15.0"
+opendal = "0.16.0"
# Please comment the following patch while releasing.
[patch.crates-io]