Skip to content

Releases: google/mount-zip

Version 1.14

Choose a tag to compare

@fdegros fdegros released this 31 May 12:33
54a1624

Highlights

C++23 Migration

The project has been fully migrated to the C++23 standard, allowing for more expressive and efficient code throughout the library and CLI.

Architectural Simplification

We have consolidated the FileNode and DataNode structures into a single, unified Node class. This simplification reduces memory overhead and improves the maintainability of the virtual tree structure.

Performance Optimizations

  • Incremental Path Hashing: Implemented a new path hashing strategy that computes hashes incrementally during tree construction. This significantly reduces the overhead when mounting archives with a massive number of files.
  • Scalability: The system has been validated against high-density archives containing over 20 million nodes.

Feature Changes

Permission Handling

  • Option Renaming: The permissions-related options have been renamed to -o enforce_permissions for better clarity.
  • Mask Application: The fmask and dmask options are now applied even when default_permissions is enabled, providing more consistent behavior across different mounting scenarios.

Platform Support

  • macOS & Homebrew: Improved compatibility for macOS builds, specifically around Homebrew-installed dependencies like icu4c and boost. The build system now handles "keg-only" libraries more robustly.
  • ChromeOS: Added support for specialized ICU initialization, ensuring better integration with the ChromeOS environment.

Internal Improvements

  • Build System Modernization: Consolidated multiple Makefiles and flattened the test directory structure for a cleaner build process.
  • Enhanced Testing: Reworked the integration test suite and expanded unit test coverage. Added support for generating code coverage reports directly from the Makefile.
  • Technical Accuracy: Renamed ScopedFile to FileDescriptor to better reflect its role in resource management.

Installation

For building and installation instructions, please refer to INSTALL.md.

Full Changelog: v1.12...v1.14

Version 1.12

Choose a tag to compare

@fdegros fdegros released this 27 Feb 00:18
f42891a
  • Fix a build error on macOS
  • Improve the build system to automatically find and use dependencies
  • Handle long and deeply nested paths more appropriately (google/fuse-archive#56)
  • Add a -o nodirs option to flatten a ZIP's tree structure
  • Simplify handling of hard links
  • Simplify handling of extra fields
  • Check for overflow when converting NTFS timestamps
  • Fix a build error by explicitly using boost::hash (#34)

Full Changelog: v1.10...v1.12

Version 1.10

Choose a tag to compare

@fdegros fdegros released this 07 Aug 21:52
  • Can mount several ZIP archives, either on top of each other (by default), or next to each other (with the -o nomerge option) (#28)
  • Automatically trim as many directories as possible from the top of the tree
  • Add the -o notrim option for cases where no tree trimming is desired or necessary

Full Changelog: v1.8...v1.10

Version 1.8

Choose a tag to compare

@fdegros fdegros released this 19 Feb 05:38
  • Use FUSE 3 by default (#26)

Full Changelog: v1.6...v1.8

Version 1.6

Choose a tag to compare

@fdegros fdegros released this 13 Jan 00:01
  • By default, create the mount point in the current working directory
  • Always use -o for command line options
  • Don't use path prefixes such as ROOT, UP or CUR for absolute and parent-relative paths
  • Keep inode number when updating a directory node

Full Changelog: v1.4...v1.6

Version 1.4

Choose a tag to compare

@fdegros fdegros released this 16 Dec 02:53
  • Handle file paths starting with ./ (#29)
  • Adjust blackbox tests so that they can successfully run in a different time zone than the author's time zone

Full Changelog: v1.2...v1.4

Version 1.2

Choose a tag to compare

@fdegros fdegros released this 09 Dec 04:58
  • Default file UID/GID is the UID/GID of the user running mount-zip
  • Add dmask and fmask options
  • Sensible default access bits
  • Better handling of default_permissions option
  • Better handling of double filename extensions (e.g. .tar.gz)

Full Changelog: v1.0.15...v1.2

Version 1.0.15

Choose a tag to compare

@fdegros fdegros released this 02 Jun 01:42
  • Fix statvfs implementation
  • Truncate filenames to NAME_MAX bytes
  • Adjust filename extension detection
  • Adjust filename collision resolution

Full Changelog: v1.0.14...v1.0.15

Version 1.0.14

Choose a tag to compare

@fdegros fdegros released this 21 Apr 11:48
  • Add --memcache option for in-memory cache
  • Add workaround for cache on filesystems that don't support O_TMPFILE
  • Support older versions of libzip than 1.9.1

Full Changelog: v1.0.13...v1.0.14

Version 1.0.13

Choose a tag to compare

@fdegros fdegros released this 27 Mar 03:26
  • Allow control characters in filenames and paths