Repository navigation
Releases: metaneutrons/BFS
Release list
v0.3.0
v0.2.1
v0.2.0
0.2.0 (2026-10-10)
⚠ BREAKING CHANGES
- format v3 directory records changed in place; v3 images written before this release must be recreated. New names longer than 107 bytes require LONGNAMES (AmigaDOS) or --long-names (FUSE).
- consolidate on-disk format v3 and the write-path performance chain onto main (#83)
Features
- add fault corruption qualification campaign (#70) (37912d9)
- amiga: create, read and follow soft links through dos.library (#85) (8c314b7)
- amiga: mount snapshots as read-only volumes (#72) (3243afb)
- amiga: unify administration commands under bfs (#63) (80b372d)
- aros: build and test BFS natively on AROS x86_64 (#86) (07216b7)
- ci: add reproducible M7 Linux qualification (#58) (cdf477d)
- compact directory records, inode write-back and faster listings (#88) (dc1034c)
- consolidate on-disk format v3 and the write-path performance chain onto main (#83) (b8ea972)
- fuse: add qualified serialized read-write mount (e6e8f02), closes #41
- unify BFS administration commands (#67) (5b202ff)
Performance Improvements
v0.1.4
v0.1.3
0.1.3 (2026-09-08)
Bug Fixes
- ci: harden release signing with Cosign 3.1.3 (c3277ea)
Maintenance Scope
- Pin Cosign v3.1.3 for signing and release verification, addressing GHSA-fx35-mq7g-6g98 in the release toolchain.
- Refresh the SHA-pinned setup-uv, artifact upload/download and build-provenance actions, and repair Dependabot metadata resolution.
- BFS driver sources and the v2 on-disk format are unchanged from v0.1.2. This release does not add filesystem features or fix the previously observed emulator stalls.
- Release archives include 68020, 68030, 68040, 68060 and 68080 builds; inclusion of a CPU target is not physical-hardware certification.
Qualification Limits
Publication remains gated by the existing emulator smoke tests, archive integrity checks, signatures, provenance verification and public byte-for-byte read-back. Successful qualification runs do not explain or resolve the earlier guest stalls documented in #29.
Physical Apollo 68080 qualification #27, broader fault/corruption qualification #28, and long-duration/resource-pressure testing #29 remain open.
v0.1.2
0.1.2 (2026-09-08)
Bug Fixes
Compatibility and recovery
- Reject recognized unsupported format versions and unknown option bits before fallback or writes, with explicit version diagnostics in the handler, bfsformat and bfsfsck.
- Reject volume geometries beyond the v2 block-count range instead of truncating them.
- Initialize both superblock copies with the completed namespace before fresh formatting succeeds.
- The on-disk format remains v2. Future-version recognition requires the documented recognition envelope; this release does not implement a 64-bit on-disk format or migration.
Qualification limits
Successful checks include 271 host tests, 46 Amiga integration checks, and six incompatible-media scenarios, including the exact released binaries. Public archives, signatures and provenance are verified by the release workflow.
The first publication test stalled during exnext_37 and correctly blocked publication. An unchanged full rerun passed, as did two independent local runs of the exact release binaries. The original stall remains unexplained and tracked in #29; the later green run does not resolve it. Physical Apollo 68080 qualification #27, broader fault/corruption qualification #28, and long-duration/resource-pressure testing #29 remain open.
v0.1.1
Superseded by v0.1.2. Update for explicit unsupported-format rejection, checked volume geometry, and complete fresh-format superblock redundancy. See the newer release's qualification limits before use.
0.1.1 (2026-09-07)
Features
- add 68080 release build (be94f40)
- add comprehensive host test suite and diagnostic tools (7778dc9)
- amiga: add AmigaOS DOS packet handler and block I/O backend (798ef9b)
- amiga: DOS handler and block I/O for snapshots; geometry hardening (2410330)
- core: add inode and directory management layers (253dd0b)
- core: add transaction manager and dual-superblock support (2317c54)
- core: extent-mapped file I/O and namespace ops with sound locking (8afbf31)
- core: free-space allocator reserve pool with auto-refill (2999920)
- core: fs handle scaffold, rwlock abstraction, unaligned-safe accessors (e4aa486)
- core: implement file I/O with extent-based block mapping (3e0ac3d)
- core: implement robust B+tree engine with COW support (309d596)
- core: implement self-hosting free space allocator (f6c8252)
- core: online B+tree compaction and COW free tracking (778a02b)
- core: per-file extent remap and batched truncate (c8ddad8)
- core: snapshot subsystem — refcount sharing, COW, resumable delete (ff5a5e2)
- implement hard links, soft links, and B+tree based snapshots (a906f6e)
- initial project scaffolding and build system (80b313c)
Bug Fixes
- amiga: qualify handler startup, DOS packets and reproducible builds (b923962)
- ci: accept completed negative smoke failures (#21) (b88c63d)
- ci: update release-please action configuration for v4 (dad709f)
- core: bound on-disk extent length in truncate (C4) (84c0c74)
- core: cow_node distinguishes I/O errors from ENOSPC (1832e9b)
- core: eliminate btree_free_node's silent block drop (#41) (3e7cc1e)
- core: flush inode before mid-write/truncate commits (C1) (a8a2155)
- core: harden error handling in COW, tree walks and snapshots (7465893)
- core: harden filesystem ownership and recovery (#12) (cedda17)
- core: reject corrupt B+tree node headers from disk (C2) (20f6d37)
- core: resolve unaligned pointer warnings by accessing emergency pool via SB pointer (3dfe00d)
- release: align Release Please tags with release workflow (#22) (134aff5)
- release: find draft releases through GitHub list API (#23) (23dd64e)
- remove vendored third-party binaries (#5) (4897439)
- resolve low-severity review nits (#38/#40/#42) (e681b1f)
BFS v0.1.0-qualification.3
Release pipeline qualification build.