win32_set_special_attributes(): Skip compression IOCTL on encrypted files
[wimlib] / ChangeLog
1 5-1-2012        Eric Biggers    <ebiggers3@gmail.com>
2         * WIMLIB version 0.6.3
3
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.
8
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
12         other issues
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.
29
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
45
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
57         them.
58         * Many files: Moved some stuff from wimlib_internal.h to dentry.h, lookup_table.h,
59         and xml.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.
65
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'
72         directory.
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
86         slightly.
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
89         libc.
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.
100
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
107         ISO.
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
114
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
120
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
124         systems
125
126 3-25-2012       Eric Biggers    <ebiggers3@gmail.com>
127         versions 0.4 through 0.4.5
128         Rewrote the library.
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
144
145 12-31-2010      Carl Thijssen
146         version 0.2
147         Wrote the original library.