The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
CONTRIBUTING 33
Changes 09
INSTALL 716
MANIFEST 37
META.json 263378
META.yml 193275
Makefile.PL 2527
README 52
dist.ini 1216
inc/ExtUtils/HasCompiler.pm 18105
lib/B/Hooks/EndOfScope/PP/FieldHash.pm 22
lib/B/Hooks/EndOfScope/PP/HintHash.pm 1062
lib/B/Hooks/EndOfScope/PP.pm 33
lib/B/Hooks/EndOfScope/XS.pm 815
lib/B/Hooks/EndOfScope.pm 1547
t/00-report-prereqs.dd 7888
t/00-report-prereqs.t 1126
t/02-localise.t 17
t/07-nested.t 024
t/lib/OtherClass.pm 07
t/lib/YetAnotherClass.pm 05
xt/author/00-compile.t 410
xt/author/changes_has_content.t 013
xt/author/check-inc.t 022
xt/author/eol.t 48
xt/author/no-tabs.t 37
xt/author/pod-spell.t 2326
xt/author/portability.t 010
xt/release/changes_has_content.t 56
xt/release/cpan-changes.t 54
xt/release/minimum-version.t 80
xt/release/portability.t 120
32 files changed (This is a version diff) 7211230
@@ -24,7 +24,7 @@ However, you can run tests directly using the 'prove' tool:
   $ prove -lv t/some_test_file.t
   $ prove -lvr t/
 
-In most cases, 'prove' is entirely sufficent for you to test any
+In most cases, 'prove' is entirely sufficient for you to test any
 patches you have.
 
 You may need to satisfy some dependencies.  The easiest way to satisfy
@@ -95,5 +95,5 @@ wish to be listed under a different name or address, you should submit a pull
 request to the .mailmap file to contain the correct mapping.
 
 
-This file was generated via Dist::Zilla::Plugin::GenerateFile::FromShareDir 0.009 from a
-template file originating in Dist-Zilla-PluginBundle-Author-ETHER-0.114.
+This file was generated via Dist::Zilla::Plugin::GenerateFile::FromShareDir 0.013 from a
+template file originating in Dist-Zilla-PluginBundle-Author-ETHER-0.137.
@@ -1,5 +1,14 @@
 Revision history for B-Hooks-EndOfScope
 
+0.24      2018-04-21 14:11:08Z
+  - no changes since last trial release
+
+0.23      2018-03-17 23:33:09Z (TRIAL RELEASE)
+  - improve use of constants in compile-time perl version checks
+
+0.22      2018-03-17 19:31:37Z (TRIAL RELEASE)
+  - Fix memory corruption on perls 5.8.0 - 5.8.3
+
 0.21      2016-05-25 18:34:46Z
   - work with Object::Remote by removing require() call on Tie::StdHash in PP
 
@@ -8,10 +8,10 @@ If you have cpanm, you only need one line:
 
     % cpanm B::Hooks::EndOfScope
 
-If you are installing into a system-wide directory, you may need to pass the
-"-S" flag to cpanm, which uses sudo to install the module:
-
-    % cpanm -S B::Hooks::EndOfScope
+If it does not have permission to install modules to the current perl, cpanm
+will automatically set up and install to a local::lib in your home directory.
+See the local::lib documentation (https://metacpan.org/pod/local::lib) for
+details on enabling it in your environment.
 
 ## Installing with the CPAN shell
 
@@ -31,13 +31,22 @@ Then install it:
 
     % make install
 
-If you are installing into a system-wide directory, you may need to run:
+On Windows platforms, you should use `dmake` or `nmake`, instead of `make`.
+
+If your perl is system-managed, you can create a local::lib in your home
+directory to install modules to. For details, see the local::lib documentation:
+https://metacpan.org/pod/local::lib
+
 
-    % sudo make install
+The prerequisites of this distribution will also have to be installed manually. The
+prerequisites are listed in one of the files: `MYMETA.yml` or `MYMETA.json` generated
+by running the manual build process described above.
 
 ## Documentation
 
 B-Hooks-EndOfScope documentation is available as POD.
-You can run perldoc from a shell to read the documentation:
+You can run `perldoc` from a shell to read the documentation:
 
     % perldoc B::Hooks::EndOfScope
+For more information on installing Perl modules via CPAN, please see:
+https://www.cpan.org/modules/INSTALL.html
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.005.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.012.
 CONTRIBUTING
 Changes
 INSTALL
@@ -22,10 +22,15 @@ t/01-eval.t
 t/02-localise.t
 t/05-exception_xs.t
 t/06-exception_pp.t
+t/07-nested.t
 t/10-test_without_vm_pure_pp.t
 t/11-direct_xs.t
 t/12-direct_pp.t
+t/lib/OtherClass.pm
+t/lib/YetAnotherClass.pm
 xt/author/00-compile.t
+xt/author/changes_has_content.t
+xt/author/check-inc.t
 xt/author/eol.t
 xt/author/kwalitee.t
 xt/author/mojibake.t
@@ -33,8 +38,7 @@ xt/author/no-tabs.t
 xt/author/pod-no404s.t
 xt/author/pod-spell.t
 xt/author/pod-syntax.t
+xt/author/portability.t
 xt/release/changes_has_content.t
 xt/release/cpan-changes.t
 xt/release/distmeta.t
-xt/release/minimum-version.t
-xt/release/portability.t
@@ -2,10 +2,10 @@
    "abstract" : "Execute code after a scope finished compilation",
    "author" : [
       "Florian Ragwitz <rafl@debian.org>",
-      "Peter Rabbitson <ribasushi@cpan.org>"
+      "Peter Rabbitson <ribasushi@leporine.io>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "Dist::Zilla version 6.005, CPAN::Meta::Converter version 2.150005",
+   "generated_by" : "Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010",
    "keywords" : [
       "code",
       "hooks",
@@ -30,36 +30,83 @@
       "configure" : {
          "requires" : {
             "ExtUtils::MakeMaker" : "0",
-            "Text::ParseWords" : "0",
-            "perl" : "5.008001"
+            "Text::ParseWords" : "0"
          }
       },
       "develop" : {
          "recommends" : {
-            "Dist::Zilla::PluginBundle::Author::ETHER" : "0.114"
+            "Dist::Zilla::PluginBundle::Author::ETHER" : "0.137",
+            "Dist::Zilla::PluginBundle::Git::VersionManager" : "0.007"
          },
          "requires" : {
             "Devel::Hide" : "0.0007",
+            "Encode" : "0",
+            "ExtUtils::HasCompiler" : "0.014",
+            "File::Spec" : "0",
+            "IO::Handle" : "0",
+            "IPC::Open3" : "0",
+            "Path::Tiny" : "0.062",
+            "Pod::Wordlist" : "0",
+            "Test::CPAN::Changes" : "0.19",
+            "Test::CPAN::Meta" : "0",
+            "Test::Deep" : "0",
+            "Test::EOL" : "0",
+            "Test::Kwalitee" : "1.21",
+            "Test::Mojibake" : "0",
+            "Test::More" : "0.96",
+            "Test::NoTabs" : "0",
+            "Test::Pod" : "1.41",
+            "Test::Pod::No404s" : "0",
+            "Test::Portability::Files" : "0",
+            "Test::Spelling" : "0.12"
+         }
+      },
+      "runtime" : {
+         "requires" : {
+            "Module::Implementation" : "0.05",
+            "Scalar::Util" : "0",
+            "Sub::Exporter::Progressive" : "0.001006",
+            "perl" : "5.006001",
+            "strict" : "0",
+            "warnings" : "0"
+         }
+      },
+      "test" : {
+         "recommends" : {
+            "CPAN::Meta" : "2.120900"
+         },
+         "requires" : {
+            "ExtUtils::MakeMaker" : "0",
+            "File::Glob" : "0",
+            "File::Spec" : "0",
+            "IPC::Open2" : "0",
+            "Test::More" : "0.88",
+            "lib" : "0"
+         }
+      },
+      "x_Dist_Zilla" : {
+         "requires" : {
             "Dist::Zilla" : "5",
             "Dist::Zilla::Plugin::Authority" : "1.009",
-            "Dist::Zilla::Plugin::AuthorityFromModule" : "0.002",
             "Dist::Zilla::Plugin::AutoMetaResources" : "0",
             "Dist::Zilla::Plugin::AutoPrereqs" : "5.038",
             "Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional" : "0.004",
             "Dist::Zilla::Plugin::CheckIssues" : "0",
-            "Dist::Zilla::Plugin::CheckPrereqsIndexed" : "0",
+            "Dist::Zilla::Plugin::CheckMetaResources" : "0",
+            "Dist::Zilla::Plugin::CheckPrereqsIndexed" : "0.019",
             "Dist::Zilla::Plugin::CheckSelfDependency" : "0",
             "Dist::Zilla::Plugin::CheckStrictVersion" : "0",
             "Dist::Zilla::Plugin::ConfirmRelease" : "0",
             "Dist::Zilla::Plugin::CopyFilesFromRelease" : "0",
             "Dist::Zilla::Plugin::DynamicPrereqs" : "0.029",
+            "Dist::Zilla::Plugin::EnsureLatestPerl" : "0",
             "Dist::Zilla::Plugin::FileFinder::ByName" : "0",
             "Dist::Zilla::Plugin::GenerateFile::FromShareDir" : "0",
             "Dist::Zilla::Plugin::Git::Check" : "0",
             "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch" : "0.004",
             "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts" : "0",
             "Dist::Zilla::Plugin::Git::Commit" : "2.020",
-            "Dist::Zilla::Plugin::Git::Contributors" : "0.004",
+            "Dist::Zilla::Plugin::Git::Contributors" : "0.029",
             "Dist::Zilla::Plugin::Git::Describe" : "0.004",
             "Dist::Zilla::Plugin::Git::GatherDir" : "2.016",
             "Dist::Zilla::Plugin::Git::Push" : "0",
@@ -78,89 +125,52 @@
             "Dist::Zilla::Plugin::MetaProvides::Package" : "1.15000002",
             "Dist::Zilla::Plugin::MetaTests" : "0",
             "Dist::Zilla::Plugin::MetaYAML" : "0",
-            "Dist::Zilla::Plugin::MinimumPerl" : "1.006",
             "Dist::Zilla::Plugin::MojibakeTests" : "0.8",
             "Dist::Zilla::Plugin::NextRelease" : "5.033",
             "Dist::Zilla::Plugin::PodSyntaxTests" : "5.040",
             "Dist::Zilla::Plugin::Prereqs" : "0",
-            "Dist::Zilla::Plugin::Prereqs::AuthorDeps" : "0",
+            "Dist::Zilla::Plugin::Prereqs::AuthorDeps" : "0.006",
             "Dist::Zilla::Plugin::PromptIfStale" : "0",
             "Dist::Zilla::Plugin::Readme" : "0",
             "Dist::Zilla::Plugin::ReadmeAnyFromPod" : "0.142180",
             "Dist::Zilla::Plugin::RewriteVersion::Transitional" : "0.004",
-            "Dist::Zilla::Plugin::Run::AfterBuild" : "0.038",
+            "Dist::Zilla::Plugin::Run::AfterBuild" : "0.041",
             "Dist::Zilla::Plugin::Run::AfterRelease" : "0.038",
             "Dist::Zilla::Plugin::RunExtraTests" : "0.024",
             "Dist::Zilla::Plugin::StaticInstall" : "0.005",
             "Dist::Zilla::Plugin::SurgicalPodWeaver" : "0",
-            "Dist::Zilla::Plugin::Test::CPAN::Changes" : "0.008",
+            "Dist::Zilla::Plugin::Test::CPAN::Changes" : "0.012",
             "Dist::Zilla::Plugin::Test::ChangesHasContent" : "0",
             "Dist::Zilla::Plugin::Test::Compile" : "2.039",
             "Dist::Zilla::Plugin::Test::EOL" : "0.17",
             "Dist::Zilla::Plugin::Test::Kwalitee" : "2.10",
-            "Dist::Zilla::Plugin::Test::MinimumVersion" : "2.000003",
             "Dist::Zilla::Plugin::Test::NoTabs" : "0.08",
-            "Dist::Zilla::Plugin::Test::Pod::No404s" : "1.002",
+            "Dist::Zilla::Plugin::Test::Pod::No404s" : "1.003",
             "Dist::Zilla::Plugin::Test::PodSpelling" : "2.006003",
-            "Dist::Zilla::Plugin::Test::Portability" : "0",
+            "Dist::Zilla::Plugin::Test::Portability" : "2.000007",
             "Dist::Zilla::Plugin::Test::ReportPrereqs" : "0.022",
             "Dist::Zilla::Plugin::TestRelease" : "0",
             "Dist::Zilla::Plugin::UploadToCPAN" : "0",
-            "Dist::Zilla::PluginBundle::Author::ETHER" : "0.094",
+            "Dist::Zilla::Plugin::UseUnsafeInc" : "0",
+            "Dist::Zilla::PluginBundle::Author::ETHER" : "0.119",
+            "Dist::Zilla::PluginBundle::Git::VersionManager" : "0",
             "ExtUtils::HasCompiler" : "0.014",
-            "File::Spec" : "0",
-            "IO::Handle" : "0",
-            "IPC::Open3" : "0",
-            "Pod::Wordlist" : "0",
-            "Software::License::Perl_5" : "0",
-            "Test::CPAN::Changes" : "0.19",
-            "Test::CPAN::Meta" : "0",
-            "Test::EOL" : "0",
-            "Test::Kwalitee" : "1.21",
-            "Test::Mojibake" : "0",
-            "Test::More" : "0.96",
-            "Test::NoTabs" : "0",
-            "Test::Pod" : "1.41",
-            "Test::Pod::No404s" : "0",
-            "Test::Spelling" : "0.12",
-            "blib" : "1.01"
-         }
-      },
-      "runtime" : {
-         "requires" : {
-            "Module::Implementation" : "0.05",
-            "Sub::Exporter::Progressive" : "0.001006",
-            "perl" : "5.008001",
-            "strict" : "0",
-            "warnings" : "0"
-         }
-      },
-      "test" : {
-         "recommends" : {
-            "CPAN::Meta" : "2.120900"
-         },
-         "requires" : {
-            "File::Glob" : "0",
-            "File::Spec" : "0",
-            "IPC::Open2" : "0",
-            "Module::Metadata" : "0",
-            "Test::More" : "0.89",
-            "perl" : "5.008001"
+            "Software::License::Perl_5" : "0"
          }
       }
    },
    "provides" : {
       "B::Hooks::EndOfScope" : {
          "file" : "lib/B/Hooks/EndOfScope.pm",
-         "version" : "0.21"
+         "version" : "0.24"
       },
       "B::Hooks::EndOfScope::PP" : {
          "file" : "lib/B/Hooks/EndOfScope/PP.pm",
-         "version" : "0.21"
+         "version" : "0.24"
       },
       "B::Hooks::EndOfScope::XS" : {
          "file" : "lib/B/Hooks/EndOfScope/XS.pm",
-         "version" : "0.21"
+         "version" : "0.24"
       }
    },
    "release_status" : "stable",
@@ -176,10 +186,10 @@
          "web" : "https://github.com/karenetheridge/B-Hooks-EndOfScope"
       }
    },
