github apache/opendal v0.41.0

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

Upgrade Note

Rust Core

There are no public API and raw API changes.

Java binding

Breaking change for constructing operators

PR-3166 changes the API for constructing operators:

Previous:

new BlockingOperator(scheme, config);
new Operator(scheme, config);

Current:

BlockingOperator.of(scheme, config);
Operator.of(scheme, config);

Now, there is no public constructor for operators, but only factory methods. In this way, the APIs are free to do arbitrary verifications and preparations before constructing operators.

Node.js binding

There are no API changes.

Python binding

There are no API changes.


What's Changed

Added

  • feat: allow using prometheus-client crate with PrometheusClientLayer by @flaneur2020 in #3134
  • feat(binding/java): support info ops by @G-XD in #3154
  • test(binding/java): add behavior test framework by @G-XD in #3129
  • feat: Include starting offset for GHAC upload Content-Range by @huonw in #3163
  • feat(bindings/cpp): make ReaderStream manage the lifetime of Reader by @silver-ymz in #3164
  • feat: Enable multi write for ghac by @Xuanwo in #3165
  • feat: Add mysql support for OpenDAL by @Zheaoli in #3170
  • feat(service/postgresql): support connection pool by @Zheaoli in #3176
  • feat(services/ghac): Allow explicitly setting ghac endpoint/token, not just env vars by @huonw in #3177
  • feat(service/azdls): add append support for azdls by @dqhl76 in #3186
  • feat(bindings/python): Enable BlockingLayer for non-blocking services that don't support blocking by @messense in #3198
  • feat: Add write_can_empty in Capability and related tests by @Xuanwo in #3200
  • feat: Add basic support for bindings/go using CGO by @jiaoew1991 in #3204
  • feat(binding/java): add copy test by @G-XD in #3207
  • feat(service/sqlite): Support sqlite for opendal by @Zheaoli in #3212
  • feat(services/sqlite): Support blocking_get/set/delete in sqlite service by @Zheaoli in #3218
  • feat(oay): port WebdavFs to dav-server-fs-opendal by @Young-Flash in #3119

Changed

  • refactor(services/dropbox): Use OpWrite instead of passing all args as parameters by @ImSingee in #3126
  • refactor(binding/java): read should return bytes by @tisonkun in #3153
  • refactor(bindings/java)!: operator jni calls by @tisonkun in #3166
  • refactor(tests): reuse function to remove duplicate code by @zhao-gang in #3219

Fixed

  • fix(tests): Create test files one by one instead of concurrently by @Xuanwo in #3132
  • chore(ci): fix web identity token path for aws s3 assume role test by @everpcpc in #3141
  • fix(services/s3): Detect region returned too early when header is empty by @Xuanwo in #3187
  • fix: making OpenDAL compilable on 32hf platforms by @ClSlaid in #3188
  • fix(binding/java): decode Java’s modified UTF-8 format by @G-XD in #3195

Docs

CI

  • ci: Align tags with semver specs by @Xuanwo in #3136
  • ci: Migrate obs to databend labs sponsored bucket by @Xuanwo in #3137
  • build(bindings/java): support develop with JDK 21 by @tisonkun in #3140
  • ci: Migrate GCS to Databend Labs sponsored bucket by @Xuanwo in #3142
  • build(bindings/java): upgrade maven wrapper version by @tisonkun in #3167
  • build(bindings/java): support explicit cargo build target by @tisonkun in #3168
  • ci: Pin Kvrocks docker image to 2.5.1 to avoid test failure by @git-hulk in #3192
  • ci(bindings/ocaml): add doc by @Ranxy in #3208
  • build(deps): bump actions/checkout from 3 to 4 by @dependabot in #3222
  • build(deps): bump korandoru/hawkeye from 3.3.0 to 3.4.0 by @dependabot in #3223
  • build(deps): bump rusqlite from 0.25.4 to 0.29.0 by @dependabot in #3226

Chore

New Contributors

Full Changelog: v0.40.0...v0.41.0

Don't miss a new opendal release

NewReleases is sending notifications on new releases.