This release mainly fixes a bug that was introduced with v0.12.0 (06f8728 to be precise). When re-compressing a file system image where some blocks cannot be compressed using the selected algorithm because of a bad_compression_ratio_error
(i.e. when the compressed size is actually larger than the uncompressed size), the resulting block
object was left empty, which subsequently led to a segfault.
A few small bugs have also been fixed and couple of features were added to the dwarfsck
tool, mostly triggered by the discussion in #263.
Most other changes that made it into the release were related to how the static binaries are built. All the dependencies have been updated, in particular also for the Windows build. The Windows build was also switched from openssl
to libressl
. Overall, the size of the Windows universal binary was reduced by 30% and is now comparable in size to the Linux binaries.
Bugfixes
- Segfault on
bad_compression_ratio_error
. When recompressing a filesystem where some blocks cannot be compressed using the selected algorithm because of abad_compression_ratio_error
, the resultingblock
was left empty after the refactoring done in 06f8728. - Add history unless
--no-history
is given when rewriting a file system image. - Allow dumping
frozen_layout
w/ofrozen_analysis
indwarfsck
. - Logging timestamps should show local time.
- Workaround a weird MSVC bug.
- Remove useless cast causing compiler warning.
Features
- More complete breakdown of metadata in
dwarfsck
. - Add
schema_raw_dump
flag todwarfsck --detail
.
Build
- Switch static build to libressl on Windows.
- Update static build libraries.
- Update folly/fbthrift/fsst.
Other
- Introduce and use
safe_localtime()
to prevent issues withfmt
deprecatingfmt::localtime
. - Speed up a few slow tests on Windows.
Full Changelog: v0.12.3...v0.12.4
SHA-256 Checksums
1492c0796ab3479a80e4e191e651f20c005e634b73ec684edd48465830f0aab3 dwarfs-0.12.4-Linux-aarch64.tar.xz
bff9da50918cf9272dbb9322733a629ccd84efc723e355a86eafcd075081f968 dwarfs-0.12.4-Linux-x86_64.tar.xz
352d13a3c7d9416e0a7d0d959306a25908b58d1ff47fb97e30a7c8490fcff259 dwarfs-0.12.4.tar.xz
5574d6aeb970c4cbabd50526994159c0551b2dc3e940edc774ac0952e1528c93 dwarfs-0.12.4-Windows-AMD64.7z
72f688800faf74acfdc75b6d77a456930db7088ee7c7e115c4b95414ab751c93 dwarfs-fuse-extract-0.12.4-Linux-aarch64
ea182efeb3ac55f8f79ee80009854c2ac8410b37d427da90e42b96eec73c470f dwarfs-fuse-extract-0.12.4-Linux-x86_64
06c35c1dc99bc9c19f73ceda238866f9b4a631c08ab4ad19bbf8ea5c0a3ff9f0 dwarfs-fuse-extract-mimalloc-0.12.4-Linux-aarch64
afa48dfda2692e5b3cba6c523ab66696140d48dc8c4dfd57b114c73632e45326 dwarfs-fuse-extract-mimalloc-0.12.4-Linux-x86_64
7efdbd93954f1f88898b690466dca4b2ae3d20e799247c4ee4459acb35824389 dwarfs-universal-0.12.4-Linux-aarch64
48fc469bca251b932904b33d6161fc9a964cdefdb9d4d128828b4766b9c63eaa dwarfs-universal-0.12.4-Linux-x86_64
094eaaf821df47daaa11899927f269f57f71843b39ecd53bae70692447cb3e65 dwarfs-universal-0.12.4-Windows-AMD64.exe