-   "version" : "0.21",
+   "version" : "0.24",
    "x_Dist_Zilla" : {
       "perl" : {
-         "version" : "5.025000"
+         "version" : "5.027011"
       },
       "plugins" : [
          {
@@ -187,28 +197,11 @@
             "config" : {
                "Dist::Zilla::Plugin::Prereqs" : {
                   "phase" : "develop",
-                  "type" : "requires"
+                  "type" : "recommends"
                }
             },
-            "name" : "@Author::ETHER/bundle_plugins",
-            "version" : "6.005"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::RewriteVersion::Transitional",
-            "config" : {
-               "Dist::Zilla::Plugin::RewriteVersion" : {
-                  "add_tarball_name" : 0,
-                  "finders" : [
-                     ":ExecFiles",
-                     ":InstallModules"
-                  ],
-                  "global" : 1,
-                  "skip_version_provider" : 0
-               },
-               "Dist::Zilla::Plugin::RewriteVersion::Transitional" : {}
-            },
-            "name" : "@Author::ETHER/RewriteVersion::Transitional",
-            "version" : "0.007"
+            "name" : "@Author::ETHER/pluginbundle version",
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::PromptIfStale",
@@ -220,30 +213,17 @@
                      "Dist::Zilla::PluginBundle::Author::ETHER"
                   ],
                   "phase" : "build",
+                  "run_under_travis" : 0,
                   "skip" : []
                }
             },
             "name" : "@Author::ETHER/stale modules, build",
-            "version" : "0.049"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::PromptIfStale",
-            "config" : {
-               "Dist::Zilla::Plugin::PromptIfStale" : {
-                  "check_all_plugins" : 1,
-                  "check_all_prereqs" : 1,
-                  "modules" : [],
-                  "phase" : "release",
-                  "skip" : []
-               }
-            },
-            "name" : "@Author::ETHER/stale modules, release",
-            "version" : "0.049"
+            "version" : "0.054"
          },
          {
             "class" : "Dist::Zilla::Plugin::FileFinder::ByName",
             "name" : "@Author::ETHER/Examples",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::GatherDir",
@@ -268,32 +248,32 @@
                }
             },
             "name" : "@Author::ETHER/Git::GatherDir",
-            "version" : "2.039"
+            "version" : "2.043"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "@Author::ETHER/MetaYAML",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "@Author::ETHER/MetaJSON",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Readme",
             "name" : "@Author::ETHER/Readme",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "@Author::ETHER/Manifest",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "@Author::ETHER/License",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::GenerateFile::FromShareDir",
@@ -309,16 +289,16 @@
                "Dist::Zilla::Role::RepoFileInjector" : {
                   "allow_overwrite" : 1,
                   "repo_root" : ".",
-                  "version" : "0.006"
+                  "version" : "0.007"
                }
             },
             "name" : "@Author::ETHER/generate CONTRIBUTING",
-            "version" : "0.009"
+            "version" : "0.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::InstallGuide",
             "name" : "@Author::ETHER/InstallGuide",
-            "version" : "1.200006"
+            "version" : "1.200009"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::Compile",
@@ -337,11 +317,12 @@
                      ":PerlExecFiles",
                      "@Author::ETHER/Examples"
                   ],
-                  "skips" : []
+                  "skips" : [],
+                  "switch" : []
                }
             },
             "name" : "@Author::ETHER/Test::Compile",
-            "version" : "2.054"
+            "version" : "2.058"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::NoTabs",
@@ -366,48 +347,73 @@
                "Dist::Zilla::Plugin::Test::EOL" : {
                   "filename" : "xt/author/eol.t",
                   "finder" : [
-                     ":InstallModules",
                      ":ExecFiles",
-                     "@Author::ETHER/Examples",
+                     ":ExtraTestFiles",
+                     ":InstallModules",
                      ":TestFiles",
-                     ":ExtraTestFiles"
+                     "@Author::ETHER/Examples"
                   ],
                   "trailing_whitespace" : 1
                }
             },
             "name" : "@Author::ETHER/Test::EOL",
-            "version" : "0.18"
+            "version" : "0.19"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaTests",
             "name" : "@Author::ETHER/MetaTests",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::CPAN::Changes",
+            "config" : {
+               "Dist::Zilla::Plugin::Test::CPAN::Changes" : {
+                  "changelog" : "Changes"
+               }
+            },
             "name" : "@Author::ETHER/Test::CPAN::Changes",
-            "version" : "0.009"
+            "version" : "0.012"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Test::ChangesHasContent",
-            "name" : "@Author::ETHER/Test::ChangesHasContent",
-            "version" : "0.009"
+            "class" : "Dist::Zilla::Plugin::GenerateFile::FromShareDir",
+            "config" : {
+               "Dist::Zilla::Plugin::GenerateFile::FromShareDir" : {
+                  "destination_filename" : "xt/author/changes_has_content.t",
+                  "dist" : "Dist-Zilla-PluginBundle-Author-ETHER",
+                  "encoding" : "UTF-8",
+                  "location" : "build",
+                  "source_filename" : "changes_has_content.t"
+               },
+               "Dist::Zilla::Role::RepoFileInjector" : {
+                  "allow_overwrite" : 1,
+                  "repo_root" : ".",
+                  "version" : "0.007"
+               }
+            },
+            "name" : "@Author::ETHER/generate xt/author/changes_has_content.t",
+            "version" : "0.013"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Test::MinimumVersion",
-            "name" : "@Author::ETHER/Test::MinimumVersion",
-            "version" : "2.000006"
+            "class" : "Dist::Zilla::Plugin::Test::ChangesHasContent",
+            "name" : "@Author::ETHER/Test::ChangesHasContent",
+            "version" : "0.011"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "@Author::ETHER/PodSyntaxTests",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::PodSpelling",
             "config" : {
                "Dist::Zilla::Plugin::Test::PodSpelling" : {
-                  "directories" : [],
+                  "directories" : [
+                     "examples",
+                     "lib",
+                     "script",
+                     "t",
+                     "xt"
+                  ],
                   "spell_cmd" : "",
                   "stopwords" : [
                      "irc"
@@ -416,12 +422,12 @@
                }
             },
             "name" : "@Author::ETHER/Test::PodSpelling",
-            "version" : "2.007000"
+            "version" : "2.007005"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::Pod::No404s",
             "name" : "@Author::ETHER/Test::Pod::No404s",
-            "version" : "1.003"
+            "version" : "1.004"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::Kwalitee",
@@ -442,17 +448,22 @@
          {
             "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
             "name" : "@Author::ETHER/Test::ReportPrereqs",
-            "version" : "0.024"
+            "version" : "0.027"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::Portability",
+            "config" : {
+               "Dist::Zilla::Plugin::Test::Portability" : {
+                  "options" : ""
+               }
+            },
             "name" : "@Author::ETHER/Test::Portability",
-            "version" : "2.000006"
+            "version" : "2.001000"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Describe",
             "name" : "@Author::ETHER/Git::Describe",
-            "version" : "0.006"
+            "version" : "0.007"
          },
          {
             "class" : "Dist::Zilla::Plugin::SurgicalPodWeaver",
@@ -469,97 +480,97 @@
                      {
                         "class" : "Pod::Weaver::Plugin::EnsurePod5",
                         "name" : "@Author::ETHER/EnsurePod5",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Plugin::H1Nester",
                         "name" : "@Author::ETHER/H1Nester",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Plugin::SingleEncoding",
                         "name" : "@Author::ETHER/SingleEncoding",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Plugin::Transformer",
                         "name" : "@Author::ETHER/List",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Plugin::Transformer",
                         "name" : "@Author::ETHER/Verbatim",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Region",
                         "name" : "@Author::ETHER/header",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Name",
                         "name" : "@Author::ETHER/Name",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Version",
                         "name" : "@Author::ETHER/Version",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Region",
                         "name" : "@Author::ETHER/prelude",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Generic",
                         "name" : "SYNOPSIS",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Generic",
                         "name" : "DESCRIPTION",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Generic",
                         "name" : "OVERVIEW",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
                         "name" : "ATTRIBUTES",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
                         "name" : "METHODS",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
                         "name" : "FUNCTIONS",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
                         "name" : "TYPES",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Leftovers",
                         "name" : "@Author::ETHER/Leftovers",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Region",
                         "name" : "@Author::ETHER/postlude",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::GenerateSection",
                         "name" : "@Author::ETHER/generate SUPPORT",
-                        "version" : "1.01"
+                        "version" : "1.06"
                      },
                      {
                         "class" : "Pod::Weaver::Section::AllowOverride",
@@ -569,7 +580,7 @@
                      {
                         "class" : "Pod::Weaver::Section::Authors",
                         "name" : "@Author::ETHER/Authors",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Contributors",
@@ -579,12 +590,12 @@
                      {
                         "class" : "Pod::Weaver::Section::Legal",
                         "name" : "@Author::ETHER/Legal",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Region",
                         "name" : "@Author::ETHER/footer",
-                        "version" : "4.013"
+                        "version" : "4.015"
                      }
                   ]
                }
@@ -603,20 +614,6 @@
             "version" : "1.21"
          },
          {
-            "class" : "Dist::Zilla::Plugin::AuthorityFromModule",
-            "config" : {
-               "Dist::Zilla::Plugin::AuthorityFromModule" : {
-                  "module" : "B::Hooks::EndOfScope"
-               },
-               "Dist::Zilla::Role::ModuleMetadata" : {
-                  "Module::Metadata" : "1.000032",
-                  "version" : "0.003"
-               }
-            },
-            "name" : "@Author::ETHER/AuthorityFromModule",
-            "version" : "0.006"
-         },
-         {
             "class" : "Dist::Zilla::Plugin::Authority",
             "name" : "@Author::ETHER/Authority",
             "version" : "1.009"
@@ -624,7 +621,7 @@
          {
             "class" : "Dist::Zilla::Plugin::MetaNoIndex",
             "name" : "@Author::ETHER/MetaNoIndex",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
@@ -637,28 +634,29 @@
                      {
                         "class" : "Dist::Zilla::Plugin::FinderCode",
                         "name" : ":InstallModules",
-                        "version" : "6.005"
+                        "version" : "6.012"
                      }
-                  ]
+                  ],
+                  "include_underscores" : 0
                },
                "Dist::Zilla::Role::MetaProvider::Provider" : {
-                  "Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002000",
+                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                   "inherit_missing" : 0,
                   "inherit_version" : 0,
                   "meta_noindex" : 1
                },
                "Dist::Zilla::Role::ModuleMetadata" : {
-                  "Module::Metadata" : "1.000032",
-                  "version" : "0.003"
+                  "Module::Metadata" : "1.000033",
+                  "version" : "0.006"
                }
             },
             "name" : "@Author::ETHER/MetaProvides::Package",
-            "version" : "2.004000"
+            "version" : "2.004003"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "@Author::ETHER/MetaConfig",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Keywords",
@@ -676,9 +674,19 @@
             "version" : "0.007"
          },
          {
+            "class" : "Dist::Zilla::Plugin::UseUnsafeInc",
+            "config" : {
+               "Dist::Zilla::Plugin::UseUnsafeInc" : {
+                  "dot_in_INC" : 0
+               }
+            },
+            "name" : "@Author::ETHER/UseUnsafeInc",
+            "version" : "0.001"
+         },
+         {
             "class" : "Dist::Zilla::Plugin::AutoPrereqs",
             "name" : "@Author::ETHER/AutoPrereqs",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs::AuthorDeps",
@@ -686,31 +694,15 @@
             "version" : "0.006"
          },
          {
-            "class" : "Dist::Zilla::Plugin::MinimumPerl",
-            "name" : "@Author::ETHER/MinimumPerl",
-            "version" : "1.006"
-         },
-         {
             "class" : "Dist::Zilla::Plugin::Prereqs",
             "config" : {
                "Dist::Zilla::Plugin::Prereqs" : {
-                  "phase" : "develop",
-                  "type" : "recommends"
-               }
-            },
-            "name" : "@Author::ETHER/pluginbundle_version",
-            "version" : "6.005"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::Prereqs",
-            "config" : {
-               "Dist::Zilla::Plugin::Prereqs" : {
-                  "phase" : "develop",
+                  "phase" : "x_Dist_Zilla",
                   "type" : "requires"
                }
             },
             "name" : "@Author::ETHER/pod_weaving",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MakeMaker",
@@ -720,22 +712,21 @@
                }
             },
             "name" : "@Author::ETHER/MakeMaker",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Contributors",
             "config" : {
                "Dist::Zilla::Plugin::Git::Contributors" : {
+                  "git_version" : "2.14.2",
                   "include_authors" : 0,
                   "include_releaser" : 1,
                   "order_by" : "commits",
-                  "paths" : [
-                     "."
-                  ]
+                  "paths" : []
                }
             },
             "name" : "@Author::ETHER/Git::Contributors",
-            "version" : "0.023"
+            "version" : "0.032"
          },
          {
             "class" : "Dist::Zilla::Plugin::StaticInstall",
@@ -746,7 +737,7 @@
                }
             },
             "name" : "@Author::ETHER/StaticInstall",
-            "version" : "0.009"
+            "version" : "0.011"
          },
          {
             "class" : "Dist::Zilla::Plugin::RunExtraTests",
@@ -767,8 +758,8 @@
                   ]
                },
                "Dist::Zilla::Role::ModuleMetadata" : {
-                  "Module::Metadata" : "1.000032",
-                  "version" : "0.003"
+                  "Module::Metadata" : "1.000033",
+                  "version" : "0.006"
                }
             },
             "name" : "@Author::ETHER/CheckSelfDependency",
@@ -782,11 +773,12 @@
                   "quiet" : 1,
                   "run" : [
                      "bash -c \"test -e .ackrc && grep -q -- '--ignore-dir=.latest' .ackrc || echo '--ignore-dir=.latest' >> .ackrc; if [[ `dirname '%d'` != .build ]]; then test -e .ackrc && grep -q -- '--ignore-dir=%d' .ackrc || echo '--ignore-dir=%d' >> .ackrc; fi\""
-                  ]
+                  ],
+                  "version" : "0.046"
                }
             },
             "name" : "@Author::ETHER/.ackrc",
-            "version" : "0.043"
+            "version" : "0.046"
          },
          {
             "class" : "Dist::Zilla::Plugin::Run::AfterBuild",
@@ -795,12 +787,13 @@
                   "eval" : [
                      "if ('%d' =~ /^%n-[.[:xdigit:]]+$/) { unlink '.latest'; symlink '%d', '.latest'; }"
                   ],
-                  "fatal_errors" : 1,
-                  "quiet" : 1
+                  "fatal_errors" : 0,
+                  "quiet" : 1,
+                  "version" : "0.046"
                }
             },
             "name" : "@Author::ETHER/.latest",
