In perl.git, the branch blead has been updated

<https://perl5.git.perl.org/perl.git/commitdiff/0c5ce8df8591552238619c3fee035fed0b46e923?hp=e0e44100e103ed63a7a28505be51600c48629c0f>

- Log -----------------------------------------------------------------
commit 0c5ce8df8591552238619c3fee035fed0b46e923
Author: Chris 'BinGOs' Williams <ch...@bingosnet.co.uk>
Date:   Thu Jan 17 18:08:33 2019 +0000

    Update IO-Compress to CPAN version 2.084
    
      [DELTA]
    
      2.084 5 January 2019
    
          * IO::Uncompress::AnyUncompress.pm
            Added support for IO::Uncompress::Zstd and IO::Uncompress::UnLzip
    
      2.083 30 December 2018
    
          * IO::Compress::*
          * IO::Uncompress::*
            The BinModeIn and BinModeOut options in are now no-ops.
            ALL files will be read/written in binmode.
    
          * IO::Uncompress::Unzip
            Fixed issue with unziping a member from a streamed zip file.
            Issue triggered by a libreoffice document.
            Test added to 105oneshot-zip-only.t
            Thanks to Fabrizio Pivari for the bug report.
    
          * Added U64::isZero
    
          * bin/zipdetails
            Added 'Data Stream Alignment' (tag 0xa11e) to extra fields.
            Field sourced from 
https://support.pkware.com/display/PKZIP/Proposed+ZIP+Format+Specification+Additions
    
          * Compress::Zlib.pm
            #125140: Tiny POD error in Compress::Zlib

commit 742efbc0836f30c015626fc3f34e7f8b4c1c8e5a
Author: Chris 'BinGOs' Williams <ch...@bingosnet.co.uk>
Date:   Thu Jan 17 18:06:41 2019 +0000

    Update Compress-Raw-Bzip2 to CPAN version 2.084
    
      [DELTA]
    
      2.084 5 January 2019
    
          * No Changes
    
      2.083 30 December 2018
    
          * No Changes

commit 3f55f81c7becb57f0b44ef0d2f092208c8b5c2f5
Author: Chris 'BinGOs' Williams <ch...@bingosnet.co.uk>
Date:   Thu Jan 17 18:05:01 2019 +0000

    Update Compress-Raw-Zlib to CPAN version 2.084
    
      [DELTA]
    
      2.084 5 January 2019
    
          * No Changes
    
      2.083 30 December 2018
    
          * No Changes

-----------------------------------------------------------------------

Summary of changes:
 MANIFEST                                           |   2 +
 Porting/Maintainers.pl                             |   6 +-
 cpan/Compress-Raw-Bzip2/Bzip2.xs                   |   4 +-
 cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm  |   6 +-
 cpan/Compress-Raw-Bzip2/t/000prereq.t              |   2 +-
 .../Compress-Raw-Bzip2/t/compress/CompTestUtils.pm |  26 +++++-
 cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm    |   6 +-
 cpan/Compress-Raw-Zlib/t/compress/CompTestUtils.pm |  26 +++++-
 cpan/IO-Compress/Makefile.PL                       |   2 +-
 cpan/IO-Compress/bin/zipdetails                    |   3 +-
 cpan/IO-Compress/lib/Compress/Zlib.pm              |  18 ++---
 cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm  |   6 +-
 .../IO-Compress/lib/IO/Compress/Adapter/Deflate.pm |   6 +-
 .../lib/IO/Compress/Adapter/Identity.pm            |   4 +-
 cpan/IO-Compress/lib/IO/Compress/Base.pm           |  12 +--
 cpan/IO-Compress/lib/IO/Compress/Base/Common.pm    |  10 ++-
 cpan/IO-Compress/lib/IO/Compress/Bzip2.pm          |  18 ++---
 cpan/IO-Compress/lib/IO/Compress/Deflate.pm        |  18 ++---
 cpan/IO-Compress/lib/IO/Compress/FAQ.pod           |   4 +-
 cpan/IO-Compress/lib/IO/Compress/Gzip.pm           |  20 +++--
 cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm |   2 +-
 cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm     |  20 +++--
 cpan/IO-Compress/lib/IO/Compress/Zip.pm            |  34 ++++----
 cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm  |   2 +-
 cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm |   2 +-
 cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm     |   4 +-
 .../lib/IO/Uncompress/Adapter/Bunzip2.pm           |   6 +-
 .../lib/IO/Uncompress/Adapter/Identity.pm          |   6 +-
 .../lib/IO/Uncompress/Adapter/Inflate.pm           |   7 +-
 cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm   |  27 +++----
 .../IO-Compress/lib/IO/Uncompress/AnyUncompress.pm |  87 +++++++++++++++------
 cpan/IO-Compress/lib/IO/Uncompress/Base.pm         |  19 ++---
 cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm      |  17 ++--
 cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm       |  21 +++--
 cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm      |  17 ++--
 cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm   |  19 ++---
 cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm        |  36 ++++-----
 cpan/IO-Compress/t/000prereq.t                     |   2 +-
 cpan/IO-Compress/t/004gziphdr.t                    |   4 +-
 cpan/IO-Compress/t/101truncate-bzip2.t             |   2 +-
 cpan/IO-Compress/t/101truncate-deflate.t           |   2 +-
 cpan/IO-Compress/t/101truncate-gzip.t              |   2 +-
 cpan/IO-Compress/t/101truncate-zip.t               |   2 +-
 cpan/IO-Compress/t/105oneshot-zip-only.t           |  31 +++++++-
 cpan/IO-Compress/t/compress/CompTestUtils.pm       |  26 +++++-
 cpan/IO-Compress/t/compress/generic.pl             |  53 +++++++++++--
 cpan/IO-Compress/t/compress/multi.pl               |   2 -
 cpan/IO-Compress/t/compress/oneshot.pl             |  79 ++++++++++++++-----
 cpan/IO-Compress/t/compress/truncate.pl            |   8 +-
 cpan/IO-Compress/t/files/meta.xml                  |   2 +
 cpan/IO-Compress/t/files/test.ods                  | Bin 0 -> 7403 bytes
 51 files changed, 462 insertions(+), 278 deletions(-)
 create mode 100644 cpan/IO-Compress/t/files/meta.xml
 create mode 100644 cpan/IO-Compress/t/files/test.ods

diff --git a/MANIFEST b/MANIFEST
index c2e2634719..4c68904d86 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1135,6 +1135,8 @@ cpan/IO-Compress/t/cz-03zlib-v1.t                 
IO::Compress
 cpan/IO-Compress/t/cz-06gzsetp.t                       IO::Compress
 cpan/IO-Compress/t/cz-08encoding.t                     IO::Compress
 cpan/IO-Compress/t/cz-14gzopen.t                       IO::Compress
