opendal 0.1.10 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (545) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +49 -37
  3. data/Cargo.toml +1 -1
  4. data/DEPENDENCIES.rust.tsv +39 -28
  5. data/core/CHANGELOG.md +82 -0
  6. data/core/Cargo.lock +165 -262
  7. data/core/Cargo.toml +99 -93
  8. data/core/DEPENDENCIES.rust.tsv +17 -16
  9. data/core/benches/metadata/README.md +21 -0
  10. data/core/benches/metadata/main.rs +541 -0
  11. data/core/benches/vs_fs/Cargo.toml +1 -1
  12. data/core/benches/vs_s3/Cargo.toml +1 -1
  13. data/core/core/Cargo.toml +6 -1
  14. data/core/core/src/blocking/delete.rs +5 -1
  15. data/core/core/src/blocking/operator.rs +12 -0
  16. data/core/core/src/blocking/read/std_reader.rs +25 -0
  17. data/core/core/src/docs/concepts.rs +70 -94
  18. data/core/core/src/docs/internals/accessor.rs +62 -293
  19. data/core/core/src/docs/internals/layer.rs +43 -59
  20. data/core/core/src/docs/internals/mod.rs +21 -23
  21. data/core/core/src/docs/mod.rs +10 -6
  22. data/core/core/src/docs/performance/concurrent_write.md +92 -55
  23. data/core/core/src/docs/performance/http_optimization.md +120 -104
  24. data/core/core/src/docs/performance/mod.rs +8 -6
  25. data/core/core/src/docs/rfcs/5485_conditional_reader.md +4 -0
  26. data/core/core/src/docs/rfcs/7182_restore_api.md +139 -557
  27. data/core/core/src/docs/rfcs/7945_limited_read.md +210 -0
  28. data/core/core/src/docs/rfcs/8109_writer_copy_from.md +330 -0
  29. data/core/core/src/docs/rfcs/8145_conflict_error_kind.md +210 -0
  30. data/core/core/src/docs/rfcs/8147_write_if_not_changed.md +233 -0
  31. data/core/core/src/docs/rfcs/8188_compose_api.md +292 -0
  32. data/core/core/src/docs/rfcs/8194_compact_metadata_and_operation_args.md +444 -0
  33. data/core/core/src/docs/rfcs/README.md +14 -3
  34. data/core/core/src/docs/rfcs/mod.rs +46 -26
  35. data/core/core/src/docs/specs/README.md +34 -0
  36. data/core/core/src/docs/specs/conditional-operations.md +156 -0
  37. data/core/core/src/docs/specs/metadata.md +63 -0
  38. data/core/core/src/docs/specs/mod.rs +26 -0
  39. data/core/core/src/docs/upgrade.md +114 -1
  40. data/core/core/src/layers/capability_override.rs +15 -2
  41. data/core/core/src/layers/complete.rs +347 -43
  42. data/core/core/src/layers/correctness_check.rs +718 -51
  43. data/core/core/src/layers/error_context.rs +76 -2
  44. data/core/core/src/layers/simulate.rs +91 -28
  45. data/core/core/src/lib.rs +1 -0
  46. data/core/core/src/raw/accessor.rs +91 -15
  47. data/core/core/src/raw/enum_utils.rs +7 -0
  48. data/core/core/src/raw/http_util/header.rs +22 -17
  49. data/core/core/src/raw/oio/compose/api.rs +92 -0
  50. data/core/core/src/raw/oio/compose/mod.rs +19 -0
  51. data/core/core/src/raw/oio/copy/api.rs +3 -3
  52. data/core/core/src/raw/oio/copy/block_copy.rs +32 -4
  53. data/core/core/src/raw/oio/copy/multipart_copy.rs +36 -7
  54. data/core/core/src/raw/oio/entry.rs +48 -22
  55. data/core/core/src/raw/oio/list/flat_list.rs +1 -1
  56. data/core/core/src/raw/oio/list/hierarchy_list.rs +3 -2
  57. data/core/core/src/raw/oio/mod.rs +3 -0
  58. data/core/core/src/raw/oio/write/api.rs +40 -0
  59. data/core/core/src/raw/oio/write/append_write.rs +4 -4
  60. data/core/core/src/raw/oio/write/block_write.rs +2 -2
  61. data/core/core/src/raw/oio/write/multipart_write.rs +180 -47
  62. data/core/core/src/raw/oio/write/position_write.rs +1 -1
  63. data/core/core/src/raw/operation.rs +6 -0
  64. data/core/core/src/raw/ops.rs +1187 -455
  65. data/core/core/src/raw/rps.rs +11 -0
  66. data/core/core/src/raw/time.rs +14 -3
  67. data/core/core/src/services/memory/backend.rs +5 -10
  68. data/core/core/src/services/memory/lister.rs +4 -4
  69. data/core/core/src/services/memory/writer.rs +7 -6
  70. data/core/core/src/types/capability.rs +65 -0
  71. data/core/core/src/types/compact.rs +329 -0
  72. data/core/core/src/types/compose/composer.rs +183 -0
  73. data/core/core/src/types/compose/input.rs +57 -0
  74. data/core/core/src/types/compose/mod.rs +23 -0
  75. data/core/core/src/types/context/read.rs +16 -11
  76. data/core/core/src/types/context/write.rs +149 -1
  77. data/core/core/src/types/copy.rs +5 -3
  78. data/core/core/src/types/delete/deleter.rs +20 -12
  79. data/core/core/src/types/delete/input.rs +22 -64
  80. data/core/core/src/types/delete/mod.rs +0 -1
  81. data/core/core/src/types/entry.rs +8 -14
  82. data/core/core/src/types/error.rs +28 -11
  83. data/core/core/src/types/metadata.rs +709 -322
  84. data/core/core/src/types/mod.rs +9 -1
  85. data/core/core/src/types/operator/operator.rs +278 -29
  86. data/core/core/src/types/operator/operator_futures.rs +460 -102
  87. data/core/core/src/types/options.rs +621 -154
  88. data/core/core/src/types/read/futures_async_reader.rs +663 -50
  89. data/core/core/src/types/read/reader.rs +14 -5
  90. data/core/core/src/types/write/futures_async_writer.rs +27 -0
  91. data/core/core/src/types/write/writer.rs +47 -5
  92. data/core/http-transports/reqwest/Cargo.toml +1 -1
  93. data/core/layers/async-backtrace/Cargo.toml +2 -2
  94. data/core/layers/async-backtrace/src/lib.rs +21 -2
  95. data/core/layers/await-tree/Cargo.toml +2 -2
  96. data/core/layers/await-tree/src/lib.rs +25 -2
  97. data/core/layers/capability-check/Cargo.toml +2 -2
  98. data/core/layers/capability-check/src/lib.rs +98 -10
  99. data/core/layers/chaos/Cargo.toml +2 -2
  100. data/core/layers/chaos/src/lib.rs +18 -3
  101. data/core/layers/concurrent-limit/Cargo.toml +2 -2
  102. data/core/layers/concurrent-limit/src/lib.rs +50 -10
  103. data/core/layers/dtrace/Cargo.toml +2 -2
  104. data/core/layers/dtrace/src/lib.rs +29 -2
  105. data/core/layers/fastmetrics/Cargo.toml +3 -3
  106. data/core/layers/fastrace/Cargo.toml +2 -2
  107. data/core/layers/fastrace/src/lib.rs +28 -2
  108. data/core/layers/foyer/Cargo.toml +2 -2
  109. data/core/layers/foyer/src/full.rs +16 -19
  110. data/core/layers/foyer/src/lib.rs +67 -14
  111. data/core/layers/hotpath/Cargo.toml +2 -2
  112. data/core/layers/hotpath/src/lib.rs +20 -2
  113. data/core/layers/immutable-index/Cargo.toml +2 -2
  114. data/core/layers/immutable-index/src/lib.rs +48 -24
  115. data/core/layers/logging/Cargo.toml +2 -2
  116. data/core/layers/logging/src/lib.rs +46 -2
  117. data/core/layers/metrics/Cargo.toml +3 -3
  118. data/core/layers/mime-guess/Cargo.toml +2 -2
  119. data/core/layers/mime-guess/src/lib.rs +31 -4
  120. data/core/layers/observe-metrics-common/Cargo.toml +2 -2
  121. data/core/layers/observe-metrics-common/src/lib.rs +55 -2
  122. data/core/layers/otelmetrics/Cargo.toml +3 -3
  123. data/core/layers/oteltrace/Cargo.toml +2 -2
  124. data/core/layers/oteltrace/src/lib.rs +27 -2
  125. data/core/layers/prometheus/Cargo.toml +3 -3
  126. data/core/layers/prometheus-client/Cargo.toml +3 -3
  127. data/core/layers/retry/Cargo.toml +4 -4
  128. data/core/layers/retry/src/lib.rs +76 -19
  129. data/core/layers/route/Cargo.toml +3 -3
  130. data/core/layers/route/src/lib.rs +34 -7
  131. data/core/layers/tail-cut/Cargo.toml +2 -2
  132. data/core/layers/tail-cut/src/lib.rs +28 -2
  133. data/core/layers/throttle/Cargo.toml +2 -2
  134. data/core/layers/throttle/src/lib.rs +19 -2
  135. data/core/layers/timeout/Cargo.toml +3 -3
  136. data/core/layers/timeout/src/lib.rs +38 -13
  137. data/core/layers/tracing/Cargo.toml +2 -2
  138. data/core/layers/tracing/src/lib.rs +24 -3
  139. data/core/services/aliyun-drive/Cargo.toml +1 -1
  140. data/core/services/aliyun-drive/src/backend.rs +33 -23
  141. data/core/services/aliyun-drive/src/core.rs +142 -53
  142. data/core/services/aliyun-drive/src/lister.rs +19 -18
  143. data/core/services/aliyun-drive/src/reader.rs +4 -1
  144. data/core/services/aliyun-drive/src/writer.rs +3 -3
  145. data/core/services/alluxio/Cargo.toml +1 -1
  146. data/core/services/alluxio/src/backend.rs +1 -1
  147. data/core/services/alluxio/src/core.rs +113 -94
  148. data/core/services/alluxio/src/reader.rs +7 -3
  149. data/core/services/alluxio/src/writer.rs +2 -2
  150. data/core/services/azblob/Cargo.toml +2 -2
  151. data/core/services/azblob/src/backend.rs +16 -9
  152. data/core/services/azblob/src/copier.rs +41 -15
  153. data/core/services/azblob/src/core.rs +353 -135
  154. data/core/services/azblob/src/deleter.rs +41 -18
  155. data/core/services/azblob/src/lister.rs +16 -10
  156. data/core/services/azblob/src/reader.rs +4 -1
  157. data/core/services/azblob/src/writer.rs +48 -15
  158. data/core/services/azdls/Cargo.toml +2 -2
  159. data/core/services/azdls/src/backend.rs +45 -15
  160. data/core/services/azdls/src/config.rs +4 -1
  161. data/core/services/azdls/src/core.rs +276 -88
  162. data/core/services/azdls/src/deleter.rs +13 -4
  163. data/core/services/azdls/src/lister.rs +18 -12
  164. data/core/services/azdls/src/reader.rs +6 -2
  165. data/core/services/azdls/src/writer.rs +43 -22
  166. data/core/services/azfile/Cargo.toml +2 -2
  167. data/core/services/azfile/src/backend.rs +24 -8
  168. data/core/services/azfile/src/core.rs +194 -76
  169. data/core/services/azfile/src/deleter.rs +8 -1
  170. data/core/services/azfile/src/lister.rs +20 -14
  171. data/core/services/azfile/src/reader.rs +5 -2
  172. data/core/services/azfile/src/writer.rs +27 -15
  173. data/core/services/azure-common/Cargo.toml +1 -1
  174. data/core/services/b2/Cargo.toml +1 -1
  175. data/core/services/b2/src/backend.rs +17 -7
  176. data/core/services/b2/src/core.rs +133 -119
  177. data/core/services/b2/src/deleter.rs +1 -1
  178. data/core/services/b2/src/lister.rs +5 -2
  179. data/core/services/b2/src/reader.rs +5 -2
  180. data/core/services/b2/src/writer.rs +29 -12
  181. data/core/services/cacache/Cargo.toml +1 -1
  182. data/core/services/cacache/src/backend.rs +4 -5
  183. data/core/services/cacache/src/reader.rs +4 -1
  184. data/core/services/cacache/src/writer.rs +6 -2
  185. data/core/services/cloudflare-kv/Cargo.toml +1 -1
  186. data/core/services/cloudflare-kv/src/backend.rs +26 -15
  187. data/core/services/cloudflare-kv/src/config.rs +13 -2
  188. data/core/services/cloudflare-kv/src/core.rs +62 -56
  189. data/core/services/cloudflare-kv/src/deleter.rs +12 -3
  190. data/core/services/cloudflare-kv/src/lister.rs +18 -15
  191. data/core/services/cloudflare-kv/src/reader.rs +14 -9
  192. data/core/services/cloudflare-kv/src/writer.rs +10 -7
  193. data/core/services/compfs/Cargo.toml +1 -1
  194. data/core/services/compfs/src/backend.rs +11 -7
  195. data/core/services/compfs/src/lister.rs +7 -7
  196. data/core/services/compfs/src/writer.rs +1 -1
  197. data/core/services/cos/Cargo.toml +1 -1
  198. data/core/services/cos/src/backend.rs +38 -8
  199. data/core/services/cos/src/core.rs +176 -76
  200. data/core/services/cos/src/deleter.rs +4 -1
  201. data/core/services/cos/src/lister.rs +42 -27
  202. data/core/services/cos/src/reader.rs +6 -2
  203. data/core/services/cos/src/writer.rs +44 -20
  204. data/core/services/d1/Cargo.toml +1 -1
  205. data/core/services/d1/src/backend.rs +6 -5
  206. data/core/services/d1/src/core.rs +76 -60
  207. data/core/services/d1/src/reader.rs +4 -1
  208. data/core/services/d1/src/writer.rs +6 -2
  209. data/core/services/dashmap/Cargo.toml +1 -1
  210. data/core/services/dashmap/src/backend.rs +2 -2
  211. data/core/services/dashmap/src/reader.rs +4 -1
  212. data/core/services/dashmap/src/writer.rs +11 -8
  213. data/core/services/dbfs/Cargo.toml +1 -1
  214. data/core/services/dbfs/src/backend.rs +21 -15
  215. data/core/services/dbfs/src/core.rs +60 -55
  216. data/core/services/dbfs/src/deleter.rs +4 -1
  217. data/core/services/dbfs/src/lister.rs +8 -9
  218. data/core/services/dbfs/src/writer.rs +6 -3
  219. data/core/services/dropbox/Cargo.toml +1 -1
  220. data/core/services/dropbox/src/backend.rs +29 -22
  221. data/core/services/dropbox/src/core.rs +64 -62
  222. data/core/services/dropbox/src/deleter.rs +1 -1
  223. data/core/services/dropbox/src/lister.rs +17 -8
  224. data/core/services/dropbox/src/reader.rs +4 -1
  225. data/core/services/dropbox/src/writer.rs +13 -10
  226. data/core/services/etcd/Cargo.toml +1 -1
  227. data/core/services/etcd/src/backend.rs +8 -5
  228. data/core/services/etcd/src/core.rs +5 -11
  229. data/core/services/etcd/src/lister.rs +6 -1
  230. data/core/services/etcd/src/reader.rs +4 -1
  231. data/core/services/etcd/src/writer.rs +6 -3
  232. data/core/services/foundationdb/Cargo.toml +1 -1
  233. data/core/services/foundationdb/src/backend.rs +6 -5
  234. data/core/services/foundationdb/src/reader.rs +4 -1
  235. data/core/services/foundationdb/src/writer.rs +6 -2
  236. data/core/services/foyer/Cargo.toml +3 -3
  237. data/core/services/foyer/src/backend.rs +6 -5
  238. data/core/services/foyer/src/reader.rs +4 -1
  239. data/core/services/foyer/src/writer.rs +6 -2
  240. data/core/services/fs/Cargo.toml +1 -1
  241. data/core/services/fs/src/backend.rs +4 -3
  242. data/core/services/fs/src/core.rs +44 -26
  243. data/core/services/fs/src/lister.rs +9 -6
  244. data/core/services/fs/src/writer.rs +20 -13
  245. data/core/services/ftp/Cargo.toml +4 -6
  246. data/core/services/ftp/src/backend.rs +9 -5
  247. data/core/services/ftp/src/core.rs +9 -7
  248. data/core/services/ftp/src/lister.rs +7 -8
  249. data/core/services/ftp/src/reader.rs +3 -3
  250. data/core/services/ftp/src/writer.rs +3 -3
  251. data/core/services/gcs/Cargo.toml +4 -2
  252. data/core/services/gcs/src/backend.rs +53 -7
  253. data/core/services/gcs/src/composer.rs +705 -0
  254. data/core/services/gcs/src/copier.rs +14 -4
  255. data/core/services/gcs/src/core.rs +828 -124
  256. data/core/services/gcs/src/deleter.rs +33 -18
  257. data/core/services/gcs/src/lib.rs +1 -0
  258. data/core/services/gcs/src/lister.rs +21 -12
  259. data/core/services/gcs/src/reader.rs +12 -5
  260. data/core/services/gcs/src/writer.rs +632 -10
  261. data/core/services/gcs-grpc/Cargo.toml +58 -0
  262. data/core/services/gcs-grpc/README.md +19 -0
  263. data/core/services/gcs-grpc/proto/README.md +23 -0
  264. data/core/services/gcs-grpc/proto/google/storage/v2/storage.proto +171 -0
  265. data/core/services/gcs-grpc/proto/upstream-descriptor.bin +0 -0
  266. data/core/services/gcs-grpc/src/backend.rs +449 -0
  267. data/core/services/gcs-grpc/src/config.rs +116 -0
  268. data/core/services/gcs-grpc/src/copier.rs +98 -0
  269. data/core/services/gcs-grpc/src/core.rs +298 -0
  270. data/core/services/gcs-grpc/src/deleter.rs +65 -0
  271. data/core/services/gcs-grpc/src/docs.md +19 -0
  272. data/core/services/gcs-grpc/src/generated/google.storage.v2.rs +541 -0
  273. data/core/services/gcs-grpc/src/generated/mod.rs +24 -0
  274. data/core/services/gcs-grpc/src/lib.rs +43 -0
  275. data/core/services/gcs-grpc/src/lister.rs +125 -0
  276. data/core/services/gcs-grpc/src/reader.rs +140 -0
  277. data/core/services/gcs-grpc/src/writer.rs +780 -0
  278. data/core/services/gdrive/Cargo.toml +1 -1
  279. data/core/services/gdrive/src/backend.rs +122 -68
  280. data/core/services/gdrive/src/core.rs +86 -68
  281. data/core/services/gdrive/src/deleter.rs +8 -2
  282. data/core/services/gdrive/src/lister.rs +36 -24
  283. data/core/services/gdrive/src/reader.rs +9 -3
  284. data/core/services/gdrive/src/writer.rs +13 -7
  285. data/core/services/ghac/Cargo.toml +2 -2
  286. data/core/services/ghac/src/backend.rs +5 -2
  287. data/core/services/ghac/src/core.rs +59 -37
  288. data/core/services/ghac/src/reader.rs +5 -2
  289. data/core/services/ghac/src/writer.rs +16 -6
  290. data/core/services/github/Cargo.toml +1 -1
  291. data/core/services/github/src/backend.rs +16 -8
  292. data/core/services/github/src/core.rs +88 -76
  293. data/core/services/github/src/lister.rs +16 -14
  294. data/core/services/github/src/reader.rs +5 -2
  295. data/core/services/github/src/writer.rs +12 -6
  296. data/core/services/goosefs/Cargo.toml +2 -2
  297. data/core/services/goosefs/src/backend.rs +2 -2
  298. data/core/services/goosefs/src/core.rs +291 -208
  299. data/core/services/goosefs/src/docs.md +3 -0
  300. data/core/services/goosefs/src/lister.rs +2 -3
  301. data/core/services/goosefs/src/reader.rs +7 -3
  302. data/core/services/goosefs/src/writer.rs +21 -10
  303. data/core/services/goosefs/tests/safe_conditional_put.rs +37 -0
  304. data/core/services/gridfs/Cargo.toml +1 -1
  305. data/core/services/gridfs/src/backend.rs +6 -5
  306. data/core/services/gridfs/src/reader.rs +4 -1
  307. data/core/services/gridfs/src/writer.rs +6 -2
  308. data/core/services/hdfs/Cargo.toml +1 -1
  309. data/core/services/hdfs/src/backend.rs +1 -1
  310. data/core/services/hdfs/src/core.rs +7 -4
  311. data/core/services/hdfs/src/lister.rs +7 -9
  312. data/core/services/hdfs/src/writer.rs +5 -1
  313. data/core/services/hdfs-native/Cargo.toml +1 -1
  314. data/core/services/hdfs-native/src/backend.rs +1 -1
  315. data/core/services/hdfs-native/src/core.rs +44 -50
  316. data/core/services/hdfs-native/src/lister.rs +8 -10
  317. data/core/services/hdfs-native/src/writer.rs +5 -1
  318. data/core/services/hf/Cargo.toml +4 -3
  319. data/core/services/hf/src/backend.rs +3 -3
  320. data/core/services/hf/src/core.rs +892 -142
  321. data/core/services/hf/src/lister.rs +16 -6
  322. data/core/services/hf/src/reader.rs +377 -57
  323. data/core/services/hf/src/writer.rs +6 -2
  324. data/core/services/http/Cargo.toml +3 -3
  325. data/core/services/http/src/backend.rs +8 -6
  326. data/core/services/http/src/core.rs +57 -35
  327. data/core/services/http/src/reader.rs +5 -2
  328. data/core/services/ipfs/Cargo.toml +1 -1
  329. data/core/services/ipfs/src/backend.rs +6 -3
  330. data/core/services/ipfs/src/core.rs +43 -34
  331. data/core/services/ipfs/src/reader.rs +5 -2
  332. data/core/services/ipmfs/Cargo.toml +1 -1
  333. data/core/services/ipmfs/src/backend.rs +17 -8
  334. data/core/services/ipmfs/src/core.rs +66 -60
  335. data/core/services/ipmfs/src/deleter.rs +5 -2
  336. data/core/services/ipmfs/src/lister.rs +8 -8
  337. data/core/services/ipmfs/src/reader.rs +5 -2
  338. data/core/services/ipmfs/src/writer.rs +6 -3
  339. data/core/services/koofr/Cargo.toml +1 -1
  340. data/core/services/koofr/src/backend.rs +44 -15
  341. data/core/services/koofr/src/core.rs +62 -46
  342. data/core/services/koofr/src/deleter.rs +4 -1
  343. data/core/services/koofr/src/lister.rs +11 -10
  344. data/core/services/koofr/src/reader.rs +5 -2
  345. data/core/services/koofr/src/writer.rs +13 -7
  346. data/core/services/lakefs/Cargo.toml +1 -1
  347. data/core/services/lakefs/src/backend.rs +25 -8
  348. data/core/services/lakefs/src/core.rs +78 -72
  349. data/core/services/lakefs/src/deleter.rs +4 -1
  350. data/core/services/lakefs/src/lister.rs +11 -11
  351. data/core/services/lakefs/src/reader.rs +5 -2
  352. data/core/services/lakefs/src/writer.rs +11 -10
  353. data/core/services/memcached/Cargo.toml +1 -1
  354. data/core/services/memcached/src/backend.rs +57 -7
  355. data/core/services/memcached/src/config.rs +13 -2
  356. data/core/services/memcached/src/core.rs +11 -1
  357. data/core/services/memcached/src/reader.rs +4 -1
  358. data/core/services/memcached/src/writer.rs +6 -2
  359. data/core/services/mini_moka/Cargo.toml +1 -1
  360. data/core/services/mini_moka/src/backend.rs +8 -8
  361. data/core/services/mini_moka/src/reader.rs +4 -1
  362. data/core/services/mini_moka/src/writer.rs +11 -7
  363. data/core/services/moka/Cargo.toml +1 -1
  364. data/core/services/moka/src/backend.rs +7 -7
  365. data/core/services/moka/src/reader.rs +4 -1
  366. data/core/services/moka/src/writer.rs +10 -6
  367. data/core/services/mongodb/Cargo.toml +1 -1
  368. data/core/services/mongodb/src/backend.rs +6 -5
  369. data/core/services/mongodb/src/reader.rs +4 -1
  370. data/core/services/mongodb/src/writer.rs +6 -2
  371. data/core/services/monoiofs/Cargo.toml +2 -2
  372. data/core/services/monoiofs/src/backend.rs +16 -10
  373. data/core/services/monoiofs/src/core.rs +8 -9
  374. data/core/services/monoiofs/src/reader.rs +8 -10
  375. data/core/services/monoiofs/src/writer.rs +19 -24
  376. data/core/services/mysql/Cargo.toml +1 -1
  377. data/core/services/mysql/src/backend.rs +6 -5
  378. data/core/services/mysql/src/lister.rs +7 -3
  379. data/core/services/mysql/src/reader.rs +4 -1
  380. data/core/services/mysql/src/writer.rs +6 -2
  381. data/core/services/obs/Cargo.toml +1 -1
  382. data/core/services/obs/src/backend.rs +29 -11
  383. data/core/services/obs/src/core.rs +80 -81
  384. data/core/services/obs/src/deleter.rs +4 -1
  385. data/core/services/obs/src/lister.rs +12 -5
  386. data/core/services/obs/src/reader.rs +5 -2
  387. data/core/services/obs/src/writer.rs +40 -19
  388. data/core/services/onedrive/Cargo.toml +1 -1
  389. data/core/services/onedrive/src/backend.rs +19 -7
  390. data/core/services/onedrive/src/core.rs +178 -70
  391. data/core/services/onedrive/src/deleter.rs +5 -2
  392. data/core/services/onedrive/src/lister.rs +19 -13
  393. data/core/services/onedrive/src/reader.rs +6 -2
  394. data/core/services/onedrive/src/writer.rs +26 -15
  395. data/core/services/opfs/Cargo.toml +1 -1
  396. data/core/services/opfs/src/backend.rs +6 -13
  397. data/core/services/opfs/src/core.rs +33 -37
  398. data/core/services/opfs/src/lister.rs +4 -4
  399. data/core/services/opfs/src/writer.rs +1 -3
  400. data/core/services/oss/Cargo.toml +1 -1
  401. data/core/services/oss/src/backend.rs +40 -8
  402. data/core/services/oss/src/core.rs +169 -81
  403. data/core/services/oss/src/deleter.rs +16 -6
  404. data/core/services/oss/src/lister.rs +43 -27
  405. data/core/services/oss/src/reader.rs +6 -2
  406. data/core/services/oss/src/writer.rs +36 -12
  407. data/core/services/pcloud/Cargo.toml +1 -1
  408. data/core/services/pcloud/src/backend.rs +40 -6
  409. data/core/services/pcloud/src/core.rs +78 -66
  410. data/core/services/pcloud/src/deleter.rs +8 -1
  411. data/core/services/pcloud/src/lister.rs +4 -1
  412. data/core/services/pcloud/src/reader.rs +5 -2
  413. data/core/services/pcloud/src/writer.rs +6 -3
  414. data/core/services/persy/Cargo.toml +1 -1
  415. data/core/services/persy/src/backend.rs +6 -5
  416. data/core/services/persy/src/core.rs +60 -15
  417. data/core/services/persy/src/reader.rs +4 -1
  418. data/core/services/persy/src/writer.rs +6 -2
  419. data/core/services/postgresql/Cargo.toml +1 -1
  420. data/core/services/postgresql/src/backend.rs +6 -5
  421. data/core/services/postgresql/src/reader.rs +4 -1
  422. data/core/services/postgresql/src/writer.rs +6 -2
  423. data/core/services/redb/Cargo.toml +1 -1
  424. data/core/services/redb/src/backend.rs +6 -5
  425. data/core/services/redb/src/reader.rs +4 -1
  426. data/core/services/redb/src/writer.rs +6 -2
  427. data/core/services/redis/Cargo.toml +1 -1
  428. data/core/services/redis/src/backend.rs +18 -8
  429. data/core/services/redis/src/config.rs +13 -2
  430. data/core/services/redis/src/reader.rs +8 -4
  431. data/core/services/redis/src/writer.rs +6 -2
  432. data/core/services/rocksdb/Cargo.toml +1 -1
  433. data/core/services/rocksdb/src/backend.rs +6 -5
  434. data/core/services/rocksdb/src/lister.rs +6 -5
  435. data/core/services/rocksdb/src/reader.rs +4 -1
  436. data/core/services/rocksdb/src/writer.rs +6 -2
  437. data/core/services/s3/Cargo.toml +5 -4
  438. data/core/services/s3/src/backend.rs +966 -22
  439. data/core/services/s3/src/copier.rs +190 -55
  440. data/core/services/s3/src/core.rs +299 -190
  441. data/core/services/s3/src/deleter.rs +26 -7
  442. data/core/services/s3/src/docs.md +57 -0
  443. data/core/services/s3/src/lister.rs +55 -36
  444. data/core/services/s3/src/reader.rs +8 -5
  445. data/core/services/s3/src/writer.rs +154 -32
  446. data/core/services/seafile/Cargo.toml +1 -1
  447. data/core/services/seafile/src/backend.rs +2 -2
  448. data/core/services/seafile/src/core.rs +104 -78
  449. data/core/services/seafile/src/lister.rs +11 -8
  450. data/core/services/seafile/src/reader.rs +5 -2
  451. data/core/services/seafile/src/writer.rs +6 -3
  452. data/core/services/sftp/Cargo.toml +1 -1
  453. data/core/services/sftp/src/backend.rs +19 -4
  454. data/core/services/sftp/src/core.rs +51 -46
  455. data/core/services/sftp/src/lister.rs +4 -4
  456. data/core/services/sftp/src/writer.rs +1 -1
  457. data/core/services/sled/Cargo.toml +1 -1
  458. data/core/services/sled/src/backend.rs +6 -5
  459. data/core/services/sled/src/core.rs +28 -6
  460. data/core/services/sled/src/lister.rs +6 -5
  461. data/core/services/sled/src/reader.rs +4 -1
  462. data/core/services/sled/src/writer.rs +6 -2
  463. data/core/services/sqlite/Cargo.toml +1 -1
  464. data/core/services/sqlite/src/backend.rs +11 -6
  465. data/core/services/sqlite/src/reader.rs +4 -1
  466. data/core/services/sqlite/src/writer.rs +7 -3
  467. data/core/services/surrealdb/Cargo.toml +1 -1
  468. data/core/services/surrealdb/src/backend.rs +6 -5
  469. data/core/services/surrealdb/src/reader.rs +4 -1
  470. data/core/services/surrealdb/src/writer.rs +6 -2
  471. data/core/services/swift/Cargo.toml +1 -1
  472. data/core/services/swift/src/backend.rs +38 -8
  473. data/core/services/swift/src/core.rs +62 -66
  474. data/core/services/swift/src/deleter.rs +8 -2
  475. data/core/services/swift/src/lister.rs +11 -8
  476. data/core/services/swift/src/reader.rs +5 -2
  477. data/core/services/swift/src/writer.rs +17 -8
  478. data/core/services/tikv/Cargo.toml +1 -1
  479. data/core/services/tikv/src/backend.rs +6 -5
  480. data/core/services/tikv/src/core.rs +30 -13
  481. data/core/services/tikv/src/reader.rs +4 -1
  482. data/core/services/tikv/src/writer.rs +6 -2
  483. data/core/services/tos/Cargo.toml +1 -1
  484. data/core/services/tos/src/backend.rs +14 -14
  485. data/core/services/tos/src/copier.rs +44 -17
  486. data/core/services/tos/src/core.rs +112 -111
  487. data/core/services/tos/src/deleter.rs +9 -3
  488. data/core/services/tos/src/lister.rs +43 -28
  489. data/core/services/tos/src/reader.rs +5 -2
  490. data/core/services/tos/src/writer.rs +37 -16
  491. data/core/services/upyun/Cargo.toml +1 -1
  492. data/core/services/upyun/src/backend.rs +30 -7
  493. data/core/services/upyun/src/core.rs +97 -88
  494. data/core/services/upyun/src/deleter.rs +4 -1
  495. data/core/services/upyun/src/lister.rs +10 -10
  496. data/core/services/upyun/src/reader.rs +5 -2
  497. data/core/services/upyun/src/writer.rs +19 -7
  498. data/core/services/vercel-artifacts/Cargo.toml +1 -1
  499. data/core/services/vercel-artifacts/src/backend.rs +6 -3
  500. data/core/services/vercel-artifacts/src/core.rs +32 -27
  501. data/core/services/vercel-artifacts/src/reader.rs +5 -2
  502. data/core/services/vercel-artifacts/src/writer.rs +6 -3
  503. data/core/services/vercel-blob/Cargo.toml +1 -1
  504. data/core/services/vercel-blob/src/backend.rs +23 -6
  505. data/core/services/vercel-blob/src/core.rs +83 -77
  506. data/core/services/vercel-blob/src/reader.rs +5 -2
  507. data/core/services/vercel-blob/src/writer.rs +19 -7
  508. data/core/services/webdav/Cargo.toml +1 -1
  509. data/core/services/webdav/src/backend.rs +25 -5
  510. data/core/services/webdav/src/core.rs +116 -59
  511. data/core/services/webdav/src/deleter.rs +4 -1
  512. data/core/services/webdav/src/lister.rs +4 -1
  513. data/core/services/webdav/src/reader.rs +6 -2
  514. data/core/services/webdav/src/writer.rs +17 -7
  515. data/core/services/webhdfs/Cargo.toml +1 -1
  516. data/core/services/webhdfs/src/backend.rs +23 -10
  517. data/core/services/webhdfs/src/core.rs +97 -96
  518. data/core/services/webhdfs/src/deleter.rs +5 -2
  519. data/core/services/webhdfs/src/lister.rs +21 -9
  520. data/core/services/webhdfs/src/reader.rs +5 -2
  521. data/core/services/webhdfs/src/writer.rs +42 -13
  522. data/core/services/yandex-disk/Cargo.toml +1 -1
  523. data/core/services/yandex-disk/src/backend.rs +28 -6
  524. data/core/services/yandex-disk/src/core.rs +97 -79
  525. data/core/services/yandex-disk/src/deleter.rs +4 -1
  526. data/core/services/yandex-disk/src/lister.rs +5 -2
  527. data/core/services/yandex-disk/src/reader.rs +5 -2
  528. data/core/services/yandex-disk/src/writer.rs +6 -3
  529. data/core/src/lib.rs +5 -0
  530. data/core/testkit/Cargo.toml +4 -4
  531. data/core/tests/behavior/async_compose.rs +297 -0
  532. data/core/tests/behavior/async_copy.rs +162 -1
  533. data/core/tests/behavior/async_delete.rs +364 -3
  534. data/core/tests/behavior/async_read.rs +86 -0
  535. data/core/tests/behavior/async_restore.rs +162 -0
  536. data/core/tests/behavior/async_stat.rs +90 -0
  537. data/core/tests/behavior/async_write.rs +219 -10
  538. data/core/tests/behavior/main.rs +4 -0
  539. data/core/upgrade.md +114 -1
  540. data/src/capability.rs +0 -1
  541. data/src/io.rs +0 -1
  542. data/src/lister.rs +0 -1
  543. data/src/metadata.rs +0 -1
  544. data/src/operator_info.rs +0 -1
  545. metadata +40 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8d5753a375edddc55cd1550273afc000331d1394c2a7c842b8718f1d12176e0c
