Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
dwarfs-universal-0.12.0-Windows-AMD64.exe | 2025-04-08 | 3.6 MB | |
dwarfs-universal-0.12.0-Linux-x86_64 | 2025-04-08 | 2.8 MB | |
dwarfs-universal-0.12.0-Linux-aarch64 | 2025-04-08 | 2.7 MB | |
dwarfs-fuse-extract-0.12.0-Linux-x86_64 | 2025-04-08 | 1.2 MB | |
dwarfs-fuse-extract-0.12.0-Linux-aarch64 | 2025-04-08 | 1.2 MB | |
dwarfs-0.12.0-Windows-AMD64.7z | 2025-04-08 | 4.3 MB | |
dwarfs-0.12.0-Linux-x86_64.tar.xz | 2025-04-08 | 3.9 MB | |
dwarfs-0.12.0-Linux-aarch64.tar.xz | 2025-04-08 | 3.5 MB | |
dwarfs-0.12.0.tar.xz | 2025-04-08 | 12.1 MB | |
dwarfs-0.12.0 source code.tar.gz | 2025-04-08 | 3.9 MB | |
dwarfs-0.12.0 source code.zip | 2025-04-08 | 5.0 MB | |
README.md | 2025-04-08 | 4.8 kB | |
Totals: 12 Items | 44.3 MB | 0 |
The main features of this release are new licensing conditions and significantly smaller binaries.
New Licensing Conditions
Instead of being all GPL-3.0 like all the previous releases, this release changes the license of a large fraction of the DwarFS code to MIT. All tools and libraries that only read DwarFS images are now MIT-licensed. Everything else (e.g. mkdwarfs
) is still GPL-3.0 for the time being.
Significantly reduced binary size
By moving the build pipeline to Alpine Linux and through some major refactoring, the size of the release binaries has been reduced significantly.
v0.11.3 | v0.12.0 | |
---|---|---|
Linux x86_64 universal binary | 5,319,916 | 2,833,280 |
Linux aarch64 universal binary | 4,637,312 | 2,725,864 |
Linux x86_64 binary tarball | 7,736,712 | 3,888,104 |
Linux aarch64 binary tarball | 6,791,424 | 3,497,140 |
There's now also an additional binary called dwarfs-fuse-extract
that combines the functionality of the FUSE driver dwarfs
and dwarfsextract
in a single, extremely small binary:
v0.12.0 | |
---|---|
Linux x86_64 fuse-extract binary | 1,183,752 |
Linux aarch64 fuse-extract binary | 1,188,760 |
The main use case for this binary is single-file application image runtimes (e.g. uruntime). This binary doesn't have built-in manual pages or support for the performance monitor. It also only supports zstd
and lzma
compression.
Bugfixes
-
Build release binaries against an up-to-date
libfuse
. Fixes github [#252]. -
Changes for compatibility with Boost.Process v2.
Features
-
Re-licensed all libraries required for reading DwarFS images under the MIT license. The source of all tools that just read DwarFS images (i.e. everything except for
mkdwarfs
) are also under the MIT license now. Everything else is still GPL-3.0. Addresses github [#255]. -
Significantly reduced binary size in the static release builds. This is the result of refactoring code that unconditionally pulled in code-heavy dependencies such as
libcrypto
, as well as optimizing the build pipeline (e.g. building dependencies with only the necessary set of features) and turning on link time optimization. -
A new kind of "universal" binary
dwarfs-fuse-extract
is part of the release now. This combines the FUSE driver (dwarfs
) anddwarfsextract
into a single binary, but does not include themkdwarfs
anddwarfsck
tools that are also part of the regular universal binary.dwarfs-fuse-extract
is much smaller than the regular universal binary and especially suitable to AppImage-like applications. -
New
hotness
categorizer inmkdwarfs
that allows a list of "hot" files to be stored in distinct file system blocks. -
New
explicit
ordering mode inmkdwarfs
that allows files to be ordered accoring to the order in a given list file. -
dwarfs
now shows the version of the FUSE library used. -
New
dwarfs
optionspreload_all
andpreload_category
to populate the block cache immediately after mounting. -
New
dwarfs
optionanalysis_file
that can be used for profiling and as input tomkdwarfs
newhotness
categorizer andexplicit
ordering mode. -
New
dwarfs
optionblock_allocator
that allows the user to switch from amalloc
-based block allocator to anmmap
-based one. This can help with returning memory back to the system if the blocks are evicted from the cache.
Full Changelog: https://github.com/mhx/dwarfs/compare/v0.11.3...v0.12.0