The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes 05
LICENSE 1315
MANIFEST 14
META.json 65218
META.yml 56170
Makefile.PL 3549
README 22
lib/String/Errf.pm 1317
t/000-report-versions-tiny.t 083
t/bad.t 038
t/release-pod-syntax.t 150
xt/release/changes_has_content.t 041
xt/release/pod-syntax.t 07
13 files changed (This is a version diff) 200649
@@ -1,5 +1,10 @@
 Release history for String-Errf
 
+0.007     2013-11-24 13:46:17 America/New_York
+          catch more bad input and die [rt.cpan.org #83552]
+
+          update repository and bugtracker metadata
+
 0.006     2010-10-28 22:20:42 America/New_York
           avoid non-portable %T strftime format
 
@@ -1,4 +1,4 @@
-This software is copyright (c) 2010 by Ricardo Signes.
+This software is copyright (c) 2013 by Ricardo Signes.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -12,21 +12,22 @@ b) the "Artistic License"
 
 --- The GNU General Public License, Version 1, February 1989 ---
 
-This software is Copyright (c) 2010 by Ricardo Signes.
+This software is Copyright (c) 2013 by Ricardo Signes.
 
 This is free software, licensed under:
 
   The GNU General Public License, Version 1, February 1989
 
-		    GNU GENERAL PUBLIC LICENSE
-		     Version 1, February 1989
+                    GNU GENERAL PUBLIC LICENSE
+                     Version 1, February 1989
 
  Copyright (C) 1989 Free Software Foundation, Inc.
-                59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+ 51 Franklin St, Suite 500, Boston, MA  02110-1335  USA
+
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
-			    Preamble
+                            Preamble
 
   The license agreements of most software companies try to keep users
 at the mercy of those companies.  By contrast, our General Public
@@ -67,7 +68,7 @@ authors' reputations.
   The precise terms and conditions for copying, distribution and
 modification follow.
 
-		    GNU GENERAL PUBLIC LICENSE
+                    GNU GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
   0. This License Agreement applies to any program or other work which
@@ -185,7 +186,7 @@ make exceptions for this.  Our decision will be guided by the two goals
 of preserving the free status of all derivatives of our free software and
 of promoting the sharing and reuse of software generally.
 
-			    NO WARRANTY
+                            NO WARRANTY
 
   9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
@@ -207,9 +208,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGES.
 
-		     END OF TERMS AND CONDITIONS
+                     END OF TERMS AND CONDITIONS
 
-	Appendix: How to Apply These Terms to Your New Programs
+        Appendix: How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
 possible use to humanity, the best way to achieve this is to make it
@@ -235,8 +236,9 @@ the exclusion of warranty; and each file should have at least the
     GNU General Public License for more details.
 
     You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software Foundation,
-    Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA  02110-1301 USA
+
 
 Also add information on how to contact you by electronic and paper mail.
 
@@ -270,7 +272,7 @@ That's all there is to it!
 
 --- The Artistic License 1.0 ---
 
-This software is Copyright (c) 2010 by Ricardo Signes.
+This software is Copyright (c) 2013 by Ricardo Signes.
 
 This is free software, licensed under:
 
@@ -7,6 +7,9 @@ Makefile.PL
 README
 dist.ini
 lib/String/Errf.pm
+t/000-report-versions-tiny.t
+t/bad.t
 t/basic.t
-t/release-pod-syntax.t
 t/tests.json
+xt/release/changes_has_content.t
+xt/release/pod-syntax.t
@@ -4,7 +4,7 @@
       "Ricardo Signes <rjbs@cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 4.102342, CPAN::Meta::Converter version 2.102400",
+   "generated_by" : "Dist::Zilla version 5.006, CPAN::Meta::Converter version 2.132830",
    "license" : [
       "perl_5"
    ],
@@ -16,147 +16,184 @@
    "prereqs" : {
       "configure" : {
          "requires" : {
-            "ExtUtils::MakeMaker" : "6.31"
+            "ExtUtils::MakeMaker" : "6.30"
+         }
+      },
+      "develop" : {
+         "requires" : {
+            "Test::Pod" : "1.41",
+            "version" : "0.9901"
          }
       },
       "runtime" : {
          "requires" : {
-            "Carp" : 0,
-            "Params::Util" : 0,
-            "Scalar::Util" : 0,
+            "Carp" : "0",
+            "Params::Util" : "0",
+            "Scalar::Util" : "0",
             "String::Formatter" : "0.102081",
-            "Sub::Exporter" : 0,
-            "Time::Piece" : 0
+            "Sub::Exporter" : "0",
+            "Time::Piece" : "0",
+            "parent" : "0",
+            "strict" : "0",
+            "warnings" : "0"
          }
       },
       "test" : {
          "requires" : {
-            "Date::Format" : 0,
+            "Date::Format" : "0",
             "JSON" : "2",
             "Test::More" : "0.96",
-            "autodie" : 0
+            "autodie" : "0"
          }
       }
    },
    "release_status" : "stable",
    "resources" : {
+      "bugtracker" : {
+         "web" : "https://github.com/rjbs/String-Errf/issues"
+      },
+      "homepage" : "https://github.com/rjbs/String-Errf",
       "repository" : {
          "type" : "git",
-         "url" : "git://git.codesimply.com/String-Errf.git"
+         "url" : "https://github.com/rjbs/String-Errf.git",
+         "web" : "https://github.com/rjbs/String-Errf"
       }
    },
