Skip to content

fs-safe 0.9.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 22:47
· 720 commits to main since this release
v0.9.0
0fc5776

Highlights: Faster bulk extraction and configurable durability, with Windows filesystem fixes and reliable mixed-version lock cleanup.

  • Compatibility: extractArchive skips file and directory fsync by default for faster bulk imports; pass durable: true to restore the previous durability behavior.
  • Add store-level and per-call durable options to FileStore writes, streams, copies, and synchronous writes, plus JSON-store defaults, so reconstructible data can skip fsync while preserving guarded atomic publication.
  • Add Root.copyIn({ durable: false }), with per-call, root-default, then true precedence, to skip file and parent-directory fsync for reconstructible data.
  • Speed up archive extraction by omitting private staging syncs, deferring opted-in publication durability to one bounded file/directory pass, and sharing duplicate destination guards without weakening containment checks.
  • Keep process-exit lock cleanup working when a legacy shared manager lacks reclaim-guard state, continuing through later managers while preserving retained locks; thanks @metahacker.
  • Publish read-only modes such as 0o400 through the Windows JavaScript write fallback by retaining private 0o600 staging and applying the final mode through the retained handle after rename.
  • Preserve Windows file identity across open-induced ctime changes during guarded move fallback, and recreate directory junctions without requiring symlink privileges; thanks @giodl73-repo.
  • Extend synchronous metadata observations to archive, copy, publication, move, and directory-mode paths while keeping data and structural I/O asynchronous and preserving native canonical paths.
  • Keep durable publication coverage reliable under filesystem contention by allowing bounded I/O time and draining unfinished operations before fixture cleanup.
  • Refresh JSZip to 3.10.2, Node declarations to 26.5.1, emnapi runtime build tooling to 2.0.0-alpha.5, the Rust hybrid-array dependency to 0.4.15, and pinned CodeQL actions to 4.38.0.

Published packages

Package Registry tarball Verified integrity Provenance
@openclaw/fs-safe-linux-x64-gnu@0.9.0 tgz sha512-l6+vtb22AH2QMZpTUNZAv2Cab5Law7R/ybzZDrc36Ub51LeH8fpNiSts+DvxjCf1YV8wkXgU0GTXZcz/U0575w== verified attestation
@openclaw/fs-safe-linux-x64-musl@0.9.0 tgz sha512-nHU/rlDhOs9VRj47gh2oxjiHOy6CZkQHmooffwb238pveajZb/SdjhQwBIgtHeh958aTTEt5wSKw2mZ5gva4Ag== verified attestation
@openclaw/fs-safe-linux-arm64-gnu@0.9.0 tgz sha512-ylEE+wr82hY2Y673+4WsB/cBKRk8Xs3ccHDGOv5vRo7RtZUm63tPgYJlhWACRVe6vVkCS/ag/9vnCynbMCHaXA== verified attestation
@openclaw/fs-safe-linux-arm64-musl@0.9.0 tgz sha512-NsCXbQMO+reW8zoE9CUHLtnLfez9KitTKXxEkjI4/7DNwg7fSksNZ9e18awaIFe+R43/831GPmNbBrdWZmwKSQ== verified attestation
@openclaw/fs-safe-darwin-x64@0.9.0 tgz sha512-Syc4AAL/F90PaQeETQ6RI6PRlYAT0kWuwiMAvQUdv1wymXTNk/8L/h1h+JavqCokpqawRNJ4r6zpOnhI49vtxw== verified attestation
@openclaw/fs-safe-darwin-arm64@0.9.0 tgz sha512-TZU8bJOxISK17R3ZKzOgd90bZivqcBYgYtymsM/8Md3/V+ZvEnmH+bnphPQOCsxxFa28c9IRL2DWUAJt9/3kEQ== verified attestation
@openclaw/fs-safe-win32-x64-msvc@0.9.0 tgz sha512-eJYLtq5AFlgSBqekfKifexGD+q1aWmAyPVJiwZXFNhHzlqA2B7Xxby4y1KVFJB2LkcICbDdj/of2YXKpRF/I/g== verified attestation
@openclaw/fs-safe@0.9.0 tgz sha512-tosF8aEryiwblHUcoiZLlyNFHqtwNkvZcTGM0rnpl30Szlxkg6GEdzbpmvWM0x6q4ZaMrkGAODtrwZGD0eoXEw== verified attestation

Release proof: GitHub Actions run.