diff --git a/CHANGELOG.md b/CHANGELOG.md
index 398b8d2bd62..1bbe4df10d5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,73 @@ 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.41.0] - 2023-10-08
+
+### Added
+* feat: allow using `prometheus-client` crate with PrometheusClientLayer by @flaneur2020 in https://github.com/apache/incubator-opendal/pull/3134
+* feat(binding/java): support info ops by @G-XD in https://github.com/apache/incubator-opendal/pull/3154
+* test(binding/java): add behavior test framework by @G-XD in https://github.com/apache/incubator-opendal/pull/3129
+* feat: Include starting offset for GHAC upload Content-Range by @huonw in https://github.com/apache/incubator-opendal/pull/3163
+* feat(bindings/cpp): make ReaderStream manage the lifetime of Reader by @silver-ymz in https://github.com/apache/incubator-opendal/pull/3164
+* feat: Enable multi write for ghac by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3165
+* feat: Add mysql support for OpenDAL by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3170
+* feat(service/postgresql): support connection pool by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3176
+* feat(services/ghac): Allow explicitly setting ghac endpoint/token, not just env vars by @huonw in https://github.com/apache/incubator-opendal/pull/3177
+* feat(service/azdls): add append support for azdls by @dqhl76 in https://github.com/apache/incubator-opendal/pull/3186
+* feat(bindings/python): Enable `BlockingLayer` for non-blocking services that don't support blocking by @messense in https://github.com/apache/incubator-opendal/pull/3198
+* feat: Add write_can_empty in Capability and related tests by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3200
+* feat: Add basic support for bindings/go using CGO by @jiaoew1991 in https://github.com/apache/incubator-opendal/pull/3204
+* feat(binding/java): add `copy` test by @G-XD in https://github.com/apache/incubator-opendal/pull/3207
+* feat(service/sqlite): Support sqlite for opendal by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3212
+* feat(services/sqlite): Support blocking_get/set/delete in sqlite service by @Zheaoli in https://github.com/apache/incubator-opendal/pull/3218
+* feat(oay): port `WebdavFs` to dav-server-fs-opendal by @Young-Flash in https://github.com/apache/incubator-opendal/pull/3119
+### Changed
+* refactor(services/dropbox): Use OpWrite instead of passing all args as parameters by @ImSingee in https://github.com/apache/incubator-opendal/pull/3126
+* refactor(binding/java): read should return bytes by @tisonkun in https://github.com/apache/incubator-opendal/pull/3153
+* refactor(bindings/java)!: operator jni calls by @tisonkun in https://github.com/apache/incubator-opendal/pull/3166
+* refactor(tests): reuse function to remove duplicate code by @zhao-gang in https://github.com/apache/incubator-opendal/pull/3219
+### Fixed
+* fix(tests): Create test files one by one instead of concurrently by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3132
+* chore(ci): fix web identity token path for aws s3 assume role test by @everpcpc in https://github.com/apache/incubator-opendal/pull/3141
+* fix(services/s3): Detect region returned too early when header is empty by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3187
+* fix: making OpenDAL compilable on 32hf platforms by @ClSlaid in https://github.com/apache/incubator-opendal/pull/3188
+* fix(binding/java): decode Java’s modified UTF-8 format by @G-XD in https://github.com/apache/incubator-opendal/pull/3195
+### Docs
+* docs(release): describe how to close the Nexus staging repo by @tisonkun in https://github.com/apache/incubator-opendal/pull/3125
+* docs: update release docs for cpp and haskell bindings by @silver-ymz in https://github.com/apache/incubator-opendal/pull/3130
+* docs: Polish VISION to make it more clear by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3135
+* docs: Add start tracking issues about the next release by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3145
+* docs: Add download link for 0.40.0 by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3149
+* docs(bindings/cpp): add more using details about cmake by @silver-ymz in https://github.com/apache/incubator-opendal/pull/3155
+* docs(bindings/java): Added an example of adding dependencies using Gradle by @eastack in https://github.com/apache/incubator-opendal/pull/3158
+* docs: include disclaimer in announcement template by @Venderbad in https://github.com/apache/incubator-opendal/pull/3172
+* docs: Add pants as a user by @huonw in https://github.com/apache/incubator-opendal/pull/3180
+* docs: Add basic readme for go binding by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3206
+* docs: add multilingual getting started by @tisonkun in https://github.com/apache/incubator-opendal/pull/3214
+* docs: multiple improvements by @tisonkun in https://github.com/apache/incubator-opendal/pull/3215
+* docs: Add verify script by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3239
+### CI
+* ci: Align tags with semver specs by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3136
+* ci: Migrate obs to databend labs sponsored bucket by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3137
+* build(bindings/java): support develop with JDK 21 by @tisonkun in https://github.com/apache/incubator-opendal/pull/3140
+* ci: Migrate GCS to Databend Labs sponsored bucket by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3142
+* build(bindings/java): upgrade maven wrapper version by @tisonkun in https://github.com/apache/incubator-opendal/pull/3167
+* build(bindings/java): support explicit cargo build target by @tisonkun in https://github.com/apache/incubator-opendal/pull/3168
+* ci: Pin Kvrocks docker image to 2.5.1 to avoid test failure by @git-hulk in https://github.com/apache/incubator-opendal/pull/3192
+* ci(bindings/ocaml): add doc by @Ranxy in https://github.com/apache/incubator-opendal/pull/3208
+* build(deps): bump actions/checkout from 3 to 4 by @dependabot in https://github.com/apache/incubator-opendal/pull/3222
+* build(deps): bump korandoru/hawkeye from 3.3.0 to 3.4.0 by @dependabot in https://github.com/apache/incubator-opendal/pull/3223
+* build(deps): bump rusqlite from 0.25.4 to 0.29.0 by @dependabot in https://github.com/apache/incubator-opendal/pull/3226
+### Chore
+* chore(bindings/haskell): add rpath to haskell linker option by @silver-ymz in https://github.com/apache/incubator-opendal/pull/3128
+* chore(ci): add test for aws s3 assume role by @everpcpc in https://github.com/apache/incubator-opendal/pull/3139
+* chore: Incorrect debug information by @OmAximani0 in https://github.com/apache/incubator-opendal/pull/3183
+* chore: bump quick-xml version to 0.30 by @Venderbad in https://github.com/apache/incubator-opendal/pull/3190
+* chore: Let's welcome the contributors from hacktoberfest! by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3193
+* chore(bindings/java): simplify library path resolution by @tisonkun in https://github.com/apache/incubator-opendal/pull/3196
+* chore: Make clippy happy by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3229
+
+
## [v0.40.0] - 2023-09-18
### Added
@@ -2764,6 +2831,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
Hello, OpenDAL!
+[v0.41.0]: https://github.com/apache/incubator-opendal/compare/v0.40.0...v0.41.0
[v0.40.0]: https://github.com/apache/incubator-opendal/compare/v0.39.1...v0.40.0
[v0.39.0]: https://github.com/apache/incubator-opendal/compare/v0.38.1...v0.39.0
[v0.38.1]: https://github.com/apache/incubator-opendal/compare/v0.38.0...v0.38.1
diff --git a/Cargo.lock b/Cargo.lock
index ef379ea4312..b936172a39f 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1558,7 +1558,7 @@ dependencies = [
[[package]]
name = "dav-server-opendalfs"
-version = "0.40.0"
+version = "0.41.0"
dependencies = [
"anyhow",
"bytes",
@@ -3821,7 +3821,7 @@ dependencies = [
[[package]]
name = "oay"
-version = "0.40.0"
+version = "0.41.0"
dependencies = [
"anyhow",
"axum",
@@ -3877,7 +3877,7 @@ dependencies = [
[[package]]
name = "object_store_opendal"
-version = "0.40.0"
+version = "0.41.0"
dependencies = [
"async-trait",
"bytes",
@@ -3961,7 +3961,7 @@ dependencies = [
[[package]]
name = "oli"
-version = "0.40.0"
+version = "0.41.0"
dependencies = [
"anyhow",
"assert_cmd",
@@ -3993,7 +3993,7 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
[[package]]
name = "opendal"
-version = "0.40.0"
+version = "0.41.0"
dependencies = [
"anyhow",
"async-backtrace",
@@ -4072,7 +4072,7 @@ dependencies = [
[[package]]
name = "opendal-c"
-version = "0.40.0"
+version = "0.41.0"
dependencies = [
"bytes",
"cbindgen",
@@ -4081,7 +4081,7 @@ dependencies = [
[[package]]
name = "opendal-cpp"
-version = "0.40.0"
+version = "0.41.0"
dependencies = [
"anyhow",
"chrono",
@@ -4115,7 +4115,7 @@ dependencies = [
[[package]]
name = "opendal-hs"
-version = "0.40.0"
+version = "0.41.0"
dependencies = [
"chrono",
"log",
@@ -4124,7 +4124,7 @@ dependencies = [
[[package]]
name = "opendal-java"
-version = "0.40.0"
+version = "0.41.0"
dependencies = [
"anyhow",
"jni",
@@ -4144,7 +4144,7 @@ dependencies = [
[[package]]
name = "opendal-nodejs"
-version = "0.40.0"
+version = "0.41.0"
dependencies = [
"futures",
"napi",
@@ -4155,7 +4155,7 @@ dependencies = [
[[package]]
name = "opendal-ocaml"
-version = "0.40.0"
+version = "0.41.0"
dependencies = [
"ocaml",
"ocaml-build",
@@ -4172,7 +4172,7 @@ dependencies = [
[[package]]
name = "opendal-python"
-version = "0.40.0"
+version = "0.41.0"
dependencies = [
"futures",
"opendal",
diff --git a/Cargo.toml b/Cargo.toml
index ac45ee85848..06212688038 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -49,10 +49,10 @@ homepage = "https://opendal.apache.org/"
license = "Apache-2.0"
repository = "https://github.com/apache/incubator-opendal"
rust-version = "1.65"
-version = "0.40.0"
+version = "0.41.0"
[workspace.dependencies]
-opendal = { version = "0.40", path = "core" }
+opendal = { version = "0.41", path = "core" }
[profile.bench]
debug = true
diff --git a/bindings/cpp/CMakeLists.txt b/bindings/cpp/CMakeLists.txt
index 52c17a97b4e..2bbb692b02c 100644
--- a/bindings/cpp/CMakeLists.txt
+++ b/bindings/cpp/CMakeLists.txt
@@ -16,7 +16,7 @@
# under the License.
cmake_minimum_required(VERSION 3.10)
-project(opendal-cpp VERSION 0.40.0 LANGUAGES CXX)
+project(opendal-cpp VERSION 0.41.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
diff --git a/bindings/java/pom.xml b/bindings/java/pom.xml
index 921436b7996..4eaa70059a6 100644
--- a/bindings/java/pom.xml
+++ b/bindings/java/pom.xml
@@ -32,7 +32,7 @@
org.apache.opendal
opendal-java
- 0.40.0
+ 0.41.0
https://opendal.apache.org
diff --git a/bindings/nodejs/npm/darwin-arm64/package.json b/bindings/nodejs/npm/darwin-arm64/package.json
index bf5216788b9..8660d3f58d7 100644
--- a/bindings/nodejs/npm/darwin-arm64/package.json
+++ b/bindings/nodejs/npm/darwin-arm64/package.json
@@ -1,7 +1,7 @@
{
"name": "@opendal/lib-darwin-arm64",
"repository": "git@github.com/apache/incubator-opendal.git",
- "version": "0.40.0",
+ "version": "0.41.0",
"os": [
"darwin"
],
diff --git a/bindings/nodejs/npm/darwin-x64/package.json b/bindings/nodejs/npm/darwin-x64/package.json
index 425dc7ad0a1..72ac7f4cf66 100644
--- a/bindings/nodejs/npm/darwin-x64/package.json
+++ b/bindings/nodejs/npm/darwin-x64/package.json
@@ -1,7 +1,7 @@
{
"name": "@opendal/lib-darwin-x64",
"repository": "git@github.com/apache/incubator-opendal.git",
- "version": "0.40.0",
+ "version": "0.41.0",
"os": [
"darwin"
],
diff --git a/bindings/nodejs/npm/linux-x64-gnu/package.json b/bindings/nodejs/npm/linux-x64-gnu/package.json
index d5441a9bc04..63396741eaa 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.40.0",
+ "version": "0.41.0",
"repository": "git@github.com/apache/incubator-opendal.git",
"os": [
"linux"
diff --git a/bindings/nodejs/npm/win32-x64-msvc/package.json b/bindings/nodejs/npm/win32-x64-msvc/package.json
index 6e67f29d93a..5d5261d7ef9 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.40.0",
+ "version": "0.41.0",
"repository": "git@github.com/apache/incubator-opendal.git",
"os": [
"win32"
diff --git a/bindings/nodejs/package.json b/bindings/nodejs/package.json
index 4fb32549132..f3aa30b2fc3 100644
--- a/bindings/nodejs/package.json
+++ b/bindings/nodejs/package.json
@@ -1,7 +1,7 @@
{
"name": "opendal",
"author": "OpenDAL Contributors ",
- "version": "0.40.0",
+ "version": "0.41.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 0706af2ea60..30d9b8ce070 100644
--- a/core/src/docs/upgrade.md
+++ b/core/src/docs/upgrade.md
@@ -1,3 +1,7 @@
+# Upgrade to v0.41
+
+There is no public API and raw API changes.
+
# Upgrade to v0.40
## Public API
diff --git a/scripts/verify.py b/scripts/verify.py
index a43ece1c422..81d6a41ba41 100755
--- a/scripts/verify.py
+++ b/scripts/verify.py
@@ -53,9 +53,6 @@ def build_core():
def build_java_binding():
print("Start building opendal java binding")
- # change to java binding directory
- os.chdir("bindings/java")
-
subprocess.run(
[
"./mvnw",
@@ -65,11 +62,9 @@ def build_java_binding():
"-Dcargo-build.profile=release",
],
check=True,
+ cwd="bindings/java"
)
- # change back to base directory
- os.chdir(BASE_DIR)
-
def main():
if not check_rust():
diff --git a/website/community/committers/release.md b/website/community/committers/release.md
index 05d6136772f..75a00a5ef34 100644
--- a/website/community/committers/release.md
+++ b/website/community/committers/release.md
@@ -49,7 +49,7 @@ The change lists about this release:
https://github.com/apache/incubator-opendal/compare/v0.39.0...main
-Please leave your comments here about this release plan. We will bump the version in repo and start the release process after the discussion.
+Please leave your comments here about this release plan. We will bump the version in the repo and start the release process after the discussion.
Thanks
@@ -58,7 +58,7 @@ ${name}
## Start tracking issues about the next release
-Start a tracking issue on Github for the upcoming release to track all tasks that need to be completed.
+Start a tracking issue on GitHub for the upcoming release to track all tasks that need to be completed.
Title:
@@ -109,14 +109,15 @@ This issue is used to track tasks of the opendal ${opendal_version} release.
- [ ] Release Maven artifacts
- [ ] Send the announcement
-For details of each steps, please refer to: https://opendal.apache.org/docs/contributing/release
+For details of each step, please refer to: https://opendal.apache.org/docs/contributing/release
```
## GitHub Side
### Bump version in project
-Bump all version in the project to the new opendal version. Please note that this version is the exact version of the release, not the release candidate version.
+Bump all parts' version in the project to the new opendal version.
+Please note that this version is the exact version of the release, not the release candidate version.
- rust core: bump version in `Cargo.toml`
- cpp binding: bump version in `bindings/cpp/CMakeLists.txt`
@@ -228,10 +229,11 @@ If the vote failed, click "Drop" to drop the staging Maven artifacts.
:::
-### Rescure
+### Rescue
If you accidentally published wrong or unexpected artifacts, like wrong signature files, wrong sha256 files,
-please cancel the release for the current `release_version`, _increase th RC counting_ and reinitiate a release with the new `release_version`.
+please cancel the release for the current `release_version`,
+_increase th RC counting_ and re-initiate a release with the new `release_version`.
## Voting
@@ -315,7 +317,7 @@ ${name}
Example:
-After at least 3 +1 binding vote (from OpenDAL Podling PMC member and committers) and no veto, claim the vote result:
+After at least 3 `+1` binding vote (from OpenDAL Podling PMC member and committers) and no veto, claim the vote result:
Title: