Skip to content

Releases: apache/opendal

v0.14.1

30 Aug 04:58
v0.14.1
6f8f4ae
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.14.0...v0.14.1

v0.14.0

28 Aug 04:40
v0.14.0
5e49ac2
Compare
Choose a tag to compare

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: v0.13.1...v0.14.0

v0.13.1

22 Aug 00:48
v0.13.1
7dad75e
Compare
Choose a tag to compare

What's Changed

  • chore: Crates.io doesn't allow keywords more than five by @Xuanwo in #539
  • feat: Add walk for BatchOperator by @Xuanwo in #543
  • feat: Mark Scheme non_exhaustive and extendable by @Xuanwo in #544
  • feat: Try to limit the max_connections for http client by @Xuanwo in #545
  • feat: Implement huaweicloud obs service read support by @eastfisher in #540
  • docs: Fix gcs is missing from index by @Xuanwo in #546
  • docs: Fix typo by @Xuanwo in #550
  • Bump to version 0.13.1 by @Xuanwo in #551

New Contributors

Full Changelog: v0.13.0...v0.13.1

v0.13.0

17 Aug 07:06
v0.13.0
1c2f6ef
Compare
Choose a tag to compare

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

  • chore: Fix cargo publish by @Xuanwo in #520
  • feat: Refactor metrics and hide under feature layers-metrics by @Xuanwo in #521
  • refactor: Rewrite retry layer support by @Xuanwo in #522
  • feat(layer): Add TracingLayer support by @Xuanwo in #523
  • feature: Google Cloud Storage support skeleton by @ClSlaid in #513
  • styles: Make xuanwo happy by @Xuanwo in #524
  • feat: Add LoggingLayer to replace service internal logs by @Xuanwo in #526
  • fix: Make ProtocolViolation a retryable error by @Xuanwo in #528
  • feat: Implement integration tests for gcs by @Xuanwo in #532
  • docs: Add docs for new layers by @Xuanwo in #534
  • docs: Add docs for gcs backend by @ClSlaid in #535
  • Bump to version 0.13 by @Xuanwo in #537

Full Changelog: v0.12.0...v0.13.0

v0.12.0

12 Aug 16:05
v0.12.0
8f9a387
Compare
Choose a tag to compare

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

  • chore(deps): Bump anyhow from 1.0.58 to 1.0.60 in /oay by @dependabot in #499
  • chore(deps): Bump anyhow from 1.0.58 to 1.0.60 in /oli by @dependabot in #500
  • RFC-0501: New Builder by @Xuanwo in #501
  • refactor: Remove deprecated struct Metadata by @Xuanwo in #503
  • feat: Use isahc to replace hyper by @Xuanwo in #471
  • feat: Implement RFC-0501 New Builder by @Xuanwo in #510
  • refactor: make parse http error code public by @ClSlaid in #511
  • refactor: Extrace new http error APIs by @Xuanwo in #515
  • refactor: Simplify the error response parse logic by @Xuanwo in #516
  • Bump to version 0.12 by @Xuanwo in #518

New Contributors

Full Changelog: v0.11.4...v0.12.0

v0.11.4

02 Aug 07:52
v0.11.4
df822e0
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.11.3...v0.11.4

v0.11.3

26 Jul 07:10
v0.11.3
fd3ef54
Compare
Choose a tag to compare

What's Changed

  • build: Remove not used features by @Xuanwo in #472
  • fix: Disable connection pool as workaround for async runtime hang by @Xuanwo in #474
  • Bump to version 0.11.3 by @Xuanwo in #475

Full Changelog: v0.11.2...v0.11.3

v0.11.2

19 Jul 15:30
v0.11.2
be11dab
Compare
Choose a tag to compare

What's Changed

  • chore(deps): Bump clap from 3.2.8 to 3.2.12 in /oli by @dependabot in #453
  • fix: Service HTTP deosn't handle dir correctly by @Xuanwo in #455
  • fix: Service HTTP inserted with wrong key by @Xuanwo in #457
  • Bump to version 0.11.2 by @Xuanwo in #456

Full Changelog: v0.11.1...v0.11.2

v0.11.1

19 Jul 07:41
v0.11.1
f1f10e5
Compare
Choose a tag to compare

What's Changed

  • RFC-0438: Multipart by @Xuanwo in #438
  • RFC-0443: Gateway by @Xuanwo in #443
  • feat: Add basic oay support for http by @Xuanwo in #445
  • feat: BytesRange supports parsing from range and content-range by @Xuanwo in #449
  • feat(oay): Implement range support by @Xuanwo in #450
  • feat(services-http): Implement write and delete for testing by @Xuanwo in #451
  • Bump to version 0.11.1 by @Xuanwo in #452

Full Changelog: v0.11.0...v0.11.1

v0.11.0

11 Jul 04:07
v0.11.0
fb4ba4b
Compare
Choose a tag to compare

What's Changed

  • feat: derive Deserialize/Serialize for ObjectMetaData by @killme2008 in #420
  • RFC-0423: Command Line Interface by @Xuanwo in #423
  • feat: optimaze range read by @sandflee in #425
  • feat(oli): Add basic layout for oli by @Xuanwo in #426
  • RFC-0429: Init From Iter by @Xuanwo in #429
  • feat: Implement RFC-0429 Init From Iter by @Xuanwo in #432
  • chore: Cleanup import of operator by @Xuanwo in #433
  • docs: Update description of OpenDAL by @Xuanwo in #434
  • feat(oli): Add cp command layout by @Xuanwo in #428
  • Bump to version 0.11.0 by @Xuanwo in #435

New Contributors

  • @killme2008 made their first contribution in #420
  • @sandflee made their first contribution in #425

Full Changelog: v0.10.0...v0.11.0