github apache/opendal v0.30.0

latest releases: v0.50.2, v0.50.2-rc.1, draft-v0.50.2...
20 months ago

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\(\) to reader($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 to ErrorKind::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 to create_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 and scan by @messense in #1541
  • feat: Append EntryMode to Entry 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

Full Changelog: v0.29.1...v0.30.0

Don't miss a new opendal release

NewReleases is sending notifications on new releases.