-Version 1.7.1-BETA:
+Version 1.8.1-BETA:
+ Fixed a bug in the LZX decompressor: malicious input data could cause
+ out of bounds writes to memory (since wimlib v1.2.2).
- Made a minor change to the LZMS compressor and decompressor to fix an
- incompatibility with the Microsoft implementation. In the unlikely
- event that you created an LZMS-compressed WIM with wimlib v1.7.0 or
- earlier and a checksum error is reported when extracting files from it
- with wimlib v1.7.1, decompress it with v1.7.0 then compress it with
- v1.7.1.
+ A file can now have both an unnamed data stream ("file contents") and a
+ reparse point stream. Such files can exist as a result of the use of
+ certain Windows features, such as offline storage, including "OneDrive".
+ wimlib will now store and restore both streams on Windows as well as in
+ NTFS-3g mode. Microsoft's WIMGAPI also has this behavior.
- The performance of LZX compression in its default settings has been
- improved by a further 5-10%.
+ On Windows, named data streams of encrypted files are no longer stored
+ twice in WIM archives.
- The default compression mode for wimcapture is now LZX compression in
- its default mode, which is the same as '--compress=maximum'.
+ On Windows, named data streams are now correctly extracted to existing
+ "readonly" directories. Before, an error would be reported.
- You can now specify an optional integer compression level to the
- '--compress' or '--solid-compress' options; e.g. '--compress=lzx:75'.
- Currently, the default level in all cases is 50. This capability
- deprecates the '--compress-slow' (or '--recompress-slow') option to
- several wimlib-imagex commands.
+ On Windows, when doing an extraction in "WIMBoot mode", files larger
+ than 4 gigabytes are now never extracted as externally backed. This
+ works around a bug in Microsoft's "WOF" driver.
+
+ The '--enable-verify-compression' configure option has been removed. If
+ you want to verify a WIM file, use the 'wimverify' program.
+
+Version 1.8.0:
+ Improved the LZX compressor. It is now 15-20% faster than before and
+ provides a slightly better compression ratio.
+
+ Improved the LZMS compressor. It now provides a compression ratio
+ slightly better than WIMGAPI while still being faster and using slightly
+ less memory.
+
+ The compression chunk size in solid resources, e.g. when capturing or
+ exporting a WIM file using the '--solid' option, now defaults to 64 MiB
+ (67108864 bytes) instead of 32 MiB (33554432 bytes). This provides a
+ better compression ratio and is the same value that WIMGAPI uses. The
+ memory usage is less than 50% higher than wimlib v1.7.4 and is slightly
+ lower than WIMGAPI's memory usage, but if it is too much, it is still
+ possible to choose a lower value, e.g. with the '--solid-chunk-size'
+ option to wimlib-imagex.
+
+ The '--chunk-size' and '--solid-chunk-size' options to wimlib-imagex now
+ accept the 'K', 'M', and 'G' suffixes.
+
+ Files are now sorted by name extension when creating a solid WIM file.
+
+ Fixed various issues related to capture/apply of EFS-encrypted files on
+ Windows.
+
+ The file list printed by 'wimdir' is now sorted by the platform-specific
+ case sensitivity setting, rather than always case sensitively. This
+ also affects the library function wimlib_iterate_dir_tree().
+
+ On Windows, some error and warning messages have been improved.
+
+Version 1.7.4:
+ The Windows binary distribution no longer contains third party DLLs.
+ These dependencies are instead compiled directly into the libwim DLL.
+
+ Added more fixes for wimlib on non-x86 architectures such as ARM.
+
+ Extracting files to a Windows PE in-memory filesystem no longer fails if
+ the target files do not yet exist.
+
+ Improved the performance of XPRESS compression and LZMS decompression.
+
+ Enabled SSSE3 accelerated SHA-1 computation in x86_64 Windows builds.
+ It will automatically be faster on newer Intel and AMD processors.
+
+ Removed the --with-imagex-progname and --enable-more-assertions
+ configure options.
+
+Version 1.7.3:
+ Fix for very slow export from solid WIM / ESD files.
+
+ Fix for LZX and LZMS algorithms on non-x86 architectures, such as ARM.
+
+ New progress message: WIMLIB_PROGRESS_MSG_HANDLE_ERROR. Applications
+ may use this to treat some types of errors as non-fatal.
+
+ The library now permits making in-memory changes to a WIMStruct backed
+ by a read-only WIM file.
+
+ Fixes for "WIMBoot" extraction mode (Windows only):
+
+ When not using the WOF driver, extraction no longer fails if the
+ disk containing the WIM file has too many partitions.
- The '--pack-streams', '--pack-compress', and '--pack-chunk-size' options
- to several wimlib-imagex commands have been deprecated in favor of more
- "standard" names: '--solid', '--solid-compress', and
- '--solid-chunk-size', respectively.
+ When matching patterns in [PrepopulateList], all hard links of
+ each file are now considered.
- The XPRESS compressor no longer supports chunks larger than 65536 bytes.
- There is little point in having larger chunks, since the LZ77 sliding
- window for XPRESS cannot be larger than 65536 bytes. This change does
- not affect the default XPRESS chunk size, which is 32768.
+ The system registry files are now automatically treated as being
+ in [PrepopulateList].
- The new (as of v1.7.0) extraction code will no longer run out of file
- handles when extracting many (1000+) identical files.
+ Added a hack to try to work around an intermittent bug in
+ Microsoft's WOF (Windows Overlay Filesystem) driver.
+
+Version 1.7.2:
+ Made more improvements to the XPRESS, LZX, and LZMS compressors.
+
+ A number of improvements to the Windows port:
+
+ Fixes for setting short filenames.
+
+ Faster "WIMBoot" extraction.
+
+ Updated and slimmed down the dependent DLLs.
+
+ ACL inheritence bits are now restored.
+
+ Mandatory integrity labels are now backed up and restored.
+
+ Added a workaround for an issue where in rare cases, wimlib could create
+ a compressed data stream that could not be read correctly by Windows
+ after an extraction in "WIMBoot" mode.
Library changes:
+ Added file count progress data for
+ WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE and
+ WIMLIB_PROGRESS_MSG_EXTRACT_METADATA.
- Custom compressor parameters have been removed from the library
- in favor of the simpler level-based API.
+ Added support for testing file exclusions via the user-provided
+ progress function.
- Decompressor parameters have been removed entirely.
+ Some documentation improvements.
+
+ Made some clarifications to the license text in the COPYING file.
+
+Version 1.7.1:
+ Made more improvements to the XPRESS, LZX, and LZMS compressors.
+
+ The default compression mode for wimcapture is now LZX compression in
+ its default mode, which is the same as '--compress=maximum'.
- The maximum XPRESS chunk size has been reduced, as mentioned
- above.
+ You can now specify an optional integer compression level to the
+ '--compress' option; e.g. '--compress=lzx:75'.
- Library users can now initialize and de-initialize the library
- multiple times in one run of an application program.
+ Made a minor change to the LZMS compressor and decompressor to fix an
+ incompatibility with the Microsoft implementation. In the unlikely
+ event that you created an LZMS-compressed WIM with wimlib v1.7.0 or
+ earlier and a checksum error is reported when extracting files from it
+ with wimlib v1.7.1, decompress it with v1.7.0 then compress it with
+ v1.7.1.
- Library users will now receive WIMLIB_PROGRESS_MSG_WRITE_STREAMS
- and WIMLIB_PROGRESS_MSG_EXTRACT_STREAMS messages more frequently
- when writing or extracting large WIM files.
+ Added 'verify' subcommand to wimlib-imagex.
- Added experimental new write flag:
- WIMLIB_WRITE_FLAG_SEND_DONE_WITH_FILE_MESSAGES.
+ Notable library changes:
+
+ Custom compressor parameters have been removed from the library
+ in favor of the simpler level-based API.
+
+ Decompressor parameters have been removed entirely.
Library users can now specify a custom file for warning and
error messages to be sent to, rather than the default of
standard error.
+ New progress messages:
+ WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE,
+ WIMLIB_PROGRESS_MSG_EXTRACT_METADATA.
+
+ New function: wimlib_verify_wim().
+
Version 1.7.0:
Improved compression, decompression, and extraction performance.