Subversion Repositories planix.SVN

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 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 someway, 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.