Skip to content

Commit

Permalink
Bump OpenDAL to 0.30 (#1555)
Browse files Browse the repository at this point in the history
* Add key for registry

Signed-off-by: Xuanwo <[email protected]>

* Bump OpenDAL to 0.30

Signed-off-by: Xuanwo <[email protected]>

* Bump versions

Signed-off-by: Xuanwo <[email protected]>

* Add upgrade

Signed-off-by: Xuanwo <[email protected]>

* FIx typo

Signed-off-by: Xuanwo <[email protected]>

* Don't need to do cleanup work

Signed-off-by: Xuanwo <[email protected]>

---------

Signed-off-by: Xuanwo <[email protected]>
  • Loading branch information
Xuanwo authored Mar 10, 2023
1 parent 3ab3919 commit 975e18d
Show file tree
Hide file tree
Showing 15 changed files with 100 additions and 30 deletions.
1 change: 0 additions & 1 deletion .github/workflows/bindings_python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@ jobs:
- name: Run pytest
working-directory: "bindings/python"
run: |
set -e
python -m pip install opendal --find-links dist
python -m pip install -r test_requirements.txt
python -m pytest
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,11 @@ jobs:
run: cargo publish --all-features
env:
LD_LIBRARY_PATH: ${{ env.JAVA_HOME }}/lib/server:${{ env.LD_LIBRARY_PATH }}
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

- name: Publish object_store_opendal
run: cargo publish
working-directory: "bindings/object_store"
env:
LD_LIBRARY_PATH: ${{ env.JAVA_HOME }}/lib/server:${{ env.LD_LIBRARY_PATH }}
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
62 changes: 62 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,67 @@ 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.30.0] - 2023-03-10

### Added