-            "version" : "0.043"
+            "version" : "0.046"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckStrictVersion",
@@ -808,6 +801,36 @@
             "version" : "0.001"
          },
          {
+            "class" : "Dist::Zilla::Plugin::CheckMetaResources",
+            "name" : "@Author::ETHER/CheckMetaResources",
+            "version" : "0.001"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::EnsureLatestPerl",
+            "config" : {
+               "Dist::Zilla::Plugin::EnsureLatestPerl" : {
+                  "Module::CoreList" : "5.20180420"
+               }
+            },
+            "name" : "@Author::ETHER/EnsureLatestPerl",
+            "version" : "0.007"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PromptIfStale",
+            "config" : {
+               "Dist::Zilla::Plugin::PromptIfStale" : {
+                  "check_all_plugins" : 1,
+                  "check_all_prereqs" : 1,
+                  "modules" : [],
+                  "phase" : "release",
+                  "run_under_travis" : 0,
+                  "skip" : []
+               }
+            },
+            "name" : "@Author::ETHER/stale modules, release",
+            "version" : "0.054"
+         },
+         {
             "class" : "Dist::Zilla::Plugin::Git::Check",
             "config" : {
                "Dist::Zilla::Plugin::Git::Check" : {
@@ -819,46 +842,49 @@
                   "changelog" : "Changes"
                },
                "Dist::Zilla::Role::Git::Repo" : {
+                  "git_version" : "2.14.2",
                   "repo_root" : "."
                }
             },
             "name" : "@Author::ETHER/initial check",
-            "version" : "2.039"
+            "version" : "2.043"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts",
             "config" : {
                "Dist::Zilla::Role::Git::Repo" : {
+                  "git_version" : "2.14.2",
                   "repo_root" : "."
                }
             },
             "name" : "@Author::ETHER/Git::CheckFor::MergeConflicts",
-            "version" : "0.013"
+            "version" : "0.014"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch",
             "config" : {
                "Dist::Zilla::Role::Git::Repo" : {
+                  "git_version" : "2.14.2",
                   "repo_root" : "."
                }
             },
             "name" : "@Author::ETHER/Git::CheckFor::CorrectBranch",
-            "version" : "0.013"
+            "version" : "0.014"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Remote::Check",
             "name" : "@Author::ETHER/Git::Remote::Check",
-            "version" : "0.2.0"
+            "version" : "0.1.2"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
             "name" : "@Author::ETHER/CheckPrereqsIndexed",
-            "version" : "0.018"
+            "version" : "0.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "@Author::ETHER/TestRelease",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Check",
@@ -872,21 +898,22 @@
                   "changelog" : "Changes"
                },
                "Dist::Zilla::Role::Git::Repo" : {
+                  "git_version" : "2.14.2",
                   "repo_root" : "."
                }
             },
             "name" : "@Author::ETHER/after tests",
-            "version" : "2.039"
+            "version" : "2.043"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckIssues",
             "name" : "@Author::ETHER/CheckIssues",
-            "version" : "0.009"
+            "version" : "0.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "@Author::ETHER/UploadToCPAN",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::CopyFilesFromRelease",
@@ -894,7 +921,6 @@
                "Dist::Zilla::Plugin::CopyFilesFromRelease" : {
                   "filename" : [
                      "CONTRIBUTING",
-                     "Changes",
                      "INSTALL",
                      "LICENCE",
                      "LICENSE",
@@ -903,8 +929,8 @@
                   "match" : []
                }
             },
-            "name" : "@Author::ETHER/CopyFilesFromRelease",
-            "version" : "0.006"
+            "name" : "@Author::ETHER/copy generated files",
+            "version" : "0.007"
          },
          {
             "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
@@ -914,7 +940,53 @@
                }
             },
             "name" : "@Author::ETHER/ReadmeAnyFromPod",
-            "version" : "0.161170"
+            "version" : "0.163250"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Prereqs",
+            "config" : {
+               "Dist::Zilla::Plugin::Prereqs" : {
+                  "phase" : "develop",
+                  "type" : "recommends"
+               }
+            },
+            "name" : "@Author::ETHER/@Git::VersionManager/pluginbundle version",
+            "version" : "6.012"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::RewriteVersion::Transitional",
+            "config" : {
+               "Dist::Zilla::Plugin::RewriteVersion" : {
+                  "add_tarball_name" : 0,
+                  "finders" : [
+                     ":ExecFiles",
+                     ":InstallModules"
+                  ],
+                  "global" : 1,
+                  "skip_version_provider" : 0
+               },
+               "Dist::Zilla::Plugin::RewriteVersion::Transitional" : {}
+            },
+            "name" : "@Author::ETHER/@Git::VersionManager/RewriteVersion::Transitional",
+            "version" : "0.009"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MetaProvides::Update",
+            "name" : "@Author::ETHER/@Git::VersionManager/MetaProvides::Update",
+            "version" : "0.007"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CopyFilesFromRelease",
+            "config" : {
+               "Dist::Zilla::Plugin::CopyFilesFromRelease" : {
+                  "filename" : [
+                     "Changes"
+                  ],
+                  "match" : []
+               }
+            },
+            "name" : "@Author::ETHER/@Git::VersionManager/CopyFilesFromRelease",
+            "version" : "0.007"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
@@ -937,14 +1009,15 @@
                   "changelog" : "Changes"
                },
                "Dist::Zilla::Role::Git::Repo" : {
+                  "git_version" : "2.14.2",
                   "repo_root" : "."
                },
                "Dist::Zilla::Role::Git::StringFormatter" : {
                   "time_zone" : "local"
                }
             },
-            "name" : "@Author::ETHER/release snapshot",
-            "version" : "2.039"
+            "name" : "@Author::ETHER/@Git::VersionManager/release snapshot",
+            "version" : "2.043"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
@@ -953,29 +1026,20 @@
                   "branch" : null,
                   "changelog" : "Changes",
                   "signed" : 0,
-                  "tag" : "0.21",
+                  "tag" : "0.24",
                   "tag_format" : "%v",
                   "tag_message" : "v%v%t"
                },
                "Dist::Zilla::Role::Git::Repo" : {
+                  "git_version" : "2.14.2",
                   "repo_root" : "."
                },
                "Dist::Zilla::Role::Git::StringFormatter" : {
                   "time_zone" : "local"
                }
             },
-            "name" : "@Author::ETHER/Git::Tag",
-            "version" : "2.039"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::GitHub::Update",
-            "config" : {
-               "Dist::Zilla::Plugin::GitHub::Update" : {
-                  "metacpan" : 1
-               }
-            },
-            "name" : "@Author::ETHER/GitHub::Update",
-            "version" : "0.42"
+            "name" : "@Author::ETHER/@Git::VersionManager/Git::Tag",
+            "version" : "2.043"
          },
          {
             "class" : "Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional",
@@ -990,13 +1054,13 @@
                },
                "Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional" : {}
             },
-            "name" : "@Author::ETHER/BumpVersionAfterRelease::Transitional",
-            "version" : "0.007"
+            "name" : "@Author::ETHER/@Git::VersionManager/BumpVersionAfterRelease::Transitional",
+            "version" : "0.009"
          },
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
-            "name" : "@Author::ETHER/NextRelease",
-            "version" : "6.005"
+            "name" : "@Author::ETHER/@Git::VersionManager/NextRelease",
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
@@ -1007,7 +1071,9 @@
                },
                "Dist::Zilla::Role::Git::DirtyFiles" : {
                   "allow_dirty" : [
-                     "Changes"
+                     "Build.PL",
+                     "Changes",
+                     "Makefile.PL"
                   ],
                   "allow_dirty_match" : [
                      "(?^:^lib/.*\\.pm$)"
@@ -1015,14 +1081,26 @@
                   "changelog" : "Changes"
                },
                "Dist::Zilla::Role::Git::Repo" : {
+                  "git_version" : "2.14.2",
                   "repo_root" : "."
                },
                "Dist::Zilla::Role::Git::StringFormatter" : {
                   "time_zone" : "local"
                }
             },
-            "name" : "@Author::ETHER/post-release commit",
-            "version" : "2.039"
+            "name" : "@Author::ETHER/@Git::VersionManager/post-release commit",
+            "version" : "2.043"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Prereqs",
+            "config" : {
+               "Dist::Zilla::Plugin::Prereqs" : {
+                  "phase" : "x_Dist_Zilla",
+                  "type" : "requires"
+               }
+            },
+            "name" : "@Author::ETHER/@Git::VersionManager/prereqs for @Git::VersionManager",
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Push",
@@ -1034,11 +1112,22 @@
                   "remotes_must_exist" : 1
                },
                "Dist::Zilla::Role::Git::Repo" : {
+                  "git_version" : "2.14.2",
                   "repo_root" : "."
                }
             },
             "name" : "@Author::ETHER/Git::Push",
-            "version" : "2.039"
+            "version" : "2.043"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::GitHub::Update",
+            "config" : {
+               "Dist::Zilla::Plugin::GitHub::Update" : {
+                  "metacpan" : 1
+               }
+            },
+            "name" : "@Author::ETHER/GitHub::Update",
+            "version" : "0.44"
          },
          {
             "class" : "Dist::Zilla::Plugin::Run::AfterRelease",
@@ -1048,11 +1137,12 @@
                   "quiet" : 0,
                   "run" : [
                      "REDACTED"
-                  ]
+                  ],
+                  "version" : "0.046"
                }
             },
             "name" : "@Author::ETHER/install release",
-            "version" : "0.043"
+            "version" : "0.046"
          },
          {
             "class" : "Dist::Zilla::Plugin::Run::AfterRelease",
@@ -1062,16 +1152,39 @@
                      "print \"release complete!\\xa\""
                   ],
                   "fatal_errors" : 1,
-                  "quiet" : 1
+                  "quiet" : 1,
+                  "version" : "0.046"
                }
             },
             "name" : "@Author::ETHER/release complete",
-            "version" : "0.043"
+            "version" : "0.046"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "@Author::ETHER/ConfirmRelease",
-            "version" : "6.005"
+            "version" : "6.012"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Prereqs",
+            "config" : {
+               "Dist::Zilla::Plugin::Prereqs" : {
+                  "phase" : "x_Dist_Zilla",
+                  "type" : "requires"
+               }
+            },
+            "name" : "@Author::ETHER/prereqs for @Author::ETHER",
+            "version" : "6.012"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Prereqs",
+            "config" : {
+               "Dist::Zilla::Plugin::Prereqs" : {
+                  "phase" : "runtime",
+                  "type" : "requires"
+               }
+            },
+            "name" : "Prereqs",
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -1082,73 +1195,73 @@
                }
             },
             "name" : "DevelopRequires",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::DynamicPrereqs",
             "config" : {
                "Dist::Zilla::Role::ModuleMetadata" : {
-                  "Module::Metadata" : "1.000032",
-                  "version" : "0.003"
+                  "Module::Metadata" : "1.000033",
+                  "version" : "0.006"
                }
             },
             "name" : "DynamicPrereqs",
-            "version" : "0.029"
+            "version" : "0.034"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":IncModules",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExtraTestFiles",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":PerlExecFiles",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":MainModule",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":AllFiles",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":NoFiles",
-            "version" : "6.005"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::VerifyPhases",
             "name" : "@Author::ETHER/PHASE VERIFICATION",
-            "version" : "0.014"
+            "version" : "0.016"
          }
       ],
       "zilla" : {
@@ -1156,18 +1269,20 @@
          "config" : {
             "is_trial" : 0
          },
-         "version" : "6.005"
+         "version" : "6.012"
       }
    },
    "x_authority" : "cpan:FLORA",
-   "x_authority_from_module" : "B::Hooks::EndOfScope",
    "x_contributors" : [
       "Karen Etheridge <ether@cpan.org>",
-      "Christian Walde <walde.christian@googlemail.com>",
-      "Simon Wilper <sxw@chronowerks.de>",
       "Tatsuhiko Miyagawa <miyagawa@bulknews.net>",
-      "Tomas Doran <bobtfish@bobtfish.net>"
+      "Christian Walde <walde.christian@googlemail.com>",
+      "Tomas Doran <bobtfish@bobtfish.net>",
+      "Graham Knop <haarg@haarg.org>",
+      "Simon Wilper <sxw@chronowerks.de>"
    ],
-   "x_permissions_from_module" : "B::Hooks::EndOfScope"
+   "x_generated_by_perl" : "v5.27.11",
+   "x_serialization_backend" : "Cpanel::JSON::XS version 4.02",
+   "x_use_unsafe_inc" : 0
 }
 
@@ -2,20 +2,19 @@
 abstract: 'Execute code after a scope finished compilation'
 author:
   - 'Florian Ragwitz <rafl@debian.org>'
-  - 'Peter Rabbitson <ribasushi@cpan.org>'
+  - 'Peter Rabbitson <ribasushi@leporine.io>'
 build_requires:
+  ExtUtils::MakeMaker: '0'
   File::Glob: '0'
   File::Spec: '0'
   IPC::Open2: '0'
-  Module::Metadata: '0'
-  Test::More: '0.89'
-  perl: '5.008001'
+  Test::More: '0.88'
+  lib: '0'
 configure_requires:
   ExtUtils::MakeMaker: '0'
   Text::ParseWords: '0'
-  perl: '5.008001'
 dynamic_config: 1
-generated_by: 'Dist::Zilla version 6.005, CPAN::Meta::Converter version 2.150005'
+generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010'
 keywords:
   - code
   - hooks
@@ -33,49 +32,37 @@ no_index:
 provides:
   B::Hooks::EndOfScope:
     file: lib/B/Hooks/EndOfScope.pm
-    version: '0.21'
+    version: '0.24'
   B::Hooks::EndOfScope::PP:
     file: lib/B/Hooks/EndOfScope/PP.pm
-    version: '0.21'
+    version: '0.24'
   B::Hooks::EndOfScope::XS:
     file: lib/B/Hooks/EndOfScope/XS.pm
-    version: '0.21'
+    version: '0.24'
 requires:
   Module::Implementation: '0.05'
+  Scalar::Util: '0'
   Sub::Exporter::Progressive: '0.001006'
-  perl: '5.008001'
+  perl: '5.006001'
   strict: '0'
   warnings: '0'
 resources:
   bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=B-Hooks-EndOfScope
   homepage: https://github.com/karenetheridge/B-Hooks-EndOfScope
   repository: https://github.com/karenetheridge/B-Hooks-EndOfScope.git
-version: '0.21'
+version: '0.24'
 x_Dist_Zilla:
   perl:
-    version: '5.025000'
+    version: '5.027011'
   plugins:
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
         Dist::Zilla::Plugin::Prereqs:
           phase: develop
-          type: requires
-      name: '@Author::ETHER/bundle_plugins'
-      version: '6.005'
-    -
-      class: Dist::Zilla::Plugin::RewriteVersion::Transitional
-      config:
-        Dist::Zilla::Plugin::RewriteVersion:
-          add_tarball_name: 0
-          finders:
-            - ':ExecFiles'
-            - ':InstallModules'
-          global: 1
-          skip_version_provider: 0
-        Dist::Zilla::Plugin::RewriteVersion::Transitional: {}
-      name: '@Author::ETHER/RewriteVersion::Transitional'
-      version: '0.007'
+          type: recommends
+      name: '@Author::ETHER/pluginbundle version'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::PromptIfStale
       config:
@@ -85,24 +72,14 @@ x_Dist_Zilla:
           modules:
             - Dist::Zilla::PluginBundle::Author::ETHER
           phase: build
+          run_under_travis: 0
           skip: []
       name: '@Author::ETHER/stale modules, build'
-      version: '0.049'
-    -
-      class: Dist::Zilla::Plugin::PromptIfStale
-      config:
-        Dist::Zilla::Plugin::PromptIfStale:
-          check_all_plugins: 1
-          check_all_prereqs: 1
-          modules: []
-          phase: release
-          skip: []
-      name: '@Author::ETHER/stale modules, release'
-      version: '0.049'
+      version: '0.054'
     -
       class: Dist::Zilla::Plugin::FileFinder::ByName
       name: '@Author::ETHER/Examples'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Git::GatherDir
       config:
@@ -122,27 +99,27 @@ x_Dist_Zilla:
         Dist::Zilla::Plugin::Git::GatherDir:
           include_untracked: 0
       name: '@Author::ETHER/Git::GatherDir'
-      version: '2.039'
+      version: '2.043'
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: '@Author::ETHER/MetaYAML'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: '@Author::ETHER/MetaJSON'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Readme
       name: '@Author::ETHER/Readme'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Manifest
       name: '@Author::ETHER/Manifest'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::License
       name: '@Author::ETHER/License'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::GenerateFile::FromShareDir
       config:
