diff --git a/CHANGELOG.md b/CHANGELOG.md index 9625c88a26e..433e9c884f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,49 @@ 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.33.0] - 2023-04-23 + +### Added + +- feat: Add OpenTelemetry Trace Layer (#2001) +- feat: add if_none_match support for azblob (#2035) +- feat: add if_none_match/if_match for gcs (#2039) +- feat: Add size check for sized writer (#2038) +- feat(services/azblob): Add if-match support (#2037) +- feat(core): add copy&rename to error_context layer (#2040) +- feat: add if-match support for OSS (#2034) +- feat: Bootstrap new (old) project oay (#2041) +- feat(services/OSS): Add override_content_disposition support (#2043) +- feat: add IF_MATCH for http (#2044) +- feat: add IF_MATCH for http HEAD request (#2047) +- feat: add cache control header for azblob and obs (#2049) +- feat: Add capability for operation's variant and args (#2057) +- feat(azblob): Add override_content_disposition support (#2065) +- feat(core): test for read_with_override_content_composition (#2067) +- feat(core): Add `start-after` support for list (#2071) + +### Changed + +- refactor: Polish Writer API by merging append and write together (#2036) +- refactor(raw/http_util): Add url in error context (#2066) +- refactor: Allow reusing the same operator to speed up tests (#2068) + +### Fixed + +- fix(bindings/ruby): use rb_sys_env to help find ruby for building (#2051) +- fix: MadsimLayer should be able to built without cfg (#2059) +- fix(services/s3): Ignore prefix if it's empty (#2064) + +### Docs + +- docs(bindings/python): ipynb examples for users (#2061) + +### CI + +- ci(bindings/nodejs): publish support `--provenance` (#2046) +- ci: upgrade typos to 1.14.8 (#2055) +- chore(bindings/C): ignore the formatting of auto-generated opendal.h (#2056) + ## [v0.32.0] - 2023-04-18 ### Added @@ -1915,6 +1958,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/). Hello, OpenDAL! +[v0.33.0]: https://github.com/apache/incubator-opendal/compare/v0.32.0...v0.33.0 [v0.32.0]: https://github.com/apache/incubator-opendal/compare/v0.31.1...v0.32.0 [v0.31.1]: https://github.com/apache/incubator-opendal/compare/v0.31.0...v0.31.1 [v0.31.0]: https://github.com/apache/incubator-opendal/compare/v0.30.5...v0.31.0 diff --git a/Cargo.lock b/Cargo.lock index 184de518414..0922e6c7287 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2293,7 +2293,7 @@ dependencies = [ [[package]] name = "oay" -version = "0.32.0" +version = "0.33.0" dependencies = [ "anyhow", "clap 4.1.11", @@ -2330,7 +2330,7 @@ dependencies = [ [[package]] name = "object_store_opendal" -version = "0.32.0" +version = "0.33.0" dependencies = [ "async-trait", "bytes", @@ -2342,7 +2342,7 @@ dependencies = [ [[package]] name = "oli" -version = "0.32.0" +version = "0.33.0" dependencies = [ "anyhow", "assert_cmd", @@ -2373,7 +2373,7 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" [[package]] name = "opendal" -version = "0.32.0" +version = "0.33.0" dependencies = [ "anyhow", "async-compat", @@ -2450,7 +2450,7 @@ dependencies = [ [[package]] name = "opendal-nodejs" -version = "0.32.0" +version = "0.33.0" dependencies = [ "futures", "napi", @@ -2461,7 +2461,7 @@ dependencies = [ [[package]] name = "opendal-python" -version = "0.32.0" +version = "0.33.0" dependencies = [ "chrono", "futures", diff --git a/Cargo.toml b/Cargo.toml index 6608e18f6da..75cb0822af3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,7 +40,7 @@ homepage = "https://opendal.apache.org/" license = "Apache-2.0" repository = "https://github.com/apache/incubator-opendal" rust-version = "1.64" -version = "0.32.0" +version = "0.33.0" [workspace.dependencies] -opendal = { version = "0.32", path = "core" } +opendal = { version = "0.33", path = "core" } diff --git a/bindings/nodejs/npm/darwin-arm64/package.json b/bindings/nodejs/npm/darwin-arm64/package.json index f710a1dc6aa..786480e16cb 100644 --- a/bindings/nodejs/npm/darwin-arm64/package.json +++ b/bindings/nodejs/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@opendal/lib-darwin-arm64", - "version": "0.32.0", + "version": "0.33.0", "os": [ "darwin" ], diff --git a/bindings/nodejs/npm/darwin-x64/package.json b/bindings/nodejs/npm/darwin-x64/package.json index accc9b757bf..e8ad56d350f 100644 --- a/bindings/nodejs/npm/darwin-x64/package.json +++ b/bindings/nodejs/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@opendal/lib-darwin-x64", - "version": "0.32.0", + "version": "0.33.0", "os": [ "darwin" ], diff --git a/bindings/nodejs/npm/linux-x64-gnu/package.json b/bindings/nodejs/npm/linux-x64-gnu/package.json index 773341acaf7..d68a41812fa 100644 --- a/bindings/nodejs/npm/linux-x64-gnu/package.json +++ b/bindings/nodejs/npm/linux-x64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@opendal/lib-linux-x64-gnu", - "version": "0.32.0", + "version": "0.33.0", "os": [ "linux" ], diff --git a/bindings/nodejs/npm/win32-x64-msvc/package.json b/bindings/nodejs/npm/win32-x64-msvc/package.json index 2e9ed549b58..65940fa2928 100644 --- a/bindings/nodejs/npm/win32-x64-msvc/package.json +++ b/bindings/nodejs/npm/win32-x64-msvc/package.json @@ -1,6 +1,6 @@ { "name": "@opendal/lib-win32-x64-msvc", - "version": "0.32.0", + "version": "0.33.0", "os": [ "win32" ], diff --git a/bindings/nodejs/package.json b/bindings/nodejs/package.json index af0501de9df..7c36a607df3 100644 --- a/bindings/nodejs/package.json +++ b/bindings/nodejs/package.json @@ -1,7 +1,7 @@ { "name": "opendal", "author": "OpenDAL Contributors ", - "version": "0.32.0", + "version": "0.33.0", "license": "Apache-2.0", "main": "index.js", "types": "index.d.ts", diff --git a/core/src/docs/upgrade.md b/core/src/docs/upgrade.md index 5d3bc7010bb..9959c0e5cae 100644 --- a/core/src/docs/upgrade.md +++ b/core/src/docs/upgrade.md @@ -1,3 +1,20 @@ +# Upgrade to v0.33 + +## Public API + +OpenDAL 0.33 has redesigned the `Writer` API, replacing all instances of `writer.append()` with `writer.write()`. For more information, please refer to [`Writer`](crate::Writer). + +## Raw API + +In addition to the redesign of the `Writer` API, we have removed `append` from `oio::Write`. Therefore, users who implement services and layers should also remove it. + +After v0.33 landing, services should handle `OpWrite::content_length` correctly by following these guidelines: + +- If the writer does not support uploading unsized data, return a response of `NotSupported` if content length is `None`. +- Otherwise, continue writing data until either `close` or `abort` has been called. + +Furthermore, OpenDAL 0.33 introduces a new concept called `Capability` which replaces `AccessorCapability`. Services must adapt to this change. + # Upgrade to v0.32 OpenDAL 0.32 doesn't have much breaking changes.