Releases: apache/opendal
Releases · apache/opendal
v0.7.1
v0.7.0
What's Changed
- chore(deps): Update quick-xml requirement from 0.22.0 to 0.23.0 by @dependabot in #286
- feat: Add support for blocking decompress_read by @Xuanwo in #289
- feat: Add check for operator by @Xuanwo in #290
- docs: Use mdbook to generate documentation by @Xuanwo in #291
- RFC-0293: Object ID by @Xuanwo in #293
- RFC-0293: Assign RFC number by @Xuanwo in #295
- feat: Implement operator metadata support by @Xuanwo in #296
- feat: Implement RFC-0293 Object ID by @Xuanwo in #298
- fix(services/aws): Increase retry times for AWS STS by @Xuanwo in #299
- feat(io_util): Refactor decompress decoder by @Xuanwo in #302
- ci: Adopt amondnet/vercel-action by @Xuanwo in #303
- Bump to version v0.7.0 by @Xuanwo in #305
- publish: Fix git version not allowed by @Xuanwo in #306
Full Changelog: v0.6.3...v0.7.0
v0.6.3
What's Changed
- ci: Add all issues into databend-storage project by @Xuanwo in #277
- feat(services/s3): Add retry in load_credential by @Xuanwo in #281
- feat(services): Allow endpoint has trailing slash by @Xuanwo in #282
- feat(services): Attach more context in error messages by @Xuanwo in #283
- Bump to version 0.6.3 by @Xuanwo in #284
Full Changelog: v0.6.2...v0.6.3
v0.6.2
v0.6.1
v0.6.0
What's Changed
- docs: Improve docs to 100% coverage by @Xuanwo in #246
- RFC-0247: Retryable Error by @Xuanwo in #247
- feat: Implement retry layers by @Xuanwo in #249
- docs: Make sure code examples are formatted by @Xuanwo in #251
- chore(deps): Update uuid requirement from 0.8.2 to 1.0.0 by @dependabot in #252
- feat: Implement retryable errors for azblob and s3 by @Xuanwo in #254
- feat: Implement hdfs service support by @Xuanwo in #255
- ci: Fix docs build by @Xuanwo in #260
- fix: HDFS jar not load by @Xuanwo in #261
- refactor: Remove deprecated modules by @Xuanwo in #259
- docs: Add docs for hdfs services by @Xuanwo in #262
- Bump to version 0.6.0 by @Xuanwo in #263
- fix: Feature of services-hdfs not handled correctly by @Xuanwo in #264
Full Changelog: v0.5.2...v0.6.0
v0.5.2
What's Changed
- chore: Build all features for docs.rs by @Xuanwo in #238
- ci: Enable auto dependence upgrade by @Xuanwo in #239
- chore(deps): Bump actions/checkout from 2 to 3 by @dependabot in #240
- docs: Refactor examples by @Xuanwo in #241
- fix(services/s3): Endpoint without scheme should also supported by @Xuanwo in #242
- refactor(services): Convert all expect to errors instead by @Xuanwo in #243
- Bump to version 0.5.2 by @Xuanwo in #244
New Contributors
- @dependabot made their first contribution in #240
Full Changelog: v0.5.1...v0.5.2
v0.5.1
v0.5.0
This release introduces the following new features:
Object::create API
Now, we can create an empty file or directory without a trick!
Read Object::create
to know more!
Create empty file
let o = op.object("path/to/file");
let _ = o.create().await?;
Create dir
let o = op.object("path/to/dir/");
let _ = o.create().await?;
Native decompress read support
Now, we can read a compressed file natively!
Enable compress
features:
opendal = {version="0.5.0", feautres=["compress"]}
Read with decompress_read()
or decompress_reader()
!
let o = op.object("path/to/file.gz");
let bs = o.decompress_read().await?;
Azblob support
With the help from @D2Lark, we have official support for azblob now!
Refer to azblob for more information.
// Create azblob backend builder.
let mut builder: Builder = azblob::Backend::build();
// Set the root for azblob, all operations will happen under this root.
//
// NOTE: the root must be absolute path.
builder.root("/path/to/dir");
// Set the container name, this is required.
builder.container("test");
// Set the endpoint, this is required.
//
// For examples:
// - "http://127.0.0.1:10000/devstoreaccount1"
// - "https://accountname.blob.core.windows.net"
builder.endpoint("http://127.0.0.1:10000/devstoreaccount1");
// Set the account_name and account_key.
//
// OpenDAL will try load credential from the env.
// If credential not set and no valid credential in env, OpenDAL will
// send request without signing like anonymous user.
builder.account_name("devstoreaccount1");
builder.account_key("Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==");
// Build the `Accessor`.
let accessor: Arc<dyn Accessor> = builder.finish().await?;
// `Accessor` provides the low level APIs, we will use `Operator` normally.
let op: Operator = Operator::new(accessor);
What's Changed
- feat: Improve error message by @Xuanwo in #220
- RFC-0221: Create Dir by @Xuanwo in #221
- feat: Implement RFC-0221 Create Dir by @Xuanwo in #223
- refactor: Move op.objects() to o.list() by @Xuanwo in #224
- feat: Simplify create API by @Xuanwo in #225
- feat: Implement decompress read support by @Xuanwo in #227
- fix: Azblob should pass all behavior tests now by @Xuanwo in #228
- ci: Enable behavior test for azblob by @Xuanwo in #229
- docs: Add docs for azblob's public structs by @Xuanwo in #230
- refactor: Improve behavior_tests so that cargo test works without --all-features by @Xuanwo in #231
- Bump to version 0.5.0 by @Xuanwo in #232
Full Changelog: v0.4.2...v0.5.0