ChangeLog of JZlib ==================================================================== Last modified: Mon Feb 20 06:06:07 UTC 2012 Changes since version 1.1.0: - fixed a bug in DeflaterOutputStream#write() with empty data. 9d4616f - fixed a bug in processing unwrapped data with InfalterInputStream. d35db2 - fixed bugs reported in https://github.com/ymnk/jzlib/pull/5 e4aa20 - comments and filename in GZIPHeader must be in ISO-8859-1 encoding - fixing a bug in GZIPHeader#setOS(int os) - some refactoring code. e912088 6900f5 614fdf - improving the performace of Adler32#update method. 6900f5 - constructors of Alder32 and CRC32 become public. 30c4cf - added ZStream#end() and ZStream#finished(). 6b55e3 - exposed useful constants for jruby. e17ad1 - updated pom.xml to delete "souceDirectory" No need to specify sourceDirectory if the project follows maven standard. - updated configurations to use sbt 0.11.1 Changes since version 1.0.7: - supported some new functionalities, which have been introduced since 'zlib' 1.2. - JZlib#{adler32,crc32}_combine, - JZlib can handle gzip file format(RFC1952). - added following classes, - DeflaterOutputStream - InflaterInputStream - GZIPOutputStream - GZIPInputStream - Inflater - Deflater - ZStream has been deprecated. Use Inflater and Deflater instead of it. - GZIPHeader - re-implemented Z{Input,Output}Stream with {Deflater,Inflater}{I/O}Stream - those classes have been deprecated. Use DeflaterOutputStream and InfaterInputStream instead of them. - com/ -> src/main/java/com/ - some tests under src/test/scala/ - pom.xml for mvn, and projects/ for sbt. Changes since version 1.0.6: - change: memory and performance optimisations in the inflate operation. - change: added the nowrap argument to Z{Input,Output}?Stream. Changes since version 1.0.5: - ZInputStream.read(byte[], int, int) method return sometimes zero instead of -1 at the end of stream. - ZOutputStream.end() method should not declare IOException. - It should be possible to call ZOutputStream.end() method more times (because you can call close() method and after it end() method in finally block). - ZOutputStream.finish() method should not ignore IOException from flush(). Many thanks to Matej Kraus at seznam.cz , who pointed out above problems. Changes since version 1.0.4: - a minor bug fix in ZInputStream Changes since version 1.0.3: - fixed a bug in closing ZOutputStream. The inflating and deflating processes were not finished successfully. - added 'finish' and 'end' methods to ZOutputStream.java - added 'example/test_stream_deflate_inflate.java' Changes since version 1.0.2: - enabled pure Java implementation of adler32 and commented out the dependency on J2SE in Adler32.java for J2ME users. Changes since version 1.0.1: - fixed a bug in deflating some trivial data, for example, large data chunk filled with zero. - added 'version' method to JZlib class. Changes since version 1.0.0: - added ZInputStream and ZOutputStream classes. - fixed a typo in LICENSE.txt. Changes since version 0.0.9: - fixed a bug in setting a dictionary in the inflation process. - The license was changed to a BSD style license. - Z{Input,Output}Stream classes were deleted. Changes since version 0.0.8: - fixed a bug in handling a preset dictionary in the inflation process. Changes since version 0.0.7: - added methods to control the window size (the size of the history buffer) and to handle the no-wrap option (no zlib header or check), which is the undocumented functionality of zlib. Changes since version 0.0.6: - updated InfBlocks.java as zlib did to fix the vulnerability related to the 'double free'. Of course, JZlib is free from such a vulnerability like the 'double free', but JZlib had crashed with NullPointerException by a specially-crafted block of invalid deflated data. Changes since version 0.0.5: - added 'flush()' method to com.jcraft.jzlib.ZOutputStream. - fixed to take care when occurring the buffer overflow in com.jcraft.jzlib.ZOutputStream. Many thanks to Tim Bendfelt at cs.wisc.edu , who pointed out above problems. Changes since version 0.0.4: ............................ - fixed a bug in Adler32 class. - fixed a bug in ZInputStream class - modified ZInputStream to be extended from InputStream instead of FileInputStream. - modified ZOutputStream to be extended from OutputStream instead of FileOutputStream. - modified ZStream to be changeable wbits. Give wbits value to the method 'deflateInit' of ZStream. Many thanks to Bryan Keller, who reported bugs and made suggestions. Changes since version 0.0.3: ............................ - fixed a bug in the compression level 0. - modified to be compatible with JIKES's bug. - added Z[Input,Output]Stream written by Lapo Luchini. Changes since version 0.0.2: ............................ - fixed a critical bug, which had arisen in the deflating operation with NO_FLUSH and DEFAULT_COMPRESSION mode. Many thanks to Bryan Keller(keller@neomar.com), who reported this glitch. Changes since version 0.0.1: ............................ - fixed the bad compression ratio problem, which is reported from Martin Smith(martin@spamcop.net). The compression ratio was not so good compared with the compression ration of zlib. Now, this problem has been fixed and, I hope, that deflated files by JZlib and zlib are completely same bit by bit.