From f824e9875d36efcb5592a3a203616be475a5fde1 Mon Sep 17 00:00:00 2001 From: Xuanwo Date: Wed, 22 Feb 2023 14:35:25 +0800 Subject: [PATCH] Bump version to 0.28 (#1401) Bump to version 0.28 Signed-off-by: Xuanwo --- CHANGELOG.md | 19 +++++++++++++++++++ Cargo.toml | 2 +- binaries/oay/Cargo.lock | 2 +- binaries/oay/Cargo.toml | 2 +- binaries/oli/Cargo.lock | 2 +- binaries/oli/Cargo.toml | 2 +- bindings/nodejs/Cargo.toml | 2 +- bindings/object_store/Cargo.toml | 2 +- bindings/python/Cargo.toml | 2 +- src/docs/upgrade.md | 14 ++++++++++++++ src/object/object.rs | 32 ++++++++++++-------------------- 11 files changed, 53 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e748bb4f91..226a257e0ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/) and this project adheres to [Semantic Versioning](https://semver.org/). +## [v0.28.0] - 2023-02-22 + +### Added + +- feat: add dashmap support (#1390) + +### Changed + +- refactor: Implement query based object metadata cache (#1395) +- refactor: Store complete inside bits and add more examples (#1397) +- refactor: Trigger panic if users try to visit not fetched metadata (#1399) +- refactor: Polish the implement of Query Based Metadata Cache (#1400) + +### Docs + +- RFC-1391: Object Metadataer (#1391) +- RFC-1398: Query Based Metadata (#1398) + ## [v0.27.2] - 2023-02-20 ### Added @@ -1396,6 +1414,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/). Hello, OpenDAL! +[v0.28.0]: https://github.com/datafuselabs/opendal/compare/v0.27.2...v0.28.0 [v0.27.2]: https://github.com/datafuselabs/opendal/compare/v0.27.1...v0.27.2 [v0.27.1]: https://github.com/datafuselabs/opendal/compare/v0.27.0...v0.27.1 [v0.27.0]: https://github.com/datafuselabs/opendal/compare/v0.26.2...v0.27.0 diff --git a/Cargo.toml b/Cargo.toml index 739bfd1c615..392c9f9f9c7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ keywords = ["storage", "fs", "s3", "azblob", "gcs"] license = "Apache-2.0" name = "opendal" repository = "https://github.com/datafuselabs/opendal" -version = "0.27.2" +version = "0.28.0" # MSRV of OpenDAL. Please update this field while bump. rust-version = "1.60" diff --git a/binaries/oay/Cargo.lock b/binaries/oay/Cargo.lock index 5349235427f..cc5dd6d3052 100644 --- a/binaries/oay/Cargo.lock +++ b/binaries/oay/Cargo.lock @@ -1173,7 +1173,7 @@ checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" [[package]] name = "opendal" -version = "0.27.2" +version = "0.28.0" dependencies = [ "anyhow", "async-compat", diff --git a/binaries/oay/Cargo.toml b/binaries/oay/Cargo.toml index 0f689093a8e..9bcb77ab824 100644 --- a/binaries/oay/Cargo.toml +++ b/binaries/oay/Cargo.toml @@ -17,7 +17,7 @@ clap = { version = "4", features = ["cargo"] } env_logger = "0.10" futures = "0.3" log = "0.4" -opendal = { version = "0.27", path = "../../" } +opendal = { version = "0.28", path = "../../" } percent-encoding = "2" sluice = "0.5" tokio = { version = "1.20", features = ["rt-multi-thread", "macros"] } diff --git a/binaries/oli/Cargo.lock b/binaries/oli/Cargo.lock index c997206d039..0cde0aaf566 100644 --- a/binaries/oli/Cargo.lock +++ b/binaries/oli/Cargo.lock @@ -880,7 +880,7 @@ checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" [[package]] name = "opendal" -version = "0.27.2" +version = "0.28.0" dependencies = [ "anyhow", "async-compat", diff --git a/binaries/oli/Cargo.toml b/binaries/oli/Cargo.toml index 3d4387d2cde..e0990e33495 100644 --- a/binaries/oli/Cargo.toml +++ b/binaries/oli/Cargo.toml @@ -15,7 +15,7 @@ anyhow = "1" clap = { version = "4", features = ["cargo", "string"] } env_logger = "0.10" log = "0.4" -opendal = { version = "0.27", path = "../../" } +opendal = { version = "0.28", path = "../../" } tokio = { version = "1.20", features = ["fs", "macros", "rt-multi-thread"] } [dev-dependencies] diff --git a/bindings/nodejs/Cargo.toml b/bindings/nodejs/Cargo.toml index 9b6a52abd90..ab35aa33f0d 100644 --- a/bindings/nodejs/Cargo.toml +++ b/bindings/nodejs/Cargo.toml @@ -9,7 +9,7 @@ crate-type = ["cdylib"] [dependencies] napi = "2" napi-derive = "2" -opendal = { version = "0.27", path = "../../" } +opendal = { version = "0.28", path = "../../" } [build-dependencies] napi-build = "2" diff --git a/bindings/object_store/Cargo.toml b/bindings/object_store/Cargo.toml index 811f25a3e1b..0b2b9445105 100644 --- a/bindings/object_store/Cargo.toml +++ b/bindings/object_store/Cargo.toml @@ -14,7 +14,7 @@ bytes = "1" chrono = "0.4.23" futures = "0.3" object_store = "0.5" -opendal = { version = "0.27", path = "../../" } +opendal = { version = "0.28", path = "../../" } tokio = "1" [dev-dependencies] diff --git a/bindings/python/Cargo.toml b/bindings/python/Cargo.toml index 92652f28c54..58de0af0444 100644 --- a/bindings/python/Cargo.toml +++ b/bindings/python/Cargo.toml @@ -8,5 +8,5 @@ crate-type = ["cdylib"] name = "opendal" [dependencies] -opendal = { version = "0.27", path = "../../" } +opendal = { version = "0.28", path = "../../" } pyo3 = { version = "0.18", features = ["extension-module"] } diff --git a/src/docs/upgrade.md b/src/docs/upgrade.md index 26be79f4d60..add34e6d52c 100644 --- a/src/docs/upgrade.md +++ b/src/docs/upgrade.md @@ -1,3 +1,17 @@ +# Upgrade to v0.28 + +In v0.28, we introduced [Query Based Metadata][crate::docs::rfcs::rfc_1398_query_based_metadata]. Users can query cached metadata with [`ObjectMetakey`][crate::ObjectMetakey] to make sure that OpenDAL always makes the best decision. + +```diff +- pub async fn metadata(&self) -> Result; ++ pub async fn metadata( ++ &self, ++ flags: impl Into>, ++ ) -> Result>; +``` + +Please visit [`Object::metadata()`][crate::Object::metadata()]'s example for more details. + # Upgrade to v0.27 In v0.27, we refactored our `list` related logic and added `scan` support. So make `Pager` and `BlockingPager` associated types in `Accessor` too! diff --git a/src/object/object.rs b/src/object/object.rs index 2314971dfa4..11bc6d09903 100644 --- a/src/object/object.rs +++ b/src/object/object.rs @@ -1121,12 +1121,10 @@ impl Object { /// /// - Want detect the outside changes of object. /// - Don't want to read from cached object metadata. - /// - No repeated stat call will be sent to the same object. /// - /// You may want to use `metadata`, if you: - /// - /// - Are working with objects returned by [`ObjectLister`]. It's highly possible that metadata you want has already been cached. - /// - Are working with the same object instance. + /// You may want to use `metadata` if you are working with objects + /// returned by [`ObjectLister`]. It's highly possible that metadata + /// you want has already been cached. /// /// # Examples /// @@ -1161,12 +1159,10 @@ impl Object { /// /// - Want detect the outside changes of object. /// - Don't want to read from cached object metadata. - /// - No repeated stat call will be sent to the same object. - /// - /// You may want to use `metadata`, if you: /// - /// - Are working with objects returned by [`ObjectLister`]. It's highly possible that metadata you want has already been cached. - /// - Are working with the same object instance. + /// You may want to use `metadata` if you are working with objects + /// returned by [`ObjectLister`]. It's highly possible that metadata + /// you want has already been cached. /// /// # Examples /// @@ -1199,16 +1195,14 @@ impl Object { /// /// # Notes /// - /// Use `metadata` if you: - /// - /// - Are working with objects returned by [`ObjectLister`]. It's highly possible that metadata you want has already been cached. - /// - Are working with the same object instance. + /// Use `metadata` if you are working with objects returned by + /// [`ObjectLister`]. It's highly possible that metadata you want + /// has already been cached. /// /// You may want to use `stat`, if you: /// /// - Want detect the outside changes of object. /// - Don't want to read from cached object metadata. - /// - No repeated stat call will be sent to the same object. /// /// # Behavior /// @@ -1303,16 +1297,14 @@ impl Object { /// /// # Notes /// - /// Use `metadata` if you: - /// - /// - Are working with objects returned by [`ObjectLister`]. It's highly possible that metadata you want has already been cached. - /// - Are working with the same object instance. + /// Use `metadata` if you are working with objects returned by + /// [`ObjectLister`]. It's highly possible that metadata you want + /// has already been cached. /// /// You may want to use `stat`, if you: /// /// - Want detect the outside changes of object. /// - Don't want to read from cached object metadata. - /// - No repeated stat call will be sent to the same object. /// /// # Behavior ///