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