-   "version" : "0.006",
+   "version" : "0.007",
    "x_Dist_Zilla" : {
+      "perl" : {
+         "version" : "5.018001"
+      },
       "plugins" : [
          {
-            "class" : "Dist::Zilla::Plugin::GatherDir",
-            "name" : "@RJBS/@Basic/GatherDir",
-            "version" : "4.102342"
+            "class" : "Dist::Zilla::Plugin::Git::GatherDir",
+            "name" : "@RJBS/Git::GatherDir",
+            "version" : "2.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
+            "name" : "@RJBS/CheckPrereqsIndexed",
+            "version" : "0.009"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CheckExtraTests",
+            "name" : "@RJBS/CheckExtraTests",
+            "version" : "0.016"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PromptIfStale",
+            "name" : "@RJBS/RJBS-Outdated",
+            "version" : "0.013"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PromptIfStale",
+            "name" : "@RJBS/CPAN-Outdated",
+            "version" : "0.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneCruft",
-            "name" : "@RJBS/@Basic/PruneCruft",
-            "version" : "4.102342"
+            "name" : "@RJBS/@Filter/PruneCruft",
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
-            "name" : "@RJBS/@Basic/ManifestSkip",
-            "version" : "4.102342"
+            "name" : "@RJBS/@Filter/ManifestSkip",
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
-            "name" : "@RJBS/@Basic/MetaYAML",
-            "version" : "4.102342"
+            "name" : "@RJBS/@Filter/MetaYAML",
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
-            "name" : "@RJBS/@Basic/License",
-            "version" : "4.102342"
+            "name" : "@RJBS/@Filter/License",
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::Readme",
-            "name" : "@RJBS/@Basic/Readme",
-            "version" : "4.102342"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::ExtraTests",
-            "name" : "@RJBS/@Basic/ExtraTests",
-            "version" : "4.102342"
+            "name" : "@RJBS/@Filter/Readme",
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
-            "name" : "@RJBS/@Basic/ExecDir",
-            "version" : "4.102342"
+            "name" : "@RJBS/@Filter/ExecDir",
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::ShareDir",
-            "name" : "@RJBS/@Basic/ShareDir",
-            "version" : "4.102342"
+            "name" : "@RJBS/@Filter/ShareDir",
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::MakeMaker",
-            "name" : "@RJBS/@Basic/MakeMaker",
-            "version" : "4.102342"
+            "name" : "@RJBS/@Filter/MakeMaker",
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
-            "name" : "@RJBS/@Basic/Manifest",
-            "version" : "4.102342"
+            "name" : "@RJBS/@Filter/Manifest",
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
-            "name" : "@RJBS/@Basic/TestRelease",
-            "version" : "4.102342"
+            "name" : "@RJBS/@Filter/TestRelease",
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
-            "name" : "@RJBS/@Basic/ConfirmRelease",
-            "version" : "4.102342"
+            "name" : "@RJBS/@Filter/ConfirmRelease",
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
-            "name" : "@RJBS/@Basic/UploadToCPAN",
-            "version" : "4.102342"
+            "name" : "@RJBS/@Filter/UploadToCPAN",
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::AutoPrereqs",
             "name" : "@RJBS/AutoPrereqs",
-            "version" : "4.102342"
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::NextVersion",
             "name" : "@RJBS/Git::NextVersion",
-            "version" : "1.102810"
+            "version" : "2.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::PkgVersion",
             "name" : "@RJBS/PkgVersion",
-            "version" : "4.102342"
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "@RJBS/MetaConfig",
-            "version" : "4.102342"
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "@RJBS/MetaJSON",
-            "version" : "4.102342"
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
             "name" : "@RJBS/NextRelease",
-            "version" : "4.102342"
+            "version" : "5.006"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::ChangesHasContent",
+            "name" : "@RJBS/Test::ChangesHasContent",
+            "version" : "0.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "@RJBS/PodSyntaxTests",
-            "version" : "4.102342"
+            "version" : "5.006"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Repository",
-            "name" : "@RJBS/Repository",
-            "version" : "0.14"
+            "class" : "Dist::Zilla::Plugin::ReportVersions::Tiny",
+            "name" : "@RJBS/ReportVersions::Tiny",
+            "version" : "1.10"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -167,60 +204,176 @@
                }
             },
             "name" : "@RJBS/TestMoreWithSubtests",
-            "version" : "4.102342"
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
+            "config" : {
+               "Dist::Zilla::Plugin::PodWeaver" : {
+                  "config_plugin" : "@RJBS",
+                  "finder" : [
+                     ":InstallModules",
+                     ":ExecFiles"
+                  ],
+                  "plugins" : [
+                     {
+                        "class" : "Pod::Weaver::Plugin::EnsurePod5",
+                        "name" : "@CorePrep/EnsurePod5",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Plugin::H1Nester",
+                        "name" : "@CorePrep/H1Nester",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Plugin::SingleEncoding",
+                        "name" : "@RJBS/SingleEncoding",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Name",
+                        "name" : "@RJBS/Name",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Version",
+                        "name" : "@RJBS/Version",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Region",
+                        "name" : "@RJBS/Prelude",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "@RJBS/Synopsis",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "@RJBS/Description",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "@RJBS/Overview",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "@RJBS/Stability",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "Attributes",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "Methods",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "Functions",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Leftovers",
+                        "name" : "@RJBS/Leftovers",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Region",
+                        "name" : "@RJBS/postlude",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Authors",
+                        "name" : "@RJBS/Authors",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Legal",
+                        "name" : "@RJBS/Legal",
+                        "version" : "4.004"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Plugin::Transformer",
+                        "name" : "@RJBS/List",
+                        "version" : "4.004"
+                     }
+                  ]
+               }
+            },
             "name" : "@RJBS/PodWeaver",
-            "version" : "3.101641"
+            "version" : "4.002"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::GithubMeta",
+            "name" : "@RJBS/GithubMeta",
+            "version" : "0.42"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Check",
             "name" : "@RJBS/@Git/Check",
-            "version" : "1.102810"
+            "version" : "2.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
             "name" : "@RJBS/@Git/Commit",
-            "version" : "1.102810"
+            "version" : "2.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
             "name" : "@RJBS/@Git/Tag",
-            "version" : "1.102810"
+            "version" : "2.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Push",
             "name" : "@RJBS/@Git/Push",
-            "version" : "1.102810"
+            "version" : "2.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "4.102342"
+            "version" : "5.006"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":IncModules",
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "4.102342"
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "4.102342"
+            "version" : "5.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "4.102342"
+            "version" : "5.006"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":MainModule",
+            "version" : "5.006"
          }
       ],
       "zilla" : {
          "class" : "Dist::Zilla::Dist::Builder",
          "config" : {
-            "is_trial" : 0
+            "is_trial" : "0"
          },
-         "version" : "4.102342"
+         "version" : "5.006"
       }
    }
 }
@@ -8,9 +8,9 @@ build_requires:
   Test::More: 0.96
   autodie: 0
 configure_requires:
-  ExtUtils::MakeMaker: 6.31
+  ExtUtils::MakeMaker: 6.30
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.102342, CPAN::Meta::Converter version 2.102400'
+generated_by: 'Dist::Zilla version 5.006, CPAN::Meta::Converter version 2.132830'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -23,99 +23,122 @@ requires:
   String::Formatter: 0.102081
   Sub::Exporter: 0
   Time::Piece: 0
+  parent: 0
+  strict: 0
+  warnings: 0
 resources:
-  repository: git://git.codesimply.com/String-Errf.git
-version: 0.006
+  bugtracker: https://github.com/rjbs/String-Errf/issues
+  homepage: https://github.com/rjbs/String-Errf
+  repository: https://github.com/rjbs/String-Errf.git
+version: 0.007
 x_Dist_Zilla:
