Upgrade to v0.52
Public API
RFC-5556: Write Returns Metadata
Since v0.52, all write APIs in OpenDAL have been updated to return Metadata
instead of ()
. This metadata includes useful information provided by the service, such as content-length
, etag
, version
, and last-modified
.
This feature is not fully ready yet, and many available metadata fields are still not returned. Please visit Tracking Issues of RFC-5556: Write Returns Metadata for progress and contributions.
Affected API:
opendal::Operator::write
opendal::Operator::write_with
opendal::Operator::writer::close
opendal::raw::oio::Write::close
Github Actions Cache (ghac) service v2
As requested by GitHub, we have upgraded our GHAC service to ensure compatibility with the latest GitHub Actions cache API.
By upgrading to OpenDAL v0.52, your services will continue functioning after the deprecation of the legacy service (2025/03/01). GHES does not yet support GHAC v2, but OpenDAL has handled this properly to prevent any disruptions.
ghac service doesn't support delete
anymore, please use github's API to delete cache instead.
This upgrade is mandatory and enabled by default using an environment variable in the GitHub CI environment. No changes are required at the code level.
Breaking Changes in Dependencies
OtelTraceLayer
andOtelMetricsLayer
's dependenceopentelemetry
bumped to0.28
PrometheusClientLayer
's dependenceprometheus-client
bumped to0.23.1
v0.52.0
Added
- feat(services/s3): Added crc64nvme for s3 by @geetanshjuneja in #5580
- feat(services-fs): Support write-if-not-exists in fs backend by @SergeiPatiakin in #5605
- feat(services/gcs): Impl content-encoding support for GCS stat, write and presign by @wlinna in #5610
- feat(bindings/ruby): add lister by @erickguan in #5600
- feat(services/swift): Added user metadata support for swift service by @zhaohaidao in #5601
- feat: Implement github actions cache service v2 support by @Xuanwo in #5633
- feat(core)!: implement write returns metadata by @meteorgan in #5562
- feat(bindings/python): let path can be PathLike by @asukaminato0721 in #5636
- feat(bindings/python): add exists by @asukaminato0721 in #5637
Changed
Fixed
- fix(services/gcs): Fix content encoding can't be used alone by @Xuanwo in #5614
- fix: ghac doesn't support delete anymore by @Xuanwo in #5628
- fix(services/gdrive): skip the trailing slash when creating and querying the directory by @meteorgan in #5631
Docs
- docs(bindings/ruby): add documentation for Ruby binding by @erickguan in #5629
- docs: Add upgrade docs for upcoming 0.52 by @Xuanwo in #5634
CI
- ci: Fix bad corepack cannot find matching keyid by @Xuanwo in #5603
- ci(website): avoid including rc when calculate the latest version by @tisonkun in #5608
- build: upgrade opentelemetry dependencies to 0.28.0 by @tisonkun in #5625
- ci: Try fix nodejs CI by @Xuanwo in #5643
- ci: Skip corepack checks until next nodejs version by @Xuanwo in #5644
Chore
- chore(deps): bump uuid from 1.11.0 to 1.12.1 in /bin/oli by @dependabot in #5589
- chore(deps): bump uuid from 1.11.0 to 1.12.1 in /core by @dependabot in #5588
- chore(deps): bump log from 0.4.22 to 0.4.25 in /bin/oay by @dependabot in #5590
- chore(deps): bump tempfile from 3.15.0 to 3.16.0 in /bin/ofs by @dependabot in #5586
- chore(deps): update libtest-mimic requirement from 0.7.3 to 0.8.1 in /integrations/object_store by @dependabot in #5587
- chore(layers/prometheus-client): upgrade prometheus-client dependency to v0.23.1 by @koushiro in #5576
- chore(ci): remove benchmark report by @dqhl76 in #5626
New Contributors
- @SergeiPatiakin made their first contribution in #5605
- @wlinna made their first contribution in #5610
- @zhaohaidao made their first contribution in #5601
Full Changelog: v0.51.2...v0.52.0