Skip to content
vfstool

vfstoolChangelog

Changelog

Every release of vfstool, newest first. A release marked unreleased is declared in mod.toml and published when its tag is pushed.

Releases

19 declared

  1. 2.1.0 stable 2026-10-23

    vfstool finds OpenMW's own configuration again, as the Rust program did.

    Fixed

    • With neither --config nor OPENMW_CONFIG, vfstool reads the openmw.cfg in the folder OpenMW keeps its own in on this platform: Documents\My Games\OpenMW on Windows, wherever Documents was moved, Library/Preferences/openmw on macOS, and the XDG config folder elsewhere. Its ?userconfig? and ?userdata? are OpenMW's own folders. Needs jess 0.2.1 or later; the standalone downloads carry it.
    org.dreamweave.vfstool-2.1.0.jpk 60.6 kB · jpk
    Verify · sha256 314590d8841e…f55e2c20b
    Release
    2.1.0 (stable)
    Size
    62060 bytes
    SHA-256
    314590d8841e4fbd3c6f240ca8457d7b4648e8334124399e85629c5f55e2c20b
    Commit
    1eae7ab127b5
    Package
    org.dreamweave.vfstool
    Content digest
    eb05850223448c7d80c4723490c02a31dc3842e72ce0969019d15fd8c858ca09
    Sources
    1

    Check it yourself: sha256sum org.dreamweave.vfstool-2.1.0.jpk must print the digest above.

    vfstool-2.1.0.jsw 464.6 kB · jsw
    Verify · sha256 4fee62bbe250…03462e68c
    Release
    2.1.0 (stable)
    Size
    475758 bytes
    SHA-256
    4fee62bbe250d338b08cf4f258a015450037b3f5d7e943fd54323e803462e68c
    Commit
    1eae7ab127b5
    Sources
    1

    Check it yourself: sha256sum vfstool-2.1.0.jsw must print the digest above.

    vfstool-Windows-X64.zip 20.4 MB · Windows
    Verify · sha256 9fd98175b93b…a381d5730
    Release
    2.1.0 (stable)
    Size
    21367046 bytes
    SHA-256
    9fd98175b93bc7d2ea22bd9606c1ef5ab66d8d1098c8ce895100cf5a381d5730
    Commit
    1eae7ab127b5
    Sources
    1

    Check it yourself: sha256sum vfstool-Windows-X64.zip must print the digest above.

    vfstool-macOS-X64.zip 21.3 MB · macOS, Intel
    Verify · sha256 84ad5ed450ed…5db6c394f
    Release
    2.1.0 (stable)
    Size
    22381552 bytes
    SHA-256
    84ad5ed450ed2a6248d44bbc36b076ec5819e9c1708b5061b73b5685db6c394f
    Commit
    1eae7ab127b5
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-X64.zip must print the digest above.

    vfstool-macOS-ARM64.zip 19.4 MB · macOS, Apple silicon
    Verify · sha256 671b4364b950…a6a057b33
    Release
    2.1.0 (stable)
    Size
    20318178 bytes
    SHA-256
    671b4364b95066a733a03d6f5ae5f951763cd258a7150ce6a3798dca6a057b33
    Commit
    1eae7ab127b5
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-ARM64.zip must print the digest above.

    vfstool-Linux-X64.zip 22.0 MB · Linux
    Verify · sha256 7ef1c8cb9a1d…bf3e817e2
    Release
    2.1.0 (stable)
    Size
    23029654 bytes
    SHA-256
    7ef1c8cb9a1d505f66eeb40da43132b1e266a38cef083820b733102bf3e817e2
    Commit
    1eae7ab127b5
    Sources
    1

    Check it yourself: sha256sum vfstool-Linux-X64.zip must print the digest above.

  2. 2.0.1 stable 2026-10-23

    vfstool ships as a program again: jess install org.dreamweave.vfstool, or a download that runs without jess for Windows, macOS and Linux.

    Added

    • The release carries vfstool as an application: vfstool.jsw, the package and everything it runs packed into one file, which jess install org.dreamweave.vfstool installs onto your PATH.
    • A standalone vfstool for Windows x8664, macOS x8664 and ARM64, and Linux x86_64: jess carrying vfstool, zipped, needing nothing installed.

    Fixed

    • vfstool help, --help and -h print the commands and options instead of a note about the test suite, and running vfstool with no command points at them.

    Known issues

    • vfstool doesn't look for openmw.cfg in OpenMW's default location: name it, or the folder holding it, with --config or OPENMW_CONFIG.
    org.dreamweave.vfstool-2.0.1.jpk 60.9 kB · jpk
    Verify · sha256 4b0d613b3844…eaf65869e
    Release
    2.0.1 (stable)
    Size
    62357 bytes
    SHA-256
    4b0d613b3844cfccc334446e1b6af746a9dfe70d1a9edcf2d58cb60eaf65869e
    Commit
    66168bb6ed9b
    Package
    org.dreamweave.vfstool
    Content digest
    90655f153e7363c0ca6acc05554f2d8ff650af5286947a8c505743e9428e9c5e
    Sources
    1

    Check it yourself: sha256sum org.dreamweave.vfstool-2.0.1.jpk must print the digest above.

    vfstool-2.0.1.jsw 460.9 kB · jsw
    Verify · sha256 0d56410a49dc…d92a96f49
    Release
    2.0.1 (stable)
    Size
    471955 bytes
    SHA-256
    0d56410a49dc34e06cd21c2454cf9a1fa689500757c623ddcd919c5d92a96f49
    Commit
    66168bb6ed9b
    Sources
    1

    Check it yourself: sha256sum vfstool-2.0.1.jsw must print the digest above.

    vfstool-Windows-X64.zip 20.4 MB · Windows
    Verify · sha256 9041a1d6abe8…9640e39f3
    Release
    2.0.1 (stable)
    Size
    21351467 bytes
    SHA-256
    9041a1d6abe8c94bf2ee4f595e46ebcf7539ecc75cefd68c4e797719640e39f3
    Commit
    66168bb6ed9b
    Sources
    1

    Check it yourself: sha256sum vfstool-Windows-X64.zip must print the digest above.

    vfstool-macOS-X64.zip 21.3 MB · macOS, Intel
    Verify · sha256 2a49ee7c0a53…cfded454b
    Release
    2.0.1 (stable)
    Size
    22355872 bytes
    SHA-256
    2a49ee7c0a53f66cc77ce8c60b2e343f1d55029e4e9628b70307bafcfded454b
    Commit
    66168bb6ed9b
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-X64.zip must print the digest above.

    vfstool-macOS-ARM64.zip 19.3 MB · macOS, Apple silicon
    Verify · sha256 3e2bf4915a31…15471874b
    Release
    2.0.1 (stable)
    Size
    20284034 bytes
    SHA-256
    3e2bf4915a3169f2d5e726baedf13b7720952ec9922ef155b664ec815471874b
    Commit
    66168bb6ed9b
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-ARM64.zip must print the digest above.

    vfstool-Linux-X64.zip 22.0 MB · Linux
    Verify · sha256 64ff1c46e306…44c822dc9
    Release
    2.0.1 (stable)
    Size
    23018715 bytes
    SHA-256
    64ff1c46e306d40e02aa0456e452028a6a22916de04c885d9bb114f44c822dc9
    Commit
    66168bb6ed9b
    Sources
    1

    Check it yourself: sha256sum vfstool-Linux-X64.zip must print the digest above.

  3. 2.0.0 stable 2026-10-21

    vfstool is a Jess package, written in Luau; the Rust program continues on the rust branch at 1.0.1.

    Breaking changes

    • The tool is the Jess package org.dreamweave.vfstool, run through jess rather than as a downloaded binary. The Rust program stays at 1.0.1 on its GitHub releases, crates.io and this repository's rust branch, and is no longer developed on main.
    org.dreamweave.vfstool-2.0.0.jpk 59.6 kB · jpk
    Verify · sha256 4d8a14fffcbb…9340f010b
    Release
    2.0.0 (stable)
    Size
    61071 bytes
    SHA-256
    4d8a14fffcbb1ab7dcc1c75afd3629ad28e86b75960453fb2f1286c9340f010b
    Commit
    7050b6f37bd7
    Package
    org.dreamweave.vfstool
    Content digest
    76d49ff1220dbe340c28eeca9592017ec6e39ec3e42f57029cceb71169d2e95a
    Sources
    1

    Check it yourself: sha256sum org.dreamweave.vfstool-2.0.0.jpk must print the digest above.

  4. 1.0.1 stable 2026-09-30

    Built on l3i 1.1.0 and the MIT OR Apache-2.0 releases of dream-path and dream_archive.

    Changed

    • vfstool_lib and vfstool are 1.0.1; l3i 1.1.0 comes from crates.io. No command, option or Luau function changed.
    • Requires dream-path 1.1 and dream_archive 1.1, their first MIT OR Apache-2.0 releases; the GPL releases up to 1.0.0 are no longer admitted.
    vfstool-Windows-X64.zip 1.5 MB · Windows
    Verify · sha256 d7a67bb85c58…659d2fc85
    Release
    1.0.1 (stable)
    Size
    1532303 bytes
    SHA-256
    d7a67bb85c58550085a1ab89532c241ce87c8e160a867605a39562b659d2fc85
    Commit
    c44b792938a1
    Sources
    1

    Check it yourself: sha256sum vfstool-Windows-X64.zip must print the digest above.

    vfstool-macOS-ARM64.zip 1.6 MB · macOS, Apple silicon
    Verify · sha256 0d8da2a5f1f6…d7550eb27
    Release
    1.0.1 (stable)
    Size
    1728651 bytes
    SHA-256
    0d8da2a5f1f6f136c9f65bb14e8222a5c9f7e78295f15b8e2e5e171d7550eb27
    Commit
    c44b792938a1
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-ARM64.zip must print the digest above.

    vfstool-macOS-X64.zip 1.7 MB · macOS, Intel
    Verify · sha256 eb7d0477bcb8…16adc96e9
    Release
    1.0.1 (stable)
    Size
    1830940 bytes
    SHA-256
    eb7d0477bcb84637b7c99af65e02aba8550eaff001c374856fcb3d916adc96e9
    Commit
    c44b792938a1
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-X64.zip must print the digest above.

    vfstool-Linux-X64.zip 1.9 MB · Linux
    Verify · sha256 665189cce6e3…4fb206685
    Release
    1.0.1 (stable)
    Size
    1942567 bytes
    SHA-256
    665189cce6e3ffb5309c74261253482edf3d2f54d65078124e0d3804fb206685
    Commit
    c44b792938a1
    Sources
    1

    Check it yourself: sha256sum vfstool-Linux-X64.zip must print the digest above.

  5. 1.0.0 stable 2026-09-29

    First stable release: the commands, their options, their reports and their exit codes are now under semver.

    Breaking changes

    • remaining --replacements-only has no short form: its -r is gone, so -r means --use-relative everywhere.

    Added

    • --version prints the version.
    • The global options, -c and -r, also work after the command: vfstool find-file x -c openmw.

    Changed

    • A command line that does not parse exits with 8, invalid input, instead of clap's 2, which find-file -p uses for a file only an archive has. Help and --version still exit with 0.
    • No command or option was removed or renamed since 0.10.4. Built on vfstool_lib 1.0.0: looking up a path that is already normalized allocates nothing.

    Fixed

    • collapse into one of the cfg's own data directories leaves that directory's loose files where they are. It deleted each one before linking it, then failed.
    • extract into the folder a loose file already lives in leaves the file there. It deleted the file, then failed to copy it.
    • run without --copy no longer empties a file in data-local that the tool rewrote in place: capturing copied the file onto itself, which truncated it to nothing.
    • Ctrl+C during run no longer leaves the merged folder behind: vfstool outlives the command it stopped, captures nothing, removes the folder and exits with 9.
    • run whose output is read by something that stops early, such as head, finishes capturing and removes the merged folder; it panicked with exit code 101 partway through the list of captured files and left the folder behind.
    • run passes the command's arguments and the {} folder byte for byte: an argument that is not UTF-8 was refused with exit code 2, and a merged folder whose name is not UTF-8 reached the command with U+FFFD in its path, a folder that does not exist.
    • run replaces {} with the merged folder's absolute path, so a relative MERGED_DIR still names it from the command's --working-dir.
    • run refuses a MERGED_DIR that is a file or a symbolic link with exit code 8, as it does a folder with files in it. A file stopped it with Not a directory and exit code 9, and a symbolic link to an empty folder was replaced by a folder of its own and then deleted.
    • run names a command it cannot start: failed to start 'COMMAND': No such file or directory, where it printed only the reason.
    • On Linux and macOS, find and remaining list a file from a Morrowind BSA by its name, ex_door.nif, instead of its whole path inside the archive, meshes\x\ex_door.nif, and sort it by that name.
    • archives -f toml and archive-list -f toml write their list under archives and entries, since TOML has no top-level lists. They stopped with unsupported array type and exit code 9. JSON and YAML are unchanged.
    • diff with a data directory spelled in another case compares its files; on Linux it read the folder as typed, found nothing, and could name the wrong one as higher_priority.
    • conflicts and shadowed -l without -r spell each loose file's path as it is on disk, Textures/Tx_Wood_01.dds, instead of joining the source with the lowercase key, a path that does not exist on Linux.
    • contributions numbers sources as explain, duplicates and archives do, and lists an empty or missing data directory with zeros; it left such a directory out and numbered every later source one lower. conflicts lists such a directory too.
    • Messages are colored only on a terminal, and not when NO_COLOR is set: ANSI codes were written into pipes, files and logs too.
    • On Linux and macOS, every report writes a file or folder name that is not UTF-8 with U+FFFD in place of its invalid bytes, instead of stopping with path contains invalid UTF-8 characters and exit code 9, and drift reads a lock of such a name back without drift.
    vfstool-Windows-X64.zip 1.5 MB · Windows
    Verify · sha256 87a080a9cc27…845a14d75
    Release
    1.0.0 (stable)
    Size
    1531774 bytes
    SHA-256
    87a080a9cc27834b43643a6dc7d53dfd0490fe50302555f68fd6f71845a14d75
    Commit
    1a4193604e82
    Sources
    1

    Check it yourself: sha256sum vfstool-Windows-X64.zip must print the digest above.

    vfstool-macOS-ARM64.zip 1.6 MB · macOS, Apple silicon
    Verify · sha256 5a8e7f02cfa5…4edd99faf
    Release
    1.0.0 (stable)
    Size
    1729054 bytes
    SHA-256
    5a8e7f02cfa54da4b67ed2985dca10d73f7ce8ccc070487510eb3824edd99faf
    Commit
    1a4193604e82
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-ARM64.zip must print the digest above.

    vfstool-macOS-X64.zip 1.7 MB · macOS, Intel
    Verify · sha256 2fda3f041187…0ebbd9d18
    Release
    1.0.0 (stable)
    Size
    1830465 bytes
    SHA-256
    2fda3f041187f273ba35d9e3129a84cfa0f1cdf6c97eee71baac6c50ebbd9d18
    Commit
    1a4193604e82
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-X64.zip must print the digest above.

    vfstool-Linux-X64.zip 1.9 MB · Linux
    Verify · sha256 7b14089f7720…3d52a7aee
    Release
    1.0.0 (stable)
    Size
    1942538 bytes
    SHA-256
    7b14089f7720862c94f5265bbb15c0cfc20303c7b87c38c9ca58b0f3d52a7aee
    Commit
    1a4193604e82
    Sources
    1

    Check it yourself: sha256sum vfstool-Linux-X64.zip must print the digest above.

  6. 0.10.4 stable 2026-09-27

    vfstool is MIT OR Apache-2.0.

    Changed

    • vfstool is licensed MIT OR Apache-2.0, at your option, instead of GPL-3.0-only.
    vfstool-Windows-X64.zip 1.5 MB · Windows
    Verify · sha256 9226d06c0088…25941dcbe
    Release
    0.10.4 (stable)
    Size
    1560867 bytes
    SHA-256
    9226d06c008819bb228ffb1c00c84e5e4397d630791b0dfcab1a48925941dcbe
    Commit
    dada4ea5bc37
    Sources
    1

    Check it yourself: sha256sum vfstool-Windows-X64.zip must print the digest above.

    vfstool-macOS-ARM64.zip 1.6 MB · macOS, Apple silicon
    Verify · sha256 ce7455dec153…9c4094af7
    Release
    0.10.4 (stable)
    Size
    1669653 bytes
    SHA-256
    ce7455dec1539dcc8426135778b69660e3f99f4ff6ab9f648dad7089c4094af7
    Commit
    dada4ea5bc37
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-ARM64.zip must print the digest above.

    vfstool-macOS-X64.zip 1.7 MB · macOS, Intel
    Verify · sha256 a9008c64bb15…2724c745d
    Release
    0.10.4 (stable)
    Size
    1771593 bytes
    SHA-256
    a9008c64bb1532e8e9d016ab844b7cd968846b023af186c2829af5c2724c745d
    Commit
    dada4ea5bc37
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-X64.zip must print the digest above.

    vfstool-Linux-X64.zip 1.8 MB · Linux
    Verify · sha256 856e9964a020…a2c85956c
    Release
    0.10.4 (stable)
    Size
    1906768 bytes
    SHA-256
    856e9964a020caddae6eb4678b76856aa0ea3bee1b755c116a39d8aa2c85956c
    Commit
    dada4ea5bc37
    Sources
    1

    Check it yourself: sha256sum vfstool-Linux-X64.zip must print the digest above.

  7. 0.10.2 stable 2026-09-27

    Changed

    • Built on vfstool_lib 0.10.2; the program is unchanged.
    vfstool-Windows-X64.zip 1.5 MB · Windows
    Verify · sha256 e99196f7fc07…e38977d67
    Release
    0.10.2 (stable)
    Size
    1560724 bytes
    SHA-256
    e99196f7fc072cc55eef80f51fb6d10e20c2e864082312183b21d13e38977d67
    Commit
    7ec4c060b6a5
    Sources
    1

    Check it yourself: sha256sum vfstool-Windows-X64.zip must print the digest above.

    vfstool-macOS-ARM64.zip 1.6 MB · macOS, Apple silicon
    Verify · sha256 f8762dd7fc35…d177b5916
    Release
    0.10.2 (stable)
    Size
    1670179 bytes
    SHA-256
    f8762dd7fc35190b572dc6aeea7b67623a77e64c83f01879de4fcbcd177b5916
    Commit
    7ec4c060b6a5
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-ARM64.zip must print the digest above.

    vfstool-macOS-X64.zip 1.7 MB · macOS, Intel
    Verify · sha256 c70966a6f922…2a5c6cd21
    Release
    0.10.2 (stable)
    Size
    1771432 bytes
    SHA-256
    c70966a6f922589ea18011f0c23364d6bcf72d1147b049059bb85992a5c6cd21
    Commit
    7ec4c060b6a5
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-X64.zip must print the digest above.

    vfstool-Linux-X64.zip 1.8 MB · Linux
    Verify · sha256 d837cdae3ae2…6cdab8101
    Release
    0.10.2 (stable)
    Size
    1906990 bytes
    SHA-256
    d837cdae3ae226ad1af257daf4152c0a44d9ef646270bdfacb8a94c6cdab8101
    Commit
    7ec4c060b6a5
    Sources
    1

    Check it yourself: sha256sum vfstool-Linux-X64.zip must print the digest above.

  8. 0.10.3 stable 2026-09-27

    Changed

    • Built on vfstool_lib 0.10.3; the program is unchanged.
    vfstool-Windows-X64.zip 1.5 MB · Windows
    Verify · sha256 520968f41d13…67e3f1f16
    Release
    0.10.3 (stable)
    Size
    1560864 bytes
    SHA-256
    520968f41d13381c8e64dd32d54ccdd3b66a361e9bc63b0c124c85967e3f1f16
    Commit
    14c4cb688588
    Sources
    1

    Check it yourself: sha256sum vfstool-Windows-X64.zip must print the digest above.

    vfstool-macOS-ARM64.zip 1.6 MB · macOS, Apple silicon
    Verify · sha256 2b8f295966f7…7e19b909f
    Release
    0.10.3 (stable)
    Size
    1669418 bytes
    SHA-256
    2b8f295966f7be9ff30ef0da123e20621cb9bbdcbcfbce1bf5658697e19b909f
    Commit
    14c4cb688588
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-ARM64.zip must print the digest above.

    vfstool-macOS-X64.zip 1.7 MB · macOS, Intel
    Verify · sha256 40814d14ad47…f38fa7430
    Release
    0.10.3 (stable)
    Size
    1771385 bytes
    SHA-256
    40814d14ad4763307dd282424e16c2206b780835fa76bb82566b4bef38fa7430
    Commit
    14c4cb688588
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-X64.zip must print the digest above.

    vfstool-Linux-X64.zip 1.8 MB · Linux
    Verify · sha256 2bd40b940b76…508dcd72e
    Release
    0.10.3 (stable)
    Size
    1906909 bytes
    SHA-256
    2bd40b940b762934569b269c3db0fddc5ba06a1d55862c874c39b6b508dcd72e
    Commit
    14c4cb688588
    Sources
    1

    Check it yourself: sha256sum vfstool-Linux-X64.zip must print the digest above.

  9. 0.9.1 stable 2026-09-26

    Fixed

    • Fallout 3 BSAs whose entries store only a folder and a file name are read.
    • Dependencies updated past the crossbeam-epoch and memmap2 security advisories.

    Known issues

    • Built from a Cargo.toml that still said 0.9.0, not published to crates.io, and without a Linux archive.
    vfstool-Windows-X64.zip 1.5 MB · Windows
    Verify · sha256 f51b4673e0da…e511b5def
    Release
    0.9.1 (stable)
    Size
    1560858 bytes
    SHA-256
    f51b4673e0dab41a708113954e2bb18cb8d9ed25141ff0581b90575e511b5def
    Commit
    3beebe557589
    Sources
    1

    Check it yourself: sha256sum vfstool-Windows-X64.zip must print the digest above.

    vfstool-macOS-ARM64.zip 1.6 MB · macOS, Apple silicon
    Verify · sha256 c4b41cd9c987…bca73e9fd
    Release
    0.9.1 (stable)
    Size
    1669434 bytes
    SHA-256
    c4b41cd9c98784693939fadcc6f0bcf34ad6281a308add9fb491ad3bca73e9fd
    Commit
    3beebe557589
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-ARM64.zip must print the digest above.

    vfstool-macOS-X64.zip 1.7 MB · macOS, Intel
    Verify · sha256 2ecedc3b83ed…d0e5efc6b
    Release
    0.9.1 (stable)
    Size
    1770523 bytes
    SHA-256
    2ecedc3b83edddbe2bbca680a5c9d28c9887ed9d5a03a778a6c3d72d0e5efc6b
    Commit
    3beebe557589
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-X64.zip must print the digest above.

  10. 0.10.0 stable 2026-09-26

    Fixed

    • Oblivion's BSAs are no longer mistaken for Xbox archives, through dream_archive 0.2.
    vfstool-Windows-X64.zip 1.5 MB · Windows
    Verify · sha256 88c15102caaa…7d3fb9313
    Release
    0.10.0 (stable)
    Size
    1560863 bytes
    SHA-256
    88c15102caaa158941d4487a414d7cecfa6702ad33129a775b1f48e7d3fb9313
    Commit
    5de3318eaa8e
    Sources
    1

    Check it yourself: sha256sum vfstool-Windows-X64.zip must print the digest above.

    vfstool-macOS-ARM64.zip 1.6 MB · macOS, Apple silicon
    Verify · sha256 8544e61497a6…867d6d167
    Release
    0.10.0 (stable)
    Size
    1669727 bytes
    SHA-256
    8544e61497a6d2396f714bce5d174154e15862a93c0ae98ca4c1753867d6d167
    Commit
    5de3318eaa8e
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-ARM64.zip must print the digest above.

    vfstool-macOS-X64.zip 1.7 MB · macOS, Intel
    Verify · sha256 10faa44a54b1…d908e3c53
    Release
    0.10.0 (stable)
    Size
    1770661 bytes
    SHA-256
    10faa44a54b1cf40bcf1ddd60468d865e1a356e430ddf1b9d07518ed908e3c53
    Commit
    5de3318eaa8e
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-X64.zip must print the digest above.

    vfstool-Linux-X64.zip 1.8 MB · Linux
    Verify · sha256 83936cddd410…6a031257d
    Release
    0.10.0 (stable)
    Size
    1905818 bytes
    SHA-256
    83936cddd4104d33d7a667bb43916ddce9add687207977ef8efe3d76a031257d
    Commit
    5de3318eaa8e
    Sources
    1

    Check it yourself: sha256sum vfstool-Linux-X64.zip must print the digest above.

  11. 0.10.1 stable 2026-09-26

    Changed

    • Building vfstool needs Rust 1.88.

    Fixed

    • Fallout 3's voice archives are read, through dream_archive 0.2.2.
    vfstool-Windows-X64.zip 1.5 MB · Windows
    Verify · sha256 a2d31fa6d642…b9c3cadeb
    Release
    0.10.1 (stable)
    Size
    1560617 bytes
    SHA-256
    a2d31fa6d6420110e11d446258fbfd11045a9942203fd246dec9096b9c3cadeb
    Commit
    d00c04d5dd34
    Sources
    1

    Check it yourself: sha256sum vfstool-Windows-X64.zip must print the digest above.

    vfstool-macOS-ARM64.zip 1.6 MB · macOS, Apple silicon
    Verify · sha256 e7aa1c314e22…4aff74361
    Release
    0.10.1 (stable)
    Size
    1669337 bytes
    SHA-256
    e7aa1c314e22720e3baa35e493ea2bf0801c13af40b621429392c5b4aff74361
    Commit
    d00c04d5dd34
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-ARM64.zip must print the digest above.

    vfstool-macOS-X64.zip 1.7 MB · macOS, Intel
    Verify · sha256 d84733d9493d…b0b92680f
    Release
    0.10.1 (stable)
    Size
    1771455 bytes
    SHA-256
    d84733d9493daa0693eba4125dd418357b2df6bd26a301340e2e9f9b0b92680f
    Commit
    d00c04d5dd34
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-X64.zip must print the digest above.

    vfstool-Linux-X64.zip 1.8 MB · Linux
    Verify · sha256 ff7bfa22a7ff…7927c684b
    Release
    0.10.1 (stable)
    Size
    1906561 bytes
    SHA-256
    ff7bfa22a7ff1d2d99f644120cb5d92b6f13b00b793c980aca1698a7927c684b
    Commit
    d00c04d5dd34
    Sources
    1

    Check it yourself: sha256sum vfstool-Linux-X64.zip must print the digest above.

  12. 0.9.0 stable 2026-04-29

    Reports on the providers behind every file, validation, locks, a dry-run collapse, and running tools on the merged VFS.

    Added

    • explain shows one file's winner and every provider it overrides; duplicates lists every file with more than one provider, optionally only those matching a regular expression.
    • conflicts, shadowed, contributions and diff report which data directories and archives override which, which are hidden entirely, and what each one contributes.
    • archives lists the loaded archives and how many of their files win; archive-list lists one archive's files, chosen by path, file name or --source-index.
    • validate reports missing data= directories, fallback archives, content files and groundcover files, and with --full, archives that cannot be read.
    • lock writes a manifest of every winning file with its BLAKE3 hash; drift compares the VFS against one, and with --fail-on-drift exits with 4 when they differ.
    • collapse --dry-run prints the plan instead of writing files.
    • run dumps the merged VFS into a scratch folder, runs a program on it, and copies what the program created or changed into data-local or --output.
    • find-file --only_physical matches loose files only, and exits with 2 for a file only an archive has.
    • Documented exit codes: 1 not found, 2 only in an archive, 4 drift, 5 validation issues, 6 bad regular expression, 7 openmw.cfg not loaded, 8 invalid input, 9 runtime failure.

    Changed

    • find matches against the VFS path, like textures/tx_wood_01.dds, instead of the file's path on disk, and uses the expression as written, so \. matches a dot.
    • BSA and BA2 archives are read through dream_archive.
    • JSON output is compact.
    • vfstool is licensed GPL-3.0-only instead of GPL-3.0-or-later.

    Fixed

    • find-file exits with 1 when the file is not in the VFS, and find with 6 on a bad expression; both exited with 0.
    vfstool-Windows-X64.zip 1.5 MB · Windows
    Verify · sha256 12e7da7b5cf7…6e3c5a725
    Release
    0.9.0 (stable)
    Size
    1561515 bytes
    SHA-256
    12e7da7b5cf7bc947d8938de613d1cfcbf2127e7416258be84023286e3c5a725
    Commit
    d840a0f222c5
    Sources
    1

    Check it yourself: sha256sum vfstool-Windows-X64.zip must print the digest above.

    vfstool-macOS-ARM64.zip 1.6 MB · macOS, Apple silicon
    Verify · sha256 c12374f2529c…9cda8312d
    Release
    0.9.0 (stable)
    Size
    1683732 bytes
    SHA-256
    c12374f2529c86e78c60429889a28bf8c91e4db7764d22208a8418b9cda8312d
    Commit
    d840a0f222c5
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-ARM64.zip must print the digest above.

    vfstool-macOS-X64.zip 1.7 MB · macOS, Intel
    Verify · sha256 2474d29282d9…9ab7446b7
    Release
    0.9.0 (stable)
    Size
    1793871 bytes
    SHA-256
    2474d29282d9e6d8300f4dd6896b0f2c7153c6fd3ab2e84edf93a069ab7446b7
    Commit
    d840a0f222c5
    Sources
    1

    Check it yourself: sha256sum vfstool-macOS-X64.zip must print the digest above.

    vfstool-Linux-X64.zip 1.8 MB · Linux
    Verify · sha256 69876a703540…dd85379fe
    Release
    0.9.0 (stable)
    Size
    1918945 bytes
    SHA-256
    69876a7035404cf33d59e846c0c3b3816509dbb61887e42f4a5ba6fdd85379fe
    Commit
    d840a0f222c5
    Sources
    1

    Check it yourself: sha256sum vfstool-Linux-X64.zip must print the digest above.

  13. 0.2.5 stable unreleased 2025-12-17

    Changed

    • Built and published by StroggForge's release workflow, one archive per platform, named for it.
  14. 0.2.4 stable unreleased 2025-10-03

    Fixed

    • An openmw.cfg that points at a user config is read correctly, through openmw-config 0.1.92.
  15. 0.2.3 stable unreleased 2025-09-25

    find ignores case, and files reached through symbolic links are part of the VFS.

    Changed

    • find matches case-insensitively, against the file's path with \ read as /.
    • Updated dependencies, with serdeyaml in place of serdeyamlwithquirks.

    Fixed

    • Files reached through symbolic links in a data directory are part of the VFS.
  16. 0.2.0 stable unreleased 2025-07-18

    find takes a regular expression.

    Breaking changes

    • find takes its query as a positional argument and matches it as a regular expression against each file's path. --path, --type and its eight match modes are gone.
  17. 0.1.9 stable unreleased 2025-07-07

    Changed

    • Built on vfstool_lib 0.2.0 with its BSA support, and on openmw-config 0.1.5.

    Known issues

    • Built from a Cargo.toml that still said 0.1.8, and not published to crates.io.
  18. 0.1.8 stable unreleased 2025-06-17

    Changed

    • openmw.cfg is read by openmw-config 0.1.2, from crates.io.
  19. 0.1.7 stable unreleased 2025-06-17

    First release on GitHub: find, extract and collapse OpenMW's virtual file system from the command line.

    Added

    • find-file prints where one VFS path comes from: the loose file, or the archive that holds it. --simple prints the bare path for pipes.
    • find --path lists the files whose name, stem, extension, folder or path matches, in the mode --type picks, as JSON, YAML or TOML.
    • extract copies one file out of the VFS, from a data directory or a BSA.
    • collapse builds the whole VFS in one folder with hardlinks, with symbolic links (--symbolic), or with copies where linking fails (--allow-copying); --extract-archives unpacks BSA and BA2 contents too.
    • remaining shows what a data directory still provides, or with --replacements-only, what overrides it.
    • --config names the folder that holds openmw.cfg; OPENMW_CONFIG names a cfg file of any name.