This repository was archived by the owner on Sep 20, 2026. It is now read-only.
Repository navigation
Version 1.20
🌟 Major New Features
📁 Multi-Archive & Tree Management
- Simultaneous Mounting: You can now mount multiple archives into a single mount point in one command.
- Archive Merging: By default, multiple archives are merged into a unified directory tree with automatic name deduplication.
- New
-o nomergeOption: Allows mounting multiple archives as distinct subdirectories named after their files. - Automatic Tree Trimming: By default,
fuse-archivenow automatically removes redundant common parent directories from the archive to provide direct access to the contents. - New
-o notrimOption: Disables automatic trimming to preserve the original directory structure.
⚡ Advanced Caching & Performance
- New
-o memcacheOption: Implemented high-performance memory-based caching usingmemfd_create(Linux only). - Sparse File Support: Added detection of "holes" in sparse files, allowing efficient reading and seeking (#41).
- New
-o noholesOption: Allows disabling sparse file detection if desired. - Optimized Indexing: Significantly improved performance when handling archives with millions of files.
- Hole-Aware Caching: Improved cache efficiency by skipping large NUL regions when decompressing to disk.
🛡️ Enhanced Security & Permissions
- Nested Filter Support: Added the
-o maxfilters=Noption to handle multiple layers of compression/encryption (e.g.,archive.tar.gz.gpg). - Filtered Non-TAR Formats: Expanded filter support to work with ZIP, 7Z, and other formats "behind" a filter.
- Full Unix Special Bits:
fuse-archivenow correctly honors SUID, SGID, and SVTX (sticky) bits when using-o default_permissions(#57).
🚀 Improvements & Robustness
🛠️ Production-Ready Build System
- Modernized Makefile: Added support for
DESTDIRandPREFIX, separate user/project flags, and.PHONYtargets. - AddressSanitizer (ASAN) Compliance: Fixed all memory leaks and safety issues identified by ASAN, ensuring a stable and secure codebase.
- Year 2038 Safety: Enabled 64-bit time types on 32-bit systems.
- Compact Man Pages: Established a professional
make docpipeline that produces clean, compact manual pages.
📖 Documentation & User Experience
- README Overhaul: The
README.mdis now a complete user manual featuring usage examples, a feature matrix, and detailed troubleshooting guides. - Robust Argument Parsing: Fixed issues with the POSIX
--separator and improved mount point detection.
✅ Test Suite Enhancements
- Massive Test Expansion: Added comprehensive regression tests for multi-archive merging, special permissions, sparse files, and nested filters.
🐛 Bug Fixes
- Fixed consistency of attributes for files with multiple hard links.
- Fixed a short-read initialization bug in
nocachemode (#59).
📦 Installation
make
sudo make installTo see the new manual page:
man fuse-archiveA huge thank you to all contributors who helped bring this release to life!
Full Changelog: v1.18...v1.20