home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / bzip101.zip / CHANGES < prev    next >
Text File  |  2000-06-24  |  6KB  |  168 lines

  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.
  168.