Skip to content

v0.50.0

Compare
Choose a tag to compare
@Xuanwo Xuanwo released this 18 Sep 09:05
· 159 commits to main since this release
v0.50.0
4d060f2

Release List

Name Version Next
core 0.49.2 0.50.0
integrations/dav-server 0.1.0 0.1.1
integrations/fuse3 0.0.6 0.0.7
integrations/object_store 0.47.0 0.47.1
integrations/parquet 0.1.2 0.2.0
integrations/unftp-sbe 0.0.6 0.0.7
bin/oay 0.41.10 0.41.11
bin/ofs 0.0.11 0.0.12
bin/oli 0.41.10 0.41.11
bindings/c 0.44.12 0.44.13
bindings/cpp 0.45.10 0.45.11
bindings/dotnet 0.1.8 0.1.9
bindings/go 0.1.2 0.1.3
bindings/haskell 0.44.10 0.44.11
bindings/java 0.47.2 0.47.3
bindings/lua 0.1.8 0.1.9
bindings/nodejs 0.47.4 0.47.5
bindings/php 0.1.8 0.1.9
bindings/python 0.45.9 0.45.10
bindings/ruby 0.1.8 0.1.9

Upgrade to OpenDAL Core v0.50

Public API

services-postgresql's connect string now supports only URL format

Previously, it supports both URL format and key-value format. After switching the implementation from tokio-postgres to sqlx, the service now supports only the URL format.

list now returns path itself

Previously, list("a/b") would not return a/b even if it does exist. Since v0.50.0, this behavior has been changed. OpenDAL will now return the path itself if it exists. This change applies to all cases, whether the path is a directory or a file.

Refactoring of the metrics-related layer

In OpenDAL v0.50.0, we did a refactor on all metrics-related layers. They are now sharing the same underlying implemenationts. PrometheusLayer, PrometheusClientLayer and MetricsLayer are now have similar public APIs and exactly the same metrics value.


What's Changed

Added

Changed

  • refactor: use sqlx for sql services by @tisonkun in #5040
  • refactor(core)!: Add observe layer as building block by @Xuanwo in #5064
  • refactor(layers/prometheus): rewrite prometheus layer based on observe mod by @koushiro in #5069
  • refactor(bindings/java): replace num_cpus with std::thread::available_parallelism by @miroim in #5080
  • refactor(layers/prometheus): provide builder APIs by @koushiro in #5072
  • refactor(layers/prometheus-client): provide builder APIs by @koushiro in #5073
  • refactor(layers/metrics): rewrite metrics layer using observe layer by @koushiro in #5098

Fixed

  • fix(core): TimeoutLayer now needs enable tokio time by @Xuanwo in #5057
  • fix(core): Fix failed list related tests by @Xuanwo in #5058
  • fix(services/memory): blocking_scan right range by @meteorgan in #5062
  • fix(core/services/mysql): Fix mysql Capability by @jackyyyyyssss in #5067
  • fix: fix rust 1.76 error due to temporary value being dropped by @aawsome in #5071
  • fix(service/fs): error due to temporary value being dropped by @miroim in #5079
  • fix(core/services/hdfs): Fix the HDFS write failure when atomic_write_dir is set by @meteorgan in #5039
  • fix(services/icloud): adjust error handling code to avoid having to write out result type explicitly by @koushiro in #5091
  • fix(services/monoiofs): handle async cancel during file open by @NKID00 in #5094

Docs

CI

  • ci(bindings/go): add golangci-lint by @yuchanns in #5060
  • ci(bindings/zig): Fix build and test of zig on 0.13 by @Xuanwo in #5102
  • ci: Don't publish with all features by @Xuanwo in #5108
  • ci: Fix upload-artifacts doesn't include hidden files by @Xuanwo in #5112

Chore

  • chore(bindings/go): bump ffi and sys version by @shoothzj in #5055
  • chore: Bump backon to 1.0.0 by @Xuanwo in #5056
  • chore(services/rocksdb): fix misuse rocksdb prefix iterator by @meteorgan in #5059
  • chore(README): add Go binding badge by @yuchanns in #5074
  • chore(deps): bump crate-ci/typos from 1.23.6 to 1.24.3 by @dependabot in #5085
  • chore(layers/prometheus-client): export PrometheusClientLayerBuilder type by @koushiro in #5093
  • chore(layers): check the examples when running tests by @koushiro in #5104
  • chore(integrations/parquet): Bump parquet to 53 by @Xuanwo in #5109
  • chore: Bump OpenDAL to 0.50.0 by @Xuanwo in #5110

New Contributors

Full Changelog: v0.49.2...v0.50.0