Breaking Changes
- integrations/object_store:
object_store_opendal0.59 implements theobject_store0.14 API. Update directobject_storedependencies to 0.14. Projects that requireobject_store0.13, including DataFusion 54 users, should pinobject_store_opendal = "=0.58.0". We missedobject_storebreaking version changes in previous opendal 0.58 releases. We yanked badobject_store_opendalreleases so you can expectobject_store_opendalfollows SemVer.
What's Changed
Added
- feat(binding/cpp): Expose writer api by @dentiny in #7981
- feat(bindings/dotnet): add throttle and mime-guess layers, HTTP concurrent limit by @Fatorin in #7984
- feat(binding/cpp): expose positional read API by @dentiny in #7986
- feat(bindings/cpp): expose options to cpp bindings by @dentiny in #7989
- feat(binding/cpp): expose batch deletion API to C++ by @dentiny in #8015
- feat(services): retry HTTP 429 responses by @ddupg in #8035
- feat(services/s3): support explicit AWS profiles by @Xuanwo in #7949
- feat(services/azblob): support if_match writes and honor preconditions on block commit by @tenzinplatter in #8028
- Include user-defined metadata in S3Backend read response by @matt-goroff in #8060
- feat(services/tos): support presigned URLs by @ddupg in #8044
Changed
- refactor(bindings/dotnet): rework the FFI boundary and add zero-copy IO paths by @Fatorin in #8020
- refactor(bindings/dotnet): bind the executor at operator construction by @Fatorin in #8031
Fixed
- fix: Update missing HuggingFace write capabilities by @mhambre in #7992
- fix(services/hf): stop advertising append support by @Xuanwo in #7996
- fix(bindings/cpp): construct reader with options by @Xuanwo in #7997
- fix(ci): pass nuget.org username to NuGet login by @Fatorin in #8004
- fix(bindings/dotnet): forward read options to the streaming reader by @Fatorin in #8016
- fix(ci): fix failed CI due to pyo3 upgrade by @dentiny in #8018
- docs: require searching for similar work before opening PRs by @Xuanwo in #8019
- fix(bindings/python): annotate
**kwargstypes in generated stubs by @trim21 in #8012 - fix(core): deserialize duration config values from strings by @subotac in #7983
- fix(services/oss): honor if_not_exists on multipart uploads by @Xuanwo in #8041
- fix(services/hf): correct the refs/convert revision split by @PDGGK in #8045
- Fix dependency license audit by @erickguan in #8051
- fix(core): Respect logical length in Buffer vectored views by @codeAnqiang-ma in #8064
- fix(services/cos): keep the port and stop doubling the bucket label by @PDGGK in #8066
- fix(services/upyun): do not panic when creating the service root by @PDGGK in #8050
- fix(services/cloudflare-kv): strip only the root prefix from listed keys by @PDGGK in #8048
- fix(services/cos): honor if_not_exists on multipart uploads by @aysha-afrah26 in #8043
- fix(services/onedrive): fix OneDrive path construction for listing by @projekter in #8055
- fix(services): percent-encode the pagination marker in list queries by @PDGGK in #8073
- fix(services/webhdfs): encode startAfter and abort the blocks that were written by @PDGGK in #8075
- fix(services/b2): percent-encode the object path in presigned requests by @PDGGK in #8076
- fix(services/gridfs): default the chunk size to 255 KiB, not 255 bytes by @PDGGK in #8069
- fix(services/d1): repair the upsert statement that breaks every write by @PDGGK in #8068
- fix(services/vercel-blob): send the pagination cursor so listing terminates by @PDGGK in #8071
- fix(services/ipmfs): stop stripping the root twice from listed entries by @PDGGK in #8070
- fix(services/dbfs): root the put path and stop encoding paths in JSON bodies by @PDGGK in #8079
- fix(services/yandex-disk): end the listing when a response has no _embedded by @PDGGK in #8072
- fix(services/lakefs): follow the pagination cursor instead of stopping after one page by @PDGGK in #8088
- fix(core): do not panic when a range has no valid header representation by @PDGGK in #8084
- fix(services/dbfs): make listed entry paths relative to the root by @PDGGK in #8083
- fix(services/github): do not double the separator in recursive listings by @PDGGK in #8082
- fix(services/sqlite): match the directory prefix exactly instead of with LIKE by @PDGGK in #8085
- fix(services/pcloud): send the service root as / rather than empty by @PDGGK in #8081
- fix(services/ipfs): address listed children by their full path by @PDGGK in #8086
- fix(services/onedrive): fix upload and listing behavior by @erickguan in #8080
- fix(services/onedrive): disable write_total_max_size on smaller machine by @erickguan in #8094
Docs
- docs: add conditional operation recipes by @Xuanwo in #7988
- docs(services/s3): document SeaweedFS as a compatible service by @chrislusf in #7994
- RFC-7948: Add S3 provider presets by @Xuanwo in #7948
- docs: fix release doc and polish releases by @erickguan in #8002
- doc(s3): document compatibility with OCI object storage S3 API by @dentiny in #8006
- docs: update release notes by @erickguan in #8047
CI
- ci: derive Python RC versions from tags by @Xuanwo in #7978
- ci(services/s3): run behavior tests against SeaweedFS by @chrislusf in #7995
- ci(bindings/dotnet): reduce native library size and simplify test workflow by @Fatorin in #7998
- ci: group behavior test setups by service by @rohankumardubey in #8017
- chore: GitHub action optimization by @mingcheng in #8077
Chore
- chore(release): prepare v0.58.2 by @erickguan in #8027
- chore(release): fix licenses by @erickguan in #8061
- chore(release): fix jar packaging by @erickguan in #8065
- chore: migrate mea to asyncband by @mingcheng in #8074
- chore(release): update changelog by @erickguan in #8095
- chore(release): update dependency list by @erickguan in #8097
New Contributors
- @chrislusf made their first contribution in #7995
- @subotac made their first contribution in #7983
- @tenzinplatter made their first contribution in #8028
- @rohankumardubey made their first contribution in #8017
- @PDGGK made their first contribution in #8045
- @matt-goroff made their first contribution in #8060
- @codeAnqiang-ma made their first contribution in #8064
- @aysha-afrah26 made their first contribution in #8043
- @projekter made their first contribution in #8055
- @mingcheng made their first contribution in #8074
Full Changelog: v0.58.1...v0.58.2