Skip to content
This repository was archived by the owner on Sep 20, 2026. It is now read-only.

Version 1.20

Choose a tag to compare

@fdegros fdegros released this 26 Apr 01:50
· 61 commits to main since this release
6ca4b20

🌟 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 nomerge Option: Allows mounting multiple archives as distinct subdirectories named after their files.
  • Automatic Tree Trimming: By default, fuse-archive now automatically removes redundant common parent directories from the archive to provide direct access to the contents.
  • New -o notrim Option: Disables automatic trimming to preserve the original directory structure.

⚡ Advanced Caching & Performance

  • New -o memcache Option: Implemented high-performance memory-based caching using memfd_create (Linux only).
  • Sparse File Support: Added detection of "holes" in sparse files, allowing efficient reading and seeking (#41).
  • New -o noholes Option: 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=N option 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-archive now 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 DESTDIR and PREFIX, separate user/project flags, and .PHONY targets.
  • 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 doc pipeline that produces clean, compact manual pages.

📖 Documentation & User Experience

  • README Overhaul: The README.md is 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 nocache mode (#59).

📦 Installation

make
sudo make install

To see the new manual page:

man fuse-archive

A huge thank you to all contributors who helped bring this release to life!

Full Changelog: v1.18...v1.20