The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Changes 04
MANIFEST 22
META.json 58130
META.yml 53105
Makefile.PL 159
README 22
dist.ini 21
lib/StackTrace/Auto.pm 27
lib/Throwable/Error.pm 22
lib/Throwable.pm 22
t/00-report-prereqs.t 1750
t/000-report-versions-tiny.t 082
t/basic.t 041
xt/release/changes_has_content.t 11
14 files changed (This is a version diff) 314388
@@ -1,5 +1,9 @@
 Revision history for Throwable
 
+0.200012  2014-09-19 21:59:28-04:00 America/New_York
+        - avoid memory leaks and infinite recursion when stringifying
+          (thanks, Dagfinn Ilmari Mannsåker!)
+
 0.200011  2014-04-02 20:49:49-04:00 America/New_York
         - eliminate prereq on Class::Load (thanks, Toby Inkster!)
         - eliminate preqre on MooX::Types::MooseLike::Base (Toby Inkster)
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.015.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.020.
 Changes
 LICENSE
 MANIFEST
@@ -10,7 +10,7 @@ dist.ini
 lib/StackTrace/Auto.pm
 lib/Throwable.pm
 lib/Throwable/Error.pm
-t/00-report-prereqs.t
+t/000-report-versions-tiny.t
 t/basic.t
 xt/memory-leak.t
 xt/moose-coerce-class.t
@@ -5,7 +5,7 @@
       "Florian Ragwitz <rafl@debian.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 5.015, CPAN::Meta::Converter version 2.140640",
+   "generated_by" : "Dist::Zilla version 5.020, CPAN::Meta::Converter version 2.142060",
    "license" : [
       "perl_5"
    ],
@@ -17,18 +17,19 @@
    "prereqs" : {
       "configure" : {
          "requires" : {
-            "ExtUtils::MakeMaker" : "6.30"
+            "ExtUtils::MakeMaker" : "0"
          }
       },
       "develop" : {
          "requires" : {
-            "Test::Pod" : "1.41"
+            "Test::Pod" : "1.41",
+            "version" : "0.9901"
          }
       },
       "runtime" : {
          "requires" : {
             "Carp" : "0",
-            "Devel::StackTrace" : "1.21",
+            "Devel::StackTrace" : "1.32",
             "Module::Runtime" : "0.002",
             "Moo" : "1.000001",
             "Moo::Role" : "0",
@@ -38,17 +39,11 @@
          }
       },
       "test" : {
-         "recommends" : {
-            "CPAN::Meta" : "0",
-            "CPAN::Meta::Requirements" : "2.120900"
-         },
          "requires" : {
-            "ExtUtils::MakeMaker" : "0",
-            "File::Spec::Functions" : "0",
-            "List::Util" : "0",
+            "Devel::StackTrace" : "1.32",
             "Test::More" : "0.96",
+            "base" : "0",
             "strict" : "0",
-            "version" : "0",
             "warnings" : "0"
          }
       }
@@ -65,26 +60,34 @@
          "web" : "https://github.com/rjbs/Throwable"
       }
    },
-   "version" : "0.200011",
+   "version" : "0.200012",
    "x_Dist_Zilla" : {
       "perl" : {
-         "version" : "5.019010"
+         "version" : "5.021003"
       },
       "plugins" : [
          {
             "class" : "Dist::Zilla::Plugin::Git::GatherDir",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::GatherDir" : {
+                  "include_untracked" : "0"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
             "name" : "@RJBS/Git::GatherDir",
-            "version" : "2.020"
+            "version" : "2.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
             "name" : "@RJBS/CheckPrereqsIndexed",
-            "version" : "0.011"
+            "version" : "0.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckExtraTests",
             "name" : "@RJBS/CheckExtraTests",
-            "version" : "0.021"
+            "version" : "0.022"
          },
          {
             "class" : "Dist::Zilla::Plugin::PromptIfStale",
@@ -100,7 +103,7 @@
                }
             },
             "name" : "@RJBS/RJBS-Outdated",
-            "version" : "0.021"
+            "version" : "0.026"
          },
          {
             "class" : "Dist::Zilla::Plugin::PromptIfStale",
@@ -114,62 +117,62 @@
                }
             },
             "name" : "@RJBS/CPAN-Outdated",