4
- data.tar.gz: 1afda34221a0d6a43614f2364bf45779fbf1e7b4142456cba12165fbe3f56fdd
3
+ metadata.gz: 9aa410121852b9bfe9c67296388cb83d5abad91fe514d572ee1c36f10a655919
4
+ data.tar.gz: 7d4ac7fed8c9f589047f211dbc66d55d1b6408d85f68dc3dc9f0f81836f12a01
5
5
  SHA512:
6
- metadata.gz: 6aabaa47960352f3173d4a3f8b8ca9230b66d8c049ed9df06c9082c39b7fec9f475e0adb395a8d18ab6bc93147fdf0e23b490f31b02363367ca8c3b0d04bd7c6
7
- data.tar.gz: 356d50d12382acca231ff7fa48a4c4f0002ca7ee675eb4e8a346dfbf7ea02c748e3284d7d8aa782f6efbe6f2f559161c93f2877f0917594f1446e8e4baee880f
6
+ metadata.gz: a4150e060db21dc669ff7980018756ac9952f8ae9e5c482f123e0a76815487c0308b786f88113d63512f178688c54f7bad5c3b1fbc1dbb78022bdd29a892c218
7
+ data.tar.gz: c2e7467ab282be26cd9a02dccbffd9442bc575be5789060bd9326c48b502dd669011c8340b672c624401c4fac0be8635823437dfa8afc8712dc0469d0d4e297d
data/Cargo.lock CHANGED
@@ -538,7 +538,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
538
538
  checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
