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