-Version 1.7.1-BETA:
- 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.13.0-BETA:
+ On Windows, wimlib now supports capturing and applying extended
+ attributes (EAs). It is compatible with DISM with the /EA option,
+ available since Windows 10 version 1607. wimlib's EA support is on by
+ default; no option has to be provided, and it should work on older
+ versions of Windows too.
- Library users can now initialize and de-initialize the library multiple
- times in one run of an application program.
+ Partially fixed a bug where [ExclusionException] entries didn't take
+ effect when the containing directory is matched by [ExclusionList]. It
+ now works when the [ExclusionException] patterns are absolute. For
+ example, listing "/dir/file" in [ExclusionException] now works even if
+ "/dir" is matched by [ExclusionList].
+
+ Added a '--create' option to 'wimappend' which makes it create the WIM
+ file (like 'wimcapture') if it doesn't exist yet.
+
+ Added an '--include-integrity' option to various wimlib-imagex commands.
+ '--include-integrity' is like '--check', but it will just include an
+ integrity table in the output WIM(s), while skipping verification of any
+ existing integrity tables. This can be useful to avoid unwanted
+ verification of large WIM files, e.g. WIMs given by '--delta-from'.
+
+ 'wimextract' now reads a pathlist file from standard input when "@-" is
+ given as an argument.
+
+ wimsplit (API: wimlib_split()) now correctly handles a dot in the path
+ to the first split WIM part, prior to the filename extension.
+
+ 'wimlib-imagex --version' now shows the version of the library it is
+ actually using (in case it is different from wimlib-imagex's version).
+
+Version 1.12.0:
+ Fixed a bug that was causing the LZMS decompressor to be miscompiled
+ with GCC 7 (this broke extracting "solid" archives).
+
+ The Windows 10 Recycle Bin directory (\$RECYCLE.BIN) has been added to
+ the default exclusion list.
+
+ Added a '--quiet' option to wimlib-imagex.
+
+ The 'mkwinpeimg' script now also looks for the syslinux BIOS modules in
+ the directory /usr/lib/syslinux/modules/bios.
+
+ Files with timestamps before the year 1970 are now extracted correctly
+ to UNIX-style filesystems, are displayed correctly by
+ 'wimdir --detailed', and show up correctly in mounted WIM images.
+
+ Files with timestamps after the year 2038 are now displayed correctly by
+ the 32-bit Windows build of wimlib.
+
+Version 1.11.0:
+ Fixed a data corruption bug (incorrect compression) when storing an
+ already highly-compressed file in an LZX-compressed WIM with a chunk
+ size greater than or equal to 64K. Note that this is not the default
+ setting and such WIMs are not supported by Microsoft's WIM software, so
+ only users who used the --chunk-size option to wimlib-imagex or the
+ wimlib_set_output_chunk_size() API function may have been affected.
+ This bug was introduced in wimlib v1.10.0. See
+ https://wimlib.net/forums/viewtopic.php?f=1&t=300 for more details.
+
+ On all platforms, sparse files are now extracted as sparse.
+
+ Sparse files captured from UNIX-style filesystems are now marked as
+ sparse in the resulting WIM image.
+
+ Added support for storing Linux-style extended attributes in WIM images.
+ When the --unix-data option is used on Linux, wimlib-imagex now captures
+ and applies extended attributes, in addition to the already-supported
+ standard UNIX file permissions (owner/group/mode) and special files.
+
+ --delta-from is now supported by wimappend. (Previously it was only
+ supported by wimcapture.)
+
+ On Windows, improved the way in which files deduplicated with Windows'
+ Data Deduplication feature are captured.
+
+ The development files needed to link with wimlib using Visual Studio are
+ now included in the Windows release archives.
+
+ wimlib.h can now be included by Visual Studio without errors.
+
+ The example programs can now be compiled in C++ mode, and they also now
+ work on Windows.
+
+ Updated 'mkwinpeimg' to work correctly on images that have a "windows"
+ (lower case) directory rather than a "Windows" (upper case) directory.
+
+ Fixed configuring with --enable-ssse3-sha1 from release tarball
+ (the file nasm_lt.sh was missing).
+
+ Made some documentation improvements.
+
+Version 1.10.0:
+ The LZX compression ratio has been slightly improved. The default mode,
+ LZX level 50, is now almost as good as the old LZX level 100, while
+ being nearly the same speed as before.
+
+ Decompression performance has been slightly improved.
+
+ Filenames are now always listed in NTFS collation order.
+
+ On UNIX-like systems, wimlib can now process Windows filenames that are
+ not valid Unicode due to the presence of unpaired surrogates.
+
+ On UNIX-like systems, wimlib now always assumes UTF-8 encoding with the
+ addition of surrogate codepoints. Consequently, the environmental
+ variable WIMLIB_IMAGEX_USE_UTF8 and the flag
+ WIMLIB_INIT_FLAG_ASSUME_UTF8 no longer have any effect.
+
+ wimlib no longer depends on iconv.
+
+ Reduced memory usage slightly.
+
+ When a WIM image is applied in NTFS-3G mode, security descriptors are
+ now created in NTFS v3.0 format when supported by the volume.
+
+ Workarounds for bugs in libntfs-3g version 2013.1.13 and earlier have
+ been removed. Users are advised to upgrade to a later version of
+ libntfs-3g.
+
+ On Windows, wimlib now supports case-sensitive filename extraction when
+ supported by the underlying operating system and filesystem (operating
+ system support requires a registry setting).
+
+Version 1.9.2:
+ On UNIX, wimlib can now overwrite readonly files when extracting.
+
+ On Windows, fixed a bug where wimlib could leave a null DACL (a.k.a. "no
+ NTFS permissions") set on some existing directories after extraction.
+
+ On Windows, when applying a WIM image in "WIMBoot mode" when the WOF
+ driver is not loaded, wimlib can now correctly register a new WIM file
+ with the target volume when the target volume previously had had WIM
+ files unregistered.
+
+ Added a new testing program.
+
+ Clarified the main license text and updated public domain dedications
+ for certain files to be more thorough.
+
+Version 1.9.1:
+ Object IDs are now saved and restored on Windows and in NTFS-3G mode.
+
+ Reduced memory usage when exporting large numbers of WIM images.
+
+ Non UTF-8 locales are now detected correctly.
+
+ Addressed compiler warnings and enabled "silent" make rules by default.
+
+ 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 wouldn't
+ work if their full path contained a space.
+
+ Fixed bugs related to scanning SMB filesystems.
+
+ Added warning message about known issue with WindowsApps folder.
+
+ Added instructions for building from source on Windows.
+
+ VSS support is no longer marked "experimental".
+
+ Added missing license file for libdivsufsort-lite.
+
+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.
+
+ 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.