github apache/opendal v0.53.0

latest releases: v0.53.1, bindings/go/v0.1.10, v0.53.1-rc.1...
26 days ago

Upgrade to Rust Core v0.53

Public API

Supabase service is now an S3-compatible servcice

Supabase Storage is now an S3-compatible service instead: https://github.com/supabase/storage.

We removed the supabase native service support in OpenDAL v0.53. Users who want to access Supabase Storage can use the S3 service instead.

All metrics related layers have been refactored

All metrics layers have been refactored:

  • PrometheusLayer
  • PrometheusClientLayer
  • MetricsLayer

They are now provides more metrics and more detailed information. All their public API have been redesigned.

For more details, please refer to opendal::layers::observe's module documentation.

Operator::default_executor has been replaced by Operator::executor

In opendal v0.53, we introduced a new concept of Context which is used to store the context of the current operator. Thanks to this design, we can now get and set the executor and http_client for given Operator instead.

All services http_client API has been deprecated and replaced by Operator::update_http_client API.

OpenDAL MSRV bumped to 1.80

Since v0.53, OpenDAL will require Rust 1.80.0 or later to build.

Raw API

Operation enum merge

To reduce the complexity of the Operation, we have merged the duplicated Operation.

For example:

  • Operation::ReaderRead has been merged into Operation::Read
  • Operation::BlockingRead has been merged into Operation::Read

Upgrade to Nodejs Binding v0.48

Breaking change

Public API

Now, nodejs binding op.is_exist changed to op.exists to align with nodejs API style.

What's Changed

Added

Changed

  • refactor(!): Supabase is now an S3-compatible servcices by @Xuanwo in #5663
  • refactor: Migrate s3 services to context based http client by @Xuanwo in #5676
  • refactor: Migrate oss services to context based http client by @Ziy1-Tan in #5681
  • refactor: Migrate obs services to context based http client by @Ziy1-Tan in #5682
  • refactor: Migrate cos services to context based http client by @Ziy1-Tan in #5683
  • refactor(bindings/node)!: Change is_exist to exists to align with nodejs API style by @yihong0618 in #5731
  • refactor(services/redis): Implement ConnectionLike for RedisConnection by @Xuanwo in #5748
  • refactor!: Remove opendal-compat which is not maintained by @Xuanwo in #5754
  • refactor: Migrate github services to context based http client by @miroim in #5764
  • refactor(gcs): Migrate to context based http client by @leiysky in #5778
  • refactor(core/raw)!: Merge blocking and async operations by @Xuanwo in #5789
  • refactor(core/raw)!: Use AccessorInfo instead of seperate fields by @Xuanwo in #5796
  • refactor: Migrate aliyun_drive services to context based http client by @miroim in #5815
  • refactor: Migrate azfile services to context based http client by @miroim in #5816
  • refactor: Migrate dropbox services to context based http client by @miroim in #5827
  • refactor: Migrate upyun services to context based http client by @miroim in #5829
  • refactor(core): Migrate BlockWriter to use executor from context by @Xuanwo in #5834
  • refactor(core): Migrate MultipartWrite Executor to context based by @Xuanwo in #5835
  • refactor(core): Migrate PositionWrite Executor to context based by @Xuanwo in #5836
  • refactor(core)!: Migrate to context based executor by @Xuanwo in #5838
  • refactor: tidy binding java code by @tisonkun in #5840
  • refactor: Migrate yandex_disk services to context based http client by @miroim in #5841
  • refactor: Migrate alluxio services to context based http client by @miroim in #5842
  • refactor: Migrate b2 service to context based http client by @miroim in #5843
  • refactor: migrate azblob services to context based http client by @Ziy1-Tan in #5845
  • refactor: Migrate gdrive service to context based http client by @miroim in #5861
  • refactor: Migrate pcloud service to context based http client by @miroim in #5866
  • refactor!: Bump OpenDAL MSRV to 1.80 by @Xuanwo in #5868
  • refactor: Introduce VercelArtifactsCore for improved service structure by @miroim in #5873
  • refactor: Migrate vercel_artifacts service to context based http client by @miroim in #5877
  • refactor: Migrate http service to context based http client by @miroim in #5879
  • refactor: Migrate services to context based http client by @miroim in #5882
  • refactor: Polishing IO metrics by adding more useful metrics by @Xuanwo in #5883
  • refactor(core): Add good default histogram buckets for metrics by @Xuanwo in #5886
  • refactor: Migrate icloud service to context based http client by @miroim in #5891
  • refactor(bindings/dart)!: support macos and use exists api by @yihong0618 in #5884
  • refactor: Migrate PrometheusClientLayer to support IO metrics by @Xuanwo in #5887
  • refactor(core)!: Merge operations to build more clean metrics by @Xuanwo in #5892
  • refactor: Migrate WebHDFS service to context based http client by @miroim in #5893
  • refactor(layer/metrics): Migrate MetricsLayer to support IO metrics by @koushiro in #5900
  • refactor(layer/prometheus): Migrate PrometheusLayer to support IO metrics by @koushiro in #5899
  • refactor(layer/otelmetrics): Migrate OtelMetricsLayer to support IO metrics by @koushiro in #5901
  • refactor: Introduce SftpCore for improved service structure by @miroim in #5902
  • refactor(observe): remove duplicated observation by @koushiro in #5894
  • refactor: refine RetryLayer type signature by @tisonkun in #5905
  • refactor(core): Remove all write_has_xxx capabilities by @Ziy1-Tan in #5908
  • refactor(services/obs): Implement Write Returns Metadata for obs by @Ziy1-Tan in #5912

Fixed

Docs

CI

  • ci(bindings/zig): update to zig version 0.14.0 by @kassane in #5700
  • ci: add clippy to some of the binding check ci by @yihong0618 in #5717
  • build: bump opentelemetry dependency to 0.29.0 by @tisonkun in #5856
  • build(deps): bump actions/setup-python from 4 to 5 by @dependabot in #5926
  • build(deps): update datafusion requirement from 45.0.0 to 46.0.1 in /integrations/object_store by @dependabot in #5928
  • build(deps): bump governor from 0.6.3 to 0.10.0 in /core by @dependabot in #5923
  • build(deps): bump log from 0.4.25 to 0.4.27 in /bin/oay by @dependabot in #5927
  • build(deps): bump humantime from 2.1.0 to 2.2.0 in /bin/oli by @dependabot in #5925
  • build(deps): bump test-context from 0.3.0 to 0.4.1 in /bin/ofs by @dependabot in #5924
  • build(deps): update pyo3 requirement from 0.23.3 to 0.24.1 in /bindings/python by @dependabot in #5922
  • ci: Disable zigbuild to workaround undefined symbol by @Xuanwo in #5936

Chore

New Contributors

Full Changelog: v0.52.0...v0.53.0

Don't miss a new opendal release

NewReleases is sending notifications on new releases.