1 4-22-2012 Eric Biggers <ebiggers3@gmail.com>
3 * extract_resource_to_staging_dir(): Fixed infinite loop and a couple
5 * util.c: Added full_write() function to handle the case where write()
6 succeeds but returns a short count (which is supposed to be allowed.)
7 * read_xml_data(): Move call to xmlCleanupParser() to end, so that
8 libxml releases all allocated memory after writing the XML data.
9 * sha1.c, sha1.h: Functions local to sha1.c now declared static in
10 sha1.c instead of extern in sha1.h. Also adjusted indentation.
11 * sha1.c, sha1.h, configure.ac, src/Makefile.am: Allow using SHA1
12 functions from libcrypto, part of OpenSSL. Enabled by default if
13 detected. Note: The OpenSSL code is a little faster.
14 * sha1-ssse3.asm, sha1.c, configure.ac, src/Makefile.am: Allow using
15 SSSE3-accelerated SHA1 block update code from Intel. Give
16 --enable-ssse3-sha1 to configure to enable this. This is currently even
17 faster than the OpenSSL code but doesn't work on all CPUs.
18 * create_staging_file(): Return -1 and set errno when out of memory.
19 * dentry_to_stbuf(): Fill in st_blocks field.
20 * Various files: Minor fixes in comments.
22 4-16-2012 Eric Biggers <ebiggers3@gmail.com>
23 * WIMLIB version 0.6.1
24 * write_xml_data(): Write byte order mark (0xfffe) before XML data.
25 Microsoft's imagex.exe cannot open a WIM without this marker, even
26 though Windows PE can boot from it. Perhaps Microsoft's WIM driver
27 doesn't check the XML data, but imagex.exe does.
28 * finish_write(), wimlib_add_image(), wimlib_set_boot_idx(): Make the
29 boot metadata entry in the WIM header point to the metadata for the
30 bootable image (if there is one) rather than the first image.
31 * calculate_dentry_statistics(): Do not count the root directory as a
32 directory for the purposes of the <DIRCOUNT> XML element.
33 * write_metadata_resource(): Calculate SHA1 message digest of
34 uncompressed metadata resource to use as the hash value.
35 * wimlib_internal.h, wimlib.h, various other files: Some documentation
36 and coding style fixes
38 4-14-2012 Eric Biggers <ebiggers3@gmail.com>
39 * WIMLIB version 0.6.0
40 * Many files: Most functions now return an 'int' error code instead of a boolean.
41 * Many files: xmalloc() and xstrdup() have been gotten rid of, so that
42 the library can cleanly return an error code if memory is exhausted. In
43 addition, wimlib can use a custom malloc() and free() by passing them to
44 wimlib_set_memory_allocator().
45 * Many files: Some functions now take an int `flags' parameter as a bitwise OR of
46 flags defined in wimlib.h, rather than one or more boolean parameters.
47 * Many files: Removed code dealing with security data and streams- wimlib didn't
48 actually anything with them anyway, and there are no plans to support
50 * Many files: Moved some stuff from wimlib_internal.h to dentry.h, lookup_table.h,
52 * wim.c, wimlib.h: New wimlib_has_integrity_table() function in public API.
53 * xml.c, wim.c: Stricter checking to make sure every image has a name.
54 * wim.c, dentry.c: Fixed some memory leaks.
55 * extract.c: Fixed symlinks for extracting images.
56 * wimlib.h: Fixed and updated the documentation.
58 4-8-2012 Eric Biggers <ebiggers3@gmail.com>
59 * WIMLIB version 0.5.0
60 * doc/Makefile.am, doc/Doxyfile, wimlib.h: There is now documentation
61 for wimlib's API. Every public function in wimlib.h is documented with
62 a Doxygen comment. The documentation is not yet built or installed
63 automatically. Build it manually by running `doxygen' in the `doc'
65 * xpress-comp.c: Fixed "error" in XPRESS compression (M$'s software
66 expects magic symbol at end of compressed data).
67 * lz.c: Improved the performance of the LZX and XPRESS compressors, and
68 the size of the compressed output, by using a hash table to help find
69 matches, and by doing lazy evaluation of matches to find better matches,
70 like in zlib. See lz.c.
71 * configure.ac, mount.c: It is now possible to pass `--without-fuse' to
72 the configuration script to build wimlib without libfuse, making the
73 wimlib_mount() and wimlib_unmount() functions unavailable.
74 * various files: More functions now return failure if passed invalid
75 parameters rather than aborting with an assertion failure.
76 * wim.c: A few functions such as wimlib_begin_read() are now internal
77 rather than part of the public API, in order to simplify the public API
79 * configure.ac, m4/iconv.m4: The configure script now checks for the
80 presence of the iconv() function rather than assuming it is available in
82 * configure.ac: Compression verification added to the configure script
83 and enabled by default (at least for now). Use
84 `--disable-verify-compression' to disable this.
85 * README: Added "PORTABILITY" section.
86 * resource.c: Removed unused get_wim_resource() and
87 extract_full_resource_to_fd() functions.
88 * mount.c: Testing with glibc 2.15 on x86 produced a weird error where
89 mq_getattr() returned a Function Not Implemented error. To make
90 mounting still have a chance at working, the code now sets the message
91 queue size to 8192 if mq_getattr() doesn't work.
93 3-31-2012 Eric Biggers <ebiggers3@gmail.com>
94 * WIMLIB version 0.4.8
95 * xpress-comp.c, xpress-decomp.c, xpress.h: Support for XPRESS
96 compression and decompression
97 * mkwinpeimg: Renamed `mkwinpeiso' to `mkwinpeimg', and made it support
98 making a bootable disk image or plain WIM file as well as a bootable
100 * lzx-decomp.c, lzx-comp.c, huffman.c, decomp.c, comp.c, comp.h,
101 decomp.h: Factored some code out of lzx-decomp.c and lzx-comp.c into
102 huffman.c, decomp.c, comp.c, comp.h and decomp.h.
103 * mount.c: Increased timeout on imagex unmount to 600 seconds (need a
104 better solution for this!!)
105 * doc/imagex-*.1: Updated the documentation in various places
107 3-29-2012 Eric Biggers <ebiggers3@gmail.com>
108 * WIMLIB version 0.4.7
109 * mount.c: Fixed bug that prevented read-write mounts from successfully
110 committing after existing files in the WIM were modified
111 * mount.c: Increased timeout on imagex unmount to 30 seconds
113 3-29-2012 Eric Biggers <ebiggers3@gmail.com>
114 * WIMLIB version 0.4.6
115 * lzx-decomp.c: Fixed bug made LZX decompression not work on 32 bit
118 3-25-2012 Eric Biggers <ebiggers3@gmail.com>
119 versions 0.4 through 0.4.5
121 - wimlib now uses GNU autoconf and builds a real shared library.
122 - Removed the `wiminfo', `wimxmlinfo', `updatewim', and
123 `wimextract' programs in favor of the `imagex' program
124 - Support for multi-image WIMs
125 - Support for the XML data using libxml2
126 - Support for integrity table
127 - Included SHA1 code from GNU coreutils
128 - Much more error checking.
129 - Library is more reusable
130 - Lookup table is now a hash table rather than a sorted array.
131 - Got rid of the wide to ascii and ascii to wide functions; really what
132 we want is functions that convert UTF-8 to UTF-16, and vice versa.
133 This was fairly easy to do using the POSIX-specified iconv() function.
134 - Rewrote lzx.c and moved it to lzx-decomp.c
135 - Added lzx-comp.c for LZX compression
137 12-31-2012 Carl Thijssen
139 Wrote the original library.