Upgrade to v0.30
In version 0.30, we made significant breaking changes by removing objects. Our goal in doing so was to provide our users with APIs that are easier to understand and maintain.
More detailes could be found at [RFC: Remove Object Concept][crate::docs::rfcs::rfc_1477_remove_object_concept].
To upgrade to OpenDAL v0.30, users need to make the following changes:
- regex replace
object\((.*)\).reader\(\)
toreader($1)
- replace the function on your case, it's recomanded to do it one by one
- rename
ObjectMetakey
=>Metakey
- rename
ObjectMode
=>EntryMode
- replace
ErrorKind::ObjectXxx
toErrorKind::Xxx
- rename
AccessorMetadata
=>AccessorInfo
- rename
ObjectMetadata
=>Metadata
- replace
operator.metadata()
=>operator.info()
What's Changed
- refactor: Split operator APIs into different part by @Xuanwo in #1483
- RFC-1477: Remove Object Concept by @Xuanwo in #1477
- feat(bindings/nodejs): fs Operator by @suyanhanx in #1485
- refactor: Remove Object prefix for public API by @Xuanwo in #1488
- chore: Re-organize the project layout by @Xuanwo in #1489
- refactor: Remove the concept of Object by @Xuanwo in #1496
- fix(services/s3): Make sure the ureq's body has been consumed by @Xuanwo in #1497
- feat(service/dashmap): Add scan support by @suyanhanx in #1492
- ci: Don't run binding tests if only services changes by @Xuanwo in #1498
- chore: typo & clippy by @suyanhanx in #1499
- feat(bindings/nodejs): Add Writer Support by @suyanhanx in #1490
- docs: Remove all references to object by @Xuanwo in #1500
- chore: typo by @suyanhanx in #1501
- ci: Improve rocksdb build speed by link dynamic libs by @Xuanwo in #1502
- feat: Add dummy implementation for accessor and builder by @Xuanwo in #1503
- refactor: remove ReadDir in FTP service by @PragmaTwice in #1504
- feat(bindings/nodejs): Support List & append all default services by @suyanhanx in #1505
- feat(bindings/python): Setup operator init logic by @Xuanwo in #1513
- refactor: rename public api
create
tocreate_dir
by @suyanhanx in #1512 - refactor(bindings/python): return bytes directly and add type stub file by @messense in #1514
- tests: Remove not needed create file test by @Xuanwo in #1516
- feat(bindings/nodejs): write support string by @suyanhanx in #1520
- refactor: improve the python binding implementation by @frostming in #1517
- feat(bindings/python): add support for services that opendal enables by default by @messense in #1522
- docs(bindings/python): Add building docs by @Xuanwo in #1526
- docs(bindings/nodejs): update readme by @suyanhanx in #1527
- feat(bindings/nodejs): Remove
Operator.writer
until we are ready by @suyanhanx in #1528 - ci: Fix bindings CI not running on PR by @Xuanwo in #1530
- fix(services/s3): Allow retry error RequestTimeout by @Xuanwo in #1532
- feat(bindings/nodejs): Support
Operator.create_dir
by @suyanhanx in #1529 - docs: Add detailed docs for create_dir by @Xuanwo in #1537
- feat(bindings/python): implement
create_dir
by @messense in #1534 - feat(bindings/python): implement
delete
and export more metadata fields by @messense in #1539 - feat(bindings/python): implement blocking
list
andscan
by @messense in #1541 - feat: Append
EntryMode
toEntry
by @suyanhanx in #1543 - chore: Move memcache-async into opendal by @Xuanwo in #1544
- feat: Entry refactoring to allow external creation by @damooo in #1547
- feat(bindings/nodejs): Support
Operator.scanSync
&Operator.listSync
by @suyanhanx in #1546 - feat: remove_via can delete files concurrently by @uran0sH in #1495
- refactor(bindings/nodejs): Remove scheme from bindings by @Xuanwo in #1552
- ci: Polish scripts and prepare for releasing by @Xuanwo in #1553
- feat(bindings/python): implement blocking file-like reader API by @messense in #1554
- Bump OpenDAL to 0.30 by @Xuanwo in #1555
New Contributors
- @PragmaTwice made their first contribution in #1504
- @frostming made their first contribution in #1517
- @uran0sH made their first contribution in #1495
Full Changelog: v0.29.1...v0.30.0