-            "version" : "0.021"
+            "version" : "0.026"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneCruft",
             "name" : "@RJBS/@Filter/PruneCruft",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
             "name" : "@RJBS/@Filter/ManifestSkip",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "@RJBS/@Filter/MetaYAML",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "@RJBS/@Filter/License",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::Readme",
             "name" : "@RJBS/@Filter/Readme",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
             "name" : "@RJBS/@Filter/ExecDir",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::ShareDir",
             "name" : "@RJBS/@Filter/ShareDir",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "@RJBS/@Filter/Manifest",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "@RJBS/@Filter/TestRelease",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "@RJBS/@Filter/ConfirmRelease",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "@RJBS/@Filter/UploadToCPAN",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::MakeMaker",
@@ -179,37 +182,47 @@
                }
             },
             "name" : "@RJBS/MakeMaker",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::AutoPrereqs",
             "name" : "@RJBS/AutoPrereqs",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::NextVersion",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::NextVersion" : {
+                  "first_version" : "0.001",
+                  "version_by_branch" : "0",
+                  "version_regexp" : "(?^:^([0-9]+\\.[0-9]+)$)"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
             "name" : "@RJBS/Git::NextVersion",
-            "version" : "2.020"
+            "version" : "2.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::PkgVersion",
             "name" : "@RJBS/PkgVersion",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "@RJBS/MetaConfig",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "@RJBS/MetaJSON",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
             "name" : "@RJBS/NextRelease",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::ChangesHasContent",
@@ -219,12 +232,12 @@
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "@RJBS/PodSyntaxTests",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
-            "name" : "@RJBS/Test::ReportPrereqs",
-            "version" : "0.013"
+            "class" : "Dist::Zilla::Plugin::ReportVersions::Tiny",
+            "name" : "@RJBS/ReportVersions::Tiny",
+            "version" : "1.10"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -235,7 +248,7 @@
                }
             },
             "name" : "@RJBS/TestMoreWithSubtests",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
@@ -343,32 +356,91 @@
                }
             },
             "name" : "@RJBS/PodWeaver",
-            "version" : "4.005"
+            "version" : "4.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::GithubMeta",
             "name" : "@RJBS/GithubMeta",
-            "version" : "0.42"
+            "version" : "0.46"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Check",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Check" : {
+                  "untracked_files" : "die"
+               },
+               "Dist::Zilla::Role::Git::DirtyFiles" : {
+                  "allow_dirty" : [
+                     "dist.ini",
+                     "Changes"
+                  ],
+                  "allow_dirty_match" : [],
+                  "changelog" : "Changes"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
             "name" : "@RJBS/@Git/Check",
-            "version" : "2.020"
+            "version" : "2.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Commit" : {
+                  "add_files_in" : [],
+                  "commit_msg" : "v%v%n%n%c",
+                  "time_zone" : "local"
+               },
+               "Dist::Zilla::Role::Git::DirtyFiles" : {
+                  "allow_dirty" : [
+                     "dist.ini",
+                     "Changes"
+                  ],
+                  "allow_dirty_match" : [],
+                  "changelog" : "Changes"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
             "name" : "@RJBS/@Git/Commit",
-            "version" : "2.020"
+            "version" : "2.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Tag" : {
+                  "branch" : null,
+                  "signed" : 0,
+                  "tag" : "0.200012",
+                  "tag_format" : "%v",
+                  "tag_message" : "v%v",
+                  "time_zone" : "local"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
             "name" : "@RJBS/@Git/Tag",
-            "version" : "2.020"
+            "version" : "2.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Push",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Push" : {
+                  "push_to" : [
+                     "origin :",
+                     "github :"
+                  ],
+                  "remotes_must_exist" : 0
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
             "name" : "@RJBS/@Git/Push",
-            "version" : "2.020"
+            "version" : "2.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -379,47 +451,47 @@
                }
             },
             "name" : "Prereqs",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":IncModules",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":MainModule",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":AllFiles",
-            "version" : "5.015"
+            "version" : "5.020"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":NoFiles",
-            "version" : "5.015"
+            "version" : "5.020"
          }
       ],
       "zilla" : {
@@ -427,7 +499,7 @@
          "config" : {
             "is_trial" : "0"
          },
-         "version" : "5.015"
+         "version" : "5.020"
       }
    }
 }
