This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Module::CoreList: cut TieHashDelta out of everybody’s life
[perl5.git] / dist / Module-CoreList / lib / Module / CoreList.pm
index 8fdcbb8..a07f9c3 100644 (file)
@@ -2,9 +2,24 @@ package Module::CoreList;
 use strict;
 use vars qw/$VERSION %released %version %families %upstream
            %bug_tracker %deprecated %delta/;
-use Module::CoreList::TieHashDelta;
 use version;
-$VERSION = '5.20160120';
+$VERSION = '5.20160720';
+
+sub _undelta {
+    my ($delta) = @_;
+    my %expanded;
+    for my $version (sort { $a cmp $b } keys %$delta) {
+        my $data = $delta->{$version};
+        my $from = $data->{delta_from};
+        my %full = (
+            ( $from ? %{$expanded{$from}} : () ),
+            %{$data->{changed} || {}},
+        );
+        delete @full{ keys %{$data->{removed}} };
+        $expanded{$version} = \%full;
+    }
+    return %expanded;
+}
 
 sub _released_order {   # Sort helper, to make '?' sort after everything else
     (substr($released{$a}, 0, 1) eq "?")
@@ -288,7 +303,15 @@ sub changes_between {
     5.023005 => '2015-11-20',
     5.022001 => '2015-12-13',
     5.023006 => '2015-12-21',
-    5.023007 => '????-??-??',
+    5.023007 => '2016-01-20',
+    5.023008 => '2016-02-20',
+    5.023009 => '2016-03-20',
+    5.022002 => '2016-04-29',
+    5.024000 => '2016-05-09',
+    5.025000 => '2016-05-09',
+    5.025001 => '2016-05-20',
+    5.025002 => '2016-06-20',
+    5.025003 => '????-??-??',
   );
 
 for my $version ( sort { $a <=> $b } keys %released ) {
@@ -8117,6 +8140,8 @@ for my $version ( sort { $a <=> $b } keys %released ) {
     5.018003 => {
         delta_from => 5.018002,
         changed => {
+            'Config'                => '5.018003',
+            'Digest::SHA'           => '5.84_02',
             'Module::CoreList'      => '3.12',
             'Module::CoreList::TieHashDelta'=> '3.12',
             'Module::CoreList::Utils'=> '3.12',
@@ -8125,6 +8150,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
     5.018004 => {
         delta_from => 5.018003,
         changed => {
+            'Config'                => '5.018004',
             'Module::CoreList'      => '3.13',
             'Module::CoreList::TieHashDelta'=> '3.13',
             'Module::CoreList::Utils'=> '3.13',
@@ -9903,7 +9929,6 @@ for my $version ( sort { $a <=> $b } keys %released ) {
             'Module::Build::Version'=> 1,
             'Module::Build::YAML'   => 1,
             'Package::Constants'    => 1,
-            'Simple'                => 1,
             'inc::latest'           => 1,
         }
     },
@@ -10002,9 +10027,6 @@ for my $version ( sort { $a <=> $b } keys %released ) {
             'Module::CoreList::TieHashDelta'=> '5.021001_01',
             'Module::CoreList::Utils'=> '5.021001_01',
             'Module::Metadata'      => '1.000024',
-            'Module::Metadata::corpus::BOMTest::UTF16BE'=> undef,
-            'Module::Metadata::corpus::BOMTest::UTF16LE'=> undef,
-            'Module::Metadata::corpus::BOMTest::UTF8'=> '1',
             'NDBM_File'             => '1.13',
             'Net::Config'           => '1.14',
             'Net::SMTP'             => '2.34',
@@ -12219,6 +12241,495 @@ for my $version ( sort { $a <=> $b } keys %released ) {
         removed => {
         }
     },
+    5.023008 => {
+        delta_from => 5.023007,
+        changed => {
+            'B::Op_private'         => '5.023008',
+            'Config'                => '5.023008',
+            'Cwd'                   => '3.63',
+            'DynaLoader'            => '1.38',
+            'Encode'                => '2.80',
+            'Encode::Alias'         => '2.20',
+            'Encode::MIME::Header'  => '2.19',
+            'Encode::Unicode'       => '2.15',
+            'ExtUtils::CBuilder'    => '0.280225',
+            'ExtUtils::CBuilder::Base'=> '0.280225',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.280225',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.280225',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.280225',
+            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280225',
+            'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280225',
+            'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280225',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.280225',
+            'ExtUtils::CBuilder::Platform::android'=> '0.280225',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.280225',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.280225',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280225',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.280225',
+            'ExtUtils::Command::MM' => '7.10_01',
+            'ExtUtils::Liblist'     => '7.10_01',
+            'ExtUtils::Liblist::Kid'=> '7.10_01',
+            'ExtUtils::MM'          => '7.10_01',
+            'ExtUtils::MM_AIX'      => '7.10_01',
+            'ExtUtils::MM_Any'      => '7.10_01',
+            'ExtUtils::MM_BeOS'     => '7.10_01',
+            'ExtUtils::MM_Cygwin'   => '7.10_01',
+            'ExtUtils::MM_DOS'      => '7.10_01',
+            'ExtUtils::MM_Darwin'   => '7.10_01',
+            'ExtUtils::MM_MacOS'    => '7.10_01',
+            'ExtUtils::MM_NW5'      => '7.10_01',
+            'ExtUtils::MM_OS2'      => '7.10_01',
+            'ExtUtils::MM_QNX'      => '7.10_01',
+            'ExtUtils::MM_UWIN'     => '7.10_01',
+            'ExtUtils::MM_Unix'     => '7.10_01',
+            'ExtUtils::MM_VMS'      => '7.10_01',
+            'ExtUtils::MM_VOS'      => '7.10_01',
+            'ExtUtils::MM_Win32'    => '7.10_01',
+            'ExtUtils::MM_Win95'    => '7.10_01',
+            'ExtUtils::MY'          => '7.10_01',
+            'ExtUtils::MakeMaker'   => '7.10_01',
+            'ExtUtils::MakeMaker::Config'=> '7.10_01',
+            'ExtUtils::MakeMaker::version'=> '7.10_01',
+            'ExtUtils::MakeMaker::version::regex'=> '7.10_01',
+            'ExtUtils::Mkbootstrap' => '7.10_01',
+            'ExtUtils::Mksymlists'  => '7.10_01',
+            'ExtUtils::testlib'     => '7.10_01',
+            'File::Spec'            => '3.63',
+            'File::Spec::AmigaOS'   => '3.63',
+            'File::Spec::Cygwin'    => '3.63',
+            'File::Spec::Epoc'      => '3.63',
+            'File::Spec::Functions' => '3.63',
+            'File::Spec::Mac'       => '3.63',
+            'File::Spec::OS2'       => '3.63',
+            'File::Spec::Unix'      => '3.63',
+            'File::Spec::VMS'       => '3.63',
+            'File::Spec::Win32'     => '3.63',
+            'IPC::Msg'              => '2.05',
+            'IPC::Semaphore'        => '2.05',
+            'IPC::SharedMem'        => '2.05',
+            'IPC::SysV'             => '2.05',
+            'Module::CoreList'      => '5.20160121',
+            'Module::CoreList::TieHashDelta'=> '5.20160121',
+            'Module::CoreList::Utils'=> '5.20160121',
+            'ODBM_File'             => '1.13',
+            'POSIX'                 => '1.63',
+            'PerlIO::encoding'      => '0.24',
+            'Pod::Man'              => '4.06',
+            'Pod::ParseLink'        => '4.06',
+            'Pod::Text'             => '4.06',
+            'Pod::Text::Color'      => '4.06',
+            'Pod::Text::Overstrike' => '4.06',
+            'Pod::Text::Termcap'    => '4.06',
+            'Storable'              => '2.55',
+            'Time::HiRes'           => '1.9730',
+            'XS::APItest'           => '0.79',
+        },
+        removed => {
+        }
+    },
+    5.023009 => {
+        delta_from => 5.023008,
+        changed => {
+            'Amiga::ARexx'          => '0.04',
+            'Amiga::Exec'           => '0.02',
+            'B::Op_private'         => '5.023009',
+            'Carp'                  => '1.40',
+            'Carp::Heavy'           => '1.40',
+            'Config'                => '5.023009',
+            'Errno'                 => '1.25',
+            'ExtUtils::Embed'       => '1.33',
+            'File::Find'            => '1.34',
+            'File::Glob'            => '1.26',
+            'File::Spec::AmigaOS'   => ';.64',
+            'IPC::Msg'              => '2.06_01',
+            'IPC::Semaphore'        => '2.06_01',
+            'IPC::SharedMem'        => '2.06_01',
+            'IPC::SysV'             => '2.06_01',
+            'List::Util'            => '1.42_02',
+            'List::Util::XS'        => '1.42_02',
+            'Module::CoreList'      => '5.20160320',
+            'Module::CoreList::TieHashDelta'=> '5.20160320',
+            'Module::CoreList::Utils'=> '5.20160320',
+            'POSIX'                 => '1.64',
+            'Pod::Functions'        => '1.10',
+            'Pod::Functions::Functions'=> '1.10',
+            'Scalar::Util'          => '1.42_02',
+            'SelfLoader'            => '1.23',
+            'Socket'                => '2.020_03',
+            'Storable'              => '2.56',
+            'Sub::Util'             => '1.42_02',
+            'Thread::Queue'         => '3.08',
+            'Tie::File'             => '1.02',
+            'Time::HiRes'           => '1.9732',
+            'Win32API::File'        => '0.1203',
+            'Win32API::File::inc::ExtUtils::Myconst2perl'=> '1',
+            'XS::APItest'           => '0.80',
+            'autouse'               => '1.11',
+            'bytes'                 => '1.05',
+            'strict'                => '1.11',
+            'threads'               => '2.06',
+            'version'               => '0.9916',
+            'version::regex'        => '0.9916',
+            'warnings'              => '1.36',
+        },
+        removed => {
+            'Win32API::File::ExtUtils::Myconst2perl'=> 1,
+        }
+    },
+    5.022002 => {
+        delta_from => 5.022001,
+        changed => {
+            'B::Op_private'         => '5.022002',
+            'Config'                => '5.022002',
+            'Cwd'                   => '3.56_01',
+            'File::Spec'            => '3.56_01',
+            'File::Spec::Cygwin'    => '3.56_01',
+            'File::Spec::Epoc'      => '3.56_01',
+            'File::Spec::Functions' => '3.56_01',
+            'File::Spec::Mac'       => '3.56_01',
+            'File::Spec::OS2'       => '3.56_01',
+            'File::Spec::Unix'      => '3.56_01',
+            'File::Spec::VMS'       => '3.56_01',
+            'File::Spec::Win32'     => '3.56_01',
+            'Module::CoreList'      => '5.20160429',
+            'Module::CoreList::TieHashDelta'=> '5.20160429',
+            'Module::CoreList::Utils'=> '5.20160429',
+            'XS::APItest'           => '0.72_01',
+        },
+        removed => {
+        }
+    },
+    5.024000 => {
+        delta_from => 5.023009,
+        changed => {
+            'B::Op_private'         => '5.024000',
+            'Config'                => '5.024',
+            'File::Copy'            => '2.31',
+            'File::Path'            => '2.12_01',
+            'File::Spec::AmigaOS'   => '3.64',
+            'IO::Handle'            => '1.36',
+            'Module::CoreList'      => '5.20160506',
+            'Module::CoreList::TieHashDelta'=> '5.20160506',
+            'Module::CoreList::Utils'=> '5.20160506',
+            'ODBM_File'             => '1.14',
+            'POSIX'                 => '1.65',
+            'Pod::Man'              => '4.07',
+            'Pod::ParseLink'        => '4.07',
+            'Pod::Text'             => '4.07',
+            'Pod::Text::Color'      => '4.07',
+            'Pod::Text::Overstrike' => '4.07',
+            'Pod::Text::Termcap'    => '4.07',
+            'Thread::Queue'         => '3.09',
+            'Time::HiRes'           => '1.9733',
+            'threads'               => '2.07',
+            'threads::shared'       => '1.51',
+            'locale'                => '1.09',
+        },
+        removed => {
+        }
+    },
+    5.025000 => {
+        delta_from => 5.024,
+        changed => {
+            'B::Op_private'         => '5.025000',
+            'Config'                => '5.025',
+            'Module::CoreList'      => '5.20160507',
+            'Module::CoreList::TieHashDelta'=> '5.20160507',
+            'Module::CoreList::Utils'=> '5.20160507',
+            'feature'               => '1.43',
+        },
+        removed => {
+        }
+    },
+    5.025001 => {
+        delta_from => 5.025,
+        changed => {
+            'Archive::Tar'          => '2.08',
+            'Archive::Tar::Constant'=> '2.08',
+            'Archive::Tar::File'    => '2.08',
+            'B::Op_private'         => '5.025001',
+            'Carp'                  => '1.41',
+            'Carp::Heavy'           => '1.41',
+            'Config'                => '5.025001',
+            'Config::Perl::V'       => '0.26',
+            'DB_File'               => '1.838',
+            'Digest::MD5'           => '2.55',
+            'IPC::Cmd'              => '0.94',
+            'IPC::Msg'              => '2.07',
+            'IPC::Semaphore'        => '2.07',
+            'IPC::SharedMem'        => '2.07',
+            'IPC::SysV'             => '2.07',
+            'List::Util'            => '1.45_01',
+            'List::Util::XS'        => '1.45_01',
+            'Locale::Codes'         => '3.38',
+            'Locale::Codes::Constants'=> '3.38',
+            'Locale::Codes::Country'=> '3.38',
+            'Locale::Codes::Country_Codes'=> '3.38',
+            'Locale::Codes::Country_Retired'=> '3.38',
+            'Locale::Codes::Currency'=> '3.38',
+            'Locale::Codes::Currency_Codes'=> '3.38',
+            'Locale::Codes::Currency_Retired'=> '3.38',
+            'Locale::Codes::LangExt'=> '3.38',
+            'Locale::Codes::LangExt_Codes'=> '3.38',
+            'Locale::Codes::LangExt_Retired'=> '3.38',
+            'Locale::Codes::LangFam'=> '3.38',
+            'Locale::Codes::LangFam_Codes'=> '3.38',
+            'Locale::Codes::LangFam_Retired'=> '3.38',
+            'Locale::Codes::LangVar'=> '3.38',
+            'Locale::Codes::LangVar_Codes'=> '3.38',
+            'Locale::Codes::LangVar_Retired'=> '3.38',
+            'Locale::Codes::Language'=> '3.38',
+            'Locale::Codes::Language_Codes'=> '3.38',
+            'Locale::Codes::Language_Retired'=> '3.38',
+            'Locale::Codes::Script' => '3.38',
+            'Locale::Codes::Script_Codes'=> '3.38',
+            'Locale::Codes::Script_Retired'=> '3.38',
+            'Locale::Country'       => '3.38',
+            'Locale::Currency'      => '3.38',
+            'Locale::Language'      => '3.38',
+            'Locale::Maketext'      => '1.27',
+            'Locale::Script'        => '3.38',
+            'Module::CoreList'      => '5.20160520',
+            'Module::CoreList::TieHashDelta'=> '5.20160520',
+            'Module::CoreList::Utils'=> '5.20160520',
+            'Module::Metadata'      => '1.000032',
+            'POSIX'                 => '1.69',
+            'Scalar::Util'          => '1.45_01',
+            'Sub::Util'             => '1.45_01',
+            'Sys::Syslog'           => '0.34',
+            'Term::ANSIColor'       => '4.05',
+            'Test2'                 => '1.302015',
+            'Test2::API'            => '1.302015',
+            'Test2::API::Breakage'  => '1.302015',
+            'Test2::API::Context'   => '1.302015',
+            'Test2::API::Instance'  => '1.302015',
+            'Test2::API::Stack'     => '1.302015',
+            'Test2::Event'          => '1.302015',
+            'Test2::Event::Bail'    => '1.302015',
+            'Test2::Event::Diag'    => '1.302015',
+            'Test2::Event::Exception'=> '1.302015',
+            'Test2::Event::Note'    => '1.302015',
+            'Test2::Event::Ok'      => '1.302015',
+            'Test2::Event::Plan'    => '1.302015',
+            'Test2::Event::Skip'    => '1.302015',
+            'Test2::Event::Subtest' => '1.302015',
+            'Test2::Event::Waiting' => '1.302015',
+            'Test2::Formatter'      => '1.302015',
+            'Test2::Formatter::TAP' => '1.302015',
+            'Test2::Hub'            => '1.302015',
+            'Test2::Hub::Interceptor'=> '1.302015',
+            'Test2::Hub::Interceptor::Terminator'=> '1.302015',
+            'Test2::Hub::Subtest'   => '1.302015',
+            'Test2::IPC'            => '1.302015',
+            'Test2::IPC::Driver'    => '1.302015',
+            'Test2::IPC::Driver::Files'=> '1.302015',
+            'Test2::Util'           => '1.302015',
+            'Test2::Util::ExternalMeta'=> '1.302015',
+            'Test2::Util::HashBase' => '1.302015',
+            'Test2::Util::Trace'    => '1.302015',
+            'Test::Builder'         => '1.302015',
+            'Test::Builder::Formatter'=> '1.302015',
+            'Test::Builder::Module' => '1.302015',
+            'Test::Builder::Tester' => '1.302015',
+            'Test::Builder::Tester::Color'=> '1.302015',
+            'Test::Builder::TodoDiag'=> '1.302015',
+            'Test::More'            => '1.302015',
+            'Test::Simple'          => '1.302015',
+            'Test::Tester'          => '1.302015',
+            'Test::Tester::Capture' => '1.302015',
+            'Test::Tester::CaptureRunner'=> '1.302015',
+            'Test::Tester::Delegate'=> '1.302015',
+            'Test::use::ok'         => '1.302015',
+            'XS::APItest'           => '0.81',
+            '_charnames'            => '1.44',
+            'charnames'             => '1.44',
+            'ok'                    => '1.302015',
+            'perlfaq'               => '5.021011',
+            're'                    => '0.33',
+            'threads'               => '2.08',
+            'threads::shared'       => '1.52',
+        },
+        removed => {
+        }
+    },
+    5.025002 => {
+        delta_from => 5.025001,
+        changed => {
+            'App::Cpan'             => '1.64',
+            'B::Op_private'         => '5.025002',
+            'CPAN'                  => '2.14',
+            'CPAN::Distribution'    => '2.12',
+            'CPAN::FTP'             => '5.5007',
+            'CPAN::FirstTime'       => '5.5309',
+            'CPAN::HandleConfig'    => '5.5007',
+            'CPAN::Index'           => '2.12',
+            'CPAN::Mirrors'         => '2.12',
+            'CPAN::Plugin'          => '0.96',
+            'CPAN::Shell'           => '5.5006',
+            'Config'                => '5.025002',
+            'Cwd'                   => '3.64',
+            'Devel::Peek'           => '1.24',
+            'DynaLoader'            => '1.39',
+            'ExtUtils::Command'     => '7.18',
+            'ExtUtils::Command::MM' => '7.18',
+            'ExtUtils::Liblist'     => '7.18',
+            'ExtUtils::Liblist::Kid'=> '7.18',
+            'ExtUtils::MM'          => '7.18',
+            'ExtUtils::MM_AIX'      => '7.18',
+            'ExtUtils::MM_Any'      => '7.18',
+            'ExtUtils::MM_BeOS'     => '7.18',
+            'ExtUtils::MM_Cygwin'   => '7.18',
+            'ExtUtils::MM_DOS'      => '7.18',
+            'ExtUtils::MM_Darwin'   => '7.18',
+            'ExtUtils::MM_MacOS'    => '7.18',
+            'ExtUtils::MM_NW5'      => '7.18',
+            'ExtUtils::MM_OS2'      => '7.18',
+            'ExtUtils::MM_QNX'      => '7.18',
+            'ExtUtils::MM_UWIN'     => '7.18',
+            'ExtUtils::MM_Unix'     => '7.18',
+            'ExtUtils::MM_VMS'      => '7.18',
+            'ExtUtils::MM_VOS'      => '7.18',
+            'ExtUtils::MM_Win32'    => '7.18',
+            'ExtUtils::MM_Win95'    => '7.18',
+            'ExtUtils::MY'          => '7.18',
+            'ExtUtils::MakeMaker'   => '7.18',
+            'ExtUtils::MakeMaker::Config'=> '7.18',
+            'ExtUtils::MakeMaker::Locale'=> '7.18',
+            'ExtUtils::MakeMaker::version'=> '7.18',
+            'ExtUtils::MakeMaker::version::regex'=> '7.18',
+            'ExtUtils::Miniperl'    => '1.06',
+            'ExtUtils::Mkbootstrap' => '7.18',
+            'ExtUtils::Mksymlists'  => '7.18',
+            'ExtUtils::ParseXS'     => '3.32',
+            'ExtUtils::ParseXS::Constants'=> '3.32',
+            'ExtUtils::ParseXS::CountLines'=> '3.32',
+            'ExtUtils::ParseXS::Eval'=> '3.32',
+            'ExtUtils::ParseXS::Utilities'=> '3.32',
+            'ExtUtils::Typemaps'    => '3.32',
+            'ExtUtils::Typemaps::Cmd'=> '3.32',
+            'ExtUtils::Typemaps::InputMap'=> '3.32',
+            'ExtUtils::Typemaps::OutputMap'=> '3.32',
+            'ExtUtils::Typemaps::Type'=> '3.32',
+            'ExtUtils::testlib'     => '7.18',
+            'File::Copy'            => '2.32',
+            'File::Glob'            => '1.27',
+            'File::Spec'            => '3.64',
+            'File::Spec::Cygwin'    => '3.64',
+            'File::Spec::Epoc'      => '3.64',
+            'File::Spec::Functions' => '3.64',
+            'File::Spec::Mac'       => '3.64',
+            'File::Spec::OS2'       => '3.64',
+            'File::Spec::Unix'      => '3.64',
+            'File::Spec::VMS'       => '3.64',
+            'File::Spec::Win32'     => '3.64',
+            'FileHandle'            => '2.03',
+            'Getopt::Long'          => '2.49',
+            'HTTP::Tiny'            => '0.058',
+            'JSON::PP'              => '2.27400',
+            'Locale::Codes'         => '3.39',
+            'Locale::Codes::Constants'=> '3.39',
+            'Locale::Codes::Country'=> '3.39',
+            'Locale::Codes::Country_Codes'=> '3.39',
+            'Locale::Codes::Country_Retired'=> '3.39',
+            'Locale::Codes::Currency'=> '3.39',
+            'Locale::Codes::Currency_Codes'=> '3.39',
+            'Locale::Codes::Currency_Retired'=> '3.39',
+            'Locale::Codes::LangExt'=> '3.39',
+            'Locale::Codes::LangExt_Codes'=> '3.39',
+            'Locale::Codes::LangExt_Retired'=> '3.39',
+            'Locale::Codes::LangFam'=> '3.39',
+            'Locale::Codes::LangFam_Codes'=> '3.39',
+            'Locale::Codes::LangFam_Retired'=> '3.39',
+            'Locale::Codes::LangVar'=> '3.39',
+            'Locale::Codes::LangVar_Codes'=> '3.39',
+            'Locale::Codes::LangVar_Retired'=> '3.39',
+            'Locale::Codes::Language'=> '3.39',
+            'Locale::Codes::Language_Codes'=> '3.39',
+            'Locale::Codes::Language_Retired'=> '3.39',
+            'Locale::Codes::Script' => '3.39',
+            'Locale::Codes::Script_Codes'=> '3.39',
+            'Locale::Codes::Script_Retired'=> '3.39',
+            'Locale::Country'       => '3.39',
+            'Locale::Currency'      => '3.39',
+            'Locale::Language'      => '3.39',
+            'Locale::Script'        => '3.39',
+            'Module::CoreList'      => '5.20160620',
+            'Module::CoreList::TieHashDelta'=> '5.20160620',
+            'Module::CoreList::Utils'=> '5.20160620',
+            'Opcode'                => '1.35',
+            'POSIX'                 => '1.70',
+            'Pod::Checker'          => '1.73',
+            'Pod::Functions'        => '1.11',
+            'Pod::Functions::Functions'=> '1.11',
+            'Pod::Usage'            => '1.69',
+            'Test2'                 => '1.302026',
+            'Test2::API'            => '1.302026',
+            'Test2::API::Breakage'  => '1.302026',
+            'Test2::API::Context'   => '1.302026',
+            'Test2::API::Instance'  => '1.302026',
+            'Test2::API::Stack'     => '1.302026',
+            'Test2::Event'          => '1.302026',
+            'Test2::Event::Bail'    => '1.302026',
+            'Test2::Event::Diag'    => '1.302026',
+            'Test2::Event::Exception'=> '1.302026',
+            'Test2::Event::Generic' => '1.302026',
+            'Test2::Event::Note'    => '1.302026',
+            'Test2::Event::Ok'      => '1.302026',
+            'Test2::Event::Plan'    => '1.302026',
+            'Test2::Event::Skip'    => '1.302026',
+            'Test2::Event::Subtest' => '1.302026',
+            'Test2::Event::Waiting' => '1.302026',
+            'Test2::Formatter'      => '1.302026',
+            'Test2::Formatter::TAP' => '1.302026',
+            'Test2::Hub'            => '1.302026',
+            'Test2::Hub::Interceptor'=> '1.302026',
+            'Test2::Hub::Interceptor::Terminator'=> '1.302026',
+            'Test2::Hub::Subtest'   => '1.302026',
+            'Test2::IPC'            => '1.302026',
+            'Test2::IPC::Driver'    => '1.302026',
+            'Test2::IPC::Driver::Files'=> '1.302026',
+            'Test2::Util'           => '1.302026',
+            'Test2::Util::ExternalMeta'=> '1.302026',
+            'Test2::Util::HashBase' => '1.302026',
+            'Test2::Util::Trace'    => '1.302026',
+            'Test::Builder'         => '1.302026',
+            'Test::Builder::Formatter'=> '1.302026',
+            'Test::Builder::Module' => '1.302026',
+            'Test::Builder::Tester' => '1.302026',
+            'Test::Builder::Tester::Color'=> '1.302026',
+            'Test::Builder::TodoDiag'=> '1.302026',
+            'Test::More'            => '1.302026',
+            'Test::Simple'          => '1.302026',
+            'Test::Tester'          => '1.302026',
+            'Test::Tester::Capture' => '1.302026',
+            'Test::Tester::CaptureRunner'=> '1.302026',
+            'Test::Tester::Delegate'=> '1.302026',
+            'Test::use::ok'         => '1.302026',
+            'Thread::Queue'         => '3.11',
+            'Time::HiRes'           => '1.9734',
+            'Unicode::UCD'          => '0.65',
+            'VMS::DCLsym'           => '1.07',
+            'XS::APItest'           => '0.82',
+            'diagnostics'           => '1.35',
+            'feature'               => '1.44',
+            'ok'                    => '1.302026',
+            'threads'               => '2.09',
+        },
+        removed => {
+        }
+    },
+    5.025003 => {
+        delta_from => 5.025002,
+        changed => {
+            'B::Op_private'         => '5.025003',
+            'Config'                => '5.025003',
+            'Module::CoreList'      => '5.20160720',
+            'Module::CoreList::TieHashDelta'=> '5.20160720',
+            'Module::CoreList::Utils'=> '5.20160720',
+        },
+        removed => {
+        }
+    },
 );
 
 sub is_core
@@ -12258,7 +12769,7 @@ sub is_core
         }
         RELEASE:
         foreach my $prn (@releases) {
-            next RELEASE if $prn <= $first_release;
+            next RELEASE if $prn < $first_release;
             last RELEASE if $prn > $perl_version;
             next unless defined(my $next_module_version
                                    = $delta{$prn}->{changed}->{$module});
@@ -12272,13 +12783,7 @@ sub is_core
     return $perl_version <= $final_release;
 }
 
-for my $version (sort { $a <=> $b } keys %delta) {
-    my $data = $delta{$version};
-
-    tie %{$version{$version}}, 'Module::CoreList::TieHashDelta',
-        $data->{changed}, $data->{removed},
-        $data->{delta_from} ? $version{$data->{delta_from}} : undef;
-}
+%version = _undelta(\%delta);
 
 %deprecated = (
     5.011    => {
@@ -12673,7 +13178,6 @@ for my $version (sort { $a <=> $b } keys %delta) {
             'Module::Build::Version'=> 1,
             'Module::Build::YAML'   => 1,
             'Package::Constants'    => 1,
-            'Simple'                => 1,
             'inc::latest'           => 1,
         }
     },
@@ -12845,15 +13349,65 @@ for my $version (sort { $a <=> $b } keys %delta) {
         removed => {
         }
     },
+    5.023008 => {
+        delta_from => 5.023007,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.023009 => {
+        delta_from => 5.023008,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.022002 => {
+        delta_from => 5.022001,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.024000 => {
+        delta_from => 5.023009,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.025000 => {
+        delta_from => 5.024,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.025001 => {
+        delta_from => 5.025,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.025002 => {
+        delta_from => 5.025001,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.025003 => {
+        delta_from => 5.025002,
+        changed => {
+        },
+        removed => {
+        }
+    },
 );
 
-for my $version (sort { $a <=> $b } keys %deprecated) {
-    my $data = $deprecated{$version};
-
-    tie %{ $deprecated{$version} }, 'Module::CoreList::TieHashDelta',
-        $data->{changed}, $data->{removed},
-        $data->{delta_from} ? $deprecated{ $data->{delta_from} } : undef;
-}
+%deprecated = _undelta(\%deprecated);
 
 %upstream = (
     'App::Cpan'             => 'cpan',
@@ -13082,9 +13636,6 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'Module::Load::Conditional'=> 'cpan',
     'Module::Loaded'        => 'cpan',
     'Module::Metadata'      => 'cpan',
-    'Module::Metadata::corpus::BOMTest::UTF16BE'=> 'cpan',
-    'Module::Metadata::corpus::BOMTest::UTF16LE'=> 'cpan',
-    'Module::Metadata::corpus::BOMTest::UTF8'=> 'cpan',
     'NEXT'                  => 'cpan',
     'Net::Cmd'              => 'cpan',
     'Net::Config'           => 'cpan',
@@ -13210,11 +13761,43 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'TAP::Parser::YAMLish::Writer'=> 'cpan',
     'Term::ANSIColor'       => 'cpan',
     'Term::Cap'             => 'cpan',
+    'Test2'                 => 'cpan',
+    'Test2::API'            => 'cpan',
+    'Test2::API::Breakage'  => 'cpan',
+    'Test2::API::Context'   => 'cpan',
+    'Test2::API::Instance'  => 'cpan',
+    'Test2::API::Stack'     => 'cpan',
+    'Test2::Event'          => 'cpan',
+    'Test2::Event::Bail'    => 'cpan',
+    'Test2::Event::Diag'    => 'cpan',
+    'Test2::Event::Exception'=> 'cpan',
+    'Test2::Event::Generic' => 'cpan',
+    'Test2::Event::Note'    => 'cpan',
+    'Test2::Event::Ok'      => 'cpan',
+    'Test2::Event::Plan'    => 'cpan',
+    'Test2::Event::Skip'    => 'cpan',
+    'Test2::Event::Subtest' => 'cpan',
+    'Test2::Event::Waiting' => 'cpan',
+    'Test2::Formatter'      => 'cpan',
+    'Test2::Formatter::TAP' => 'cpan',
+    'Test2::Hub'            => 'cpan',
+    'Test2::Hub::Interceptor'=> 'cpan',
+    'Test2::Hub::Interceptor::Terminator'=> 'cpan',
+    'Test2::Hub::Subtest'   => 'cpan',
+    'Test2::IPC'            => 'cpan',
+    'Test2::IPC::Driver'    => 'cpan',
+    'Test2::IPC::Driver::Files'=> 'cpan',
+    'Test2::Util'           => 'cpan',
+    'Test2::Util::ExternalMeta'=> 'cpan',
+    'Test2::Util::HashBase' => 'cpan',
+    'Test2::Util::Trace'    => 'cpan',
     'Test::Builder'         => 'cpan',
+    'Test::Builder::Formatter'=> 'cpan',
     'Test::Builder::IO::Scalar'=> 'cpan',
     'Test::Builder::Module' => 'cpan',
     'Test::Builder::Tester' => 'cpan',
     'Test::Builder::Tester::Color'=> 'cpan',
+    'Test::Builder::TodoDiag'=> 'cpan',
     'Test::Harness'         => 'cpan',
     'Test::More'            => 'cpan',
     'Test::Simple'          => 'cpan',
@@ -13228,7 +13811,6 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'Text::Tabs'            => 'cpan',
     'Text::Wrap'            => 'cpan',
     'Tie::RefHash'          => 'cpan',
-    'Time::HiRes'           => 'cpan',
     'Time::Local'           => 'cpan',
     'Time::Piece'           => 'cpan',
     'Time::Seconds'         => 'cpan',
@@ -13244,7 +13826,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'Unicode::Normalize'    => 'cpan',
     'Win32'                 => 'cpan',
     'Win32API::File'        => 'cpan',
-    'Win32API::File::ExtUtils::Myconst2perl'=> 'cpan',
+    'Win32API::File::inc::ExtUtils::Myconst2perl'=> 'cpan',
     'autodie'               => 'cpan',
     'autodie::Scope::Guard' => 'cpan',
     'autodie::Scope::GuardStack'=> 'cpan',
@@ -13436,8 +14018,8 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'IPC::SysV'             => undef,
     'JSON::PP'              => undef,
     'JSON::PP::Boolean'     => undef,
-    'List::Util'            => undef,
-    'List::Util::XS'        => undef,
+    'List::Util'            => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils',
+    'List::Util::XS'        => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils',
     'Locale::Codes'         => undef,
     'Locale::Codes::Constants'=> undef,
     'Locale::Codes::Country'=> undef,
@@ -13490,9 +14072,6 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'Module::Load::Conditional'=> undef,
     'Module::Loaded'        => undef,
     'Module::Metadata'      => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Module-Metadata',
-    'Module::Metadata::corpus::BOMTest::UTF16BE'=> undef,
-    'Module::Metadata::corpus::BOMTest::UTF16LE'=> undef,
-    'Module::Metadata::corpus::BOMTest::UTF8'=> undef,
     'NEXT'                  => undef,
     'Net::Cmd'              => undef,
     'Net::Config'           => undef,
@@ -13568,9 +14147,9 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'Pod::Text::Overstrike' => 'https://rt.cpan.org/Dist/Display.html?Name=podlators',
     'Pod::Text::Termcap'    => 'https://rt.cpan.org/Dist/Display.html?Name=podlators',
     'Pod::Usage'            => undef,
-    'Scalar::Util'          => undef,
+    'Scalar::Util'          => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils',
     'Socket'                => undef,
-    'Sub::Util'             => undef,
+    'Sub::Util'             => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils',
     'Sys::Syslog'           => undef,
     'Sys::Syslog::Win32'    => undef,
     'TAP::Base'             => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
@@ -13616,27 +14195,58 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'TAP::Parser::SourceHandler::RawTAP'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
     'TAP::Parser::YAMLish::Reader'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
     'TAP::Parser::YAMLish::Writer'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
-    'Term::ANSIColor'       => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Term::ANSIColor',
+    'Term::ANSIColor'       => 'https://rt.cpan.org/Dist/Display.html?Name=Term-ANSIColor',
     'Term::Cap'             => undef,
-    'Test::Builder'         => 'http://github.com/Test-More/test-more/issues/',
-    'Test::Builder::IO::Scalar'=> 'http://github.com/Test-More/test-more/issues/',
-    'Test::Builder::Module' => 'http://github.com/Test-More/test-more/issues/',
-    'Test::Builder::Tester' => 'http://github.com/Test-More/test-more/issues/',
-    'Test::Builder::Tester::Color'=> 'http://github.com/Test-More/test-more/issues/',
+    'Test2'                 => 'http://github.com/Test-More/test-more/issues',
+    'Test2::API'            => 'http://github.com/Test-More/test-more/issues',
+    'Test2::API::Breakage'  => 'http://github.com/Test-More/test-more/issues',
+    'Test2::API::Context'   => 'http://github.com/Test-More/test-more/issues',
+    'Test2::API::Instance'  => 'http://github.com/Test-More/test-more/issues',
+    'Test2::API::Stack'     => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Event'          => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Event::Bail'    => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Event::Diag'    => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Event::Exception'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::Event::Generic' => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Event::Note'    => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Event::Ok'      => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Event::Plan'    => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Event::Skip'    => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Event::Subtest' => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Event::Waiting' => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Formatter'      => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Formatter::TAP' => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Hub'            => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Hub::Interceptor'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::Hub::Interceptor::Terminator'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::Hub::Subtest'   => 'http://github.com/Test-More/test-more/issues',
+    'Test2::IPC'            => 'http://github.com/Test-More/test-more/issues',
+    'Test2::IPC::Driver'    => 'http://github.com/Test-More/test-more/issues',
+    'Test2::IPC::Driver::Files'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::Util'           => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Util::ExternalMeta'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::Util::HashBase' => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Util::Trace'    => 'http://github.com/Test-More/test-more/issues',
+    'Test::Builder'         => 'http://github.com/Test-More/test-more/issues',
+    'Test::Builder::Formatter'=> 'http://github.com/Test-More/test-more/issues',
+    'Test::Builder::IO::Scalar'=> 'http://github.com/Test-More/test-more/issues',
+    'Test::Builder::Module' => 'http://github.com/Test-More/test-more/issues',
+    'Test::Builder::Tester' => 'http://github.com/Test-More/test-more/issues',
+    'Test::Builder::Tester::Color'=> 'http://github.com/Test-More/test-more/issues',
+    'Test::Builder::TodoDiag'=> 'http://github.com/Test-More/test-more/issues',
     'Test::Harness'         => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
-    'Test::More'            => 'http://github.com/Test-More/test-more/issues/',
-    'Test::Simple'          => 'http://github.com/Test-More/test-more/issues/',
-    'Test::Tester'          => 'http://github.com/Test-More/test-more/issues/',
-    'Test::Tester::Capture' => 'http://github.com/Test-More/test-more/issues/',
-    'Test::Tester::CaptureRunner'=> 'http://github.com/Test-More/test-more/issues/',
-    'Test::Tester::Delegate'=> 'http://github.com/Test-More/test-more/issues/',
-    'Test::use::ok'         => 'http://github.com/Test-More/test-more/issues/',
+    'Test::More'            => 'http://github.com/Test-More/test-more/issues',
+    'Test::Simple'          => 'http://github.com/Test-More/test-more/issues',
+    'Test::Tester'          => 'http://github.com/Test-More/test-more/issues',
+    'Test::Tester::Capture' => 'http://github.com/Test-More/test-more/issues',
+    'Test::Tester::CaptureRunner'=> 'http://github.com/Test-More/test-more/issues',
+    'Test::Tester::Delegate'=> 'http://github.com/Test-More/test-more/issues',
+    'Test::use::ok'         => 'http://github.com/Test-More/test-more/issues',
     'Text::Balanced'        => undef,
     'Text::ParseWords'      => undef,
     'Text::Tabs'            => undef,
     'Text::Wrap'            => undef,
     'Tie::RefHash'          => undef,
-    'Time::HiRes'           => undef,
     'Time::Local'           => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=Time-Local',
     'Time::Piece'           => undef,
     'Time::Seconds'         => undef,
@@ -13652,7 +14262,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'Unicode::Normalize'    => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Unicode-Normalize',
     'Win32'                 => undef,
     'Win32API::File'        => undef,
-    'Win32API::File::ExtUtils::Myconst2perl'=> undef,
+    'Win32API::File::inc::ExtUtils::Myconst2perl'=> undef,
     'autodie'               => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
     'autodie::Scope::Guard' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
     'autodie::Scope::GuardStack'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
@@ -13666,7 +14276,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'bigrat'                => undef,
     'encoding'              => undef,
     'experimental'          => 'http://rt.cpan.org/Public/Dist/Display.html?Name=experimental',
-    'ok'                    => 'http://github.com/Test-More/test-more/issues/',
+    'ok'                    => 'http://github.com/Test-More/test-more/issues',
     'parent'                => undef,
     'perlfaq'               => 'https://github.com/perl-doc-cats/perlfaq/issues',
     'version'               => 'https://rt.cpan.org/Public/Dist/Display.html?Name=version',