compute_inverse_suffix_array(): Use r for rank, not i
[wimlib] / NEWS
diff --git a/NEWS b/NEWS
index 2847115..89b5b93 100644 (file)
--- a/NEWS
+++ b/NEWS
 Only the most important changes more recent than version 0.6 are noted here.
 
+Version 1.6.0:
+       Support for extracting and updating the new version 3584 WIMs has been
+       added.  These WIMs typically pack many streams ("files") together into a
+       single compressed resource, thereby saving space.  This degrades the
+       performance of random access (such as that which occurs on a mounted
+       image), but optimizations have been implemented for extraction.  These
+       new WIM files also typically use a new compression format (LZMS), which
+       is similar to LZMA and can offer a better compression ratio than LZX.
+       These new WIM files can be created with Dism using '/compress recovery',
+       or using `wimcapture' using '--pack-streams', although wimlib's LZMS
+       compressor is not yet very good, the latter is not recommended.  Note:
+       this new WIM format is used by the Windows 8 web downloader, but
+       important segments of the raw '.esd' files are encrypted, so wimlib will
+       not be able to extract such files until they are first decrypted.
+
+       wimlib now supports extracting files and directories from a WIM image
+       based on a "listfile" that itself contains the list of paths to extract.
+       For `wimextract', the syntax is to specify @LISTFILE instead of a PATH,
+       and for the library itself, the new APIs are wimlib_extract_pathlist()
+       and wimlib_extract_paths().  Path globs containing wildcard characters
+       are supported.
+
+       For searching WIM files, wimlib now has configurable case sensitivity.
+       The default on Windows is still case-insensitive and the default on
+       UNIX-like systems is still case-sensitive, but this can be overwridden
+       on either platform through flags to wimlib_global_init().  For
+       `wimlib-imagex', the environmental variable WIMLIB_IMAGEX_IGNORE_CASE
+       can be set to 1 or 0 for case-insensitive or case-sensitive behavior,
+       respectively.
+
+       Support for compression chunk sizes greater than the default of 32768
+       bytes has been added.  A larger chunk size typically results in a better
+       compression ratio.  However, the MS implementation is seemingly not
+       compatible with all chunk sizes, especially for LZX compression, so the
+       defaults remain unchanged, with the exception of the new LZMS-compressed
+       WIMs, which use a larger chunk size by default.
+
+       The compression/decompression API exported by wimlib has been changed.
+       Now one set of functions handles all supported compression formats.
+
+       `wimcapture' and `wimappend' will now display the progress of scanning
+       the directory tree to capture, in addition to the progress of writing
+       data to the WIM.  The '--verbose' option no longer does anything.  The
+       library API change for this is the addition of several members to
+       `struct wimlib_progress_info_scan' available to progress callbacks.
+
+       `mkwinpeimg' now correctly handles the '--start-script' option when the
+       start script is not in the working directory.
+
+       Sequential extraction, previously requested by using
+       WIMLIB_EXTRACT_FLAG_SEQUENTIAL, is now the default.
+       WIMLIB_EXTRACT_FLAG_FILE_ORDER can be used to get the old default
+       behavior (extract in file order).
+
+Version 1.5.3:
+       The new LZX compressor added in v1.5.2 has been improved and is now
+       enabled by default, except when `wimcapture' or `wimappend' is run
+       *without* the '--compress' option, in which case the faster LZX
+       compressor is used (the same as before).  This behavior is reasonably
+       consistent with ImageX which actually uses "fast" (XPRESS) compression
+       by default.  In those cases, use '--compress=maximum' to explicitly
+       capture a WIM image using the new (slower but better) LZX compressor.
+
+       The '--compress-slow' option still exists to `wimlib-imagex optimize',
+       but its new behavior is to tweak the new LZX compressor even more to
+       produce an even better compression ratio at the cost of more time spent
+       compressing.
+
+       `wimlib-imagex optimize' now supports the '--compress=TYPE' option,
+       which recompresses the WIM file using the specified compression TYPE.
+       The new library API function used for this is
+       wimlib_set_output_compression_type().
+
+       Added the wimlib_get_xml_data() function to allow library clients to
+       easily retrieve the raw XML data from a WIM file if needed.
+
+       Fixed a bug that could cause an error code to be incorrectly returned
+       when writing XML data containing a <WINDOWS> element.
+
+       Mounted WIM images will now correctly show the default file stream even
+       if appears in the alternate data stream entries of the corresponding WIM
+       directory entry.
+
+Version 1.5.2:
+       Added a new experimental LZX compressor which can be enabled by passing
+       '--compress-slow' to `wimlib-imagex capture' or `wimlib-imagex
+       optimize'.  (The latter is only applicable if the WIM is already
+       LZX-compressed and the '--recompress' option is also given.)  The
+       experimental compressor is much slower but compresses the data slightly
+       more --- currently usually to within a fraction of a percent of the
+       results from WIMGAPI/ImageX.
+
+       A workaround has been added for compatibility with versions of WinPE
+       that interpret alternate data stream entries in the boot WIM
+       incorrectly.
+
+       An alignment bug that caused a crash in the LZX decompressor on some
+       builds was fixed.
+
+       wimlib now attempts to clear the WIM_HDR_FLAG_WRITE_IN_PROGRESS flag in
+       the WIM header when restoring the previous state of a WIM it failed to
+       successfully update.
+
+       Added a workaround to avoid an access denied error on Windows when
+       replacing a WIM file that another process has opened.
+
 Version 1.5.1:
        wimlib can now open WinPE WIMs from WAIK v2.1, which had a quirk that
        needed to be handled.
 
-       A bug related to the interpretation of the IMAGE in the
-       --update-of=[WIMFILE:]IMAGE argument to `wimlib-imagex capture' and
+       A bug in the interpretation of negative IMAGE indices in the
+       --update-of=[WIMFILE:]IMAGE option to `wimlib-imagex capture' and
        `wimlib-imagex append' has been fixed.
 
+       A workaround has been added to successfully apply security descriptors
+       with empty DACLs when the NTFS-3g apply mode is being used with NTFS-3g
+       2013.1.13 or earlier.
+
+       `wimlib-imagex capture' can now accept the '--delta-from' option
+       multiple times.
+
 Version 1.5.0:
        Added support for "pipable" WIMs.  Pipable WIMs allow capturing images
        to standard output and applying images from standard input, but they are