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 toObjectXxx
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 themetadata
and refresh our cache.
- If
This change means:
- All API like
content_length
will be changed into async functions. metadata
andblocking_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
- @STRRL made their first contribution in #738
- @youngsofun made their first contribution in #752
Full Changelog: v0.17.4...v0.18.0