- RFC-1477: Remove Object Concept (#1477)
- feat(bindings/nodejs): fs Operator (#1485)
- feat(service/dashmap): Add scan support (#1492)
- feat(bindings/nodejs): Add Writer Support (#1490)
- feat: Add dummy implementation for accessor and builder (#1503)
- feat(bindings/nodejs): Support List & append all default services (#1505)
- feat(bindings/python): Setup operator init logic (#1513)
- feat(bindings/nodejs): write support string (#1520)
- feat(bindings/python): add support for services that opendal enables by default (#1522)
- feat(bindings/nodejs): Remove Operator.writer until we are ready (#1528)
- feat(bindings/nodejs): Support Operator.create_dir (#1529)
- feat(bindings/python): implement create_dir (#1534)
- feat(bindings/python): implement delete and export more metadata fields (#1539)
- feat(bindings/python): implement blocking list and scan (#1541)
- feat: Append EntryMode to Entry (#1543)
- feat: Entry refactoring to allow external creation (#1547)
- feat(bindings/nodejs): Support Operator.scanSync & Operator.listSync (#1546)
- feat: remove_via can delete files concurrently (#1495)

### Changed

- refactor: Split operator APIs into different part (#1483)
- refactor: Remove Object prefix for public API (#1488)
- refactor: Remove the concept of Object (#1496)
- refactor: remove ReadDir in FTP service (#1504)
- refactor: rename public api create to create_dir (#1512)
- refactor(bindings/python): return bytes directly and add type stub file (#1514)
- tests: Remove not needed create file test (#1516)
- refactor: improve the python binding implementation (#1517)
- refactor(bindings/nodejs): Remove scheme from bindings (#1552)

### Fixed

- fix(services/s3): Make sure the ureq's body has been consumed (#1497)
- fix(services/s3): Allow retry error RequestTimeout (#1532)

### Docs

- docs: Remove all references to object (#1500)
- docs(bindings/python): Add building docs (#1526)
- docs(bindings/nodejs): update readme (#1527)
- docs: Add detailed docs for create_dir (#1537)

### CI

- ci: Don't run binding tests if only services changes (#1498)
- ci: Improve rocksdb build speed by link dynamic libs (#1502)
- ci: Fix bindings CI not running on PR (#1530)
- ci: Polish scripts and prepare for releasing (#1553)

### Chore

- chore: Re-organize the project layout (#1489)
- chore: typo & clippy (#1499)
- chore: typo (#1501)
- chore: Move memcache-async into opendal (#1544)

## [v0.29.1] - 2023-03-05

### Added
Expand Down Expand Up @@ -1482,6 +1543,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/).

Hello, OpenDAL!

[v0.30.0]: https://github.com/datafuselabs/opendal/compare/v0.29.1...v0.30.0
[v0.29.1]: https://github.com/datafuselabs/opendal/compare/v0.29.0...v0.29.1
[v0.29.0]: https://github.com/datafuselabs/opendal/compare/v0.28.0...v0.29.0
[v0.28.0]: https://github.com/datafuselabs/opendal/compare/v0.27.2...v0.28.0
Expand Down
8 changes: 4 additions & 4 deletions Cargo.lock

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

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ keywords = ["storage", "fs", "s3", "azblob", "gcs"]
license = "Apache-2.0"
name = "opendal"
repository = "https://github.com/datafuselabs/opendal"
version = "0.29.1"
version = "0.30.0"
# MSRV of OpenDAL. Please update this field while bump.
rust-version = "1.60"

Expand Down
2 changes: 1 addition & 1 deletion binaries/oli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ clap = { version = "4", features = ["cargo", "string"] }
env_logger = "0.10"
futures = "0.3"
log = "0.4"
opendal = { version = "0.29", path = "../../" }
opendal = { version = "0.30", path = "../../" }
tokio = { version = "1.20", features = ["fs", "macros", "rt-multi-thread"] }

[dev-dependencies]
Expand Down
4 changes: 2 additions & 2 deletions bindings/nodejs/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
[package]
edition = "2021"
name = "opendal-nodejs"
version = "0.0.0"
version = "0.30.0"

[lib]
crate-type = ["cdylib"]
Expand All @@ -28,7 +28,7 @@ napi = { version = "2.11.2", default-features = false, features = [
"async",
] }
napi-derive = "2.11.1"
opendal = { version = "0.29", path = "../../" }
opendal = { version = "0.30", path = "../../" }
time = { version = "0.3.17", features = ["formatting"] }

[build-dependencies]
Expand Down
10 changes: 0 additions & 10 deletions bindings/nodejs/__test__/index.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@ test('test memory write & read', async (t) => {

let res = await op.read(path)
t.is(content, new TextDecoder().decode(res))

await op.delete(path)
})


Expand Down Expand Up @@ -79,10 +77,6 @@ test('test scan', async (t) => {
}

t.is(entryCount, paths.length)

paths.forEach(async (path) => {
await op.delete(path)
})
})


Expand Down Expand Up @@ -110,8 +104,4 @@ test('test scan sync', async (t) => {
}

t.is(entryCount, paths.length)

paths.forEach(async (path) => {
await op.delete(path)
})
})
4 changes: 2 additions & 2 deletions bindings/nodejs/npm/darwin-x64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "opendal-darwin-x64",
"version": "0.0.1",
"version": "0.30.0",
"os": [
"darwin"
],
Expand All @@ -15,4 +15,4 @@
"engines": {
"node": ">= 10"
}
}
}
4 changes: 2 additions & 2 deletions bindings/nodejs/npm/linux-x64-gnu/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "opendal-linux-x64-gnu",
"version": "0.0.1",
"version": "0.30.0",
"os": [
"linux"
],
Expand All @@ -18,4 +18,4 @@
"libc": [
"glibc"
]
}
}
4 changes: 2 additions & 2 deletions bindings/nodejs/npm/win32-x64-msvc/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "opendal-win32-x64-msvc",
"version": "0.0.1",
"version": "0.30.0",
"os": [
"win32"
],
Expand All @@ -15,4 +15,4 @@
"engines": {
"node": ">= 10"
}
}
}
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": "Databend Authors <[email protected]>",
"version": "0.0.1",
"version": "0.30.0",
"main": "index.js",
"types": "index.d.ts",
"description": "Open Data Access Layer: Access data freely, painlessly, and efficiently",
Expand Down
4 changes: 2 additions & 2 deletions bindings/object_store/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ edition = "2021"
license = "Apache-2.0"
name = "object_store_opendal"
repository = "https://github.com/datafuselabs/opendal"
version = "0.0.1"
version = "0.30.0"
# MSRV of OpenDAL. Please update this field while bump.
rust-version = "1.60"

Expand All @@ -28,7 +28,7 @@ bytes = "1"
chrono = "0.4.23"
futures = "0.3"
object_store = "0.5"
opendal = { version = "0.29", path = "../../" }
opendal = { version = "0.30", path = "../../" }
tokio = "1"

[dev-dependencies]
Expand Down
4 changes: 2 additions & 2 deletions bindings/python/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@
[package]
edition = "2021"
name = "opendal-python"
version = "0.0.1"
version = "0.30.0"

[lib]
crate-type = ["cdylib"]
name = "opendal"

[dependencies]
opendal = { version = "0.29", path = "../../" }
opendal = { version = "0.30", path = "../../" }
pyo3 = { version = "0.18", features = ["extension-module"] }
pyo3-asyncio = { version = "0.18", features = ["tokio-runtime"] }
tokio = "1"
17 changes: 17 additions & 0 deletions src/docs/upgrade.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# Upgrade to v0.30

In version 0.30, we made significant breaking changes by removing objects. Our goal in doing so was to provide our users with APIs that are easier to understand and maintain.

More detailes could be found at [RFC: Remove Object Concept][crate::docs::rfcs::rfc_1477_remove_object_concept].

To upgrade to OpenDAL v0.30, users need to make the following changes:

- regex replace `object\((.*)\).reader\(\)` to `reader($1)`
- replace the function on your case, it's recomanded to do it one by one
- rename `ObjectMetakey` => `Metakey`
- rename `ObjectMode` => `EntryMode`
- replace `ErrorKind::ObjectXxx` to `ErrorKind::Xxx`
- rename `AccessorMetadata` => `AccessorInfo`
- rename `ObjectMetadata` => `Metadata`
- replace `operator.metadata()` => `operator.info()`

# Upgrade to v0.29

In v0.29, we introduced [Object Writer][crate::docs::rfcs::rfc_1420_object_writer] to replace existing Multipart related APIs.
Expand Down

2 comments on commit 975e18d

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented on 975e18d Mar 10, 2023

Choose a reason for hiding this comment

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

Deploy preview for opendal ready!

✅ Preview
https://opendal-222y8yev3-databend.vercel.app
https://opendal-git-refstagsv0300.vercel.app

Built with commit 975e18d.
This pull request is being automatically deployed with vercel-action

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Rust Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 2.

Benchmark suite Current: 975e18d Previous: 3ab3919 Ratio
service_fs_read_parallel/1x4.00 MiB 3075392 ns/iter (± 1131665) 1439961 ns/iter (± 45268) 2.14

This comment was automatically generated by workflow using github-action-benchmark.

CC: @Xuanwo

Please sign in to comment.