Hello community,

here is the log from the commit of package perl-DateTime-Format-Strptime for 
openSUSE:Factory checked in at 2017-06-12 15:28:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-DateTime-Format-Strptime (Old)
 and      /work/SRC/openSUSE:Factory/.perl-DateTime-Format-Strptime.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-DateTime-Format-Strptime"

Mon Jun 12 15:28:41 2017 rev:21 rq:500381 version:1.73

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-DateTime-Format-Strptime/perl-DateTime-Format-Strptime.changes
      2017-01-22 00:24:52.455369455 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-DateTime-Format-Strptime.new/perl-DateTime-Format-Strptime.changes
 2017-06-12 15:28:49.490882467 +0200
@@ -1,0 +2,29 @@
+Thu May 25 07:51:17 UTC 2017 - co...@suse.com
+
+- updated to 1.73
+   see /usr/share/doc/packages/perl-DateTime-Format-Strptime/Changes
+
+  1.73     2017-01-31
+  
+  - The format_datetime now checks that the object it is given isa DateTime
+    object. Implemented by Mohammad S Anwar. GitHub #17.
+  
+  
+  1.72     2017-01-24
+  
+  - Require DateTime::Locale 1.05. This fixes some test failures seen on CPAN
+    Testers. Also require DateTime::TimeZone 2.09 because you should really
+    update this on a regular basis.
+  
+  - Require Specio 0.33 to fix other test failures seen on CPAN (I hope).
+  
+  
+  1.71     2017-01-24
+  
+  - By default, the word boundary checks added in 1.69 are now off. You can
+    enable them by passing "strict => 1" to the constructor. This was reported
+    as an issue by Toby Corkindale as GitHub #15.
+  
+  - Switched from Params::Validate to Params::ValidationCompiler.
+
+-------------------------------------------------------------------

Old:
----
  DateTime-Format-Strptime-1.70.tar.gz

New:
----
  DateTime-Format-Strptime-1.73.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-DateTime-Format-Strptime.spec ++++++
--- /var/tmp/diff_new_pack.0TU99i/_old  2017-06-12 15:28:50.186784323 +0200
+++ /var/tmp/diff_new_pack.0TU99i/_new  2017-06-12 15:28:50.190783759 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-DateTime-Format-Strptime
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,34 +17,50 @@
 
 
 Name:           perl-DateTime-Format-Strptime
-Version:        1.70
+Version:        1.73
 Release:        0
 %define cpan_name DateTime-Format-Strptime
 Summary:        Parse and format strp and strf time patterns
 License:        Artistic-2.0
 Group:          Development/Libraries/Perl
 Url:            http://search.cpan.org/dist/DateTime-Format-Strptime/
-Source0:        
http://www.cpan.org/authors/id/D/DR/DROLSKY/%{cpan_name}-%{version}.tar.gz
+Source0:        
https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/%{cpan_name}-%{version}.tar.gz
 Source1:        cpanspec.yml
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  perl
 BuildRequires:  perl-macros
 BuildRequires:  perl(DateTime) >= 1.00
-BuildRequires:  perl(DateTime::Locale) >= 0.450000
-BuildRequires:  perl(DateTime::TimeZone) >= 0.79
+BuildRequires:  perl(DateTime::Locale) >= 1.050000
+BuildRequires:  perl(DateTime::Locale::Base)
+BuildRequires:  perl(DateTime::Locale::FromData)
+BuildRequires:  perl(DateTime::TimeZone) >= 2.09
 BuildRequires:  perl(Package::DeprecationManager) >= 0.15
-BuildRequires:  perl(Params::Validate) >= 1.20
+BuildRequires:  perl(Params::ValidationCompiler)
+BuildRequires:  perl(Specio) >= 0.33
+BuildRequires:  perl(Specio::Declare)
+BuildRequires:  perl(Specio::Exporter)
+BuildRequires:  perl(Specio::Library::Builtins)
+BuildRequires:  perl(Specio::Library::String)
 BuildRequires:  perl(Test::Fatal)
 BuildRequires:  perl(Test::More) >= 0.96
 BuildRequires:  perl(Test::Warnings)
 BuildRequires:  perl(Try::Tiny)
+BuildRequires:  perl(parent)
 Requires:       perl(DateTime) >= 1.00
-Requires:       perl(DateTime::Locale) >= 0.450000
-Requires:       perl(DateTime::TimeZone) >= 0.79
+Requires:       perl(DateTime::Locale) >= 1.050000
+Requires:       perl(DateTime::Locale::Base)
+Requires:       perl(DateTime::Locale::FromData)
+Requires:       perl(DateTime::TimeZone) >= 2.09
 Requires:       perl(Package::DeprecationManager) >= 0.15
-Requires:       perl(Params::Validate) >= 1.20
+Requires:       perl(Params::ValidationCompiler)
+Requires:       perl(Specio) >= 0.33
+Requires:       perl(Specio::Declare)
+Requires:       perl(Specio::Exporter)
+Requires:       perl(Specio::Library::Builtins)
+Requires:       perl(Specio::Library::String)
 Requires:       perl(Try::Tiny)
+Requires:       perl(parent)
 %{perl_requires}
 
 %description
@@ -70,6 +86,7 @@
 
 %files -f %{name}.files
 %defattr(-,root,root,755)
-%doc bench Changes CONTRIBUTING.md LICENSE README.md
+%doc bench Changes CONTRIBUTING.md README.md
+%license LICENSE
 
 %changelog

++++++ DateTime-Format-Strptime-1.70.tar.gz -> 
DateTime-Format-Strptime-1.73.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/CONTRIBUTING.md 
new/DateTime-Format-Strptime-1.73/CONTRIBUTING.md
--- old/DateTime-Format-Strptime-1.70/CONTRIBUTING.md   2016-12-11 
00:13:14.000000000 +0100
+++ new/DateTime-Format-Strptime-1.73/CONTRIBUTING.md   2017-01-31 
17:54:08.000000000 +0100
@@ -99,6 +99,7 @@
 can submit an issue report [via the 
web](https://github.com/houseabsolute/DateTime-Format-Strptime/issues)
 ).
 
+
 There is a mailing list available for users of this distribution,
 datet...@perl.org
 
