opendal

Apache OpenDAL: access data freely.

APACHE-2.0 License

Downloads
16.2K
Stars
3.1K
Committers
226

Bot releases are visible (Hide)

opendal - v0.17.4

Published by Xuanwo about 2 years ago

What's Changed

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.17.3...v0.17.4

opendal - v0.17.3

Published by Xuanwo about 2 years ago

What's Changed

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.17.2...v0.17.3

opendal - v0.17.2

Published by ClSlaid about 2 years ago

What's Changed

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.17.1...v0.17.2

opendal - v0.17.1

Published by Xuanwo about 2 years ago

What's Changed

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.17.0...v0.17.1

opendal - v0.17.0

Published by Xuanwo about 2 years ago

Upgrade to v0.17

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.


What's Changed

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.16.0...v0.17.0

opendal - v0.16.0

Published by Xuanwo about 2 years ago

Upgrade to v0.16

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.
  • http service is read only services and can't be used to 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.


What's Changed

New Contributors

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.15.0...v0.16.0

opendal - v0.15.0

Published by Xuanwo about 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.14.1...v0.15.0

opendal - v0.14.1

Published by Xuanwo about 2 years ago

What's Changed

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.14.0...v0.14.1

opendal - v0.14.0

Published by Xuanwo about 2 years ago

Upgrade to v0.14

OpenDAL v0.14 removed all deprecated APIs in previous versions, including:

  • Operator::with_backoff in v0.13
  • All services Builder::finish() in v0.12
  • All services Backend::build() in v0.12

Please 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.
  • All layers should be refactored to adapt new Accessor trait.

For more information about this change, please refer to RFC-0554: Write Refactor.


What's Changed

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.13.1...v0.14.0

opendal - v0.13.1

Published by Xuanwo about 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.13.0...v0.13.1

opendal - v0.13.0

Published by Xuanwo about 2 years ago

Upgrade to v0.13

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()));

What's Changed

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.12.0...v0.13.0

opendal - v0.12.0

Published by Xuanwo about 2 years ago

Upgrade to v0.12

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:

  • All services Builder::finish() (replaced by Builder::build())
  • All services Backend::build() (replace by Builder::default())

The following APIs have been removed:

  • public struct Metadata (deprecated in v0.8, replaced by ObjectMetadata)

Visit Upgrade Notes for more information.


What's Changed

New Contributors

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.11.4...v0.12.0

opendal - v0.11.4

Published by Xuanwo about 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.11.3...v0.11.4

opendal - v0.11.3

Published by Xuanwo about 2 years ago

What's Changed

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.11.2...v0.11.3

opendal - v0.11.2

Published by Xuanwo over 2 years ago

What's Changed

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.11.1...v0.11.2

opendal - v0.11.1

Published by Xuanwo over 2 years ago

What's Changed

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.11.0...v0.11.1

opendal - v0.11.0

Published by Xuanwo over 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.10.0...v0.11.0

opendal - v0.10.0

Published by Xuanwo over 2 years ago

What's Changed

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.9.1...v0.10.0

opendal - v0.9.1

Published by Xuanwo over 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.9.0...v0.9.1

opendal - v0.9.0

Published by Xuanwo over 2 years ago

What's Changed

Full Changelog: https://github.com/datafuselabs/opendal/compare/v0.8.0...v0.9.0