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