]> wimlib.net Git - wimlib/blobdiff - NEWS
lzms_decompress.c: pack states together in struct lzms_decompressor
[wimlib] / NEWS
diff --git a/NEWS b/NEWS
index 2198d08ab1a2a20c537e21213a7c1e446f2e5ae4..3eb7fef928fa70ed4d6411d9874e1e3b02cb3a85 100644 (file)
--- a/NEWS
+++ b/NEWS
-Version 1.7.1-BETA:
+Version 1.8.2-BETA:
+       This release primarily contains various minor bug fixes and
+       improvements, including:
 
-       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.
+               Reduced the stack space used by directory tree scans.
 
-       The performance of LZX compression in its default settings has been
-       improved by a further 5-10%.
+               Fixed a bug where on 32-bit systems, the library could enter an
+               infinite loop if a WIM file was malformed in a specific way.
 
-       The default compression mode for wimcapture is now LZX compression in
-       its default mode, which is the same as '--compress=maximum'.
+               Windows symbolic links and junctions in mounted WIM images are
+               now automatically rewritten to be valid in the mounted location.
 
-       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.
+               Reparse point fixes: correctly handle the "ReparseReserved"
+               field, and correctly handle "empty" (data-less) reparse points.
+
+               Improved validation of filenames.
+
+               Fixed the test scripts to work in a Turkish locale.
+
+               Fixed handling of EINTR during data I/O.
+
+               Optimized memory usage of some data structures.
+
+       In addition, *experimental* support has been added for compressing
+       extracted files using System Compression on Windows 10.  This
+       functionality is available through the new '--compact' option to
+       'wimapply' and 'wimextract' as well as new library flags.
+
+Version 1.8.1:
+       Fixed a bug in the LZX decompressor: malicious input data could cause
+       out of bounds writes to memory (since wimlib v1.2.2).
+
+       The output of the 'wiminfo' command now consolidates various boolean
+       flags (such as "Relative path junction") into a single line.
+
+       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.
+
+       On Windows, named data streams of encrypted files are no longer stored
+       twice in WIM archives.
+
+       On Windows, named data streams are now correctly extracted to existing
+       "readonly" directories.  Before, an error would be reported.
+
+       On Windows, it is now possible to do a "WIMBoot mode" extraction with
+       non-standalone WIMs such as delta WIMs.
+
+       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.
+
+       The way the "file count", "directory count", "total bytes", and "hard
+       link bytes" image statistics (stored in the WIM XML data) is calculated
+       has been slightly changed.
+
+       In mounted WIM images, the disk usage provided for each file (st_blocks)
+       is now the compressed size rather than the uncompressed size.
+
+       The performance of the NTFS-3g and Windows capture modes has been
+       slightly improved.
+
+       On UNIX-like systems, symbolic links whose targets contain the backslash
+       character are now handled correctly (losslessly).
+
+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.
 
-       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.
+       Enabled SSSE3 accelerated SHA-1 computation in x86_64 Windows builds.
+       It will automatically be faster on newer Intel and AMD processors.
 
-       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.
+       Removed the --with-imagex-progname and --enable-more-assertions
+       configure options.
 
-       The new (as of v1.7.0) extraction code will no longer run out of file
-       handles when extracting many (1000+) identical files.
+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.
+
+               When matching patterns in [PrepopulateList], all hard links of
+               each file are now considered.
+
+               The system registry files are now automatically treated as being
+               in [PrepopulateList].
+
+               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.
 
-               The maximum XPRESS chunk size has been reduced, as mentioned
-               above.
+       Made some clarifications to the license text in the COPYING file.
 
-               Library users can now initialize and de-initialize the library
-               multiple times in one run of an application program.
+Version 1.7.1:
+       Made more improvements to the XPRESS, LZX, and LZMS compressors.
 
-               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.
+       The default compression mode for wimcapture is now LZX compression in
+       its default mode, which is the same as '--compress=maximum'.
 
-               Added experimental new write flag:
-               WIMLIB_WRITE_FLAG_SEND_DONE_WITH_FILE_MESSAGES.
+       You can now specify an optional integer compression level to the
+       '--compress' option; e.g. '--compress=lzx:75'.
+
+       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.
+
+       Added 'verify' subcommand to wimlib-imagex.
+
+       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.