Apache OpenDAL: access data freely.
APACHE-2.0 License
Bot releases are visible (Hide)
Published by Xuanwo about 2 years ago
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.17.3...v0.17.4
Published by Xuanwo about 2 years ago
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.17.2...v0.17.3
Published by ClSlaid about 2 years ago
enable_secure
in FTP service. by @ClSlaid in https://github.com/datafuselabs/opendal/pull/709
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.17.1...v0.17.2
Published by Xuanwo about 2 years ago
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.17.0...v0.17.1
Published by Xuanwo about 2 years ago
OpenDAL v0.17 refactor the Accessor
to make space for future features.
We move path String
out of the OpXxx
to function args so that we don't need to clone twice.
- async fn read(&self, args: OpRead) -> Result<BytesReader>
+ async fn read(&self, path: &str, args: OpRead) -> Result<BytesReader>
For more information about this change, please refer to RFC-0661: Path In Accessor.
And since OpenDAL v0.17, we will use rustls
as default tls engine for our underlying http client. Since this release, we will not depend on openssl
anymore.
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.16.0...v0.17.0
Published by Xuanwo about 2 years ago
OpenDAL v0.16 refactor the internal implementation of http
service. Since v0.16, http service can be used directly without enabling services-http
feature. Accompany by these changes, http service has the following breaking changes:
services-http
feature has been deprecated. Enabling services-http
is a no-op now.list
or write
.OpenDAL introduces a new layer ImmutableIndexLayer
that can add list
capability for services:
use opendal::layers::ImmutableIndexLayer;
use opendal::Operator;
use opendal::Scheme;
async fn main() {
let mut iil = ImmutableIndexLayer::default();
for i in ["file", "dir/", "dir/file", "dir_without_prefix/file"] {
iil.insert(i.to_string())
}
let op = Operator::from_env(Scheme::Http)?.layer(iil);
}
For more information about this change, please refer to RFC-0627: Split Capabilities.
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.15.0...v0.16.0
Published by Xuanwo about 2 years ago
BytesReader
and DirStreamer
by @ClSlaid in https://github.com/datafuselabs/opendal/pull/603
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.14.1...v0.15.0
Published by Xuanwo about 2 years ago
0..
, don't insert range header by @Xuanwo in https://github.com/datafuselabs/opendal/pull/592
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.14.0...v0.14.1
Published by Xuanwo about 2 years ago
OpenDAL v0.14 removed all deprecated APIs in previous versions, including:
Operator::with_backoff
in v0.13Builder::finish()
in v0.12Backend::build()
in v0.12Please visit related version's upgrade guide for migration.
And in OpenDAL v0.14, we introduce a break change for write
operations.
pub trait Accessor {
- async fn write(&self, args: &OpWrite) -> Result<BytesWriter> {}
+ async fn write(&self, args: &OpWrite, r: BytesReader) -> Result<u64> {}
}
The following APIs have affected by this change:
Object::write
now accept impl Into<Vec<u8>>
instead of AsRef<&[u8]>
Object::writer
has been removed.Object::write_from
has been added to support write from a reader.Accessor
trait.For more information about this change, please refer to RFC-0554: Write Refactor.
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.13.1...v0.14.0
Published by Xuanwo about 2 years ago
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.13.0...v0.13.1
Published by Xuanwo about 2 years ago
OpenDAL deprecate Operator::with_backoff
since v0.13.
Please use RetryLayer
instead:
use anyhow::Result;
use backon::ExponentialBackoff;
use opendal::layers::RetryLayer;
use opendal::Operator;
use opendal::Scheme;
let _ = Operator::from_env(Scheme::Fs)
.expect("must init")
.layer(RetryLayer::new(ExponentialBackoff::default()));
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.12.0...v0.13.0
Published by Xuanwo about 2 years ago
OpenDAL introduces breaking changes for services initiation.
Since v0.12, Operator::new
will accept impl Accessor + 'static
instead of Arc<dyn Accessor>
:
impl Operator {
pub fn new(accessor: impl Accessor + 'static) -> Self { .. }
}
Every service's Builder
now have a build()
API which can be run without async:
let mut builder = fs::Builder::default();
let op: Operator = Operator::new(builder.build()?);
Along with these changes, Operator::from_iter
and Operator::from_env
now is a blocking API too.
For more information about this change, please refer to RFC-0501: New Builder.
The following APIs have been deprecated:
Builder::finish()
(replaced by Builder::build()
)Backend::build()
(replace by Builder::default()
)The following APIs have been removed:
Metadata
(deprecated in v0.8, replaced by ObjectMetadata
)Visit Upgrade Notes for more information.
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.11.4...v0.12.0
Published by Xuanwo about 2 years ago
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.11.3...v0.11.4
Published by Xuanwo about 2 years ago
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.11.2...v0.11.3
Published by Xuanwo over 2 years ago
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.11.1...v0.11.2
Published by Xuanwo over 2 years ago
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.11.0...v0.11.1
Published by Xuanwo over 2 years ago
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.10.0...v0.11.0
Published by Xuanwo over 2 years ago
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.9.1...v0.10.0
Published by Xuanwo over 2 years ago
size
to 0.4 by @mqudsi in https://github.com/datafuselabs/opendal/pull/392
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.9.0...v0.9.1
Published by Xuanwo over 2 years ago
Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.8.0...v0.9.0