@@ -129,5 +130,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.012 from a
-template file originating in Dist-Zilla-PluginBundle-DROLSKY-0.78.
+This file was generated via Dist::Zilla::Plugin::GenerateFile::FromShareDir 
0.013 from a
+template file originating in Dist-Zilla-PluginBundle-DROLSKY-0.80.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/Changes 
new/DateTime-Format-Strptime-1.73/Changes
--- old/DateTime-Format-Strptime-1.70/Changes   2016-12-11 00:13:14.000000000 
+0100
+++ new/DateTime-Format-Strptime-1.73/Changes   2017-01-31 17:54:08.000000000 
+0100
@@ -1,3 +1,27 @@
+1.73     2017-01-31
+
+- The format_datetime now checks that the object it is given isa DateTime
+  object. Implemented by Mohammad S Anwar. GitHub #17.
+
+
+1.72     2017-01-24
+
+- Require DateTime::Locale 1.05. This fixes some test failures seen on CPAN
+  Testers. Also require DateTime::TimeZone 2.09 because you should really
+  update this on a regular basis.
+
+- Require Specio 0.33 to fix other test failures seen on CPAN (I hope).
+
+
+1.71     2017-01-24
+
+- By default, the word boundary checks added in 1.69 are now off. You can
+  enable them by passing "strict => 1" to the constructor. This was reported
+  as an issue by Toby Corkindale as GitHub #15.
+
+- Switched from Params::Validate to Params::ValidationCompiler.
+
+
 1.70     2016-12-10
 
 - Altered the conversion specifier %z to accept ±HH, ±HHMM, ±HH:MM and Z.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/LICENSE 
new/DateTime-Format-Strptime-1.73/LICENSE
--- old/DateTime-Format-Strptime-1.70/LICENSE   2016-12-11 00:13:14.000000000 
+0100
+++ new/DateTime-Format-Strptime-1.73/LICENSE   2017-01-31 17:54:08.000000000 
+0100
@@ -1,4 +1,4 @@
-This software is Copyright (c) 2015 - 2016 by Dave Rolsky.
+This software is Copyright (c) 2015 - 2017 by Dave Rolsky.
 
 This is free software, licensed under:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/MANIFEST 
new/DateTime-Format-Strptime-1.73/MANIFEST
--- old/DateTime-Format-Strptime-1.70/MANIFEST  2016-12-11 00:13:14.000000000 
+0100
+++ new/DateTime-Format-Strptime-1.73/MANIFEST  2017-01-31 17:54:08.000000000 
+0100
@@ -13,6 +13,7 @@
 dist.ini
 inc/GenerateLocaleTests.pm
 lib/DateTime/Format/Strptime.pm
+lib/DateTime/Format/Strptime/Types.pm
 perlcriticrc
 perltidyrc
 t/00-report-prereqs.dd
@@ -20,6 +21,7 @@
 t/basic.t
 t/edge.t
 t/errors.t
+t/format-datetime.t
 t/format-with-locale.t
 t/import.t
 t/lib/T.pm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/META.json 
new/DateTime-Format-Strptime-1.73/META.json
--- old/DateTime-Format-Strptime-1.70/META.json 2016-12-11 00:13:14.000000000 
+0100
+++ new/DateTime-Format-Strptime-1.73/META.json 2017-01-31 17:54:08.000000000 
+0100
@@ -58,13 +58,21 @@
          "requires" : {
             "Carp" : "0",
             "DateTime" : "1.00",
-            "DateTime::Locale" : "0.45",
-            "DateTime::TimeZone" : "0.79",
+            "DateTime::Locale" : "1.05",
+            "DateTime::Locale::Base" : "0",
+            "DateTime::Locale::FromData" : "0",
+            "DateTime::TimeZone" : "2.09",
             "Exporter" : "0",
             "Package::DeprecationManager" : "0.15",
-            "Params::Validate" : "1.20",
+            "Params::ValidationCompiler" : "0",
+            "Specio" : "0.33",
+            "Specio::Declare" : "0",
+            "Specio::Exporter" : "0",
+            "Specio::Library::Builtins" : "0",
+            "Specio::Library::String" : "0",
             "Try::Tiny" : "0",
             "constant" : "0",
+            "parent" : "0",
             "strict" : "0",
             "warnings" : "0"
          }
@@ -88,7 +96,11 @@
    "provides" : {
       "DateTime::Format::Strptime" : {
          "file" : "lib/DateTime/Format/Strptime.pm",
-         "version" : "1.70"
+         "version" : "1.73"
+      },
+      "DateTime::Format::Strptime::Types" : {
+         "file" : "lib/DateTime/Format/Strptime/Types.pm",
+         "version" : "1.73"
       }
    },
    "release_status" : "stable",
@@ -104,10 +116,10 @@
       },
       "x_MailingList" : "datet...@perl.org"
    },
-   "version" : "1.70",
+   "version" : "1.73",
    "x_Dist_Zilla" : {
       "perl" : {
-         "version" : "5.024000"
+         "version" : "5.024001"
       },
       "plugins" : [
          {
@@ -191,9 +203,9 @@
             "version" : "6.008"
          },
          {
-            "class" : "Dist::Zilla::Plugin::DROLSKY::VersionProvider",
-            "name" : "@DROLSKY/DROLSKY::VersionProvider",
-            "version" : "0.78"
+            "class" : "Dist::Zilla::Plugin::VersionFromMainModule",
+            "name" : "@DROLSKY/VersionFromMainModule",
+            "version" : "0.02"
          },
          {
             "class" : "Dist::Zilla::Plugin::Authority",
@@ -213,7 +225,7 @@
          {
             "class" : "Dist::Zilla::Plugin::GitHub::Meta",
             "name" : "@DROLSKY/GitHub::Meta",
-            "version" : "0.42"
+            "version" : "0.43"
          },
          {
             "class" : "Dist::Zilla::Plugin::GitHub::Update",
@@ -223,7 +235,7 @@
                }
             },
             "name" : "@DROLSKY/GitHub::Update",
-            "version" : "0.42"
+            "version" : "0.43"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaResources",
@@ -244,14 +256,14 @@
                   "include_underscores" : 0
                },
                "Dist::Zilla::Role::MetaProvider::Provider" : {
-                  "Dist::Zilla::Role::MetaProvider::Provider::VERSION" : 
"2.001011",
+                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : 
"2.002003",
                   "inherit_missing" : 1,
                   "inherit_version" : 1,
                   "meta_noindex" : 1
                },
                "Dist::Zilla::Role::ModuleMetadata" : {
                   "Module::Metadata" : "1.000033",
-                  "version" : "0.003"
+                  "version" : "0.004"
                }
             },
             "name" : "@DROLSKY/MetaProvides::Package",
@@ -342,12 +354,10 @@
                   "phase" : "release",
                   "run_under_travis" : 0,
                   "skip" : [
-                     "Dist::Zilla::Plugin::DROLSKY::CheckChangesHasContent",
                      "Dist::Zilla::Plugin::DROLSKY::Contributors",
                      
"Dist::Zilla::Plugin::DROLSKY::Git::CheckFor::CorrectBranch",
                      "Dist::Zilla::Plugin::DROLSKY::License",
                      "Dist::Zilla::Plugin::DROLSKY::TidyAll",
-                     "Dist::Zilla::Plugin::DROLSKY::VersionProvider",
                      "Pod::Weaver::PluginBundle::DROLSKY"
                   ]
                }
