Skip to content

Releases: link-foundation/lfs

links-fs 0.21.1

Choose a tag to compare

@github-actions github-actions released this 22 Oct 10:51

crates.io Docs.rs

Fixed

  • CI/CD no longer reports a transient GitHub API failure as a disabled dependency graph: only a plain 403 Forbidden counts as disabled, other answers are retried and then reported as unknown, and DEPENDENCY_GRAPH_DEBUG=1 prints every raw answer.
  • The pedantic zizmor pass now runs with a token, so it no longer falls back to offline mode and skips the online audits.
  • GitHub Pages deployment no longer prints the punycode DEP0040 deprecation warning from actions/deploy-pages.
  • The Security, Workflows and Desktop Release workflows no longer print Git's default-branch hint in every checkout.
  • Every file is back under the file-size warning threshold, so the check no longer warns on every change to src/links/mod.rs, src/fs/tests.rs, scripts/version-and-commit.rs and tests/unit/ci-cd/workflow_release.rs; the legacy caps that kept the last two permanently inside the warning band are gone.
  • Closing a volume now releases its lock immediately. Before, a process spawned by another thread at that moment kept the lock until it started, so reopening the volume right after unmounting it could fail with "in use by another process" (the flaky integration tests in CI).

Added

  • A pinned ShellCheck job (and pre-commit hook) lints every tracked shell script, which actionlint never covered; the findings it raised are fixed.

links-fs 0.21.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 08:07

crates.io Docs.rs

Added

  • LFS, the links file system: a block-device file system in Rust whose metadata is an embedded doublets links database (united or split indices, optional adaptive bitstring index, variable-size store with a threshold) and that shares one optional journal with it.
  • Files take one contiguous extent each; gaps between files are filled with link chunks, and online compaction keeps the free space in one extent.
  • Settings that can change at run time, stored in /.lfs/config and set with lfs config.
  • Links import and export: binary links notation, doublets files and LiNo.
  • The lfs command line tool: mkfs, fsck, map, compact, resize, put, get, ls, links, config, blueprint, demo, mount and serve.
  • Mount drivers: FUSE on Linux, FreeBSD and macOS (macFUSE), Dokan 2 on Windows x64, and an NFS version 3 server (nfs feature, lfs mount --nfs and lfs serve) that macOS mounts with its built-in mount_nfs and Linux with mount -t nfs.
  • A disk-space map visualizer on GitHub Pages, and a byte-level blueprint page that runs LFS as WebAssembly to format, open and walk any configuration's volume down to single bytes.
  • Image files are locked while open: one writer or many readers, so two processes never write one volume at once.
  • LFS_DOKAN_TRACE=1 prints every Dokan callback with its arguments and result.
  • The issue #1 case study in docs/case-studies/issue-1: requirements, research, design and the evidence for each requirement.