Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump to version 0.36.0 #2366

Merged
merged 6 commits into from
May 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,82 @@ 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.36.0] - 2023-05-30

### Added

- feat(service/fs): add append support for fs (#2296)
- feat(services/sftp): add append support for sftp (#2297)
- RFC-2299: Chain based Operator API (#2299)
- feat(services/azblob): add append support (#2302)
- feat(bindings/nodejs): add append support (#2322)
- feat(bindings/C): opendal_operator_ptr construction using kvs (#2329)
- feat(services/cos): append support (#2332)
- feat(bindings/java): implement Operator#delete (#2345)
- feat(bindings/java): support append (#2350)
- feat(bindings/java): save one jni call in the hot path (#2353)
- feat: server side encryption support for azblob (#2347)

### Changed

- refactor(core): Implement RFC-2299 for stat_with (#2303)
- refactor(core): Implement RFC-2299 for BlockingOperator::write_with (#2305)
- refactor(core): Implement RFC-2299 for appender_with (#2307)
- refactor(core): Implement RFC-2299 for read_with (#2308)
- refactor(core): Implement RFC-2299 for read_with (#2308)
- refactor(core): Implement RFC-2299 for append_with (#2312)
- refactor(core): Implement RFC-2299 for write_with (#2315)
- refactor(core): Implement RFC-2299 for reader_with (#2316)
- refactor(core): Implement RFC-2299 for writer_with (#2317)
- refactor(core): Implement RFC-2299 for presign_read_with (#2314)
- refactor(core): Implement RFC-2299 for presign_write_with (#2320)
- refactor(core): Implement RFC-2299 for list_with (#2323)
- refactor: Move `ops` to `raw::ops` (#2325)
- refactor(bindings/C): align bdd test with the feature tests (#2340)
- refactor(bindings/java): narrow unsafe boundary (#2351)

### Fixed

- fix(services/supabase): correctly set retryable (#2295)
- fix(core): appender complete check (#2298)

### Docs

- docs: add service doc for azdfs (#2310)
- docs(bidnings/java): how to deploy snapshots (#2311)
- docs(bidnings/java): how to deploy snapshots (#2311)
- docs: Fixed links of languages to open in same tab (#2327)
- docs: Adopt docusaurus pathname protocol (#2330)
- docs(bindings/nodejs): update lib desc (#2331)
- docs(bindings/java): update the README file (#2338)
- docs: add service doc for fs (#2337)
- docs: add service doc for cos (#2341)
- docs: add service doc for dashmap (#2342)
- docs(bindings/java): for BlockingOperator (#2344)

### CI

- build(bindings/java): prepare for snapshot release (#2301)
- build(bindings/java): support multiple platform java bindings (#2324)
- ci(binding/nodejs): Use docker to build nodejs binding (#2328)
- build(bindings/java): prepare for automatically multiple platform deploy (#2335)
- ci: add bindings java docs and integrate with website (#2346)
- ci: avoid copy gitignore to site folder (#2348)
- ci(bindings/c): Add diff check (#2359)
- ci: Cache librocksdb to speed up CI (#2360)
- ci: Don't load rocksdb for all workflows (#2362)
- ci: Fix Node.js 12 actions deprecated warning (#2363)
- ci: Speed up python docs build (#2364)
- ci: Adopt setup-node's cache logic instead (#2365)

### Chore

- chore(test): Avoid test names becoming prefixes of other tests (#2333)
- chore(bindings/java): improve OpenDALException tests and docs (#2343)
- chore(bindings/java): post release 0.1.0 (#2352)
- chore(docs): split docs build into small jobs (#2356)'
- chore: protect branch gh-pages (#2358)

## [v0.35.0] - 2023-05-23

### Added
Expand Down Expand Up @@ -2160,6 +2236,7 @@ ing large files (#2231)

Hello, OpenDAL!

[v0.36.0]: https://github.com/apache/incubator-opendal/compare/v0.35.0...v0.36.0
[v0.35.0]: https://github.com/apache/incubator-opendal/compare/v0.34.0...v0.35.0
[v0.34.0]: https://github.com/apache/incubator-opendal/compare/v0.33.3...v0.34.0
[v0.33.3]: https://github.com/apache/incubator-opendal/compare/v0.33.2...v0.33.3
Expand Down
16 changes: 8 additions & 8 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ homepage = "https://opendal.apache.org/"
license = "Apache-2.0"
repository = "https://github.com/apache/incubator-opendal"
rust-version = "1.65"
version = "0.35.0"
version = "0.36.0"

[workspace.dependencies]
opendal = { version = "0.35", path = "core" }
opendal = { version = "0.36", path = "core" }
2 changes: 1 addition & 1 deletion bindings/c/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@
[package]
name = "opendal-c"
publish = false
version = "0.1.0"

authors.workspace = true
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true

[lib]
crate-type = ["cdylib"]
Expand Down
1 change: 0 additions & 1 deletion bindings/c/include/opendal.h
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,6 @@ extern "C" {
opendal_operator_options_set(&options, "root", "/myroot");

opendal_operator_ptr ptr = opendal_operator_new("memory", options);

opendal_operator_options_free(&options);

// ... your operations
Expand Down
1 change: 0 additions & 1 deletion bindings/c/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ use crate::types::opendal_operator_ptr;
/// opendal_operator_options_set(&options, "root", "/myroot");
///
/// opendal_operator_ptr ptr = opendal_operator_new("memory", options);
///
// free the options right away since the options is not used later on
/// opendal_operator_options_free(&options);
///
Expand Down
5 changes: 3 additions & 2 deletions bindings/c/src/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@
// specific language governing permissions and limitations
// under the License.

use ::opendal as od;
use std::collections::HashMap;
use std::os::raw::c_char;

use std::{collections::HashMap, os::raw::c_char};
use ::opendal as od;

/// The [`opendal_operator_ptr`] owns a pointer to a [`od::BlockingOperator`].
/// It is also the key struct that OpenDAL's APIs access the real
Expand Down
4 changes: 2 additions & 2 deletions bindings/java/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@
[package]
name = "opendal-java"
publish = false
version = "0.1.0"

authors.workspace = true
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true

[lib]
crate-type = ["cdylib"]
Expand All @@ -36,6 +36,6 @@ opendal.workspace = true

anyhow = "1.0.71"
jni = "0.21.1"
num_cpus = "1.15.0"
once_cell = "1.17.1"
tokio = { version = "1.28.1", features = ["full"] }
num_cpus = "1.15.0"
2 changes: 1 addition & 1 deletion bindings/java/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

<groupId>org.apache.opendal</groupId>
<artifactId>opendal-java</artifactId>
<version>0.2.0-SNAPSHOT</version>
<version>0.36.0-SNAPSHOT</version>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Xuanwo could you share the script we do this simultaneous updates? I'd like to ensure and investigate how to do Maven releases automatically.

Copy link
Member Author

@Xuanwo Xuanwo May 31, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is changed by hand

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Xuanwo I check the version on 0.36.0 tag and it's still 0.36.0-SNAPSHOT.

For Java library releases, a formal release doesn't have a -SNAPSHOT suffix while a develop version does. Could you please update it like 0.36.0 for the following tags and keep it like 0.37.0-SNAPSHOT on the main branch after tagging.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, we will change it to 0.37.0 in next release. And is snapshot version required? I prefer not to provide snapshot version if possible.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's OK for no snapshots. Please ping me when you call 0.37.0 release so that I can update the release process correspondingly.


<url>https://opendal.apache.org</url>
<mailingLists>
Expand Down
3 changes: 2 additions & 1 deletion bindings/java/src/blocking_operator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@

use std::str::FromStr;

use jni::objects::JByteArray;
use jni::objects::JClass;
use jni::objects::JObject;
use jni::objects::JString;
use jni::objects::{JByteArray, JClass};
use jni::sys::jlong;
use jni::sys::jstring;
use jni::JNIEnv;
Expand Down
7 changes: 4 additions & 3 deletions bindings/java/src/operator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,21 @@

use std::str::FromStr;

use jni::objects::JByteArray;
use jni::objects::JClass;
use jni::objects::JObject;
use jni::objects::JString;
use jni::objects::JValue;
use jni::objects::JValueOwned;
use jni::objects::{JByteArray, JClass};
use jni::sys::jlong;
use jni::JNIEnv;

use opendal::Operator;
use opendal::Scheme;

use crate::get_current_env;
use crate::get_global_runtime;
use crate::jmap_to_hashmap;
use crate::Result;
use crate::{get_current_env, get_global_runtime};

#[no_mangle]
pub extern "system" fn Java_org_apache_opendal_Operator_constructor(
Expand Down
2 changes: 1 addition & 1 deletion bindings/nodejs/npm/darwin-arm64/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@opendal/lib-darwin-arm64",
"repository": "[email protected]/apache/incubator-opendal.git",
"version": "0.35.0",
"version": "0.36.0",
"os": [
"darwin"
],
Expand Down
2 changes: 1 addition & 1 deletion bindings/nodejs/npm/darwin-x64/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@opendal/lib-darwin-x64",
"repository": "[email protected]/apache/incubator-opendal.git",
"version": "0.35.0",
"version": "0.36.0",
"os": [
"darwin"
],
Expand Down
2 changes: 1 addition & 1 deletion bindings/nodejs/npm/linux-x64-gnu/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opendal/lib-linux-x64-gnu",
"version": "0.35.0",
"version": "0.36.0",
"repository": "[email protected]/apache/incubator-opendal.git",
"os": [
"linux"
Expand Down
2 changes: 1 addition & 1 deletion bindings/nodejs/npm/win32-x64-msvc/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opendal/lib-win32-x64-msvc",
"version": "0.35.0",
"version": "0.36.0",
"repository": "[email protected]/apache/incubator-opendal.git",
"os": [
"win32"
Expand Down
2 changes: 1 addition & 1 deletion bindings/nodejs/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "opendal",
"author": "OpenDAL Contributors <[email protected]>",
"version": "0.35.0",
"version": "0.36.0",
"license": "Apache-2.0",
"main": "index.js",
"types": "index.d.ts",
Expand Down
52 changes: 52 additions & 0 deletions core/src/docs/upgrade.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,55 @@
# Upgrade to v0.36

## Public API

In v0.36, OpenDAL improving the `xxx_with` API by allow it to be called in chain:

After this change, all `xxx_with` alike call will be changed from

```rust
let bs = op.read_with(
"path/to/file",
OpRead::new()
.with_range(0..=1024)
.with_if_match("<etag>")
.with_if_none_match("<etag>")
.with_override_cache_control("<cache_control>")
.with_override_content_disposition("<content_disposition>")
).await?;
```

to

```rust
let bs = op.read_with("path/to/file")
.range(0..=1024)
.if_match("<etag>")
.if_none_match("<etag>")
.override_cache_control("<cache_control>")
.override_content_disposition("<content_disposition>")
.await?;
```

For blocking API calls, we will need a `call()` at the end:

```rust
let bs = bop.read_with("path/to/file")
.range(0..=1024)
.if_match("<etag>")
.if_none_match("<etag>")
.override_cache_control("<cache_control>")
.override_content_disposition("<content_disposition>")
.call()?;
```

Along with this change, users don't need to call `OpXxx` anymore so we moved it to `raw` API.

More detailes could be found at [RFC: Chain Based Operator API][crate::docs::rfcs::rfc_2299_chain_based_operator_api].

## Raw API

Migrated `opendal::ops` to `opendal::raw::ops`.

# Upgrade to v0.35

## Public API
Expand Down
1 change: 0 additions & 1 deletion core/src/services/cos/backend.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ use crate::services::cos::appender::CosAppender;
use crate::*;

/// Huawei Cloud COS services support.
///
#[doc = include_str!("docs.md")]
#[derive(Default, Clone)]
pub struct CosBuilder {
Expand Down
Loading