@@ -499,7 +509,7 @@
          {
             "class" : "Dist::Zilla::Plugin::DROLSKY::Contributors",
             "name" : "@DROLSKY/DROLSKY::Contributors",
-            "version" : "0.78"
+            "version" : "0.80"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Contributors",
@@ -629,6 +639,11 @@
                      },
                      {
                         "class" : "Pod::Weaver::Section::GenerateSection",
+                        "name" : "@DROLSKY/generate SOURCE",
+                        "version" : "1.02"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::GenerateSection",
                         "name" : "@DROLSKY/generate DONATIONS",
                         "version" : "1.02"
                      },
@@ -661,7 +676,7 @@
          {
             "class" : "Dist::Zilla::Plugin::DROLSKY::WeaverConfig",
             "name" : "@DROLSKY/DROLSKY::WeaverConfig",
-            "version" : "0.78"
+            "version" : "0.80"
          },
          {
             "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
@@ -687,11 +702,11 @@
                "Dist::Zilla::Role::RepoFileInjector" : {
                   "allow_overwrite" : 1,
                   "repo_root" : ".",
-                  "version" : "0.006"
+                  "version" : "0.007"
                }
             },
             "name" : "@DROLSKY/Generate CONTRIBUTING.md",
-            "version" : "0.012"
+            "version" : "0.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::InstallGuide",
@@ -706,7 +721,7 @@
          {
             "class" : "Dist::Zilla::Plugin::DROLSKY::License",
             "name" : "@DROLSKY/DROLSKY::License",
-            "version" : "0.78"
+            "version" : "0.80"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckStrictVersion",
@@ -723,7 +738,7 @@
                },
                "Dist::Zilla::Role::ModuleMetadata" : {
                   "Module::Metadata" : "1.000033",
-                  "version" : "0.003"
+                  "version" : "0.004"
                }
             },
             "name" : "@DROLSKY/CheckSelfDependency",
