Repository navigation
fs-safe 0.23.1
Highlights
- gVisor and 9p file creation:
create()and other no-replace publication fall back inautomode on filesystems that rejectrenameat2withRENAME_NOREPLACE;requiremode fails closed. (#834, fixes #828) Thanks @vishnukool. - Container copy compatibility: seccomp or LSM policies denying
FICLONEno longer breakclone: "auto"copies, for both single files andcopyTree. (#829, #835) Thanks @Mohl, with co-author credit to @foxsky. - macOS watching: a FIFO at a watched name no longer freezes watching across the process. (#830) Thanks @SebTardif.
Fixes
- gVisor file creation: fall back safely when the filesystem rejects native no-replace publication, clean unpublished stages, and report the missing capability in native-required mode. (#834) Thanks @vishnukool.
- ZIP collision checks: reject directory and file names that differ only by case, Unicode normalization, or a trailing separator before extraction or bounded reads. (#832) Thanks @SebTardif.
- macOS entry watch: prevent a FIFO at a watched name from blocking every watcher in the process. (#830) Thanks @SebTardif.
- Disk-full diagnostics: preserve disk-full (
ENOSPC) diagnostics and cleanup receipts through combined write and disposal failures instead of reporting a misleading file-type error. (#833) Thanks @steipete. - Linux clone fallback: copies with
clone: "auto"fall back to guarded byte copying when container seccomp or LSM policy deniesFICLONE;clone: "always"reportsunsupported-platformand removes its stage. (#829) Thanks @Mohl, with co-author credit to @foxsky. - Linux tree clone fallback:
copyTreewithclone: "auto"copies bytes when XFS/ZFS file reflinks are unavailable or denied by container policy;"always"reportsunsupported-platformafter partial-tree cleanup. (#835) Thanks @steipete.
Published packages
| Package | Registry tarball | Verified integrity | Provenance |
|---|---|---|---|
| @openclaw/fs-safe-linux-x64-gnu@0.23.1 | tgz | sha512-uXXjTHKNSzN0eXORFWkTcWcFRz01tq4Ss+eLon/eYWmq47A7eBGo3Cp0ImoLjjFq5Px8uilAQgr35k44ijCmgA== |
verified attestation |
| @openclaw/fs-safe-linux-x64-musl@0.23.1 | tgz | sha512-TerQKZKa35gphkXHzRIORDnNN6+glK6SBNSuEmj+vhnp4KjXVHqnUoHZ04jP2cKg1wpcga6K+XU3ZdbfyZYWKA== |
verified attestation |
| @openclaw/fs-safe-linux-arm64-gnu@0.23.1 | tgz | sha512-7q7EFbK3RvoPCPtLlEQ6De7ZEiA/rPkUWIQvwgegQ+yNQJZtWvm7byYRlZDbdIAWjlDcyl6E1+afF4mMS0GV/g== |
verified attestation |
| @openclaw/fs-safe-linux-arm64-musl@0.23.1 | tgz | sha512-KPMdqcA/+dYmtdPmP9zV38u1G68dl+6xPrD0+bzF2Q7MivsH1OxdH6eN0pv+LgD2D3l6Gfg4kS8/yT3/PO/N0w== |
verified attestation |
| @openclaw/fs-safe-darwin-x64@0.23.1 | tgz | sha512-n3ZIcQoONwSt0nHxwGCc53yqOqxSx/T04K1i2KCXniETOFB0Qm+6NIE3W+W48t7WSR1yi3e8ZMZGxNpVi32wKw== |
verified attestation |
| @openclaw/fs-safe-darwin-arm64@0.23.1 | tgz | sha512-FytaTQM14j63Uwlx0rUmlphdCKmTJVywDdRjgJkhEocNLmm+YrIuBC3PCmhFBI9Mm9eaoRAvahdTU0Xapnp8GQ== |
verified attestation |
| @openclaw/fs-safe-win32-x64-msvc@0.23.1 | tgz | sha512-ajvyx7umyQ7KNhCafet5yRCfwhlMp5oYMZKlvJ6ugpEwcs4ObUkkwYFMiWAFQoN6qDJgjL578kHkw5oGPWsu4Q== |
verified attestation |
| @openclaw/fs-safe@0.23.1 | tgz | sha512-4sER5bh2SF+zIgqxCOTw5De5+1B3BxiCtfaXVwT4xymzkbTBL/DhCn2rByORhGM3KrXJzumOhEMgscMGlGJOww== |
verified attestation |
Release proof: GitHub Actions run.