+  perl:
+    version: 5.018001
   plugins:
     -
-      class: Dist::Zilla::Plugin::GatherDir
-      name: '@RJBS/@Basic/GatherDir'
-      version: 4.102342
+      class: Dist::Zilla::Plugin::Git::GatherDir
+      name: '@RJBS/Git::GatherDir'
+      version: 2.019
+    -
+      class: Dist::Zilla::Plugin::CheckPrereqsIndexed
+      name: '@RJBS/CheckPrereqsIndexed'
+      version: 0.009
+    -
+      class: Dist::Zilla::Plugin::CheckExtraTests
+      name: '@RJBS/CheckExtraTests'
+      version: 0.016
+    -
+      class: Dist::Zilla::Plugin::PromptIfStale
+      name: '@RJBS/RJBS-Outdated'
+      version: 0.013
+    -
+      class: Dist::Zilla::Plugin::PromptIfStale
+      name: '@RJBS/CPAN-Outdated'
+      version: 0.013
     -
       class: Dist::Zilla::Plugin::PruneCruft
-      name: '@RJBS/@Basic/PruneCruft'
-      version: 4.102342
+      name: '@RJBS/@Filter/PruneCruft'
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::ManifestSkip
-      name: '@RJBS/@Basic/ManifestSkip'
-      version: 4.102342
+      name: '@RJBS/@Filter/ManifestSkip'
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::MetaYAML
-      name: '@RJBS/@Basic/MetaYAML'
-      version: 4.102342
+      name: '@RJBS/@Filter/MetaYAML'
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::License
-      name: '@RJBS/@Basic/License'
-      version: 4.102342
+      name: '@RJBS/@Filter/License'
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::Readme
-      name: '@RJBS/@Basic/Readme'
-      version: 4.102342
-    -
-      class: Dist::Zilla::Plugin::ExtraTests
-      name: '@RJBS/@Basic/ExtraTests'
-      version: 4.102342
+      name: '@RJBS/@Filter/Readme'
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::ExecDir
-      name: '@RJBS/@Basic/ExecDir'
-      version: 4.102342
+      name: '@RJBS/@Filter/ExecDir'
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::ShareDir
-      name: '@RJBS/@Basic/ShareDir'
-      version: 4.102342
+      name: '@RJBS/@Filter/ShareDir'
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::MakeMaker
-      name: '@RJBS/@Basic/MakeMaker'
-      version: 4.102342
+      name: '@RJBS/@Filter/MakeMaker'
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::Manifest
-      name: '@RJBS/@Basic/Manifest'
-      version: 4.102342
+      name: '@RJBS/@Filter/Manifest'
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::TestRelease
-      name: '@RJBS/@Basic/TestRelease'
-      version: 4.102342
+      name: '@RJBS/@Filter/TestRelease'
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
-      name: '@RJBS/@Basic/ConfirmRelease'
-      version: 4.102342
+      name: '@RJBS/@Filter/ConfirmRelease'
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
-      name: '@RJBS/@Basic/UploadToCPAN'
-      version: 4.102342
+      name: '@RJBS/@Filter/UploadToCPAN'
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::AutoPrereqs
       name: '@RJBS/AutoPrereqs'
-      version: 4.102342
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::Git::NextVersion
       name: '@RJBS/Git::NextVersion'
-      version: 1.102810
+      version: 2.019
     -
       class: Dist::Zilla::Plugin::PkgVersion
       name: '@RJBS/PkgVersion'
-      version: 4.102342
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: '@RJBS/MetaConfig'
-      version: 4.102342
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: '@RJBS/MetaJSON'
-      version: 4.102342
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::NextRelease
       name: '@RJBS/NextRelease'
-      version: 4.102342
+      version: 5.006
+    -
+      class: Dist::Zilla::Plugin::Test::ChangesHasContent
+      name: '@RJBS/Test::ChangesHasContent'
+      version: 0.006
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: '@RJBS/PodSyntaxTests'
-      version: 4.102342
+      version: 5.006
     -
-      class: Dist::Zilla::Plugin::Repository
-      name: '@RJBS/Repository'
-      version: 0.14
+      class: Dist::Zilla::Plugin::ReportVersions::Tiny
+      name: '@RJBS/ReportVersions::Tiny'
+      version: 1.10
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -123,45 +146,136 @@ x_Dist_Zilla:
           phase: test
           type: requires
       name: '@RJBS/TestMoreWithSubtests'
