github apache/opendal v0.18.0

latest releases: v0.50.2, v0.50.2-rc.1, draft-v0.50.2...
2 years ago

Upgrade to v0.18

OpenDAL v0.18 introduces the following breaking changes:

  • Deprecated feature flag services-http has been removed.
  • All DirXxx items have been renamed to ObjectXxx to make them more consistent.
    • DirEntry -> ObjectEntry
    • DirStream -> ObjectStream
    • DirStreamer -> ObjectStream
    • DirIterate -> ObjectIterate
    • DirIterator -> ObjectIterator

Besides, we also make a big change to our ObjectEntry API. Since v0.18, we can fully reuse the metadata that fetched during list. Take entry.content_length() for example:

  • If content_lenght is already known, we will return directly.
  • If not, we will check if the object entry is complete:
    • If complete, the entry already fetched all metadata that it could have, return directly.
    • If not, we will send a stat call to get the metadata and refresh our cache.

This change means:

  • All API like content_length will be changed into async functions.
  • metadata and blocking_metadata will not return errors anymore.
  • To retrieve the latest meta, please use entry.into_object().metadata() instead.

What's Changed

  • fix(http_util): Disable auto compress and enable http proxy by @Xuanwo in #731
  • refactor: replace error::other with new_other_object_error by @STRRL in #738
  • feat: Add Metadata Cache Layer by @Xuanwo in #739
  • feat: Bump reqsign version to 0.5 by @ClSlaid in #741
  • docs: Add comparison with object_store by @Xuanwo in #745
  • docs: Add docs for list with prefix by @Xuanwo in #746
  • feat: Derive Hash, Eq, PartialEq for Operation by @Xuanwo in #749
  • feat: Make AccessorMetadata public so outer users can use by @Xuanwo in #750
  • feat: Expose AccessorCapability to users by @Xuanwo in #751
  • chore(compress): log with trace level instead of debug. by @youngsofun in #752
  • feat: Expose opendal's http util to users by @Xuanwo in #753
  • feat: Implement convert from PresignedRequest by @Xuanwo in #756
  • feat: Make ObjectMetadata setter public by @Xuanwo in #758
  • refactor: Rename DirXxxx to ObjectXxxx instead by @Xuanwo in #759
  • docs: rename dir entry to object entry by @PsiACE in #760
  • feat: Implement cached metadata for ObjectEntry by @Xuanwo in #761
  • deps: Fix build after bump deps of oli and oay by @Xuanwo in #766
  • feat: Assign unique name for memory backend by @Xuanwo in #769
  • Bump to version 0.18.0 by @Xuanwo in #768

New Contributors

Full Changelog: v0.17.4...v0.18.0

Don't miss a new opendal release

NewReleases is sending notifications on new releases.