@@ -4,17 +4,15 @@ author:
   - 'Ricardo SIGNES <rjbs@cpan.org>'
   - 'Florian Ragwitz <rafl@debian.org>'
 build_requires:
-  ExtUtils::MakeMaker: '0'
-  File::Spec::Functions: '0'
-  List::Util: '0'
+  Devel::StackTrace: '1.32'
   Test::More: '0.96'
+  base: '0'
   strict: '0'
-  version: '0'
   warnings: '0'
 configure_requires:
-  ExtUtils::MakeMaker: '6.30'
+  ExtUtils::MakeMaker: '0'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.015, CPAN::Meta::Converter version 2.140640'
+generated_by: 'Dist::Zilla version 5.020, CPAN::Meta::Converter version 2.142060'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -22,7 +20,7 @@ meta-spec:
 name: Throwable
 requires:
   Carp: '0'
-  Devel::StackTrace: '1.21'
+  Devel::StackTrace: '1.32'
   Module::Runtime: '0.002'
   Moo: '1.000001'
   Moo::Role: '0'
@@ -33,23 +31,28 @@ resources:
   bugtracker: https://github.com/rjbs/Throwable/issues
   homepage: https://github.com/rjbs/Throwable
   repository: https://github.com/rjbs/Throwable.git
-version: '0.200011'
+version: '0.200012'
 x_Dist_Zilla:
   perl:
-    version: '5.019010'
+    version: '5.021003'
   plugins:
     -
       class: Dist::Zilla::Plugin::Git::GatherDir
+      config:
+        Dist::Zilla::Plugin::Git::GatherDir:
+          include_untracked: '0'
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
       name: '@RJBS/Git::GatherDir'
-      version: '2.020'
+      version: '2.024'
     -
       class: Dist::Zilla::Plugin::CheckPrereqsIndexed
       name: '@RJBS/CheckPrereqsIndexed'
-      version: '0.011'
+      version: '0.012'
     -
       class: Dist::Zilla::Plugin::CheckExtraTests
       name: '@RJBS/CheckExtraTests'
-      version: '0.021'
+      version: '0.022'
     -
       class: Dist::Zilla::Plugin::PromptIfStale
       config:
@@ -61,7 +64,7 @@ x_Dist_Zilla:
           phase: build
           skip: []
       name: '@RJBS/RJBS-Outdated'
-      version: '0.021'
+      version: '0.026'
     -
       class: Dist::Zilla::Plugin::PromptIfStale
       config:
@@ -72,82 +75,89 @@ x_Dist_Zilla:
           phase: release
           skip: []
       name: '@RJBS/CPAN-Outdated'
-      version: '0.021'
+      version: '0.026'
     -
       class: Dist::Zilla::Plugin::PruneCruft
       name: '@RJBS/@Filter/PruneCruft'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::ManifestSkip
       name: '@RJBS/@Filter/ManifestSkip'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: '@RJBS/@Filter/MetaYAML'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::License
       name: '@RJBS/@Filter/License'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::Readme
       name: '@RJBS/@Filter/Readme'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::ExecDir
       name: '@RJBS/@Filter/ExecDir'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::ShareDir
       name: '@RJBS/@Filter/ShareDir'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::Manifest
       name: '@RJBS/@Filter/Manifest'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: '@RJBS/@Filter/TestRelease'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: '@RJBS/@Filter/ConfirmRelease'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: '@RJBS/@Filter/UploadToCPAN'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::MakeMaker
       config:
         Dist::Zilla::Role::TestRunner:
           default_jobs: 9
       name: '@RJBS/MakeMaker'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::AutoPrereqs
       name: '@RJBS/AutoPrereqs'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::Git::NextVersion
