1CHANGES 2------- 3 4 2.101 20 February 2021 5 6 * fix version numbers in meta files 7 8 2.100 7 January 2021 9 10 * bin/zipdetails version 2.02 11 7556eba2e174e77d8cdd914b27be1b63e0830d29 update to version 2.02 12 237e9e52f26b7de92398513aa79e8153e65184e6 more fixes for defalte bitmask 13 b03cddfa5c73984eb802fed1c7ad19f43b6522cc fix bitmask for deflate compression level 14 15 * trim whitespace 16 6f5af76d71de1f9d3d1af79dca2f945c318d4e82 17 878f24f8a2de69ccb6d99e6f62ac9eaa89818476 18 19 * some POD updates for zstd 20 1466d8ade3618a6779bd86e1feba81bbe1c6b7c6 21 22 * Fix warnings once in multiple locations 23 https://github.com/pmqs/IO-Compress/pull/27 24 fdf9958972ab34609c3dce33cb5014ca3a197e82 25 26 * Avoid duplicate use statements 27 https://github.com/pmqs/IO-Compress/pull/26 28 11b34f5738187c4bf73aafd243e317c0748553ce 29 30 * Avoid using indirect calls 31 https://github.com/pmqs/IO-Compress/pull/19 32 29a7c586f7adf9d029715d55de31382fd27e8ed3 33 d7a4f6e5af9f9b400f8f84cf38b4d74f4702b4e0 34 35 2.096 31 July 2020 36 37 * Add Zip support for Zstd 38 508258baeeec51ba49c3c07d2dda7c19e3194985 39 40 * Add support for Zip/Unzip with XZ compression 41 6d240d3b3514d627a751ec82fe71f2e236301e19 42 3c0046e8bc65ef467b9153722609654d3ccc5bbd 43 44 2.095 19 July 2020 45 46 * Add Support for Zstandard in AnyUncompress 47 48 2.094 13 July 2020 49 50 * bin/zipdetails version 2 51 52 7acb49ff4ca67051deaffd7f988556dae0dd884b small update 53 f5988eebc21a4d0b96e0b094e6e9bf8d3dcb1763 Better error messages for missing Zip64 records 54 d224dcc321dd1ff120345ac3a19286ecdc79776f Add note about warning output 55 4caa0e5117c4c214f457d90f9a87d00772a79622 Add --version option 56 6c045c859d2b6bab0398833f207d7f9b803bbbab Version 2 57 df97743ffa1da816936e8ef504c9d561d66bb0ed Beef up some error cases 58 073129c4f44ebd3cc2c5381ffa824fc09b474c29 Rename a couple of unused signatures 59 72568c7d9edfd3e2fb6647dce6ea511e9caa186c update comment 60 1088199809cabb9c565ac23f065988683aacd323 Merge branch 'master' of https://github.com/pmqs/IO-Compress 61 ad987ab95e3f3fa02fcf526736ad2da78d327460 Merge pull request #10 from fabiensanglard/master 62 ac76d1b3d3f23077b1700778226edd68c50d81a8 fix typo 63 5950d7e724479f0eceffe68ae515ac117ff6a5ef Don't output "Extra Payload" if length is zero 64 dbd3160decd9b761dbad7aaae2ec46c0173125ef Merge pull request #12 from fabiensanglard/extra 65 7ae4a98124c9195ca5286e3ac7d2cbe37fa2b644 Recover from bad extra subfield 66 3e12e62916da31c003a7273293bc32bb9a31f85f Fix typo 67 f3a0a4717433d32743f17d40adc30e11bea60868 Fix wrong START offset 68 6f078dca715473276556afb0b8582bb69efa7230 Typo for Implode string "Shannon-Fano Trees" 69 4e25fed1a8e29518fa38f0610a5ca33ca41e9d89 some small documentation updates. 70 1be04bf4bd5fb023ad276ecabdbc170823bac465 Add decoder for 'Open Packaging Growth Hint' 71 2da58735bdbd1149863014dd08a7cea0334f52d5 update compression method 16 72 82a9612676ae192747b8bcbf586b09408c3b72ce Add extra fields 0x20-0x23 from APPNOTE 6.3.5 73 bc5e2ffbc560b236bc3be0f977ce744f2a2afbfb remove trailing whitespace 74 3f70119190671b00eb432e36904aa9dbb2fb8f69 minor documentation changes 75 76 2.093 7 December 2019 77 78 * No changes 79 80 2.092 4 December 2019 81 82 * No changes 83 84 2.091 23 November 2019 85 86 * 000prereq.t: Drop LZMA Module as optional 87 00d3c110ce6fd6e77dbede3e3aa6125394141891 88 3697a7ced67d0989f2678514e9b04cbec3198f12 89 7494437856fb815ba2d6b8762ef6fc623a6384e2 90 91 * 011streamzip.t: Fixes for 5.6 92 2078eb58c5f483341ac7e5c6fc5d48a0a752c585 93 2f370b8ffb09b5cc5ad0830f9ef798b24a62f424 94 30101188220dddbfaf1c42a2a91b9bac147909ab 95 96 2.090 9 November 2019 97 98 * MANIFEST error for streamzip 99 https://github.com/pmqs/IO-Compress/issues/6 100 70dd9bb4d27bd23d47ac9392320f55c124bc347b 101 102 2.089 3 November 2019 103 104 * bin/streamzip 105 Add streamzip to EXE_FILES 106 https://github.com/pmqs/IO-Compress/issues/5 107 7f5ed78e5652125c9ba78aab720e18d384d59c00 108 fb8cd6480af6303f58fd2e12d4999cd1830f0c5f 109 110 2.088 31 October 2019 111 112 * t/105oneshot-zip-only.t 113 Fix reset of CompSize 114 6034da95f1dc5a594edc0d26e6add8d86990ad56 115 116 * Add Support Details 117 ad66b6ec4cf175a70e53f74572eed5f403648f11 118 119 * Update site for Bzip2 to sourceware 120 77497aeb2a234889a2b2c4ac7ea2f620895b16a9 121 122 * Fix number of tests 123 bc4e234449a82fb00f66af752dfc4c96097b2a4d 124 125 * Add streamzip script to bin 126 76d2795d0587bafb0cc398e97142740acba82a42 127 128 * zipdetails 129 130 * Update zipdetails to version 1.11 131 8958cb3aa90745a4b3369479846846fdca6b4f76 132 133 * Zip64 extra field typo 134 f186380d701fe5257f9fc92d69160dc6382cfc24 135 136 * t/105oneshot-zip-only.t 137 test with deflated directory 138 16bfffcf5089af67cb7f68685cc61d06409cba73 139 140 * t/105oneshot-zip-only.t 141 Add test for encrypted Zip files 142 5ad813115aed000f88d7df28261b43c00ae56525 143 2c64e255feb5a1ee33d033f7eccb6feca12ebe97 144 145 * Documentation Updates 146 https://github.com/pmqs/IO-Compress/issues/2 147 e1fd0d4eda0a8496981cbd83ad06906f4ae586a5 148 149 * Mention xz, lzma etc 150 https://github.com/pmqs/IO-Compress/issues/4 151 126f7b9da97b572d0fb89a9bdcc190c5405c72b8 152 153 2.087 10 August 2019 154 155 * IO::Uncompress::Unzip 156 nextStream not updating filehandle correctly 157 https://github.com/pmqs/IO-Compress/issues/3 158 25152f04f5b1bd9341502e42a5877c72eac3f291 159 160 * Added travis & appveyor files for CI in GitHub 161 162 163 2.086 31 March 2019 164 165 * IO::Compress::Zip & IO::Uncompress::Unzip 166 Added support for Language Encoding Flag via the EFS option. 167 Starting point was pull request https://github.com/pmqs/IO-Compress/pull/1 168 169 * zipdetails - some support for MVS (Z390) zip files 170 171 * IO::Uncompress::Base 172 Issue with trailing data after zip archive 173 #128626 for IO-Compress: mainframe zip archive 174 175 * t/cz-14gzopen.t 176 cperl error found in http://www.cpantesters.org/cpan/report/448cafc4-3108-11e9-9b6b-d3d33d7b1231 177 Perl has this: "Not enough arguments for Compress::Zlib::gzopen" 178 cperl uses this: "Not enough arguments for subroutine entry Compress::Zlib::gzopen" 179 180 * Handlers being called when optional modules are not installed 181 #128538: $SIG{__DIE__} 182 183 * #128194: Beef up diag when system returns error 184 185 * Moved source to github https://github.com/pmqs/IO-Compress 186 187 * Add META_MERGE to Makefile.PL 188 189 * Added meta-json.t & meta-yaml.t 190 191 2.084 5 January 2019 192 193 * IO::Uncompress::AnyUncompress.pm 194 Added support for IO::Uncompress::Zstd and IO::Uncompress::UnLzip 195 196 2.083 30 December 2018 197 198 * IO::Compress::* 199 * IO::Uncompress::* 200 The BinModeIn and BinModeOut options in are now no-ops. 201 ALL files will be read/written in binmode. 202 203 * IO::Uncompress::Unzip 204 Fixed issue with unziping a member from a streamed zip file. 205 Issue triggered by a libreoffice document. 206 Test added to 105oneshot-zip-only.t 207 Thanks to Fabrizio Pivari for the bug report. 208 209 * Added U64::isZero 210 211 * bin/zipdetails 212 Added 'Data Stream Alignment' (tag 0xa11e) to extra fields. 213 Field sourced from https://support.pkware.com/display/PKZIP/Proposed+ZIP+Format+Specification+Additions 214 215 * Compress::Zlib.pm 216 #125140: Tiny POD error in Compress::Zlib 217 218 2.081 4 April 2018 219 220 * previous release used $^W instead of use warnings. Fixed. 221 222 2.080 2 April 2018 223 224 * bin/zipdetails 225 #124003: zipdetails SYNOPSIS section got a typo: zipdetaile-> zipdetails 226 227 * IO::Uncompress::Base.pm 228 Changes for Archive::Zip::SimpleUnzip 229 230 * bin/zipdetails 231 Fix issues with zip64 archives. 232 233 * bin/zipdetails 234 Cope with zip archives where there is padding data after the compressed payload. 235 Example is Microsoft appx file. 236 237 * File::GlobMapper 238 #120580: File::GlobMapper::$VERSION needs increment; trailing whitespace 239 240 * t/cz-03zlib-v1.t 241 valgrind errors fixed in Compress::Raw::Zlib 2.0.75 for issue #121074 242 #121076: uninitialized errors from valgrind 243 244 2.074 19 Feb 2017 245 246 * Fix bad 2.073 release 247 248 2.073 18 Feb 2017 249 250 * #120239: [PATCH] ISA fixes for c3 251 252 2.072 12 Feb 2017 253 254 * Makefile.PL 255 #120084: Need Fix for Makefile.PL depending on . in @INC 256 257 2.070 28 Dec 2016 258 259 * File::GlobMapper 260 #117675: Fix prototype errors while lazy loading the module 261 262 * zipdetails 263 #116538: CVE-2016-1238: avoid loading optional modules from default . 264 265 2.069 26 Sept 2015 266 267 * IO::Compress::FAQ 268 - Added a section of bgzip 269 RT #103295: IO::Compress Feature request 270 271 * IO::Compress::Zip 272 - Zip64 needs to be first in extra field to workaround a Windows Explorer Bug 273 See http://www.info-zip.org/phpBB3/viewtopic.php?f=3&t=440 for details 274 275 2.068 23 Dec 2014 276 277 * Disable running of some of the slower test harnesses by default. 278 COMPRESS_ZLIB_RUN_MOST needs set to run them. Make life more 279 bearable on legacy platforms 280 281 2.067 8 Dec 2014 282 283 * RT #100257: IO::Compress::RawDeflate unnecessarily loads IO::Seekable 284 285 2.066 21 Sept 2014 286 287 * IO::Uncompress::Gzip 288 Documentation of ExtraFlags stated the XFL values for BEST_COMPRESSION 289 and BEST_SPEED use the values 2 & 4 respectively. They should 290 be 4 & 2. Code for setting XFL was correct. 291 292 * RT #95494: IO::Uncompress::Gunzip: Can no longer gunzip to in-memory 293 file handle 294 295 2.064 1 February 2014 296 297 * RT #90216: IO-Compress/t/050interop-gzip.t: Use android-compatible 298 flags when calling gzip 299 300 2.063 20 October 2013 301 302 * RT#89305: Typo in Compress::Zlib _combine function documentation 303 304 2.062 11 August 2013 305 306 * RT#87335: [PATCH] Fix up tests for imminent bleadperl changes 307 308 * RT#84647: typo fixes 309 310 * RT#86814: IO::Compress::Gzip test t/100generic-bzip2.t hangs on Cygwin 311 312 2.061 19 May 2013 313 314 * zipdetails (1.06) 315 Get it to cope with Android 'zipalign' non-standard extra fields. 316 These are used to make sure that a non-compressed member starts on 317 a 4 byte boundary. 318 319 * RT#84647: unzip example with IO::Uncompress::Unzip 320 321 2.060 7 January 2013 322 323 * Updated POD 324 RT# 82138: Example code not clear - gunzip() takes filenames! 325 326 * IO::Compress::Base 327 Remove the flush call when opening a filehandle. 328 329 2.059 10 December 2012 330 331 * IO::Compress::Base 332 Added "Encode" option. 333 Fixes the encoding half of RT# 42656. Decode is still TODO 334 335 2.058 12 November 2012 336 337 * RT# 81119: Latest IO::Compress 2.057 fails tests on 5.8.x 338 339 2.057 10 November 2012 340 341 * IO::Compress::Zip 342 Allow member name & Zip Comment to be "0" 343 344 * IO::Compress::Base::Common 345 Remove "-r" test - the file open will catch this. 346 RT# 80855: IO::Compress::Base::Common returns that it cannot read readable files in NFS 347 348 * RT# 79820: Install to 'site' instead of 'perl' when perl version is 5.11+ 349 350 * General Performance improvements. 351 352 2.055 5 August 2012 353 354 * FAQ 355 Added a few paragraphs on how to deal with pbzip2 files 356 [RT# #77743: Interoperability problems with pbzip2] 357 358 * Compress::Zip 359 speed up compress, uncompress, memGzip & memGunzip. 360 [RT# #77350: Compress::Zlib::uncompress() is slowed down needlessly 361 by parameter validation 362 363 2.052 29 April 2012 364 365 * IO::Compress::Zip 366 Force a ZIP64 archive when it contains >= 0xFFFF entries. 367 368 * Typos in POD 369 [RT# #76130: Gunzip Pod typo in OO section: $$output instead of $$input 370 371 2.049 18 February 2012 372 373 * IO::Compress::Zip 374 Error in t/cz-03zlib-v1.t that caused warnings with 5.15 375 [RT# 110736: warnings from cpan/IO-Compress/t/cz-03zlib-v1.t] 376 377 2.048 29 January 2012 378 379 * Set minimum zlib version to 1.2.0 380 381 * IO::Compress test suite fails with Compress::Raw::Zlib 2.047 382 and zlib < 1.2.4 383 [RT# 74503] 384 385 2.047 28 January 2012 386 387 * Set minimum Perl version to 5.6 388 389 * IO::Compress::Zip 390 - In one-shot zip, set the Text Flag if "-T" thinks the file is a 391 text file. 392 - In one-shot mode, wrote mod time & access time in wrong order 393 in the "UT" extended field. 394 395 2.046 18 December 2011 396 397 * Minor update to bin/zipdetails 398 399 * Typo in name of IO::Compress::FAQ.pod 400 401 * IO::Uncompress::Unzip 402 - Example for walking a zip file used eof to control the outer 403 loop. This is wrong. 404 405 * IO::Compress::Zip 406 - Change default for CanonicalName to false. 407 [RT# 72974] 408 409 2.045 3 December 2011 410 411 * Restructured IO::Compress::FAQ.pod 412 413 2.044 2 December 2011 414 415 * Moved FAQ.pod under the lib directory so it can get installed 416 417 * Added bin/zipdetails 418 419 * IO::Compress::Zip 420 - In one-shot mode enable Zip64 mode if the input file/buffer 421 >= 0xFFFFFFFF bytes. 422 423 * IO::Compress::FAQ 424 - Updates 425 426 2.043 20 November 2011 427 428 * IO::Compress::Base 429 - Fixed issue that with handling of Zip files with two (or more) 430 entries that were STORED. Symptom is the first is uncompressed 431 ok, but the next will terminate early if the size of the file is 432 greater than BlockSize. 433 Regression test added to t/006zip.t 434 [RT# 72548] 435 436 2.042 17 November 2011 437 438 * IO::Compress::Zip 439 - Added exUnixN option to allow creation of the "ux" extra field. 440 This allows 32-bit UID/GID to be stored. 441 - In one-shot mode use exUnixN rather than exUnix2 for the UID/GID. 442 443 * IO::Compress::Zlib::Extra::parseExtraField 444 - Fixed bad test for length of ID field 445 [RT# 72329 & #72505] 446 447 2.040 28 October 2011 448 449 * t/105oneshot-zip-only.t 450 - CanonicalName test failure on Windows 451 [RT# 68926] 452 453 * IO::Compress::Zip 454 - ExtAttr now populates MSDOS attributes 455 456 2.039 28 October 2011 457 458 * IO::Compress::Zip 459 - Added CanonicalName option. 460 Note this option is set to true by default. 461 - Added FilterName option 462 463 * IO::Unompress::Base 464 - Fixed issue where setting $\ would corrupt the uncompressed data. 465 Thanks to Steffen Goeldner for reporting the issue. 466 467 * t/050interop-*.t 468 - Handle case when external command contains a whitespace 469 RT #71335 470 471 2.037 22 June 2011 472 473 * IO::Uncompress 474 - get globmapper tests working on VMS 475 [RT# 68926] 476 477 * IO::Uncompress::Unzip 478 - Fixed limitation where Streamed Stored content was not supported. 479 480 2.036 18 June 2011 481 482 * IO::Compress::Zip & IO::Uncompress::Unzip 483 - Added support for LZMA (method 14) compression/uncompresion. 484 485 * IO::Compress::Unzip 486 - Fixed CRC issue when compression is Store or Bzip2 and Strict option 487 is set. 488 489 * IO::Compress::Zip 490 - Fixed Zip64 issue where the content size is exactly 0xFFFFFFFF 491 492 2.035 6 May 2011 493 494 * RT #67931: Test failure on Windows 495 496 2.034 2 May 2011 497 498 * Compress::Zlib 499 - Silence pod warnings. 500 [RT# 64876] 501 502 - Removed duplicate words in pod. 503 504 * IO::Compress::Base 505 506 - RT #56942: Testsuite fails when being run in parallel 507 508 - Reduce symbol import - patch from J. Nick Koston 509 510 - If the output buffer parameter passed to read has a value of 511 undef, and Append mode was specified when the file was opened, 512 and eof is reached, then the buffer paramer was left as undef. 513 This is different from when Append isn't specified - the buffer 514 parameter is set to an empty string. 515 516 - There are a couple of issues with reading a file that contains an 517 empty file that is compressed. 518 Create with -- touch /tmp/empty; gzip /tmp/empty. 519 Issue 1 - eof is not true immediately. Have to read from the file 520 to trigger eof. 521 Issue 2 - readline incorrectly returns an empty string the first 522 time it is called, and (correctly) undef thereafter. 523 [RT #67554] 524 525 2.033 11 Jan 2011 526 527 * Fixed typos & spelling errors. 528 [perl# 81816] 529 530 2.032 4 Jan 2011 531 532 * IO::Uncompress::Base 533 - An input file that had a valid header, and so would allow 534 creation of the uncompression object, but was then followed by 535 corrupt data would trigger an infinite loop when using the 536 input line oprator. 537 [RT #61915] 538 539 * IO::Compress::Gzip 540 - XFL default settings for max compression & fastest algorithm were 541 the wrong way around. Thanks to Andrey Zholos for spotting this. 542 543 * IO::Compress::Base::Common 544 - Fixed precedence problem in parameter parsing code. 545 546 2.030 22 July 2010 547 548 * IO::Compress::Zip 549 - Updates to documentation. 550 - Changes default value for ExtAttr on Unix to 0100644 551 552 * IO::Uncompress::Unzip 553 Reworked the "Name" option and examples in the pod. 554 555 * IO::Uncompress::Base 556 Fixed problem with nextStream not returning 0 when there is no 557 next stream and Transparent is false. 558 559 2.027 24 April 2010 560 561 * Compress::Zlib 562 Remove autoload code from Zlib.pm. 563 [perl #74088] 564 565 2.026 7 April 2010 566 567 * IO::Uncompress::Zip 568 - Some updates to IO::Compress::Zip documentation. 569 - Fixed default setting for ExtAttr. 570 571 572 2.025 27 March 2010 573 574 * IO::Uncompress::Unzip 575 The "Name" option wasn't documented. 576 577 * Allow zlib version check to be disabled by setting 578 TEST_SKIP_VERSION_CHECK environment variable. 579 [RT #54510] 580 581 2.024 7 January 2010 582 583 * Compress::Zlib 584 Get memGunzip & memGzip to set $gzerrno 585 [RT# 47283] 586 587 * Compress::Zlib 588 Export memGunzip, memGzip and zlib_version on demand 589 [RT# 52992] 590 591 * examples/io/anycat 592 This sample was using IO::Uncompress::AnyInflate. Much better to 593 use IO::Uncompress::AnyUncompress. 594 595 2.023 9 November 2009 596 597 * IO::Compress::AnyUncompress 598 Added support for lzma_alone & xz. 599 600 2.022 9 October 2009 601 602 * IO::Compress - Makefile.PL 603 Fix for core. 604 605 2.021 30 August 2009 606 607 * IO::Compress::Base.pm 608 - Less warnnings when reading from a closed filehandle. 609 [RT# 48350] 610 - Fixed minor typo in an error message. 611 [RT# 39719] 612 613 * Makefile.PL 614 The PREREQ_PM dependency on Scalar::Util got dropped when 615 IO-Compress was created in 2.017. 616 [RT# 47509] 617 618 * IO::Compress::Zip.pm 619 - Removed restriction that zip64 is only supported in streaming 620 mode. 621 - The "version made by" and "extract" fields in the zip64 end 622 central record were swapped. 623 - In the End Central Header record the "offset to the start of the 624 central directory" will now always be set to 0xFFFFFFFF when 625 zip64 is enabled. 626 - In the End Central Header record the "total entries in the 627 central directory" field will be set to 0xFFFF if zip64 is 628 enabled AND there are more than 0xFFFF entries present. 629 630 * IO::Uncompress::Unzip.pm 631 - Don't consume lots of memory when walking a zip file. This makes 632 life more bearable when dealing with zip64. 633 634 * Compress::Zlib.pm 635 - documented that memGunzip cannot cope with concatenated gzip data 636 streams. 637 638 * Changed test harness so that it can cope with PERL5OPT=-MCarp=verbose 639 [RT# 47225] 640 641 * IO::Compress::Gzip::Constants.pm 642 - GZIP_FEXTRA_MAX_SIZE was set to 0xFF. Should be 0xFFFF. This 643 issue came up when attempting to unzip a file created by MS 644 Office 2007. 645 646 2.020 3 June 2009 647 648 * IO::Uncompress::Base.pm 649 - Fixed problem with LimitOutput where a call to uncompress 650 created more uncompressed output, but didn't consume any of 651 the input buffer. The symptom is the underlying compression 652 library (zlib or bzip2) thinks the input stream is corrupt. 653 [RT #46582] 654 655 2.019 4 May 2009 656 657 * IO::Uncompress::Adapter::Bunzip2 658 - Fixed problem with EOF check. 659 660 2.018 3 May 2009 661 662 * IO::Uncompress::Bunzip2 663 - The interface to Compress-Raw-Bzip2 now uses the new LimitOutput 664 feature. This will make all of the bzip2-related IO-Compress modules 665 less greedy in their memory consumption. 666 667 * IO::Compress::Zip 668 - Fixed exTime & exUnix2 669 670 - Fixed 'Use of uninitialized value in pack' warning when using 671 ZIP_CM_STORE. 672 673 2.017 30 March 2009 674 675 * Merged IO-Compress-Base, IO-Compress-Bzip2, IO-Compress-Zlib & 676 Compress-Zlib into IO-Compress. 677 678 * The interface to Compress-Raw-Zlib now uses the new LimitOutput 679 feature. This will make all of the zlib-related IO-Compress modules 680 less greedy in their memory consumption. 681 682 * Removed MAN3PODS from Makefile.PL 683 684 * A few changes to get the test harness to work on VMS courtesy of 685 Craig. A. Berry. 686 687 * IO::Compress::Base & IO::Uncompress::Base 688 Downgraded some croaks in the constructors to just set $! (by letting 689 the code attempt to open a file and fail). 690 This makes the behavior more consistent to a standard open. 691 [RT #42657] 692 693 * IO::Uncompress::Base 694 Doing a seek with MultiStream could drop some of the uncompressed 695 data. Fixed. 696 697 * IO::Compress::Zip 698 - Fixed problem with the uncompressed & uncompressed fields when 699 zip64 is enabled. They were set to 0x0000FFFF instead of 700 0xFFFFFFFF. Also the ZIP64 extra field was 4 bytes short. 701 Problem spotted by Dino Chiesa. 702 703 * IO::Uncompress::Unzip 704 - use POSIX::mktime instead of Time::Local::timelocal to convert 705 the zip DOS time field into Unix time. 706 707 * Compress::Zlib 708 - Documented Compress::Zlib::zlib_version() 709 710 711 2.015 3 September 2008 712 713 * Makefile.PL 714 Backout changes made in 2.014 715 716 2.014 2 September 2008 717 718 * Makefile.PL 719 Updated to check for indirect dependencies. 720 721 2.013 18 July 2008 722 723 * IO::Compress::Base 724 - Allow IO::Compress::Base::Parameters::parse to accept an 725 IO::Compress::Base::Parameters object. 726 727 2.012 15 July 2008 728 729 * IO::Compress::Base 730 - Silenced an uninitialised value warning when reading a line 731 at a time from a zip file where the content uses ZIP_CM_STORE. 732 [Problem spotted & fixed by Jeff Holt] 733 734 * IO::Compress::Base & IO::Uncompress::Base 735 - local-ise $!, $? et al in the DESTROY methods. 736 737 2.011 17 May 2008 738 739 * IO::Compress::Base 740 - Fixed problem that prevented the creation of a zip file that 741 contained more than one compression method. 742 743 * IO::Compress::Base::Common 744 - The private Validator class in this module clashes with another 745 CPAN module. Moved Validator into the IO::Compress::Base::Common 746 namespace. 747 [RT #35954] 748 749 * IO::Uncompress::Unzip 750 - Print an error message if the zip file contains a 751 member compressed with bzip2 and IO::Uncompress::Bunzip2 is 752 not available. 753 - Could not cope with mixed compression zip files. For example a 754 zip file that contains both STORED and DEFLATED content. 755 [RT #35573] 756 757 2.010 5 May 2008 758 759 * Fixed problem that meant Perl 5.10 could not upgrade this module. 760 [RT #35342 & 35341] 761 762 2.009 20 April 2008 763 764 * Removed the alpha status from File::GlobMapper 765 766 * IO::Compress::Base 767 When writing output never output a zero length buffer. 768 Done to improve interoperability with other tied filenandle 769 modules. 770 771 * Changed IO::Uncompress::Base to not use the offset parameter of 772 the read method when reading from a filehandle. 773 774 The object returned from Net::FTP::retr implements a non-standard 775 read method. The third parameter is used for a timeout value 776 rather than an offset. 777 [rt.cpan#33231] 778 779 * Changed IO::Uncompress::Base to not use the eof method when 780 reading from a filehandle. 781 782 The object returned from Net::FTP::retr implements both the read 783 method and the eof method. Unfortunately the implementation of 784 the read method uses non-buffered IO (by using sysread) while 785 the eof method uses buffered IO. Mixing buffered and non-buffered 786 IO results in data corruption. 787 788 * IO::Compress::Zip 789 790 - Added exUnix2 option to allow storing of UID & GID. 791 - When running on a Unix derivative the ExtAttr option now defaults 792 to the equivalent of 0666. For all other systems the default 793 remains 0. 794 795 * Compress::Zlib 796 - Minor documentation issue with flush. 797 [rt.cpan.org #31446] 798 799 800 2.008 2 November 2007 801 802 * Minor documentation changes in README 803 804 * t/compress/truncate.pl 805 EBCDIC Cleanup. 806 807 * IO::Compress::Gzip::Constants.pm 808 Tidied up the character classes used to defined invalid 809 FNAME & FCOMMENT fields for EBCDIC. 810 811 * Compress::Zlib 812 lib/Compress/Zlib.pm -- 1.x Backward Compatibility issues 813 gzclose - documented return value was wrong, should be 0 for ok. 814 gzflush - return value didn't match 1.x, should return 0 if ok. 815 [rt.cpan.org #29215] and Debian bug #440943 http://bugs.debian.org/440943 816 817 2.006 1 September 20007 818 819 * Makefile.PL 820 Added INSTALLDIRS directive to install as a core module when built 821 on a perl >= 5.9. 822 823 * IO::Uncompress::RawDeflate 824 825 - Fixed export problem - "$RawDeflateError" and "rawdeflate" were 826 not being exported with ":all". 827 828 * Compress::Zlib 829 - t/03zlib-v1.t 830 Fixed crc32 and adler32 tests in to remove ascii assumption. 831 832 - lib/Compress/Zlib.pm 833 Make gzreadline not support $/, just like in Compress::Zlib 1.x 834 Folk who want $/ with readline support can get it in 835 IO::Uncompress::Gunzip. [rt.cpan.org #28663] and 836 Debian bug #435656 http://bugs.debian.org/435656 837 838 839 2.005 18 June 2007 840 841 * Stephen Turner reported a problem when using IO::Uncompress::Gunzip 842 with XML::Parser. Turns out there were two issues. 843 844 Firstly an IO::Uncompress object isn't an IO::Handle. It is now. 845 846 Secondly the implementation of "read" wasn't honouring this 847 848 SCALAR will be grown or shrunk to the length actually read. 849 850 In particular it didn't do the right thing on EOF. 851 This has been fixed. 852 853 * IO::Compress::Gzip & IO::Uncompress::Gunzip 854 855 - RFC1952 says that the FNAME & FCOMMENT header fields must be ISO 856 8859-1 (LATIN-1) characters. The code can optionally police this. 857 Added a fix for this logic when running on EBCDIC. 858 859 * Compress::Zlib 860 Added info about removing Compress::Zlib version 1, before 861 installing version 2. 862 863 2.004 3 March 2007 864 865 * Made seek less wasteful of memory. 866 867 * IO::Compress::Zip 868 869 - Added Zip64 documentation. 870 871 - Fixed extended timestamp. 872 Creation time isn't available in Unix so only store the 873 modification time and the last access time in the extended field. 874 875 - Fixed file mode. 876 877 - Added ExtAttr option to control the value of the "external file 878 attributes" field in the central directory. 879 880 - Added Unix2 extended attribute ("Ux"). 881 This stores the UID & GID. 882 883 * IO::Compress::Gzip 884 885 - Fixed 050interop-gzip.t for Windows 886 887 * IO::Compress::Bzip2 888 889 - Fixed 050interop-bzip2.t for Windows 890 891 * Compress::Zlib 892 893 - rewrote memGzip using IO::Compress::Gzip::gzip 894 895 2.003 2 January 2007 896 897 * Added explicit version checking 898 899 2.002 29 December 2006 900 901 * Documentation updates. 902 903 * Added IO::Handle to the ISA test in isaFilehandle 904 905 * Add an explicit use_ok test for Scalar::Util in the test harness. 906 The error message reported by 01misc implied the problem was 907 somewhere else. 908 Also explicitly check that 'dualvar' is available. 909 910 * Compress::Zlib 911 - Fix append mode with gzopen. 912 rt-cpan.org 24041 913 914 - Allow gzopen to read from and write to a scalar reference. 915 916 2.001 1 November 2006 917 918 * Remove beta status. 919 920 2.000_14 26 October 2006 921 922 * IO::Uncompress::Base 923 Added support for $/ in record mode 924 925 * IO::Uncompress::Base 926 The readline interface was substantially slower than the 1.x 927 equivalent. This has now been sorted. 928 Thanks to Andreas J. Koenig for spotting the problem. 929 930 * IO::Uncompress::AnyUncompress 931 Added IO::Uncompress::Lzf to the list of supported uncompressors. 932 933 * IO::Uncompress::Base 934 Added TrailingData to one-shot interface. 935 936 * IO::Uncompress::AnyUncompress 937 Remove raw-deflate (RFC1951) from the default list of compressors 938 to check. 939 It can still be included if the new RawInflate parameter is 940 supplied. 941 This change was made because the only way to tell if content is 942 raw-deflate is to attempt to uncompress it - a few false positives 943 have popped up recently, which suggests that auto-detecting raw 944 deflate is far from perfect. 945 The equivalent change has been made to IO::Uncompress::AnyInflate. 946 [Core patch #28445] 947 948 * Don't check that filehandles are writable. It would seem that 949 "-w *STDOUT" on windows returns false. 950 [Core Patch #28415] 951 952 * IO::Uncompress::Deflate 953 Beefed up the magic signature check. Means less false positives 954 when auto-detecting the compression type. 955 956 * IO::Uncompress::UnZip 957 Tighten up the zip64 extra field processing to cope with the case 958 wheere only some of the local header fields are superseded. 959 960 * IO::Uncompress::AnyInflate 961 Remove raw-deflate (RFC 1951) from the default list of compressors 962 to check. 963 It can still be included if the new RawInflate parameter is 964 supplied. 965 This change was made because the only way to tell if content is 966 raw-deflate is to attempt to uncompress it - a few false positives 967 have popped up recently, which suggests that auto-detecting raw 968 deflate is far from perfect. 969 The equivalent change has been made to IO::Uncompress::AnyUncompress. 970 [Core patch #28445] 971 972 2.000_13 20 June 2006 973 974 * Store compress & uncompressed sizes as 64-bit. 975 976 * For one-shot uncompression, like this 977 978 unzip "some.zip" => \@a, MultiStream => 1; 979 980 Push each uncompressed stream from "some.zip" onto @a. 981 982 * Added IO::Compress::Base::FilterEnvelope 983 984 * Added IO::Uncompress::Base::nextStream 985 986 * The '-' filehandle now maps to either *STDIN or *STDOUT. 987 This keeps mod_perl happier. Was using these before 988 989 new IO::File("<-") 990 new IO::File(">-") 991 992 * Preliminary support for reading zip files with zip64 members. 993 994 2.000_12 3 May 2006 995 996 * Moved the code for creating and parsing the gzip extra field into 997 IO::Compress::Zlib::Extra.pm so that IO::Compress::Zip & 998 IO::Uncompress::Unzip can use it as well. 999 1000 * Added ExtraFieldLocal & ExtraFieldCentral options to IO::Compress::Zip. 1001 These allow the creation of user-defined extra fields in the local 1002 and central headers, just like the ExtraField option in 1003 IO::Compress::Gzip. 1004 1005 * Moved the zip constants into IO::Compress::Zip::Constants 1006 1007 * Added exTime option to IO::Compress::Zip. 1008 This allows creation of the extended timestamp extra field. 1009 1010 * Added Minimal option to IO::Compress::Zip. 1011 This disables the creation of all extended fields. 1012 1013 * Added TextFlag option to IO::Compress::Zip. 1014 1015 * Documented Comment and ZipComment options in IO::Compress::Zip. 1016 1017 * Compress::Zlib 1018 Fixed gzread to zap the output buffer to an empty string when zero 1019 bytes are requested. This matches the behaviour of C::Z 1.x 1020 1021 2.000_11 10 April 2006 1022 1023 * Transparent + InputLength made more robust where input data is not 1024 compressed. 1025 1026 * Updated Documentation for zip modules. 1027 1028 * Changed IO::Compress::Zip 'Store' option to 'Method' and added 1029 symbolic constants ZIP_CM_STORE, ZIP_CM_DEFLATE and ZIP_CM_BZIP2 to 1030 allow the compression method to be picked by the user. 1031 1032 * Added support to allow bzip2 compressed data to be written/read 1033 with IO::Compress::Zip and IO::Uncompress::Unzip. 1034 1035 * Beefed up 050interop-gzip.t to check that the external gzip command 1036 works as expected before starting the tests. This means that 1037 this test harness will just be skipped on problematic systems. 1038 1039 * Merged core patch 27565 from Steve Peters. This works around a 1040 problem with gzip on OpenBSD where it doesn't seem to like 1041 compressing files < 10 bytes long. 1042 1043 * Beefed up 050interop-bzip2.t to check that the external bzip2 command 1044 works as expected before starting the tests. This means that 1045 this test harness will just be skipped on problematic systems. 1046 1047 2.000_10 13 March 2006 1048 1049 * AnyUncompress doesn't assume that IO-Compress-Zlib is installed any 1050 more. 1051 1052 * Documentation updates. 1053 1054 * Compress::Zlib 1055 Changed gzread so that its behaviour matches C::Z::gzread 1.x if it 1056 is called after eof. In this case it will write an empty string 1057 into the output parameter. This change is solely for backward 1058 compatibility reasons. 1059 1060 2.000_09 3 March 2006 1061 1062 * Released to CPAN. 1063 1064 2.000_08 2 March 2006 1065 1066 * Split IO::Compress::Base into its own distribution. 1067 1068 * Split IO::Compress::Bzip2 into its own distribution. 1069 1070 * Added opened, autoflush and input_line_number. 1071 1072 * Beefed up support for $. 1073 1074 * Split IO::Compress::Zlib into its own distribution. 1075 1076 * Beefed up support for zip/unzip 1077 1078 * Breakout zlib specific code into separate modules. 1079 1080 * Limited support for reading/writing zip files 1081 1082 2.000_06 5 October 2005 1083 1084 * Added eof parameter to Compress::Zlib::inflate method. 1085 1086 * Fixed issue with 64-bit 1087 1088 2.000_05 4 October 2005 1089 1090 * Renamed IO::* to IO::Compress::* & IO::Uncompress::* 1091 1092 2.000_04 23 September 2005 1093 1094 * Fixed some more non-portable test that were failing on VMS. 1095 1096 * fixed problem where error messages in the oneshot interface were 1097 getting lost. 1098 1099 2.000_03 12 September 2005 1100 1101 * Fixed some non-portable test that were failing on VMS. 1102 1103 * Fixed export of zlib constants from the IO::* classes 1104 1105 2.000_02 6 September 2005 1106 1107 * Split Append mode into Append and Merge 1108 1109 * Fixed typos in the documentation. 1110 1111 * Added pod/FAQ.pod 1112 1113 * Added libscan to Makefile.PL 1114 1115 * Added InputLength for IO::Gunzip et al 1116 1117 2.000_01 22 August 2005 1118 1119 * Fixed VERSION in Compress::Gzip::Constants 1120 1121 * Removed Compress::Gzip::Info from the distribution. 1122 1123 2.000_00 21 August 2005 1124 1125 * First Beta relase of Compress::zlib rewrite. 1126 1127Compress-Zlib version 1 Changes 1128 1129 1.38 - 6 September 2005 1130 1131 * Integrate core change 25304 -- Symbian Update 1132 1133 * Added libscan to Makefile.PL 1134 1135 1.37 - 12 August 2005 1136 1137 * Change to t/03examples.t for VMS from Abe Timmerman 1138 1139 1.36 - 3 August 2005 1140 1141 * Renamed zlib-src-1.2.3 to zlib-src to help VMS 1142 1143 * Fixed Makefile.PL for VMS 1144 1145 * Fixed t/03examples.t for VMS 1146 1147 * Added a couple of notes about incompatibility with Unix compress. 1148 1149 1.35 - 16 July 2005 1150 1151 * Updated zlib source to 1.2.3 1152 1153 * Fixed problem with where two calls to gzclose would hang the debugger. 1154 See https://rt.cpan.org/Ticket/Display.html?id=13789 1155 1156 * Added code from Alexey Tourbin to use XSLoader when available, 1157 and DynaLoader otherwise. 1158 1159 * Documented that the compress & uncompress functions were not 1160 the same as the Unix utilities of the same name. 1161 1162 * Fixed 05gzsetp -- it left a temp file hanging around. 1163 1164 * Integrate core change 24787 - SvUPGRADE returns void in blead 1165 1166 * Integrate core change 24788 - Makefile.PL adjustments for the core 1167 1168 1169 1.34 - 30 January 2005 1170 1171 * Fixed typo in the README 1172 1173 * Fixed examples.t on Win32 where paths have embedded whitespace. 1174 1175 * Fix for Cygwin and core integration from Jos I. Boumans 1176 1177 * Upgrade zlib source to 1.2.2 1178 1179 1.33 - 14 January 2004 1180 1181 * Reworked Makefile.PL to avoid creating a private copy of zlib. 1182 This both simplifies the build, plus it makes life easier for VMS. 1183 1184 * Patches for Makefile.PL to get it to work on VMS supplied by 1185 Craig A. Berry. 1186 1187 * memGunzip has very slow on FreeBSD. Turns out to be down to 1188 the way realloc works on FreeBSD. Changed both inflate & deflate 1189 to use exponentially increasing buffer sizes when they need to 1190 realloc. Thanks to Peter Jeremy for the lowdown on FreeBSD 1191 memory allocation. 1192 1193 1.32 - 26 November 2003 1194 1195 * Steve Hay reported a problem on rt.cpan.org with Windows and 1196 MSCV++ 6.0 where the source from the zlib directory was getting 1197 installed with the rest of the module. 1198 https://rt.cpan.org/Ticket/Display.html?id=1741 1199 1200 This has been fixed by renaming the "zlib" directory to "zlib-src" 1201 thus avoiding a conflict with the name of this Perl module. 1202 1203 * Fixed a bug in the inflate method where the input buffer is an 1204 lvalue (via substr). Problem & solution reported by Salvador Fandiqo. 1205 1206 * Tightened up the logic in Makefile.PL when BUILD_ZLIB is 1207 True. Issue spotted by Ralf S. Engelschall. 1208 1209 1.31 - 29 October 2003 1210 1211 * Reinstated the creation of .bak files - $^I seems to need a 1212 backup file on Windows. For OpenVMS, the extension _bak is used. 1213 1214 1.30 - 28 October 2003 1215 1216 * Bundled a sub-set of the zlib source with the module and changed 1217 the default make behaviour to build with the included zlib source. 1218 The previous behaviour of using a pre-built zlib library is 1219 still available for those that want it. 1220 1221 * Added prototypes to the subs in Zlib.pm that didn't already have 1222 them. Patch from Ed Avis. 1223 1224 * No .bak files are created by Makefile.PL any more - this keep 1225 distclean much happier. Patch suggested by Ed Avis. 1226 This also fixes a similar problem reported by Dr. Martin Zinser 1227 on OpenVMS. 1228 1229 * Documentation for some of the gz functions updated. 1230 1231 * Format strings modified in DispStream to keep OpenVMS happy. 1232 Problem reported by Dr. Martin Zinser. 1233 1234 1235 1.22 - 17 June 2003 1236 1237 * Makefile.PL now displays a warning about not installing 1238 Compress::Zlib via the CPAN shell. 1239 1240 * Fix to allow intermingling of gzread & gzreadline - patch 1241 supplied by Doug Perham. 1242 1243 * memGunzip will silently now work if the gzip trailer is 1244 missing. Some HTTP Origin Servers seem to leave it out. 1245 1246 1.21 - 28 April 2003 1247 1248 * Tests 148 & 150 from t/02zlib.t were failing on redhat 9. 1249 1250 * Added a few words about the problems with Mac OS X to the README file. 1251 1252 1.20 - 4 April 2003 1253 1254 * Fixed bug in gzopen where $gzerrno wasn't being set correctly. 1255 The symptom was $gzerrno was set to Z_MEM_ERROR although the file 1256 was opened ok. If gzopen failed, $gzerrno was being set correctly. 1257 This problem wasn't spotted before because the typical test 1258 to determine whether gzopen passed or failed was to check its 1259 return value. 1260 1261 1.19 - 31 October 2002 1262 1263 * fixed a problem with t/02zlib.t that was failing with redhat 8. 1264 1265 1.18 - 24 October 2002 1266 1267 * fixed a Win32 problem in t/02zlib.t by changing sysread to read. 1268 1269 * zlib 1.0.5 & older doesn't have gzsetparams & gzeof. Added a new 1270 variable to config.in to flag an old version of zlib. Split 1271 out the tests for gzsetparams into t/05gzsetp.t 1272 1273 1.17 - 23 May 2002 1274 1275 * Moved the test to check the versions of libz & zlib.h into a separate 1276 file and added troubleshooting notes to README. 1277 1278 * In gzopen, only attempt to call "tell" for normal files. 1279 1280 * Fixed to work in taint mode. 1281 1282 * Broke changes out of README into Changes file. 1283 1284 * Replaced internal use of Z_PARTIAL_FLUSH symbol with Z_SYNC_FLUSH. 1285 zlib.h says /* will be removed, use Z_SYNC_FLUSH instead */ 1286 1287 1.16 - 13 December 2001 1288 1289 * Fixed bug in Makefile.PL that stopped "perl Makefile.PL PREFIX=..." 1290 working. 1291 1292 1.15 - 4th December 2001 1293 1294 * Changes a few types to get the module to build on 64-bit Solaris 1295 1296 * Changed the up/downgrade logic to default to the older constructs, and 1297 to only call a downgrade if specifically requested. Some older versions 1298 of Perl were having problems with the in-place edit. 1299 1300 * added the new XS constant code. 1301 1302 1.14 - 27th August 2001 1303 1304 * Memory overwrite bug fixed in "inflate". Kudos to Rob Simons for 1305 reporting the bug and to Anton Berezin for fixing it for me. 1306 1307 1.13 - 31st June 2001 1308 1309 * Make sure config.in is consistent when released. 1310 1311 1.12 - 28th April 2001 1312 1313 * Modified Makefile.PL to only enable the warnings pragma if 1314 using perl 5.6.1 or better. 1315 1316 1.11 - 17th February 2001 1317 1318 * Added logic in Makefile.PL to toggle between using $^W and 1319 the warnings pragma in the module. 1320 1321 * The module, the examples & the test harness are now all strict 1322 & warnings clean. 1323 1324 1.10 - 5th February 2001 1325 1326 * fixed a bug in memGunzip. Used Z_ERR instead of Z_DATA_ERROR. 1327 1328 1.09 - 15th January 2001 1329 1330 * Silenced a few compiler warnings. 1331 1332 * Updated zlib home site in README & Zlib.pm to www.info-zip.org 1333 1334 * Minor typo in Zlib.pm - a link used AUTHORS instead of AUTHOR 1335 -- spotted by Frank Martini. 1336 1337 * Mention Archive::Zip 1338 1339 * added memGunzip. This is largely based on code provided by Jim Leonard. 1340 1341 * $deflate->flush can now take an optional parameter. Valid 1342 values are Z_NO_FLUSH, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, Z_FULL_FLUSH 1343 and Z_FINISH. The default is Z_FINISH. 1344 1345 1.08 - 6 Jan 2000 1346 1347 * uncompress was clobbering its input parameter. Now it doesn't. 1348 This bug was spotted by Deven T. Corzine. 1349 1350 * If a variable that only ever contained a number was given 1351 to compress or deflate, it would not be compressed properly. Now 1352 it will be coerced to a string and then compressed. This bug 1353 was spotted by Deven T. Corzine. 1354 1355 1.07 - 27 Nov 1999 1356 1357 * ANSI-ified the static functions in Zlib.xs 1358 1359 * Added the ability to build zlib along with the module. 1360 This feature is 90% based on a Makefile provided by Gurusamy 1361 Sarathy. 1362 1363 1.06 - 20 Sep 1999 1364 1365 * Fixed a nasty problem where inflate could truncate the data 1366 returned. Thanks to Douglas Thomson <dougt@mugc.cc.monash.edu.au> 1367 for both spotting the problem and fixing the bug. 1368 1369 * Added a note about the undocumented features in zlib that are 1370 required when accessing zip files. 1371 1372 * gzclose will now get called automatically when the gzip object is 1373 destroyed. 1374 1375 1.05 - 3 June 1999 1376 1377 * Previous release used newSVpvn, which doesn't exist in 5.004_04 1378 or earlier. Changed to use newSVpv instead. 1379 1380 * The module needs Perl 5.004 or better, so updated the version 1381 checking in Zlib.pm and Makefile.PL 1382 1383 1.04 - 27 May 1999 1384 1385 * Bug 19990527.001: compress(undef) core dumps -- Fixed. 1386 1387 1.03 - 17 Mar 1999 1388 1389 * Updated to use the new PL_ symbols. 1390 Means the module can be built with Perl 5.005_5* 1391 1392 1.02 - 31 Jan 1999 1393 1394 * The return codes for gzread, gzreadline and gzwrite were 1395 documented incorrectly as returning a status code. 1396 1397 * The test harness was missing a "gzclose". This caused problem 1398 showed up on an amiga. Thanks to Erik van Roode for reporting 1399 this one. 1400 1401 * Patched zlib.t for OS/2. Thanks to Ilya Zakharevich for the patch. 1402 1403 1.01 - 23 Nov 1997 1404 1405 * A number of fixes to the test suite and the example scripts to 1406 allow them to work under win32. All courtesy of Gurusamy 1407 Sarathy. 1408 1409 1.00 - 14 Nov 1997 1410 1411 * Fixed crc32 & adler32. They were very broken. 1412 1413 * The following functions can now take a scalar reference in 1414 place of a scalar for their buffer parameters: 1415 1416 compress 1417 uncompress 1418 deflate 1419 inflate 1420 crc32 1421 adler32 1422 1423 This should mean applications that make use of the module don't 1424 have to copy large buffers around. 1425 1426 1427 * Normally the inflate method consumes I<all> of the input buffer 1428 before returning. The exception to this is when inflate detects 1429 the end of the stream (Z_STREAM_END). In this case the input 1430 buffer need not be completely consumed. To allow processing of 1431 file formats that embed a deflation stream (e.g. zip, gzip), 1432 the inflate method now sets the buffer parameter to be what 1433 remains after inflation. 1434 1435 When the return status is Z_STREAM_END, it will be what remains 1436 of the buffer (if any) after deflation. When the status is Z_OK 1437 it will be an empty string. 1438 1439 This change means that the buffer parameter must be a lvalue. 1440 1441 * Fixed crc32 and adler32. They were both very broken. 1442 1443 * Added the Compress::Zlib::memGzip function. 1444 1445 0.5 - Confirmed that no changes were necessary for zlib 1.0.3, or 1.0.4. 1446 1447 The optional parameters for deflateInit and inflateInit can now 1448 be specified as an associative array in addition to a reference 1449 to an associative array. They can also accept the -Name 1450 syntax. 1451 1452 gzopen can now optionally take a reference to an open 1453 filehandle in place of a filename. In this case it will call 1454 gzdopen. 1455 1456 Added gzstream example script. 1457 1458 0.4 - Upgrade to support zlib 0.99 1459 1460 Added dictionary interface. 1461 1462 Fixed bug in gzreadline - previously it would keep returning 1463 the same buffer. This bug was reported by Helmut Jarausch 1464 1465 Removed dependency to zutil.h and so dropped support for 1466 1467 DEF_MEM_LEVEL (use MAX_MEM_LEVEL instead) 1468 DEF_WBITS (use MAX_WBITS instead) 1469 1470 0.3 - Added prototype specification. 1471 1472 0.2 - Fixed a minor allocation problem in Zlib.xs 1473 1474 0.1 - first alpha release. 2nd October 1995 1475