Only the most important changes more recent than version 0.6 are noted here.
-Version 1.1.1:
+Version 1.3.3:
+ Capturing a WIM image should now be significantly faster in most cases
+ due to improved use of the operating system's cache and avoiding reading
+ files twice whenever possible.
+
+ The Windows build should now work on Windows XP.
+
+ The Windows build now supports capturing and restoring hidden,
+ compressed, sparse, and encrypted files.
+
+ The Windows build now supports capturing and applying WIM images from
+ filesystems other than NTFS (with some reduced functionality).
+
+ Added support for "reparse-point" fixups (i.e. fixing up of symbolic
+ links). See docs for --rpfix and --norpfix flags of `wimlib-imagex
+ capture' and `wimlib-imagex apply'.
+
+ The performance of splitting and joining WIMs should be slightly
+ improved.
+
+ The LZX and XPRESS compression and decompression functions are now
+ exported from the library.
+
+Version 1.3.2:
+ Improvements and bugfixes for the Windows build.
+
+ Added --strict-acls options.
+
+ Fixed the way that wimlib determines the order of images in the WIM.
+
+Version 1.3.1:
+ Since wimlib can now be used on Windows, wimlib's implementation of
+ ImageX has been renamed to wimlib-imagex to avoid confusion with
+ Microsoft's implementation of ImageX, which would have the same file
+ name ("imagex.exe"). If you really don't like this you can pass the
+ --with-imagex-progname option to `configure' to choose a different name,
+ or even simply rename the binary yourself (but the former way will
+ configure the man pages to use the chosen name).
+
+ Various bugs fixed in the Windows build. Mainly to do with capturing
+ and restoring alternate data streams correctly in weird cases, and
+ requesting the correct privileges when opening files. Also added the
+ --noacls options to wimlib-imagex capture, append, and apply.
+
+ Windows build again: FindFirstStreamW() and FindNextStreamW() are now
+ dynamically loaded, so this may make the library compatible with Windows
+ XP (however, there may still be other problems).
+
+Version 1.3.0:
+ Added experimental support for native Windows builds. Binaries can be
+ downloaded from the SourceForge page.
+
+ --source-list option added to `imagex capture' and `imagex append'.
+
+ Better support for different character encodings.
+
+Version 1.2.6:
+ Storing UNIX file owners, groups, and modes in WIM images is now
+ possible using `imagex capture' with the --unix-data flag.
+
+ Minor bug fixes and documentation fixes.
+
+Version 1.2.5:
+ NTFS capture: Fixed capturing duplicate reparse points.
+
+ NTFS capture: Capture first unnamed stream if there are more than one
+ (print warning instead of error).
+
+ Allow multiple test cases to execute concurrently (e.g. make -j2 check).
+
+Version 1.2.4:
+ Added --arch switch to mkwinpeimg script to support getting AMD64 WinPE
+ from the WAIK.
+
+ Update to work with ntfs-3g version 2013.1.13.
+
+Version 1.2.3:
+ Fixed truncating file to shorter but non-zero length on read-write
+ mounted WIM image.
+
+ Various code cleanups and minor documentation fixes.
+
+Version 1.2.2:
+ LZX and XPRESS decompression have received some additional optimizations
+ and should now be even faster. (Although, they were already pretty
+ fast--- much faster than typical I/O speeds.)
+
+ Fixed a bug introduced in v1.2.1 that would cause a directory tree
+ containing hard links to be captured incorrectly in some cases.
+
+Version 1.2.1:
+ By default, unmounting a read-write mounted WIM with 'imagex unmount
+ --commit' will now change the WIM in-place without needing to write the
+ entire WIM again. Use 'imagex unmount --commit --rebuild' to get the
+ old behavior.
+
+ 'imagex unmount' no longer has a hard-coded limit of 10 minutes to wait
+ for a response from the daemon servicing the mounted WIM. Instead,
+ every second 'imagex unmount' will check if the daemon is still alive,
+ and keep waiting if so, otherwise terminate with an error.
+
+ 'imagex unmount --commit' on a read-write mounted WIM will now print
+ progress information regarding the writing of new or modified streams
+ the WIM, just like when capturing or appending a WIM.
+
+ A small change has been made to XPRESS compression and it should improve
+ the compression ratio slightly.
+
+ A change was made that may improve performance slightly when applying a
+ WIM image to a NTFS volume.
+
+ Microsoft has managed to introduce even more bugs into their software,
+ and now the WIMs for Windows 8 have incorrect (too low) reference counts
+ for some streams. This is unsafe because such streams can be removed
+ when they are in actuality still referenced in the WIM (perhaps by a
+ different image). wimlib will now work around this problem by fixing
+ the stream reference counts. This is only done when wimlib_delete_image() is
+ called ('imagex delete') or when wimlib_mount_image() is called with
+ WIMLIB_MOUNT_FLAG_READWRITE ('imagex mountrw'). Please note that this
+ requires reading the metadata for all images in the WIM, so this will
+ make these operations noticably slower on WIMs with multiple images.
+
+ Various other bugfixes.
+
+Version 1.2.0:
Appending images to a WIM is now be done by default without re-building
the whole WIM. Use the --rebuild flag to get the old behavior (which
was to re-build the entire WIM when a new image is appended).
A new command `imagex optimize' is now available to manually re-build a
WIM that has wasted space due to repeated appends.
- Previously, the soname of libwim.so has been 0.0.0, despite many
- interface changes. The soname is now updated to 1.0.0 and will now be
- updated each release.
-
Progress information has been improved, and now arbitrary callback
functions can be used to show the progress of a WIM operation.
A possible bug with changing the bootable image of a WIM was fixed.
+ Some advisory locking is now done to prevent two processes from
+ modifying a WIM at the same time (but only in some cases). For example,
+ you cannot mount two images from a WIM read-write at the same time.
+
+ Some functions have been reorganized:
+ * wimlib_mount() renamed to wimlib_mount_image().
+ * wimlib_unmount() renamed to wimlib_unmount_image().
+ * wimlib_overwrite_xml_and_header() removed as
+ wimlib_overwrite() suffices now.
+ * wimlib_apply_image_to_ntfs_volume() removed as
+ wimlib_extract_image() suffices now.
+ * wimlib_add_image_from_ntfs_volume() removed as
+ * wimlib_add_image() suffices now.
+
+ Previously, the soname of libwim.so has been 0.0.0, despite many
+ interface changes. The soname is now updated to 1.0.0 and will now be
+ updated each release.
+
Version 1.1.0:
Resources will now be compressed using multiple threads by default.
(This applies to `imagex capture', `imagex append', and `imagex