+      config:
+        Dist::Zilla::Plugin::Git::NextVersion:
+          first_version: '0.001'
+          version_by_branch: '0'
+          version_regexp: (?^:^([0-9]+\.[0-9]+)$)
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
       name: '@RJBS/Git::NextVersion'
-      version: '2.020'
+      version: '2.024'
     -
       class: Dist::Zilla::Plugin::PkgVersion
       name: '@RJBS/PkgVersion'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: '@RJBS/MetaConfig'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: '@RJBS/MetaJSON'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::NextRelease
       name: '@RJBS/NextRelease'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::Test::ChangesHasContent
       name: '@RJBS/Test::ChangesHasContent'
@@ -155,11 +165,11 @@ x_Dist_Zilla:
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: '@RJBS/PodSyntaxTests'
-      version: '5.015'
+      version: '5.020'
     -
-      class: Dist::Zilla::Plugin::Test::ReportPrereqs
-      name: '@RJBS/Test::ReportPrereqs'
-      version: '0.013'
+      class: Dist::Zilla::Plugin::ReportVersions::Tiny
+      name: '@RJBS/ReportVersions::Tiny'
+      version: '1.10'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -167,7 +177,7 @@ x_Dist_Zilla:
           phase: test
           type: requires
       name: '@RJBS/TestMoreWithSubtests'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::PodWeaver
       config:
@@ -251,27 +261,69 @@ x_Dist_Zilla:
               name: '@RJBS/List'
               version: '4.006'
       name: '@RJBS/PodWeaver'
-      version: '4.005'
+      version: '4.006'
     -
       class: Dist::Zilla::Plugin::GithubMeta
       name: '@RJBS/GithubMeta'
-      version: '0.42'
+      version: '0.46'
     -
       class: Dist::Zilla::Plugin::Git::Check
+      config:
+        Dist::Zilla::Plugin::Git::Check:
+          untracked_files: die
+        Dist::Zilla::Role::Git::DirtyFiles:
+          allow_dirty:
+            - dist.ini
+            - Changes
+          allow_dirty_match: []
+          changelog: Changes
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
       name: '@RJBS/@Git/Check'
-      version: '2.020'
+      version: '2.024'
     -
       class: Dist::Zilla::Plugin::Git::Commit
+      config:
+        Dist::Zilla::Plugin::Git::Commit:
+          add_files_in: []
+          commit_msg: v%v%n%n%c
+          time_zone: local
+        Dist::Zilla::Role::Git::DirtyFiles:
+          allow_dirty:
+            - dist.ini
+            - Changes
+          allow_dirty_match: []
+          changelog: Changes
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
       name: '@RJBS/@Git/Commit'
-      version: '2.020'
+      version: '2.024'
     -
       class: Dist::Zilla::Plugin::Git::Tag
+      config:
+        Dist::Zilla::Plugin::Git::Tag:
+          branch: ~
+          signed: 0
+          tag: '0.200012'
+          tag_format: '%v'
+          tag_message: v%v
+          time_zone: local
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
       name: '@RJBS/@Git/Tag'
-      version: '2.020'
+      version: '2.024'
     -
       class: Dist::Zilla::Plugin::Git::Push
+      config:
+        Dist::Zilla::Plugin::Git::Push:
+          push_to:
+            - 'origin :'
+            - 'github :'
+          remotes_must_exist: 0
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
       name: '@RJBS/@Git/Push'
-      version: '2.020'
+      version: '2.024'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -279,41 +331,41 @@ x_Dist_Zilla:
           phase: runtime
           type: requires
       name: Prereqs
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':IncModules'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':MainModule'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':AllFiles'
-      version: '5.015'
+      version: '5.020'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':NoFiles'
-      version: '5.015'
+      version: '5.020'
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
       is_trial: '0'
