1New in 1.9
2* Fixed invisible bad extraction when using cabextract -F (broken in 1.8)
3* Fixed configure --with-external-libmspack which was broken in 1.8
4* configure --with-external-libmspack will now use pkg-config. To configure
5  it manually, set environment variables libmspack_CFLAGS and libmspack_LIBS
6  before running configure.
7* Now includes the test suite (make check)
8
9New in 1.8
10* cabextract -f now extracts even more badly damaged files than before
11
12New in 1.7
13* cabextract now supports an --encoding parameter, to specify the character
14  encoding of CAB filenames if they are not ASCII or UTF8
15* cabextract -L now lowercases non-ASCII characters
16
17New in 1.6
18* cabextract now prevents archive files giving themselves absolute path access
19  using badly UTF-8 encoded slashes.
20* Because Cygwin allows both '/' and '\' as path separators, cabextract now
21  removes both leading '/'s and '\'s and changes both "../" and "..\" in
22  CAB filenames to "xx".  You can no longer have a CAB filename called e.g
23  "\/t" (file "t" in the directory "\"). If you need this, create a CAB file
24  where the filename is "./\/t" instead.
25
26New in 1.5
27* cabextract replaces bad Unicode characters in filenames with the
28  standard Unicode replacement character
29* wince_rename now puts files under the correct installation path
30* Several crashes and hangs were found by Debian project members
31  using the afl (American fuzzy lop) tool to generate corrupt
32  cabinet files. These crashes and hangs have been fixed.
33
34New in 1.4:
35* A bug in the LZX decompressor was fixed.
36* cabextract is now more tolerant when processing cabinet sets.
37* cabextract is now compatible with even more compilers, and
38  now supports 64-bit file I/O on platforms where it's completely
39  native, like Mac OS X 10.6 and Fedora x86_64.
40* cabextract will no longer print "library not compiled to support
41  large files" while reading small files.
42* The Windows CE installation format document was improved.
43
44New in 1.3:
45* Bugs in the MS-ZIP and Quantum decompressors have been fixed.
46* MS-ZIP recovery has been improved.
47* cabextract should now compile with MinGW
48
49New in 1.2:
50* "-t" option: Allows you to test that every file can be extracted without
51  having to extract it. This also prints the MD5 checksum of the file.
52* UTF-8 filenames are now decoded correctly.
53* Large files (>2GB) are now searched correctly for cabinets.
54* Problems with the GNU library code have been fixed.
55* Several bugs in the LZX and Quantum decompressors have been fixed.
56
57New in 1.1:
58* A security vulnerability has been fixed. If the files within a cabinet
59  file include the directory ".." in their filename, this will be changed to
60  "xx", to prevent directory traversal by a malicious cabinet (e.g. a cabinet
61  with "..\etc\passwd", "..\..\etc\passwd" and so on)
62* The GNU library code used has been upgraded to the latest from libiberty,
63  so it should now work better with Cygwin.
64* cabextract should now compile cleanly on AIX.
65
66New in 1.0:
67* The libmspack library is used for all the hard work. You should find
68  cabextract more robust, and fractionally faster. See the libmspack website
69  at https://www.cabextract.org.uk/libmspack/ for more on this library.
70* Fixed a bug (now moved to libmspack) where CAB files that had two kinds of
71  compression would crash.
72* CAB files should no longer get "/" and "\" mixed up, even with non
73  MS-DOS cabinet files created by tools like Powerarchiver and Cablinux.
74* Now ignores CAB files listed on the command line that have already been
75  used as part of a multipart set. You can now type "cabextract *.cab" on
76  your Win95 cabinet set, and cabextract will not extract all the files
77  sixty times over.
78* Now supports reading and extracting large (more than 2Gb) files.
79* "-L" option: viewing the archive pays attention to the "-L" flag, and
80  shows the filenames in lowercase.
81* "-L" option: cabextract now correctly lowercases cabinet files with
82  Unicode filenames.
83* "-l" option: viewing the archive should always show forward slashes as
84  directory seperators.
85* "-F" option: Now you can choose which files are extracted from the cab.
86  For example, "cabextract -F '*.wav' music.cab" extracts only WAV files.
87* "-s" option: Now you can limit which multipart cabinets are used. For
88  example, "cabextract -s WIN98_5*.CAB" will only extract files from
89  WIN98_50.CAB through WIN98_59.CAB.
90* "-p" option: Now you can extract files to stdout rather than disk.
91* Now comes with an experimental "wince_info" and "wince_rename" perl
92  scripts in the src/ directory, for examining and processing Windows CE
93  installation cabinet header files. There is also the "cabinfo" command
94  for examining the structure of a cab file. As this information is not
95  very useful to most people, none of these three tools are installed.
96* Both the English and Japanese manual page have been updated.
97* cabextract now alerts you if you try to unpack InstallShield cabinets.
98* The definition of Microsoft cabinet files for UNIX's "magic" file, in
99  doc/magic, has been fixed, and a definition of Windows CE install cabinet
100  header files has also been added.
101
102New in 0.6:
103* Quantum method is now supported! Many thanks to Matthew Russotto for this.
104* Fixed more build problems on non-glibc systems. I have now followed the
105  'FSF approved' method for including getopt_long, so hopefully Solaris
106  and all the other OSes won't have a problem building cabextract any
107  more.
108* Japanese manual page included -- you will have to install the file
109  ja/cabextract.1 by yourself, it's not part of the install process.
110* Now searches for spanning cabinet files in a case-insensitive way. It
111  also searches in both directions for spanned cabinets (each spanned
112  cabinet can include a 'previous' and 'next' cabinet filename), so you
113  can also specify a cabinet in the middle of a set and get the full set,
114  rather than have to work out what the first cabinet is.
115* An off-by-one month error in file dates was fixed.
116* Cabinets with files beginning with "/" (or rather, "\") no longer
117  extract to your root directory.
118* A better embeded cabinet search algorithm was introduced for finding
119  those elusive cabinets in files and executables :)
120* Now you can find more than one cabinet in a file (if there is
121  more than one to find), and it will be extracted or listed as normal.
122* Files and directories created now honour your umask settings.
123* Errors and warnings are now printed to stderr.
124
125New in 0.5:
126* Fixed build problems on non-glibc systems.
127
128New in 0.4:
129* Fixed a new bug I added by myself to 0.3... :) It corrupts all MS-ZIP
130  compressed cabinets after the first 32k, and it should be very obvious
131  that corruption has taken place.
132* cabextract should be happier building on Cygwin and other such
133  architectures -- you should be able to "./configure; make; make install"
134  again. This was broken in 0.3 due to the getopt.c / getopt1.c weirdness
135  I copied from GNU hello.
136* Now prints 'Finished processing cabinet.' after completing the extraction
137  a cabinet.
138
139New in 0.3:
140* Fixed very rare, but invisible decrunching bug... if you have any
141  important things you extracted with cabextract, extract them again
142  to be sure they're not corrupt.
143* cabextract now tells you if a file isn't a cabinet file.
144* cabextract now goes on to the next file, if extracting one fails.
145* cabextract now goes on to the next cabinet, if extracting one fails.
146* cabextract lets you try to 'fix' some cabinets by skipping over bad
147  blocks rather than failing on them. If you have a corrupt cabinet, try
148  the '-f' option, and see how it goes.
149* Use the new '-d dir' option to extract cabinets to a given directory.
150* Use the new '-L' option to turn the extracted filenames to lowercase.
151* Use the new '-q' option to be quiet while extracting archives.
152* cabextract now prints more information while it's probing multi-part
153  cabinets
154
155New in 0.2:
156* new even-easier installation: ./configure; make; make install
157* Extracted files now have their timestamps set
158* Fixed bug which occured when extracting tiny files
159* Fixed completely invisible intel E8 decoding bug... if you have any
160  important things you extracted with cabextract, extract them again
161  to be sure they're not corrupt.
162* cabinet search extended to look through *any* file for cabinets, not
163  just MS-DOS/Windows executables.
164* Now looks for multipart cabinets in the same directory as the base cabinet.
165  This means you can do stuff like 'cd /tmp && cabextract /cdrom/part01.cab'
166
167New in 0.1:
168* supports MSZIP and LZX compression methods
169* supports split cabs and cabs embedded in executables
170* initial release
171