This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[PATCH] IO-Compress 2.022
[perl5.git] / cpan / IO-Compress / Changes
1 CHANGES
2 -------
3
4   2.022 9 October 2009
5
6       * IO::Compress - Makefile.PL
7         Fix for core.
8
9   2.021 30 August 2009
10
11       * IO::Compress::Base.pm
12         - Less warnnings when reading from a closed filehandle.
13           [RT# 48350]
14         - Fixed minor typo in an error message.
15           [RT# 39719]
16
17       * Makefile.PL
18         The PREREQ_PM dependency on Scalar::Util got dropped when
19         IO-Compress was created in 2.017.
20         [RT# 47509]
21
22       * IO::Compress::Zip.pm
23         - Removed restriction that zip64 is only supported in streaming
24           mode.
25         - The "version made by" and "extract" fields in the zip64 end
26           central record were swapped.
27         - In the End Central Header record the "offset to the start of the
28           central directory" will now always be set to 0xFFFFFFFF when
29           zip64 is enabled.
30         - In the End Central Header record the "total entries in the
31           central directory" field will be set to 0xFFFF if zip64 is
32           enabled AND there are more than 0xFFFF entries present.
33
34       * IO::Uncompress::Unzip.pm
35         - Don't consume lots of memory when walking a zip file. This makes
36           life more bearable when dealing with zip64.
37
38       * Compress::Zlib.pm
39         - documented that memGunzip cannot cope with concatenated gzip data
40           streams.
41
42       * Changed test harness so that it can cope with PERL5OPT=-MCarp=verbose
43         [RT# 47225]
44
45       * IO::Compress::Gzip::Constants.pm
46         - GZIP_FEXTRA_MAX_SIZE was set to 0xFF. Should be 0xFFFF.  This
47           issue came up when attempting to unzip a file created by MS
48           Office 2007.
49
50   2.020 3 June 2009
51
52       * IO::Uncompress::Base.pm
53         - Fixed problem with LimitOutput where a call to uncompress
54           created more uncompressed output, but didn't consume any of
55           the input buffer. The symptom is the underlying compression
56           library (zlib or bzip2) thinks the input stream is corrupt.
57           [RT #46582]
58
59   2.019 4 May 2009
60
61       * IO::Uncompress::Adapter::Bunzip2
62         - Fixed problem with EOF check. 
63
64   2.018 3 May 2009
65
66       * IO::Unompress::Bunzip2
67         - The interface to Compress-Raw-Bzip2 now uses the new LimitOutput
68           feature. This will make all of the bzip2-related IO-Compress modules
69           less greedy in their memory consumption. 
70
71       * IO::Compress::Zip
72         - Fixed exTime & exUnix2
73
74         - Fixed 'Use of uninitialized value in pack' warning when using
75           ZIP_CM_STORE.
76
77   2.017 30 March 2009
78
79       * Merged IO-Compress-Base, IO-Compress-Bzip2, IO-Compress-Zlib &
80         Compress-Zlib into IO-Compress.
81
82       * The interface to Compress-Raw-Zlib now uses the new LimitOutput
83         feature. This will make all of the zlib-related IO-Compress modules
84         less greedy in their memory consumption.
85
86       * Removed MAN3PODS from Makefile.PL
87
88       * A few changes to get the test harness to work on VMS courtesy of
89         Craig. A. Berry.
90
91       * IO::Compress::Base & IO::Uncompress::Base
92         Downgraded some croaks in the constructors to just set $! (by letting 
93         the code attempt to open a file and fail).
94         This makes the behavior more consistent to a standard open.
95         [RT #42657]
96         
97       * IO::Uncompress::Base
98         Doing a seek with MultiStream could drop some of the uncompressed
99         data. Fixed.
100
101       * IO::Compress::Zip 
102         - Fixed problem with the uncompressed & uncompressed fields when
103           zip64 is enabled. They were set to 0x0000FFFF instead of
104           0xFFFFFFFF. Also the ZIP64 extra field was 4 bytes short.
105           Problem spotted by Dino Chiesa.
106
107       * IO::Uncompress::Unzip 
108         - use POSIX::mktime instead of Time::Local::timelocal to convert
109           the zip DOS time field into Unix time.
110
111       * Compress::Zlib 
112         - Documented Compress::Zlib::zlib_version()
113
114
115   2.015 3 September 2008
116
117       * Makefile.PL
118         Backout changes made in 2.014
119
120   2.014 2 September 2008
121
122       * Makefile.PL
123         Updated to check for indirect dependencies.
124
125   2.013 18 July 2008
126
127       * IO::Compress::Base 
128         - Allow IO::Compress::Base::Parameters::parse to accept an 
129           IO::Compress::Base::Parameters object.
130
131   2.012 15 July 2008
132
133       * IO::Compress::Base 
134         - Silenced an uninitialised value warning when reading a line
135           at a time from a zip file where the content uses ZIP_CM_STORE. 
136           [Problem spotted & fixed by Jeff Holt]
137
138       * IO::Compress::Base & IO::Uncompress::Base
139         - local-ise $!, $? et al in the DESTROY methods.
140           
141   2.011 17 May 2008
142
143       * IO::Compress::Base
144         - Fixed problem that prevented the creation of a zip file that
145           contained more than one compression method.
146
147       * IO::Compress::Base::Common
148         - The private Validator class in this module clashes with another
149           CPAN module. Moved Validator into the IO::Compress::Base::Common
150           namespace.
151           [RT #35954]
152
153       * IO::Uncompress::Unzip 
154         - Print an error message if the zip file contains a
155           member compressed with bzip2 and IO::Uncompress::Bunzip2 is 
156           not available.
157         - Could not cope with mixed compression zip files. For example a
158           zip file that contains both STORED and DEFLATED content.
159           [RT #35573]
160
161   2.010 5 May 2008
162
163       * Fixed problem that meant Perl 5.10 could not upgrade this module.
164         [RT #35342 & 35341]
165
166   2.009 20 April 2008
167
168       * Removed the alpha status from File::GlobMapper
169       
170       * IO::Compress::Base 
171         When writing output never output a zero length buffer.
172         Done to improve interoperability with other tied filenandle
173         modules.
174
175       * Changed IO::Uncompress::Base to not use the offset parameter of
176         the read method when reading from a filehandle. 
177
178         The object returned from Net::FTP::retr implements a non-standard
179         read method. The third parameter is used for a timeout value
180         rather than an offset.  
181         [rt.cpan#33231]
182         
183       * Changed IO::Uncompress::Base to not use the eof method when
184         reading from a filehandle. 
185
186         The object returned from Net::FTP::retr implements both the read
187         method and the eof method. Unfortunately the implementation of
188         the read method uses non-buffered IO (by using sysread) while
189         the eof method uses buffered IO. Mixing buffered and non-buffered
190         IO results in data corruption.
191
192       * IO::Compress::Zip 
193
194         - Added exUnix2 option to allow storing of UID & GID.
195         - When running on a Unix derivative the ExtAttr option now defaults
196           to the equivalent of 0666. For all other systems the default
197           remains 0.
198
199       * Compress::Zlib 
200         - Minor documentation issue with flush.
201           [rt.cpan.org #31446]
202
203
204   2.008 2 November 2007
205
206       * Minor documentation changes in README
207
208       * t/compress/truncate.pl
209         EBCDIC Cleanup.
210
211       * IO::Compress::Gzip::Constants.pm
212         Tidied up the character classes used to defined invalid 
213         FNAME & FCOMMENT fields for EBCDIC.
214
215       * Compress::Zlib 
216         lib/Compress/Zlib.pm -- 1.x Backward Compatability issues
217         gzclose - documented return value was wrong, should be 0 for ok.
218         gzflush - return value didn't match 1.x, should return 0 if ok.
219         [rt.cpan.org #29215] and Debian bug #440943 http://bugs.debian.org/440943
220
221   2.006 1 September 20007
222
223       * Makefile.PL
224         Added INSTALLDIRS directive to install as a core module when built
225         on a perl >= 5.9.
226
227       * IO::Uncompress::RawDeflate 
228
229         - Fixed export problem - "$RawDeflateError" and "rawdeflate" were
230           not being exported with ":all".
231
232       * Compress::Zlib 
233         - t/03zlib-v1.t
234           Fixed crc32 and adler32 tests in to remove ascii assumption.
235
236         - lib/Compress/Zlib.pm 
237           Make gzreadline not support $/, just like in Compress::Zlib 1.x
238           Folk who want $/ with readline support can get it in
239           IO::Uncompress::Gunzip.  [rt.cpan.org #28663] and 
240           Debian bug #435656 http://bugs.debian.org/435656
241
242
243   2.005 18 June 2007
244
245       * Stephen Turner reported a problem when using IO::Uncompress::Gunzip
246         with XML::Parser. Turns out there were two issues.  
247
248         Firstly an IO::Uncompress object isn't an IO::Handle. It is now.
249
250         Secondly the implementation of "read" wasn't honouring this 
251
252             SCALAR will be grown or shrunk to the length actually read.
253
254         In particular it didn't do the right thing on EOF.
255         This has been fixed.
256
257       * IO::Compress::Gzip & IO::Uncompress::Gunzip
258
259         - RFC1952 says that the FNAME & FCOMMENT header fields must be ISO
260           8859-1 (LATIN-1) characters. The code can optionally police this.
261           Added a fix for this logic when running on EBCDIC.
262
263       * Compress::Zlib 
264         Added info about removing Compress::Zlib version 1, before
265         installing version 2. 
266
267   2.004 3 March 2007
268
269       * Made seek less wasteful of memory.
270
271       * IO::Compress::Zip 
272
273         - Added Zip64 documentation.
274
275         - Fixed extended timestamp.  
276           Creation time isn't available in Unix so only store the
277           modification time and the last access time in the extended field.
278
279         - Fixed file mode.
280
281         - Added ExtAttr option to control the value of the "external file
282           attributes" field in the central directory.
283
284         - Added Unix2 extended attribute ("Ux"). 
285           This stores the UID & GID.
286
287       * IO::Compress::Gzip 
288
289         - Fixed 050interop-gzip.t for Windows 
290
291       * IO::Compress::Bzip2 
292
293         - Fixed 050interop-bzip2.t for Windows 
294
295       * Compress::Zlib 
296
297         - rewrote memGzip using IO::Compress::Gzip::gzip
298
299   2.003 2 January 2007
300
301       * Added explicit version checking
302
303   2.002 29 December 2006
304
305       * Documentation updates.
306
307       * Added IO::Handle to the ISA test in isaFilehandle
308
309       * Add an explicit use_ok test for Scalar::Util in the test harness.
310         The error message reported by 01misc implied the problem was
311         somewhere else.
312         Also explictly check that 'dualvar' is available.
313
314       * Compress::Zlib 
315         - Fix append mode with gzopen.
316           rt-cpan.org 24041
317
318         - Allow gzopen to read from and write to a scalar reference.
319
320   2.001 1 November 2006
321
322       * Remove beta status.
323
324   2.000_14 26 October 2006
325
326       * IO::Uncompress::Base
327         Added support for $/ in record mode
328
329       * IO::Uncompress::Base
330         The readline interface was substantially slower than the 1.x
331         equivalent. This has now been sorted. 
332         Thanks to Andreas J. Koenig for spotting the problem.
333
334       * IO::Uncompress::AnyUncompress
335         Added IO::Uncompress::Lzf to the list of supported uncompresors.
336
337       * IO::Uncompress::Base
338         Added TrailingData to one-shot interface.
339
340       * IO::Uncompress::AnyUncompress
341         Remove raw-deflate (RFC1951) from the default list of compressors 
342         to check.
343         It can still be included if the new RawInflate parameter is
344         supplied.
345         This change was made because the only way to tell if content is 
346         raw-deflate is to attempt to uncompress it - a few false positives
347         have popped up recently, which suggests that auto-detecting raw 
348         deflate is far from perfect.
349         The equivalent change has been made to IO::Uncompress::AnyInflate.
350         [Core patch #28445]
351
352       * Don't check that filehandles are writable. It would seem that 
353         "-w *STDOUT" on windows returns false. 
354         [Core Patch #28415]
355
356       * IO::Uncompress::Deflate
357         Beefed up the magic signature check. Means less false positives
358         when auto-detecting the compression type.
359
360       * IO::Uncompress::UnZip
361         Tighten up the zip64 extra field processing to cope with the case
362         wheere only some of the local header fields are superceeded.
363
364       * IO::Uncompress::AnyInflate
365         Remove raw-deflate (RFC 1951) from the default list of compressors 
366         to check.
367         It can still be included if the new RawInflate parameter is
368         supplied.
369         This change was made because the only way to tell if content is 
370         raw-deflate is to attempt to uncompress it - a few false positives
371         have popped up recently, which suggests that auto-detecting raw 
372         deflate is far from perfect.
373         The equivalent change has been made to IO::Uncompress::AnyUncompress.
374         [Core patch #28445]
375
376   2.000_13 20 June 2006
377
378       * Store compress & uncompressed sizes as 64-bit.
379
380       * For one-shot uncompression, like this
381
382             unzip "some.zip" => \@a, MultiStream => 1;
383
384         Push each uncompressed stream from "some.zip" onto @a.
385
386       * Added IO::Compress::Base::FilterEnvelope
387
388       * Added IO::Uncompress::Base::nextStream
389
390       * The '-' filehandle now maps to either *STDIN or *STDOUT. 
391         This keeps mod_perl happier. Was using these before
392
393             new IO::File("<-")
394             new IO::File(">-")
395
396       * Preliminary support for reading zip files with zip64 members.
397   
398   2.000_12 3 May 2006
399
400       * Moved the code for creating and parsing the gzip extra field into
401         IO::Compress::Zlib::Extra.pm so that IO::Compress::Zip &
402         IO::Uncompress::Unzip can use it as well. 
403
404       * Added ExtraFieldLocal & ExtraFieldCentral options to IO::Compress::Zip.
405         These allow the creation of user-defined extra fields in the local
406         and central headers, just like the ExtraField option in
407         IO::Compress::Gzip.
408
409       * Moved the zip constants into IO::Compress::Zip::Constants
410
411       * Added exTime option to IO::Compress::Zip. 
412         This allows creation of the extended timestamp extra field.
413
414       * Added Minimal option to IO::Compress::Zip. 
415         This disables the creation of all extended fields.
416
417       * Added TextFlag option to IO::Compress::Zip. 
418
419       * Documented Comment and ZipComment options in IO::Compress::Zip. 
420
421       * Compress::Zlib
422         Fixed gzread to zap the output buffer to an empty string when zero
423         bytes are requested. This matches the behaviour of C::Z 1.x
424
425   2.000_11 10 April 2006
426
427       * Transparent + InputLength made more robust where input data is not
428         compressed.
429
430       * Updated Documentation for zip modules.
431
432       * Changed IO::Compress::Zip 'Store' option to 'Method' and added
433         symbolic constants ZIP_CM_STORE, ZIP_CM_DEFLATE and ZIP_CM_BZIP2 to
434         allow the compression method to be picked by the user.
435
436       * Added support to allow bzip2 compressed data to be written/read
437         with IO::Compress::Zip and IO::Uncompress::Unzip.
438
439       * Beefed up 050interop-gzip.t to check that the external gzip command
440         works as expected before starting the tests. This means that
441         this test harness will just be skipped on problematic systems.
442
443       * Merged core patch 27565 from Steve Peters. This works around a
444         problem with gzip on OpenBSD where it doesn't seem to like
445         compressing files < 10 bytes long.
446
447       * Beefed up 050interop-bzip2.t to check that the external bzip2 command
448         works as expected before starting the tests. This means that
449         this test harness will just be skipped on problematic systems.
450
451   2.000_10 13 March 2006
452
453       * AnyUncompress doesn't assume  that IO-Compress-Zlib is installed any
454         more.
455
456       * Documentation updates.
457
458       * Compress::Zlib
459         Changed gzread so that its behaviour matches C::Z::gzread 1.x if it
460         is called after eof. In this case it will write an empty string
461         into the output parameter. This change is solely for backward
462         compatability reasons.
463
464   2.000_09 3 March 2006
465
466       * Released to CPAN.
467
468   2.000_08 2 March 2006
469
470       * Split IO::Compress::Base into its own distribution.
471
472       * Split IO::Compress::Bzip2 into its own distribution.
473
474       * Added opened, autoflush and input_line_number.
475
476       * Beefed up support for $.
477
478       * Split IO::Compress::Zlib into its own distribution.
479
480       * Beefed up support for zip/unzip
481
482       * Breakout zlib specific code into separate modules.
483
484       * Limited support for reading/writing zip files
485
486   2.000_06 5 October 2005
487
488       * Added eof parameter to Compress::Zlib::inflate method.
489
490       * Fixed issue with 64-bit
491
492   2.000_05 4 October 2005
493
494       * Renamed IO::* to IO::Compress::* & IO::Uncompress::*
495
496   2.000_04 23 September 2005
497
498       * Fixed some more non-portable test that were failing on VMS.
499
500       * fixed problem where error messages in the oneshot interface were
501         getting lost.
502
503   2.000_03 12 September 2005
504
505       * Fixed some non-portable test that were failing on VMS.
506
507       * Fixed export of zlib constants from the IO::* classes
508
509   2.000_02 6 September 2005
510
511       * Split Append mode into Append and Merge
512
513       * Fixed typos in the documentation.
514
515       * Added pod/FAQ.pod
516
517       * Added libscan to Makefile.PL
518
519       * Added InputLength for IO::Gunzip et al
520
521   2.000_01 22 August 2005
522
523       * Fixed VERSION in Compress::Gzip::Constants
524
525       * Removed Compress::Gzip::Info from the distribution.
526
527   2.000_00 21 August 2005
528
529       * First Beta relase of Compress::zlib rewrite.
530
531 Compress-Zlib version 1 Changes
532
533   1.38 - 6 September 2005
534
535       * Integrate core change 25304 -- Symbian Update
536
537       * Added libscan to Makefile.PL
538
539   1.37 - 12 August 2005
540
541       * Change to t/03examples.t for VMS from Abe Timmerman
542
543   1.36 - 3 August 2005
544
545       * Renamed zlib-src-1.2.3 to zlib-src to help VMS
546
547       * Fixed Makefile.PL for VMS
548
549       * Fixed t/03examples.t for VMS
550
551       * Added a couple of notes about incompatibility with Unix compress.
552
553   1.35 - 16 July 2005
554
555       * Updated zlib source to 1.2.3
556
557       * Fixed problem with where two calls to gzclose would hang the debugger.
558         See https://rt.cpan.org/Ticket/Display.html?id=13789
559
560       * Added code from Alexey Tourbin to use XSLoader when available,
561         and DynaLoader otherwise.
562
563       * Documented that the compress & uncompress functions were not
564         the same as the Unix utilities of the same name.
565
566       * Fixed 05gzsetp -- it left a temp file hanging around. 
567
568       * Integrate core change 24787 - SvUPGRADE returns void in blead
569
570       * Integrate core change 24788 - Makefile.PL adjustments for the core
571
572
573   1.34 - 30 January 2005
574
575       * Fixed typo in the README
576
577       * Fixed examples.t on Win32 where paths have embedded whitespace.
578
579       * Fix for Cygwin and core integration from Jos I. Boumans
580
581       * Upgrade zlib source to 1.2.2
582
583   1.33 - 14 January 2004
584
585       * Reworked Makefile.PL to avoid creating a private copy of zlib. 
586         This both simplifies the build, plus it makes life easier for VMS.
587
588       * Patches for Makefile.PL to get it to work on VMS supplied by
589         Craig A. Berry.
590
591       * memGunzip has very slow on FreeBSD. Turns out to be down to
592         the way realloc works on FreeBSD. Changed both inflate & deflate
593         to use exponentially increasing buffer sizes when they need to
594         realloc. Thanks to Peter Jeremy for the lowdown on FreeBSD
595         memory allocation.
596
597   1.32 - 26 November 2003
598
599       * Steve Hay reported a problem on rt.cpan.org with Windows and
600         MSCV++ 6.0 where the source from the zlib directory was getting
601         installed with the rest of the module.
602         https://rt.cpan.org/Ticket/Display.html?id=1741
603
604         This has been fixed by renaming the "zlib" directory to "zlib-src"
605         thus avoiding a conflict with the name of this Perl module.
606
607       * Fixed a bug in the inflate method where the input buffer is an
608         lvalue (via substr). Problem & solution reported by Salvador Fandiqo.
609
610       * Tightened up the logic in Makefile.PL when BUILD_ZLIB is
611         True. Issue spotted by Ralf S. Engelschall.
612
613   1.31 - 29 October 2003
614
615       * Reinstated the creation of .bak files - $^I seems to need a
616         backup file on Windows. For OpenVMS, the extenstion _bak is used.
617
618   1.30 - 28 October 2003
619
620       * Bundled a sub-set of the zlib source with the module and changed
621         the default make behaviour to build with the included zlib source.
622         The previous behaviour of using a pre-built zlib library is
623         still available for those that want it.
624
625       * Added prototypes to the subs in Zlib.pm that didn't already have
626         them. Patch from Ed Avis.
627
628       * No .bak files are created by Makefile.PL any more - this keep
629         distclean much happier. Patch suggested by Ed Avis.
630         This also fixes a similar problem reported by Dr. Martin Zinser
631         on OpenVMS.
632
633       * Documentation for some of the gz functions updated.
634
635       * Format strings modified in DispStream to keep OpenVMS happy. 
636         Problem reported by Dr. Martin Zinser.
637
638
639   1.22 - 17 June 2003
640
641       * Makefile.PL now displays a warning about not installing
642         Compress::Zlib via the CPAN shell.
643
644       * Fix to allow intermingling of gzread & gzreadline - patch
645         supplied by Doug Perham.
646
647       * memGunzip will silently now work if the gzip trailer is
648         missing. Some HTTP Origin Servers seem to leave it out.
649
650   1.21 - 28 April 2003
651
652       * Tests 148 & 150 from t/02zlib.t were failing on redhat 9. 
653
654       * Added a few words about the problems with Mac OS X to the README file. 
655
656   1.20 - 4 April 2003
657
658       * Fixed bug in gzopen where $gzerrno wasn't being set correctly.
659         The symptom was $gzerrno was set to Z_MEM_ERROR although the file 
660         was opened ok. If gzopen failed, $gzerrno was being set correctly.
661         This problem wasn't spotted before because the typical test
662         to determine whether gzopen passed or failed was to check its
663         return value. 
664
665   1.19 - 31 October 2002
666
667       * fixed a problem with t/02zlib.t that was failing with redhat 8.
668
669   1.18 - 24 October 2002
670
671       * fixed a Win32 problem in t/02zlib.t by changing sysread to read.
672
673       * zlib 1.0.5 & older doesn't have gzsetparams & gzeof. Added a new
674         variable to config.in to flag an old version of zlib. Split
675         out the tests for gzsetparams into t/05gzsetp.t
676
677   1.17 - 23 May 2002
678
679       * Moved the test to check the versions of libz & zlib.h into a separate
680         file and added troubleshooting notes to README.
681
682       * In gzopen, only attempt to call "tell" for normal files.
683
684       * Fixed to work in taint mode.
685
686       * Broke changes out of README into Changes file.
687
688       * Replaced internal use of Z_PARTIAL_FLUSH symbol with Z_SYNC_FLUSH. 
689         zlib.h says  /* will be removed, use Z_SYNC_FLUSH instead */  
690
691   1.16 - 13 December 2001
692
693       * Fixed bug in Makefile.PL that stopped "perl Makefile.PL PREFIX=..."
694         working.
695
696   1.15 - 4th December 2001
697
698       * Changes a few types to get the module to build on 64-bit Solaris
699
700       * Changed the up/downgrade logic to default to the older constructs, and
701         to only call a downgrade if specifically requested. Some older versions
702         of Perl were having problems with the in-place edit.
703
704       * added the new XS constant code.
705
706   1.14 - 27th August 2001
707
708       * Memory overwrite bug fixed in "inflate". Kudos to Rob Simons for
709         reporting the bug and to Anton Berezin for fixing it for me.
710
711   1.13 - 31st June 2001
712
713       * Make sure config.in is consistant when released.
714
715   1.12 - 28th April 2001
716
717       * Modified Makefile.PL to only enable the warnings pragma if
718         using perl 5.6.1 or better.
719
720   1.11 - 17th February 2001
721
722       * Added logic in Makefile.PL to toggle between using $^W and
723         the warnings pragma in the module.
724
725       * The module, the examples & the test harness are now all strict
726         & warnings clean.
727
728   1.10 - 5th February 2001
729
730       * fixed a bug in memGunzip. Used Z_ERR instead of Z_DATA_ERROR.
731
732   1.09 - 15th January 2001
733
734       * Silenced a few compiler warnings.
735
736       * Updated zlib home site in README & Zlib.pm to www.info-zip.org
737
738       * Minor typo in Zlib.pm - a link used AUTHORS instead of AUTHOR
739         -- spotted by Frank Martini.
740
741       * Mention Archive::Zip
742
743       * added memGunzip. This is largely based on code provided by Jim Leonard.
744
745       * $deflate->flush can now take an optional parameter. Valid
746         values are Z_NO_FLUSH, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, Z_FULL_FLUSH
747         and Z_FINISH. The default is Z_FINISH.
748
749   1.08 - 6 Jan 2000
750
751       * uncompress was clobbering its input parameter. Now it doesn't.
752         This bug was spotted by Deven T. Corzine.
753  
754       * If a variable that only ever contained a number was given
755         to compress or deflate, it would not be compressed properly. Now
756         it will be coerced to a string and then compressed. This bug
757         was spotted by Deven T. Corzine.
758
759   1.07 - 27 Nov 1999
760
761       * ANSI-ified the static functions in Zlib.xs
762
763       * Added the ability to build zlib along with the module.
764         This feature is 90% based on a Makefile provided by Gurusamy
765         Sarathy.
766
767   1.06 - 20 Sep 1999
768
769       * Fixed a nasty problem where inflate could truncate the data
770         returned. Thanks to Douglas Thomson <dougt@mugc.cc.monash.edu.au>
771         for both spotting the problem and fixing the bug.
772
773       * Added a note about the undocumented features in zlib that are
774         required when accessing zip files.
775
776       * gzclose will now get called automatically when the gzip object is
777         destroyed.
778
779   1.05 - 3 June 1999
780
781       * Previous release used newSVpvn, which doesn't exist in 5.004_04
782         or earlier. Changed to use newSVpv instead.
783
784       * The module needs Perl 5.004 or better, so updated the version
785         checking in Zlib.pm and Makefile.PL
786
787   1.04 - 27 May 1999
788
789       * Bug 19990527.001: compress(undef) core dumps -- Fixed.  
790
791   1.03 - 17 Mar 1999
792
793       * Updated to use the new PL_ symbols. 
794         Means the module can be built with Perl 5.005_5*
795
796   1.02 - 31 Jan 1999
797
798       * The return codes for gzread, gzreadline and gzwrite were
799         documented incorrectly as returning a status code.
800
801       * The test harness was missing a "gzclose". This caused problem
802         showed up on an amiga. Thanks to Erik van Roode for reporting
803         this one.
804
805       * Patched zlib.t for OS/2. Thanks to Ilya Zakharevich for the patch.
806
807   1.01 - 23 Nov 1997
808
809       * A number of fixes to the test suite and the example scripts to
810         allow them to work under win32. All courtesy of Gurusamy
811         Sarathy.
812
813   1.00 - 14 Nov 1997
814
815       * Fixed crc32 & adler32. They were very broken. 
816
817       * The following functions can now take a scalar reference in
818         place of a scalar for their buffer parameters:
819
820             compress
821             uncompress
822             deflate
823             inflate
824             crc32
825             adler32
826  
827         This should mean applications that make use of the module don't
828         have to copy large buffers around.
829
830  
831       * Normally the inflate method consumes I<all> of the input buffer
832         before returning. The exception to this is when inflate detects
833         the end of the stream (Z_STREAM_END). In this case the input
834         buffer need not be completely consumed. To allow processing of
835         file formats that embed a deflation stream (e.g. zip, gzip),
836         the inflate method now sets the buffer parameter to be what
837         remains after inflation.
838
839         When the return status is Z_STREAM_END, it will be what remains
840         of the buffer (if any) after deflation. When the status is Z_OK
841         it will be an empty string.
842
843         This change means that the buffer parameter must be a lvalue.
844  
845       * Fixed crc32 and adler32. They were both very broken.
846
847       * Added the Compress::Zlib::memGzip function.
848
849   0.5 - Confirmed that no changes were necessary for zlib 1.0.3, or 1.0.4.
850
851         The optional parameters for deflateInit and inflateInit can now
852         be specified as an associative array in addition to a reference
853         to an associative array. They can also accept the -Name
854         syntax.
855
856         gzopen can now optionally take a reference to an open
857         filehandle in place of a filename. In this case it will call
858         gzdopen.
859
860         Added gzstream example script.
861  
862   0.4 - Upgrade to support zlib 0.99 
863
864         Added dictionary interface.
865
866         Fixed bug in gzreadline - previously it would keep returning
867         the same buffer. This bug was reported by Helmut Jarausch
868
869         Removed dependency to zutil.h and so dropped support for 
870         
871             DEF_MEM_LEVEL (use MAX_MEM_LEVEL instead)
872             DEF_WBITS     (use MAX_WBITS instead)
873
874   0.3 - Added prototype specification.
875
876   0.2 - Fixed a minor allocation problem in Zlib.xs
877
878   0.1 - first alpha release. 2nd October 1995