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