Bug fixes
-
Canonicalizing the mount point path in 0.15.4 fixed a bug on Linux, but introduced a new bug on Windows. With canonicalized paths, WinFsp does no longer allow mounting a DwarFS image unless
MountUseMountmgrFromFSDis set to1in the registry. The fix is to only perform canonicalization on non-Windows platforms. Fixes GitHub issue #375. -
Ensure UTF-8 safe number formatting on Windows. DwarFS historically uses
charand UTF-8 for anything internally. That doesn't play nicely when it comes to stream formatting, in particular numbers, on Windows. The Linux world has workarounds for this instd::numpunct, but Windows does not and will happily return characters that are invalid UTF-8, which will eventually cause thefmtlibrary to fall over. This change checks if the current locale requires number formatting characters that would end up as multi-byte UTF-8 sequences. If so, it will install a "safe"std::numpunctfacet as well as a customfmt::format_facet. The former will simply turn off fancy number formatting, while the latter will override formatting in thefmtlibrary and use UTF-8 strings instead of single byte characters. This was discovered in the log output from GitHub issue #375.
Other
-
When logging a
fmtexception, include the exception message if possible. -
In
dwarfs, log FUSE command line options after parsing. -
Work around a CMake 4.4 gtest JSON test parsing bug (https://gitlab.kitware.com/cmake/cmake/-/work_items/27939)
Full Changelog: v0.15.5...v0.15.6
SHA-256 Checksums
be22d1ef7e5a044d6f239a6e17d8e203f2226f8381d51c0dd5f2185705f871c3 dwarfs-0.15.6-Linux-aarch64.tar.xz
d0ecfa777f8cae647abbb8ebedd2e8a13fdd7461aba4046be80572202144b825 dwarfs-0.15.6-Linux-arm.tar.xz
914561a02ec1b9902b3256426a6b617210286904e20ca0e4c18b3ac9a5eeba27 dwarfs-0.15.6-Linux-i386.tar.xz
2e049b0d2e6f1adab04e3da3dcf0a17684a464106a16350f1b6c3017602d322e dwarfs-0.15.6-Linux-loongarch64.tar.xz
0853633a7097e322b397bb760df9399f6deeb7a269e4d3585d3a4258ebce14f6 dwarfs-0.15.6-Linux-ppc64le.tar.xz
88f9a7d81c09be3b211e1b5f4b4f589e15fb7c66e561f24848d06ef54f680383 dwarfs-0.15.6-Linux-ppc64.tar.xz
1474e8ccde21f7d58d73ba641b372c137b17ebc935bb9000b0156e0902577928 dwarfs-0.15.6-Linux-riscv64.tar.xz
a198b4674d90c77543891ba921dd5a6e164706176bded53b4e44bfd110505dd5 dwarfs-0.15.6-Linux-s390x.tar.xz
a73d71ca5a0fe0afae4c096e0c6ab61145e825295e7d269f69e46be44a181374 dwarfs-0.15.6-Linux-x86_64.tar.xz
087b77c1d6a1f253df896b054f95ef17469c63b00be51f4d081633cc8817481c dwarfs-0.15.6.tar.xz
3a861a2a35c1031da01a30eaed4d9c8031363253d369e7d0f8f999c1b0edbb06 dwarfs-0.15.6-Windows-AMD64.7z
c71ef8090dd419857eb7f3ebfe65c32b73c827269c18e3e0efc98318bae4451f dwarfs-fuse-extract-0.15.6-Linux-aarch64
709802655dcb9755531956261db0cae4e6e0bcd80b536266b87652a2cd591aa2 dwarfs-fuse-extract-0.15.6-Linux-aarch64.upx
35867c6b436a14e8375fd7ca5bdab6b723a435c700c47377f5d723bacb14f7b5 dwarfs-fuse-extract-0.15.6-Linux-arm
a1b95c4d754e8c79ed3e58fe6ca226befae3ca68beb8bce4ed828a7f6950c864 dwarfs-fuse-extract-0.15.6-Linux-arm.upx
e40e96c490213ee6e8af44a64d41f6929a1510f40c049e46cdf8976e9e4483b1 dwarfs-fuse-extract-0.15.6-Linux-i386
a3dac48b63dd1e0d9158b4407fdfc233782cedbe733a2898dfc0e1da3e26c048 dwarfs-fuse-extract-0.15.6-Linux-i386.upx
5dfdae7452c7579bfad39d6505e8f7ce3f37ebe61d8d353343e813a4f0ffeee8 dwarfs-fuse-extract-0.15.6-Linux-loongarch64
5b23c25260dc49d6ab4278b31b25f0706370b8ad34faf14b6f2546ff0841318a dwarfs-fuse-extract-0.15.6-Linux-ppc64
a748502b283f1967c5ed44cbac3c03adda066af506ad0999b32512700013ff3b dwarfs-fuse-extract-0.15.6-Linux-ppc64le
c33786ef9b0a3733e4aa79bd8062e535fdfeed83b5332b8d6cc48830718bd2e4 dwarfs-fuse-extract-0.15.6-Linux-riscv64
da8ea894e7de150473aecf109d5ab0bf4731c5f7d417a030b884e8fe57694ae8 dwarfs-fuse-extract-0.15.6-Linux-riscv64.upx
06d21fc857b4f7998d880791298675e002a24e744c2ccaac8c3e2de200483c56 dwarfs-fuse-extract-0.15.6-Linux-s390x
415f6cce29d5fcb106ce2a12b33d711d0a810a40b1d3f36ce688b4fcaa018674 dwarfs-fuse-extract-0.15.6-Linux-x86_64
b13720b1d75e02db29fa5ca358b96f2a58a8b3641b7d79ea1e90e5aa00ca56e8 dwarfs-fuse-extract-0.15.6-Linux-x86_64.upx
2d513c43ad652163e5e31c1a96f3c736e7e188e661ff62fc9143ea7147bd936b dwarfs-universal-0.15.6-Linux-aarch64
75d7ccfe6a0fde83942054495c0a6e075556e9a2346fbb9d3052ca8e27b8d7d0 dwarfs-universal-0.15.6-Linux-aarch64.upx
9e411fd7e6827a882052d64c64e4f63e1d02e2aa6a474e7bd7dc28408dbde62d dwarfs-universal-0.15.6-Linux-arm
f19a01ee5f6a7c08421ba039c64ec5cea9bd8a7c8e6573df97204f690b439f20 dwarfs-universal-0.15.6-Linux-arm.upx
194ad408520706b462c7d89ae3fc14d9f39c4b438017aafb864c5f8d8a542aa3 dwarfs-universal-0.15.6-Linux-i386
94cad5fa18392eeb861ab81fd6fbae3b28cd1e5eaf6007a016bf88952cb7dff0 dwarfs-universal-0.15.6-Linux-i386.upx
16d3d9df8cedcf7690006006f6d994545fa096204e7fc78ef567234026e4fec6 dwarfs-universal-0.15.6-Linux-loongarch64
cfd7dd8dcada898d4f4f94bcf671596fd868dd043f00d47fd394e633444dcf37 dwarfs-universal-0.15.6-Linux-ppc64
2b71960672c108e413ef473b8a726feb858782ff3c9c28b6f4616e10097b0452 dwarfs-universal-0.15.6-Linux-ppc64le
b20be0530cbf1662d6b9e5ba27a57537e3bf50f90cdd6bb7922327b62f5f9417 dwarfs-universal-0.15.6-Linux-riscv64
69aa2b820f77ca226b78c54cb3962a67039d1da7e9072b989ec73cf653b1b032 dwarfs-universal-0.15.6-Linux-riscv64.upx
5b36eceaf673f50da90d858d49d87139783ee3fb5acd504c44574103adf56f2a dwarfs-universal-0.15.6-Linux-s390x
50891c38ba359db8271819a6cbf6aaa8068681523f0c4f2b8242007a45edaa28 dwarfs-universal-0.15.6-Linux-x86_64
8cba2be06f0dd8ce1396a2ada5777d97d24d4dc561ca9eb816207703757a4959 dwarfs-universal-0.15.6-Linux-x86_64.upx
bfbc70e4dc060cf4f1b799bb3af6e31808495e993dbcacc7dbc5cf45776c49f4 dwarfs-universal-0.15.6-Windows-AMD64.exe
ad83d23655b98d4baa802e1c0e52f00082a43bee4586f237f2239ec3633b7815 dwarfs-universal-small-0.15.6-Linux-aarch64
a044c91667d8f0060ddc1fd8e5e5bce7b8f84f6f0c90e819a780434972354d61 dwarfs-universal-small-0.15.6-Linux-aarch64.upx
539249b247b3c24a4fb44f60fa9825aaea47288a051998b8d038508fdf0103d1 dwarfs-universal-small-0.15.6-Linux-arm
bdca6720331aad331b9f2c75c115562ec7b1a41e3636fa2bec773421d8b83fc9 dwarfs-universal-small-0.15.6-Linux-arm.upx
afd622ea87f3a0c540e0e513037cf1f5bb63103da3a0a5ba849ff2a401fc7d5e dwarfs-universal-small-0.15.6-Linux-i386
fa39ce4b1303a48353bbf407f420ff274d7ba33179fa3c9513c62ac6556bb607 dwarfs-universal-small-0.15.6-Linux-i386.upx
4fe920480b23c83602f8cbe1a5faa1e9eed325cfdb478c42cf70b7b66e48fdc9 dwarfs-universal-small-0.15.6-Linux-loongarch64
d80476b302b5dada5d271ff5a7e1541c608abd07e05140df26a2530fd87f1304 dwarfs-universal-small-0.15.6-Linux-ppc64
85a391ec61ea40f40a42d52f061dd88df2f6e7d9ccf8e6d5f8c12d2a288726c2 dwarfs-universal-small-0.15.6-Linux-ppc64le
80abd9830c3fb9365a979c0a1a9f2a1724f38a74cec1c2a8fb91ad6d288a9a9b dwarfs-universal-small-0.15.6-Linux-riscv64
efdb3c951080a0274b0a6647e1137e90c6443691017340701d355c499496ce74 dwarfs-universal-small-0.15.6-Linux-riscv64.upx
5ea8f5f9541aff2d599d7e5e1537a2da4f30ad7a82fc52be9baec9c8e72592c6 dwarfs-universal-small-0.15.6-Linux-s390x
34c07feff376458a3da11c2b22da5f553d51153b4c8308628af0133ea9bca6d5 dwarfs-universal-small-0.15.6-Linux-x86_64
d31695e1d8a85750e18c845c038d433f3387aa728673294b0b7b0f1739cdd950 dwarfs-universal-small-0.15.6-Linux-x86_64.upx