@@ -156,18 +133,18 @@ x_Dist_Zilla:
         Dist::Zilla::Role::RepoFileInjector:
           allow_overwrite: 1
           repo_root: .
-          version: '0.006'
+          version: '0.007'
       name: '@Author::ETHER/generate CONTRIBUTING'
-      version: '0.009'
+      version: '0.013'
     -
       class: Dist::Zilla::Plugin::InstallGuide
       name: '@Author::ETHER/InstallGuide'
-      version: '1.200006'
+      version: '1.200009'
     -
       class: Dist::Zilla::Plugin::Test::Compile
       config:
         Dist::Zilla::Plugin::Test::Compile:
-          bail_out_on_fail: 1
+          bail_out_on_fail: '1'
           fail_on_warning: author
           fake_home: 0
           filename: xt/author/00-compile.t
@@ -179,8 +156,9 @@ x_Dist_Zilla:
             - ':PerlExecFiles'
             - '@Author::ETHER/Examples'
           skips: []
+          switch: []
       name: '@Author::ETHER/Test::Compile'
-      version: '2.054'
+      version: '2.058'
     -
       class: Dist::Zilla::Plugin::Test::NoTabs
       config:
@@ -200,49 +178,68 @@ x_Dist_Zilla:
         Dist::Zilla::Plugin::Test::EOL:
           filename: xt/author/eol.t
           finder:
-            - ':InstallModules'
             - ':ExecFiles'
-            - '@Author::ETHER/Examples'
-            - ':TestFiles'
             - ':ExtraTestFiles'
+            - ':InstallModules'
+            - ':TestFiles'
+            - '@Author::ETHER/Examples'
           trailing_whitespace: 1
       name: '@Author::ETHER/Test::EOL'
-      version: '0.18'
+      version: '0.19'
     -
       class: Dist::Zilla::Plugin::MetaTests
       name: '@Author::ETHER/MetaTests'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Test::CPAN::Changes
+      config:
+        Dist::Zilla::Plugin::Test::CPAN::Changes:
+          changelog: Changes
       name: '@Author::ETHER/Test::CPAN::Changes'
-      version: '0.009'
+      version: '0.012'
+    -
+      class: Dist::Zilla::Plugin::GenerateFile::FromShareDir
+      config:
+        Dist::Zilla::Plugin::GenerateFile::FromShareDir:
+          destination_filename: xt/author/changes_has_content.t
+          dist: Dist-Zilla-PluginBundle-Author-ETHER
+          encoding: UTF-8
+          location: build
+          source_filename: changes_has_content.t
+        Dist::Zilla::Role::RepoFileInjector:
+          allow_overwrite: 1
+          repo_root: .
+          version: '0.007'
+      name: '@Author::ETHER/generate xt/author/changes_has_content.t'
+      version: '0.013'
     -
       class: Dist::Zilla::Plugin::Test::ChangesHasContent
       name: '@Author::ETHER/Test::ChangesHasContent'
-      version: '0.009'
-    -
-      class: Dist::Zilla::Plugin::Test::MinimumVersion
-      name: '@Author::ETHER/Test::MinimumVersion'
-      version: '2.000006'
+      version: '0.011'
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: '@Author::ETHER/PodSyntaxTests'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Test::PodSpelling
       config:
         Dist::Zilla::Plugin::Test::PodSpelling:
-          directories: []
+          directories:
+            - examples
+            - lib
+            - script
+            - t
+            - xt
           spell_cmd: ''
           stopwords:
             - irc
           wordlist: Pod::Wordlist
       name: '@Author::ETHER/Test::PodSpelling'
-      version: '2.007000'
+      version: '2.007005'
     -
       class: Dist::Zilla::Plugin::Test::Pod::No404s
       name: '@Author::ETHER/Test::Pod::No404s'
-      version: '1.003'
+      version: '1.004'
     -
       class: Dist::Zilla::Plugin::Test::Kwalitee
       config:
@@ -258,15 +255,18 @@ x_Dist_Zilla:
     -
       class: Dist::Zilla::Plugin::Test::ReportPrereqs
       name: '@Author::ETHER/Test::ReportPrereqs'
-      version: '0.024'
+      version: '0.027'
     -
       class: Dist::Zilla::Plugin::Test::Portability
+      config:
+        Dist::Zilla::Plugin::Test::Portability:
+          options: ''
       name: '@Author::ETHER/Test::Portability'
-      version: '2.000006'
+      version: '2.001000'
     -
       class: Dist::Zilla::Plugin::Git::Describe
       name: '@Author::ETHER/Git::Describe'
-      version: '0.006'
+      version: '0.007'
     -
       class: Dist::Zilla::Plugin::SurgicalPodWeaver
       config:
@@ -280,79 +280,79 @@ x_Dist_Zilla:
             -
               class: Pod::Weaver::Plugin::EnsurePod5
               name: '@Author::ETHER/EnsurePod5'
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Plugin::H1Nester
               name: '@Author::ETHER/H1Nester'
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Plugin::SingleEncoding
               name: '@Author::ETHER/SingleEncoding'
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Plugin::Transformer
               name: '@Author::ETHER/List'
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Plugin::Transformer
               name: '@Author::ETHER/Verbatim'
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Region
               name: '@Author::ETHER/header'
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Name
               name: '@Author::ETHER/Name'
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Version
               name: '@Author::ETHER/Version'
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Region
               name: '@Author::ETHER/prelude'
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Generic
               name: SYNOPSIS
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Generic
               name: DESCRIPTION
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Generic
               name: OVERVIEW
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Collect
               name: ATTRIBUTES
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Collect
               name: METHODS
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Collect
               name: FUNCTIONS
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Collect
               name: TYPES
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Leftovers
               name: '@Author::ETHER/Leftovers'
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Region
               name: '@Author::ETHER/postlude'
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::GenerateSection
               name: '@Author::ETHER/generate SUPPORT'
-              version: '1.01'
+              version: '1.06'
             -
               class: Pod::Weaver::Section::AllowOverride
               name: '@Author::ETHER/allow override SUPPORT'
@@ -360,7 +360,7 @@ x_Dist_Zilla:
             -
               class: Pod::Weaver::Section::Authors
               name: '@Author::ETHER/Authors'
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Contributors
               name: '@Author::ETHER/Contributors'
@@ -368,11 +368,11 @@ x_Dist_Zilla:
             -
               class: Pod::Weaver::Section::Legal
               name: '@Author::ETHER/Legal'
-              version: '4.013'
+              version: '4.015'
             -
               class: Pod::Weaver::Section::Region
               name: '@Author::ETHER/footer'
-              version: '4.013'
+              version: '4.015'
       name: '@Author::ETHER/SurgicalPodWeaver'
       version: '0.0023'
     -
@@ -384,23 +384,13 @@ x_Dist_Zilla:
       name: '@Author::ETHER/AutoMetaResources'
       version: '1.21'
     -
-      class: Dist::Zilla::Plugin::AuthorityFromModule
-      config:
-        Dist::Zilla::Plugin::AuthorityFromModule:
-          module: B::Hooks::EndOfScope
-        Dist::Zilla::Role::ModuleMetadata:
-          Module::Metadata: '1.000032'
-          version: '0.003'
-      name: '@Author::ETHER/AuthorityFromModule'
-      version: '0.006'
-    -
       class: Dist::Zilla::Plugin::Authority
       name: '@Author::ETHER/Authority'
       version: '1.009'
     -
       class: Dist::Zilla::Plugin::MetaNoIndex
       name: '@Author::ETHER/MetaNoIndex'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::MetaProvides::Package
       config:
@@ -411,21 +401,22 @@ x_Dist_Zilla:
             -
               class: Dist::Zilla::Plugin::FinderCode
               name: ':InstallModules'
-              version: '6.005'
+              version: '6.012'
+          include_underscores: 0
         Dist::Zilla::Role::MetaProvider::Provider:
-          Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002000'
-          inherit_missing: 0
-          inherit_version: 0
-          meta_noindex: 1
+          $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002004'
+          inherit_missing: '0'
+          inherit_version: '0'
+          meta_noindex: '1'
         Dist::Zilla::Role::ModuleMetadata:
-          Module::Metadata: '1.000032'
-          version: '0.003'
+          Module::Metadata: '1.000033'
+          version: '0.006'
       name: '@Author::ETHER/MetaProvides::Package'
-      version: '2.004000'
+      version: '2.004003'
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: '@Author::ETHER/MetaConfig'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Keywords
       config:
@@ -438,51 +429,46 @@ x_Dist_Zilla:
       name: '@Author::ETHER/Keywords'
       version: '0.007'
     -
+      class: Dist::Zilla::Plugin::UseUnsafeInc
+      config:
+        Dist::Zilla::Plugin::UseUnsafeInc:
+          dot_in_INC: 0
+      name: '@Author::ETHER/UseUnsafeInc'
+      version: '0.001'
+    -
       class: Dist::Zilla::Plugin::AutoPrereqs
       name: '@Author::ETHER/AutoPrereqs'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Prereqs::AuthorDeps
       name: '@Author::ETHER/Prereqs::AuthorDeps'
       version: '0.006'
     -
-      class: Dist::Zilla::Plugin::MinimumPerl
-      name: '@Author::ETHER/MinimumPerl'
-      version: '1.006'
-    -
-      class: Dist::Zilla::Plugin::Prereqs
-      config:
-        Dist::Zilla::Plugin::Prereqs:
-          phase: develop
-          type: recommends
-      name: '@Author::ETHER/pluginbundle_version'
-      version: '6.005'
-    -
       class: Dist::Zilla::Plugin::Prereqs
       config:
         Dist::Zilla::Plugin::Prereqs:
-          phase: develop
+          phase: x_Dist_Zilla
           type: requires
       name: '@Author::ETHER/pod_weaving'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::MakeMaker
       config:
         Dist::Zilla::Role::TestRunner:
           default_jobs: 9
       name: '@Author::ETHER/MakeMaker'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Git::Contributors
       config:
         Dist::Zilla::Plugin::Git::Contributors:
+          git_version: 2.14.2
           include_authors: 0
           include_releaser: 1
           order_by: commits
-          paths:
-            - .
+          paths: []
       name: '@Author::ETHER/Git::Contributors'
-      version: '0.023'
+      version: '0.032'
     -
       class: Dist::Zilla::Plugin::StaticInstall
       config:
@@ -490,7 +476,7 @@ x_Dist_Zilla:
           dry_run: 1
           mode: auto
       name: '@Author::ETHER/StaticInstall'
-      version: '0.009'
+      version: '0.011'
     -
       class: Dist::Zilla::Plugin::RunExtraTests
       config:
@@ -505,8 +491,8 @@ x_Dist_Zilla:
           finder:
             - ':InstallModules'
         Dist::Zilla::Role::ModuleMetadata:
-          Module::Metadata: '1.000032'
-          version: '0.003'
+          Module::Metadata: '1.000033'
+          version: '0.006'
       name: '@Author::ETHER/CheckSelfDependency'
       version: '0.011'
     -
@@ -517,23 +503,48 @@ x_Dist_Zilla:
           quiet: 1
           run:
             - "bash -c \"test -e .ackrc && grep -q -- '--ignore-dir=.latest' .ackrc || echo '--ignore-dir=.latest' >> .ackrc; if [[ `dirname '%d'` != .build ]]; then test -e .ackrc && grep -q -- '--ignore-dir=%d' .ackrc || echo '--ignore-dir=%d' >> .ackrc; fi\""
+          version: '0.046'
       name: '@Author::ETHER/.ackrc'
-      version: '0.043'
+      version: '0.046'
     -
       class: Dist::Zilla::Plugin::Run::AfterBuild
       config:
         Dist::Zilla::Plugin::Run::Role::Runner:
           eval:
             - "if ('%d' =~ /^%n-[.[:xdigit:]]+$/) { unlink '.latest'; symlink '%d', '.latest'; }"
-          fatal_errors: 1
+          fatal_errors: 0
           quiet: 1
+          version: '0.046'
       name: '@Author::ETHER/.latest'
-      version: '0.043'
+      version: '0.046'
     -
       class: Dist::Zilla::Plugin::CheckStrictVersion
       name: '@Author::ETHER/CheckStrictVersion'
       version: '0.001'
     -
+      class: Dist::Zilla::Plugin::CheckMetaResources
+      name: '@Author::ETHER/CheckMetaResources'
+      version: '0.001'
+    -
+      class: Dist::Zilla::Plugin::EnsureLatestPerl
+      config:
+        Dist::Zilla::Plugin::EnsureLatestPerl:
+          Module::CoreList: '5.20180420'
+      name: '@Author::ETHER/EnsureLatestPerl'
+      version: '0.007'
+    -
+      class: Dist::Zilla::Plugin::PromptIfStale
+      config:
+        Dist::Zilla::Plugin::PromptIfStale:
+          check_all_plugins: 1
+          check_all_prereqs: 1
+          modules: []
+          phase: release
+          run_under_travis: 0
+          skip: []
+      name: '@Author::ETHER/stale modules, release'
+      version: '0.054'
+    -
       class: Dist::Zilla::Plugin::Git::Check
       config:
         Dist::Zilla::Plugin::Git::Check:
@@ -543,35 +554,38 @@ x_Dist_Zilla:
           allow_dirty_match: []
           changelog: Changes
         Dist::Zilla::Role::Git::Repo:
+          git_version: 2.14.2
           repo_root: .
       name: '@Author::ETHER/initial check'
-      version: '2.039'
+      version: '2.043'
     -
       class: Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts
       config:
         Dist::Zilla::Role::Git::Repo:
+          git_version: 2.14.2
           repo_root: .
       name: '@Author::ETHER/Git::CheckFor::MergeConflicts'
-      version: '0.013'
+      version: '0.014'
     -
       class: Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch
       config:
         Dist::Zilla::Role::Git::Repo:
+          git_version: 2.14.2
           repo_root: .
       name: '@Author::ETHER/Git::CheckFor::CorrectBranch'
-      version: '0.013'
+      version: '0.014'
     -
       class: Dist::Zilla::Plugin::Git::Remote::Check
       name: '@Author::ETHER/Git::Remote::Check'
-      version: 0.2.0
+      version: 0.1.2
     -
       class: Dist::Zilla::Plugin::CheckPrereqsIndexed
       name: '@Author::ETHER/CheckPrereqsIndexed'
-      version: '0.018'
+      version: '0.020'
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: '@Author::ETHER/TestRelease'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Git::Check
       config:
@@ -582,38 +596,72 @@ x_Dist_Zilla:
           allow_dirty_match: []
           changelog: Changes
         Dist::Zilla::Role::Git::Repo:
+          git_version: 2.14.2
           repo_root: .
       name: '@Author::ETHER/after tests'
-      version: '2.039'
+      version: '2.043'
     -
       class: Dist::Zilla::Plugin::CheckIssues
       name: '@Author::ETHER/CheckIssues'
-      version: '0.009'
+      version: '0.010'
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: '@Author::ETHER/UploadToCPAN'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::CopyFilesFromRelease
       config:
         Dist::Zilla::Plugin::CopyFilesFromRelease:
           filename:
             - CONTRIBUTING
-            - Changes
             - INSTALL
             - LICENCE
             - LICENSE
             - ppport.h
           match: []
-      name: '@Author::ETHER/CopyFilesFromRelease'
-      version: '0.006'
+      name: '@Author::ETHER/copy generated files'
+      version: '0.007'
     -
       class: Dist::Zilla::Plugin::ReadmeAnyFromPod
       config:
         Dist::Zilla::Role::FileWatcher:
           version: '0.006'
       name: '@Author::ETHER/ReadmeAnyFromPod'
