win32-test-imagex-capture_and_apply: eliminate unnecessary %errorlevel% checks
[wimlib] / NEWS
diff --git a/NEWS b/NEWS
index c50cf7a..d03c156 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,256 @@
-Version 1.7.3-BETA:
+Version 1.9.1-BETA:
+       Added support for object IDs, which are a type of metadata sometimes
+       present on NTFS filesystems.  They are used by some Windows software,
+       such as the Distributed Link Tracking Service.  Object IDs are now
+       captured and applied both in NTFS-3g mode and on Windows when supported
+       by the filesystem.
+
+       Reduced memory usage when exporting large numbers of WIM images.
+
+       Made some minor build-related updates.  Notably, enabled "silent" make
+       rules; this makes the output cleaner when building from source.
+
+       Some Windows-specific updates:
+               Fixed a bug where duplicate backslashes could be generated in
+               link targets when extracting symbolic links and junctions.
+
+               Fixed a bug where the .cmd shortcuts for wimlib-imagex would not
+               work if their full path contained a space.
+
+               Fixed bugs when capturing a WIM image from a SMB filesystem.
+
+               Added warning message about known issue with WindowsApps folder.
+
+               Added instructions for building from source on Windows.
+
+               VSS support is no longer marked "experimental".
+
+Version 1.9.0:
+       Added experimental support for Windows VSS (Volume Shadow Copy Service).
+       The new '--snapshot' argument to 'wimcapture' makes wimlib automatically
+       create and use a temporary VSS snapshot when capturing a WIM image.
+
+       Implemented setting of Windows-specific XML information, such as
+       architecture, system root, and version details.  This information is now
+       automatically set in newly captured WIM images, when appropriate.
+
+       Improved performance of directory tree scans on Windows.
+
+       On Windows, to improve capture performance, wimlib now sometimes opens
+       files by inode number rather than by path.  This is enabled for
+       wimcapture and wimappend, but for now other applications have to opt-in.
+
+       The progress messages printed by wimlib-imagex while writing WIM files
+       have been slightly tweaked.
+
+       Progress information for directory tree scans now counts all hard links.
+       Also, on Windows "\\?\" is no longer stripped from the current path.
+
+       Added a new '--image-property' option to 'wimcapture', 'wimappend', and
+       'wiminfo'.  This option lets you assign values to elements in a WIM
+       file's XML document by name.
+
+       The wimlib_get_image_property() and wimlib_set_image_property() API
+       functions now support numerically indexed elements.
+
+       Fixed a bug where, on Windows, wimlib would change the security
+       descriptor of the target directory of an extraction even when the
+       '--no-acls' option was specified.
+
+Version 1.8.3:
+       Fixed a bug with libntfs-3g extraction present since v1.8.1.  Sometimes,
+       some Microsoft software would not correctly recognize data in the
+       resulting filesystem.
+
+       Made some small improvements to the compression algorithms:
+               LZX compression ratio was slightly improved.
+               XPRESS compression ratio and speed was slightly improved.
+               LZMS compression speed was slightly improved.
+
+       Improved handling of WIM XML data.  wimlib no longer drops unrecognized
+       elements when exporting images.  In addition, two API functions were
+       added for better access to elements in the XML document:
+       wimlib_get_image_property() and wimlib_set_image_property().
+
+       Added support for (unsafe) in-place compaction of WIM files.
+
+       Improved performance of image export by reusing metadata resources
+       instead of always rebuilding and recompressing them.
+
+       Improved performance of wimlib_update_image() by delaying the update to
+       the WIM's XML document until a write is requested.
+
+       On Windows, the target of an extraction may now be a reparse point
+       (which will be dereferenced).
+
+       On Windows, wimlib now correctly restores non-Microsoft reparse points.
+       However, this remains broken in NTFS-3g mode due to a libntfs-3g bug.
+
+       On Windows, wimlib now has improved performance when archiving files
+       from a filesystem backed by a WIM (a "WIMBoot" setup).
+
+       Several improvements to System Compression (compact mode) support:
+
+               wof.sys (or wofadk.sys) is now automatically attached to the
+               target volume if needed.
+
+               Compact-mode extractions now work correctly with wofadk.sys on
+               older versions of Windows.
+
+               For compatibility with the Windows bootloader, the requested
+               compression format now is overridden on certain files.
+
+       Other minor bugfixes.
+
+Version 1.8.2:
+       This release primarily contains various minor bug fixes and
+       improvements, including:
+
+               Improved handling of deep directory structures.
+
+               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.
+
+               Added a workaround for a case where libntfs-3g may report
+               duplicate streams in an NTFS file.
+
+               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.
+
+               On Windows, wimlib now acquires SeManageVolumePrivilege, which
+               is needed to create externally backed files using the
+               "wofadk.sys" driver.
+
+               Improved validation of filenames.
+
+               Improved LZMS decompression speed.
+
+               The configure script now honors alternate pkg-config settings.
+
+               Links have been updated to point to the new website.
+
+       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.
+
+       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.
 
-       Extraction in "WIMBoot mode" without the WOF driver available no longer
-       fails if the disk containing the WIM file has too many partitions.
+       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.