From: David O. <go...@in...> - 2020-06-13 15:21:47
|
Hi, I'm happy to announce that squashfs-tools-ng 1.0.0 is finally released. Tarball: https://infraroot.at/pub/squashfs/squashfs-tools-ng-1.0.0.tar.xz Signature: https://infraroot.at/pub/squashfs/squashfs-tools-ng-1.0.0.tar.xz.asc Signed tag: https://github.com/AgentD/squashfs-tools-ng.git v1.0.0 https://git.infraroot.at/squashfs-tools-ng.git v1.0.0 Pre-compiled Windows binaries, built using a MinGW cross toolchain, are available here: https://infraroot.at/pub/squashfs/windows/squashfs-tools-ng-1.0.0-mingw32.zip https://infraroot.at/pub/squashfs/windows/squashfs-tools-ng-1.0.0-mingw32.zip.asc https://infraroot.at/pub/squashfs/windows/squashfs-tools-ng-1.0.0-mingw64.zip https://infraroot.at/pub/squashfs/windows/squashfs-tools-ng-1.0.0-mingw32.zip.asc I've set up something vaguely similar to an official web site that also hosts the Doxygen generated reference manual for libsquashfs: https://infraroot.at/projects/squashfs-tools-ng/index.html The significance of this release is that it is supposed to freeze both the command line options of the tools and their semantics, as well as the current API & ABI of libsquashfs for the foreseeable future. Some effort has been put into overhauling parts of the libsquashfs API to make it possible to extend it or add fixes without breaking ABI compatibility. Any changes in the near to medium term future are supposed to be coming in the form of bug fixes and additional features, tools. Any breaking changes that warrant a new major version release are hopefully a few years out. Please note that along with the package major version, libtool SO version has been set to 1:0:0 and the pkg-config file was renamed to libsquashfs1. The pre-1.0 libsquashfs should be considered obsolete. Going forward, from the next minor release on, I will create branches for minor releases (e.g. 1.0 and 1.1) and back port bug fixes to the extent possible. I'm not sure yet for how far back the minor releases will receive those back ports, as it depends on the not yet known frequency of minor releases. Changes from 0.9.1 to 1.0.0: Features: - Expose more fine grained control values & flags on the XZ and LZMA compressors. - A flag for the `libsquashfs` block processor to micro manage block hashing and sparse block detection. - A raw block submission function for the very same. - A user pointer that can be forwarded to the block writer. Changed/Removed: - `sqfsdiff` doesn't abort if it fails to read the compressor options. - in `libsquashfs`, turn the block writer into an interface with a default implementation and remove the statistics and hooks. - Block processor can function without fragment table and without inode pointer. - Strictly enforce min/max dictionary size in XZ & LZMA compressors. - Make compression level a generic compression option in `libsquashfs`. - More `libsquashfs` API and internal cleanups. - Bumped the major version number for libsquashfs. Fixed: - Properly set the last block flag if fragments are disabled. - Compilation on GCC4 and below. - libtar: size computation of PAX line length. - Semantics of the super block deduplication flag. - Actually set the ZSTD compression level to something greater than 0. - Only add Selinux compile flags if WITH_SELINUX is set to fix Mingw cross build on Fedora. - Make `rdsquashfs` describe mode terminate with an error message if an illegal filename is encountered. - Don't include alloca.h on systems that don't provide that header. Regards, David |