1 | |
---|
2 | |
---|
3 | 0.9.0 |
---|
4 | ~~~~~ |
---|
5 | First version. |
---|
6 | |
---|
7 | |
---|
8 | 0.9.0a |
---|
9 | ~~~~~~ |
---|
10 | Removed 'ranlib' from Makefile, since most modern Unix-es |
---|
11 | don't need it, or even know about it. |
---|
12 | |
---|
13 | |
---|
14 | 0.9.0b |
---|
15 | ~~~~~~ |
---|
16 | Fixed a problem with error reporting in bzip2.c. This does not effect |
---|
17 | the library in any way. Problem is: versions 0.9.0 and 0.9.0a (of the |
---|
18 | program proper) compress and decompress correctly, but give misleading |
---|
19 | error messages (internal panics) when an I/O error occurs, instead of |
---|
20 | reporting the problem correctly. This shouldn't give any data loss |
---|
21 | (as far as I can see), but is confusing. |
---|
22 | |
---|
23 | Made the inline declarations disappear for non-GCC compilers. |
---|
24 | |
---|
25 | |
---|
26 | 0.9.0c |
---|
27 | ~~~~~~ |
---|
28 | Fixed some problems in the library pertaining to some boundary cases. |
---|
29 | This makes the library behave more correctly in those situations. The |
---|
30 | fixes apply only to features (calls and parameters) not used by |
---|
31 | bzip2.c, so the non-fixedness of them in previous versions has no |
---|
32 | effect on reliability of bzip2.c. |
---|
33 | |
---|
34 | In bzlib.c: |
---|
35 | * made zero-length BZ_FLUSH work correctly in bzCompress(). |
---|
36 | * fixed bzWrite/bzRead to ignore zero-length requests. |
---|
37 | * fixed bzread to correctly handle read requests after EOF. |
---|
38 | * wrong parameter order in call to bzDecompressInit in |
---|
39 | bzBuffToBuffDecompress. Fixed. |
---|
40 | |
---|
41 | In compress.c: |
---|
42 | * changed setting of nGroups in sendMTFValues() so as to |
---|
43 | do a bit better on small files. This _does_ effect |
---|
44 | bzip2.c. |
---|
45 | |
---|
46 | |
---|
47 | 0.9.5a |
---|
48 | ~~~~~~ |
---|
49 | Major change: add a fallback sorting algorithm (blocksort.c) |
---|
50 | to give reasonable behaviour even for very repetitive inputs. |
---|
51 | Nuked --repetitive-best and --repetitive-fast since they are |
---|
52 | no longer useful. |
---|
53 | |
---|
54 | Minor changes: mostly a whole bunch of small changes/ |
---|
55 | bugfixes in the driver (bzip2.c). Changes pertaining to the |
---|
56 | user interface are: |
---|
57 | |
---|
58 | allow decompression of symlink'd files to stdout |
---|
59 | decompress/test files even without .bz2 extension |
---|
60 | give more accurate error messages for I/O errors |
---|
61 | when compressing/decompressing to stdout, don't catch control-C |
---|
62 | read flags from BZIP2 and BZIP environment variables |
---|
63 | decline to break hard links to a file unless forced with -f |
---|
64 | allow -c flag even with no filenames |
---|
65 | preserve file ownerships as far as possible |
---|
66 | make -s -1 give the expected block size (100k) |
---|
67 | add a flag -q --quiet to suppress nonessential warnings |
---|
68 | stop decoding flags after --, so files beginning in - can be handled |
---|
69 | resolved inconsistent naming: bzcat or bz2cat ? |
---|
70 | bzip2 --help now returns 0 |
---|
71 | |
---|
72 | Programming-level changes are: |
---|
73 | |
---|
74 | fixed syntax error in GET_LL4 for Borland C++ 5.02 |
---|
75 | let bzBuffToBuffDecompress return BZ_DATA_ERROR{_MAGIC} |
---|
76 | fix overshoot of mode-string end in bzopen_or_bzdopen |
---|
77 | wrapped bzlib.h in #ifdef __cplusplus ... extern "C" { ... } |
---|
78 | close file handles under all error conditions |
---|
79 | added minor mods so it compiles with DJGPP out of the box |
---|
80 | fixed Makefile so it doesn't give problems with BSD make |
---|
81 | fix uninitialised memory reads in dlltest.c |
---|
82 | |
---|
83 | 0.9.5b |
---|
84 | ~~~~~~ |
---|
85 | Open stdin/stdout in binary mode for DJGPP. |
---|
86 | |
---|
87 | 0.9.5c |
---|
88 | ~~~~~~ |
---|
89 | Changed BZ_N_OVERSHOOT to be ... + 2 instead of ... + 1. The + 1 |
---|
90 | version could cause the sorted order to be wrong in some extremely |
---|
91 | obscure cases. Also changed setting of quadrant in blocksort.c. |
---|
92 | |
---|
93 | 0.9.5d |
---|
94 | ~~~~~~ |
---|
95 | The only functional change is to make bzlibVersion() in the library |
---|
96 | return the correct string. This has no effect whatsoever on the |
---|
97 | functioning of the bzip2 program or library. Added a couple of casts |
---|
98 | so the library compiles without warnings at level 3 in MS Visual |
---|
99 | Studio 6.0. Included a Y2K statement in the file Y2K_INFO. All other |
---|
100 | changes are minor documentation changes. |
---|
101 | |
---|
102 | 1.0 |
---|
103 | ~~~ |
---|
104 | Several minor bugfixes and enhancements: |
---|
105 | |
---|
106 | * Large file support. The library uses 64-bit counters to |
---|
107 | count the volume of data passing through it. bzip2.c |
---|
108 | is now compiled with -D_FILE_OFFSET_BITS=64 to get large |
---|
109 | file support from the C library. -v correctly prints out |
---|
110 | file sizes greater than 4 gigabytes. All these changes have |
---|
111 | been made without assuming a 64-bit platform or a C compiler |
---|
112 | which supports 64-bit ints, so, except for the C library |
---|
113 | aspect, they are fully portable. |
---|
114 | |
---|
115 | * Decompression robustness. The library/program should be |
---|
116 | robust to any corruption of compressed data, detecting and |
---|
117 | handling _all_ corruption, instead of merely relying on |
---|
118 | the CRCs. What this means is that the program should |
---|
119 | never crash, given corrupted data, and the library should |
---|
120 | always return BZ_DATA_ERROR. |
---|
121 | |
---|
122 | * Fixed an obscure race-condition bug only ever observed on |
---|
123 | Solaris, in which, if you were very unlucky and issued |
---|
124 | control-C at exactly the wrong time, both input and output |
---|
125 | files would be deleted. |
---|
126 | |
---|
127 | * Don't run out of file handles on test/decompression when |
---|
128 | large numbers of files have invalid magic numbers. |
---|
129 | |
---|
130 | * Avoid library namespace pollution. Prefix all exported |
---|
131 | symbols with BZ2_. |
---|
132 | |
---|
133 | * Minor sorting enhancements from my DCC2000 paper. |
---|
134 | |
---|
135 | * Advance the version number to 1.0, so as to counteract the |
---|
136 | (false-in-this-case) impression some people have that programs |
---|
137 | with version numbers less than 1.0 are in some way, experimental, |
---|
138 | pre-release versions. |
---|
139 | |
---|
140 | * Create an initial Makefile-libbz2_so to build a shared library. |
---|
141 | Yes, I know I should really use libtool et al ... |
---|
142 | |
---|
143 | * Make the program exit with 2 instead of 0 when decompression |
---|
144 | fails due to a bad magic number (ie, an invalid bzip2 header). |
---|
145 | Also exit with 1 (as the manual claims :-) whenever a diagnostic |
---|
146 | message would have been printed AND the corresponding operation |
---|
147 | is aborted, for example |
---|
148 | bzip2: Output file xx already exists. |
---|
149 | When a diagnostic message is printed but the operation is not |
---|
150 | aborted, for example |
---|
151 | bzip2: Can't guess original name for wurble -- using wurble.out |
---|
152 | then the exit value 0 is returned, unless some other problem is |
---|
153 | also detected. |
---|
154 | |
---|
155 | I think it corresponds more closely to what the manual claims now. |
---|
156 | |
---|
157 | |
---|
158 | 1.0.1 |
---|
159 | ~~~~~ |
---|
160 | * Modified dlltest.c so it uses the new BZ2_ naming scheme. |
---|
161 | * Modified makefile-msc to fix minor build probs on Win2k. |
---|
162 | * Updated README.COMPILATION.PROBLEMS. |
---|
163 | |
---|
164 | There are no functionality changes or bug fixes relative to version |
---|
165 | 1.0.0. This is just a documentation update + a fix for minor Win32 |
---|
166 | build problems. For almost everyone, upgrading from 1.0.0 to 1.0.1 is |
---|
167 | utterly pointless. Don't bother. |
---|
168 | |
---|
169 | |
---|
170 | 1.0.2 |
---|
171 | ~~~~~ |
---|
172 | A bug fix release, addressing various minor issues which have appeared |
---|
173 | in the 18 or so months since 1.0.1 was released. Most of the fixes |
---|
174 | are to do with file-handling or documentation bugs. To the best of my |
---|
175 | knowledge, there have been no data-loss-causing bugs reported in the |
---|
176 | compression/decompression engine of 1.0.0 or 1.0.1. |
---|
177 | |
---|
178 | Note that this release does not improve the rather crude build system |
---|
179 | for Unix platforms. The general plan here is to autoconfiscate/ |
---|
180 | libtoolise 1.0.2 soon after release, and release the result as 1.1.0 |
---|
181 | or perhaps 1.2.0. That, however, is still just a plan at this point. |
---|
182 | |
---|
183 | Here are the changes in 1.0.2. Bug-reporters and/or patch-senders in |
---|
184 | parentheses. |
---|
185 | |
---|
186 | * Fix an infinite segfault loop in 1.0.1 when a directory is |
---|
187 | encountered in -f (force) mode. |
---|
188 | (Trond Eivind Glomsrod, Nicholas Nethercote, Volker Schmidt) |
---|
189 | |
---|
190 | * Avoid double fclose() of output file on certain I/O error paths. |
---|
191 | (Solar Designer) |
---|
192 | |
---|
193 | * Don't fail with internal error 1007 when fed a long stream (> 48MB) |
---|
194 | of byte 251. Also print useful message suggesting that 1007s may be |
---|
195 | caused by bad memory. |
---|
196 | (noticed by Juan Pedro Vallejo, fixed by me) |
---|
197 | |
---|
198 | * Fix uninitialised variable silly bug in demo prog dlltest.c. |
---|
199 | (Jorj Bauer) |
---|
200 | |
---|
201 | * Remove 512-MB limitation on recovered file size for bzip2recover |
---|
202 | on selected platforms which support 64-bit ints. At the moment |
---|
203 | all GCC supported platforms, and Win32. |
---|
204 | (me, Alson van der Meulen) |
---|
205 | |
---|
206 | * Hard-code header byte values, to give correct operation on platforms |
---|
207 | using EBCDIC as their native character set (IBM's OS/390). |
---|
208 | (Leland Lucius) |
---|
209 | |
---|
210 | * Copy file access times correctly. |
---|
211 | (Marty Leisner) |
---|
212 | |
---|
213 | * Add distclean and check targets to Makefile. |
---|
214 | (Michael Carmack) |
---|
215 | |
---|
216 | * Parameterise use of ar and ranlib in Makefile. Also add $(LDFLAGS). |
---|
217 | (Rich Ireland, Bo Thorsen) |
---|
218 | |
---|
219 | * Pass -p (create parent dirs as needed) to mkdir during make install. |
---|
220 | (Jeremy Fusco) |
---|
221 | |
---|
222 | * Dereference symlinks when copying file permissions in -f mode. |
---|
223 | (Volker Schmidt) |
---|
224 | |
---|
225 | * Majorly simplify implementation of uInt64_qrm10. |
---|
226 | (Bo Lindbergh) |
---|
227 | |
---|
228 | * Check the input file still exists before deleting the output one, |
---|
229 | when aborting in cleanUpAndFail(). |
---|
230 | (Joerg Prante, Robert Linden, Matthias Krings) |
---|
231 | |
---|
232 | Also a bunch of patches courtesy of Philippe Troin, the Debian maintainer |
---|
233 | of bzip2: |
---|
234 | |
---|
235 | * Wrapper scripts (with manpages): bzdiff, bzgrep, bzmore. |
---|
236 | |
---|
237 | * Spelling changes and minor enhancements in bzip2.1. |
---|
238 | |
---|
239 | * Avoid race condition between creating the output file and setting its |
---|
240 | interim permissions safely, by using fopen_output_safely(). |
---|
241 | No changes to bzip2recover since there is no issue with file |
---|
242 | permissions there. |
---|
243 | |
---|
244 | * do not print senseless report with -v when compressing an empty |
---|
245 | file. |
---|
246 | |
---|
247 | * bzcat -f works on non-bzip2 files. |
---|
248 | |
---|
249 | * do not try to escape shell meta-characters on unix (the shell takes |
---|
250 | care of these). |
---|
251 | |
---|
252 | * added --fast and --best aliases for -1 -9 for gzip compatibility. |
---|
253 | |
---|