Skip to content

fs-safe 0.21.3

Choose a tag to compare

@github-actions github-actions released this 30 Sep 12:49
· 275 commits to main since this release
v0.21.3
fe6e61d

Highlights

  • Watch transient files: excluded files and atomic-save temp files no longer cause spurious overflow when they disappear between guarded passes. (#773)
  • Faster watch rescans: unrelated native hints skip rescans, and relevant hints reconcile affected directories, reducing scan work and allocation. (#774)

Fixes

  • Watch: no longer reports overflow when an excluded or atomic-save temp file appears and disappears between guarded passes under the same observed parent directory. (#773)
  • Windows removal: nonrecursive Root.remove() reports not-empty for a nonempty directory in required native mode, including with force: true, instead of not-removable. (#771)
  • Copy and staging failures: preserve publication callback errors with unreadable metadata, retain uncertain native rename outcomes, and prevent repeated or reentrant cleanup from reusing consumed descriptors. (#763)

Performance

  • Watch: skip guarded unrelated native hints and reconcile affected directories, reducing a 502-file memory-watch fixture from 513 to 55 visits and 8.16 MB to 1.33 MB sampled allocation per relevant event pass; unrelated detailed hints at two edits/second no longer trigger 120 full scans/minute, while periodic and uncertain-event reconciliation remain full. (#774)
  • Linux fallback resolution: reuse the file type from each component's checked descriptor observation, avoiding a duplicate metadata read while retaining fresh identity, symlink-target, and mount-policy checks. (#757)
  • Native parent validation: reuse the retained descriptor's captured identity during ordinary POSIX policy checks, avoiding a duplicate metadata read while keeping the final pathname inspection fresh. (#735)

Published packages

Package Registry tarball Verified integrity Provenance
@openclaw/fs-safe-linux-x64-gnu@0.21.3 tgz sha512-+Xr7WLr2BCiPfx/xCYzn2Lcf+5IUj04EOUwwWbIGIlB8moXGF2uqe5vMtEifHyhvAqHES56QE3aYXqiLyNrhgQ== verified attestation
@openclaw/fs-safe-linux-x64-musl@0.21.3 tgz sha512-fI4ij+6v/tk8HAI2X/GWbeeipNr3FsRaroPW1SolgHmrt+N6uTL/jxBFIpAcIfeRWy9hb8Kfd4dT07MV1wOF5A== verified attestation
@openclaw/fs-safe-linux-arm64-gnu@0.21.3 tgz sha512-JPDX4gk6vH/sYzQ6tHse0Zimb7lS0OBeJwT0iLF2BPQ1fobLH5X7iOrQgsqCfhRM0m+Ts6UJT7ebf/63T2uPoA== verified attestation
@openclaw/fs-safe-linux-arm64-musl@0.21.3 tgz sha512-CcqsLepJQTK5Rn6x5tEv3kaDV5jeveQO1HKBwlcJ7tEWhLb9KDRYHiyStqyg10u/O+apMril6Sj5chjPXApciw== verified attestation
@openclaw/fs-safe-darwin-x64@0.21.3 tgz sha512-bxxFN9l5BmaLxDO4hGnMl7LMFkmc4Uj/n7oNZCG407zZCY3wv+I0C3QocH/Nnrz3Of2zXtLElPYc2wqejryJ6Q== verified attestation
@openclaw/fs-safe-darwin-arm64@0.21.3 tgz sha512-ztAj99tTLFNtphtHNQJntsiNcb74c81Z83qeC86Da2INhXDjZTVk9W/jb1He9owaDo5fi7/oxRbt3MAbPaqRSw== verified attestation
@openclaw/fs-safe-win32-x64-msvc@0.21.3 tgz sha512-CuylNHU+zEayp18J/zU7qB1M/7/Jc/nWVigQ2US+EALB1LfGly45ZVSKnK7618z+xfBXpK+5c83n0piiukXH+g== verified attestation
@openclaw/fs-safe@0.21.3 tgz sha512-sBm68f4QiZrrqlZxbOlqVIutrmOK/KLZBrwyPIhV7xXJmlPFc6ZET8AggcU3hMDM3dDSUYgA8LUupxwTB2DZsg== verified attestation

Release proof: GitHub Actions run.