]> wimlib.net Git - wimlib/blobdiff - NEWS
Merge compression updates
[wimlib] / NEWS
diff --git a/NEWS b/NEWS
index 6295bb77059166d10f778dc286734905031a41c6..921e1662fd72d16c462d8a9b682912915ef75a2a 100644 (file)
--- a/NEWS
+++ b/NEWS
-Only the most important changes more recent than version 0.6 are noted here.
+Version 1.7.1-BETA:
+       Made more improvements to the compression algorithms.
+
+       The default compression mode for wimcapture is now LZX compression in
+       its default mode, which is the the same as '--compress=maximum'.
+
+       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.
+
+       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.
+
+       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 new (as of v1.7.0) extraction code will no longer run out of file
+       handles when extracting many (1000+) identical files.
+
+       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.
+
+               The maximum XPRESS chunk size has been reduced, as mentioned
+               above.
+
+               Library users can now initialize and de-initialize the library
+               multiple times in one run of an application program.
+
+               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 experimental new write flag:
+               WIMLIB_WRITE_FLAG_SEND_DONE_WITH_FILE_MESSAGES.
+
+               Library users can now specify a custom file for warning and
+               error messages to be sent to, rather than the default of
+               standard error.
+
+Version 1.7.0:
+       Improved compression, decompression, and extraction performance.
+
+       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.
 
-Version 1.6.3-BETA:
        'add' commands passed to wimupdate will now replace existing
        nondirectory files by default.  Use the --no-replace option to get the
        old behavior.
 
-       Improved compatibility with version 3584 WIM / ESD files.
+       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.
 
-       Improved extraction performance on Windows, especially for ESD files.
+       Added support for "WIMBoot" capture and extraction.  See the
+       documentation for the new '--wimboot' option to wimcapture and wimapply
+       for more information.
 
-       Added support for "WIMBoot".  On any platform, you can now capture a WIM
-       as WIMBoot-compatible.  In addition, on Windows, you can now apply a WIM
-       archive in a special mode that causes extracted files to be externally
-       backed by the WIM archive.  See the documentation for the new
-       '--wimboot' option to wimcapture and wimapply for more information.
+       On UNIX-like systems, you can now backup and restore device nodes, named
+       pipes, and sockets.  In addition, 32-bit user and group IDs are now
+       supported.
+
+       The way that UNIX data is stored in WIM files has been changed.  If you
+       captured any WIMs with the --unix-data option, to upgrade them you'll
+       need to apply them with --unix-data using wimlib-imagex v1.6.2, then
+       re-capture them with --unix-data using this version.
+
+       wimlib now understands tagged metadata items, such as object IDs, that
+       can be stored in WIM directory entries.
+
+       Removed the --hardlink and --symlink options to wimapply, since I don't
+       think they are too useful and they got in the way of improving the code.
 
        WIMs will now retain their GUIDs when rebuilt (e.g. with wimoptimize).
 
        The 'mkwinpeimg' script now supports writing the ISO image to standard
        output.
 
-       The shared library version has been bumped up; however, there are only a
-       few incompatibilities:
+       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;
+       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:
 
                - WIMLIB_COMPRESSION_TYPE_XPRESS is now 1 and
                  WIMLIB_COMPRESSION_TYPE_LZX is now 2 (so it's the same as
                  WIMGAPI).
 
+               - 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().
 
+               - Removed extraction flags: WIMLIB_EXTRACT_FLAG_HARDLINK,
+                 WIMLIB_EXTRACT_FLAG_SYMLINK, WIMLIB_EXTRACT_FLAG_FILE_ORDER,
+                 and WIMLIB_EXTRACT_FLAG_SEQUENTIAL.
+
+               - Removed some progress messages:
+                 WIMLIB_PROGRESS_MSG_APPLY_TIMESTAMPS,
+                 WIMLIB_PROGRESS_MSG_EXTRACT_DIR_STRUCTURE_BEGIN,
+                 WIMLIB_PROGRESS_MSG_EXTRACT_DIR_STRUCTURE_END.  Numbering
+                 stays the same.
+
+               - Removed some error codes.  Numbering stays the same.
+
+               - Replaced WIMLIB_UNMOUNT_FLAG_LAZY with
+                 WIMLIB_UNMOUNT_FLAG_FORCE.
+
                - WIM paths passed to progress functions now have a leading
                  slash.
 
-       Made some documentation improvements.
-
 Version 1.6.2:
        Case-insensitive comparisons of strings (e.g. filenames) containing
        UTF-16 codepoints above 32767 are now done correctly.