Skip to content

Tags: mxmlnkn/ratarmount

Tags

v1.2.1

Toggle v1.2.1's commit message
Version 1.2.1 built on 2025-11-19

Fixes

 - `WriteOverlay`: Reading from newly created overlay files did fail.
 - Properly format multiple URLs per dependency in `--oss-attributions` output.

core-v0.10.2

Toggle core-v0.10.2's commit message
Version 0.10.2 built on 2025-11-19

Fixes

 - Add missing exception logging format string argument.
 - Using a locally created index with a remote archive did fail.
 - Add Zstandard support for Python 3.14+.

core-v0.10.1

Toggle core-v0.10.1's commit message
Version 0.10.1 built on 2025-08-17

Fixes

 - Avoid exception in split-file check when given only a name without slashes or a non-existing file.

v1.2.0

Toggle v1.2.0's commit message
Version 1.2.0 built on 2025-08-16

Feature

 - Add optional hidden folder control interface `<mount point>/.ratarmount-control/`.
 - Add capability to mount into relative subpaths in existing FUSE mount using the control interface.
 - Use `rich` for help formatting, logging, and the progress bar if installed.
 - Enable `mfusepy` and other backend debug output for high `--debug` settings.
 - `--recursive` will now also join split files and descend into the resulting file.
 - Add `--no-file-versions` for disabling the file version layer.
   One fewer layer may improve performance and reduce problems.
 - Offer `--no-xxx` variants for all bool flags.
 - Move all command line options that are actually subcommands into an exclusive group.

Performance

 - Store gzip indexes as compressed gztool index. Gztool indexes are compressed.
   A novel sparsing method is used to increase compressibility by doing a sparsity analysis
   and setting all unneeded window bytes to 0. This reduces the index size for large gzips by 10-20x.
   This also reduces memory consumption because the gzip index is fully held in memory.

API

 - Drop support for EOL Python 3.7 and 3.8. Older ratarmount versions are still available on old Python versions.

core-v0.10.0

Toggle core-v0.10.0's commit message
Version 0.10.0 built on 2025-08-16

Feature

 - Add `RemovePrefixMountSource`.
 - `AutoMountLayer` will now also join split files and recursively mount the result if necessary.
 - Use `rich` for help formatting, logging, and the progress bar if installed.
 - `SingleFileMountSource`: Initialize permission modes based on `fileobj.readable` and `.writable`.
 - `SingleFileMountSource`: Accept open-file lambdas in addition to file objects.
 - `SubvolumesMountSource`: Add capability to mount and unmount nested paths.

API

 - Drop support for EOL Python 3.7 and 3.8. Older ratarmountcore versions are still available on old Python versions.
 - Add default argument values for `compressions.open_compressed_file`.
 - Use `Sequence` instead of `list` to annotate function arguments.
 - `SingleFileMountSource`: Simplify code to only accept non-folder paths. Use `RemovePrefixMountSource` instead.
 - Use the `logging` module instead of `debug: int` arguments to most functions.

Fixes

 - Make fsspec `ratar://` protocol implementation return full paths on `ls` so that `AbstractFileSystem.find` works.

v1.1.2

Toggle v1.1.2's commit message
Version 1.1.2 built on 2025-08-01

 - Fix wrong `sys.executable` in AppImage and make AppRun POSIX-compliant to not require bash on the host.
 - Improve handling of non-existing input files in argument check.
 - Properly clean up log file on exit.
 - Standard error output redirection with `--log-file` did not work.

core-v0.9.2

Toggle core-v0.9.2's commit message
Version 0.9.2 built on 2025-08-01

 - Querying compositing mount sources with empty string instead of `/` did not work correctly.
 - `SQLARMountSource`: Files with denormal paths did show empty mount points.
 - `SQLARMountSource`: Also mention cryptography module if missing.
 - `SQLiteIndexMountSource`: Do not delete SQLite files that are not ratarmount indexes.
 - Add join_threads to `SingleFileMountSource` and `FileVersionLayer` to avoid hangs when this call is not forwarded.
 - `SubvolumesMountSource`: `__exit__` did not correctly delegate to held mount sources.
 - `SubvolumesMountSource`: Normalize path returned by `get_mount_source`.
 - `SubvolumesMountSource`: Return subvolume root for direct folder access.

v1.1.1

Toggle v1.1.1's commit message
Version 1.1.1 built on 2025-07-23

Fixes

 - Fix possible issue when deleting from write overlay.
 - Do not filter chained fsspec protocols as unknown protocol.
 - Return the correct number of blocks for files. This fixes results from `du`.
 - Improve automatic mount point inference.

core-v0.9.1

Toggle core-v0.9.1's commit message
Version 0.9.1 built on 2025-07-23

Fixes

 - Python file object implementations did not return `True` for `closed` after closing them.
 - Patch broken TAR parsing for >8 GiB file with sparsity.
 - Patch wrong checksum for >8 GiB file with sparsity.
 - Support files larger than 8 GiB for GNU sparse detection.
 - Fix very long parsing time during GNU sparse detection with `--ignore-zeros`.
 - Make `@overrides` a test-time error not a runtime-error.
 - Make fsspec `tar://` protocol work. For most cases this should be avoided though because it does not
   use the performance benefits of ratarmount.
 - Use exceptions over asserts for functional SQLAR magic bytes checks so that it works with `python3 -O`
   optimization mode.
 - Detect Zstandard files created by pzstd, which start with a skippable frame.
 - Show the correct permissions for the archives opened via libarchive.

v1.1.0

Toggle v1.1.0's commit message
Version 1.1.0 built on 2025-06-21

Features

 - Add support for argument completion in your shell with `argcomplete` if it is installed.
 - Make `--unmount` accept multiple mount points to unmount.
 - Add support for extended file attributes.
 - Extract libfuse3 support into `mfusepy`, a fork of `fusepy`, and depend on it.
 - Add `--log-file` option to write output to file when daemonized.

Performance

 - Try backends in smarter order based on file suffix.