-      version: 4.102342
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::PodWeaver
+      config:
+        Dist::Zilla::Plugin::PodWeaver:
+          config_plugin: '@RJBS'
+          finder:
+            - ':InstallModules'
+            - ':ExecFiles'
+          plugins:
+            -
+              class: Pod::Weaver::Plugin::EnsurePod5
+              name: '@CorePrep/EnsurePod5'
+              version: 4.004
+            -
+              class: Pod::Weaver::Plugin::H1Nester
+              name: '@CorePrep/H1Nester'
+              version: 4.004
+            -
+              class: Pod::Weaver::Plugin::SingleEncoding
+              name: '@RJBS/SingleEncoding'
+              version: 4.004
+            -
+              class: Pod::Weaver::Section::Name
+              name: '@RJBS/Name'
+              version: 4.004
+            -
+              class: Pod::Weaver::Section::Version
+              name: '@RJBS/Version'
+              version: 4.004
+            -
+              class: Pod::Weaver::Section::Region
+              name: '@RJBS/Prelude'
+              version: 4.004
+            -
+              class: Pod::Weaver::Section::Generic
+              name: '@RJBS/Synopsis'
+              version: 4.004
+            -
+              class: Pod::Weaver::Section::Generic
+              name: '@RJBS/Description'
+              version: 4.004
+            -
+              class: Pod::Weaver::Section::Generic
+              name: '@RJBS/Overview'
+              version: 4.004
+            -
+              class: Pod::Weaver::Section::Generic
+              name: '@RJBS/Stability'
+              version: 4.004
+            -
+              class: Pod::Weaver::Section::Collect
+              name: Attributes
+              version: 4.004
+            -
+              class: Pod::Weaver::Section::Collect
+              name: Methods
+              version: 4.004
+            -
+              class: Pod::Weaver::Section::Collect
+              name: Functions
+              version: 4.004
+            -
+              class: Pod::Weaver::Section::Leftovers
+              name: '@RJBS/Leftovers'
+              version: 4.004
+            -
+              class: Pod::Weaver::Section::Region
+              name: '@RJBS/postlude'
+              version: 4.004
+            -
+              class: Pod::Weaver::Section::Authors
+              name: '@RJBS/Authors'
+              version: 4.004
+            -
+              class: Pod::Weaver::Section::Legal
+              name: '@RJBS/Legal'
+              version: 4.004
+            -
+              class: Pod::Weaver::Plugin::Transformer
+              name: '@RJBS/List'
+              version: 4.004
       name: '@RJBS/PodWeaver'
-      version: 3.101641
+      version: 4.002
+    -
+      class: Dist::Zilla::Plugin::GithubMeta
+      name: '@RJBS/GithubMeta'
+      version: 0.42
     -
       class: Dist::Zilla::Plugin::Git::Check
       name: '@RJBS/@Git/Check'
-      version: 1.102810
+      version: 2.019
     -
       class: Dist::Zilla::Plugin::Git::Commit
       name: '@RJBS/@Git/Commit'
-      version: 1.102810
+      version: 2.019
     -
       class: Dist::Zilla::Plugin::Git::Tag
       name: '@RJBS/@Git/Tag'
-      version: 1.102810
+      version: 2.019
     -
       class: Dist::Zilla::Plugin::Git::Push
       name: '@RJBS/@Git/Push'
-      version: 1.102810
+      version: 2.019
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: 4.102342
+      version: 5.006
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':IncModules'
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: 4.102342
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: 4.102342
+      version: 5.006
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: 4.102342
+      version: 5.006
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':MainModule'
+      version: 5.006
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
       is_trial: 0
-    version: 4.102342
+    version: 5.006
@@ -4,52 +4,66 @@ use warnings;
 
 
 
