CHANGES ------- 1.33 - 14 January 2004 * Reworked Makefile.PL to avoid creating a private copy of zlib. This both simplifies the build, plus it makes life easier for VMS. * Patches for Makefile.PL to get it to work on VMS supplied by Craig A. Berry. * memGunzip has very slow on FreeBSD. Turns out to be down to the way realloc works on FreeBSD. Changed both inflate & deflate to use exponentially increasing buffer sizes when they need to realloc. Thanks to Peter Jeremy for the lowdown on FreeBSD memory allocation. 1.32 - 26 November 2003 * Steve Hay reported a problem on rt.cpan.org with Windows and MSCV++ 6.0 where the source from the zlib directory was getting installed with the rest of the module. https://rt.cpan.org/Ticket/Display.html?id=1741 This has been fixed by renaming the "zlib" directory to "zlib-src" thus avoiding a conflict with the name of this Perl module. * Fixed a bug in the inflate method where the input buffer is an lvalue (via substr). Problem & solution reported by Salvador Fandiqo. * Tightened up the logic in Makefile.PL when BUILD_ZLIB is True. Issue spotted by Ralf S. Engelschall. 1.31 - 29 October 2003 * Reinstated the creation of .bak files - $^I seems to need a backup file on Windows. For OpenVMS, the extenstion _bak is used. 1.30 - 28 October 2003 * Bundled a sub-set of the zlib source with the module and changed the default make behaviour to build with the included zlib source. The previous behaviour of using a pre-built zlib library is still available for those that want it. * Added prototypes to the subs in Zlib.pm that didn't already have them. Patch from Ed Avis. * No .bak files are created by Makefile.PL any more - this keep distclean much happier. Patch suggested by Ed Avis. This also fixes a similar problem reported by Dr. Martin Zinser on OpenVMS. * Documentation for some of the gz functions updated. * Format strings modified in DispStream to keep OpenVMS happy. Problem reported by Dr. Martin Zinser. 1.22 - 17 June 2003 * Makefile.PL now displays a warning about not installing Compress::Zlib via the CPAN shell. * Fix to allow intermingling of gzread & gzreadline - patch supplied by Doug Perham. * memGunzip will silently now work if the gzip trailer is missing. Some HTTP Origin Servers seem to leave it out. 1.21 - 28 April 2003 * Tests 148 & 150 from t/02zlib.t were failing on redhat 9. * Added a few words about the problems with Mac OS X to the README file. 1.20 - 4 April 2003 * Fixed bug in gzopen where $gzerrno wasn't being set correctly. The symptom was $gzerrno was set to Z_MEM_ERROR although the file was opened ok. If gzopen failed, $gzerrno was being set correctly. This problem wasn't spotted before because the typical test to determine whether gzopen passed or failed was to check its return value. 1.19 - 31 October 2002 * fixed a problem with t/02zlib.t that was failing with redhat 8. 1.18 - 24 October 2002 * fixed a Win32 problem in t/02zlib.t by changing sysread to read. * zlib 1.0.5 & older doesn't have gzsetparams & gzeof. Added a new variable to config.in to flag an old version of zlib. Split out the tests for gzsetparams into t/05gzsetp.t 1.17 - 22 October 2002 * Moved the test to check the versions of libz & zlib.h into a separate file and added troubleshooting notes to README. * In gzopen, only attempt to call "tell" for normal files. * Broke changes out of README into Changes file. * Replaced internal use of Z_PARTIAL_FLUSH symbol with Z_SYNC_FLUSH. zlib.h says /* will be removed, use Z_SYNC_FLUSH instead */ * Added support for zlib functions inflateSync and deflateParams. * Added support for zlib functions gzeof and gzsetparams. * Added support for access to adler, total_in & total_out * The compress function can now take an optional parameter that allows the compression level to be specified. This mirrors the compress2 function available in zlib. * memGzip doesn't work properly with perl 5.8.0 when it is given UTF-8 data. Bug spotted by Andreas J. Koenig. * Added note about Linux zlib-devel RPM to README. * Fixed recursive build problem on win32 machines. * Fixed problem with the test harness on Mac OS X. Thanks to Carl Johan Berglund for reporting the problem and helping track it down. 1.16 - 13 December 2001 * Fixed bug in Makefile.PL that stopped "perl Makefile.PL PREFIX=..." working. 1.15 - 4th December 2001 * Changes a few types to get the module to build on 64-bit Solaris * Changed the up/downgrade logic to default to the older constructs, and to only call a downgrade if specifically requested. Some older versions of Perl were having problems with the in-place edit. * added the new XS constant code. 1.14 - 27th August 2001 * Memory overwrite bug fixed in "inflate". Kudos to Rob Simons for reporting the bug and to Anton Berezin for fixing it for me. 1.13 - 31st June 2001 * Make sure config.in is consistant when released. 1.12 - 28th April 2001 * Modified Makefile.PL to only enable the warnings pragma if using perl 5.6.1 or better. 1.11 - 17th February 2001 * Added logic in Makefile.PL to toggle between using $^W and the warnings pragma in the module. * The module, the examples & the test harness are now all strict & warnings clean. 1.10 - 5th February 2001 * fixed a bug in memGunzip. Used Z_ERR instead of Z_DATA_ERROR. 1.09 - 15th January 2001 * Silenced a few compiler warnings. * Updated zlib home site in README & Zlib.pm to www.info-zip.org * Minor typo in Zlib.pm - a link used AUTHORS instead of AUTHOR -- spotted by Frank Martini. * Mention Archive::Zip * added memGunzip. This is largely based on code provided by Jim Leonard. * $deflate->flush can now take an optional parameter. Valid values are Z_NO_FLUSH, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, Z_FULL_FLUSH and Z_FINISH. The default is Z_FINISH. 1.08 - 6 Jan 2000 * uncompress was clobbering its input parameter. Now it doesn't. This bug was spotted by Deven T. Corzine. * If a variable that only ever contained a number was given to compress or deflate, it would not be compressed properly. Now it will be coerced to a string and then compressed. This bug was spotted by Deven T. Corzine. 1.07 - 27 Nov 1999 * ANSI-ified the static functions in Zlib.xs * Added the ability to build zlib along with the module. This feature is 90% based on a Makefile provided by Gurusamy Sarathy. 1.06 - 20 Sep 1999 * Fixed a nasty problem where inflate could truncate the data returned. Thanks to Douglas Thomson for both spotting the problem and fixing the bug. * Added a note about the undocumented features in zlib that are required when accessing zip files. * gzclose will now get called automatically when the gzip object is destroyed. 1.05 - 3 June 1999 * Previous release used newSVpvn, which doesn't exist in 5.004_04 or earlier. Changed to use newSVpv instead. * The module needs Perl 5.004 or better, so updated the version checking in Zlib.pm and Makefile.PL 1.04 - 27 May 1999 * Bug 19990527.001: compress(undef) core dumps -- Fixed. 1.03 - 17 Mar 1999 * Updated to use the new PL_ symbols. Means the module can be built with Perl 5.005_5* 1.02 - 31 Jan 1999 * The return codes for gzread, gzreadline and gzwrite were documented incorrectly as returning a status code. * The test harness was missing a "gzclose". This caused problem showed up on an amiga. Thanks to Erik van Roode for reporting this one. * Patched zlib.t for OS/2. Thanks to Ilya Zakharevich for the patch. 1.01 - 23 Nov 1997 * A number of fixes to the test suite and the example scripts to allow them to work under win32. All courtesy of Gurusamy Sarathy. 1.00 - 14 Nov 1997 * Fixed crc32 & adler32. They were very broken. * The following functions can now take a scalar reference in place of a scalar for their buffer parameters: compress uncompress deflate inflate crc32 adler32 This should mean applications that make use of the module don't have to copy large buffers around. * Normally the inflate method consumes I of the input buffer before returning. The exception to this is when inflate detects the end of the stream (Z_STREAM_END). In this case the input buffer need not be completely consumed. To allow processing of file formats that embed a deflation stream (e.g. zip, gzip), the inflate method now sets the buffer parameter to be what remains after inflation. When the return status is Z_STREAM_END, it will be what remains of the buffer (if any) after deflation. When the status is Z_OK it will be an empty string. This change means that the buffer parameter must be a lvalue. * Fixed crc32 and adler32. They were both very broken. * Added the Compress::Zlib::memGzip function. 0.5 - Confirmed that no changes were necessary for zlib 1.0.3, or 1.0.4. The optional parameters for deflateInit and inflateInit can now be specified as an associative array in addition to a reference to an associative array. They can also accept the -Name syntax. gzopen can now optionally take a reference to an open filehandle in place of a filename. In this case it will call gzdopen. Added gzstream example script. 0.4 - Upgrade to support zlib 0.99 Added dictionary interface. Fixed bug in gzreadline - previously it would keep returning the same buffer. This bug was reported by Helmut Jarausch Removed dependency to zutil.h and so dropped support for DEF_MEM_LEVEL (use MAX_MEM_LEVEL instead) DEF_WBITS (use MAX_WBITS instead) 0.3 - Added prototype specification. 0.2 - Fixed a minor allocation problem in Zlib.xs 0.1 - first alpha release. 2nd October 1995