@@ -735,11 +750,6 @@
             "version" : "0.020"
          },
          {
-            "class" : "Dist::Zilla::Plugin::DROLSKY::CheckChangesHasContent",
-            "name" : "@DROLSKY/DROLSKY::CheckChangesHasContent",
-            "version" : "0.78"
-         },
-         {
             "class" : 
"Dist::Zilla::Plugin::DROLSKY::Git::CheckFor::CorrectBranch",
             "config" : {
                "Dist::Zilla::Role::Git::Repo" : {
@@ -748,7 +758,12 @@
                }
             },
             "name" : "@DROLSKY/DROLSKY::Git::CheckFor::CorrectBranch",
-            "version" : "0.78"
+            "version" : "0.80"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::EnsureChangesHasContent",
+            "name" : "@DROLSKY/EnsureChangesHasContent",
+            "version" : "0.02"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts",
@@ -764,7 +779,7 @@
          {
             "class" : "Dist::Zilla::Plugin::DROLSKY::TidyAll",
             "name" : "@DROLSKY/DROLSKY::TidyAll",
-            "version" : "0.78"
+            "version" : "0.80"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Check",
@@ -831,7 +846,7 @@
                   "branch" : null,
                   "changelog" : "Changes",
                   "signed" : 0,
-                  "tag" : "v1.70",
+                  "tag" : "v1.73",
                   "tag_format" : "v%v",
                   "tag_message" : "v%v"
                },
@@ -1012,8 +1027,9 @@
    "x_contributors" : [
       "Christian Hansen <chan...@cpan.org>",
       "D. Ilmari Manns\u00e5ker <ilmari.mannsa...@net-a-porter.com>",
-      "key-amb <yasutake.kiyo...@gmail.com>"
+      "key-amb <yasutake.kiyo...@gmail.com>",
+      "Mohammad S Anwar <mohammad.an...@yahoo.com>"
    ],
-   "x_serialization_backend" : "Cpanel::JSON::XS version 3.0115"
+   "x_serialization_backend" : "Cpanel::JSON::XS version 3.0225"
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/META.yml 
new/DateTime-Format-Strptime-1.73/META.yml
--- old/DateTime-Format-Strptime-1.70/META.yml  2016-12-11 00:13:14.000000000 
+0100
+++ new/DateTime-Format-Strptime-1.73/META.yml  2017-01-31 17:54:08.000000000 
+0100
@@ -24,17 +24,28 @@
 provides:
   DateTime::Format::Strptime:
     file: lib/DateTime/Format/Strptime.pm
-    version: '1.70'
+    version: '1.73'
+  DateTime::Format::Strptime::Types:
+    file: lib/DateTime/Format/Strptime/Types.pm
+    version: '1.73'
 requires:
   Carp: '0'
   DateTime: '1.00'
-  DateTime::Locale: '0.45'
-  DateTime::TimeZone: '0.79'
+  DateTime::Locale: '1.05'
+  DateTime::Locale::Base: '0'
+  DateTime::Locale::FromData: '0'
+  DateTime::TimeZone: '2.09'
   Exporter: '0'
   Package::DeprecationManager: '0.15'
-  Params::Validate: '1.20'
+  Params::ValidationCompiler: '0'
+  Specio: '0.33'
+  Specio::Declare: '0'
+  Specio::Exporter: '0'
+  Specio::Library::Builtins: '0'
+  Specio::Library::String: '0'
   Try::Tiny: '0'
   constant: '0'
+  parent: '0'
   strict: '0'
   warnings: '0'
 resources:
@@ -42,10 +53,10 @@
   bugtracker: https://github.com/houseabsolute/DateTime-Format-Strptime/issues
   homepage: http://metacpan.org/release/DateTime-Format-Strptime
   repository: git://github.com/houseabsolute/DateTime-Format-Strptime.git
-version: '1.70'
+version: '1.73'
 x_Dist_Zilla:
   perl:
-    version: '5.024000'
+    version: '5.024001'
   plugins:
     -
       class: Dist::Zilla::Plugin::MakeMaker
@@ -111,9 +122,9 @@
       name: '@DROLSKY/UploadToCPAN'
       version: '6.008'
     -
-      class: Dist::Zilla::Plugin::DROLSKY::VersionProvider
-      name: '@DROLSKY/DROLSKY::VersionProvider'
-      version: '0.78'
+      class: Dist::Zilla::Plugin::VersionFromMainModule
+      name: '@DROLSKY/VersionFromMainModule'
+      version: '0.02'
     -
       class: Dist::Zilla::Plugin::Authority
       name: '@DROLSKY/Authority'
@@ -129,14 +140,14 @@
     -
       class: Dist::Zilla::Plugin::GitHub::Meta
       name: '@DROLSKY/GitHub::Meta'
-      version: '0.42'
+      version: '0.43'
     -
       class: Dist::Zilla::Plugin::GitHub::Update
       config:
         Dist::Zilla::Plugin::GitHub::Update:
           metacpan: 1
       name: '@DROLSKY/GitHub::Update'
-      version: '0.42'
+      version: '0.43'
     -
       class: Dist::Zilla::Plugin::MetaResources
       name: '@DROLSKY/MetaResources'
@@ -152,13 +163,13 @@
               version: '6.008'
           include_underscores: 0
         Dist::Zilla::Role::MetaProvider::Provider:
-          Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.001011'
+          $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002003'
           inherit_missing: '1'
           inherit_version: '1'
           meta_noindex: '1'
         Dist::Zilla::Role::ModuleMetadata:
           Module::Metadata: '1.000033'
-          version: '0.003'
+          version: '0.004'
       name: '@DROLSKY/MetaProvides::Package'
       version: '2.004002'
     -
@@ -228,12 +239,10 @@
           phase: release
           run_under_travis: 0
           skip:
-            - Dist::Zilla::Plugin::DROLSKY::CheckChangesHasContent
             - Dist::Zilla::Plugin::DROLSKY::Contributors
             - Dist::Zilla::Plugin::DROLSKY::Git::CheckFor::CorrectBranch
             - Dist::Zilla::Plugin::DROLSKY::License
             - Dist::Zilla::Plugin::DROLSKY::TidyAll
-            - Dist::Zilla::Plugin::DROLSKY::VersionProvider
             - Pod::Weaver::PluginBundle::DROLSKY
       name: '@DROLSKY/PromptIfStale'
       version: '0.051'
@@ -350,7 +359,7 @@
     -
       class: Dist::Zilla::Plugin::DROLSKY::Contributors
       name: '@DROLSKY/DROLSKY::Contributors'
-      version: '0.78'
+      version: '0.80'
     -
       class: Dist::Zilla::Plugin::Git::Contributors
       config:
@@ -454,6 +463,10 @@
               version: '0.05'
             -
               class: Pod::Weaver::Section::GenerateSection
+              name: '@DROLSKY/generate SOURCE'
+              version: '1.02'
+            -
+              class: Pod::Weaver::Section::GenerateSection
               name: '@DROLSKY/generate DONATIONS'
               version: '1.02'
             -
@@ -477,7 +490,7 @@
     -
       class: Dist::Zilla::Plugin::DROLSKY::WeaverConfig
       name: '@DROLSKY/DROLSKY::WeaverConfig'
-      version: '0.78'
+      version: '0.80'
     -
       class: Dist::Zilla::Plugin::ReadmeAnyFromPod
       config:
@@ -498,9 +511,9 @@
         Dist::Zilla::Role::RepoFileInjector:
           allow_overwrite: 1
           repo_root: .
-          version: '0.006'
+          version: '0.007'
       name: '@DROLSKY/Generate CONTRIBUTING.md'
-      version: '0.012'
+      version: '0.013'
     -
       class: Dist::Zilla::Plugin::InstallGuide
       name: '@DROLSKY/InstallGuide'
@@ -512,7 +525,7 @@
     -
       class: Dist::Zilla::Plugin::DROLSKY::License
       name: '@DROLSKY/DROLSKY::License'
-      version: '0.78'
+      version: '0.80'
     -
       class: Dist::Zilla::Plugin::CheckStrictVersion
       name: '@DROLSKY/CheckStrictVersion'
@@ -525,7 +538,7 @@
             - ':InstallModules'
         Dist::Zilla::Role::ModuleMetadata:
           Module::Metadata: '1.000033'
-          version: '0.003'
+          version: '0.004'
       name: '@DROLSKY/CheckSelfDependency'
       version: '0.011'
     -
@@ -533,17 +546,17 @@
       name: '@DROLSKY/CheckPrereqsIndexed'
       version: '0.020'
     -
-      class: Dist::Zilla::Plugin::DROLSKY::CheckChangesHasContent
-      name: '@DROLSKY/DROLSKY::CheckChangesHasContent'
-      version: '0.78'
-    -
       class: Dist::Zilla::Plugin::DROLSKY::Git::CheckFor::CorrectBranch
       config:
         Dist::Zilla::Role::Git::Repo:
           'git --version': 2.11.0
           repo_root: .
       name: '@DROLSKY/DROLSKY::Git::CheckFor::CorrectBranch'
-      version: '0.78'
+      version: '0.80'
+    -
+      class: Dist::Zilla::Plugin::EnsureChangesHasContent
+      name: '@DROLSKY/EnsureChangesHasContent'
+      version: '0.02'
     -
       class: Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts
       config:
@@ -555,7 +568,7 @@
     -
       class: Dist::Zilla::Plugin::DROLSKY::TidyAll
       name: '@DROLSKY/DROLSKY::TidyAll'
-      version: '0.78'
+      version: '0.80'
     -
       class: Dist::Zilla::Plugin::Git::Check
       config:
@@ -608,7 +621,7 @@
           branch: ~
           changelog: Changes
           signed: 0
-          tag: v1.70
+          tag: v1.73
           tag_format: v%v
           tag_message: v%v
         Dist::Zilla::Role::Git::Repo:
@@ -743,4 +756,5 @@
   - 'Christian Hansen <chan...@cpan.org>'
   - 'D. Ilmari Mannsåker <ilmari.mannsa...@net-a-porter.com>'
   - 'key-amb <yasutake.kiyo...@gmail.com>'
+  - 'Mohammad S Anwar <mohammad.an...@yahoo.com>'
 x_serialization_backend: 'YAML::Tiny version 1.69'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/Makefile.PL 
new/DateTime-Format-Strptime-1.73/Makefile.PL
--- old/DateTime-Format-Strptime-1.70/Makefile.PL       2016-12-11 
00:13:14.000000000 +0100
+++ new/DateTime-Format-Strptime-1.73/Makefile.PL       2017-01-31 
17:54:08.000000000 +0100
@@ -18,13 +18,21 @@
   "PREREQ_PM" => {
     "Carp" => 0,
     "DateTime" => "1.00",
-    "DateTime::Locale" => "0.45",
-    "DateTime::TimeZone" => "0.79",
+    "DateTime::Locale" => "1.05",
+    "DateTime::Locale::Base" => 0,
+    "DateTime::Locale::FromData" => 0,
+    "DateTime::TimeZone" => "2.09",
     "Exporter" => 0,
     "Package::DeprecationManager" => "0.15",
-    "Params::Validate" => "1.20",
+    "Params::ValidationCompiler" => 0,
+    "Specio" => "0.33",
+    "Specio::Declare" => 0,
+    "Specio::Exporter" => 0,
+    "Specio::Library::Builtins" => 0,
+    "Specio::Library::String" => 0,
     "Try::Tiny" => 0,
     "constant" => 0,
+    "parent" => 0,
     "strict" => 0,
     "warnings" => 0
   },
@@ -38,7 +46,7 @@
     "lib" => 0,
     "utf8" => 0
   },
-  "VERSION" => "1.70",
+  "VERSION" => "1.73",
   "test" => {
     "TESTS" => "t/*.t"
   }
@@ -48,13 +56,20 @@
 my %FallbackPrereqs = (
   "Carp" => 0,
   "DateTime" => "1.00",
-  "DateTime::Locale" => "0.45",
-  "DateTime::TimeZone" => "0.79",
+  "DateTime::Locale" => "1.05",
+  "DateTime::Locale::Base" => 0,
+  "DateTime::Locale::FromData" => 0,
+  "DateTime::TimeZone" => "2.09",
   "Exporter" => 0,
   "ExtUtils::MakeMaker" => 0,
   "File::Spec" => 0,
   "Package::DeprecationManager" => "0.15",
-  "Params::Validate" => "1.20",
+  "Params::ValidationCompiler" => 0,
+  "Specio" => "0.33",
+  "Specio::Declare" => 0,
+  "Specio::Exporter" => 0,
+  "Specio::Library::Builtins" => 0,
+  "Specio::Library::String" => 0,
   "Test::Builder" => 0,
   "Test::Fatal" => 0,
   "Test::More" => "0.96",
@@ -62,6 +77,7 @@
   "Try::Tiny" => 0,
   "constant" => 0,
   "lib" => 0,
+  "parent" => 0,
   "strict" => 0,
   "utf8" => 0,
   "warnings" => 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/README.md 
new/DateTime-Format-Strptime-1.73/README.md
--- old/DateTime-Format-Strptime-1.70/README.md 2016-12-11 00:13:14.000000000 
+0100
+++ new/DateTime-Format-Strptime-1.73/README.md 2017-01-31 17:54:08.000000000 
+0100
@@ -4,7 +4,7 @@
 
 # VERSION
 
-version 1.70
+version 1.73
 
 # SYNOPSIS
 
@@ -57,6 +57,29 @@
 
     This is the pattern to use for parsing. This is required.
 
+- strict
+
+    This is a boolean which disables or enables strict matching mode.
+
+    By default, this module turns your pattern into a regex that will match
+    anywhere in a string. So given the pattern `%Y%m%d%H%M%S` it will match a
+    string like `20161214233712Z`. However, this also means that a this pattern
+    will match **any** string that contains 14 or more numbers! This behavior 
can
+    be very surprising.
+
+    If you enable strict mode, then the generated regex is wrapped in boundary
+    checks of the form `/(?:\A|\b)...(?:\b|\z_/)`. These checks ensure that the
+    pattern will only match when at the beginning or end of a string, or when 
it
+    is separated by other text with a word boundary (`\w` versus `\W`).
+
+    By default, strict mode is off. This is done for backwards
+    compatibility. Future releases may turn it on by default, as it produces 
less
+    surprising behavior in many cases.
+
+    Because the default may change in the future, **you are strongly encouraged
+    to explicitly set this when constructing all `DateTime::Format::Strptime`
+    objects**.
+
 - time\_zone
 
     The default time zone to use for objects returned from parsing.
@@ -323,13 +346,17 @@
 [http://rt.cpan.org](http://rt.cpan.org). I will be notified, and then you'll 
automatically be
 notified of progress on your bug as I make changes.
 
-Bugs may be submitted through 
[https://github.com/houseabsolute/DateTime-Format-Strptime/issues](https://github.com/houseabsolute/DateTime-Format-Strptime/issues).
+Bugs may be submitted at 
[https://github.com/houseabsolute/DateTime-Format-Strptime/issues](https://github.com/houseabsolute/DateTime-Format-Strptime/issues).
 
 There is a mailing list available for users of this distribution,
 [mailto:datet...@perl.org](mailto:datet...@perl.org).
 
 I am also usually active on IRC as 'autarch' on `irc://irc.perl.org`.
 
+# SOURCE
+
+The source code repository for DateTime-Format-Strptime can be found at 
[https://github.com/houseabsolute/DateTime-Format-Strptime](https://github.com/houseabsolute/DateTime-Format-Strptime).
+
 # DONATIONS
 
 If you'd like to thank me for the work I've done on this module, please
@@ -357,11 +384,15 @@
 - Christian Hansen <chan...@cpan.org>
 - D. Ilmari Mannsåker <ilmari.mannsa...@net-a-porter.com>
 - key-amb <yasutake.kiyo...@gmail.com>
+- Mohammad S Anwar <mohammad.an...@yahoo.com>
 
 # COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2015 - 2016 by Dave Rolsky.
+This software is Copyright (c) 2015 - 2017 by Dave Rolsky.
 
 This is free software, licensed under:
 
     The Artistic License 2.0 (GPL Compatible)
+
+The full text of the license can be found in the
+`LICENSE` file included with this distribution.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/cpanfile 
new/DateTime-Format-Strptime-1.73/cpanfile
--- old/DateTime-Format-Strptime-1.70/cpanfile  2016-12-11 00:13:14.000000000 
+0100
+++ new/DateTime-Format-Strptime-1.73/cpanfile  2017-01-31 17:54:08.000000000 
+0100
@@ -1,12 +1,20 @@
 requires "Carp" => "0";
 requires "DateTime" => "1.00";
-requires "DateTime::Locale" => "0.45";
-requires "DateTime::TimeZone" => "0.79";
+requires "DateTime::Locale" => "1.05";
+requires "DateTime::Locale::Base" => "0";
+requires "DateTime::Locale::FromData" => "0";
+requires "DateTime::TimeZone" => "2.09";
 requires "Exporter" => "0";
 requires "Package::DeprecationManager" => "0.15";
-requires "Params::Validate" => "1.20";
+requires "Params::ValidationCompiler" => "0";
+requires "Specio" => "0.33";
+requires "Specio::Declare" => "0";
+requires "Specio::Exporter" => "0";
+requires "Specio::Library::Builtins" => "0";
+requires "Specio::Library::String" => "0";
 requires "Try::Tiny" => "0";
 requires "constant" => "0";
+requires "parent" => "0";
 requires "strict" => "0";
 requires "warnings" => "0";
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/DateTime-Format-Strptime-1.70/lib/DateTime/Format/Strptime/Types.pm 
new/DateTime-Format-Strptime-1.73/lib/DateTime/Format/Strptime/Types.pm
--- old/DateTime-Format-Strptime-1.70/lib/DateTime/Format/Strptime/Types.pm     
1970-01-01 01:00:00.000000000 +0100
+++ new/DateTime-Format-Strptime-1.73/lib/DateTime/Format/Strptime/Types.pm     
2017-01-31 17:54:08.000000000 +0100
@@ -0,0 +1,112 @@
+package DateTime::Format::Strptime::Types;
+
+use strict;
+use warnings;
+
+our $VERSION = '1.73';
+
+use parent 'Specio::Exporter';
+
+use DateTime;
+use DateTime::Locale::Base;
+use DateTime::Locale::FromData;
+use DateTime::TimeZone;
+use Specio 0.33;
+use Specio::Declare;
+use Specio::Library::Builtins -reexport;
+use Specio::Library::String -reexport;
+
+union(
+    'Locale',
+    of => [
+        object_isa_type('DateTime::Locale::Base'),
+        object_isa_type('DateTime::Locale::FromData'),
+    ],
+);
+
+coerce(
+    t('Locale'),
+    from   => t('NonEmptyStr'),
+    inline => sub {"DateTime::Locale->load( $_[1] )"},
+);
+
+object_isa_type( 'TimeZone', class => 'DateTime::TimeZone' );
+object_isa_type('DateTime');
+
+coerce(
+    t('TimeZone'),
+    from   => t('NonEmptyStr'),
+    inline => sub {"DateTime::TimeZone->new( name => $_[1] )"},
+);
+
+union(
+    'OnError',
+    of => [
+        enum( values => [ 'croak', 'undef' ] ),
+        t('CodeRef'),
+    ],
+);
+
+1;
+
+# ABSTRACT: Types used for parameter checking in DateTime::Format::Strptime
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+DateTime::Format::Strptime::Types - Types used for parameter checking in 
DateTime::Format::Strptime
+
+=head1 VERSION
+
+version 1.73
+
+=head1 DESCRIPTION
+
+This module has no user-facing parts.
+
+=for Pod::Coverage .*
+
+=head1 SUPPORT
+
+Bugs may be submitted at 
L<https://github.com/houseabsolute/DateTime-Format-Strptime/issues>.
+
+There is a mailing list available for users of this distribution,
+L<mailto:datet...@perl.org>.
+
+I am also usually active on IRC as 'autarch' on C<irc://irc.perl.org>.
+
+=head1 SOURCE
+
+The source code repository for DateTime-Format-Strptime can be found at 
L<https://github.com/houseabsolute/DateTime-Format-Strptime>.
+
+=head1 AUTHORS
+
+=over 4
+
+=item *
+
+Dave Rolsky <auta...@urth.org>
+
+=item *
+
+Rick Measham <ri...@cpan.org>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is Copyright (c) 2015 - 2017 by Dave Rolsky.
+
+This is free software, licensed under:
+
+  The Artistic License 2.0 (GPL Compatible)
+
+The full text of the license can be found in the
+F<LICENSE> file included with this distribution.
+
+=cut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/DateTime-Format-Strptime-1.70/lib/DateTime/Format/Strptime.pm 
new/DateTime-Format-Strptime-1.73/lib/DateTime/Format/Strptime.pm
--- old/DateTime-Format-Strptime-1.70/lib/DateTime/Format/Strptime.pm   
2016-12-11 00:13:14.000000000 +0100
+++ new/DateTime-Format-Strptime-1.73/lib/DateTime/Format/Strptime.pm   
2017-01-31 17:54:08.000000000 +0100
@@ -3,14 +3,14 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.70';
+our $VERSION = '1.73';
 
 use Carp qw( carp croak );
 use DateTime 1.00;
-use DateTime::Locale 0.45;
-use DateTime::TimeZone 0.79;
-use Params::Validate 1.20
-    qw( validate SCALAR BOOLEAN OBJECT CODEREF HASHREF );
+use DateTime::Locale 1.05;
+use DateTime::Format::Strptime::Types;
+use DateTime::TimeZone 2.09;
+use Params::ValidationCompiler qw( validation_for );
 use Try::Tiny;
 
 use Exporter qw( import );
@@ -25,54 +25,41 @@
 use constant PERL_58 => $] < 5.010;
 
 {
-    my $spec = {
-        pattern   => { type => SCALAR },
-        time_zone => {
-            type     => SCALAR | OBJECT,
-            optional => 1,
-        },
-        zone_map => {
-            type    => HASHREF,
-            default => {},
-        },
-        locale => {
-            type    => SCALAR | OBJECT,
-            default => DateTime::Locale->load('en'),
-        },
-        on_error => {
-            type      => SCALAR | CODEREF,
-            default   => 'undef',
-            callbacks => {
-                'valid on_error' => sub {
-                    return 1
-                        if $_[0]
-                        && ( ref $_[0] eq 'CODE'
-                        || $_[0] =~ /\A(?:croak|undef)\z/ );
-                    die
-                        q{The value supplied to on_error must be either 
'croak', 'undef' or a code reference.};
-                },
+    my $en_locale = DateTime::Locale->load('en');
+
+    my $validator = validation_for(
+        params => {
+            pattern   => { type => t('NonEmptyStr') },
+            time_zone => {
+                type     => t('TimeZone'),
+                optional => 1,
+            },
+            zone_map => {
+                type    => t('HashRef'),
+                default => sub { {} },
+            },
+            locale => {
+                type    => t('Locale'),
+                default => sub {$en_locale},
+            },
+            on_error => {
+                type    => t('OnError'),
+                default => 'undef',
+            },
+            strict => {
+                type    => t('Bool'),
+                default => 0,
+            },
+            debug => {
+                type    => t('Bool'),
+                default => $ENV{DATETIME_FORMAT_STRPTIME_DEBUG},
             },
         },
-        debug => {
-            type    => BOOLEAN,
-            default => $ENV{DATETIME_FORMAT_STRPTIME_DEBUG},
-        },
-    };
+    );
 
     sub new {
         my $class = shift;
-        my %args = validate( @_, $spec );
-
-        if ( $args{locale} && !ref $args{locale} ) {
-            $args{locale} = DateTime::Locale->load( $args{locale} )
-                or croak "Could not create locale from $args{locale}";
-        }
-
-        if ( $args{time_zone} && !ref $args{time_zone} ) {
-            $args{time_zone}
-                = DateTime::TimeZone->new( name => $args{time_zone} )
-                or croak "Could not create time zone from $args{time_zone}";
-        }
+        my %args  = $validator->(@_);
 
         my $self = bless {
             %args,
@@ -335,7 +322,8 @@
     }
 
     return {
-        regex  => qr/(?:\A|\b)$regex(\b|\Z)/,
+        regex =>
+            ( $self->{strict} ? qr/(?:\A|\b)$regex(?:\b|\Z)/ : qr/$regex/ ),
         fields => \@fields,
     };
 }
@@ -983,13 +971,18 @@
     croak q{DateTime::Format::Strptime doesn't do durations.};
 }
 
-sub format_datetime {
-    my $self = shift;
-    my $dt   = shift;
+{
+    my $validator = validation_for( params => [ { type => t('DateTime') } ] );
+
+    sub format_datetime {
+        my $self = shift;
+        my ($dt) = $validator->(@_);
+
+        my $pattern = $self->pattern;
+        $pattern =~ s/%O/$dt->time_zone->name/eg;
+        return $dt->clone->set_locale( $self->locale )->strftime($pattern);
+    }
 
-    my $pattern = $self->pattern;
-    $pattern =~ s/%O/$dt->time_zone->name/eg;
-    return $dt->clone->set_locale( $self->locale )->strftime($pattern);
 }
 
 sub format_duration {
@@ -1054,7 +1047,7 @@
 
 =head1 VERSION
 
-version 1.70
+version 1.73
 
 =head1 SYNOPSIS
 
@@ -1111,6 +1104,29 @@
 
 This is the pattern to use for parsing. This is required.
 
+=item * strict
+
+This is a boolean which disables or enables strict matching mode.
+
+By default, this module turns your pattern into a regex that will match
+anywhere in a string. So given the pattern C<%Y%m%d%H%M%S> it will match a
+string like C<20161214233712Z>. However, this also means that a this pattern
+will match B<any> string that contains 14 or more numbers! This behavior can
+be very surprising.
+
+If you enable strict mode, then the generated regex is wrapped in boundary
+checks of the form C</(?:\A|\b)...(?:\b|\z_/)>. These checks ensure that the
+pattern will only match when at the beginning or end of a string, or when it
+is separated by other text with a word boundary (C<\w> versus C<\W>).
+
+By default, strict mode is off. This is done for backwards
+compatibility. Future releases may turn it on by default, as it produces less
+surprising behavior in many cases.
+
+Because the default may change in the future, B<< you are strongly encouraged
+to explicitly set this when constructing all C<DateTime::Format::Strptime>
+objects >>.
+
 =item * time_zone
 
 The default time zone to use for objects returned from parsing.
@@ -1387,13 +1403,17 @@
 L<http://rt.cpan.org>. I will be notified, and then you'll automatically be
 notified of progress on your bug as I make changes.
 
-Bugs may be submitted through 
L<https://github.com/houseabsolute/DateTime-Format-Strptime/issues>.
+Bugs may be submitted at 
L<https://github.com/houseabsolute/DateTime-Format-Strptime/issues>.
 
 There is a mailing list available for users of this distribution,
 L<mailto:datet...@perl.org>.
 
 I am also usually active on IRC as 'autarch' on C<irc://irc.perl.org>.
 
+=head1 SOURCE
+
+The source code repository for DateTime-Format-Strptime can be found at 
L<https://github.com/houseabsolute/DateTime-Format-Strptime>.
+
 =head1 DONATIONS
 
 If you'd like to thank me for the work I've done on this module, please
@@ -1427,7 +1447,7 @@
 
 =head1 CONTRIBUTORS
 
-=for stopwords Christian Hansen D. Ilmari Mannsåker key-amb
+=for stopwords Christian Hansen D. Ilmari Mannsåker key-amb Mohammad S Anwar
 
 =over 4
 
@@ -1443,14 +1463,21 @@
 
 key-amb <yasutake.kiyo...@gmail.com>
 
+=item *
+
+Mohammad S Anwar <mohammad.an...@yahoo.com>
+
 =back
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2015 - 2016 by Dave Rolsky.
+This software is Copyright (c) 2015 - 2017 by Dave Rolsky.
 
 This is free software, licensed under:
 
   The Artistic License 2.0 (GPL Compatible)
 
+The full text of the license can be found in the
+F<LICENSE> file included with this distribution.
+
 =cut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/t/00-report-prereqs.dd 
new/DateTime-Format-Strptime-1.73/t/00-report-prereqs.dd
--- old/DateTime-Format-Strptime-1.70/t/00-report-prereqs.dd    2016-12-11 
00:13:14.000000000 +0100
+++ new/DateTime-Format-Strptime-1.73/t/00-report-prereqs.dd    2017-01-31 
17:54:08.000000000 +0100
@@ -42,13 +42,21 @@
                       'requires' => {
                                       'Carp' => '0',
                                       'DateTime' => '1.00',
-                                      'DateTime::Locale' => '0.45',
-                                      'DateTime::TimeZone' => '0.79',
+                                      'DateTime::Locale' => '1.05',
+                                      'DateTime::Locale::Base' => '0',
+                                      'DateTime::Locale::FromData' => '0',
+                                      'DateTime::TimeZone' => '2.09',
                                       'Exporter' => '0',
                                       'Package::DeprecationManager' => '0.15',
-                                      'Params::Validate' => '1.20',
+                                      'Params::ValidationCompiler' => '0',
+                                      'Specio' => '0.33',
+                                      'Specio::Declare' => '0',
+                                      'Specio::Exporter' => '0',
+                                      'Specio::Library::Builtins' => '0',
+                                      'Specio::Library::String' => '0',
                                       'Try::Tiny' => '0',
                                       'constant' => '0',
+                                      'parent' => '0',
                                       'strict' => '0',
                                       'warnings' => '0'
                                     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/t/edge.t 
new/DateTime-Format-Strptime-1.73/t/edge.t
--- old/DateTime-Format-Strptime-1.70/t/edge.t  2016-12-11 00:13:14.000000000 
+0100
+++ new/DateTime-Format-Strptime-1.73/t/edge.t  2017-01-31 17:54:08.000000000 
+0100
@@ -103,6 +103,13 @@
 skip round trip
 year => 2016
 
+[prefix.year.suffix with strict]
+%Y
+cron.2016.log
+skip round trip
+strict
+year => 2016
+
 [prefix.date.suffix]
 %Y-%m-%d
 cron.2016-03-31.log
@@ -110,3 +117,23 @@
 year  => 2016
 month => 3
 day   => 31
+
+[prefix.date.suffix with strict]
+%Y-%m-%d
+cron.2016-03-31.log
+skip round trip
+strict
+year  => 2016
+month => 3
+day   => 31
+
+[ISO8601 + Z with Z at end ignored]
+%Y%m%d%H%M%S
+20161214233712Z
+skip round trip
+year   => 2016
+month  => 12
+day    => 14
+hour   => 23
+minute => 37
+second => 12
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/t/errors.t 
new/DateTime-Format-Strptime-1.73/t/errors.t
--- old/DateTime-Format-Strptime-1.70/t/errors.t        2016-12-11 
00:13:14.000000000 +0100
+++ new/DateTime-Format-Strptime-1.73/t/errors.t        2017-01-31 
17:54:08.000000000 +0100
@@ -250,12 +250,14 @@
             name    => 'Failed word boundary check at beginning - GitHub #11',
             pattern => '%d-%m-%y',
             input   => '2016-11-30',
+            strict  => 1,
             error   => qr{\QYour datetime does not match your pattern},
         },
         {
             name    => 'Failed word boundary check at end',
             pattern => '%d-%m-%y',
             input   => '30-11-2016',
+            strict  => 1,
             error   => qr{\QYour datetime does not match your pattern},
         },
     );
@@ -273,6 +275,7 @@
     my $parser = DateTime::Format::Strptime->new(
         pattern  => $test->{pattern},
         on_error => 'croak',
+        strict   => $test->{strict},
     );
 
     like(
@@ -284,6 +287,7 @@
     $parser = DateTime::Format::Strptime->new(
         pattern  => $test->{pattern},
         on_error => 'undef',
+        strict   => $test->{strict},
     );
 
     my $dt = $parser->parse_datetime( $test->{input} );
@@ -303,6 +307,7 @@
     $parser = DateTime::Format::Strptime->new(
         pattern  => $test->{pattern},
         on_error => sub { die { e => $_[1] } },
+        strict   => $test->{strict},
     );
 
     my $e = exception { $parser->parse_datetime( $test->{input} ) };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/t/format-datetime.t 
new/DateTime-Format-Strptime-1.73/t/format-datetime.t
--- old/DateTime-Format-Strptime-1.70/t/format-datetime.t       1970-01-01 
01:00:00.000000000 +0100
+++ new/DateTime-Format-Strptime-1.73/t/format-datetime.t       2017-01-31 
17:54:08.000000000 +0100
@@ -0,0 +1,22 @@
+use strict;
+use warnings;
+
+use Test::More 0.96;
+use Test::Fatal;
+
+use DateTime::Format::Strptime;
+use DateTime;
+
+my $strptime = DateTime::Format::Strptime->new(
+    pattern  => '%B %Y',
+    locale   => 'pt',
+    on_error => 'croak',
+);
+
+like(
+    exception { $strptime->format_datetime('somestring') },
+    qr/Validation failed for type named DateTime declared in package 
DateTime::Format::Strptime::Types/,
+    'format_datetime() checks that it received a DateTime object'
+);
+
+done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/t/lib/T.pm 
new/DateTime-Format-Strptime-1.73/t/lib/T.pm
--- old/DateTime-Format-Strptime-1.70/t/lib/T.pm        2016-12-11 
00:13:14.000000000 +0100
+++ new/DateTime-Format-Strptime-1.73/t/lib/T.pm        2017-01-31 
17:54:08.000000000 +0100
@@ -33,6 +33,7 @@
                                 ? ( locale => $test->{locale} )
                                 : ()
                             ),
+                            strict   => $test->{strict},
                             on_error => 'croak',
                         );
                     },
@@ -103,6 +104,7 @@
         (.+?)\n                  # input
         (?:locale\ =\ (.+?)\n)?  # optional locale
         (skip\ round\ trip\n)?   # skip a round trip?
+        (strict\n)?              # strict parsing flag?
         (.+?)\n                  # k-v pairs for expected values
         (?:\n|\z)                # end of test
                     /xs;
@@ -114,8 +116,9 @@
             input           => $3,
             locale          => $4,
             skip_round_trip => $5,
+            strict          => ( $6 ? 1 : 0 ),
             expect          => {
-                map { split /\s+=>\s+/ } split /\n/, $6,
+                map { split /\s+=>\s+/ } split /\n/, $7,
             },
         };
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/xt/author/00-compile.t 
new/DateTime-Format-Strptime-1.73/xt/author/00-compile.t
--- old/DateTime-Format-Strptime-1.70/xt/author/00-compile.t    2016-12-11 
00:13:14.000000000 +0100
+++ new/DateTime-Format-Strptime-1.73/xt/author/00-compile.t    2017-01-31 
17:54:08.000000000 +0100
@@ -6,10 +6,11 @@
 
 use Test::More;
 
-plan tests => 2;
+plan tests => 3;
 
 my @module_files = (
-    'DateTime/Format/Strptime.pm'
+    'DateTime/Format/Strptime.pm',
+    'DateTime/Format/Strptime/Types.pm'
 );
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/xt/author/eol.t 
new/DateTime-Format-Strptime-1.73/xt/author/eol.t
--- old/DateTime-Format-Strptime-1.70/xt/author/eol.t   2016-12-11 
00:13:14.000000000 +0100
+++ new/DateTime-Format-Strptime-1.73/xt/author/eol.t   2017-01-31 
17:54:08.000000000 +0100
@@ -8,11 +8,13 @@
 
 my @files = (
     'lib/DateTime/Format/Strptime.pm',
+    'lib/DateTime/Format/Strptime/Types.pm',
     't/00-report-prereqs.dd',
     't/00-report-prereqs.t',
     't/basic.t',
     't/edge.t',
     't/errors.t',
+    't/format-datetime.t',
     't/format-with-locale.t',
     't/import.t',
     't/lib/T.pm',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/xt/author/no-tabs.t 
new/DateTime-Format-Strptime-1.73/xt/author/no-tabs.t
--- old/DateTime-Format-Strptime-1.70/xt/author/no-tabs.t       2016-12-11 
00:13:14.000000000 +0100
+++ new/DateTime-Format-Strptime-1.73/xt/author/no-tabs.t       2017-01-31 
17:54:08.000000000 +0100
@@ -8,11 +8,13 @@
 
 my @files = (
     'lib/DateTime/Format/Strptime.pm',
+    'lib/DateTime/Format/Strptime/Types.pm',
     't/00-report-prereqs.dd',
     't/00-report-prereqs.t',
     't/basic.t',
     't/edge.t',
     't/errors.t',
+    't/format-datetime.t',
     't/format-with-locale.t',
     't/import.t',
     't/lib/T.pm',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DateTime-Format-Strptime-1.70/xt/author/pod-spell.t 
new/DateTime-Format-Strptime-1.73/xt/author/pod-spell.t
--- old/DateTime-Format-Strptime-1.70/xt/author/pod-spell.t     2016-12-11 
00:13:14.000000000 +0100
+++ new/DateTime-Format-Strptime-1.73/xt/author/pod-spell.t     2017-01-31 
17:54:08.000000000 +0100
@@ -10,6 +10,7 @@
 add_stopwords(<DATA>);
 all_pod_files_spelling_ok( qw( bin lib ) );
 __DATA__
+Anwar
 Christian
 DROLSKY
 DROLSKY's
@@ -20,6 +21,7 @@
 Ilmari
 Mannsåker
 Measham
+Mohammad
 POSIX
 PayPal
 Rick
@@ -27,6 +29,7 @@
 Rolsky's
 STRPTIME
 Strptime
+Types
 autarch
 chansen
 drolsky
@@ -35,6 +38,7 @@
 ilmari
 key
 lib
+mohammad
 rickm
 strf
 strp


Reply via email to