Skip to content

v0.24.0

Choose a tag to compare

@haalfi haalfi released this 26 Apr 14:39
Immutable release. Only release title and notes can be modified.
4b23909

What's Changed

Added

  • WriteResult — every write*() call returns WriteResult(path, size, source, digest, etag, version_id, last_modified, metadata). Two new capabilities gate the rich fields: WRITE_RESULT_NATIVE and USER_METADATA. Includes Store.head(path), ext.write hash helpers, async parity (AsyncStore + AsyncBackend), and proxy forwarding across ProxyStore/ObservedStore/CachedStore (ID-146, ID-148, ID-013b)
  • AsyncBackendSyncAdapter — wraps any AsyncBackend as a synchronous Backend via a dedicated daemon-thread event loop; full spec coverage (ASYNC-080–093), unit + Azurite integration suites, decision guide guides/async-sync-bridges.md; unblocks Graph backend (ID-127) (ID-141–143c)

Fixed

  • AsyncMemoryBackend.delete raises InvalidPath for directory paths instead of silently returning (BUG-184)
  • S3 lazy init got multiple values for keyword argument 'config' when config_kwargs and RetryPolicy are both supplied (BUG-178)
  • SQLBlobBackend.glob drops zero-segment **/ matches on SQLite (BUG-175)
  • SQLBlobBackend.copy(src, src) silently destroyed data with overwrite=True (BUG-176)
  • AsyncAzureBackend.write streaming — no longer buffers AsyncIterable[bytes] payload into memory (BUG-165)
  • Docs deployment on release tagspages job moved to gh-pages-deploy.yml, eliminating environment-protection failures (BUG-164)

Changed

  • pyarrow 24.x mypy compatfollow_imports = "skip" for pyarrow.*; removed redundant type: ignore[import-untyped] across four modules (BK-154)

Documentation

  • Audit-011 gaps resolved — custom-backend guide, async.md, extensions.md, s3.md, azure.md, local.md updated for WriteResult/metadata/capabilities (BK-162)
  • Backend-specifics visibility — three-tier admonition vocabulary across all API reference pages; closes all 20 audit-009 findings (BK-153)
  • SFTPGo compatibility note in README and SFTP guide
  • Docs spacing and typography — compact CSS for tables, headings, parameter blocks (BK-157)
  • Formal layer: Dafny vs TLA+ principles, Observer.tla, informational verify-tla CI job (ID-147)

Links: