]> wimlib.net Git - wimlib/blobdiff - NEWS
Update NEWS
[wimlib] / NEWS
diff --git a/NEWS b/NEWS
index b703f8a62043b3f7d8c7e916c83167e09fed451e..0917d65e893ce78bd27b730172d42ac264826f86 100644 (file)
--- a/NEWS
+++ b/NEWS
-Only the most important changes more recent than version 0.6 are noted here.
+Version 1.8.2-BETA:
+       This release contains various minor bug fixes and improvements,
+       including:
+
+               Reduced the stack space used by directory tree scans.
+
+               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.
+
+               Windows symbolic links and junctions in mounted WIM images are
+               now automatically rewritten to be valid in the mounted location.
+
+               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.
+
+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.
+
+       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.
+
+               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.
+
+               Added support for testing file exclusions via the user-provided
+               progress function.
+
+               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'.
+
+       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.
 
-Version 1.7.0-BETA:
        Improved compatibility with version 3584 WIM / ESD files:
            - Add support for reading and writing multiple solid blocks per
              archive, which WIMGAPI/DISM can create when appending an image.
            - Correctly create solid blocks larger than 4 GiB.
 
-       Performance improvements, including for extraction.
-
        'add' commands passed to wimupdate will now replace existing
        nondirectory files by default.  Use the --no-replace option to get the
        old behavior.
 
+       The license for the library now contains an exception that allows using
+       it under the LGPL.  See the COPYING file for details.
+
+       In reparse-point fixup mode (the default for capture), symbolic links
+       and junctions that point outside the tree being captured are no longer
+       excluded from capture.
+
        Added support for "WIMBoot" capture and extraction.  See the
        documentation for the new '--wimboot' option to wimcapture and wimapply
        for more information.
@@ -36,14 +245,17 @@ Version 1.7.0-BETA:
        The 'mkwinpeimg' script now supports writing the ISO image to standard
        output.
 
-       The <ARCH> element in WIM XML data will now be exported correctly.
+       The <ARCH> element in WIM XML data is now exported correctly.
 
        On Windows, sparse file attributes are no longer set on extracted files.
        Oddly enough, this actually saves disk space in some cases.
 
        On UNIX, configuring with --disable-xattr or --enable-xattr is no longer
        supported.  Mounting WIM images now always requires extended attribute
-       support.  Use --without-fuse to disable support for mounting WIM images.
+       support.  Use --without-fuse to disable support for mounting WIM images;
+       this will also disable the need for extended attribute support.
+
+       Configuring with --enable-ssse3-sha1 now works correctly.
 
        The shared library version has been bumped up.  The main
        incompatibilities are:
@@ -52,14 +264,21 @@ Version 1.7.0-BETA:
                  WIMLIB_COMPRESSION_TYPE_LZX is now 2 (so it's the same as
                  WIMGAPI).
 
-               - Progress functions, including their prototypes as well as how
-                 they are provided to the library, have been changed.
+               - User-provided progress functions are now registered using a
+                 separate function, wimlib_register_progress_function().  The
+                 'progress_func' argument to many functions no longer exists.
+
+               - The return value from user-provided progress functions is now
+                 significant.
+
+               - A context argument has been added to the prototype of
+                 user-provided progress functions.
 
                - 'struct wimlib_capture_config' has been removed.  The library
                  now takes the path to the configuration file directly.  This
                  affects wimlib_add_image(), wimlib_add_image_multisource(),
-                 and wimlib_update_image().  However no code changes are
-                 necessary if a NULL configuration was being used.
+                 and wimlib_update_image().  However, a NULL value passed in
+                 the argument retains the same meaning.
 
                - Removed deprecated functions: some (de)compression functions,
                  wimlib_extract_files(), and wimlib_print_metadata().
@@ -68,7 +287,7 @@ Version 1.7.0-BETA:
                  WIMLIB_EXTRACT_FLAG_SYMLINK, WIMLIB_EXTRACT_FLAG_FILE_ORDER,
                  and WIMLIB_EXTRACT_FLAG_SEQUENTIAL.
 
-               - Removed progress messages:
+               - Removed some progress messages:
                  WIMLIB_PROGRESS_MSG_APPLY_TIMESTAMPS,
                  WIMLIB_PROGRESS_MSG_EXTRACT_DIR_STRUCTURE_BEGIN,
                  WIMLIB_PROGRESS_MSG_EXTRACT_DIR_STRUCTURE_END.  Numbering