-use ExtUtils::MakeMaker 6.31;
+use ExtUtils::MakeMaker 6.30;
 
 
 
 my %WriteMakefileArgs = (
-  'ABSTRACT' => 'a simple sprintf-like dialect',
-  'AUTHOR' => 'Ricardo Signes <rjbs@cpan.org>',
-  'BUILD_REQUIRES' => {
-    'Date::Format' => '0',
-    'JSON' => '2',
-    'Test::More' => '0.96',
-    'autodie' => '0'
+  "ABSTRACT" => "a simple sprintf-like dialect",
+  "AUTHOR" => "Ricardo Signes <rjbs\@cpan.org>",
+  "BUILD_REQUIRES" => {},
+  "CONFIGURE_REQUIRES" => {
+    "ExtUtils::MakeMaker" => "6.30"
   },
-  'CONFIGURE_REQUIRES' => {
-    'ExtUtils::MakeMaker' => '6.31'
+  "DISTNAME" => "String-Errf",
+  "EXE_FILES" => [],
+  "LICENSE" => "perl",
+  "NAME" => "String::Errf",
+  "PREREQ_PM" => {
+    "Carp" => 0,
+    "Params::Util" => 0,
+    "Scalar::Util" => 0,
+    "String::Formatter" => "0.102081",
+    "Sub::Exporter" => 0,
+    "Time::Piece" => 0,
+    "parent" => 0,
+    "strict" => 0,
+    "warnings" => 0
   },
-  'DISTNAME' => 'String-Errf',
-  'EXE_FILES' => [],
-  'LICENSE' => 'perl',
-  'NAME' => 'String::Errf',
-  'PREREQ_PM' => {
-    'Carp' => '0',
-    'Params::Util' => '0',
-    'Scalar::Util' => '0',
-    'String::Formatter' => '0.102081',
-    'Sub::Exporter' => '0',
-    'Time::Piece' => '0'
+  "TEST_REQUIRES" => {
+    "Date::Format" => 0,
+    "JSON" => 2,
+    "Test::More" => "0.96",
+    "autodie" => 0
   },
-  'VERSION' => '0.006',
-  'test' => {
-    'TESTS' => 't/*.t'
+  "VERSION" => "0.007",
+  "test" => {
+    "TESTS" => "t/*.t"
   }
 );
 
 
-unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
-  my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
-  my $pp = $WriteMakefileArgs{PREREQ_PM};
-  for my $mod ( keys %$br ) {
-    if ( exists $pp->{$mod} ) {
-      $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod};
-    }
-    else {
-      $pp->{$mod} = $br->{$mod};
-    }
-  }
+my %FallbackPrereqs = (
+  "Carp" => 0,
+  "Date::Format" => 0,
+  "JSON" => 2,
+  "Params::Util" => 0,
+  "Scalar::Util" => 0,
+  "String::Formatter" => "0.102081",
+  "Sub::Exporter" => 0,
+  "Test::More" => "0.96",
+  "Time::Piece" => 0,
+  "autodie" => 0,
+  "parent" => 0,
+  "strict" => 0,
+  "warnings" => 0
+);
+
+
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+  delete $WriteMakefileArgs{TEST_REQUIRES};
+  delete $WriteMakefileArgs{BUILD_REQUIRES};
+  $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
 }
 
 delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
@@ -1,11 +1,11 @@
 
 
 This archive contains the distribution String-Errf,
-version 0.006:
+version 0.007:
 
   a simple sprintf-like dialect
 
-This software is copyright (c) 2010 by Ricardo Signes.
+This software is copyright (c) 2013 by Ricardo Signes.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,11 +1,11 @@
 use strict;
 use warnings;
 package String::Errf;
-BEGIN {
-  $String::Errf::VERSION = '0.006';
+{
+  $String::Errf::VERSION = '0.007';
 } # I really wanted to call it String::Fister.
 use String::Formatter 0.102081 ();
-use base 'String::Formatter';
+use parent 'String::Formatter';
 # ABSTRACT: a simple sprintf-like dialect
 
 use Scalar::Util ();
@@ -42,12 +42,12 @@ sub default_string_replacer { '__replace_errf' }
 sub default_hunk_formatter  { '__format_errf' }
 
 my $regex = qr/
- (%                   # leading '%'
-  (?:{                # {
-    (.*?)             #   mandatory argument name
-    (?: ; (.*?) )?    #   optional extras after semicolon
-  })                  # }
-  ([a-z])             # actual conversion character
+ (%                      # leading '%'
+  (?:{                   # {
+    ([^;]*?)             #   mandatory argument name
+    (?: ; ([^\}]*?) )?   #   optional extras after semicolon
+  })                     # }
+  ($|.)                  # potential conversion character
  )
 /xi;
 
@@ -251,15 +251,18 @@ sub _format_numbered {
 1;
 
 __END__
+
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 String::Errf - a simple sprintf-like dialect
 
 =head1 VERSION
 
-version 0.006
+version 0.007
 
 =head1 SYNOPSIS
 
@@ -277,7 +280,9 @@ version 0.006
 String::Errf provides C<errf>, a simple string formatter that works something
 like C<L<sprintf|perlfunc/sprintf>>.  It is implemented using
 L<String::Formatter> and L<Sub::Exporter>.  Their documentation may be useful
-in understanding or extending String::Errf.
+in understanding or extending String::Errf.  The C<errf> subroutine is only
+available when imported.  Calling L<String::Errf::errf> will not do what you
+want.
 
 =head1 DIFFERENCES FROM SPRINTF
 
@@ -422,10 +427,9 @@ Ricardo Signes <rjbs@cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2010 by Ricardo Signes.
+This software is copyright (c) 2013 by Ricardo Signes.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
 
 =cut
-
@@ -0,0 +1,83 @@
+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('Date::Format','any version') };
+eval { $v .= pmver('ExtUtils::MakeMaker','6.30') };
+eval { $v .= pmver('JSON','2') };
+eval { $v .= pmver('Params::Util','any version') };
+eval { $v .= pmver('Scalar::Util','any version') };
+eval { $v .= pmver('String::Formatter','0.102081') };
+eval { $v .= pmver('Sub::Exporter','any version') };
+eval { $v .= pmver('Test::More','0.96') };
+eval { $v .= pmver('Time::Piece','any version') };
+eval { $v .= pmver('autodie','any version') };
+eval { $v .= pmver('parent','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;
@@ -0,0 +1,38 @@
+use Test::More tests => 2;
+use String::Errf 'errf';
+
+my $payload = {
+  total_amount => 1010,
+  limit        => 1000,
+  category     => "sandwiches",
+};
+
+{
+  # Here String::Errf could warn about a malformed format string, or it could
+  # produce reasonable partial output, but it does neither.
+  my $format = join(" ",
+    "payment of \$%{total_amount}",
+    "for category '%{category}s'",
+    "over limit of \$%{limit;.2}f",
+  );
+
+  my $output = eval { errf($format, $payload) };
+  isnt($output, 'payment of $\' over limit of $1000.00', "wat");
+}
+
+{
+  # Here String::Errf could warn about a malformed format string, or it could
+  # produce reasonable partial output, but it does neither.
+  my $format = join(" ",
+    "payment of \$%{total_amount;.2}",
+    "for category '%{category}s'",
+    "over limit of \$%{limit;.2}f",
+  );
+
+  my $output = eval { errf($format, $payload) };
+  ok(
+    ! defined $output || $output =~ qr/category.*sandwiches/,
+    "where did the literal text 'category' go?",
+  );
+}
+
@@ -1,15 +0,0 @@
-#!perl
-
-BEGIN {
-  unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
-  }
-}
-
-use Test::More;
-
-eval "use Test::Pod 1.41";
-plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
-
-all_pod_files_ok();
@@ -0,0 +1,41 @@
+#!perl
+
+use Test::More tests => 2;
+
+note 'Checking Changes';
+my $changes_file = 'Changes';
+my $newver = '0.007';
+my $trial_token = '-TRIAL';
+
+SKIP: {
+    ok(-e $changes_file, "$changes_file file exists")
+        or skip 'Changes is missing', 1;
+
+    ok(_get_changes($newver), "$changes_file has content for $newver");
+}
+
+done_testing;
+
+# _get_changes copied and adapted from Dist::Zilla::Plugin::Git::Commit
+# by Jerome Quelin
+sub _get_changes
+{
+    my $newver = shift;
+
+    # parse changelog to find commit message
+    open(my $fh, '<', $changes_file) or die "cannot open $changes_file: $!";
+    my $changelog = join('', <$fh>);
+    close $fh;
+
+    my @content =
+        grep { /^$newver(?:$trial_token)?(?:\s+|$)/ ... /^\S/ } # from newver to un-indented
+        split /\n/, $changelog;
+    shift @content; # drop the version line
+
+    # drop unindented last line and trailing blank lines
+    pop @content while ( @content && $content[-1] =~ /^(?:\S|\s*$)/ );
+
+    # return number of non-blank lines
+    return scalar @content;
+}
+
@@ -0,0 +1,7 @@
+#!perl
+use Test::More;
+
+eval "use Test::Pod 1.41";
+plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
+
+all_pod_files_ok();