-    version: '5.015'
+    version: '5.020'
@@ -1,20 +1,19 @@
 
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.015.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.020.
 use strict;
 use warnings;
 
 
 
-use ExtUtils::MakeMaker 6.30;
+use ExtUtils::MakeMaker ;
 
 
 
 my %WriteMakefileArgs = (
   "ABSTRACT" => "a role for classes that can be thrown",
   "AUTHOR" => "Ricardo SIGNES <rjbs\@cpan.org>, Florian Ragwitz <rafl\@debian.org>",
-  "BUILD_REQUIRES" => {},
   "CONFIGURE_REQUIRES" => {
-    "ExtUtils::MakeMaker" => "6.30"
+    "ExtUtils::MakeMaker" => 0
   },
   "DISTNAME" => "Throwable",
   "EXE_FILES" => [],
@@ -22,7 +21,7 @@ my %WriteMakefileArgs = (
   "NAME" => "Throwable",
   "PREREQ_PM" => {
     "Carp" => 0,
-    "Devel::StackTrace" => "1.21",
+    "Devel::StackTrace" => "1.32",
     "Module::Runtime" => "0.002",
     "Moo" => "1.000001",
     "Moo::Role" => 0,
@@ -31,15 +30,13 @@ my %WriteMakefileArgs = (
     "overload" => 0
   },
   "TEST_REQUIRES" => {
-    "ExtUtils::MakeMaker" => 0,
-    "File::Spec::Functions" => 0,
-    "List::Util" => 0,
+    "Devel::StackTrace" => "1.32",
     "Test::More" => "0.96",
+    "base" => 0,
     "strict" => 0,
-    "version" => 0,
     "warnings" => 0
   },
-  "VERSION" => "0.200011",
+  "VERSION" => "0.200012",
   "test" => {
     "TESTS" => "t/*.t"
   }
@@ -48,19 +45,16 @@ my %WriteMakefileArgs = (
 
 my %FallbackPrereqs = (
   "Carp" => 0,
-  "Devel::StackTrace" => "1.21",
-  "ExtUtils::MakeMaker" => 0,
-  "File::Spec::Functions" => 0,
-  "List::Util" => 0,
+  "Devel::StackTrace" => "1.32",
   "Module::Runtime" => "0.002",
   "Moo" => "1.000001",
   "Moo::Role" => 0,
   "Scalar::Util" => 0,
   "Sub::Quote" => 0,
   "Test::More" => "0.96",
+  "base" => 0,
   "overload" => 0,
   "strict" => 0,
-  "version" => 0,
   "warnings" => 0
 );
 
@@ -1,7 +1,7 @@
 
 
 This archive contains the distribution Throwable,
-version 0.200011:
+version 0.200012:
 
   a role for classes that can be thrown
 
@@ -11,5 +11,5 @@ 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 v5.015.
+This README file was generated by Dist::Zilla::Plugin::Readme v5.020.
 
@@ -7,5 +7,4 @@ copyright_holder = Ricardo SIGNES
 [@RJBS]
 
 [Prereqs]
-Devel::StackTrace = 1.21 ; frame_filter
-
+Devel::StackTrace = 1.32 ; frame_filter, filter_frames_early
@@ -1,6 +1,6 @@
 package StackTrace::Auto;
 # ABSTRACT: a role for generating stack traces during instantiation
-$StackTrace::Auto::VERSION = '0.200011';
+$StackTrace::Auto::VERSION = '0.200012';
 use Moo::Role;
 use Sub::Quote ();
 use Module::Runtime 0.002 ();
@@ -49,9 +49,13 @@ has stack_trace => (
       @{ $_[0]->stack_trace_args },
     );
   }),
+  lazy => 1,
   init_arg => undef,
 );
 
+sub BUILD {};
+before BUILD => sub { $_[0]->stack_trace };
+
 has stack_trace_class => (
   is      => 'ro',
   isa     => Sub::Quote::quote_sub(q{
@@ -93,6 +97,7 @@ sub _build_stack_trace_args {
 
   my $found_mark = 0;
   return [
+    filter_frames_early => 1,
     frame_filter => sub {
       my ($raw) = @_;
       my $sub = $raw->{caller}->[3];
@@ -127,7 +132,7 @@ StackTrace::Auto - a role for generating stack traces during instantiation
 
 =head1 VERSION
 
-version 0.200011
+version 0.200012
 
 =head1 SYNOPSIS
 
@@ -1,6 +1,6 @@
 package Throwable::Error;
 # ABSTRACT: an easy-to-use class for error objects
-$Throwable::Error::VERSION = '0.200011';
+$Throwable::Error::VERSION = '0.200012';
 use Moo 1.000001;
 with 'Throwable', 'StackTrace::Auto';
 
@@ -113,7 +113,7 @@ Throwable::Error - an easy-to-use class for error objects
 
 =head1 VERSION
 
-version 0.200011
+version 0.200012
 
 =head1 SYNOPSIS
 
@@ -1,6 +1,6 @@
 package Throwable;
 # ABSTRACT: a role for classes that can be thrown
-$Throwable::VERSION = '0.200011';
+$Throwable::VERSION = '0.200012';
 use Moo::Role;
 use Sub::Quote ();
 use Scalar::Util ();
@@ -90,7 +90,7 @@ Throwable - a role for classes that can be thrown
 
 =head1 VERSION
 
-version 0.200011
+version 0.200012
 
 =head1 SYNOPSIS
 
@@ -1,175 +0,0 @@
-#!perl
-
-use strict;
-use warnings;
-
-# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.013
-
-use Test::More tests => 1;
-
-use ExtUtils::MakeMaker;
-use File::Spec::Functions;
-use List::Util qw/max/;
-use version;
-
-# hide optional CPAN::Meta modules from prereq scanner
-# and check if they are available
-my $cpan_meta = "CPAN::Meta";
-my $cpan_meta_req = "CPAN::Meta::Requirements";
-my $HAS_CPAN_META = eval "require $cpan_meta"; ## no critic
-my $HAS_CPAN_META_REQ = eval "require $cpan_meta_req; $cpan_meta_req->VERSION('2.120900')";
-
-# Verify requirements?
-my $DO_VERIFY_PREREQS = 1;
-
-sub _merge_requires {
-    my ($collector, $prereqs) = @_;
-    for my $phase ( qw/configure build test runtime develop/ ) {
-        next unless exists $prereqs->{$phase};
-        if ( my $req = $prereqs->{$phase}{'requires'} ) {
-            my $cmr = CPAN::Meta::Requirements->from_string_hash( $req );
-            $collector->add_requirements( $cmr );
-        }
-    }
-}
-
-my %include = map {; $_ => 1 } qw(
-
-);
-
-my %exclude = map {; $_ => 1 } qw(
-
-);
-
-# Add static prereqs to the included modules list
-my $static_prereqs = do { my $x = {
-       'configure' => {
-                        'requires' => {
-                                        'ExtUtils::MakeMaker' => '6.30'
-                                      }
-                      },
-       'develop' => {
-                      'requires' => {
-                                      'Test::Pod' => '1.41'
-                                    }
-                    },
-       'runtime' => {
-                      'requires' => {
-                                      'Carp' => '0',
-                                      'Devel::StackTrace' => '1.21',
-                                      'Module::Runtime' => '0.002',
-                                      'Moo' => '1.000001',
-                                      'Moo::Role' => '0',
-                                      'Scalar::Util' => '0',
-                                      'Sub::Quote' => '0',
-                                      'overload' => '0'
-                                    }
-                    },
-       'test' => {
-                   'recommends' => {
-                                     'CPAN::Meta' => '0',
-                                     'CPAN::Meta::Requirements' => '2.120900'
-                                   },
-                   'requires' => {
-                                   'ExtUtils::MakeMaker' => '0',
-                                   'File::Spec::Functions' => '0',
-                                   'List::Util' => '0',
-                                   'Test::More' => '0.96',
-                                   'strict' => '0',
-                                   'version' => '0',
-                                   'warnings' => '0'
-                                 }
-                 }
-     };
-  $x;
- };
-
-delete $static_prereqs->{develop} if not $ENV{AUTHOR_TESTING};
-$include{$_} = 1 for map { keys %$_ } map { values %$_ } values %$static_prereqs;
-
-# Merge requirements for major phases (if we can)
-my $all_requires;
-if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META_REQ ) {
-    $all_requires = $cpan_meta_req->new;
-    _merge_requires($all_requires, $static_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) } ) {
-    my $dynamic_prereqs = $meta->prereqs;
-    delete $dynamic_prereqs->{develop} if not $ENV{AUTHOR_TESTING};
-    $include{$_} = 1 for map { keys %$_ } map { values %$_ } values %$dynamic_prereqs;
-
-    if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META_REQ ) {
-        _merge_requires($all_requires, $dynamic_prereqs);
-    }
-  }
-}
-else {
-  $source = 'static metadata';
-}
-
-my @modules = sort grep { ! $exclude{$_} } keys %include;
-my @reports = [qw/Version Module/];
-my @dep_errors;
-my $req_hash = defined($all_requires) ? $all_requires->as_string_hash : {};
-
-for my $mod ( @modules ) {
-  next if $mod eq 'perl';
-  my $file = $mod;
-  $file =~ s{::}{/}g;
-  $file .= ".pm";
-  my ($prefix) = grep { -e catfile($_, $file) } @INC;
-  if ( $prefix ) {
-    my $ver = MM->parse_version( catfile($prefix, $file) );
-    $ver = "undef" unless defined $ver; # Newer MM should do this anyway
-    push @reports, [$ver, $mod];
-
-    if ( $DO_VERIFY_PREREQS && $all_requires ) {
-      my $req = $req_hash->{$mod};
-      if ( defined $req && length $req ) {
-        if ( ! defined eval { version->parse($ver) } ) {
-          push @dep_errors, "$mod version '$ver' cannot be parsed (version '$req' required)";
-        }
-        elsif ( ! $all_requires->accepts_module( $mod => $ver ) ) {
-          push @dep_errors, "$mod version '$ver' is not in required range '$req'";
-        }
-      }
-    }
-
-  }
-  else {
-    push @reports, ["missing", $mod];
-
-    if ( $DO_VERIFY_PREREQS && $all_requires ) {
-      my $req = $req_hash->{$mod};
-      if ( defined $req && length $req ) {
-        push @dep_errors, "$mod is not installed (version '$req' required)";
-      }
-    }
-  }
-}
-
-if ( @reports ) {
-  my $vl = max map { length $_->[0] } @reports;
-  my $ml = max map { length $_->[1] } @reports;
-  splice @reports, 1, 0, ["-" x $vl, "-" x $ml];
-  diag "\nVersions for all modules listed in $source (including optional ones):\n",
-    map {sprintf("  %*s %*s\n",$vl,$_->[0],-$ml,$_->[1])} @reports;
-}
-
-if ( @dep_errors ) {
-  diag join("\n",
-    "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n",
-    "The following REQUIRED prerequisites were not satisfied:\n",
-    @dep_errors,
-    "\n"
-  );
-}
-
-pass;
-
-# vim: ts=4 sts=4 sw=4 et:
@@ -0,0 +1,82 @@
+use strict;
+use warnings;
+use Test::More 0.88;
+# This is a relatively nice way to avoid Test::NoWarnings breaking our
+# expectations by adding extra tests, without using no_plan.  It also helps
+# avoid any other test module that feels introducing random tests, or even
+# test plans, is a nice idea.
+our $success = 0;
+END { $success && done_testing; }
+
+# List our own version used to generate this
+my $v = "\nGenerated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.10\n";
+
+eval {                     # no excuses!
+    # report our Perl details
+    my $want = "any version";
+    $v .= "perl: $] (wanted $want) on $^O from $^X\n\n";
+};
+defined($@) and diag("$@");
+
+# Now, our module version dependencies:
+sub pmver {
+    my ($module, $wanted) = @_;
+    $wanted = " (want $wanted)";
+    my $pmver;
+    eval "require $module;";
+    if ($@) {
+        if ($@ =~ m/Can't locate .* in \@INC/) {
+            $pmver = 'module not found.';
+        } else {
+            diag("${module}: $@");
+            $pmver = 'died during require.';
+        }
+    } else {
+        my $version;
+        eval { $version = $module->VERSION; };
+        if ($@) {
+            diag("${module}: $@");
+            $pmver = 'died during VERSION check.';
+        } elsif (defined $version) {
+            $pmver = "$version";
+        } else {
+            $pmver = '<undef>';
+        }
+    }
+
+    # So, we should be good, right?
+    return sprintf('%-45s => %-10s%-15s%s', $module, $pmver, $wanted, "\n");
+}
+
+eval { $v .= pmver('Carp','any version') };
+eval { $v .= pmver('Devel::StackTrace','1.32') };
+eval { $v .= pmver('ExtUtils::MakeMaker','any version') };
+eval { $v .= pmver('Module::Runtime','0.002') };
+eval { $v .= pmver('Moo','1.000001') };
+eval { $v .= pmver('Moo::Role','any version') };
+eval { $v .= pmver('Scalar::Util','any version') };
+eval { $v .= pmver('Sub::Quote','any version') };
+eval { $v .= pmver('Test::More','0.96') };
+eval { $v .= pmver('base','any version') };
+eval { $v .= pmver('overload','any version') };
+eval { $v .= pmver('strict','any version') };
+eval { $v .= pmver('warnings','any version') };
+
+
+# All done.
+$v .= <<'EOT';
+
+Thanks for using my code.  I hope it works for you.
+If not, please try and include this output in the bug report.
+That will help me reproduce the issue and solve your problem.
+
+EOT
+
+diag($v);
+ok(1, "we really didn't test anything, just reporting data");
+$success = 1;
+
+# Work around another nasty module on CPAN. :/
+no warnings 'once';
+$Template::Test::NO_FLUSH = 1;
+exit 0;
@@ -16,6 +16,22 @@ BEGIN {
     use $class;
     extends 'Throwable::Error';
 
+    package MyError2;
+    use $class;
+    extends 'Throwable::Error';
+  }.q{
+
+    use Carp qw(cluck);
+    around _build_stack_trace_args => sub {
+      my ($orig, $self) = (shift, shift);
+
+      return [
+        @{$self->$orig(@_)},
+        no_refs => 1,
+        respect_overload => 1,
+      ];
+    };
+
     1;
   } or die $@;
 }
@@ -71,4 +87,29 @@ sub create_error { HasError->new->{error} }
   is($frames[1]->subroutine, q{main::create_error}, 'correct frame 1');
 }
 
+{
+    package MyTrace;
+    use base 'Devel::StackTrace';
+}
+
+# make sure to catch intermittent failures due to attribute initialisation order
+for my $i (1..10) {
+    eval { MyError->throw({ message => 'aieee!', stack_trace_class => 'MyTrace' }) };
+
+    my $error = $@;
+    isa_ok($error->stack_trace, 'MyTrace', "the trace (run $i)")
+}
+
+{
+    eval {
+        local $SIG{ALRM} = sub { fail('no_refs + respect_overload finishes'); exit 1; };
+        alarm 10;
+        MyError2->throw('aiee!');
+    };
+    alarm 0;
+
+    my $error = $@;
+    isa_ok($error, 'MyError2', 'the error');
+}
+
 done_testing();
@@ -4,7 +4,7 @@ use Test::More tests => 2;
 
 note 'Checking Changes';
 my $changes_file = 'Changes';
-my $newver = '0.200011';
+my $newver = '0.200012';
 my $trial_token = '-TRIAL';
 
 SKIP: {