+cpan/IO-Compress/t/files/meta.xml
+cpan/IO-Compress/t/files/test.ods
 cpan/IO-Compress/t/globmapper.t                                IO::Compress
 cpan/IO-Socket-IP/lib/IO/Socket/IP.pm                  IO::Socket::IP
 cpan/IO-Socket-IP/t/00use.t                            IO::Socket::IP tests
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 19e38a0086..0d9721b797 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -204,7 +204,7 @@ use File::Glob qw(:case);
     },
 
     'Compress::Raw::Bzip2' => {
-        'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.081.tar.gz',
+        'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.084.tar.gz',
         'FILES'        => q[cpan/Compress-Raw-Bzip2],
         'EXCLUDED'     => [
             qr{^t/Test/},
@@ -215,7 +215,7 @@ use File::Glob qw(:case);
     },
 
     'Compress::Raw::Zlib' => {
-        'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.081.tar.gz',
+        'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.084.tar.gz',
         'FILES'    => q[cpan/Compress-Raw-Zlib],
         'EXCLUDED' => [
             qr{^examples/},
@@ -615,7 +615,7 @@ use File::Glob qw(:case);
     },
 
     'IO-Compress' => {
-        'DISTRIBUTION' => 'PMQS/IO-Compress-2.081.tar.gz',
+        'DISTRIBUTION' => 'PMQS/IO-Compress-2.084.tar.gz',
         'FILES'        => q[cpan/IO-Compress],
         'EXCLUDED'     => [
             qr{^examples/},
diff --git a/cpan/Compress-Raw-Bzip2/Bzip2.xs b/cpan/Compress-Raw-Bzip2/Bzip2.xs
index b4e9ab5549..c1f1c6b76c 100644
--- a/cpan/Compress-Raw-Bzip2/Bzip2.xs
+++ b/cpan/Compress-Raw-Bzip2/Bzip2.xs
@@ -485,7 +485,7 @@ bzdeflate (s, buf, output)
          croak("Wide character in " COMPRESS_CLASS "::bzdeflate input 
parameter");
 #endif         
     s->stream.next_in = (char*)SvPV_nomg(buf, origlen) ;
-    s->stream.avail_in = origlen;
+    s->stream.avail_in = (unsigned int) origlen;
      
     /* and retrieve the output buffer */
     output = deRef_l(output, "deflate") ;
@@ -735,7 +735,7 @@ bzinflate (s, buf, output)
     
     /* initialise the input buffer */
     s->stream.next_in = (char*)SvPV_nomg(buf, origlen) ;
-    s->stream.avail_in = origlen;
+    s->stream.avail_in = (unsigned int) origlen;
        
     /* and retrieve the output buffer */
     output = deRef_l(output, "bzinflate") ;
diff --git a/cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm 
b/cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm
index 85139506ce..8165115ea3 100644
--- a/cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm
+++ b/cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm
@@ -11,7 +11,7 @@ use Carp ;
 use bytes ;
 our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 $XS_VERSION = $VERSION; 
 $VERSION = eval $VERSION;
 
@@ -356,7 +356,7 @@ The following bzip2 constants are exported by this module
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, 
L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -378,7 +378,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/Compress-Raw-Bzip2/t/000prereq.t 
b/cpan/Compress-Raw-Bzip2/t/000prereq.t
index 70a9cc5841..624a3124f7 100644
--- a/cpan/Compress-Raw-Bzip2/t/000prereq.t
+++ b/cpan/Compress-Raw-Bzip2/t/000prereq.t
@@ -19,7 +19,7 @@ BEGIN
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
 
-    my $VERSION = '2.081';
+    my $VERSION = '2.084';
     my @NAMES = qw(
                        
                        );
diff --git a/cpan/Compress-Raw-Bzip2/t/compress/CompTestUtils.pm 
b/cpan/Compress-Raw-Bzip2/t/compress/CompTestUtils.pm
index da238e15d2..c506632f90 100644
--- a/cpan/Compress-Raw-Bzip2/t/compress/CompTestUtils.pm
+++ b/cpan/Compress-Raw-Bzip2/t/compress/CompTestUtils.pm
@@ -395,6 +395,17 @@ my %TOP = (
                                 Raw      => 0,
                               },
 
+    'IO::Compress::Lzip' => { Inverse  => 'IO::Uncompress::UnLzip',
+                            Error    => 'LzipError',
+                            TopLevel => 'lzip',
+                            Raw      => 0,
+                          },
+    'IO::Uncompress::UnLzip' => { Inverse  => 'IO::Compress::Lzip',
+                                Error    => 'UnLzipError',
+                                TopLevel => 'unlzip',
+                                Raw      => 0,
+                              },
+
     'IO::Compress::PPMd' => { Inverse  => 'IO::Uncompress::UnPPMd',
                               Error    => 'PPMdError',
                               TopLevel => 'ppmd',
@@ -405,6 +416,16 @@ my %TOP = (
                                   TopLevel => 'unppmd',
                                   Raw      => 0,
                                 },
+    'IO::Compress::Zstd' => { Inverse  => 'IO::Uncompress::UnZstd',
+                              Error    => 'ZstdError',
+                              TopLevel => 'zstd',
+                              Raw      => 0,
+                            },
+    'IO::Uncompress::UnZstd' => { Inverse  => 'IO::Compress::Zstd',
+                                  Error    => 'UnZstdError',
+                                  TopLevel => 'unzstd',
+                                  Raw      => 0,
+                                },
 
     'IO::Compress::DummyComp' => { Inverse  => 'IO::Uncompress::DummyUnComp',
                                    Error    => 'DummyCompError',
@@ -494,7 +515,7 @@ sub compressBuffer
 our ($AnyUncompressError);
 BEGIN
 {
-    eval ' use IO::Uncompress::AnyUncompress qw($AnyUncompressError); ';
+    eval ' use IO::Uncompress::AnyUncompress qw(anyuncompress 
$AnyUncompressError); ';
 }
 
 sub anyUncompress
@@ -555,7 +576,6 @@ sub anyUncompress
         if $o->error() ;
 
     return $out ;
-
 }
 
 sub getHeaders
@@ -718,7 +738,7 @@ sub getMultiValues
 {
     my $class = shift ;
 
-    return (0,0) if $class =~ /lzf|lzma/i;
+    return (0,0) if $class =~ /lzf|lzma|zstd/i;
     return (1,0);
 }
 
diff --git a/cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm 
b/cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm
index 9c047fd471..4c36973898 100644
--- a/cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm
+++ b/cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm
@@ -10,7 +10,7 @@ use warnings ;
 use bytes ;
 our ($VERSION, $XS_VERSION, @ISA, @EXPORT, %EXPORT_TAGS, @EXPORT_OK, 
$AUTOLOAD, %DEFLATE_CONSTANTS, @DEFLATE_CONSTANTS);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 $XS_VERSION = $VERSION; 
 $VERSION = eval $VERSION;
 
@@ -1559,7 +1559,7 @@ of I<Compress::Raw::Zlib>.
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, 
L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -1590,7 +1590,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/Compress-Raw-Zlib/t/compress/CompTestUtils.pm 
b/cpan/Compress-Raw-Zlib/t/compress/CompTestUtils.pm
index da238e15d2..c506632f90 100644
--- a/cpan/Compress-Raw-Zlib/t/compress/CompTestUtils.pm
+++ b/cpan/Compress-Raw-Zlib/t/compress/CompTestUtils.pm
@@ -395,6 +395,17 @@ my %TOP = (
                                 Raw      => 0,
                               },
 
+    'IO::Compress::Lzip' => { Inverse  => 'IO::Uncompress::UnLzip',
+                            Error    => 'LzipError',
+                            TopLevel => 'lzip',
+                            Raw      => 0,
+                          },
+    'IO::Uncompress::UnLzip' => { Inverse  => 'IO::Compress::Lzip',
+                                Error    => 'UnLzipError',
+                                TopLevel => 'unlzip',
+                                Raw      => 0,
+                              },
+
     'IO::Compress::PPMd' => { Inverse  => 'IO::Uncompress::UnPPMd',
                               Error    => 'PPMdError',
                               TopLevel => 'ppmd',
@@ -405,6 +416,16 @@ my %TOP = (
                                   TopLevel => 'unppmd',
                                   Raw      => 0,
                                 },
+    'IO::Compress::Zstd' => { Inverse  => 'IO::Uncompress::UnZstd',
+                              Error    => 'ZstdError',
+                              TopLevel => 'zstd',
+                              Raw      => 0,
+                            },
+    'IO::Uncompress::UnZstd' => { Inverse  => 'IO::Compress::Zstd',
+                                  Error    => 'UnZstdError',
+                                  TopLevel => 'unzstd',
+                                  Raw      => 0,
+                                },
 
     'IO::Compress::DummyComp' => { Inverse  => 'IO::Uncompress::DummyUnComp',
                                    Error    => 'DummyCompError',
@@ -494,7 +515,7 @@ sub compressBuffer
 our ($AnyUncompressError);
 BEGIN
 {
-    eval ' use IO::Uncompress::AnyUncompress qw($AnyUncompressError); ';
+    eval ' use IO::Uncompress::AnyUncompress qw(anyuncompress 
$AnyUncompressError); ';
 }
 
 sub anyUncompress
@@ -555,7 +576,6 @@ sub anyUncompress
         if $o->error() ;
 
     return $out ;
-
 }
 
 sub getHeaders
@@ -718,7 +738,7 @@ sub getMultiValues
 {
     my $class = shift ;
 
-    return (0,0) if $class =~ /lzf|lzma/i;
+    return (0,0) if $class =~ /lzf|lzma|zstd/i;
     return (1,0);
 }
 
diff --git a/cpan/IO-Compress/Makefile.PL b/cpan/IO-Compress/Makefile.PL
index 7ecefeb1de..ca8cce49a2 100644
--- a/cpan/IO-Compress/Makefile.PL
+++ b/cpan/IO-Compress/Makefile.PL
@@ -3,7 +3,7 @@
 use strict ;
 require 5.006 ;
 
-$::VERSION = '2.081' ;
+$::VERSION = '2.084' ;
 
 use lib '.';
 use private::MakeUtil;
diff --git a/cpan/IO-Compress/bin/zipdetails b/cpan/IO-Compress/bin/zipdetails
index fb5ceab21f..ac647b398a 100644
--- a/cpan/IO-Compress/bin/zipdetails
+++ b/cpan/IO-Compress/bin/zipdetails
@@ -173,13 +173,14 @@ my %Extras = (
       0x7855,  ['Unix Extra type 2', \&decode_Ux],
       0x7875,  ['Unix Extra Type 3', \&decode_ux],
       0x9901,  ['AES Encryption', \&decode_AES],
+      0xa11e,  ['Data Stream Alignment', undef],
       0xA220,  ['Open Packaging Growth Hint', undef ],
       0xCAFE,  ['Java Executable', \&decode_Java_exe],
       0xfb4a,  ['SMS/QDOS', undef],
 
        );
 
-my $VERSION = "1.08" ;
+my $VERSION = "1.09" ;
 
 my $FH;
 
diff --git a/cpan/IO-Compress/lib/Compress/Zlib.pm 
b/cpan/IO-Compress/lib/Compress/Zlib.pm
index 36b224f526..ce79d7d113 100644
--- a/cpan/IO-Compress/lib/Compress/Zlib.pm
+++ b/cpan/IO-Compress/lib/Compress/Zlib.pm
@@ -7,17 +7,17 @@ use Carp ;
 use IO::Handle ;
 use Scalar::Util qw(dualvar);
 
-use IO::Compress::Base::Common 2.081 ;
-use Compress::Raw::Zlib 2.081 ;
-use IO::Compress::Gzip 2.081 ;
-use IO::Uncompress::Gunzip 2.081 ;
+use IO::Compress::Base::Common 2.084 ;
+use Compress::Raw::Zlib 2.084 ;
+use IO::Compress::Gzip 2.084 ;
+use IO::Uncompress::Gunzip 2.084 ;
 
 use strict ;
 use warnings ;
 use bytes ;
 our ($VERSION, $XS_VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 $XS_VERSION = $VERSION; 
 $VERSION = eval $VERSION;
 
@@ -461,7 +461,7 @@ sub inflate
 
 package Compress::Zlib ;
 
-use IO::Compress::Gzip::Constants 2.081 ;
+use IO::Compress::Gzip::Constants 2.084 ;
 
 sub memGzip($)
 {
@@ -1161,7 +1161,7 @@ The default is Z_DEFAULT_STRATEGY.
 When a dictionary is specified I<Compress::Zlib> will automatically
 call C<deflateSetDictionary> directly after calling C<deflateInit>. The
 Adler32 value for the dictionary can be obtained by calling the method
-C<$d->dict_adler()>.
+C<< $d->dict_adler() >>.
 
 The default is no dictionary.
 
@@ -1469,7 +1469,7 @@ of I<Compress::Zlib>.
 
 =head1 SEE ALSO
 
-L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, 
L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, 
L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
+L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, 
L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, 
L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, 
L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, 
L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, 
L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -1500,7 +1500,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 1995-2018 Paul Marquess. All rights reserved.
+Copyright (c) 1995-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm 
b/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
index 7b30c60138..623a2c671a 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
@@ -4,12 +4,12 @@ use strict;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.081 qw(:Status);
+use IO::Compress::Base::Common  2.084 qw(:Status);
 
-use Compress::Raw::Bzip2  2.081 ;
+use Compress::Raw::Bzip2  2.084 ;
 
 our ($VERSION);
-$VERSION = '2.081';
+$VERSION = '2.084';
 
 sub mkCompObject
 {
diff --git a/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm 
b/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
index 463c0e1b15..8903287b10 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
@@ -4,13 +4,13 @@ use strict;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common 2.081 qw(:Status);
-use Compress::Raw::Zlib  2.081 qw( !crc32 !adler32 ) ;
+use IO::Compress::Base::Common 2.084 qw(:Status);
+use Compress::Raw::Zlib  2.084 qw( !crc32 !adler32 ) ;
                                   
 require Exporter;                                     
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, @EXPORT, %DEFLATE_CONSTANTS);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 @ISA = qw(Exporter);
 @EXPORT_OK = @Compress::Raw::Zlib::DEFLATE_CONSTANTS;
 %EXPORT_TAGS = %Compress::Raw::Zlib::DEFLATE_CONSTANTS;
diff --git a/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm 
b/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
index 92bc093338..ae23102a24 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
@@ -4,10 +4,10 @@ use strict;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.081 qw(:Status);
+use IO::Compress::Base::Common  2.084 qw(:Status);
 our ($VERSION);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 
 sub mkCompObject
 {
diff --git a/cpan/IO-Compress/lib/IO/Compress/Base.pm 
b/cpan/IO-Compress/lib/IO/Compress/Base.pm
index 2f009966db..1e2a54ba39 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Base.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Base.pm
@@ -6,7 +6,7 @@ require 5.006 ;
 use strict ;
 use warnings;
 
-use IO::Compress::Base::Common 2.081 ;
+use IO::Compress::Base::Common 2.084 ;
 
 use IO::File (); ;
 use Scalar::Util ();
@@ -20,7 +20,7 @@ use Symbol();
 our (@ISA, $VERSION);
 @ISA    = qw(IO::File Exporter);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 
 #Can't locate object method "SWASHNEW" via package "utf8" (perhaps you forgot 
to load "utf8"?) at .../ext/Compress-Zlib/Gzip/blib/lib/Compress/Zlib/Common.pm 
line 16.
 
@@ -496,7 +496,7 @@ sub _wr2
             $fh = new IO::File "<$input"
                 or return $self->saveErrorString(undef, "cannot open file 
'$input': $!", $!) ;
         }
-        binmode $fh if *$self->{Got}->valueOrDefault('binmodein') ;
+        binmode $fh ;
 
         my $status ;
         my $buff ;
@@ -797,6 +797,7 @@ sub _writeTrailer
     my $trailer = '';
 
     my $status = *$self->{Compress}->close($trailer) ;
+
     return $self->saveErrorString(0, *$self->{Compress}{Error}, 
*$self->{Compress}{ErrorNo})
         if $status == STATUS_ERROR;
 
@@ -805,7 +806,6 @@ sub _writeTrailer
     $trailer .= $self->mkTrailer();
     defined $trailer
       or return 0;
-
     return $self->output($trailer);
 }
 
@@ -1023,7 +1023,7 @@ purpose is to be sub-classed by IO::Compress modules.
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, 
L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -1041,7 +1041,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm 
b/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm
index bd260d5354..53232898c4 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm
@@ -11,7 +11,7 @@ use File::GlobMapper;
 require Exporter;
 our ($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $HAS_ENCODE);
 @ISA = qw(Exporter);
-$VERSION = '2.081';
+$VERSION = '2.084';
 
 @EXPORT = qw( isaFilehandle isaFilename isaScalar
               whatIsInput whatIsOutput
@@ -977,6 +977,14 @@ sub equal
            $self->[HIGH] == $other->[HIGH] ;
 }
 
+sub isZero
+{
+    my $self = shift;
+
+    return $self->[LOW]  == 0 &&
+           $self->[HIGH] == 0 ;
+}
+
 sub gt
 {
     my $self = shift;
diff --git a/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm 
b/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm
index 94a03f639e..1c0d027abd 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm
@@ -5,16 +5,16 @@ use warnings;
 use bytes;
 require Exporter ;
 
-use IO::Compress::Base 2.081 ;
+use IO::Compress::Base 2.084 ;
 
-use IO::Compress::Base::Common  2.081 qw();
-use IO::Compress::Adapter::Bzip2 2.081 ;
+use IO::Compress::Base::Common  2.084 qw();
+use IO::Compress::Adapter::Bzip2 2.084 ;
 
 
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 $Bzip2Error = '';
 
 @ISA    = qw(IO::Compress::Base Exporter);
@@ -51,7 +51,7 @@ sub getExtraParams
 {
     my $self = shift ;
 
-    use IO::Compress::Base::Common  2.081 qw(:Parse);
+    use IO::Compress::Base::Common  2.084 qw(:Parse);
     
     return (  
             'blocksize100k' => [IO::Compress::Base::Common::Parse_unsigned,  
1],
@@ -338,9 +338,7 @@ This parameter defaults to 0.
 
 =item C<< BinModeIn => 0|1 >>
 
-When reading from a file or filehandle, set C<binmode> before reading.
-
-Defaults to 0.
+This option is now a no-op. All files will be read in binmode.
 
 =item C<< Append => 0|1 >>
 
@@ -772,7 +770,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files 
and Net::FTP">
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, 
L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, 
L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, 
L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -794,7 +792,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Compress/Deflate.pm 
b/cpan/IO-Compress/lib/IO/Compress/Deflate.pm
index 5e5c37c96a..1ca86c9331 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Deflate.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Deflate.pm
@@ -8,16 +8,16 @@ use bytes;
 
 require Exporter ;
 
-use IO::Compress::RawDeflate 2.081 ();
-use IO::Compress::Adapter::Deflate 2.081 ;
+use IO::Compress::RawDeflate 2.084 ();
+use IO::Compress::Adapter::Deflate 2.084 ;
 
-use IO::Compress::Zlib::Constants 2.081 ;
-use IO::Compress::Base::Common  2.081 qw();
+use IO::Compress::Zlib::Constants 2.084 ;
+use IO::Compress::Base::Common  2.084 qw();
 
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, 
$DeflateError);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 $DeflateError = '';
 
 @ISA    = qw(IO::Compress::RawDeflate Exporter);
@@ -367,9 +367,7 @@ This parameter defaults to 0.
 
 =item C<< BinModeIn => 0|1 >>
 
-When reading from a file or filehandle, set C<binmode> before reading.
-
-Defaults to 0.
+This option is now a no-op. All files will be read in binmode.
 
 =item C<< Append => 0|1 >>
 
@@ -896,7 +894,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files 
and Net::FTP">
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, 
L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, 
L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, 
L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, 
L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, 
L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -927,7 +925,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Compress/FAQ.pod 
b/cpan/IO-Compress/lib/IO/Compress/FAQ.pod
index cfd6ca38e0..1e66507aa2 100644
--- a/cpan/IO-Compress/lib/IO/Compress/FAQ.pod
+++ b/cpan/IO-Compress/lib/IO/Compress/FAQ.pod
@@ -658,7 +658,7 @@ file.
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, 
L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -676,7 +676,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Compress/Gzip.pm 
b/cpan/IO-Compress/lib/IO/Compress/Gzip.pm
index 53816871cf..5302011a20 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Gzip.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Gzip.pm
@@ -8,12 +8,12 @@ use bytes;
 
 require Exporter ;
 
-use IO::Compress::RawDeflate 2.081 () ; 
-use IO::Compress::Adapter::Deflate 2.081 ;
+use IO::Compress::RawDeflate 2.084 () ; 
+use IO::Compress::Adapter::Deflate 2.084 ;
 
-use IO::Compress::Base::Common  2.081 qw(:Status );
-use IO::Compress::Gzip::Constants 2.081 ;
-use IO::Compress::Zlib::Extra 2.081 ;
+use IO::Compress::Base::Common  2.084 qw(:Status );
+use IO::Compress::Gzip::Constants 2.084 ;
+use IO::Compress::Zlib::Extra 2.084 ;
 
 BEGIN
 {
@@ -25,7 +25,7 @@ BEGIN
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $GzipError);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 $GzipError = '' ;
 
 @ISA    = qw(IO::Compress::RawDeflate Exporter);
@@ -485,9 +485,7 @@ This parameter defaults to 0.
 
 =item C<< BinModeIn => 0|1 >>
 
-When reading from a file or filehandle, set C<binmode> before reading.
-
-Defaults to 0.
+This option is now a no-op. All files will be read in binmode.
 
 =item C<< Append => 0|1 >>
 
@@ -1208,7 +1206,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed 
files and Net::FTP">
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, 
L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, 
L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, 
L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, 
L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, 
L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, 
L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, 
L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -1239,7 +1237,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm 
b/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
index 733b1f7f1b..d1bd0c2bb2 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
@@ -9,7 +9,7 @@ require Exporter;
 our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names);
 our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 
 @ISA = qw(Exporter);
 
diff --git a/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm 
b/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
index 8bbafc0029..b2f38ff402 100644
--- a/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
@@ -6,15 +6,15 @@ use strict ;
 use warnings;
 use bytes;
 
-use IO::Compress::Base 2.081 ;
-use IO::Compress::Base::Common  2.081 qw(:Status );
-use IO::Compress::Adapter::Deflate 2.081 ;
+use IO::Compress::Base 2.084 ;
+use IO::Compress::Base::Common  2.084 qw(:Status );
+use IO::Compress::Adapter::Deflate 2.084 ;
 
 require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, 
$RawDeflateError);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 $RawDeflateError = '';
 
 @ISA = qw(IO::Compress::Base Exporter);
@@ -116,8 +116,8 @@ sub getExtraParams
     return getZlibParams();
 }
 
-use IO::Compress::Base::Common  2.081 qw(:Parse);
-use Compress::Raw::Zlib  2.081 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION 
Z_DEFAULT_STRATEGY);
+use IO::Compress::Base::Common  2.084 qw(:Parse);
+use Compress::Raw::Zlib  2.084 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION 
Z_DEFAULT_STRATEGY);
 our %PARAMS = (
             #'method'   => [IO::Compress::Base::Common::Parse_unsigned,  
Z_DEFLATED],
             'level'     => [IO::Compress::Base::Common::Parse_signed,    
Z_DEFAULT_COMPRESSION],
@@ -423,9 +423,7 @@ This parameter defaults to 0.
 
 =item C<< BinModeIn => 0|1 >>
 
-When reading from a file or filehandle, set C<binmode> before reading.
-
-Defaults to 0.
+This option is now a no-op. All files will be read in binmode.
 
 =item C<< Append => 0|1 >>
 
@@ -952,7 +950,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files 
and Net::FTP">
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, 
L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, 
L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, 
L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -983,7 +981,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Compress/Zip.pm 
b/cpan/IO-Compress/lib/IO/Compress/Zip.pm
index 16ba68944d..eabeef63e7 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Zip.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Zip.pm
@@ -4,30 +4,30 @@ use strict ;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.081 qw(:Status );
-use IO::Compress::RawDeflate 2.081 ();
-use IO::Compress::Adapter::Deflate 2.081 ;
-use IO::Compress::Adapter::Identity 2.081 ;
-use IO::Compress::Zlib::Extra 2.081 ;
-use IO::Compress::Zip::Constants 2.081 ;
+use IO::Compress::Base::Common  2.084 qw(:Status );
+use IO::Compress::RawDeflate 2.084 ();
+use IO::Compress::Adapter::Deflate 2.084 ;
+use IO::Compress::Adapter::Identity 2.084 ;
+use IO::Compress::Zlib::Extra 2.084 ;
+use IO::Compress::Zip::Constants 2.084 ;
 
 use File::Spec();
 use Config;
 
-use Compress::Raw::Zlib  2.081 (); 
+use Compress::Raw::Zlib  2.084 (); 
 
 BEGIN
 {
     eval { require IO::Compress::Adapter::Bzip2 ; 
-           import  IO::Compress::Adapter::Bzip2 2.081 ; 
+           import  IO::Compress::Adapter::Bzip2 2.084 ; 
            require IO::Compress::Bzip2 ; 
-           import  IO::Compress::Bzip2 2.081 ; 
+           import  IO::Compress::Bzip2 2.084 ; 
          } ;
          
     eval { require IO::Compress::Adapter::Lzma ; 
-           import  IO::Compress::Adapter::Lzma 2.081 ; 
+           import  IO::Compress::Adapter::Lzma 2.084 ; 
            require IO::Compress::Lzma ; 
-           import  IO::Compress::Lzma 2.081 ; 
+           import  IO::Compress::Lzma 2.084 ; 
          } ;
 }
 
@@ -36,7 +36,7 @@ require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $ZipError);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 $ZipError = '';
 
 @ISA = qw(IO::Compress::RawDeflate Exporter);
@@ -914,7 +914,7 @@ compressed data to files or buffer.
 
 The primary purpose of this module is to provide streaming write access to
 zip files and buffers. It is not a general-purpose file archiver. If that
-is what you want, check out C<Archive::Zip>.
+is what you want, check out C<Archive::Zip> or C<Archive::Zip::SimpleZip>.
 
 At present three compression methods are supported by IO::Compress::Zip,
 namely Store (no compression at all), Deflate, Bzip2 and LZMA.
@@ -1081,9 +1081,7 @@ This parameter defaults to 0.
 
 =item C<< BinModeIn => 0|1 >>
 
-When reading from a file or filehandle, set C<binmode> before reading.
-
-Defaults to 0.
+This option is now a no-op. All files will be read in binmode.
 
 =item C<< Append => 0|1 >>
 
@@ -1922,7 +1920,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed 
files and Net::FTP">
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, 
L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -1953,7 +1951,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm 
b/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm
index 5cb7fc27a1..d28a6ae686 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm
@@ -7,7 +7,7 @@ require Exporter;
 
 our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 
 @ISA = qw(Exporter);
 
diff --git a/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm 
b/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
index eb2aec51dc..d0d053be95 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
@@ -9,7 +9,7 @@ require Exporter;
 
 our ($VERSION, @ISA, @EXPORT);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 
 @ISA = qw(Exporter);
 
diff --git a/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm 
b/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
index 6b60c49f91..a88adba273 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
@@ -8,9 +8,9 @@ use bytes;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 
-use IO::Compress::Gzip::Constants 2.081 ;
+use IO::Compress::Gzip::Constants 2.084 ;
 
 sub ExtraFieldError
 {
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm 
b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
index f0f24f15f9..1aa9a8c39b 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
@@ -4,12 +4,12 @@ use strict;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common 2.081 qw(:Status);
+use IO::Compress::Base::Common 2.084 qw(:Status);
 
-use Compress::Raw::Bzip2 2.081 ;
+use Compress::Raw::Bzip2 2.084 ;
 
 our ($VERSION, @ISA);
-$VERSION = '2.081';
+$VERSION = '2.084';
 
 sub mkUncompObject
 {
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm 
b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
index a122320de2..5601599225 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
@@ -4,14 +4,14 @@ use warnings;
 use strict;
 use bytes;
 
-use IO::Compress::Base::Common  2.081 qw(:Status);
+use IO::Compress::Base::Common  2.084 qw(:Status);
 use IO::Compress::Zip::Constants ;
 
 our ($VERSION);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 
-use Compress::Raw::Zlib  2.081 ();
+use Compress::Raw::Zlib  2.084 ();
 
 sub mkUncompObject
 {
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm 
b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
index d5544faee8..f51c64d7e5 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
@@ -4,11 +4,11 @@ use strict;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.081 qw(:Status);
-use Compress::Raw::Zlib  2.081 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH 
MAX_WBITS);
+use IO::Compress::Base::Common  2.084 qw(:Status);
+use Compress::Raw::Zlib  2.084 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH 
MAX_WBITS);
 
 our ($VERSION);
-$VERSION = '2.081';
+$VERSION = '2.084';
 
 
 
@@ -62,7 +62,6 @@ sub uncompr
 
     my $status = $inf->inflate($from, $to, $eof);
     $self->{ErrorNo} = $status;
-
     if ($status != Z_OK && $status != Z_STREAM_END && $status != Z_BUF_ERROR)
     {
         $self->{Error} = "Inflation Error: $status";
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm 
b/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
index 563f2f679e..be464889eb 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
@@ -6,22 +6,22 @@ use strict;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.081 ();
+use IO::Compress::Base::Common  2.084 ();
 
-use IO::Uncompress::Adapter::Inflate  2.081 ();
+use IO::Uncompress::Adapter::Inflate  2.084 ();
 
 
-use IO::Uncompress::Base  2.081 ;
-use IO::Uncompress::Gunzip  2.081 ;
-use IO::Uncompress::Inflate  2.081 ;
-use IO::Uncompress::RawInflate  2.081 ;
-use IO::Uncompress::Unzip  2.081 ;
+use IO::Uncompress::Base  2.084 ;
+use IO::Uncompress::Gunzip  2.084 ;
+use IO::Uncompress::Inflate  2.084 ;
+use IO::Uncompress::RawInflate  2.084 ;
+use IO::Uncompress::Unzip  2.084 ;
 
 require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 $AnyInflateError = '';
 
 @ISA = qw(IO::Uncompress::Base Exporter);
@@ -48,7 +48,7 @@ sub anyinflate
 
 sub getExtraParams
 {
-    use IO::Compress::Base::Common  2.081 qw(:Parse);
+    use IO::Compress::Base::Common  2.084 qw(:Parse);
     return ( 'rawinflate' => [Parse_boolean,  0] ) ;
 }
 
@@ -342,10 +342,7 @@ This parameter defaults to 0.
 
 =item C<< BinModeOut => 0|1 >>
 
-When writing to a file or filehandle, set C<binmode> before writing to the
-file.
-
-Defaults to 0.
+This option is now a no-op. All files will be written  in binmode.
 
 =item C<< Append => 0|1 >>
 
@@ -964,7 +961,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files 
and Net::FTP">
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, 
L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, 
L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -995,7 +992,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm 
b/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
index c2d7687570..c6dfce536b 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
@@ -4,16 +4,16 @@ use strict;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common 2.081 ();
+use IO::Compress::Base::Common 2.084 ();
 
-use IO::Uncompress::Base 2.081 ;
+use IO::Uncompress::Base 2.084 ;
 
 
 require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 $AnyUncompressError = '';
 
 @ISA = qw(IO::Uncompress::Base Exporter);
@@ -29,22 +29,27 @@ BEGIN
 {
    local @INC = @INC;
    pop @INC if $INC[-1] eq '.';
-   eval ' use IO::Uncompress::Adapter::Inflate 2.081 ;';
-   eval ' use IO::Uncompress::Adapter::Bunzip2 2.081 ;';
-   eval ' use IO::Uncompress::Adapter::LZO 2.081 ;';
-   eval ' use IO::Uncompress::Adapter::Lzf 2.081 ;';
-   eval ' use IO::Uncompress::Adapter::UnLzma 2.081 ;';
-   eval ' use IO::Uncompress::Adapter::UnXz 2.081 ;';
-
-   eval ' use IO::Uncompress::Bunzip2 2.081 ;';
-   eval ' use IO::Uncompress::UnLzop 2.081 ;';
-   eval ' use IO::Uncompress::Gunzip 2.081 ;';
-   eval ' use IO::Uncompress::Inflate 2.081 ;';
-   eval ' use IO::Uncompress::RawInflate 2.081 ;';
-   eval ' use IO::Uncompress::Unzip 2.081 ;';
-   eval ' use IO::Uncompress::UnLzf 2.081 ;';
-   eval ' use IO::Uncompress::UnLzma 2.081 ;';
-   eval ' use IO::Uncompress::UnXz 2.081 ;';
+   eval ' use IO::Uncompress::Adapter::Inflate 2.084 ;';
+   eval ' use IO::Uncompress::Adapter::Bunzip2 2.084 ;';
+   eval ' use IO::Uncompress::Adapter::LZO 2.084 ;';
+   eval ' use IO::Uncompress::Adapter::Lzf 2.084 ;';
+   eval ' use IO::Uncompress::Adapter::UnLzma 2.084 ;';
+   eval ' use IO::Uncompress::Adapter::UnXz 2.084 ;';
+   eval ' use IO::Uncompress::Adapter::UnZstd 2.083 ;';
+   eval ' use IO::Uncompress::Adapter::UnLzip 2.084 ;';
+
+   eval ' use IO::Uncompress::Bunzip2 2.084 ;';
+   eval ' use IO::Uncompress::UnLzop 2.084 ;';
+   eval ' use IO::Uncompress::Gunzip 2.084 ;';
+   eval ' use IO::Uncompress::Inflate 2.084 ;';
+   eval ' use IO::Uncompress::RawInflate 2.084 ;';
+   eval ' use IO::Uncompress::Unzip 2.084 ;';
+   eval ' use IO::Uncompress::UnLzf 2.084 ;';
+   eval ' use IO::Uncompress::UnLzma 2.084 ;';
+   eval ' use IO::Uncompress::UnXz 2.084 ;';
+   eval ' use IO::Uncompress::UnZstd 2.084 ;';
+   eval ' use IO::Uncompress::UnLzip 2.084 ;';
+
 }
 
 sub new
@@ -191,6 +196,39 @@ sub mkUncomp
          return 1;
      }
 
+     if (defined $IO::Uncompress::UnZstd::VERSION and
+            $magic = $self->ckMagic('UnZstd')) {
+
+        *$self->{Info} = $self->readHeader($magic)
+            or return undef ;
+
+        my ($obj, $errstr, $errno) = 
IO::Uncompress::Adapter::Zstd::mkUncompObject();
+
+        return $self->saveErrorString(undef, $errstr, $errno)
+            if ! defined $obj;
+
+        *$self->{Uncomp} = $obj;
+
+         return 1;
+     }
+
+
+     if (defined $IO::Uncompress::UnLzip::VERSION and
+            $magic = $self->ckMagic('UnLzip')) {
+
+        *$self->{Info} = $self->readHeader($magic)
+            or return undef ;
+
+        my ($obj, $errstr, $errno) = 
IO::Uncompress::Adapter::UnLzip::mkUncompObject(*$self->{Info}{DictSize});
+
+        return $self->saveErrorString(undef, $errstr, $errno)
+            if ! defined $obj;
+
+        *$self->{Uncomp} = $obj;
+
+         return 1;
+     }
+
      return 0 ;
 }
 
@@ -299,6 +337,8 @@ The formats supported are:
 
 =item lzma
 
+=item lzip
+
 =item xz
 
 =back
@@ -452,10 +492,7 @@ This parameter defaults to 0.
 
 =item C<< BinModeOut => 0|1 >>
 
-When writing to a file or filehandle, set C<binmode> before writing to the
-file.
-
-Defaults to 0.
+This option is now a no-op. All files will be written  in binmode.
 
 =item C<< Append => 0|1 >>
 
@@ -1009,7 +1046,7 @@ Same as doing this
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, 
L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -1027,7 +1064,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Base.pm 
b/cpan/IO-Compress/lib/IO/Uncompress/Base.pm
index ff9b1ae630..06fb04a81c 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Base.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Base.pm
@@ -9,12 +9,12 @@ our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS);
 @ISA    = qw(IO::File Exporter);
 
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 
 use constant G_EOF => 0 ;
 use constant G_ERR => -1 ;
 
-use IO::Compress::Base::Common 2.081 ;
+use IO::Compress::Base::Common 2.084 ;
 
 use IO::File ;
 use Symbol;
@@ -695,13 +695,13 @@ sub _singleTarget
             if $x->{Got}->getValue('append') ;
         $x->{fh} = new IO::File "$mode $output" 
             or return retErr($x, "cannot open file '$output': $!") ;
-        binmode $x->{fh} if $x->{Got}->valueOrDefault('binmodeout');
+        binmode $x->{fh} ;
 
     }
 
     elsif ($x->{outType} eq 'handle') {
         $x->{fh} = $output;
-        binmode $x->{fh} if $x->{Got}->valueOrDefault('binmodeout');
+        binmode $x->{fh} ;
         if ($x->{Got}->getValue('append')) {
                 seek($x->{fh}, 0, SEEK_END)
                     or return retErr($x, "Cannot seek to end of output 
filehandle: $!") ;
@@ -1077,13 +1077,6 @@ sub streamCount
     return scalar @{ *$self->{InfoList} }  ;
 }
 
-#sub read
-#{
-#    my $status = myRead(@_);
-#    return undef if $status < 0;
-#    return $status;
-#}
-
 sub read
 {
     # return codes
@@ -1536,7 +1529,7 @@ purpose is to be sub-classed by IO::Uncompress modules.
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, 
L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -1554,7 +1547,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm 
b/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
index ec17c63c6c..7a84bcd15c 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
@@ -4,15 +4,15 @@ use strict ;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common 2.081 qw(:Status );
+use IO::Compress::Base::Common 2.084 qw(:Status );
 
-use IO::Uncompress::Base 2.081 ;
-use IO::Uncompress::Adapter::Bunzip2 2.081 ;
+use IO::Uncompress::Base 2.084 ;
+use IO::Uncompress::Adapter::Bunzip2 2.084 ;
 
 require Exporter ;
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bunzip2Error);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 $Bunzip2Error = '';
 
 @ISA    = qw(IO::Uncompress::Base Exporter);
@@ -338,10 +338,7 @@ This parameter defaults to 0.
 
 =item C<< BinModeOut => 0|1 >>
 
-When writing to a file or filehandle, set C<binmode> before writing to the
-file.
-
-Defaults to 0.
+This option is now a no-op. All files will be written  in binmode.
 
 =item C<< Append => 0|1 >>
 
@@ -881,7 +878,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files 
and Net::FTP">
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, 
L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, 
L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, 
L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -903,7 +900,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm 
b/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm
index 55d4c0a97a..46dd108341 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm
@@ -9,12 +9,12 @@ use strict ;
 use warnings;
 use bytes;
 
-use IO::Uncompress::RawInflate 2.081 ;
+use IO::Uncompress::RawInflate 2.084 ;
 
-use Compress::Raw::Zlib 2.081 () ;
-use IO::Compress::Base::Common 2.081 qw(:Status );
-use IO::Compress::Gzip::Constants 2.081 ;
-use IO::Compress::Zlib::Extra 2.081 ;
+use Compress::Raw::Zlib 2.084 () ;
+use IO::Compress::Base::Common 2.084 qw(:Status );
+use IO::Compress::Gzip::Constants 2.084 ;
+use IO::Compress::Zlib::Extra 2.084 ;
 
 require Exporter ;
 
@@ -28,7 +28,7 @@ Exporter::export_ok_tags('all');
 
 $GunzipError = '';
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 
 sub new
 {
@@ -477,10 +477,7 @@ This parameter defaults to 0.
 
 =item C<< BinModeOut => 0|1 >>
 
-When writing to a file or filehandle, set C<binmode> before writing to the
-file.
-
-Defaults to 0.
+This option is now a no-op. All files will be written  in binmode.
 
 =item C<< Append => 0|1 >>
 
@@ -1087,7 +1084,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed 
files and Net::FTP">
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Compress::Deflate>, 
L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, 
L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Compress::Deflate>, 
L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, 
L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, 
L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, 
L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, 
L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -1118,7 +1115,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm 
b/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm
index 9dcd797be4..4d89db5b19 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm
@@ -5,15 +5,15 @@ use strict ;
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.081 qw(:Status );
-use IO::Compress::Zlib::Constants 2.081 ;
+use IO::Compress::Base::Common  2.084 qw(:Status );
+use IO::Compress::Zlib::Constants 2.084 ;
 
-use IO::Uncompress::RawInflate  2.081 ;
+use IO::Uncompress::RawInflate  2.084 ;
 
 require Exporter ;
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 $InflateError = '';
 
 @ISA    = qw(IO::Uncompress::RawInflate Exporter);
@@ -399,10 +399,7 @@ This parameter defaults to 0.
 
 =item C<< BinModeOut => 0|1 >>
 
-When writing to a file or filehandle, set C<binmode> before writing to the
-file.
-
-Defaults to 0.
+This option is now a no-op. All files will be written  in binmode.
 
 =item C<< Append => 0|1 >>
 
@@ -959,7 +956,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files 
and Net::FTP">
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Compress::RawDeflate>, 
L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Compress::RawDeflate>, 
L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, 
L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, 
L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, 
L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -990,7 +987,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm 
b/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm
index 5cf10b0bd2..63703cd975 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm
@@ -5,16 +5,16 @@ use strict ;
 use warnings;
 use bytes;
 
-use Compress::Raw::Zlib  2.081 ;
-use IO::Compress::Base::Common  2.081 qw(:Status );
+use Compress::Raw::Zlib  2.084 ;
+use IO::Compress::Base::Common  2.084 qw(:Status );
 
-use IO::Uncompress::Base  2.081 ;
-use IO::Uncompress::Adapter::Inflate  2.081 ;
+use IO::Uncompress::Base  2.084 ;
+use IO::Uncompress::Adapter::Inflate  2.084 ;
 
 require Exporter ;
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, 
$RawInflateError);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 $RawInflateError = '';
 
 @ISA    = qw(IO::Uncompress::Base Exporter);
@@ -547,10 +547,7 @@ This parameter defaults to 0.
 
 =item C<< BinModeOut => 0|1 >>
 
-When writing to a file or filehandle, set C<binmode> before writing to the
-file.
-
-Defaults to 0.
+This option is now a no-op. All files will be written  in binmode.
 
 =item C<< Append => 0|1 >>
 
@@ -1087,7 +1084,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed 
files and Net::FTP">
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Compress::Bzip2>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Compress::Bzip2>, 
L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, 
L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, 
L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, 
L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, 
L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -1118,7 +1115,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm 
b/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
index 9b8399eeaf..4e8a0d67c7 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
@@ -9,14 +9,14 @@ use warnings;
 use bytes;
 
 use IO::File;
-use IO::Uncompress::RawInflate  2.081 ;
-use IO::Compress::Base::Common  2.081 qw(:Status );
-use IO::Uncompress::Adapter::Inflate  2.081 ;
-use IO::Uncompress::Adapter::Identity 2.081 ;
-use IO::Compress::Zlib::Extra 2.081 ;
-use IO::Compress::Zip::Constants 2.081 ;
+use IO::Uncompress::RawInflate  2.084 ;
+use IO::Compress::Base::Common  2.084 qw(:Status );
+use IO::Uncompress::Adapter::Inflate  2.084 ;
+use IO::Uncompress::Adapter::Identity 2.084 ;
+use IO::Compress::Zlib::Extra 2.084 ;
+use IO::Compress::Zip::Constants 2.084 ;
 
-use Compress::Raw::Zlib  2.081 () ;
+use Compress::Raw::Zlib  2.084 () ;
 
 BEGIN
 {
@@ -31,7 +31,7 @@ require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup);
 
-$VERSION = '2.081';
+$VERSION = '2.084';
 $UnzipError = '';
 
 @ISA    = qw(IO::Uncompress::RawInflate Exporter);
@@ -171,25 +171,27 @@ sub readHeader
         # TODO - when Stream is off, use seek
         my $buffer;
         if (*$self->{ZipData}{Streaming}) {
-
             while (1) {
 
                 my $b;
                 my $status = $self->smartRead(\$b, 1024 * 16);
-                return undef
+
+                return $self->saveErrorString(undef, "Truncated file")
                     if $status <= 0 ;
 
-                my $temp_buf;
+                my $temp_buf ;
                 my $out;
+
                 $status = *$self->{Uncomp}->uncompr(\$b, \$temp_buf, 0, $out);
 
                 return $self->saveErrorString(undef, *$self->{Uncomp}{Error}, 
                                                      *$self->{Uncomp}{ErrorNo})
                     if $self->saveStatus($status) == STATUS_ERROR;             
   
 
+                $self->pushBack($b)  ;
+
                 if ($status == STATUS_ENDSTREAM) {
                     *$self->{Uncomp}->reset();
-                    $self->pushBack($b)  ;
                     last;
                 }
             }
@@ -461,6 +463,7 @@ sub skipEndCentralDirectory
     my $self = shift;
     my $magic = shift ;
 
+
     my $buffer;
     $self->smartReadExact(\$buffer, 22 - 4)
         or return $self->TrailerError("Minimum header size is " . 
@@ -1233,10 +1236,7 @@ This parameter defaults to 0.
 
 =item C<< BinModeOut => 0|1 >>
 
-When writing to a file or filehandle, set C<binmode> before writing to the
-file.
-
-Defaults to 0.
+This option is now a no-op. All files will be written  in binmode.
 
 =item C<< Append => 0|1 >>
 
@@ -1830,7 +1830,7 @@ The script is available from 
L<https://gist.github.com/eqhmcow/5389877>
 
 =head1 SEE ALSO
 
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, 
L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, 
L<IO::Uncompress::AnyUncompress>
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 
L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 
L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, 
L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, 
L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, 
L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, 
L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, 
L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, 
L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
 L<IO::Compress::FAQ|IO::Compress::FAQ>
 
@@ -1861,7 +1861,7 @@ See the Changes file.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2018 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff --git a/cpan/IO-Compress/t/000prereq.t b/cpan/IO-Compress/t/000prereq.t
index 7167fed325..c3395464c4 100644
--- a/cpan/IO-Compress/t/000prereq.t
+++ b/cpan/IO-Compress/t/000prereq.t
@@ -25,7 +25,7 @@ BEGIN
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
 
-    my $VERSION = '2.081';
+    my $VERSION = '2.084';
     my @NAMES = qw(
                        Compress::Raw::Bzip2
                        Compress::Raw::Zlib
diff --git a/cpan/IO-Compress/t/004gziphdr.t b/cpan/IO-Compress/t/004gziphdr.t
index 399fdb70ef..27a9013546 100644
--- a/cpan/IO-Compress/t/004gziphdr.t
+++ b/cpan/IO-Compress/t/004gziphdr.t
@@ -854,8 +854,8 @@ EOM
             $status = $gunz->read($uncomp) while $status > 0;
             if ($strict)
             {
-                cmp_ok $status, '<', 0 ;
-                like $GunzipError, "/Trailer Error: trailer truncated. 
Expected 8 bytes, got $got/";
+                cmp_ok $status, '<', 0, "status 0" ;
+                like $GunzipError, "/Trailer Error: trailer truncated. 
Expected 8 bytes, got $got/", "got Trailer Error";
             }
             else
             {
diff --git a/cpan/IO-Compress/t/101truncate-bzip2.t 
b/cpan/IO-Compress/t/101truncate-bzip2.t
index 94d9be287b..d533f237a0 100644
--- a/cpan/IO-Compress/t/101truncate-bzip2.t
+++ b/cpan/IO-Compress/t/101truncate-bzip2.t
@@ -21,7 +21,7 @@ BEGIN {
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 4012 + $extra;
+    plan tests => 3308 + $extra;
 
 };
 
diff --git a/cpan/IO-Compress/t/101truncate-deflate.t 
b/cpan/IO-Compress/t/101truncate-deflate.t
index abff664905..49f9ae41ca 100644
--- a/cpan/IO-Compress/t/101truncate-deflate.t
+++ b/cpan/IO-Compress/t/101truncate-deflate.t
@@ -21,7 +21,7 @@ BEGIN {
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 3056 + $extra;
+    plan tests => 2552 + $extra;
 
 };
 
diff --git a/cpan/IO-Compress/t/101truncate-gzip.t 
b/cpan/IO-Compress/t/101truncate-gzip.t
index 6a787c912a..16b2d07963 100644
--- a/cpan/IO-Compress/t/101truncate-gzip.t
+++ b/cpan/IO-Compress/t/101truncate-gzip.t
@@ -22,7 +22,7 @@ BEGIN {
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 3544 + $extra;
+    plan tests => 3040 + $extra;
 
 };
 
diff --git a/cpan/IO-Compress/t/101truncate-zip.t 
b/cpan/IO-Compress/t/101truncate-zip.t
index 89603d35c0..80a0aee275 100644
--- a/cpan/IO-Compress/t/101truncate-zip.t
+++ b/cpan/IO-Compress/t/101truncate-zip.t
@@ -22,7 +22,7 @@ BEGIN {
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 9156 + $extra;
+    plan tests => 7732 + $extra;
 
 };
 
diff --git a/cpan/IO-Compress/t/105oneshot-zip-only.t 
b/cpan/IO-Compress/t/105oneshot-zip-only.t
index 4fea3d1a46..94676eb5dd 100644
--- a/cpan/IO-Compress/t/105oneshot-zip-only.t
+++ b/cpan/IO-Compress/t/105oneshot-zip-only.t
@@ -1,7 +1,7 @@
 BEGIN {
     if ($ENV{PERL_CORE}) {
-       chdir 't' if -d 't';
-       @INC = ("../lib", "lib/compress");
+        chdir 't' if -d 't';
+        @INC = ("../lib", "lib/compress");
     }
 }
 
@@ -24,7 +24,7 @@ BEGIN {
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 216 + $extra ;
+    plan tests => 219 + $extra ;
 
     #use_ok('IO::Compress::Zip', qw(zip $ZipError :zip_method)) ;
     use_ok('IO::Compress::Zip', qw(:all)) ;
@@ -246,5 +246,30 @@ for my $stream (0, 1)
     }
 }
 
+{
+    title "Regression: ods streaming issue";
+
+    # The file before meta.xml in test.ods is content.xml. 
+    # Issue was triggered because content.xml was stored 
+    # as streamed and the code to walk the compressed streaming
+    # content assumed that all of the input buffer was consumed
+    # in a single call to "uncompr".
+
+    my $files = "./t/" ;
+    $files = "./" if $ENV{PERL_CORE} ;
+    $files .= "files/";
+
+    my $zipfile = "$files/test.ods" ;
+    my $file = "meta.xml";
+
+    my $got;
+
+    ok unzip($zipfile => \$got, Name => $file), "  unzip $file ok"
+        or diag $UnzipError ;
+
+    my $meta = readFile("$files/$file");
+    is $got, $meta, "  content ok";    
+}
+
 # TODO add more error cases
 
diff --git a/cpan/IO-Compress/t/compress/CompTestUtils.pm 
b/cpan/IO-Compress/t/compress/CompTestUtils.pm
index da238e15d2..c506632f90 100644
--- a/cpan/IO-Compress/t/compress/CompTestUtils.pm
+++ b/cpan/IO-Compress/t/compress/CompTestUtils.pm
@@ -395,6 +395,17 @@ my %TOP = (
                                 Raw      => 0,
                               },
 
+    'IO::Compress::Lzip' => { Inverse  => 'IO::Uncompress::UnLzip',
+                            Error    => 'LzipError',
+                            TopLevel => 'lzip',
+                            Raw      => 0,
+                          },
+    'IO::Uncompress::UnLzip' => { Inverse  => 'IO::Compress::Lzip',
+                                Error    => 'UnLzipError',
+                                TopLevel => 'unlzip',
+                                Raw      => 0,
+                              },
+
     'IO::Compress::PPMd' => { Inverse  => 'IO::Uncompress::UnPPMd',
                               Error    => 'PPMdError',
                               TopLevel => 'ppmd',
@@ -405,6 +416,16 @@ my %TOP = (
                                   TopLevel => 'unppmd',
                                   Raw      => 0,
                                 },
+    'IO::Compress::Zstd' => { Inverse  => 'IO::Uncompress::UnZstd',
+                              Error    => 'ZstdError',
+                              TopLevel => 'zstd',
+                              Raw      => 0,
+                            },
+    'IO::Uncompress::UnZstd' => { Inverse  => 'IO::Compress::Zstd',
+                                  Error    => 'UnZstdError',
+                                  TopLevel => 'unzstd',
+                                  Raw      => 0,
+                                },
 
     'IO::Compress::DummyComp' => { Inverse  => 'IO::Uncompress::DummyUnComp',
                                    Error    => 'DummyCompError',
@@ -494,7 +515,7 @@ sub compressBuffer
 our ($AnyUncompressError);
 BEGIN
 {
-    eval ' use IO::Uncompress::AnyUncompress qw($AnyUncompressError); ';
+    eval ' use IO::Uncompress::AnyUncompress qw(anyuncompress 
$AnyUncompressError); ';
 }
 
 sub anyUncompress
@@ -555,7 +576,6 @@ sub anyUncompress
         if $o->error() ;
 
     return $out ;
-
 }
 
 sub getHeaders
@@ -718,7 +738,7 @@ sub getMultiValues
 {
     my $class = shift ;
 
-    return (0,0) if $class =~ /lzf|lzma/i;
+    return (0,0) if $class =~ /lzf|lzma|zstd/i;
     return (1,0);
 }
 
diff --git a/cpan/IO-Compress/t/compress/generic.pl 
b/cpan/IO-Compress/t/compress/generic.pl
index f6e630c736..d9695e88dc 100644
--- a/cpan/IO-Compress/t/compress/generic.pl
+++ b/cpan/IO-Compress/t/compress/generic.pl
@@ -18,7 +18,7 @@ BEGIN
     $extra = 1
         if $st ;
 
-    plan(tests => 794 + $extra) ;
+    plan(tests => 799 + $extra) ;
 }
 
 sub myGZreadFile
@@ -43,7 +43,7 @@ sub myGZreadFile
 sub run
 {
     my $CompressClass   = identify();
-    $UncompressClass = getInverse($CompressClass);
+    $UncompressClass    = getInverse($CompressClass);
     my $Error           = getErrorRef($CompressClass);
     my $UnError         = getErrorRef($UncompressClass);
 
@@ -484,10 +484,13 @@ EOM
             #print "length " . length($x) . " \n";
         }
 
+        SKIP:
         {
             # embed a compressed file in another file
             #================================
 
+            skip "zstd doesn't support trailing data", 11
+                if $CompressClass =~ /zstd/i ;
 
             my $lex = new LexFile my $name ;
 
@@ -525,7 +528,7 @@ EOM
             ok $x->binmode();
             1 while $x->read($uncomp) > 0 ;
 
-            ok $uncomp eq $hello ;
+            is $uncomp, $hello ;
             my $rest ;
             read($fh1, $rest, 5000);
             is $x->trailingData() . $rest, $trailer ;
@@ -533,10 +536,13 @@ EOM
 
         }
 
+        SKIP:
         {
             # embed a compressed file in another buffer
             #================================
 
+            skip "zstd doesn't support trailing data", 6
+                if $CompressClass =~ /zstd/i ;
 
             my $hello = <<EOM ;
... 312 lines suppressed ...

-- 
Perl5 Master Repository

Reply via email to