What's Changed
Added
- feat: add behavior tests for blocking buffer reader by @WenyXu in #3872
- feat(services): add pcloud support by @hoslo in #3892
- feat(services/hdfs): Atomic write for hdfs by @shbhmrzd in #3875
- feat(services/hdfs): add atomic_write_dir to hdfsconfig debug by @shbhmrzd in #3902
- feat: add MongodbConfig by @zjregee in #3906
- RFC-3898: Concurrent Writer by @WenyXu in #3898
- feat(services): add yandex disk support by @hoslo in #3918
- feat: implement concurrent
MultipartUploadWriter
by @WenyXu in #3915 - feat: add concurrent writer behavior tests by @WenyXu in #3920
- feat: implement concurrent
RangeWriter
by @WenyXu in #3923 - feat: add
concurrent
andbuffer
parameters into FuzzInput by @WenyXu in #3921 - feat(fuzz): add azblob as test service by @suyanhanx in #3931
- feat(services/webhdfs): Implement write with append by @hoslo in #3937
- feat(core/bench): Add benchmark for concurrent write by @Xuanwo in #3942
- feat(oio): add block_write support by @hoslo in #3945
- feat(services/webhdfs): Implement multi write via CONCAT by @hoslo in #3939
- feat(core): Allow retry in concurrent write operations by @Xuanwo in #3958
- feat(services/ghac): Add workaround for AWS S3 based GHES by @Xuanwo in #3985
- feat: Implement path cache and refactor gdrive by @Xuanwo in #3975
- feat(services): add hdfs native layout by @shbhmrzd in #3933
- feat(services/s3): Return error if credential is empty after loaded by @Xuanwo in #4000
- feat(services/gdrive): Use trash instead of permanently deletes by @Xuanwo in #4002
- feat(services): add koofr support by @hoslo in #3981
- feat(icloud): Add basic Apple iCloud Drive support by @bokket in #3980
Changed
- refactor: Merge compose_{read,write} into enum_utils by @Xuanwo in #3871
- refactor(services/ftp): Impl parse_error instead of From by @bokket in #3891
- docs: very minor English wording fix in error message by @gabrielgrant in #3900
- refactor(services/rocksdb): Impl parse_error instead of From by @suyanhanx in #3903
- refactor: Re-organize the layout of tests by @Xuanwo in #3904
- refactor(services/etcd): Impl parse_error instead of From by @suyanhanx in #3910
- refactor(services/sftp): Impl parse_error instead of From by @G-XD in #3914
- refactor!: Bump MSRV to 1.75 by @Xuanwo in #3851
- refactor(services/redis): Impl parse_error instead of From by @suyanhanx in #3938
- refactor!: Revert the bump of MSRV to 1.75 by @Xuanwo in #3952
- refactor(services/onedrive): Add OnedriveConfig to implement ConfigDeserializer by @Borber in #3954
- refactor(service/dropbox): Add DropboxConfig by @howiieyu in #3961
- refactor: Polish internal types and remove not needed deps by @Xuanwo in #3964
- refactor: Add concurrent error test for BlockWrite by @Xuanwo in #3968
- refactor: Remove not needed types in icloud by @Xuanwo in #4021
Fixed
- fix: Bump pyo3 to fix false positive of unnecessary_fallible_conversions by @Xuanwo in #3873
- fix(core): Handling content encoding correctly by @Xuanwo in #3907
- fix: fix RangeWriter incorrect
next_offset
by @WenyXu in #3927 - fix(oio::BlockWrite): fix write_once case by @hoslo in #3953
- fix: Don't retry close if concurrent > 1 to avoid content lost by @Xuanwo in #3957
- fix(doc): fix rfc typos by @howiieyu in #3971
- fix: Don't call wake_by_ref in OperatorFuture by @Xuanwo in #4003
- fix: async fn resumed after initiate part failed by @Xuanwo in #4013
- fix(pcloud,seafile): use get_basename and get_parent by @hoslo in #4020
- fix(ci): remove pr author from review candidates by @dqhl76 in #4023
Docs
- docs(bindings/python): drop unnecessary patchelf by @tisonkun in #3889
- docs: Polish core's quick start by @Xuanwo in #3896
- docs(gcs): correct the description of credential by @WenyXu in #3928
- docs: Add 0.44.1 download link by @Xuanwo in #3929
- docs(release): how to clean up old releases by @tisonkun in #3934
- docs(website): polish download page by @suyanhanx in #3932
- docs: improve user verify words by @tisonkun in #3941
- docs: fix incorrect word used by @zegevlier in #3944
- docs: improve wording for community pages by @tisonkun in #3978
- docs(bindings/nodejs): copyright in footer by @suyanhanx in #3986
- docs(bindings/nodejs): build docs locally doc by @suyanhanx in #3987
- docs: Fix missing word in download by @Xuanwo in #3993
- docs(bindings/java): copyright in footer by @G-XD in #3996
- docs(website): update footer by @suyanhanx in #4008
- docs: add trademark information to every possible published readme by @PsiACE in #4014
- docs(website): replace podling to project in website by @morristai in #4015
- docs: Update release guide to adapt as a new TLP by @Xuanwo in #4011
- docs: Add WebHDFS version compatibility details by @shbhmrzd in #4024
- docs: Polish the template for add candidate as PMC member by @Xuanwo in #4027
CI
- build(deps): bump actions/download-artifact from 3 to 4 by @dependabot in #3885
- build(deps): bump once_cell from 1.18.0 to 1.19.0 by @dependabot in #3880
- build(deps): bump napi-derive from 2.14.2 to 2.14.6 by @dependabot in #3879
- build(deps): bump url from 2.4.1 to 2.5.0 by @dependabot in #3876
- build(deps): bump mlua from 0.8.10 to 0.9.2 by @oowl in #3890
- ci: Disable supabase tests for our test org has been paused by @Xuanwo in #3908
- ci: Downgrade artifact actions until regression addressed by @Xuanwo in #3935
- ci: Refactor fuzz to integrate with test planner by @Xuanwo in #3936
- ci: Pick random reviewers from committer list by @Xuanwo in #4001
Chore
- chore: update release related docs and script by @dqhl76 in #3870
- chore(NOTICE): update copyright to year 2024 by @suyanhanx in #3894
- chore: Format code to make readers happy by @Xuanwo in #3912
- chore: Remove unused dep async-compat by @Xuanwo in #3947
- chore: display project logo on Rust docs by @tisonkun in #3983
- chore: improve trademarks in bindings docs by @tisonkun in #3984
- chore: use Apache OpenDAL™ in the first and most prominent mention by @tisonkun in #3988
- chore: add more information for javadocs by @tisonkun in #3989
- chore: precise footer by @tisonkun in #3997
- chore: use full form name when necessary by @tisonkun in #3998
- chore(bindings/python): Enable sftp service by default for unix platform by @Zheaoli in #4006
- chore: remove disclaimer by @suyanhanx in #4009
- chore: Remove incubating from releases by @Xuanwo in #4010
- chore: trim incubator prefix everywhere by @tisonkun in #4016
- chore: fixup doc link in release_java.yml by @tisonkun in #4019
- chore: simplify reviewer candidates logic by @tisonkun in #4017
- chore: Bump to version 0.44.2 to start release process by @Zheaoli in #4028
New Contributors
- @bokket made their first contribution in #3891
- @gabrielgrant made their first contribution in #3900
- @zjregee made their first contribution in #3906
- @zegevlier made their first contribution in #3944
- @Borber made their first contribution in #3954
- @howiieyu made their first contribution in #3961
Full Changelog: v0.44.1...v0.44.2