Skip to content

Commit

Permalink
Bump to version 0.19.0 (#821)
Browse files Browse the repository at this point in the history
* Bump to version 0.19.0

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

* Add upgrade

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

* Fix oss

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

* Fix build

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

* Fix docs

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

* Add docs

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

Signed-off-by: Xuanwo <[email protected]>
  • Loading branch information
Xuanwo authored Oct 8, 2022
1 parent 9b5b8f3 commit ed90d02
Show file tree
Hide file tree
Showing 14 changed files with 105 additions and 25 deletions.
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,37 @@ 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.19.0] - 2022-10-08

### Added

- feat: Implement object page stream for services like s3 (#787)
- RFC-0793: Generic KV Services (#793)
- feat(services/kv): Implement Scoped Key (#796)
- feat: Add scan in KeyValueAccessor (#797)
- feat: Implement basic kv services support (#799)
- feat: Introduce kv adapter for opendal (#802)
- feat: Add integration test for redis (#804)
- feat: Add OSS Service Support (#801)
- feat: Add integration tests for OSS (#814)

### Changed

- refactor: Move object to mod (#786)
- refactor: Implement azblob dir stream based on ObjectPageStream (#790)
- refactor: Implement memory services by generic kv (#800)
- refactor: Don't expose backend to users (#816)
- tests: allow running tests when env is `true` (#818)
- refactor: Remove deprecated type aliases (#819)
- test: list rich dir (#820)

### Fixed

- fix(services/redis): MATCH can't handle correctly (#803)
- fix: Disable ipfs redirection (#809)
- fix(services/ipfs): Use ipfs files API to copy data (#811)
- fix(services/hdfs): Allow retrying would block (#815)

## [v0.18.2] - 2022-10-01

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

Hello, OpenDAL!

[v0.19.0]: https://github.com/datafuselabs/opendal/compare/v0.18.2...v0.19.0
[v0.18.2]: https://github.com/datafuselabs/opendal/compare/v0.18.1...v0.18.2
[v0.18.1]: https://github.com/datafuselabs/opendal/compare/v0.18.0...v0.18.1
[v0.18.0]: https://github.com/datafuselabs/opendal/compare/v0.17.4...v0.18.0
Expand Down
12 changes: 5 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ keywords = ["storage", "fs", "s3", "azblob", "gcs"]
license = "Apache-2.0"
name = "opendal"
repository = "https://github.com/datafuselabs/opendal"
version = "0.18.2"
version = "0.19.0"

[package.metadata.docs.rs]
all-features = true
Expand All @@ -22,10 +22,7 @@ compress = ["async-compression"]
serde = []

# Enable all layers.
layers-all = [
"layers-metrics",
"layers-tracing",
]
layers-all = ["layers-metrics", "layers-tracing"]
# Enable layers metrics support
layers-metrics = ["metrics"]
# Enable layers retry support.
Expand Down Expand Up @@ -117,15 +114,16 @@ redis = { version = "0.21", features = [
"tokio-comp",
"connection-manager",
], optional = true }
reqsign = "0.5"
# Make sure reqsign version is larger than 0.5.2
reqsign = "0.5.2"
reqwest = { version = "0.11", features = [
"multipart",
"stream",
"rustls-tls-native-roots",
], default-features = false }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
suppaftp = { version = "4", features = ["async-secure"], optional = true }
suppaftp = { version = "=4.4", features = ["async-secure"], optional = true }
thiserror = "1"
time = { version = "0.3", features = ["serde"] }
tokio = { version = "1.20", features = ["fs"] }
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ You may be looking for:
- [ipmfs](https://opendal.databend.rs/opendal/services/ipmfs/index.html): [InterPlanetary File System](https://ipfs.tech/) MFS API support.
- [memory](https://opendal.databend.rs/opendal/services/memory/index.html): In memory backend.
- [obs](https://opendal.databend.rs/opendal/services/obs/index.html): [Huawei Cloud Object Storage](https://www.huaweicloud.com/intl/en-us/product/obs.html) Service (OBS).
- [redis](https://opendal.databend.rs/opendal/services/redis/index.html): [Redis](https://redis.io/) services support.
- [oss](https://opendal.databend.rs/opendal/services/oss/index.html): [Aliyun Object Storage Service](https://www.aliyun.com/product/oss) (OSS).
- [redis](https://opendal.databend.rs/opendal/services/redis/index.html): [Redis](https://redis.io/) services support.
- [s3](https://opendal.databend.rs/opendal/services/s3/index.html): [AWS S3](https://aws.amazon.com/s3/) alike services.

## Features
Expand Down
39 changes: 39 additions & 0 deletions docs/services/oss.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Use OSS as backend

This page provides some examples for using Aliyun OSS as backend.

We can run this example via:

```shell
cargo run --example oss
```

## Example

### Via Environment Variables

Available environment variables:

- `OPENDAL_OSS_ROOT`: root path, default: /
- `OPENDAL_OSS_BUCKET`: bukcet name, required.
- `OPENDAL_OSS_ENDPOINT`: endpoint of oss service
- `OPENDAL_OSS_ACCESS_KEY_ID`: access key id of oss service, could be auto detected.
- `OPENDAL_OSS_ACCESS_KEY_SECRET`: secret access key of oss service, could be auto detected.

```rust
use anyhow::Result;
use opendal::Operator;
use opendal::Scheme;

#[tokio::main]
async fn main() -> Result<()> {
// init operator from env vars
let _op = Operator::from_env(Scheme::Oss)?;
}
```

### Via Builder

```rust
{{#include ../../examples/oss.rs:15:}}
```
10 changes: 10 additions & 0 deletions docs/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@

This document intends to record upgrade and migrate procedures while OpenDAL meets breaking changes.

## Upgrade to v0.19

OpenDAL deprecate some features:

- `serde`: We will enable it by default.
- `layers-retry`: We will enable retry support by default.
- `layers-metadata-cache`: We will enable it by default.

Deprecated types like `DirEntry` has been removed.

## Upgrade to v0.18

OpenDAL v0.18 introduces the following breaking changes:
Expand Down
8 changes: 4 additions & 4 deletions oay/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 oay/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ keywords = ["storage", "data", "s3", "fs", "azblob"]
license = "Apache-2.0"
name = "oay"
repository = "https://github.com/datafuselabs/opendal"
version = "0.18.1"
version = "0.19.0"

[dependencies]
actix-web = "4"
Expand All @@ -17,7 +17,7 @@ clap = { version = "4", features = ["cargo"] }
env_logger = "0.9"
futures = "0.3"
log = "0.4"
opendal = "0.18"
opendal = "0.19"
percent-encoding = "2"
sluice = "0.5"
tokio = { version = "1.20", features = ["rt-multi-thread", "macros"] }
Expand Down
8 changes: 4 additions & 4 deletions oli/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 oli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ keywords = ["storage", "data", "s3", "fs", "azblob"]
license = "Apache-2.0"
name = "oli"
repository = "https://github.com/datafuselabs/opendal"
version = "0.18.1"
version = "0.19.0"

[dependencies]
anyhow = "1"
clap = { version = "4", features = ["cargo", "string"] }
env_logger = "0.9"
log = "0.4"
opendal = "0.18"
opendal = "0.19"
tokio = { version = "1.20", features = ["fs", "macros", "rt-multi-thread"] }

[dev-dependencies]
Expand Down
2 changes: 0 additions & 2 deletions src/layers/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,7 @@ pub use immutable_index::ImmutableIndexLayer;
mod logging;
pub use logging::LoggingLayer;

#[cfg(feature = "layers-metadata-cache")]
mod metadata_cache;
#[cfg(feature = "layers-metadata-cache")]
pub use metadata_cache::MetadataCacheLayer;

#[cfg(feature = "layers-metrics")]
Expand Down
2 changes: 2 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
//! | [ipmfs][crate::services::ipmfs] | IPFS Mutable File System support. |
//! | [memory][crate::services::memory] | In memory backend support. |
//! | [obs][crate::services::obs] | Huawei Cloud OBS service. |
//! | [oss][crate::services::oss] | Aliyun Object Storage Service (OSS).|
//! | [redis][crate::services::redis] | Redis service. |
//! | [s3][crate::services::s3] | AWS S3 alike services. |
//!
//! # Optional features
Expand Down
2 changes: 1 addition & 1 deletion src/object/entry.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ use crate::Object;
use crate::ObjectMetadata;
use crate::ObjectMode;

/// ObjectEntry is returned by [`ObjectStream`][crate::ObjectStream] or [`ObjectIterate`][crate::ObjectIterate] during object list.
/// ObjectEntry is returned by `ObjectStream` or `ObjectIterate` during object list.
///
/// Users can check returning object entry's mode or convert into an object without overhead.
#[derive(Debug)]
Expand Down
2 changes: 1 addition & 1 deletion src/object/iterate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ use crate::ObjectEntry;
pub trait ObjectIterate: Iterator<Item = Result<ObjectEntry>> {}
impl<T> ObjectIterate for T where T: Iterator<Item = Result<ObjectEntry>> {}

/// ObjectIterator is a boxed dyn [`ObjectIterate`]
/// ObjectIterator is a boxed dyn `ObjectIterate`
pub type ObjectIterator = Box<dyn ObjectIterate>;

/// EmptyObjectIterator that always return None.
Expand Down
2 changes: 1 addition & 1 deletion src/object/stream.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ use crate::ObjectEntry;
pub trait ObjectStream: Stream<Item = Result<ObjectEntry>> + Unpin + Send {}
impl<T> ObjectStream for T where T: Stream<Item = Result<ObjectEntry>> + Unpin + Send {}

/// ObjectStreamer is a boxed dyn [`ObjectStream`]
/// ObjectStreamer is a boxed dyn `ObjectStream`
pub type ObjectStreamer = Box<dyn ObjectStream>;

/// EmptyObjectStreamer that always return None.
Expand Down

1 comment on commit ed90d02

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented on ed90d02 Oct 8, 2022

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-pbk58qleu-databend.vercel.app
https://opendal-git-refstagsv0190.vercel.app

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

Please sign in to comment.