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