]> wimlib.net Git - wimlib/blob - NEWS.md
wimoptimize: better defaults for WIM <=> ESD
[wimlib] / NEWS.md
1 # wimlib release notes
2
3 ## Version 1.14.0-BETA3
4
5 - Removed libxml2 and libcrypto (OpenSSL) as dependencies of wimlib.  Also
6   removed winpthreads as a dependency of wimlib on Windows.
7
8 - Upgraded the support for mounting WIM images on Linux from fuse2 to fuse3.
9   fuse2 is no longer supported.
10
11 - Converted the README, README.WINDOWS, and NEWS files to Markdown.
12
13 - Simplified the process of building wimlib for Windows.  See README.WINDOWS for
14   the updated instructions, which use MSYS2 instead of Cygwin.  Windows ARM64
15   builds are now supported (experimentally) as well.
16
17 - Improved performance on CPUs that have SHA-1 instructions in cases where
18   wimlib wasn't using OpenSSL, e.g. the Windows binaries.
19
20 - Fixed a bug in `wimsplit` where it didn't accept part sizes of 4 GiB or larger
21   on Windows and on 32-bit platforms.
22
23 - `wimupdate` now supports the `--ref` option.  It should be specified when
24   updating a delta WIM to avoid two minor issues.
25
26 - `wimoptimize` now has better default behavior when converting to and from
27   solid archives, i.e. WIM <=> ESD.  It now is consistent with `wimcapture` and
28   `wimexport`.  For WIM => ESD, `wimoptimize --solid` now works.  Before, the
29   needed command was `wimoptimize --solid --compress=LZMS --chunk-size=128K`.
30   For ESD => WIM, `wimoptimize --compress=LZX` now works.  Before, the needed
31   command was `wimoptimize --compress=LZX --chunk-size=32K`.
32
33 - Removed support for Windows XP.
34
35 - Added a GitHub Actions workflow that tests wimlib.
36
37 ## Version 1.13.6
38
39 - `wimsplit` no longer prints a success message on failure.
40
41 - `wimlib_iterate_dir_tree()` no longer hashes files that haven't yet been
42   written to the WIM file.
43
44 - Reduced the maximum number of file descriptors that wimlib can use when
45   extracting files from a WIM image on macOS.
46
47 - The files that used the CC0 public domain dedication now use the MIT license
48   instead.
49
50 - Removed some configuration options (`--disable-assertions`,
51   `--disable-error-messages`, and `--disable-multithreaded-compression`) that
52   probably weren't being used by anyone.
53
54 ## Version 1.13.5
55
56 - Exporting "all" images from a WIM file no longer fails if multiple
57   images in that WIM file have the same name.
58
59 - wimlib now warns rather than aborts if two files have the same SHA-1
60   hash but different sizes.
61
62 - Fixed build errors with the latest version of MinGW-w64.
63
64 ## Version 1.13.4
65
66 - wimsplit now prints progress messages regularly rather than just once per WIM
67   part.
68
69 - Added support for a data recovery mode which causes files to be extracted even
70   if they are corrupted.  The option is `--recover-data` for `wimapply` and
71   `wimextract`, and `WIMLIB_EXTRACT_FLAG_RECOVER_DATA` for the library.  Note
72   that this option won't help with all types of corruption; some types of
73   corruption will still cause a fatal error.
74
75 ## Version 1.13.3
76
77 - On Windows, improved performance of capturing an entire drive in some cases.
78
79 - On Windows, fixed leaking a directory handle (or triggering a SEH exception
80   when running under a debugger) when referencing WIM files.
81
82 - On Windows, when applying a Windows OS image using the `--compact` flag,
83   bootloader files can now be compressed with stronger compression algorithms if
84   the version of Windows is recent enough to support it.
85
86 - Clarified the license text.
87
88 ## Version 1.13.2
89
90 - Prevented miscompilation with gcc 10 at -O3 due to [a gcc
91   bug](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94994).
92
93 - Avoided some compiler warnings with gcc 9 and later.
94
95 - The `mkwinpeimg` script now also looks for syslinux modules in
96   `/usr/share/syslinux`, to handle where openSUSE installs them.
97
98 - Removed obsolete packaging files from the source tree.
99
100 ## Version 1.13.1
101
102 - Fixed a crash or incorrect output during LZMS compression with a compression
103   level greater than 50 and a chunk size greater than 64 MiB.  This affected
104   wimlib v1.8.0 and later.  In the unlikely event that you used all these
105   non-default compression settings in combination, e.g. `wimcapture --solid
106   --solid-compress=LZMS:100 --solid-chunk-size=128M`, run `wimverify` on your
107   archives to verify your data is intact.
108
109 ## Version 1.13.0
110
111 - On Windows, wimlib now supports capturing and applying extended attributes
112   (EAs).  It is compatible with DISM with the `/EA` option, available since
113   Windows 10 version 1607.  wimlib's EA support is on by default and works on
114   older versions of Windows too.
115
116 - Partially fixed a bug where `[ExclusionException]` entries didn't take effect
117   when the containing directory is matched by `[ExclusionList]`.  It now works
118   when the `[ExclusionException]` patterns are absolute.  For example, listing
119   `/dir/file` in `[ExclusionException]` now works even if `/dir` is matched by
120   `[ExclusionList]`.
121
122 - Added a `--create` option to `wimappend` which makes it create the WIM
123   file (like `wimcapture`) if it doesn't exist yet.
124
125 - Added an `--include-integrity` option to various `wimlib-imagex` commands.
126   `--include-integrity` is like `--check`, but it will just include an integrity
127   table in the output WIM(s), while skipping verification of any existing
128   integrity tables.  This can be useful to avoid unwanted verification of large
129   WIM files, e.g. WIMs given by `--delta-from`.
130
131 - `wimextract` now reads a pathlist file from standard input when `@-` is given
132   as an argument.
133
134 - `wimsplit` (API: `wimlib_split()`) now correctly handles a dot in the path to
135   the first split WIM part, prior to the filename extension.
136
137 - `wimlib-imagex --version` now shows the version of the library it is actually
138   using (in case it is different from `wimlib-imagex`'s version).
139
140 ## Version 1.12.0
141
142 - Fixed a bug that was causing the LZMS decompressor to be miscompiled with GCC
143   7 (this broke extracting "solid" archives).
144
145 - The Windows 10 Recycle Bin directory (`\$RECYCLE.BIN`) has been added to the
146   default exclusion list.
147
148 - Added a `--quiet` option to `wimlib-imagex`.
149
150 - The `mkwinpeimg` script now also looks for the syslinux BIOS modules in the
151   directory `/usr/lib/syslinux/modules/bios`.
152
153 - Files with timestamps before the year 1970 are now extracted correctly to
154   UNIX-style filesystems, are displayed correctly by `wimdir --detailed`, and
155   show up correctly in mounted WIM images.
156
157 - Files with timestamps after the year 2038 are now displayed correctly by the
158   32-bit Windows build of wimlib.
159
160 ## Version 1.11.0
161
162 - Fixed a data corruption bug (incorrect compression) when storing an already
163   highly-compressed file in an LZX-compressed WIM with a chunk size greater than
164   or equal to 64K.  Note that this is not the default setting and such WIMs are
165   not supported by Microsoft's WIM software, so only users who used the
166   `--chunk-size` option to `wimlib-imagex` or the
167   `wimlib_set_output_chunk_size()` API function may have been affected.  This
168   bug was introduced in wimlib v1.10.0.  See [this forum
169   thread](https://wimlib.net/forums/viewtopic.php?f=1&t=300) for more details.
170
171 - On all platforms, sparse files are now extracted as sparse.
172
173 - Sparse files captured from UNIX-style filesystems are now marked as sparse in
174   the resulting WIM image.
175
176 - Added support for storing Linux-style extended attributes in WIM images.  When
177   the `--unix-data` option is used on Linux, `wimlib-imagex` now captures and
178   applies extended attributes, in addition to the already-supported standard
179   UNIX file permissions (owner/group/mode) and special files.
180
181 - `--delta-from` is now supported by `wimappend`.  (Previously it was only
182   supported by `wimcapture`.)
183
184 - On Windows, improved the way in which files deduplicated with Windows' Data
185   Deduplication feature are captured.
186
187 - The development files needed to link with wimlib using Visual Studio are now
188   included in the Windows release archives.
189
190 - `wimlib.h` can now be included by Visual Studio without errors.
191
192 - The example programs can now be compiled in C++ mode, and they also now work
193   on Windows.
194
195 - Updated `mkwinpeimg` to work correctly on images that have a `windows`
196   (lower case) directory rather than a `Windows` (upper case) directory.
197
198 - Fixed configuring with `--enable-ssse3-sha1` from release tarball (the file
199   `nasm_lt.sh` was missing).
200
201 - Made some documentation improvements.
202
203 ## Version 1.10.0
204
205 - The LZX compression ratio has been slightly improved.  The default mode, LZX
206   level 50, is now almost as good as the old LZX level 100, while being nearly
207   the same speed as before.
208
209 - Decompression performance has been slightly improved.
210
211 - Filenames are now always listed in NTFS collation order.
212
213 - On UNIX-like systems, wimlib can now process Windows filenames that are
214   not valid Unicode due to the presence of unpaired surrogates.
215
216 - On UNIX-like systems, wimlib now always assumes UTF-8 encoding with the
217   addition of surrogate codepoints.  Consequently, the environmental variable
218   `WIMLIB_IMAGEX_USE_UTF8` and the flag `WIMLIB_INIT_FLAG_ASSUME_UTF8` no longer
219   have any effect.
220
221 - wimlib no longer depends on iconv.
222
223 - Reduced memory usage slightly.
224
225 - When a WIM image is applied in NTFS-3G mode, security descriptors are now
226   created in NTFS v3.0 format when supported by the volume.
227
228 - Workarounds for bugs in libntfs-3g version 2013.1.13 and earlier have been
229   removed.  Users are advised to upgrade to a later version of libntfs-3g.
230
231 - On Windows, wimlib now supports case-sensitive filename extraction when
232   supported by the underlying operating system and filesystem (operating system
233   support requires a registry setting).
234
235 ## Version 1.9.2
236
237 - On UNIX, wimlib can now overwrite readonly files when extracting.
238
239 - On Windows, fixed a bug where wimlib could leave a null DACL (a.k.a. "no NTFS
240   permissions") set on some existing directories after extraction.
241
242 - On Windows, when applying a WIM image in "WIMBoot mode" when the WOF driver is
243   not loaded, wimlib can now correctly register a new WIM file with the target
244   volume when the target volume previously had had WIM files unregistered.
245
246 - Added a new testing program.
247
248 - Clarified the main license text and updated public domain dedications for
249   certain files to be more thorough.
250
251 ## Version 1.9.1
252
253 - Object IDs are now saved and restored on Windows and in NTFS-3G mode.
254
255 - Reduced memory usage when exporting large numbers of WIM images.
256
257 - Non UTF-8 locales are now detected correctly.
258
259 - Addressed compiler warnings and enabled "silent" make rules by default.
260
261 - Windows-specific updates:
262
263   - Fixed a bug where duplicate backslashes could be generated in link targets
264     when extracting symbolic links and junctions.
265
266   - Fixed a bug where the `.cmd` shortcuts for `wimlib-imagex` wouldn't work if
267     their full path contained a space.
268
269   - Fixed bugs related to scanning SMB filesystems.
270
271   - Added warning message about known issue with WindowsApps folder.
272
273   - Added instructions for building from source on Windows.
274
275   - VSS support is no longer marked "experimental".
276
277   - Added missing license file for libdivsufsort-lite.
278
279 ## Version 1.9.0
280
281 - Added experimental support for Windows VSS (Volume Shadow Copy Service).  The
282   new `--snapshot` argument to `wimcapture` makes wimlib automatically create
283   and use a temporary VSS snapshot when capturing a WIM image.
284
285 - Implemented setting of Windows-specific XML information, such as architecture,
286   system root, and version details.  This information is now automatically set
287   in newly captured WIM images, when appropriate.
288
289 - Improved performance of directory tree scans on Windows.
290
291 - On Windows, to improve capture performance, wimlib now sometimes opens files
292   by inode number rather than by path.  This is enabled for `wimcapture` and
293   `wimappend`, but for now other applications have to opt-in.
294
295 - The progress messages printed by `wimlib-imagex` while writing WIM files have
296   been slightly tweaked.
297
298 - Progress information for directory tree scans now counts all hard links.
299   Also, on Windows `\\?\` is no longer stripped from the current path.
300
301 - Added a new `--image-property` option to `wimcapture`, `wimappend`, and
302   `wiminfo`.  This option lets you assign values to elements in a WIM file's XML
303   document by name.
304
305 - The `wimlib_get_image_property()` and `wimlib_set_image_property()` API
306   functions now support numerically indexed elements.
307
308 - Fixed a bug where, on Windows, wimlib would change the security descriptor of
309   the target directory of an extraction even when the `--no-acls` option was
310   specified.
311
312 ## Version 1.8.3
313
314 - Fixed a bug with libntfs-3g extraction present since v1.8.1.  Sometimes, some
315   Microsoft software would not correctly recognize data in the resulting
316   filesystem.
317
318 - Made some small improvements to the compression algorithms:
319   - LZX compression ratio was slightly improved.
320   - XPRESS compression ratio and speed was slightly improved.
321   - LZMS compression speed was slightly improved.
322
323 - Improved handling of WIM XML data.  wimlib no longer drops unrecognized
324   elements when exporting images.  In addition, two API functions were added for
325   better access to elements in the XML document: `wimlib_get_image_property()`
326   and `wimlib_set_image_property()`.
327
328 - Added support for (unsafe) in-place compaction of WIM files.
329
330 - Improved performance of image export by reusing metadata resources
331   instead of always rebuilding and recompressing them.
332
333 - Improved performance of `wimlib_update_image()` by delaying the update to the
334   WIM's XML document until a write is requested.
335
336 - On Windows, the target of an extraction may now be a reparse point
337   (which will be dereferenced).
338
339 - On Windows, wimlib now correctly restores non-Microsoft reparse points.
340   However, this remains broken in NTFS-3G mode due to a libntfs-3g bug.
341
342 - On Windows, wimlib now has improved performance when archiving files
343   from a filesystem backed by a WIM (a "WIMBoot" setup).
344
345 - Several improvements to System Compression (compact mode) support:
346
347   - `wof.sys` (or `wofadk.sys`) is now automatically attached to the target
348     volume if needed.
349
350   - Compact-mode extractions now work correctly with `wofadk.sys` on older
351     versions of Windows.
352
353   - For compatibility with the Windows bootloader, the requested compression
354     format now is overridden on certain files.
355
356 - Other minor bugfixes.
357
358 ## Version 1.8.2
359
360 - This release primarily contains various minor bug fixes and improvements,
361   including:
362
363   - Improved handling of deep directory structures.
364
365   - Fixed a bug where on 32-bit systems, the library could enter an infinite
366     loop if a WIM file was malformed in a specific way.
367
368   - Added a workaround for a case where libntfs-3g may report duplicate streams
369     in an NTFS file.
370
371   - Windows symbolic links and junctions in mounted WIM images are now
372     automatically rewritten to be valid in the mounted location.
373
374   - Reparse point fixes: correctly handle the "ReparseReserved" field, and
375     correctly handle "empty" (data-less) reparse points.
376
377   - On Windows, wimlib now acquires SeManageVolumePrivilege, which is needed to
378     create externally backed files using the `wofadk.sys` driver.
379
380   - Improved validation of filenames.
381
382   - Improved LZMS decompression speed.
383
384   - The configure script now honors alternate pkg-config settings.
385
386   - Links have been updated to point to the new website.
387
388 - In addition, experimental support has been added for compressing extracted
389   files using System Compression on Windows 10.  This functionality is available
390   through the new `--compact` option to `wimapply` and `wimextract` as well as
391   new library flags.
392
393 ## Version 1.8.1
394
395 - Fixed a bug in the LZX decompressor: malicious input data could cause out of
396   bounds writes to memory (since wimlib v1.2.2).
397
398 - The output of the `wiminfo` command now consolidates various boolean flags
399   (such as "Relative path junction") into a single line.
400
401 - A file can now have both an unnamed data stream ("file contents") and a
402   reparse point stream.  Such files can exist as a result of the use of certain
403   Windows features, such as offline storage, including "OneDrive".  wimlib will
404   now store and restore both streams on Windows as well as in NTFS-3G mode.
405   Microsoft's WIMGAPI also has this behavior.
406
407 - On Windows, named data streams of encrypted files are no longer stored twice
408   in WIM archives.
409
410 - On Windows, named data streams are now correctly extracted to existing
411   "readonly" directories.  Before, an error would be reported.
412
413 - On Windows, it is now possible to do a "WIMBoot mode" extraction with
414   non-standalone WIMs such as delta WIMs.
415
416 - On Windows, when doing an extraction in "WIMBoot mode", files larger
417   than 4 gigabytes are now never extracted as externally backed.  This
418   works around a bug in Microsoft's "WOF" driver.
419
420 - The `--enable-verify-compression` configure option has been removed.  If you
421   want to verify a WIM file, use the `wimverify` program.
422
423 - The way the "file count", "directory count", "total bytes", and "hard link
424   bytes" image statistics (stored in the WIM XML data) is calculated has been
425   slightly changed.
426
427 - In mounted WIM images, the disk usage provided for each file (`st_blocks`) is
428   now the compressed size rather than the uncompressed size.
429
430 - The performance of the NTFS-3G and Windows capture modes has been slightly
431   improved.
432
433 - On UNIX-like systems, symbolic links whose targets contain the backslash
434   character are now handled correctly (losslessly).
435
436 ## Version 1.8.0
437
438 - Improved the LZX compressor.  It is now 15-20% faster than before and provides
439   a slightly better compression ratio.
440
441 - Improved the LZMS compressor.  It now provides a compression ratio slightly
442   better than WIMGAPI while still being faster and using slightly less memory.
443
444 - The compression chunk size in solid resources, e.g. when capturing or
445   exporting a WIM file using the `--solid` option, now defaults to 64 MiB
446   (67108864 bytes) instead of 32 MiB (33554432 bytes).  This provides a better
447   compression ratio and is the same value that WIMGAPI uses.  The memory usage
448   is less than 50% higher than wimlib v1.7.4 and is slightly lower than
449   WIMGAPI's memory usage, but if it is too much, it is still possible to choose
450   a lower value, e.g. with the `--solid-chunk-size` option to `wimlib-imagex`.
451
452 - The `--chunk-size` and `--solid-chunk-size` options to `wimlib-imagex` now
453   accept the 'K', 'M', and 'G' suffixes.
454
455 - Files are now sorted by name extension when creating a solid WIM file.
456
457 - Fixed various issues related to capture/apply of EFS-encrypted files on
458   Windows.
459
460 - The file list printed by `wimdir` is now sorted by the platform-specific
461   case sensitivity setting, rather than always case sensitively.  This
462   also affects the library function `wimlib_iterate_dir_tree()`.
463
464 - On Windows, some error and warning messages have been improved.
465
466 ## Version 1.7.4
467
468 - The Windows binary distribution no longer contains third party DLLs.  These
469   dependencies are instead compiled directly into the libwim DLL.
470
471 - Added more fixes for wimlib on non-x86 architectures such as ARM.
472
473 - Extracting files to a Windows PE in-memory filesystem no longer fails if
474   the target files do not yet exist.
475
476 - Improved the performance of XPRESS compression and LZMS decompression.
477
478 - Enabled SSSE3 accelerated SHA-1 computation in `x86_64` Windows builds.  It
479   will automatically be faster on newer Intel and AMD processors.
480
481 - Removed the `--with-imagex-progname` and `--enable-more-assertions` configure
482   options.
483
484 ## Version 1.7.3
485
486 - Fix for very slow export from solid WIM / ESD files.
487
488 - Fix for LZX and LZMS algorithms on non-x86 architectures, such as ARM.
489
490 - New progress message: `WIMLIB_PROGRESS_MSG_HANDLE_ERROR`.  Applications may
491   use this to treat some types of errors as non-fatal.
492
493 - The library now permits making in-memory changes to a WIMStruct backed by a
494   read-only WIM file.
495
496 - Fixes for "WIMBoot" extraction mode (Windows only):
497
498   - When not using the WOF driver, extraction no longer fails if the disk
499     containing the WIM file has too many partitions.
500
501   - When matching patterns in `[PrepopulateList]`, all hard links of each file
502     are now considered.
503
504   - The system registry files are now automatically treated as being in
505     `[PrepopulateList]`.
506
507   - Added a hack to try to work around an intermittent bug in Microsoft's WOF
508     (Windows Overlay Filesystem) driver.
509
510 ## Version 1.7.2
511
512 - Made more improvements to the XPRESS, LZX, and LZMS compressors.
513
514 - A number of improvements to the Windows port:
515
516   - Fixes for setting short filenames.
517
518   - Faster "WIMBoot" extraction.
519
520   - Updated and slimmed down the dependent DLLs.
521
522   - ACL inheritence bits are now restored.
523
524   - Mandatory integrity labels are now backed up and restored.
525
526 - Added a workaround for an issue where in rare cases, wimlib could create a
527   compressed data stream that could not be read correctly by Windows after an
528   extraction in "WIMBoot" mode.
529
530 - Library changes:
531
532   - Added file count progress data for
533     `WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE` and
534     `WIMLIB_PROGRESS_MSG_EXTRACT_METADATA`.
535
536   - Added support for testing file exclusions via the user-provided progress
537     function.
538
539   - Some documentation improvements.
540
541 - Made some clarifications to the license text in the COPYING file.
542
543 ## Version 1.7.1
544
545 - Made more improvements to the XPRESS, LZX, and LZMS compressors.
546
547 - The default compression mode for wimcapture is now LZX compression in its
548   default mode, which is the same as `--compress=maximum`.
549
550 - You can now specify an optional integer compression level to the
551   `--compress` option; e.g. `--compress=lzx:75`.
552
553 - Made a minor change to the LZMS compressor and decompressor to fix an
554   incompatibility with the Microsoft implementation.  In the unlikely event that
555   you created an LZMS-compressed WIM with wimlib v1.7.0 or earlier and a
556   checksum error is reported when extracting files from it with wimlib v1.7.1,
557   decompress it with v1.7.0 then compress it with v1.7.1.
558
559 - Added `verify` subcommand to `wimlib-imagex`.
560
561 - Notable library changes:
562
563   - Custom compressor parameters have been removed from the library in favor of
564     the simpler level-based API.
565
566   - Decompressor parameters have been removed entirely.
567
568   - Library users can now specify a custom file for warning and error messages
569     to be sent to, rather than the default of standard error.
570
571   - New progress messages: `WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE`,
572     `WIMLIB_PROGRESS_MSG_EXTRACT_METADATA`.
573
574     New function: `wimlib_verify_wim()`.
575
576 ## Version 1.7.0
577
578 - Improved compression, decompression, and extraction performance.
579
580 - Improved compatibility with version 3584 WIM / ESD files:
581
582   - Add support for reading and writing multiple solid blocks per archive, which
583     WIMGAPI/DISM can create when appending an image.
584
585   - Correctly create solid blocks larger than 4 GiB.
586
587 - `add` commands passed to wimupdate will now replace existing nondirectory
588   files by default.  Use the `--no-replace` option to get the old behavior.
589
590 - The license for the library now contains an exception that allows using it
591   under the LGPL.  See the COPYING file for details.
592
593 - In reparse-point fixup mode (the default for capture), symbolic links and
594   junctions that point outside the tree being captured are no longer excluded
595   from capture.
596
597 - Added support for "WIMBoot" capture and extraction.  See the documentation for
598   the new `--wimboot` option to wimcapture and wimapply for more information.
599
600 - On UNIX-like systems, you can now backup and restore device nodes, named
601   pipes, and sockets.  In addition, 32-bit user and group IDs are now supported.
602
603 - The way that UNIX data is stored in WIM files has been changed.  If you
604   captured any WIMs with the `--unix-data` option, to upgrade them you'll need
605   to apply them with `--unix-data` using `wimlib-imagex` v1.6.2, then re-capture
606   them with `--unix-data` using this version.
607
608 - wimlib now understands tagged metadata items, such as object IDs, that
609   can be stored in WIM directory entries.
610
611 - Removed the `--hardlink` and `--symlink` options to wimapply, since I don't
612   think they are too useful and they got in the way of improving the code.
613
614 - WIMs will now retain their GUIDs when rebuilt (e.g. with wimoptimize).
615
616 - The `mkwinpeimg` script now supports writing the ISO image to standard output.
617
618 - The `<ARCH>` element in WIM XML data is now exported correctly.
619
620 - On Windows, sparse file attributes are no longer set on extracted files.
621   Oddly enough, this actually saves disk space in some cases.
622
623 - On UNIX, configuring with `--disable-xattr` or `--enable-xattr` is no longer
624   supported.  Mounting WIM images now always requires extended attribute
625   support.  Use `--without-fuse` to disable support for mounting WIM images;
626   this will also disable the need for extended attribute support.
627
628 - Configuring with `--enable-ssse3-sha1` now works correctly.
629
630 - The shared library version has been bumped up.  The main incompatibilities
631   are:
632
633   - `WIMLIB_COMPRESSION_TYPE_XPRESS` is now 1 and `WIMLIB_COMPRESSION_TYPE_LZX`
634     is now 2 (so it's the same as WIMGAPI).
635
636   - User-provided progress functions are now registered using a separate
637     function, `wimlib_register_progress_function()`.  The `progress_func`
638     argument to many functions no longer exists.
639
640   - The return value from user-provided progress functions is now significant.
641
642   - A context argument has been added to the prototype of user-provided progress
643     functions.
644
645   - `struct wimlib_capture_config` has been removed.  The library now takes the
646     path to the configuration file directly.  This affects `wimlib_add_image()`,
647     `wimlib_add_image_multisource()`, and `wimlib_update_image()`.  However, a
648     NULL value passed in the argument retains the same meaning.
649
650   - Removed deprecated functions: some (de)compression functions,
651     `wimlib_extract_files()`, and `wimlib_print_metadata()`.
652
653   - Removed extraction flags: `WIMLIB_EXTRACT_FLAG_HARDLINK`,
654     `WIMLIB_EXTRACT_FLAG_SYMLINK`, `WIMLIB_EXTRACT_FLAG_FILE_ORDER`, and
655     `WIMLIB_EXTRACT_FLAG_SEQUENTIAL`.
656
657   - Removed some progress messages: `WIMLIB_PROGRESS_MSG_APPLY_TIMESTAMPS`,
658     `WIMLIB_PROGRESS_MSG_EXTRACT_DIR_STRUCTURE_BEGIN`,
659     `WIMLIB_PROGRESS_MSG_EXTRACT_DIR_STRUCTURE_END`.  Numbering stays the same.
660
661   - Removed some error codes.  Numbering stays the same.
662
663   - Replaced `WIMLIB_UNMOUNT_FLAG_LAZY` with `WIMLIB_UNMOUNT_FLAG_FORCE`.
664
665   - WIM paths passed to progress functions now have a leading slash.
666
667 ## Version 1.6.2
668
669 - Case-insensitive comparisons of strings (e.g. filenames) containing UTF-16
670   codepoints above 32767 are now done correctly.
671
672 - Fixed build failure on Mac OS X.
673
674 - `wimunmount` now provides the `--new-image` option to cause changes to a
675   read-write mounted image to be committed as a new image rather than as an
676   update of the mounted image.  (The corresponding new library flag is
677   `WIMLIB_UNMOUNT_FLAG_NEW_IMAGE`.)
678
679 - The LZMS ("recovery") compression chunk size, or "dictionary size", may now be
680   up to 1 GiB (1,073,741,824 bytes).
681
682 - The performance of LZX ("maximum") and LZMS ("recovery") compression with
683   large chunk sizes has been slightly improved.
684
685 ## Version 1.6.1
686
687 - Stored files with size exactly 4 GiB (4,294,967,296 bytes) are now
688   decompressed correctly.
689
690 - Fixed a bug in the LZX compressor introduced in v1.5.3.  The bug occurred in
691   an unlikely case, and due to validity checks it did not affect successfully
692   created archives.
693
694 - Fixed a minor compatibility issue with the LZMS compressor and decompressor.
695   This is *not* the default compression type and was only introduced in v1.6.0.
696   In the unlikely event that you created an LZMS-compressed WIM with v1.6.0 and
697   a checksum error is reported when applying it with v1.6.1, decompress it with
698   v1.6.0 then compress it with v1.6.1.
699
700 - Memory usage for LZMS and LZX compression has been decreased.
701
702 - wimextract now allows wildcard characters in paths specified on the command
703   line.  Also, the `--strict-wildcards` option has been removed and replaced
704   with the inverse option `--nullglob`.  See the documentation for wimextract
705   for more details and changes.
706
707 - The `wimlib_extract_files()` function is now considered deprecated in favor of
708   `wimlib_extract_paths()`.
709
710 - Fixed more permissions problems when extracting files on Windows.
711
712 - A new `--no-attributes` option has been added to `wimapply` and `wimextract`.
713   The library flag is `WIMLIB_EXTRACT_FLAG_NO_ATTRIBUTES`.
714
715 - The default chunk size is now set correctly when changing the compression type
716   of a WIM, for example with `wimoptimize`.
717
718 - The `--metadata` option to `wiminfo` has been replaced with the `--detailed`
719   option to `wimdir`.
720
721 - In relevant `wimlib-imagex` commands, `--solid` may now be used as an alias
722   for `--pack-streams`.
723
724 ## Version 1.6.0
725
726 - Support for extracting and updating the new version 3584 WIMs has been added.
727   These WIMs typically pack many streams ("files") together into a single
728   compressed resource, thereby saving space.  This degrades the performance of
729   random access (such as that which occurs on a mounted image), but
730   optimizations have been implemented for extraction.  These new WIM files also
731   typically use a new compression format (LZMS), which is similar to LZMA and
732   can offer a better compression ratio than LZX.  These new WIM files can be
733   created using `wimcapture` with the `--compress=lzms --pack-streams` options.
734   Note: this new WIM format is used by the Windows 8 web downloader, but
735   important segments of the raw `.esd` files are encrypted, so wimlib will not
736   be able to extract such files until they are first decrypted.
737
738 - wimlib now supports extracting files and directories from a WIM image based on
739   a "listfile" that itself contains the list of paths to extract.  For
740   `wimextract`, the syntax is to specify `@LISTFILE` instead of a `PATH`, and
741   for the library itself, the new APIs are `wimlib_extract_pathlist()` and
742   `wimlib_extract_paths()`.  Path globs containing wildcard characters are
743   supported.
744
745 - For searching WIM files, wimlib now has configurable case sensitivity.  The
746   default on Windows is still case-insensitive and the default on UNIX-like
747   systems is still case-sensitive, but this can be overridden on either platform
748   through flags to `wimlib_global_init()`.  For `wimlib-imagex`, the
749   environmental variable `WIMLIB_IMAGEX_IGNORE_CASE` can be set to 1 or 0 for
750   case-insensitive or case-sensitive behavior, respectively.
751
752 - Support for compression chunk sizes greater than the default of 32768
753   bytes has been added.  A larger chunk size typically results in a better
754   compression ratio.  However, the MS implementation is seemingly not
755   compatible with all chunk sizes, especially for LZX compression, so the
756   defaults remain unchanged, with the exception of the new LZMS-compressed
757   WIMs, which use a larger chunk size by default.
758
759 - The compression/decompression API exported by wimlib has been changed.  Now
760   one set of functions handles all supported compression formats.
761
762 - `wimcapture` and `wimappend` will now display the progress of scanning the
763   directory tree to capture, in addition to the progress of writing data to the
764   WIM.  The `--verbose` option no longer does anything.  The library API change
765   for this is the addition of several members to `struct
766   wimlib_progress_info_scan` available to progress callbacks.
767
768 - `mkwinpeimg` now correctly handles the `--start-script` option when the start
769   script is not in the working directory.
770
771 - Sequential extraction, previously requested by using
772   `WIMLIB_EXTRACT_FLAG_SEQUENTIAL`, is now the default.
773   `WIMLIB_EXTRACT_FLAG_FILE_ORDER` can be used to get the old default behavior
774   (extract in file order).
775
776 ## Version 1.5.3
777
778 - The new LZX compressor added in v1.5.2 has been improved and is now enabled by
779   default, except when `wimcapture` or `wimappend` is run *without* the
780   `--compress` option, in which case the faster LZX compressor is used (the same
781   as before).  This behavior is reasonably consistent with ImageX which actually
782   uses "fast" (XPRESS) compression by default.  In those cases, use
783   `--compress=maximum` to explicitly capture a WIM image using the new (slower
784   but better) LZX compressor.
785
786   The `--compress-slow` option still exists to `wimlib-imagex optimize`, but its
787   new behavior is to tweak the new LZX compressor even more to produce an even
788   better compression ratio at the cost of more time spent compressing.
789
790 - `wimlib-imagex optimize` now supports the `--compress=TYPE` option, which
791   recompresses the WIM file using the specified compression TYPE.  The new
792   library API function used for this is `wimlib_set_output_compression_type()`.
793
794 - Added the `wimlib_get_xml_data()` function to allow library clients to easily
795   retrieve the raw XML data from a WIM file if needed.
796
797 - Fixed a bug that could cause an error code to be incorrectly returned when
798   writing XML data containing a `<WINDOWS>` element.
799
800 - Mounted WIM images will now correctly show the default file stream even if
801   appears in the alternate data stream entries of the corresponding WIM
802   directory entry.
803
804 ## Version 1.5.2
805
806 - Added a new experimental LZX compressor which can be enabled by passing
807   `--compress-slow` to `wimlib-imagex capture` or `wimlib-imagex optimize`.
808   (The latter is only applicable if the WIM is already LZX-compressed and the
809   `--recompress` option is also given.)  The experimental compressor is much
810   slower but compresses the data slightly more --- currently usually to within a
811   fraction of a percent of the results from WIMGAPI/ImageX.
812
813 - A workaround has been added for compatibility with versions of WinPE that
814   interpret alternate data stream entries in the boot WIM incorrectly.
815
816 - An alignment bug that caused a crash in the LZX decompressor on some builds
817   was fixed.
818
819 - wimlib now attempts to clear the `WIM_HDR_FLAG_WRITE_IN_PROGRESS` flag in the
820   WIM header when restoring the previous state of a WIM it failed to
821   successfully update.
822
823 - Added a workaround to avoid an access denied error on Windows when replacing a
824   WIM file that another process has opened.
825
826 ## Version 1.5.1
827
828 - wimlib can now open WinPE WIMs from WAIK v2.1, which had a quirk that needed
829   to be handled.
830
831 - A bug in the interpretation of negative `IMAGE` indices in the
832   `--update-of=[WIMFILE:]IMAGE` option to `wimlib-imagex capture` and
833   `wimlib-imagex append` has been fixed.
834
835 - A workaround has been added to successfully apply security descriptors with
836   empty DACLs when the NTFS-3G apply mode is being used with NTFS-3G 2013.1.13
837   or earlier.
838
839 - `wimlib-imagex capture` can now accept the `--delta-from` option multiple
840   times.
841
842 ## Version 1.5.0
843
844 - Added support for "pipable" WIMs.  Pipable WIMs allow capturing images to
845   standard output and applying images from standard input, but they are not
846   compatible with Microsoft's software and are not created by default.  See the
847   documentation for `--pipable` flag of `wimlib-imagex capture` for more
848   information.
849
850 - To better support incremental backups, added support for declaring an image as
851   a modified form of another image.  See the documentation for the `--update-of`
852   option of `wimlib-imagex append` and `wimlib-imagex capture`.
853
854 - Added supported for "delta" WIMs.  See the documentation for the
855   `--delta-from` option of `wimlib-imagex capture`.
856
857 - The library support for managing split WIMs has been changed to support other
858   arrangements, such as delta WIMs, and be easier to use.  This change is
859   visible in `wimlib-imagex`, which also can now accept the `--ref` option
860   multiple times, and also now supports "delta" WIMs as mentioned above.
861
862 - wimlib now preserves WIM integrity tables by default, even if
863   `WIMLIB_WRITE_FLAG_CHECK_INTEGRITY` is not specified.  This changes the
864   behavior of `wimlib-imagex` whenever the WIM being operated on contains
865   an integrity table and the `--check` option is not specified.
866
867 - `wimlib-imagex capture` now creates LZX-compressed WIMs by default (when
868   `--compress` is not specified).  This provides the best compression ratio by
869   default, which is usually what is desired, at a cost of some speed.
870
871 - `wimlib-imagex` now supports being invoked as `wimCOMMAND`, where `COMMAND` is
872   the command as in `wimlib-imagex COMMAND`; for example, it can be invoked as
873   `wimapply` as an alternative to `wimlib-imagex apply`.  The appropriate hard
874   links are created in UNIX installations of `wimlib-imagex`, while for the
875   Windows distribution of `wimlib-imagex`, batch files that emulate this
876   behavior are generated.
877
878 - Security descriptors are now extracted correctly on Windows.
879
880 - Fixed archiving DOS names in NTFS-3G capture mode.
881
882 - The extraction code has been rewritten and it will now be easier to support
883   new features on all supported backends (currently Win32, UNIX, and NTFS-3G).
884   For example, hard-linked extraction mode (`--hardlink`) is now supported on
885   all backends, not just UNIX.
886
887 - `mkwinpeimg` now supports grabbing files from the WAIK supplement rather
888   than the WAIK itself.
889
890 - `wimlib_global_init()` now, by default, attempts to acquire additional
891   privileges on Windows, so library clients need not do this.
892
893 - This update bumps the shared library version number up to 9, since it is not
894   binary compatibible with previous releases.
895
896 ## Version 1.4.2
897
898 - Fixed bug in `wimlib-imagex export` that made it impossible to export an image
899   from a WIM that is readonly at the filesystem level.
900
901 - Return error code rather than segfaulting when trying to list files from a
902   non-first part of a split WIM.
903
904 - Joining a WIM will now preserve the `RP_FIX` and `READONLY` flags.
905
906 ## Version 1.4.1
907
908 - On Windows, paths given to `wimlib-imagex` are now treated case insensitively.
909
910 - Improved behavior regarding invalid filenames; in particular, on Windows,
911   `wimlib-imagex` will, when extracting, now omit (with an option to override
912   this default) filenames differing only in case, or filenames containing
913   characters not valid on Windows.
914
915 - On Windows, wimlib now supports capturing and extracting long paths (longer
916   than the so-called `MAX_PATH`).
917
918 - On Windows, `wimlib-imagex update` now acquires proper privileges when running
919   as an Administrator.
920
921 - `wimlib-imagex update` will now complain if no image is specified when trying
922   to update a multi-image WIM.
923
924 - `wimlib-imagex update` now supports specifying a single update command
925   directly on the command line using the `--command` option.
926
927 - `wimlib-imagex` will now choose different units for progress messages,
928   depending on the amount of data that needs to be processed.
929
930 - `wimlib-imagex append` will now generate a unique WIM image name if no name is
931   specified and the defaulted name already exists in the WIM.
932
933 - wimlib now allows you to create unnamed WIM images, which can then only be
934   referred to by index.
935
936 - wimlib now allows you to explicitly declare you want write access to a WIM by
937   providing the `WIMLIB_OPEN_FLAG_WRITE_ACCESS` flag to `wimlib_open_wim()`.
938
939 - wimlib now respects the `WIM_HDR_FLAG_READONLY` flag when set in the WIM header.
940
941 - Progress callbacks have been added to wimlib's `wimlib_update_image()`
942   function.
943
944 - Added `wimlib_get_wim_info()`, `wimlib_set_wim_info()`,
945   `wimlib_iterate_dir_tree()`, and `wimlib_iterate_lookup_table()` functions to
946   the library.
947
948 - NTFS-3G capture now only warns about two conditions previously treated as
949   errors.
950
951 - Fixed a couple issues with using `wimlib-imagex` on UDF filesystems on
952   Windows.
953
954 - wimlib now correctly detects and returns an error when reading a WIM image
955   with a cyclic directory structure.  (Fun fact: such a WIM will crash
956   Microsoft's software.)
957
958 ## Version 1.4.0
959
960 - Added new "extract" and "update" subcommands to `wimlib-imagex`, along with
961   associated APIs in the library.  These commands are intended mainly for
962   Windows use but can be used on UNIX as well.
963
964 - Many documentation improvements.
965
966 - Fixed a bug in the Windows build where relative symbolic links were not
967   captured in reparse-point fixup mode.
968
969 - Fixed a bug in the Windows build where file handles were left open to the WIM
970   file, causing `wimlib-imagex optimize` to fail in some cases.
971
972 - Fixed a bug in the Windows build of `wimlib-imagex` where globbing split-WIM
973   parts could cause the program to crash.
974
975 - Fixed a bug where the creation time of WIM images would be shown instead of
976   the last modification time.
977
978 - With the Windows build it is now possible to restore a WIM containing symbolic
979   links as a non-Administrator; however you will receive warnings about not
980   being able to extract the symbolic links.
981
982 ## Version 1.3.3
983
984 - Capturing a WIM image should now be significantly faster in most cases due to
985   improved use of the operating system's cache and avoiding reading files twice
986   whenever possible.
987
988 - The Windows build should now work on Windows XP.
989
990 - The Windows build now supports capturing and restoring hidden, compressed,
991   sparse, and encrypted files.
992
993 - The Windows build now supports capturing and applying WIM images from
994   filesystems other than NTFS (with some reduced functionality).
995
996 - The Windows build now extracts short names correctly.
997
998 - Added support for "reparse-point" fixups (i.e. fixing up of symbolic links).
999   See docs for `--rpfix` and `--norpfix` flags of `wimlib-imagex capture` and
1000   `wimlib-imagex apply`.
1001
1002 - The performance of splitting and joining WIMs should be slightly improved.
1003
1004 - The LZX and XPRESS compression and decompression functions are now exported
1005   from the library.
1006
1007 ## Version 1.3.2
1008
1009 - Improvements and bugfixes for the Windows build.
1010
1011 - Added `--strict-acls` options.
1012
1013 - Fixed the way that wimlib determines the order of images in the WIM.
1014
1015 ## Version 1.3.1
1016
1017 - Since wimlib can now be used on Windows, wimlib's implementation of ImageX has
1018   been renamed to `wimlib-imagex` to avoid confusion with Microsoft's
1019   implementation of ImageX, which would have the same file name (`imagex.exe`).
1020   If you really don't like this you can pass the `--with-imagex-progname` option
1021   to `configure` to choose a different name, or even simply rename the binary
1022   yourself (but the former way will configure the man pages to use the chosen
1023   name).
1024
1025 - Various bugs fixed in the Windows build.  Mainly to do with capturing and
1026   restoring alternate data streams correctly in weird cases, and requesting the
1027   correct privileges when opening files.  Also added the `--noacls` options to
1028   `wimlib-imagex` capture, append, and apply.
1029
1030 - Windows build again: `FindFirstStreamW()` and `FindNextStreamW()` are now
1031   dynamically loaded, so this may make the library compatible with Windows XP
1032   (however, there may still be other problems).
1033
1034 ## Version 1.3.0
1035
1036 - Added experimental support for native Windows builds.  Binaries can be
1037   downloaded from the SourceForge page.
1038
1039 - `--source-list` option added to `imagex capture` and `imagex append`.
1040
1041 - Better support for different character encodings.
1042
1043 ## Version 1.2.6
1044
1045 - Storing UNIX file owners, groups, and modes in WIM images is now
1046 - possible using `imagex capture` with the `--unix-data` flag.
1047
1048 - Minor bug fixes and documentation fixes.
1049
1050 ## Version 1.2.5
1051
1052 - NTFS capture: Fixed capturing duplicate reparse points.
1053
1054 - NTFS capture: Capture first unnamed stream if there are more than one (print
1055   warning instead of error).
1056
1057 - Allow multiple test cases to execute concurrently (e.g. `make -j2 check`).
1058
1059 ## Version 1.2.4
1060
1061 - Added `--arch` switch to mkwinpeimg script to support getting AMD64 WinPE from
1062   the WAIK.
1063
1064 - Update to work with ntfs-3g version 2013.1.13.
1065
1066 ## Version 1.2.3
1067
1068 - Fixed truncating file to shorter but non-zero length on read-write mounted WIM
1069   image.
1070
1071 - Various code cleanups and minor documentation fixes.
1072
1073 ## Version 1.2.2
1074
1075 - LZX and XPRESS decompression have received some additional optimizations and
1076   should now be even faster.  (Although, they were already pretty fast --- much
1077   faster than typical I/O speeds.)
1078
1079 - Fixed a bug introduced in v1.2.1 that would cause a directory tree containing
1080   hard links to be captured incorrectly in some cases.
1081
1082 ## Version 1.2.1
1083
1084 - By default, unmounting a read-write mounted WIM with `imagex unmount --commit`
1085   will now change the WIM in-place without needing to write the entire WIM
1086   again.  Use `imagex unmount --commit --rebuild` to get the old behavior.
1087
1088 - `imagex unmount` no longer has a hard-coded limit of 10 minutes to wait for a
1089   response from the daemon servicing the mounted WIM.  Instead, every second
1090   `imagex unmount` will check if the daemon is still alive, and keep waiting if
1091   so, otherwise terminate with an error.
1092
1093 - `imagex unmount --commit` on a read-write mounted WIM will now print progress
1094   information regarding the writing of new or modified streams the WIM, just
1095   like when capturing or appending a WIM.
1096
1097 - A small change has been made to XPRESS compression and it should improve the
1098   compression ratio slightly.
1099
1100 - A change was made that may improve performance slightly when applying a WIM
1101   image to a NTFS volume.
1102
1103 - Microsoft has managed to introduce even more bugs into their software, and now
1104   the WIMs for Windows 8 have incorrect (too low) reference counts for some
1105   streams.  This is unsafe because such streams can be removed when they are in
1106   actuality still referenced in the WIM (perhaps by a different image).  wimlib
1107   will now work around this problem by fixing the stream reference counts.  This
1108   is only done when `wimlib_delete_image()` is called (`imagex delete`) or when
1109   `wimlib_mount_image()` is called with `WIMLIB_MOUNT_FLAG_READWRITE` (`imagex
1110   mountrw`).  Please note that this requires reading the metadata for all images
1111   in the WIM, so this will make these operations noticably slower on WIMs with
1112   multiple images.
1113
1114 - Various other bugfixes.
1115
1116 ## Version 1.2.0
1117
1118 - Appending images to a WIM is now be done by default without re-building the
1119   whole WIM.  Use the `--rebuild` flag to get the old behavior (which was to
1120   re-build the entire WIM when a new image is appended).
1121
1122 - A new command `imagex optimize` is now available to manually re-build a WIM
1123   that has wasted space due to repeated appends.
1124
1125 - Progress information has been improved, and now arbitrary callback functions
1126   can be used to show the progress of a WIM operation.
1127
1128 - A possible bug with changing the bootable image of a WIM was fixed.
1129
1130 - Some advisory locking is now done to prevent two processes from modifying a
1131   WIM at the same time (but only in some cases).  For example, you cannot mount
1132   two images from a WIM read-write at the same time.
1133
1134 - Some functions have been reorganized:
1135   - `wimlib_mount()` renamed to `wimlib_mount_image()`.
1136   - `wimlib_unmount()` renamed to `wimlib_unmount_image()`.
1137   - `wimlib_overwrite_xml_and_header()` removed as `wimlib_overwrite()` suffices
1138     now.
1139   - `wimlib_apply_image_to_ntfs_volume()` removed as `wimlib_extract_image()`
1140     suffices now.
1141   - `wimlib_add_image_from_ntfs_volume()` removed as `wimlib_add_image()`
1142     suffices now.
1143
1144 - Previously, the soname of libwim.so has been 0.0.0, despite many interface
1145   changes.  The soname is now updated to 1.0.0 and will now be updated each
1146   release.
1147
1148 ## Version 1.1.0
1149
1150 - Resources will now be compressed using multiple threads by default.  (This
1151   applies to `imagex capture`, `imagex append`, and `imagex export`).
1152
1153 - Some performance improvements in mounted WIMs.
1154
1155 - More progress information is shown when capturing a WIM.
1156
1157 ## Version 1.0.4
1158
1159 - Lots of minor fixes, code cleanups, and some documentation updates.  Nothing
1160   in particular is really noteworthy.
1161
1162 ## Version 1.0.3
1163
1164 - LZX and XPRESS compression improvements.
1165
1166 - Fixed calculation of Directory Count, File Count, Total Bytes, and Hard Link
1167   Bytes of the WIM.
1168
1169 ## Version 1.0.2
1170
1171 - Fixed bug when capturing NTFS file with multiple named data streams.
1172
1173 - Internally, we are now using inode structures, even though these don't appear
1174   literally in the WIM file.  This simplifies some of the code (mainly for WIM
1175   mounting) and likely fixed a few problems, although it needs more testing.
1176
1177 ## Version 1.0.1
1178
1179 - Fixed problem when exporting images from XPRESS to LZX compressed WIM or vice
1180   versa
1181
1182 ## Version 1.0.0
1183
1184 - Enough changes to call it version 1.0.0!
1185
1186 - Capturing a WIM directly from a NTFS volume, and applying a WIM directly to a
1187   NTFS volume, is now supported.
1188
1189 - Hard links and symbolic links have much improved support.  They are supported
1190   for WIM capture, WIM application, and mounted WIMs (you can even make them on
1191   read-write mounted WIMs).
1192
1193 - Alternate data streams are now supported on mounted WIMs through an xattr or a
1194   Windows-style stream interface.  Also they are supported when capturing a WIM
1195   from NTFS or applying a WIM to NTFS.
1196
1197 - Split WIMs are better supported.  You may now apply an image directly from a
1198   split WIM, mount an image from a split WIM read-only, or export an image from
1199   a split WIM.
1200
1201 - Using a capture configuration file is now supported (but not fully yet).
1202
1203 - SHA1 message digests are checked in more places, so we can make sure applied
1204   and captured data is correct.
1205
1206 - Man pages have been updated and consolidated.
1207
1208 ## Version 0.7.2
1209
1210 - Fixed segfault when unmounting read-only WIM.
1211
1212 ## Version 0.7.1
1213
1214 - Support for joining and splitting WIMs.
1215
1216 - Also, security data is now preserved by default.
1217
1218 ## Version 0.6.3
1219
1220 - Can now build with older gcc and system headers, like on CentOS 5.
1221
1222 ## Version 0.6.2
1223
1224 - Fixed bug that made it impossible to overwrite files in read-write mount.
1225
1226 ## Version 0.6.1
1227
1228 - Write byte-order mark before WIM XML data.  (`imagex.exe` requires this to be
1229   there.)