-      version: '0.161170'
+      version: '0.163250'
+    -
+      class: Dist::Zilla::Plugin::Prereqs
+      config:
+        Dist::Zilla::Plugin::Prereqs:
+          phase: develop
+          type: recommends
+      name: '@Author::ETHER/@Git::VersionManager/pluginbundle version'
+      version: '6.012'
+    -
+      class: Dist::Zilla::Plugin::RewriteVersion::Transitional
+      config:
+        Dist::Zilla::Plugin::RewriteVersion:
+          add_tarball_name: 0
+          finders:
+            - ':ExecFiles'
+            - ':InstallModules'
+          global: 1
+          skip_version_provider: 0
+        Dist::Zilla::Plugin::RewriteVersion::Transitional: {}
+      name: '@Author::ETHER/@Git::VersionManager/RewriteVersion::Transitional'
+      version: '0.009'
+    -
+      class: Dist::Zilla::Plugin::MetaProvides::Update
+      name: '@Author::ETHER/@Git::VersionManager/MetaProvides::Update'
+      version: '0.007'
+    -
+      class: Dist::Zilla::Plugin::CopyFilesFromRelease
+      config:
+        Dist::Zilla::Plugin::CopyFilesFromRelease:
+          filename:
+            - Changes
+          match: []
+      name: '@Author::ETHER/@Git::VersionManager/CopyFilesFromRelease'
+      version: '0.007'
     -
       class: Dist::Zilla::Plugin::Git::Commit
       config:
@@ -631,11 +679,12 @@ x_Dist_Zilla:
           allow_dirty_match: []
           changelog: Changes
         Dist::Zilla::Role::Git::Repo:
+          git_version: 2.14.2
           repo_root: .
         Dist::Zilla::Role::Git::StringFormatter:
           time_zone: local
-      name: '@Author::ETHER/release snapshot'
-      version: '2.039'
+      name: '@Author::ETHER/@Git::VersionManager/release snapshot'
+      version: '2.043'
     -
       class: Dist::Zilla::Plugin::Git::Tag
       config:
@@ -643,22 +692,16 @@ x_Dist_Zilla:
           branch: ~
           changelog: Changes
           signed: 0
-          tag: '0.21'
+          tag: '0.24'
           tag_format: '%v'
           tag_message: v%v%t
         Dist::Zilla::Role::Git::Repo:
+          git_version: 2.14.2
           repo_root: .
         Dist::Zilla::Role::Git::StringFormatter:
           time_zone: local
-      name: '@Author::ETHER/Git::Tag'
-      version: '2.039'
-    -
-      class: Dist::Zilla::Plugin::GitHub::Update
-      config:
-        Dist::Zilla::Plugin::GitHub::Update:
-          metacpan: 1
-      name: '@Author::ETHER/GitHub::Update'
-      version: '0.42'
+      name: '@Author::ETHER/@Git::VersionManager/Git::Tag'
+      version: '2.043'
     -
       class: Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional
       config:
@@ -669,12 +712,12 @@ x_Dist_Zilla:
           global: 1
           munge_makefile_pl: 1
         Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional: {}
-      name: '@Author::ETHER/BumpVersionAfterRelease::Transitional'
-      version: '0.007'
+      name: '@Author::ETHER/@Git::VersionManager/BumpVersionAfterRelease::Transitional'
+      version: '0.009'
     -
       class: Dist::Zilla::Plugin::NextRelease
-      name: '@Author::ETHER/NextRelease'
-      version: '6.005'
+      name: '@Author::ETHER/@Git::VersionManager/NextRelease'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Git::Commit
       config:
@@ -683,16 +726,27 @@ x_Dist_Zilla:
           commit_msg: 'increment $VERSION after %v release'
         Dist::Zilla::Role::Git::DirtyFiles:
           allow_dirty:
+            - Build.PL
             - Changes
+            - Makefile.PL
           allow_dirty_match:
             - (?^:^lib/.*\.pm$)
           changelog: Changes
         Dist::Zilla::Role::Git::Repo:
+          git_version: 2.14.2
           repo_root: .
         Dist::Zilla::Role::Git::StringFormatter:
           time_zone: local
-      name: '@Author::ETHER/post-release commit'
-      version: '2.039'
+      name: '@Author::ETHER/@Git::VersionManager/post-release commit'
+      version: '2.043'
+    -
+      class: Dist::Zilla::Plugin::Prereqs
+      config:
+        Dist::Zilla::Plugin::Prereqs:
+          phase: x_Dist_Zilla
+          type: requires
+      name: '@Author::ETHER/@Git::VersionManager/prereqs for @Git::VersionManager'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Git::Push
       config:
@@ -701,9 +755,17 @@ x_Dist_Zilla:
             - origin
           remotes_must_exist: 1
         Dist::Zilla::Role::Git::Repo:
+          git_version: 2.14.2
           repo_root: .
       name: '@Author::ETHER/Git::Push'
-      version: '2.039'
+      version: '2.043'
+    -
+      class: Dist::Zilla::Plugin::GitHub::Update
+      config:
+        Dist::Zilla::Plugin::GitHub::Update:
+          metacpan: 1
+      name: '@Author::ETHER/GitHub::Update'
+      version: '0.44'
     -
       class: Dist::Zilla::Plugin::Run::AfterRelease
       config:
@@ -712,8 +774,9 @@ x_Dist_Zilla:
           quiet: 0
           run:
             - REDACTED
+          version: '0.046'
       name: '@Author::ETHER/install release'
-      version: '0.043'
+      version: '0.046'
     -
       class: Dist::Zilla::Plugin::Run::AfterRelease
       config:
@@ -722,12 +785,29 @@ x_Dist_Zilla:
             - 'print "release complete!\xa"'
           fatal_errors: 1
           quiet: 1
+          version: '0.046'
       name: '@Author::ETHER/release complete'
-      version: '0.043'
+      version: '0.046'
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: '@Author::ETHER/ConfirmRelease'
-      version: '6.005'
+      version: '6.012'
+    -
+      class: Dist::Zilla::Plugin::Prereqs
+      config:
+        Dist::Zilla::Plugin::Prereqs:
+          phase: x_Dist_Zilla
+          type: requires
+      name: '@Author::ETHER/prereqs for @Author::ETHER'
+      version: '6.012'
+    -
+      class: Dist::Zilla::Plugin::Prereqs
+      config:
+        Dist::Zilla::Plugin::Prereqs:
+          phase: runtime
+          type: requires
+      name: Prereqs
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -735,70 +815,72 @@ x_Dist_Zilla:
           phase: develop
           type: requires
       name: DevelopRequires
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::DynamicPrereqs
       config:
         Dist::Zilla::Role::ModuleMetadata:
-          Module::Metadata: '1.000032'
-          version: '0.003'
+          Module::Metadata: '1.000033'
+          version: '0.006'
       name: DynamicPrereqs
-      version: '0.029'
+      version: '0.034'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':IncModules'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExtraTestFiles'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':PerlExecFiles'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':MainModule'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':AllFiles'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':NoFiles'
-      version: '6.005'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::VerifyPhases
       name: '@Author::ETHER/PHASE VERIFICATION'
-      version: '0.014'
+      version: '0.016'
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
-      is_trial: 0
-    version: '6.005'
+      is_trial: '0'
+    version: '6.012'
 x_authority: cpan:FLORA
-x_authority_from_module: B::Hooks::EndOfScope
 x_contributors:
   - 'Karen Etheridge <ether@cpan.org>'
-  - 'Christian Walde <walde.christian@googlemail.com>'
-  - 'Simon Wilper <sxw@chronowerks.de>'
   - 'Tatsuhiko Miyagawa <miyagawa@bulknews.net>'
+  - 'Christian Walde <walde.christian@googlemail.com>'
   - 'Tomas Doran <bobtfish@bobtfish.net>'
-x_permissions_from_module: B::Hooks::EndOfScope
+  - 'Graham Knop <haarg@haarg.org>'
+  - 'Simon Wilper <sxw@chronowerks.de>'
+x_generated_by_perl: v5.27.11
+x_serialization_backend: 'YAML::Tiny version 1.73'
+x_use_unsafe_inc: 0
@@ -1,36 +1,38 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.005.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.012.
 use strict;
 use warnings;
 