539
539
  dependencies = [
540
540
  "libc",
541
- "windows-sys 0.61.2",
541
+ "windows-sys 0.52.0",
542
542
  ]
543
543
 
544
544
  [[package]]
@@ -1289,6 +1289,16 @@ dependencies = [
1289
1289
  "digest 0.11.3",
1290
1290
  ]
1291
1291
 
1292
+ [[package]]
1293
+ name = "mea"
1294
+ version = "0.6.7"
1295
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1296
+ checksum = "c709842c4ce65cb91e2666ad5319dfc1efc3af0d34f02075eddca9000d9f8afb"
1297
+ dependencies = [
1298
+ "hashbrown 0.17.1",
1299
+ "slab",
1300
+ ]
1301
+
1292
1302
  [[package]]
1293
1303
  name = "memchr"
1294
1304
  version = "2.8.3"
@@ -1381,7 +1391,7 @@ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
1381
1391
 
1382
1392
  [[package]]
1383
1393
  name = "opendal"
1384
- version = "0.58.2"
1394
+ version = "0.59.0"
1385
1395
  dependencies = [
1386
1396
  "ctor",
1387
1397
  "opendal-core",
@@ -1409,7 +1419,7 @@ dependencies = [
1409
1419
 
1410
1420
  [[package]]
1411
1421
  name = "opendal-core"
1412
- version = "0.58.2"
1422
+ version = "0.59.0"
1413
1423
  dependencies = [
1414
1424
  "anyhow",
1415
1425
  "asyncband",
@@ -1433,7 +1443,7 @@ dependencies = [
1433
1443
 
1434
1444
  [[package]]
1435
1445
  name = "opendal-http-transport-reqwest"
1436
- version = "0.58.2"
1446
+ version = "0.59.0"
1437
1447
  dependencies = [
1438
1448
  "bytes",
1439
1449
  "futures",
@@ -1445,7 +1455,7 @@ dependencies = [
1445
1455
 
1446
1456
  [[package]]
1447
1457
  name = "opendal-layer-concurrent-limit"
1448
- version = "0.58.2"
1458
+ version = "0.59.0"
1449
1459
  dependencies = [
1450
1460
  "asyncband",
1451
1461
  "futures",
@@ -1455,7 +1465,7 @@ dependencies = [
1455
1465
 
1456
1466
  [[package]]
1457
1467
  name = "opendal-layer-logging"
1458
- version = "0.58.2"
1468
+ version = "0.59.0"
1459
1469
  dependencies = [
1460
1470
  "log",
1461
1471
  "opendal-core",
@@ -1463,7 +1473,7 @@ dependencies = [
1463
1473
 
1464
1474
  [[package]]
1465
1475
  name = "opendal-layer-retry"
1466
- version = "0.58.2"
1476
+ version = "0.59.0"
1467
1477
  dependencies = [
1468
1478
  "backon",
1469
1479
  "log",
@@ -1472,7 +1482,7 @@ dependencies = [
1472
1482
 
1473
1483
  [[package]]
1474
1484
  name = "opendal-layer-throttle"
1475
- version = "0.58.2"
1485
+ version = "0.59.0"
1476
1486
  dependencies = [
1477
1487
  "governor",
1478
1488
  "opendal-core",
@@ -1480,7 +1490,7 @@ dependencies = [
1480
1490
 
1481
1491
  [[package]]
1482
1492
  name = "opendal-layer-timeout"
1483
- version = "0.58.2"
1493
+ version = "0.59.0"
1484
1494
  dependencies = [
1485
1495
  "opendal-core",
1486
1496
  "tokio",
@@ -1488,7 +1498,7 @@ dependencies = [
1488
1498
 
1489
1499
  [[package]]
1490
1500
  name = "opendal-ruby"
1491
- version = "0.1.10"
1501
+ version = "0.1.11"
1492
1502
  dependencies = [
1493
1503
  "bytes",
1494
1504
  "magnus",
@@ -1500,7 +1510,7 @@ dependencies = [
1500
1510
 
1501
1511
  [[package]]
1502
1512
  name = "opendal-service-azblob"
1503
- version = "0.58.2"
1513
+ version = "0.59.0"
1504
1514
  dependencies = [
1505
1515
  "base64 0.23.0",
1506
1516
  "bytes",
@@ -1519,7 +1529,7 @@ dependencies = [
1519
1529
 
1520
1530
  [[package]]
1521
1531
  name = "opendal-service-azdls"
1522
- version = "0.58.2"
1532
+ version = "0.59.0"
1523
1533
  dependencies = [
1524
1534
  "asyncband",
1525
1535
  "base64 0.23.0",
@@ -1538,7 +1548,7 @@ dependencies = [
1538
1548
 
1539
1549
  [[package]]
1540
1550
  name = "opendal-service-azfile"
1541
- version = "0.58.2"
1551
+ version = "0.59.0"
1542
1552
  dependencies = [
1543
1553
  "bytes",
1544
1554
  "http",
@@ -1554,7 +1564,7 @@ dependencies = [
1554
1564
 
1555
1565
  [[package]]
1556
1566
  name = "opendal-service-azure-common"
1557
- version = "0.58.2"
1567
+ version = "0.59.0"
1558
1568
  dependencies = [
1559
1569
  "http",
1560
1570
  "opendal-core",
@@ -1562,7 +1572,7 @@ dependencies = [
1562
1572
 
1563
1573
  [[package]]
1564
1574
  name = "opendal-service-cos"
1565
- version = "0.58.2"
1575
+ version = "0.59.0"
1566
1576
  dependencies = [
1567
1577
  "bytes",
1568
1578
  "http",
@@ -1577,7 +1587,7 @@ dependencies = [
1577
1587
 
1578
1588
  [[package]]
1579
1589
  name = "opendal-service-fs"
1580
- version = "0.58.2"
1590
+ version = "0.59.0"
1581
1591
  dependencies = [
1582
1592
  "bytes",
1583
1593
  "log",
@@ -1589,7 +1599,7 @@ dependencies = [
1589
1599
 
1590
1600
  [[package]]
1591
1601
  name = "opendal-service-gcs"
1592
- version = "0.58.2"
1602
+ version = "0.59.0"
1593
1603
  dependencies = [
1594
1604
  "async-trait",
1595
1605
  "bytes",
@@ -1604,11 +1614,12 @@ dependencies = [
1604
1614
  "serde",
1605
1615
  "serde_json",
1606
1616
  "tokio",
1617
+ "uuid",
1607
1618
  ]
1608
1619
 
1609
1620
  [[package]]
1610
1621
  name = "opendal-service-ghac"
1611
- version = "0.58.2"
1622
+ version = "0.59.0"
1612
1623
  dependencies = [
1613
1624
  "bytes",
1614
1625
  "ghac",
@@ -1626,7 +1637,7 @@ dependencies = [
1626
1637
 
1627
1638
  [[package]]
1628
1639
  name = "opendal-service-http"
1629
- version = "0.58.2"
1640
+ version = "0.59.0"
1630
1641
  dependencies = [
1631
1642
  "http",
1632
1643
  "log",
@@ -1636,7 +1647,7 @@ dependencies = [
1636
1647
 
1637
1648
  [[package]]
1638
1649
  name = "opendal-service-ipmfs"
1639
- version = "0.58.2"
1650
+ version = "0.59.0"
1640
1651
  dependencies = [
1641
1652
  "bytes",
1642
1653
  "http",
@@ -1648,7 +1659,7 @@ dependencies = [
1648
1659
 
1649
1660
  [[package]]
1650
1661
  name = "opendal-service-obs"
1651
- version = "0.58.2"
1662
+ version = "0.59.0"
1652
1663
  dependencies = [
1653
1664
  "bytes",
1654
1665
  "http",
@@ -1663,7 +1674,7 @@ dependencies = [
1663
1674
 
1664
1675
  [[package]]
1665
1676
  name = "opendal-service-oss"
1666
- version = "0.58.2"
1677
+ version = "0.59.0"
1667
1678
  dependencies = [
1668
1679
  "bytes",
1669
1680
  "http",
@@ -1678,7 +1689,7 @@ dependencies = [
1678
1689
 
1679
1690
  [[package]]
1680
1691
  name = "opendal-service-s3"
1681
- version = "0.58.2"
1692
+ version = "0.59.0"
1682
1693
  dependencies = [
1683
1694
  "base64 0.23.0",
1684
1695
  "bytes",
@@ -1697,7 +1708,7 @@ dependencies = [
1697
1708
 
1698
1709
  [[package]]
1699
1710
  name = "opendal-service-webdav"
1700
- version = "0.58.2"
1711
+ version = "0.59.0"
1701
1712
  dependencies = [
1702
1713
  "anyhow",
1703
1714
  "asyncband",
@@ -1711,7 +1722,7 @@ dependencies = [
1711
1722
 
1712
1723
  [[package]]
1713
1724
  name = "opendal-service-webhdfs"
1714
- version = "0.58.2"
1725
+ version = "0.59.0"
1715
1726
  dependencies = [
1716
1727
  "anyhow",
1717
1728
  "asyncband",
@@ -1992,7 +2003,7 @@ dependencies = [
1992
2003
  "once_cell",
1993
2004
  "socket2",
1994
2005
  "tracing",
1995
- "windows-sys 0.61.2",
2006
+ "windows-sys 0.52.0",
1996
2007
  ]
1997
2008
 
1998
2009
  [[package]]
@@ -2196,9 +2207,9 @@ dependencies = [
2196
2207
 
2197
2208
  [[package]]
2198
2209
  name = "reqsign-aws-core"
2199
- version = "3.1.0"
2210
+ version = "3.1.1"
2200
2211
  source = "registry+https://github.com/rust-lang/crates.io-index"
2201
- checksum = "4d63b56638bb3cc7bd376a7cdce1ba3089777a08f47e4097888f2d784cc3f46c"
2212
+ checksum = "bac4749b7dfa7bfaccd01eb03e9dc795ed37e3f20d6f0f38e2c67ee85ad6bc86"
2202
2213
  dependencies = [
2203
2214
  "bytes",
2204
2215
  "form_urlencoded",
@@ -2217,9 +2228,9 @@ dependencies = [
2217
2228
 
2218
2229
  [[package]]
2219
2230
  name = "reqsign-aws-v4"
2220
- version = "3.2.0"
2231
+ version = "3.3.0"
2221
2232
  source = "registry+https://github.com/rust-lang/crates.io-index"
2222
- checksum = "4a0c499f4ed12d04c3d4c78fe4cb01aee22c9dae22848c14db2c6313d9df9f43"
2233
+ checksum = "ff250f0fd0b913fbd565e405acc553da0f13bde30bfb5403178c9d0313cdc15f"
2223
2234
  dependencies = [
2224
2235
  "bytes",
2225
2236
  "http",
@@ -2253,9 +2264,9 @@ dependencies = [
2253
2264
 
2254
2265
  [[package]]
2255
2266
  name = "reqsign-core"
2256
- version = "3.3.0"
2267
+ version = "3.3.1"
2257
2268
  source = "registry+https://github.com/rust-lang/crates.io-index"
2258
- checksum = "f4ac1510872d9481205975d264deb39c109797e5068cc882ed9064270eaae5fa"
2269
+ checksum = "ff052daffb0599681c50f85c59e7236438976efe991ab864edd9f3b235501a0f"
2259
2270
  dependencies = [
2260
2271
  "anyhow",
2261
2272
  "base64 0.23.0",
@@ -2266,6 +2277,7 @@ dependencies = [
2266
2277
  "http",
2267
2278
  "jiff",
2268
2279
  "log",
2280
+ "mea",
2269
2281
  "percent-encoding",
2270
2282
  "rsa",
2271
2283
  "serde",
@@ -2277,9 +2289,9 @@ dependencies = [
2277
2289
 
2278
2290
  [[package]]
2279
2291
  name = "reqsign-file-read-tokio"
2280
- version = "3.0.5"
2292
+ version = "3.0.6"
2281
2293
  source = "registry+https://github.com/rust-lang/crates.io-index"
2282
- checksum = "95c3371bfc7e5c7f9627a04133af3583fd6c28715e7c83f79db38f3b384f535f"
2294
+ checksum = "b3235df90a6bca681aa47dd86f2393d122a6d77042aa8a7c81e218cd45c5bfc0"
2283
2295
  dependencies = [
2284
2296
  "anyhow",
2285
2297
  "reqsign-core",
@@ -2440,7 +2452,7 @@ dependencies = [
2440
2452
  "errno",
2441
2453
  "libc",
2442
2454
  "linux-raw-sys",
2443
- "windows-sys 0.61.2",
2455
+ "windows-sys 0.52.0",
2444
2456
  ]
2445
2457
 
2446
2458
  [[package]]
@@ -2497,7 +2509,7 @@ dependencies = [
2497
2509
  "security-framework",
2498
2510
  "security-framework-sys",
2499
2511
  "webpki-root-certs",
2500
- "windows-sys 0.61.2",
2512
+ "windows-sys 0.52.0",
2501
2513
  ]
2502
2514
 
2503
2515
  [[package]]
@@ -3240,7 +3252,7 @@ version = "0.1.11"
3240
3252
  source = "registry+https://github.com/rust-lang/crates.io-index"
3241
3253
  checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
3242
3254
  dependencies = [
3243
- "windows-sys 0.61.2",
3255
+ "windows-sys 0.52.0",
3244
3256
  ]
3245
3257
 
3246
3258
  [[package]]
data/Cargo.toml CHANGED
@@ -25,7 +25,7 @@ homepage = "https://opendal.apache.org/"
25
25
  license = "Apache-2.0"
26
26
  repository = "https://github.com/apache/opendal"
27
27
  rust-version = "1.91"
28
- version = "0.1.10"
28
+ version = "0.1.11"
29
29
 
30
30
  [lib]
31
31
  crate-type = ["cdylib"]
@@ -127,6 +127,7 @@ log@0.4.33 X X
127
127
  magnus@0.8.2 X
128
128
  magnus-macros@0.8.0 X
129
129
  md-5@0.11.0 X X
130
+ mea@0.6.7 X
130
131
  memchr@2.8.3 X X
131
132
  minimal-lexical@0.2.1 X X
132
133
  mio@1.2.1 X
@@ -137,30 +138,30 @@ num-integer@0.1.46 X X
137
138
  num-iter@0.1.46 X X
138
139
  num-traits@0.2.19 X X
139
140
  once_cell@1.21.4 X X
140
- opendal@0.58.2 X
141
- opendal-core@0.58.2 X
142
- opendal-http-transport-reqwest@0.58.2 X
143
- opendal-layer-concurrent-limit@0.58.2 X
144
- opendal-layer-logging@0.58.2 X
145
- opendal-layer-retry@0.58.2 X
146
- opendal-layer-throttle@0.58.2 X
147
- opendal-layer-timeout@0.58.2 X
148
- opendal-ruby@0.1.10 X
149
- opendal-service-azblob@0.58.2 X
150
- opendal-service-azdls@0.58.2 X
151
- opendal-service-azfile@0.58.2 X
152
- opendal-service-azure-common@0.58.2 X
153
- opendal-service-cos@0.58.2 X
154
- opendal-service-fs@0.58.2 X
155
- opendal-service-gcs@0.58.2 X
156
- opendal-service-ghac@0.58.2 X
157
- opendal-service-http@0.58.2 X
158
- opendal-service-ipmfs@0.58.2 X
159
- opendal-service-obs@0.58.2 X
160
- opendal-service-oss@0.58.2 X
161
- opendal-service-s3@0.58.2 X
162
- opendal-service-webdav@0.58.2 X
163
- opendal-service-webhdfs@0.58.2 X
141
+ opendal@0.59.0 X
142
+ opendal-core@0.59.0 X
143
+ opendal-http-transport-reqwest@0.59.0 X
144
+ opendal-layer-concurrent-limit@0.59.0 X
145
+ opendal-layer-logging@0.59.0 X
146
+ opendal-layer-retry@0.59.0 X
147
+ opendal-layer-throttle@0.59.0 X
148
+ opendal-layer-timeout@0.59.0 X
149
+ opendal-ruby@0.1.11 X
150
+ opendal-service-azblob@0.59.0 X
151
+ opendal-service-azdls@0.59.0 X
152
+ opendal-service-azfile@0.59.0 X
153
+ opendal-service-azure-common@0.59.0 X
154
+ opendal-service-cos@0.59.0 X
155
+ opendal-service-fs@0.59.0 X
156
+ opendal-service-gcs@0.59.0 X
157
+ opendal-service-ghac@0.59.0 X
158
+ opendal-service-http@0.59.0 X
159
+ opendal-service-ipmfs@0.59.0 X
160
+ opendal-service-obs@0.59.0 X
161
+ opendal-service-oss@0.59.0 X
162
+ opendal-service-s3@0.59.0 X
163
+ opendal-service-webdav@0.59.0 X
164
+ opendal-service-webhdfs@0.59.0 X
164
165
  openssl-probe@0.2.1 X X
165
166
  ordered-multimap@0.7.3 X
166
167
  parking_lot@0.12.5 X X
@@ -201,11 +202,11 @@ regex@1.12.4 X X
201
202
  regex-automata@0.4.14 X X
202
203
  regex-syntax@0.8.11 X X
203
204
  reqsign-aliyun-oss@3.1.3 X
204
- reqsign-aws-core@3.1.0 X
205
- reqsign-aws-v4@3.2.0 X
205
+ reqsign-aws-core@3.1.1 X
206
+ reqsign-aws-v4@3.3.0 X
206
207
  reqsign-azure-storage@3.1.2 X
207
- reqsign-core@3.3.0 X
208
- reqsign-file-read-tokio@3.0.5 X
208
+ reqsign-core@3.3.1 X
209
+ reqsign-file-read-tokio@3.0.6 X
209
210
  reqsign-google@3.0.4 X
210
211
  reqsign-huaweicloud-obs@3.0.4 X
211
212
  reqsign-tencent-cos@3.0.4 X
@@ -300,7 +301,17 @@ winapi-i686-pc-windows-gnu@0.4.0 X X
300
301
  winapi-util@0.1.11 X X
301
302
  winapi-x86_64-pc-windows-gnu@0.4.0 X X
302
303
  windows-link@0.2.1 X X
304
+ windows-sys@0.52.0 X X
303
305
  windows-sys@0.61.2 X X
306
+ windows-targets@0.52.6 X X
307
+ windows_aarch64_gnullvm@0.52.6 X X
308
+ windows_aarch64_msvc@0.52.6 X X
309
+ windows_i686_gnu@0.52.6 X X
310
+ windows_i686_gnullvm@0.52.6 X X
311
+ windows_i686_msvc@0.52.6 X X
312
+ windows_x86_64_gnu@0.52.6 X X
313
+ windows_x86_64_gnullvm@0.52.6 X X
314
+ windows_x86_64_msvc@0.52.6 X X
304
315
  wit-bindgen@0.57.1 X X X
305
316
  writeable@0.6.3 X
306
317
  xattr@1.6.1 X X
data/core/CHANGELOG.md CHANGED
@@ -7,6 +7,88 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
7
7
 
8
8
  <!-- Release notes generated with: gh release create v_draft --generate-notes --draft -->
9
9
 
10
+ ## [v0.59.0] - 2026-08-31
11
+
12
+ ### Breaking Changes
13
+ * core: `Metadata` and raw operation arguments now use immutable compact representations. Construct metadata with `MetadataBuilder`, use `into_builder()` to modify existing metadata, and convert public options into finalized raw arguments. `DeleteInput` has been removed.
14
+ * core: `OpCopier` has been removed. Raw `Service::copy` implementations now receive copy execution settings through `OpCopy`.
15
+ * integrations/object_store: `object_store_opendal` 0.60 uses `opendal` 0.59. Update direct OpenDAL dependencies together.
16
+ * integrations/parquet: `parquet_opendal` 0.10 uses `opendal` 0.59. Update direct OpenDAL dependencies together.
17
+ * bindings/dotnet: `Operator.DeleteAsync` now accepts `DeleteOptions` before the cancellation token. Pass the token as `cancellationToken: token`, or pass `null` for options before a positional token.
18
+
19
+ ### Added
20
+ * feat(bindings/dotnet): add DeleteOptions with delete functions by @Fatorin in https://github.com/apache/opendal/pull/8098
21
+ * feat(services/s3): add conditional delete with if-match by @YuangGao in https://github.com/apache/opendal/pull/7607
22
+ * feat(bindings/dotnet): support conditional delete with if-match by @Fatorin in https://github.com/apache/opendal/pull/8137
23
+ * feat(services/s3): support S3 Express session authentication by @Xuanwo in https://github.com/apache/opendal/pull/8135
24
+ * feat(services/s3): support object restoration by @Xuanwo in https://github.com/apache/opendal/pull/8143
25
+ * feat(services): support conditional delete for Azure services by @Xuanwo in https://github.com/apache/opendal/pull/8142
26
+ * RFC: Add limited read by @Xuanwo in https://github.com/apache/opendal/pull/7945
27
+ * feat(services/azdls): support custom credential providers by @zakariya-s in https://github.com/apache/opendal/pull/8030
28
+ * feat(core): add conflict error kind by @Xuanwo in https://github.com/apache/opendal/pull/8154
29
+ * feat(parquet): expose writer abort by @starpact in https://github.com/apache/opendal/pull/8102
30
+ * feat: support if_not_changed preconditions by @Xuanwo in https://github.com/apache/opendal/pull/8156
31
+ * feat(services/s3): support Writer::copy_from by @Xuanwo in https://github.com/apache/opendal/pull/8140
32
+ * feat(services/gcs-grpc): add GCS gRPC service by @Xuanwo in https://github.com/apache/opendal/pull/8153
33
+ * feat(services/gcs): support compose by @Xuanwo in https://github.com/apache/opendal/pull/8191
34
+
35
+ ### Changed
36
+ * refactor(services/monoiofs): use asyncband channels by @tisonkun in https://github.com/apache/opendal/pull/8126
37
+ * refactor(bindings/dotnet): generate capability and service configs from core by @Fatorin in https://github.com/apache/opendal/pull/8146
38
+ * refactor(services): standardize error normalization by @Xuanwo in https://github.com/apache/opendal/pull/8174
39
+ * refactor!: merge OpCopier into OpCopy by @Xuanwo in https://github.com/apache/opendal/pull/8190
40
+ * refactor!: compact metadata and operation arguments by @Xuanwo in https://github.com/apache/opendal/pull/8196
41
+
42
+ ### Fixed
43
+ * fix(bindings/dotnet): correct stream error kind and if-modified-since test by @Fatorin in https://github.com/apache/opendal/pull/8121
44
+ * Reapply "fix(core): deserialize duration config values from strings" by @erickguan in https://github.com/apache/opendal/pull/8123
45
+ * fix: Canonicalize HuggingFace IDs to avoid inconsistent API by @mhambre in https://github.com/apache/opendal/pull/8108
46
+ * fix(services/goosefs): skip CreateDirectory when rename parent already exists by @XuQianJin-Stars in https://github.com/apache/opendal/pull/8129
47
+ * fix(services/azblob): carry content type and user metadata on Put Block List by @PDGGK in https://github.com/apache/opendal/pull/8148
48
+ * fix(services/memcached): reject a TTL over 30 days by @PDGGK in https://github.com/apache/opendal/pull/8150
49
+ * fix(dev): validate integration version bumps by @Xuanwo in https://github.com/apache/opendal/pull/8139
50
+ * fix(services/ghac): propagate v2 finalize errors by @fly1d in https://github.com/apache/opendal/pull/8136
51
+ * fix(services/hf): cache XET classification and CAS auth tokens by @kszucs in https://github.com/apache/opendal/pull/8106
52
+ * fix(core): add missing tokio test features so crates build on their own by @Lstarsky0 in https://github.com/apache/opendal/pull/8103
53
+ * fix(ci): use distinct reusable concurrency groups by @jsk1004ha in https://github.com/apache/opendal/pull/8119
54
+ * fix(core): return Ok(0) instead of panicking on zero-length write by @bavardage in https://github.com/apache/opendal/pull/8162
55
+ * fix(bindings/python): fix sized File.readline by @Xuanwo in https://github.com/apache/opendal/pull/8169
56
+ * fix: repair azfile, b2, and conditional read behavior by @Xuanwo in https://github.com/apache/opendal/pull/8175
57
+ * fix(core): align conditional missing-target semantics by @Xuanwo in https://github.com/apache/opendal/pull/8172
58
+ * fix(bindings): enable gcs-grpc service by @Xuanwo in https://github.com/apache/opendal/pull/8185
59
+ * fix: update generated gcs-grpc service docs by @Xuanwo in https://github.com/apache/opendal/pull/8186
60
+ * fix(bindings/python): remove greenlet benchmark dependencies by @Xuanwo in https://github.com/apache/opendal/pull/8189
61
+ * fix(services): return authoritative copy metadata by @Xuanwo in https://github.com/apache/opendal/pull/8197
62
+ * fix(services/gcs): make conditional uploads retry-safe by @Xuanwo in https://github.com/apache/opendal/pull/8199
63
+ * fix: preserve conditional error semantics by @Xuanwo in https://github.com/apache/opendal/pull/8204
64
+
65
+ ### Docs
66
+ * docs: add AI-assisted contribution policy by @Xuanwo in https://github.com/apache/opendal/pull/8099
67
+ * RFC-8147: write_if_not_changed by @Xuanwo in https://github.com/apache/opendal/pull/8147
68
+ * RFC-8145: Distinguish conflicts from unmet conditions by @Xuanwo in https://github.com/apache/opendal/pull/8145
69
+ * docs: forbid speculative service changes in agent guidance by @Xuanwo in https://github.com/apache/opendal/pull/8152
70
+ * docs: clarify helper function guidelines by @Xuanwo in https://github.com/apache/opendal/pull/8155
71
+ * docs: establish OpenDAL specifications by @Xuanwo in https://github.com/apache/opendal/pull/8183
72
+ * docs: add RFC for whole-object composition by @Xuanwo in https://github.com/apache/opendal/pull/8188
73
+ * RFC: Compact metadata and operation arguments by @Xuanwo in https://github.com/apache/opendal/pull/8194
74
+
75
+ ### CI
76
+ * ci: pin pnpm action setup to commit by @Xuanwo in https://github.com/apache/opendal/pull/8131
77
+
78
+ ### Chore
79
+ * chore(services/hf): bump hf-xet to 1.6.0 by @kszucs in https://github.com/apache/opendal/pull/8113
80
+ * chore(services/ftp): upgrade suppaftp to 10 and switch to tokio by @Xuanwo in https://github.com/apache/opendal/pull/8184
81
+
82
+ ## New Contributors
83
+ * @fly1d made their first contribution in https://github.com/apache/opendal/pull/8136
84
+ * @zakariya-s made their first contribution in https://github.com/apache/opendal/pull/8030
85
+ * @Lstarsky0 made their first contribution in https://github.com/apache/opendal/pull/8103
86
+ * @starpact made their first contribution in https://github.com/apache/opendal/pull/8102
87
+ * @bavardage made their first contribution in https://github.com/apache/opendal/pull/8162
88
+ * @jsk1004ha made their first contribution in https://github.com/apache/opendal/pull/8119
89
+
90
+ **Full Changelog**: https://github.com/apache/opendal/compare/v0.58.2...v0.59.0
91
+
10
92
  ## [v0.58.2] - 2026-08-17
11
93
 
12
94
  ### Breaking Changes