Skip to content

dwarfs-0.12.4

Latest
Compare
Choose a tag to compare
@mhx mhx released this 14 May 11:08
· 35 commits to main since this release

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 a bad_compression_ratio_error, the resulting block 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/o frozen_analysis in dwarfsck.
  • 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 to dwarfsck --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 with fmt deprecating fmt::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