-use 5.008001;
+use 5.006001;
 
 use ExtUtils::MakeMaker;
 
 my %WriteMakefileArgs = (
   "ABSTRACT" => "Execute code after a scope finished compilation",
-  "AUTHOR" => "Florian Ragwitz <rafl\@debian.org>, Peter Rabbitson <ribasushi\@cpan.org>",
+  "AUTHOR" => "Florian Ragwitz <rafl\@debian.org>, Peter Rabbitson <ribasushi\@leporine.io>",
   "CONFIGURE_REQUIRES" => {
     "ExtUtils::MakeMaker" => 0,
     "Text::ParseWords" => 0
   },
   "DISTNAME" => "B-Hooks-EndOfScope",
   "LICENSE" => "perl",
-  "MIN_PERL_VERSION" => "5.008001",
+  "MIN_PERL_VERSION" => "5.006001",
   "NAME" => "B::Hooks::EndOfScope",
   "PREREQ_PM" => {
     "Module::Implementation" => "0.05",
+    "Scalar::Util" => 0,
     "Sub::Exporter::Progressive" => "0.001006",
     "strict" => 0,
     "warnings" => 0
   },
   "TEST_REQUIRES" => {
+    "ExtUtils::MakeMaker" => 0,
     "File::Glob" => 0,
     "File::Spec" => 0,
     "IPC::Open2" => 0,
-    "Module::Metadata" => 0,
-    "Test::More" => "0.89"
+    "Test::More" => "0.88",
+    "lib" => 0
   },
-  "VERSION" => "0.21",
+  "VERSION" => "0.24",
   "test" => {
     "TESTS" => "t/*.t"
   }
@@ -38,32 +40,29 @@ my %WriteMakefileArgs = (
 
 
 my %FallbackPrereqs = (
+  "ExtUtils::MakeMaker" => 0,
   "File::Glob" => 0,
   "File::Spec" => 0,
   "IPC::Open2" => 0,
   "Module::Implementation" => "0.05",
-  "Module::Metadata" => 0,
+  "Scalar::Util" => 0,
   "Sub::Exporter::Progressive" => "0.001006",
-  "Test::More" => "0.89",
+  "Test::More" => "0.88",
+  "lib" => 0,
   "strict" => 0,
   "warnings" => 0
 );
 
-# inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.029
-if (!want_pp() and can_xs()) {
+# inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.034
+if ("$]" >= 5.008004 and !want_pp() and can_xs()) {
   requires('Variable::Magic', '0.48');
 
   # make sure we smoke the pure-perl version fallback
   test_requires('Devel::Hide', '0.0007') if is_smoker();
 }
-else {
-  requires('constant');
-  if ("$]" < '5.010') {
-    requires('Scalar::Util');
-  } else {
-    requires('Hash::Util::FieldHash');
-    requires('Tie::Hash');
-  }
+if ("$]" >= '5.010') {
+  requires('Hash::Util::FieldHash');
+  requires('Tie::Hash');
 }
 
 
@@ -78,15 +77,18 @@ delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
 
 WriteMakefile(%WriteMakefileArgs);
 
-# inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.029
+# inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.034
 sub _add_prereq {
   my ($mm_key, $module, $version_or_range) = @_;
-  warn "$module already exists in $mm_key -- need to do a sane metamerge!"
+  $version_or_range ||= 0;
+  warn "$module already exists in $mm_key (at version $WriteMakefileArgs{$mm_key}{$module}) -- need to do a sane metamerge!"
     if exists $WriteMakefileArgs{$mm_key}{$module}
-      and $WriteMakefileArgs{$mm_key}{$module} ne ($version_or_range || 0);
-  warn "$module already exists in FallbackPrereqs -- need to do a sane metamerge!"
-    if exists $FallbackPrereqs{$module} and $FallbackPrereqs{$module} ne ($version_or_range || 0);
-  $WriteMakefileArgs{$mm_key}{$module} = $FallbackPrereqs{$module} = $version_or_range || 0;
+      and $WriteMakefileArgs{$mm_key}{$module} ne '0'
+      and $WriteMakefileArgs{$mm_key}{$module} ne $version_or_range;
+  warn "$module already exists in FallbackPrereqs (at version $WriteMakefileArgs{$mm_key}{$module}) -- need to do a sane metamerge!"
+    if exists $FallbackPrereqs{$module} and $FallbackPrereqs{$module} ne '0'
+        and $FallbackPrereqs{$module} ne $version_or_range;
+  $WriteMakefileArgs{$mm_key}{$module} = $FallbackPrereqs{$module} = $version_or_range;
   return;
 }
 
@@ -1,7 +1,5 @@
-
-
 This archive contains the distribution B-Hooks-EndOfScope,
-version 0.21:
+version 0.24:
 
   Execute code after a scope finished compilation
 
@@ -11,5 +9,4 @@ This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
 
 
-This README file was generated by Dist::Zilla::Plugin::Readme v6.005.
-
+This README file was generated by Dist::Zilla::Plugin::Readme v6.012.
@@ -1,31 +1,40 @@
 name    = B-Hooks-EndOfScope
 author  = Florian Ragwitz <rafl@debian.org>
-author  = Peter Rabbitson <ribasushi@cpan.org>
+author  = Peter Rabbitson <ribasushi@leporine.io>
 license = Perl_5
 copyright_year = 2008
 copyright_holder = Florian Ragwitz
 
 [@Author::ETHER]
-:version = 0.094
+:version = 0.119    ; for installer -> EUMM dep
 installer = MakeMaker
 surgical_podweaver = 1
 -remove = PodCoverageTests  ; TODO
 -remove = Test::CleanNamespaces ; TODO: fix Sub::Exporter
+-remove = MinimumPerl           ; 5.8.4 is hardcoded as the minimum in ::XS
+-remove = Test::MinimumVersion  ; ""
 Authority.authority = cpan:FLORA
 Git::Tag.tag_format = %v
 Test::Version.has_version = 0   ; for internal modules (FIXME: new option forthcoming)
-Test::MinimumVersion.max_target_perl = 5.008001
 AutoPrereqs.finder = :MainModule    ; only look in main module for runtime prereqs
 AutoPrereqs.skip[0] = ^B::Hooks::EndOfScope
 AutoPrereqs.skip[1] = ^Devel::Hide$
+Test::ReportPrereqs.include = DynaLoader
+
+[Prereqs]
+perl = 5.006001
+Scalar::Util = 0
+
+; authordep Dist::Zilla::Plugin::SurgicalPodWeaver
 
 [Prereqs / DevelopRequires]
 Devel::Hide = 0.0007            ; releasers *must* test both the XS and PP paths
 
+; authordep ExtUtils::HasCompiler = 0.014
 [DynamicPrereqs]
 :version = 0.029
 -delimiter = |
--body = |if (!want_pp() and can_xs()) {
+-body = |if ("$]" >= 5.008004 and !want_pp() and can_xs()) {
 ;         IMPORTANT!!! when changing prereqs here, also update in B::Hooks::EndOfScope::XS
 -body = |  requires('Variable::Magic', '0.48');
 -body = |
@@ -33,12 +42,7 @@ Devel::Hide = 0.0007            ; releasers *must* test both the XS and PP paths
 ;         IMPORTANT!!! when changing prereqs here, also update in t/10-test_without_vm_pure_pp.t
 -body = |  test_requires('Devel::Hide', '0.0007') if is_smoker();
 -body = |}
--body = |else {
--body = |  requires('constant');
--body = |  if ("$]" < '5.010') {
--body = |    requires('Scalar::Util');
--body = |  } else {
--body = |    requires('Hash::Util::FieldHash');
--body = |    requires('Tie::Hash');
--body = |  }
+-body = |if ("$]" >= '5.010') {
+-body = |  requires('Hash::Util::FieldHash');
+-body = |  requires('Tie::Hash');
 -body = |}
@@ -1,10 +1,10 @@
 package ExtUtils::HasCompiler;
-$ExtUtils::HasCompiler::VERSION = '0.014';
+$ExtUtils::HasCompiler::VERSION = '0.021';
 use strict;
 use warnings;
 
 use base 'Exporter';
-our @EXPORT_OK = qw/can_compile_loadable_object/;
+our @EXPORT_OK = qw/can_compile_loadable_object can_compile_static_library can_compile_extension/;
 our %EXPORT_TAGS = (all => \@EXPORT_OK);
 
 use Config;
@@ -75,23 +75,14 @@ sub can_compile_loadable_object {
 
 	my ($source_handle, $source_name) = tempfile('TESTXXXX', DIR => $tempdir, SUFFIX => '.c', UNLINK => 1);
 	my $basename = basename($source_name, '.c');
-
-	my $shortname = '_Loadable' . $counter++;
-	my $package = "ExtUtils::HasCompiler::$shortname";
-	printf $source_handle $loadable_object_format, $basename, $package or do { carp "Couldn't write to $source_name: $!"; return };
-	close $source_handle or do { carp "Couldn't close $source_name: $!"; return };
-
 	my $abs_basename = catfile($tempdir, $basename);
-	my $object_file = $abs_basename . $config->get('_o');
-	my $loadable_object = $abs_basename . '.' . $config->get('dlext');
-	my $incdir = catdir($config->get('archlibexp'), 'CORE');
 
-	my ($cc, $ccflags, $optimize, $cccdlflags, $ld, $ldflags, $lddlflags, $libperl, $perllibs) = map { $config->get($_) } qw/cc ccflags optimize cccdlflags ld ldflags lddlflags libperl perllibs/;
+	my ($cc, $ccflags, $optimize, $cccdlflags, $ld, $ldflags, $lddlflags, $libperl, $perllibs, $archlibexp, $_o, $dlext) = map { $config->get($_) } qw/cc ccflags optimize cccdlflags ld ldflags lddlflags libperl perllibs archlibexp _o dlext/;
+
+	my $incdir = catdir($archlibexp, 'CORE');
+	my $object_file = $abs_basename.$_o;
+	my $loadable_object = "$abs_basename.$dlext";
 
-	if ($prelinking{$^O}) {
-		require ExtUtils::Mksymlists;
-		ExtUtils::Mksymlists::Mksymlists(NAME => $basename, FILE => $abs_basename, IMPORTS => {});
-	}
 	my @commands;
 	if ($^O eq 'MSWin32' && $cc =~ /^cl/) {
 		push @commands, qq{$cc $ccflags $cccdlflags $optimize /I "$incdir" /c $source_name /Fo$object_file};
@@ -124,9 +115,19 @@ sub can_compile_loadable_object {
 			push @extra, qq{"-L$incdir"}, '-lperl', $perllibs;
 		}
 		push @commands, qq{$cc $ccflags $optimize "-I$incdir" $cccdlflags -c $source_name -o $object_file};
-		push @commands, qq{$cc $optimize $object_file -o $loadable_object $lddlflags @extra};
+		push @commands, qq{$ld $object_file -o $loadable_object $lddlflags @extra};
 	}
 
+	if ($prelinking{$^O}) {
+		require ExtUtils::Mksymlists;
+		ExtUtils::Mksymlists::Mksymlists(NAME => $basename, FILE => $abs_basename, IMPORTS => {});
+	}
+
+	my $shortname = '_Loadable' . $counter++;
+	my $package = "ExtUtils::HasCompiler::$shortname";
+	printf $source_handle $loadable_object_format, $basename, $package or do { carp "Couldn't write to $source_name: $!"; return };
+	close $source_handle or do { carp "Couldn't close $source_name: $!"; return };
+
 	for my $command (@commands) {
 		print $output "$command\n" if not $args{quiet};
 		system $command and do { carp "Couldn't execute $command: $!"; return };
@@ -152,6 +153,54 @@ sub can_compile_loadable_object {
 	}
 }
 
+my %static_unsupported_on = map { $_ => 1 } qw/VMS aix MSWin32 cygwin/;
+sub can_compile_static_library {
+	my %args = @_;
+
+	my $output = $args{output} || \*STDOUT;
+
+	my $config = $args{config} || 'ExtUtils::HasCompiler::Config';
+	return if $config->get('useshrplib') eq 'true';
+
+	my ($source_handle, $source_name) = tempfile('TESTXXXX', DIR => $tempdir, SUFFIX => '.c', UNLINK => 1);
+	my $basename = basename($source_name, '.c');
+	my $abs_basename = catfile($tempdir, $basename);
+
+	my ($cc, $ccflags, $optimize, $ar, $full_ar, $ranlib, $archlibexp, $_o, $lib_ext) = map { $config->get($_) } qw/cc ccflags optimize ar full_ar ranlib archlibexp _o lib_ext/;
+	my $incdir = catdir($archlibexp, 'CORE');
+	my $object_file = "$abs_basename$_o";
+	my $static_library = $abs_basename.$lib_ext;
+
+	my @commands;
+	if ($static_unsupported_on{$^O}) {
+		return;
+	}
+	else {
+		my $my_ar = length $full_ar ? $full_ar : $ar;
+		push @commands, qq{$cc $ccflags $optimize "-I$incdir" -c $source_name -o $object_file};
+		push @commands, qq{$my_ar cr $static_library $object_file};
+		push @commands, qq{$ranlib $static_library} if $ranlib ne ':';
+	}
+
+	my $shortname = '_Loadable' . $counter++;
+	my $package = "ExtUtils::HasCompiler::$shortname";
+	printf $source_handle $loadable_object_format, $basename, $package or do { carp "Couldn't write to $source_name: $!"; return };
+	close $source_handle or do { carp "Couldn't close $source_name: $!"; return };
+
+	for my $command (@commands) {
+		print $output "$command\n" if not $args{quiet};
+		system $command and do { carp "Couldn't execute $command: $!"; return };
+	}
+	return 1;
+}
+
+sub can_compile_extension {
+	my %args = @_;
+	$args{config} ||= 'ExtUtils::HasCompiler::Config';
+	my $linktype = $args{linktype} || ($args{config}->get('usedl') ? 'dynamic' : 'static');
+	return $linktype eq 'static' ? can_compile_static_library(%args) : can_compile_loadable_object(%args);
+}
+
 sub ExtUtils::HasCompiler::Config::get {
 	my (undef, $key) = @_;
 	return $ENV{uc $key} || $Config{$key};
@@ -173,7 +222,17 @@ ExtUtils::HasCompiler - Check for the presence of a compiler
 
 =head1 VERSION
 
-version 0.014
+version 0.021
+
+=head1 SYNOPSIS
+
+ use ExtUtils::HasCompiler 'can_compile_extension';
+ if (can_compile_extension()) {
+   ...
+ }
+ else {
+   ...
+ }
 
 =head1 DESCRIPTION
 
@@ -203,6 +262,34 @@ This causes can_compile_loadable_object to not try to load the generated object.
 
 =back
 
+=head2 can_compile_static_library(%opts)
+
+This checks if the system can compile and link a perl static library. It does not check it it can compile a new perl with it. It may take the following options:
+
+=over 4
+
+=item * quiet
+
+Do not output the executed compilation commands.
+
+=item * config
+
+An L<ExtUtils::Config|ExtUtils::Config> (compatible) object for configuration.
+
+=back
+
+=head2 can_compile_extension(%opts)
+
+This will call either C<can_compile_loadable_object>, or C<can_compile_static_library>, depending on which is the default on your configuration. In addition to the arguments listed above, it can take one more optional argument:
+
+=over 4
+
+=item * linktype
+
+This will force the linktype to be either static or dynamic. Dynamic compilation on a static perl won't work, but static libraries can be viable on a dynamic perl.
+
+=back
+
 =head1 AUTHOR
 
 Leon Timmermans <leont@cpan.org>
@@ -7,7 +7,7 @@ package # hide from pause
 use strict;
 use warnings;
 
-our $VERSION = '0.21';
+our $VERSION = '0.24';
 
 use Tie::Hash ();
 use Hash::Util::FieldHash 'fieldhash';
@@ -39,7 +39,7 @@ sub on_scope_end (&) {
   tie(%hh, 'B::Hooks::EndOfScope::PP::_TieHintHashFieldHash')
     unless tied %hh;
 
-  push @{ $hh{\%^H} ||= [] }, shift;
+  push @{ $hh{\%^H} ||= [] }, $_[0];
 }
 
 1;
@@ -1,4 +1,4 @@
-# Implementation of a pure-perl on_scope_end for perl 5.8.X
+# Implementation of a pure-perl on_scope_end for perls < 5.10
 # (relies on lack of compile/runtime duality of %^H before 5.10
 # which makes guard object operation possible)
 
@@ -8,14 +8,38 @@ package # hide from the pauses
 use strict;
 use warnings;
 
-our $VERSION = '0.21';
+our $VERSION = '0.24';
 
 use Scalar::Util ();
+use constant _NEEDS_MEMORY_CORRUPTION_FIXUP => (
+  "$]" >= 5.008
+    and
+  "$]" < 5.008004
+) ? 1 : 0;
+
+
+use constant _PERL_VERSION => "$]";
 
 # This is the original implementation, which sadly is broken
 # on perl 5.10+ within string evals
 sub on_scope_end (&) {
-  $^H |= 0x020000;
+
+  # the scope-implicit %^H localization is a 5.8+ feature
+  $^H |= 0x020000
+    if _PERL_VERSION >= 5.008;
+
+  # the explicit localization of %^H works on anything < 5.10
+  # but we use it only on 5.6 where fiddling $^H has no effect
+  local %^H = %^H
+    if _PERL_VERSION < 5.008;
+
+  # Workaround for memory corruption during implicit $^H-induced
+  # localization of %^H on 5.8.0~5.8.3, see extended comment below
+  bless \%^H, 'B::Hooks::EndOfScope::PP::HintHash::__GraveyardTransport' if (
+    _NEEDS_MEMORY_CORRUPTION_FIXUP
+      and
+    ref \%^H eq 'HASH'  # only bless if it is a "pure hash" to start with
+  );
 
   # localised %^H behaves funny on 5.8 - a
   # 'local %^H;'
@@ -26,17 +50,45 @@ sub on_scope_end (&) {
   push @{
     $^H{sprintf '__B_H_EOS__guardstack_0X%x', Scalar::Util::refaddr(\%^H) }
       ||= bless ([], 'B::Hooks::EndOfScope::PP::_SG_STACK')
-  }, shift;
+  }, $_[0];
 }
 
-package # hide from the pauses
-  B::Hooks::EndOfScope::PP::_SG_STACK;
+sub B::Hooks::EndOfScope::PP::_SG_STACK::DESTROY {
+  B::Hooks::EndOfScope::PP::__invoke_callback($_) for @{$_[0]};
+}
 
-use warnings;
-use strict;
+# This scope implements a clunky yet effective workaround for a core perl bug
+# https://rt.perl.org/Public/Bug/Display.html?id=27040#txn-82797
+#
+# While we can not prevent the hinthash being marked for destruction twice,
+# we *can* intercept the first DESTROY pass, and squirrel away the entire
+# structure, until a time it can (hopefully) no longer do any visible harm
+#
+# There still *will* be corruption by the time we get to free it for real,
+# since we can not prevent Perl's erroneous SAVEFREESV mark. What we hope is
+# that by then the corruption will no longer matter
+#
+# Yes, this code does leak by design. Yes it is better than the alternative.
+{
+  my @Hint_Hash_Graveyard;
 
-sub DESTROY {
-  B::Hooks::EndOfScope::PP::__invoke_callback($_) for @{$_[0]};
+  # "Leak" this entire structure: ensures it and its contents will not be
+  # garbage collected until the very very very end
+  push @Hint_Hash_Graveyard, \@Hint_Hash_Graveyard
+    if _NEEDS_MEMORY_CORRUPTION_FIXUP;
+
+  sub B::Hooks::EndOfScope::PP::HintHash::__GraveyardTransport::DESTROY {
+
+    # Resurrect the hinthash being destroyed, persist it into the graveyard
+    push @Hint_Hash_Graveyard, $_[0];
+
+    # ensure we won't try to re-resurrect during GlobalDestroy
+    bless $_[0], 'B::Hooks::EndOfScope::PP::HintHash::__DeactivateGraveyardTransport';
+
+    # Perform explicit free of elements (if any) triggering all callbacks
+    # This is what would have happened without this code being active
+    %{$_[0]} = ();
+  }
 }
 
 1;
@@ -4,7 +4,7 @@ package B::Hooks::EndOfScope::PP;
 use warnings;
 use strict;
 
-our $VERSION = '0.21';
+our $VERSION = '0.24';
 
 use constant _PERL_VERSION => "$]";
 
@@ -58,7 +58,7 @@ B::Hooks::EndOfScope::PP - Execute code after a scope finished compilation - PP
 
 =head1 VERSION
 
-version 0.21
+version 0.24
 
 =head1 DESCRIPTION
 
@@ -96,7 +96,7 @@ Florian Ragwitz <rafl@debian.org>
 
 =item *
 
-Peter Rabbitson <ribasushi@cpan.org>
+Peter Rabbitson <ribasushi@leporine.io>
 
 =back
 
@@ -4,7 +4,16 @@ package B::Hooks::EndOfScope::XS;
 use strict;
 use warnings;
 
-our $VERSION = '0.21';
+our $VERSION = '0.24';
+
+# Limit the V::M-based (XS) version to perl 5.8.4+
+#
+# Given the unorthodox stuff we do to work around the hinthash double-free
+# might as well play it safe and only implement it in the PP version
+# and leave it at that
+# https://rt.perl.org/Public/Bug/Display.html?id=27040#txn-82797
+#
+use 5.008004;
 
 use Variable::Magic 0.48 ();
 use Sub::Exporter::Progressive 0.001006 -setup => {
@@ -17,7 +26,7 @@ my $wiz = Variable::Magic::wizard
   free => sub { $_->() for @{ $_[1] }; () },
   # When someone localise %^H, our magic doesn't want to be copied
   # down. We want it to be around only for the scope we've initially
-  # attached ourselfs to. Merely having MGf_LOCAL and a noop svt_local
+  # attached ourselves to. Merely having MGf_LOCAL and a noop svt_local
   # callback achieves this. If anything wants to attach more magic of our
   # kind to a localised %^H, things will continue to just work as we'll be
   # attached with a new and empty callback list.
@@ -25,15 +34,13 @@ my $wiz = Variable::Magic::wizard
 ;
 
 sub on_scope_end (&) {
-  my $cb = shift;
-
   $^H |= 0x020000;
 
   if (my $stack = Variable::Magic::getdata %^H, $wiz) {
-    push @{ $stack }, $cb;
+    push @{ $stack }, $_[0];
   }
   else {
-    Variable::Magic::cast %^H, $wiz, $cb;
+    Variable::Magic::cast %^H, $wiz, $_[0];
   }
 }
 
@@ -51,7 +58,7 @@ B::Hooks::EndOfScope::XS - Execute code after a scope finished compilation - XS
 
 =head1 VERSION
 
-version 0.21
+version 0.24
 
 =head1 DESCRIPTION
 
@@ -87,7 +94,7 @@ Florian Ragwitz <rafl@debian.org>
 
 =item *
 
-Peter Rabbitson <ribasushi@cpan.org>
+Peter Rabbitson <ribasushi@leporine.io>
 
 =back
 
@@ -1,16 +1,13 @@
-package B::Hooks::EndOfScope; # git description: 0.20-3-ge7283e2
+package B::Hooks::EndOfScope; # git description: 0.23-2-ga391106
 # ABSTRACT: Execute code after a scope finished compilation
 # KEYWORDS: code hooks execution scope
 
 use strict;
 use warnings;
 
-our $VERSION = '0.21';
+our $VERSION = '0.24';
 
-# note - a %^H tie() fallback will probably work on 5.6 as well,
-# if you need to go that low - sane patches passing *all* tests
-# will be gladly accepted
-use 5.008001;
+use 5.006001;
 
 BEGIN {
   use Module::Implementation 0.05;
@@ -39,7 +36,7 @@ B::Hooks::EndOfScope - Execute code after a scope finished compilation
 
 =head1 VERSION
 
-version 0.21
+version 0.24
 
 =head1 SYNOPSIS
 
@@ -63,13 +60,18 @@ compiled.
 
 This is exported by default. See L<Sub::Exporter> on how to customize it.
 
-=head1 PURE-PERL MODE CAVEAT
+=head1 LIMITATIONS
+
+=head2 Pure-perl mode caveat
+
+This caveat applies to B<any> version of perl where L<Variable::Magic>
+is unavailable or otherwise disabled.
 
 While L<Variable::Magic> has access to some very dark sorcery to make it
 possible to throw an exception from within a callback, the pure-perl
 implementation does not have access to these hacks. Therefore, what
-would have been a compile-time exception is instead converted to a
-warning, and your execution will continue as if the exception never
+would have been a B<compile-time exception> is instead B<converted to a
+warning>, and your execution will continue as if the exception never
 happened.
 
 To explicitly request an XS (or PP) implementation one has two choices. Either
@@ -82,6 +84,32 @@ to import from the desired implementation explicitly:
 or by setting C<$ENV{B_HOOKS_ENDOFSCOPE_IMPLEMENTATION}> to either C<XS> or
 C<PP>.
 
+=head2 Perl 5.8.0 ~ 5.8.3
+
+Due to a L<core interpreter bug
+|https://rt.perl.org/Public/Bug/Display.html?id=27040#txn-82797> present in
+older perl versions, the implementation of B::Hooks::EndOfScope deliberately
+leaks a single empty hash for every scope being cleaned. This is done to
+avoid the memory corruption associated with the bug mentioned above.
+
+In order to stabilize this workaround use of L<Variable::Magic> is disabled
+on perls prior to version 5.8.4. On such systems loading/requesting
+L<B::Hooks::EndOfScope::XS> explicitly will result in a compile-time
+exception.
+
+=head2 Perl versions 5.6.x
+
+Versions of perl before 5.8.0 lack a feature allowing changing the visibility
+of C<%^H> via setting bit 17 within C<$^H>. As such the only way to achieve
+the effect necessary for this module to work, is to use the C<local> operator
+explicitly on these platforms. This might lead to unexpected interference
+with other scope-driven libraries relying on the same mechanism. On the flip
+side there are no such known incompatibilities at the time this note was
+written.
+
+For further details on the unavailable behavior please refer to the test
+file F<t/02-localise.t> included with the distribution.
+
 =head1 SEE ALSO
 
 L<Sub::Exporter>
@@ -103,13 +131,13 @@ Florian Ragwitz <rafl@debian.org>
 
 =item *
 
-Peter Rabbitson <ribasushi@cpan.org>
+Peter Rabbitson <ribasushi@leporine.io>
 
 =back
 
 =head1 CONTRIBUTORS
 
-=for stopwords Karen Etheridge Christian Walde Simon Wilper Tatsuhiko Miyagawa Tomas Doran
+=for stopwords Karen Etheridge Tatsuhiko Miyagawa Christian Walde Tomas Doran Graham Knop Simon Wilper
 
 =over 4
 
@@ -119,19 +147,23 @@ Karen Etheridge <ether@cpan.org>
 
 =item *
 
+Tatsuhiko Miyagawa <miyagawa@bulknews.net>
+
+=item *
+
 Christian Walde <walde.christian@googlemail.com>
 
 =item *
 
-Simon Wilper <sxw@chronowerks.de>
+Tomas Doran <bobtfish@bobtfish.net>
 
 =item *
 
-Tatsuhiko Miyagawa <miyagawa@bulknews.net>
+Graham Knop <haarg@haarg.org>
 
 =item *
 
-Tomas Doran <bobtfish@bobtfish.net>
+Simon Wilper <sxw@chronowerks.de>
 
 =back
 
@@ -2,91 +2,26 @@ do { my $x = {
        'configure' => {
                         'requires' => {
                                         'ExtUtils::MakeMaker' => '0',
-                                        'Text::ParseWords' => '0',
-                                        'perl' => '5.008001'
+                                        'Text::ParseWords' => '0'
                                       }
                       },
        'develop' => {
                       'recommends' => {
-                                        'Dist::Zilla::PluginBundle::Author::ETHER' => '0.114'
+                                        'Dist::Zilla::PluginBundle::Author::ETHER' => '0.137',
+                                        'Dist::Zilla::PluginBundle::Git::VersionManager' => '0.007'
                                       },
                       'requires' => {
                                       'Devel::Hide' => '0.0007',
-                                      'Dist::Zilla' => '5',
-                                      'Dist::Zilla::Plugin::Authority' => '1.009',
-                                      'Dist::Zilla::Plugin::AuthorityFromModule' => '0.002',
-                                      'Dist::Zilla::Plugin::AutoMetaResources' => '0',
-                                      'Dist::Zilla::Plugin::AutoPrereqs' => '5.038',
-                                      'Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional' => '0.004',
-                                      'Dist::Zilla::Plugin::CheckIssues' => '0',
-                                      'Dist::Zilla::Plugin::CheckPrereqsIndexed' => '0',
-                                      'Dist::Zilla::Plugin::CheckSelfDependency' => '0',
-                                      'Dist::Zilla::Plugin::CheckStrictVersion' => '0',
-                                      'Dist::Zilla::Plugin::ConfirmRelease' => '0',
-                                      'Dist::Zilla::Plugin::CopyFilesFromRelease' => '0',
-                                      'Dist::Zilla::Plugin::DynamicPrereqs' => '0.029',
-                                      'Dist::Zilla::Plugin::FileFinder::ByName' => '0',
-                                      'Dist::Zilla::Plugin::GenerateFile::FromShareDir' => '0',
-                                      'Dist::Zilla::Plugin::Git::Check' => '0',
-                                      'Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch' => '0.004',
-                                      'Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts' => '0',
-                                      'Dist::Zilla::Plugin::Git::Commit' => '2.020',
-                                      'Dist::Zilla::Plugin::Git::Contributors' => '0.004',
-                                      'Dist::Zilla::Plugin::Git::Describe' => '0.004',
-                                      'Dist::Zilla::Plugin::Git::GatherDir' => '2.016',
-                                      'Dist::Zilla::Plugin::Git::Push' => '0',
-                                      'Dist::Zilla::Plugin::Git::Remote::Check' => '0',
-                                      'Dist::Zilla::Plugin::Git::Tag' => '0',
-                                      'Dist::Zilla::Plugin::GitHub::Update' => '0.40',
-                                      'Dist::Zilla::Plugin::GithubMeta' => '0.54',
-                                      'Dist::Zilla::Plugin::InstallGuide' => '1.200005',
-                                      'Dist::Zilla::Plugin::Keywords' => '0.004',
-                                      'Dist::Zilla::Plugin::License' => '5.038',
-                                      'Dist::Zilla::Plugin::MakeMaker' => '0',
-                                      'Dist::Zilla::Plugin::Manifest' => '0',
-                                      'Dist::Zilla::Plugin::MetaConfig' => '0',
-                                      'Dist::Zilla::Plugin::MetaJSON' => '0',
-                                      'Dist::Zilla::Plugin::MetaNoIndex' => '0',
-                                      'Dist::Zilla::Plugin::MetaProvides::Package' => '1.15000002',
-                                      'Dist::Zilla::Plugin::MetaTests' => '0',
-                                      'Dist::Zilla::Plugin::MetaYAML' => '0',
-                                      'Dist::Zilla::Plugin::MinimumPerl' => '1.006',
-                                      'Dist::Zilla::Plugin::MojibakeTests' => '0.8',
-                                      'Dist::Zilla::Plugin::NextRelease' => '5.033',
-                                      'Dist::Zilla::Plugin::PodSyntaxTests' => '5.040',
-                                      'Dist::Zilla::Plugin::Prereqs' => '0',
-                                      'Dist::Zilla::Plugin::Prereqs::AuthorDeps' => '0',
-                                      'Dist::Zilla::Plugin::PromptIfStale' => '0',
-                                      'Dist::Zilla::Plugin::Readme' => '0',
-                                      'Dist::Zilla::Plugin::ReadmeAnyFromPod' => '0.142180',
-                                      'Dist::Zilla::Plugin::RewriteVersion::Transitional' => '0.004',
-                                      'Dist::Zilla::Plugin::Run::AfterBuild' => '0.038',
-                                      'Dist::Zilla::Plugin::Run::AfterRelease' => '0.038',
-                                      'Dist::Zilla::Plugin::RunExtraTests' => '0.024',
-                                      'Dist::Zilla::Plugin::StaticInstall' => '0.005',
-                                      'Dist::Zilla::Plugin::SurgicalPodWeaver' => '0',
-                                      'Dist::Zilla::Plugin::Test::CPAN::Changes' => '0.008',
-                                      'Dist::Zilla::Plugin::Test::ChangesHasContent' => '0',
-                                      'Dist::Zilla::Plugin::Test::Compile' => '2.039',
-                                      'Dist::Zilla::Plugin::Test::EOL' => '0.17',
-                                      'Dist::Zilla::Plugin::Test::Kwalitee' => '2.10',
-                                      'Dist::Zilla::Plugin::Test::MinimumVersion' => '2.000003',
-                                      'Dist::Zilla::Plugin::Test::NoTabs' => '0.08',
-                                      'Dist::Zilla::Plugin::Test::Pod::No404s' => '1.002',
-                                      'Dist::Zilla::Plugin::Test::PodSpelling' => '2.006003',
-                                      'Dist::Zilla::Plugin::Test::Portability' => '0',
-                                      'Dist::Zilla::Plugin::Test::ReportPrereqs' => '0.022',
-                                      'Dist::Zilla::Plugin::TestRelease' => '0',
-                                      'Dist::Zilla::Plugin::UploadToCPAN' => '0',
-                                      'Dist::Zilla::PluginBundle::Author::ETHER' => '0.094',
+                                      'Encode' => '0',
                                       'ExtUtils::HasCompiler' => '0.014',
                                       'File::Spec' => '0',
                                       'IO::Handle' => '0',
                                       'IPC::Open3' => '0',
+                                      'Path::Tiny' => '0.062',
                                       'Pod::Wordlist' => '0',
-                                      'Software::License::Perl_5' => '0',
                                       'Test::CPAN::Changes' => '0.19',
                                       'Test::CPAN::Meta' => '0',
+                                      'Test::Deep' => '0',
                                       'Test::EOL' => '0',
                                       'Test::Kwalitee' => '1.21',
                                       'Test::Mojibake' => '0',
@@ -94,15 +29,16 @@ do { my $x = {
                                       'Test::NoTabs' => '0',
                                       'Test::Pod' => '1.41',
                                       'Test::Pod::No404s' => '0',
-                                      'Test::Spelling' => '0.12',
-                                      'blib' => '1.01'
+                                      'Test::Portability::Files' => '0',
+                                      'Test::Spelling' => '0.12'
                                     }
                     },
        'runtime' => {
                       'requires' => {
                                       'Module::Implementation' => '0.05',
+                                      'Scalar::Util' => '0',
                                       'Sub::Exporter::Progressive' => '0.001006',
-                                      'perl' => '5.008001',
+                                      'perl' => '5.006001',
                                       'strict' => '0',
                                       'warnings' => '0'
                                     }
@@ -112,14 +48,88 @@ do { my $x = {
                                      'CPAN::Meta' => '2.120900'
                                    },
                    'requires' => {
+                                   'ExtUtils::MakeMaker' => '0',
                                    'File::Glob' => '0',
                                    'File::Spec' => '0',
                                    'IPC::Open2' => '0',
-                                   'Module::Metadata' => '0',
-                                   'Test::More' => '0.89',
-                                   'perl' => '5.008001'
+                                   'Test::More' => '0.88',
+                                   'lib' => '0'
                                  }
-                 }
+                 },
+       'x_Dist_Zilla' => {
+                           'requires' => {
+                                           'Dist::Zilla' => '5',
+                                           'Dist::Zilla::Plugin::Authority' => '1.009',
+                                           'Dist::Zilla::Plugin::AutoMetaResources' => '0',
+                                           'Dist::Zilla::Plugin::AutoPrereqs' => '5.038',
+                                           'Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional' => '0.004',
+                                           'Dist::Zilla::Plugin::CheckIssues' => '0',
+                                           'Dist::Zilla::Plugin::CheckMetaResources' => '0',
+                                           'Dist::Zilla::Plugin::CheckPrereqsIndexed' => '0.019',
+                                           'Dist::Zilla::Plugin::CheckSelfDependency' => '0',
+                                           'Dist::Zilla::Plugin::CheckStrictVersion' => '0',
+                                           'Dist::Zilla::Plugin::ConfirmRelease' => '0',
+                                           'Dist::Zilla::Plugin::CopyFilesFromRelease' => '0',
+                                           'Dist::Zilla::Plugin::DynamicPrereqs' => '0.029',
+                                           'Dist::Zilla::Plugin::EnsureLatestPerl' => '0',
+                                           'Dist::Zilla::Plugin::FileFinder::ByName' => '0',
+                                           'Dist::Zilla::Plugin::GenerateFile::FromShareDir' => '0',
+                                           'Dist::Zilla::Plugin::Git::Check' => '0',
+                                           'Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch' => '0.004',
+                                           'Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts' => '0',
+                                           'Dist::Zilla::Plugin::Git::Commit' => '2.020',
+                                           'Dist::Zilla::Plugin::Git::Contributors' => '0.029',
+                                           'Dist::Zilla::Plugin::Git::Describe' => '0.004',
+                                           'Dist::Zilla::Plugin::Git::GatherDir' => '2.016',
+                                           'Dist::Zilla::Plugin::Git::Push' => '0',
+                                           'Dist::Zilla::Plugin::Git::Remote::Check' => '0',
+                                           'Dist::Zilla::Plugin::Git::Tag' => '0',
+                                           'Dist::Zilla::Plugin::GitHub::Update' => '0.40',
+                                           'Dist::Zilla::Plugin::GithubMeta' => '0.54',
+                                           'Dist::Zilla::Plugin::InstallGuide' => '1.200005',
+                                           'Dist::Zilla::Plugin::Keywords' => '0.004',
+                                           'Dist::Zilla::Plugin::License' => '5.038',
+                                           'Dist::Zilla::Plugin::MakeMaker' => '0',
+                                           'Dist::Zilla::Plugin::Manifest' => '0',
+                                           'Dist::Zilla::Plugin::MetaConfig' => '0',
+                                           'Dist::Zilla::Plugin::MetaJSON' => '0',
+                                           'Dist::Zilla::Plugin::MetaNoIndex' => '0',
+                                           'Dist::Zilla::Plugin::MetaProvides::Package' => '1.15000002',
+                                           'Dist::Zilla::Plugin::MetaTests' => '0',
+                                           'Dist::Zilla::Plugin::MetaYAML' => '0',
+                                           'Dist::Zilla::Plugin::MojibakeTests' => '0.8',
+                                           'Dist::Zilla::Plugin::NextRelease' => '5.033',
+                                           'Dist::Zilla::Plugin::PodSyntaxTests' => '5.040',
+                                           'Dist::Zilla::Plugin::Prereqs' => '0',
+                                           'Dist::Zilla::Plugin::Prereqs::AuthorDeps' => '0.006',
+                                           'Dist::Zilla::Plugin::PromptIfStale' => '0',
+                                           'Dist::Zilla::Plugin::Readme' => '0',
+                                           'Dist::Zilla::Plugin::ReadmeAnyFromPod' => '0.142180',
+                                           'Dist::Zilla::Plugin::RewriteVersion::Transitional' => '0.004',
+                                           'Dist::Zilla::Plugin::Run::AfterBuild' => '0.041',
+                                           'Dist::Zilla::Plugin::Run::AfterRelease' => '0.038',
+                                           'Dist::Zilla::Plugin::RunExtraTests' => '0.024',
+                                           'Dist::Zilla::Plugin::StaticInstall' => '0.005',
+                                           'Dist::Zilla::Plugin::SurgicalPodWeaver' => '0',
+                                           'Dist::Zilla::Plugin::Test::CPAN::Changes' => '0.012',
+                                           'Dist::Zilla::Plugin::Test::ChangesHasContent' => '0',
+                                           'Dist::Zilla::Plugin::Test::Compile' => '2.039',
+                                           'Dist::Zilla::Plugin::Test::EOL' => '0.17',
+                                           'Dist::Zilla::Plugin::Test::Kwalitee' => '2.10',
+                                           'Dist::Zilla::Plugin::Test::NoTabs' => '0.08',
+                                           'Dist::Zilla::Plugin::Test::Pod::No404s' => '1.003',
+                                           'Dist::Zilla::Plugin::Test::PodSpelling' => '2.006003',
+                                           'Dist::Zilla::Plugin::Test::Portability' => '2.000007',
+                                           'Dist::Zilla::Plugin::Test::ReportPrereqs' => '0.022',
+                                           'Dist::Zilla::Plugin::TestRelease' => '0',
+                                           'Dist::Zilla::Plugin::UploadToCPAN' => '0',
+                                           'Dist::Zilla::Plugin::UseUnsafeInc' => '0',
+                                           'Dist::Zilla::PluginBundle::Author::ETHER' => '0.119',
+                                           'Dist::Zilla::PluginBundle::Git::VersionManager' => '0',
+                                           'ExtUtils::HasCompiler' => '0.014',
+                                           'Software::License::Perl_5' => '0'
+                                         }
+                         }
      };
   $x;
  }
\ No newline at end of file
@@ -3,11 +3,11 @@
 use strict;
 use warnings;
 
-# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.024
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.027
 
 use Test::More tests => 1;
 
-use Module::Metadata;
+use ExtUtils::MakeMaker;
 use File::Spec;
 
 # from $version::LAX
@@ -60,7 +60,12 @@ sub _merge_prereqs {
 }
 
 my @include = qw(
-
+  Encode
+  JSON::PP
+  Sub::Name
+  YAML
+  autodie
+  DynaLoader
 );
 
 my @exclude = qw(
@@ -68,7 +73,7 @@ my @exclude = qw(
 );
 
 # Add static prereqs to the included modules list
-my $static_prereqs = do 't/00-report-prereqs.dd';
+my $static_prereqs = do './t/00-report-prereqs.dd';
 
 # Merge all prereqs (either with ::Prereqs or a hashref)
 my $full_prereqs = _merge_prereqs(
@@ -78,12 +83,14 @@ my $full_prereqs = _merge_prereqs(
 
 # Add dynamic prereqs to the included modules list (if we can)
 my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
-if ( $source && $HAS_CPAN_META ) {
-    if ( my $meta = eval { CPAN::Meta->load_file($source) } ) {
-        $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
-    }
+my $cpan_meta_error;
+if ( $source && $HAS_CPAN_META
+    && (my $meta = eval { CPAN::Meta->load_file($source) } )
+) {
+    $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
 }
 else {
+    $cpan_meta_error = $@;    # capture error from CPAN::Meta->load_file($source)
     $source = 'static metadata';
 }
 
@@ -122,7 +129,7 @@ for my $phase ( qw(configure build test runtime develop other) ) {
             my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required";
 
             if ($prefix) {
-                my $have = Module::Metadata->new_from_file( File::Spec->catfile($prefix, $file) )->version;
+                my $have = MM->parse_version( File::Spec->catfile($prefix, $file) );
                 $have = "undef" unless defined $have;
                 push @reports, [$mod, $want, $have];
 
@@ -169,10 +176,18 @@ if ( @full_reports ) {
     diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports;
 }
 
+if ( $cpan_meta_error || @dep_errors ) {
+    diag "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n";
+}
+
+if ( $cpan_meta_error ) {
+    my ($orig_source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
+    diag "\nCPAN::Meta->load_file('$orig_source') failed with: $cpan_meta_error\n";
+}
+
 if ( @dep_errors ) {
     diag join("\n",
-        "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n",
-        "The following REQUIRED prerequisites were not satisfied:\n",
+        "\nThe following REQUIRED prerequisites were not satisfied:\n",
         @dep_errors,
         "\n"
     );
@@ -1,7 +1,13 @@
 use strict;
 use warnings;
 
-use Test::More 0.89;
+use Test::More 0.88;
+
+BEGIN {
+  plan skip_all => "User-requested %^H local()ization works only on perl 5.8.0+"
+    if "$]" < 5.008;
+}
+
 
 use B::Hooks::EndOfScope;
 
@@ -0,0 +1,24 @@
+use strict;
+use warnings;
+
+use lib 't/lib';
+use Test::More;
+
+use B::Hooks::EndOfScope;
+
+plan tests => 1;
+
+my @warnings;
+BEGIN { $SIG{__WARN__} = sub {
+  ( $_[0] =~ /unref/ )
+    ? push @warnings, $_[0]
+    : warn @_
+}}
+
+BEGIN { on_scope_end { 1 } }
+
+use OtherClass;
+
+is $warnings[0], undef,
+  'on_scope_end used in module where loading module used on_scope_end'
+or diag join '', "\nAll unexpected warnings:\n========\n", @warnings, "\n";
@@ -0,0 +1,7 @@
+package OtherClass;
+use B::Hooks::EndOfScope;
+BEGIN { on_scope_end { 1 } }
+
+use YetAnotherClass;
+
+1;
@@ -0,0 +1,5 @@
+package YetAnotherClass;
+use B::Hooks::EndOfScope;
+BEGIN { on_scope_end { 1 } }
+
+1;
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 
-# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.054
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.058
 
 use Test::More 0.94;
 
@@ -20,7 +20,9 @@ my @module_files = (
 
 # no fake home requested
 
-my $inc_switch = -d 'blib' ? '-Mblib' : '-Ilib';
+my @switches = (
+    -d 'blib' ? '-Mblib' : '-Ilib',
+);
 
 use File::Spec;
 use IPC::Open3;
@@ -34,14 +36,18 @@ for my $lib (@module_files)
     # see L<perlfaq8/How can I capture STDERR from an external command?>
     my $stderr = IO::Handle->new;
 
-    my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, '-e', "require q[$lib]");
+    diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} . $str . q{'} }
+            $^X, @switches, '-e', "require q[$lib]"))
+        if $ENV{PERL_COMPILE_TEST_DEBUG};
+
+    my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-e', "require q[$lib]");
     binmode $stderr, ':crlf' if $^O eq 'MSWin32';
     my @_warnings = <$stderr>;
     waitpid($pid, 0);
     is($?, 0, "$lib loaded ok");
 
     shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/
-        and not eval { require blib; blib->VERSION('1.01') };
+        and not eval { +require blib; blib->VERSION('1.01') };
 
     if (@_warnings)
     {
@@ -0,0 +1,13 @@
+use strict;
+use warnings;
+
+use Test::More;
+plan skip_all => 'xt/release/changes_has_content.t is missing' if not -e 'xt/release/changes_has_content.t';
+
+my $branch_name = $ENV{TRAVIS_BRANCH};
+chomp($branch_name = `git rev-parse --abbrev-ref HEAD`) if not $branch_name;
+$TODO = 'Changes need not have content for this release yet if this is only the master branch'
+    if ($branch_name || '') eq 'master';
+
+do './xt/release/changes_has_content.t';
+die $@ if $@;
@@ -0,0 +1,22 @@
+use strict;
+use warnings;
+
+use Test::More 0.88;
+use Test::Deep;
+use Path::Tiny 0.062;
+
+plan skip_all => 'this test requires a built dist' if not -d 'inc';
+
+my @found_files;
+path('inc')->visit(
+    sub { push @found_files, $_->stringify if -f },
+    { recurse => 1 },
+);
+
+cmp_deeply(
+    \@found_files,
+    [ 'inc/ExtUtils/HasCompiler.pm' ],
+    'only ExtUtils::HasCompiler is bundled, and nothing else!',
+);
+
+done_testing;
@@ -1,7 +1,7 @@
 use strict;
 use warnings;
 
-# this test was generated with Dist::Zilla::Plugin::Test::EOL 0.18
+# this test was generated with Dist::Zilla::Plugin::Test::EOL 0.19
 
 use Test::More 0.88;
 use Test::EOL;
@@ -19,10 +19,15 @@ my @files = (
     't/02-localise.t',
     't/05-exception_xs.t',
     't/06-exception_pp.t',
+    't/07-nested.t',
     't/10-test_without_vm_pure_pp.t',
     't/11-direct_xs.t',
     't/12-direct_pp.t',
+    't/lib/OtherClass.pm',
+    't/lib/YetAnotherClass.pm',
     'xt/author/00-compile.t',
+    'xt/author/changes_has_content.t',
+    'xt/author/check-inc.t',
     'xt/author/eol.t',
     'xt/author/kwalitee.t',
     'xt/author/mojibake.t',
@@ -30,11 +35,10 @@ my @files = (
     'xt/author/pod-no404s.t',
     'xt/author/pod-spell.t',
     'xt/author/pod-syntax.t',
+    'xt/author/portability.t',
     'xt/release/changes_has_content.t',
     'xt/release/cpan-changes.t',
-    'xt/release/distmeta.t',
-    'xt/release/minimum-version.t',
-    'xt/release/portability.t'
+    'xt/release/distmeta.t'
 );
 
 eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files;
@@ -19,10 +19,15 @@ my @files = (
     't/02-localise.t',
     't/05-exception_xs.t',
     't/06-exception_pp.t',
+    't/07-nested.t',
     't/10-test_without_vm_pure_pp.t',
     't/11-direct_xs.t',
     't/12-direct_pp.t',
+    't/lib/OtherClass.pm',
+    't/lib/YetAnotherClass.pm',
     'xt/author/00-compile.t',
+    'xt/author/changes_has_content.t',
+    'xt/author/check-inc.t',
     'xt/author/eol.t',
     'xt/author/kwalitee.t',
     'xt/author/mojibake.t',
@@ -30,11 +35,10 @@ my @files = (
     'xt/author/pod-no404s.t',
     'xt/author/pod-spell.t',
     'xt/author/pod-syntax.t',
+    'xt/author/portability.t',
     'xt/release/changes_has_content.t',
     'xt/release/cpan-changes.t',
-    'xt/release/distmeta.t',
-    'xt/release/minimum-version.t',
-    'xt/release/portability.t'
+    'xt/release/distmeta.t'
 );
 
 notabs_ok($_) foreach @files;
@@ -2,40 +2,43 @@ use strict;
 use warnings;
 use Test::More;
 
-# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007000
+# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007005
 use Test::Spelling 0.12;
 use Pod::Wordlist;
 
 
 add_stopwords(<DATA>);
-all_pod_files_spelling_ok( qw( bin lib  ) );
+all_pod_files_spelling_ok( qw( examples lib script t xt ) );
 __DATA__
-irc
+Christian
+Doran
+EndOfScope
+Etheridge
+FieldHash
 Florian
-Ragwitz
-rafl
+Graham
+HintHash
+Hooks
+Karen
+Knop
+Miyagawa
+PP
 Peter
 Rabbitson
-ribasushi
-Karen
-Etheridge
-ether
-Christian
-Walde
-walde
+Ragwitz
 Simon
-Wilper
-sxw
 Tatsuhiko
-Miyagawa
-miyagawa
 Tomas
-Doran
+Walde
+Wilper
+XS
 bobtfish
+ether
+haarg
+irc
 lib
-Hooks
-EndOfScope
-PP
-FieldHash
-HintHash
-XS
+miyagawa
+rafl
+ribasushi
+sxw
+walde
@@ -0,0 +1,10 @@
+use strict;
+use warnings;
+
+use Test::More;
+
+eval 'use Test::Portability::Files';
+plan skip_all => 'Test::Portability::Files required for testing portability'
+    if $@;
+
+run_tests();
@@ -1,11 +1,10 @@
-#!perl
-
 use Test::More tests => 2;
 
 note 'Checking Changes';
 my $changes_file = 'Changes';
-my $newver = '0.21';
+my $newver = '0.24';
 my $trial_token = '-TRIAL';
+my $encoding = 'UTF-8';
 
 SKIP: {
     ok(-e $changes_file, "$changes_file file exists")
@@ -16,8 +15,6 @@ SKIP: {
 
 done_testing;
 
-# _get_changes copied and adapted from Dist::Zilla::Plugin::Git::Commit
-# by Jerome Quelin
 sub _get_changes
 {
     my $newver = shift;
@@ -25,6 +22,10 @@ sub _get_changes
     # parse changelog to find commit message
     open(my $fh, '<', $changes_file) or die "cannot open $changes_file: $!";
     my $changelog = join('', <$fh>);
+    if ($encoding) {
+        require Encode;
+        $changelog = Encode::decode($encoding, $changelog, Encode::FB_CROAK());
+    }
     close $fh;
 
     my @content =
@@ -1,11 +1,10 @@
-#!perl
-
 use strict;
 use warnings;
 
-use Test::More 0.96 tests => 2;
-use_ok('Test::CPAN::Changes');
+# this test was generated with Dist::Zilla::Plugin::Test::CPAN::Changes 0.012
+
+use Test::More 0.96 tests => 1;
+use Test::CPAN::Changes;
 subtest 'changes_ok' => sub {
     changes_file_ok('Changes');
 };
-done_testing();
@@ -1,8 +0,0 @@
-#!perl
-
-use Test::More;
-
-eval "use Test::MinimumVersion";
-plan skip_all => "Test::MinimumVersion required for testing minimum versions"
-  if $@;
-all_minimum_version_ok( qq{5.008001} );
@@ -1,12 +0,0 @@
-#!perl
-
-use strict;
-use warnings;
-
-use Test::More;
-
-eval 'use Test::Portability::Files';
-plan skip_all => 'Test::Portability::Files required for testing portability'
-    if $@;
-
-run_tests();