[libdancer-session-cookie-perl] 01/06: Imported Upstream version 0.24

Nuno Carvalho smash at cpan.org
Wed Jul 30 15:01:15 UTC 2014


This is an automated email from the git hooks/post-receive script.

mestre-guest pushed a commit to branch master
in repository libdancer-session-cookie-perl.

commit de87ec91f10f718d63495580762eeee24d972ec7
Author: Nuno Carvalho <smash at cpan.org>
Date:   Wed Jul 30 15:21:49 2014 +0100

    Imported Upstream version 0.24
---
 Build.PL                     |  95 +++++++++++++++++++++++++++++
 CONTRIBUTORS                 |  14 +++++
 Changes                      | 139 ++++++++++++++++++++++---------------------
 INSTALL                      |  44 ++++++++++++++
 LICENSE                      |   8 +--
 MANIFEST                     |  20 +++----
 MANIFEST.SKIP                |   1 +
 META.json                    |  55 ++++++++---------
 META.yml                     |  89 +++++++++++++--------------
 Makefile.PL                  |  95 -----------------------------
 README                       |  25 +-------
 README.mkdn                  |  82 +++++++++++++++++++++++++
 README.pod                   | 135 +++++++++++++++++++++++++++++++++++++++++
 SIGNATURE                    |  51 ++++++++++++++++
 dist.ini                     |  13 ++--
 lib/Dancer/Session/Cookie.pm |  52 ++++------------
 t/00-compile.t               |  94 +++++++++++------------------
 t/00-report-prereqs.t        |  86 --------------------------
 t/000-report-versions-tiny.t |  99 ++++++++++++++++++++++++++++++
 t/store-objects.t            |  22 +++++++
 xt/author/critic.t           |  12 ----
 xt/author/pod-spell.t        |  36 -----------
 xt/release/distmeta.t        |   7 ---
 xt/release/minimum-version.t |   8 ---
 xt/release/pod-coverage.t    |  13 ----
 xt/release/pod-syntax.t      |   7 ---
 xt/release/portability.t     |  12 ----
 xt/release/test-version.t    |  22 -------
 xt/release/unused-vars.t     |  14 +++++
 29 files changed, 762 insertions(+), 588 deletions(-)

diff --git a/Build.PL b/Build.PL
new file mode 100644
index 0000000..ad44218
--- /dev/null
+++ b/Build.PL
@@ -0,0 +1,95 @@
+
+# This file was automatically generated by Dist::Zilla::Plugin::ModuleBuild v5.019.
+use strict;
+use warnings;
+
+use Module::Build 0.3601;
+
+
+my %module_build_args = (
+  "build_requires" => {
+    "Module::Build" => "0.3601"
+  },
+  "configure_requires" => {
+    "Module::Build" => "0.3601"
+  },
+  "dist_abstract" => "Encrypted cookie-based session backend for Dancer",
+  "dist_author" => [
+    "Alex Kapranoff <kappa\@cpan.org>",
+    "Alex Sukria <sukria\@cpan.org>",
+    "David Golden <dagolden\@cpan.org>",
+    "Yanick Champoux <yanick\@cpan.org>"
+  ],
+  "dist_name" => "Dancer-Session-Cookie",
+  "dist_version" => "0.24",
+  "license" => "perl",
+  "module_name" => "Dancer::Session::Cookie",
+  "recommends" => {},
+  "recursive_test_files" => 1,
+  "requires" => {
+    "Crypt::CBC" => 0,
+    "Crypt::Rijndael" => 0,
+    "Dancer" => "1.3113",
+    "Dancer::Cookie" => 0,
+    "Dancer::Cookies" => 0,
+    "Dancer::Session::Abstract" => 0,
+    "MIME::Base64" => 0,
+    "Session::Storage::Secure" => "0.010",
+    "Storable" => 0,
+    "String::CRC32" => 0,
+    "Time::Duration::Parse" => 0,
+    "base" => 0,
+    "strict" => 0,
+    "warnings" => 0
+  },
+  "script_files" => [],
+  "test_requires" => {
+    "Dancer::ModuleLoader" => 0,
+    "Dancer::Test" => 0,
+    "File::Spec" => 0,
+    "File::Temp" => 0,
+    "FindBin" => 0,
+    "HTTP::Cookies" => 0,
+    "HTTP::Date" => 0,
+    "IO::Handle" => 0,
+    "IPC::Open3" => 0,
+    "LWP" => 0,
+    "LWP::UserAgent" => 0,
+    "Test::Exception" => 0,
+    "Test::More" => "0.96",
+    "Test::NoWarnings" => 0,
+    "Test::TCP" => 0,
+    "perl" => "5.006"
+  }
+);
+
+
+my %fallback_build_requires = (
+  "Dancer::ModuleLoader" => 0,
+  "Dancer::Test" => 0,
+  "File::Spec" => 0,
+  "File::Temp" => 0,
+  "FindBin" => 0,
+  "HTTP::Cookies" => 0,
+  "HTTP::Date" => 0,
+  "IO::Handle" => 0,
+  "IPC::Open3" => 0,
+  "LWP" => 0,
+  "LWP::UserAgent" => 0,
+  "Module::Build" => "0.3601",
+  "Test::Exception" => 0,
+  "Test::More" => "0.96",
+  "Test::NoWarnings" => 0,
+  "Test::TCP" => 0,
+  "perl" => "5.006"
+);
+
+
+unless ( eval { Module::Build->VERSION(0.4004) } ) {
+  delete $module_build_args{test_requires};
+  $module_build_args{build_requires} = \%fallback_build_requires;
+}
+
+my $build = Module::Build->new(%module_build_args);
+
+$build->create_build_script;
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
new file mode 100644
index 0000000..449cafc
--- /dev/null
+++ b/CONTRIBUTORS
@@ -0,0 +1,14 @@
+
+# DANCER-SESSION-COOKIE CONTRIBUTORS #
+
+This is the (likely incomplete) list of people who have helped
+make this distribution what it is, either via code contributions, 
+patches, bug reports, help with troubleshooting, etc. A huge
+thank to all of them.
+
+    * Breno G. de Oliveira <garu at cpan.org>
+    * Michael G. Schwern <schwern at pobox.com>
+    * Neil Kirsopp <neil at broadbean.com>
+    * Nick S. Knutov <nick at knutov.com>
+
+
diff --git a/Changes b/Changes
index 0554313..1507cc6 100644
--- a/Changes
+++ b/Changes
@@ -1,71 +1,74 @@
 Revision history for Dancer-Session-Cookie
 
-0.22      2013-05-31 23:38:07 America/New_York
+0.24 2014-07-29
+ [MISC]
+ - Release again, this time with real co-maint permissions.
+
+ [STATISTICS]
+ - code churn: 1 file changed, 57 insertions(+), 53 deletions(-)
+
+0.23 2014-07-17
+ [CHANGED]
+ - Requires Session::Storage::Secure 0.010 to allow storing objects, which
+   is specially relevant for JSON::bool data.
+
+ [STATISTICS]
+ - code churn: 8 files changed, 67 insertions(+), 119 deletions(-)
+
+0.22 2013-05-31T23:38:07Z America/New_York
+ [CHANGED]
+ - Requires Session::Storage::Secure 0.007 for improved resistance to
+   timing attacks
+
+0.21 2013-05-08T22:33:10Z America/New_York
+ - Require Dancer 1.3113 and use its new features to fix more bugs that
+   caused sessions to not be set or reset correctly
+
+0.20 2013-04-25T11:41:22Z America/New_York
+ - Fix bug where session wasn't cleared correctly if route handler died
+   while processing a request
+
+0.19 2013-02-24T22:49:14Z America/New_York
+ - Fix bug with session_expires always expiring a cookie early
+
+0.18 2013-02-16T00:16:32Z America/New_York
+ - Hack around Dancer bug that renders the request object headers
+   repeatedly and locks out setting cookies after the first time
+
+0.17 2013-02-07T15:36:58Z America/New_York
+ - Fix localhost address used in tests
+
+0.16 2013-02-01T14:39:14Z America/New_York
+ - Now uses Session::Storage::Secure for encrypting and decrypting data;
+   Legacy decryption is preserved in case old cookies need to be read.
+ - Fix session destruction bug to ensure session is overwritten in the
+   browser, not just no longer sent (David Golden)
+
+0.15 2011-05-21
+ - skip test 02-configfile.t if YAML is not present FIX smoker test
+   failure. (Alexis Sukrieh)
+
+0.14 2011-03-12
+ [Michael G. Schwern]
+ - Fix for Dancer > v1.3012 
+ - Add support for session_secure to serve https only cookies. 
+ - Add missing MYMETA.yml 
+ - Make Dancer::Session::Cookie honor the session_name setting		
+   added to Dancer::Session::Abstract
+ - Add session_cookie_path to control the path of the cookie.
+
+0.13 2010-11-28T17:19:58Z
+ - Some documentation fixes. No functional change.
+
+0.12 2010-09-16T13:29:09Z
+ - Fix a warning when testing against newer Dancer. No functional
+ - change.
+
+0.11 2010-02-17T16:12:21Z
+ - Chase the ever-changing Dancer core :) No functional change.
+ - More tests.
+
+0.1 2010-02-02T17:20:11Z
+ - First version separated from the Dancer core. No functional
+ - change.
 
-    [CHANGED]
-
-    - Requires Session::Storage::Secure 0.007 for improved resistance
-      to timing attacks
-
-0.21      2013-05-08 22:33:10 America/New_York
-
-    - Require Dancer 1.3113 and use its new features to fix more bugs
-      that caused sessions to not be set or reset correctly
-
-0.20      2013-04-25 11:41:22 America/New_York
-
-    - Fix bug where session wasn't cleared correctly if route handler
-      died while processing a request
-
-0.19      2013-02-24 22:49:14 America/New_York
-
-    - Fix bug with session_expires always expiring a cookie early
-
-0.18      2013-02-16 00:16:32 America/New_York
-
-    - Hack around Dancer bug that renders the request object headers
-      repeatedly and locks out setting cookies after the first time
-
-0.17      2013-02-07 15:36:58 America/New_York
-
-    - Fix localhost address used in tests
-
-0.16      2013-02-01 14:39:14 America/New_York
-
-    - Now uses Session::Storage::Secure for encrypting and decrypting data;
-      Legacy decryption is preserved in case old cookies need to be read.
-
-    - Fix session destruction bug to ensure session is overwritten in
-      the browser, not just no longer sent (David Golden)
-
-0.15    2011-05-21
-
-    * skip test 02-configfile.t if YAML is not present
-      FIX smoker test failure.
-      (Alexis Sukrieh)
-
-0.14    2011-03-12
-    
-        [ Michael G. Schwern ]
-
-    * Fix for Dancer > v1.3012 
-    * Add support for session_secure to serve https only cookies. 
-    * Add missing MYMETA.yml 
-    * Make Dancer::Session::Cookie honor the session_name setting 
-      added to Dancer::Session::Abstract
-    * Add session_cookie_path to control the path of the cookie.
-
-0.13    Sun Nov 28 17:19:58 MSK 2010
-                Some documentation fixes. No functional change.
-
-0.12    Thu Sep 16 13:29:09 MSD 2010
-        Fix a warning when testing against newer Dancer. No functional
-        change.
-
-0.11    Wed Feb 17 16:12:21 MSK 2010
-        Chase the ever-changing Dancer core :) No functional change.
-        More tests.
-
-0.1     Tue Feb  2 17:20:11 MSK 2010
-        First version separated from the Dancer core. No functional
-        change.
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..980f905
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,44 @@
+
+This is the Perl distribution Dancer-Session-Cookie.
+
+Installing Dancer-Session-Cookie is straightforward.
+
+## Installation with cpanm
+
+If you have cpanm, you only need one line:
+
+    % cpanm Dancer::Session::Cookie
+
+If you are installing into a system-wide directory, you may need to pass the
+"-S" flag to cpanm, which uses sudo to install the module:
+
+    % cpanm -S Dancer::Session::Cookie
+
+## Installing with the CPAN shell
+
+Alternatively, if your CPAN shell is set up, you should just be able to do:
+
+    % cpan Dancer::Session::Cookie
+
+## Manual installation
+
+As a last resort, you can manually install it. Download the tarball, untar it,
+then build it:
+
+    % perl Build.PL
+    % ./Build && ./Build test
+
+Then install it:
+
+    % ./Build install
+
+If you are installing into a system-wide directory, you may need to run:
+
+    % sudo ./Build install
+
+## Documentation
+
+Dancer-Session-Cookie documentation is available as POD.
+You can run perldoc from a shell to read the documentation:
+
+    % perldoc Dancer::Session::Cookie
diff --git a/LICENSE b/LICENSE
index b4b06bb..943d221 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-This software is copyright (c) 2013 by Alex Kapranoff.
+This software is copyright (c) 2014 by Alex Kapranoff.
 
 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,7 +12,7 @@ b) the "Artistic License"
 
 --- The GNU General Public License, Version 1, February 1989 ---
 
-This software is Copyright (c) 2013 by Alex Kapranoff.
+This software is Copyright (c) 2014 by Alex Kapranoff.
 
 This is free software, licensed under:
 
@@ -22,7 +22,7 @@ This is free software, licensed under:
                      Version 1, February 1989
 
  Copyright (C) 1989 Free Software Foundation, Inc.
- 51 Franklin St, Suite 500, Boston, MA  02110-1335  USA
+ 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
@@ -272,7 +272,7 @@ That's all there is to it!
 
 --- The Artistic License 1.0 ---
 
-This software is Copyright (c) 2013 by Alex Kapranoff.
+This software is Copyright (c) 2014 by Alex Kapranoff.
 
 This is free software, licensed under:
 
diff --git a/MANIFEST b/MANIFEST
index 5cb56e8..c27d786 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,14 +1,20 @@
+Build.PL
+CONTRIBUTORS
 Changes
+INSTALL
 LICENSE
 MANIFEST
+MANIFEST.SKIP
 META.json
 META.yml
-Makefile.PL
 README
+README.mkdn
+README.pod
+SIGNATURE
 dist.ini
 lib/Dancer/Session/Cookie.pm
 t/00-compile.t
-t/00-report-prereqs.t
+t/000-report-versions-tiny.t
 t/01-session.t
 t/02-configfile.t
 t/03-path.t
@@ -19,11 +25,5 @@ t/data/config.yml
 t/redirect-session-dancer.t
 t/server.t
 t/session-stealing.t
-xt/author/critic.t
-xt/author/pod-spell.t
-xt/release/distmeta.t
-xt/release/minimum-version.t
-xt/release/pod-coverage.t
-xt/release/pod-syntax.t
-xt/release/portability.t
-xt/release/test-version.t
+t/store-objects.t
+xt/release/unused-vars.t
diff --git a/MANIFEST.SKIP b/MANIFEST.SKIP
new file mode 100644
index 0000000..14b1137
--- /dev/null
+++ b/MANIFEST.SKIP
@@ -0,0 +1 @@
+^Dancer-Session-Cookie.*
diff --git a/META.json b/META.json
index 100c49c..0215c84 100644
--- a/META.json
+++ b/META.json
@@ -3,10 +3,11 @@
    "author" : [
       "Alex Kapranoff <kappa at cpan.org>",
       "Alex Sukria <sukria at cpan.org>",
-      "David Golden <dagolden at cpan.org>"
+      "David Golden <dagolden at cpan.org>",
+      "Yanick Champoux <yanick at cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 4.300034, CPAN::Meta::Converter version 2.131490",
+   "generated_by" : "Dist::Zilla version 5.019, CPAN::Meta::Converter version 2.140640",
    "license" : [
       "perl_5"
    ],
@@ -15,29 +16,20 @@
       "version" : "2"
    },
    "name" : "Dancer-Session-Cookie",
-   "no_index" : {
-      "directory" : [
-         "t",
-         "xt",
-         "examples",
-         "corpus"
-      ],
-      "package" : [
-         "DB"
-      ]
-   },
    "prereqs" : {
+      "build" : {
+         "requires" : {
+            "Module::Build" : "0.3601"
+         }
+      },
       "configure" : {
          "requires" : {
-            "ExtUtils::MakeMaker" : "6.30"
+            "Module::Build" : "0.3601"
          }
       },
       "develop" : {
          "requires" : {
-            "Pod::Coverage::TrustPod" : "0",
-            "Test::CPAN::Meta" : "0",
-            "Test::Pod" : "1.41",
-            "Test::Pod::Coverage" : "1.08"
+            "version" : "0.9901"
          }
       },
       "runtime" : {
@@ -49,12 +41,11 @@
             "Dancer::Cookies" : "0",
             "Dancer::Session::Abstract" : "0",
             "MIME::Base64" : "0",
-            "Session::Storage::Secure" : "0.007",
+            "Session::Storage::Secure" : "0.010",
             "Storable" : "0",
             "String::CRC32" : "0",
             "Time::Duration::Parse" : "0",
             "base" : "0",
-            "perl" : "5.006",
             "strict" : "0",
             "warnings" : "0"
          }
@@ -62,44 +53,46 @@
       "test" : {
          "requires" : {
             "Dancer::ModuleLoader" : "0",
-            "ExtUtils::MakeMaker" : "0",
-            "File::Find" : "0",
+            "Dancer::Test" : "0",
             "File::Spec" : "0",
-            "File::Spec::Functions" : "0",
             "File::Temp" : "0",
             "FindBin" : "0",
             "HTTP::Cookies" : "0",
             "HTTP::Date" : "0",
+            "IO::Handle" : "0",
+            "IPC::Open3" : "0",
             "LWP" : "0",
             "LWP::UserAgent" : "0",
-            "List::Util" : "0",
             "Test::Exception" : "0",
             "Test::More" : "0.96",
             "Test::NoWarnings" : "0",
-            "Test::TCP" : "0"
+            "Test::TCP" : "0",
+            "perl" : "5.006"
          }
       }
    },
    "provides" : {
       "Dancer::Session::Cookie" : {
          "file" : "lib/Dancer/Session/Cookie.pm",
-         "version" : "0.22"
+         "version" : "0.24"
       }
    },
    "release_status" : "stable",
    "resources" : {
       "bugtracker" : {
-         "web" : "https://github.com/dagolden/dancer-session-cookie/issues"
+         "web" : "https://github.com/perldancer/Dancer-Session-Cookie/issues"
       },
-      "homepage" : "https://metacpan.org/release/Dancer-Session-Cookie",
+      "homepage" : "http://search.cpan.org/dist/Dancer-Session-Cookie/",
       "repository" : {
          "type" : "git",
-         "url" : "git://github.com/dagolden/dancer-session-cookie.git",
-         "web" : "https://github.com/dagolden/dancer-session-cookie"
+         "url" : "https://github.com/perldancer/Dancer-Session-Cookie.git",
+         "web" : "https://github.com/perldancer/Dancer-Session-Cookie"
       }
    },
-   "version" : "0.22",
+   "version" : "0.24",
+   "x_authority" : "cpan:YANICK",
    "x_contributors" : [
+      "Breno G. de Oliveira <garu at cpan.org>",
       "Michael G. Schwern <schwern at pobox.com>",
       "Neil Kirsopp <neil at broadbean.com>",
       "Nick S. Knutov <nick at knutov.com>"
diff --git a/META.yml b/META.yml
index 3c25884..daef695 100644
--- a/META.yml
+++ b/META.yml
@@ -4,66 +4,61 @@ author:
   - 'Alex Kapranoff <kappa at cpan.org>'
   - 'Alex Sukria <sukria at cpan.org>'
   - 'David Golden <dagolden at cpan.org>'
+  - 'Yanick Champoux <yanick at cpan.org>'
 build_requires:
-  Dancer::ModuleLoader: 0
-  ExtUtils::MakeMaker: 0
-  File::Find: 0
-  File::Spec: 0
-  File::Spec::Functions: 0
-  File::Temp: 0
-  FindBin: 0
-  HTTP::Cookies: 0
-  HTTP::Date: 0
-  LWP: 0
-  LWP::UserAgent: 0
-  List::Util: 0
-  Test::Exception: 0
-  Test::More: 0.96
-  Test::NoWarnings: 0
-  Test::TCP: 0
+  Dancer::ModuleLoader: '0'
+  Dancer::Test: '0'
+  File::Spec: '0'
+  File::Temp: '0'
+  FindBin: '0'
+  HTTP::Cookies: '0'
+  HTTP::Date: '0'
+  IO::Handle: '0'
+  IPC::Open3: '0'
+  LWP: '0'
+  LWP::UserAgent: '0'
+  Module::Build: '0.3601'
+  Test::Exception: '0'
+  Test::More: '0.96'
+  Test::NoWarnings: '0'
+  Test::TCP: '0'
+  perl: '5.006'
 configure_requires:
-  ExtUtils::MakeMaker: 6.30
+  Module::Build: '0.3601'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300034, CPAN::Meta::Converter version 2.131490'
+generated_by: 'Dist::Zilla version 5.019, CPAN::Meta::Converter version 2.140640'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
+  version: '1.4'
 name: Dancer-Session-Cookie
-no_index:
-  directory:
-    - t
-    - xt
-    - examples
-    - corpus
-  package:
-    - DB
 provides:
   Dancer::Session::Cookie:
     file: lib/Dancer/Session/Cookie.pm
-    version: 0.22
+    version: '0.24'
 requires:
-  Crypt::CBC: 0
-  Crypt::Rijndael: 0
-  Dancer: 1.3113
-  Dancer::Cookie: 0
-  Dancer::Cookies: 0
-  Dancer::Session::Abstract: 0
-  MIME::Base64: 0
-  Session::Storage::Secure: 0.007
-  Storable: 0
-  String::CRC32: 0
-  Time::Duration::Parse: 0
-  base: 0
-  perl: 5.006
-  strict: 0
-  warnings: 0
+  Crypt::CBC: '0'
+  Crypt::Rijndael: '0'
+  Dancer: '1.3113'
+  Dancer::Cookie: '0'
+  Dancer::Cookies: '0'
+  Dancer::Session::Abstract: '0'
+  MIME::Base64: '0'
+  Session::Storage::Secure: '0.010'
+  Storable: '0'
+  String::CRC32: '0'
+  Time::Duration::Parse: '0'
+  base: '0'
+  strict: '0'
+  warnings: '0'
 resources:
-  bugtracker: https://github.com/dagolden/dancer-session-cookie/issues
-  homepage: https://metacpan.org/release/Dancer-Session-Cookie
-  repository: git://github.com/dagolden/dancer-session-cookie.git
-version: 0.22
+  bugtracker: https://github.com/perldancer/Dancer-Session-Cookie/issues
+  homepage: http://search.cpan.org/dist/Dancer-Session-Cookie/
+  repository: https://github.com/perldancer/Dancer-Session-Cookie.git
+version: '0.24'
+x_authority: cpan:YANICK
 x_contributors:
+  - 'Breno G. de Oliveira <garu at cpan.org>'
   - 'Michael G. Schwern <schwern at pobox.com>'
   - 'Neil Kirsopp <neil at broadbean.com>'
   - 'Nick S. Knutov <nick at knutov.com>'
diff --git a/Makefile.PL b/Makefile.PL
deleted file mode 100644
index 966133d..0000000
--- a/Makefile.PL
+++ /dev/null
@@ -1,95 +0,0 @@
-
-use strict;
-use warnings;
-
-use 5.006;
-
-use ExtUtils::MakeMaker 6.30;
-
-
-
-my %WriteMakefileArgs = (
-  "ABSTRACT" => "Encrypted cookie-based session backend for Dancer",
-  "AUTHOR" => "Alex Kapranoff <kappa\@cpan.org>, Alex Sukria <sukria\@cpan.org>, David Golden <dagolden\@cpan.org>",
-  "BUILD_REQUIRES" => {},
-  "CONFIGURE_REQUIRES" => {
-    "ExtUtils::MakeMaker" => "6.30"
-  },
-  "DISTNAME" => "Dancer-Session-Cookie",
-  "EXE_FILES" => [],
-  "LICENSE" => "perl",
-  "NAME" => "Dancer::Session::Cookie",
-  "PREREQ_PM" => {
-    "Crypt::CBC" => 0,
-    "Crypt::Rijndael" => 0,
-    "Dancer" => "1.3113",
-    "Dancer::Cookie" => 0,
-    "Dancer::Cookies" => 0,
-    "Dancer::Session::Abstract" => 0,
-    "MIME::Base64" => 0,
-    "Session::Storage::Secure" => "0.007",
-    "Storable" => 0,
-    "String::CRC32" => 0,
-    "Time::Duration::Parse" => 0,
-    "base" => 0,
-    "strict" => 0,
-    "warnings" => 0
-  },
-  "TEST_REQUIRES" => {
-    "Dancer::ModuleLoader" => 0,
-    "ExtUtils::MakeMaker" => 0,
-    "File::Find" => 0,
-    "File::Spec" => 0,
-    "File::Spec::Functions" => 0,
-    "File::Temp" => 0,
-    "FindBin" => 0,
-    "HTTP::Cookies" => 0,
-    "HTTP::Date" => 0,
-    "LWP" => 0,
-    "LWP::UserAgent" => 0,
-    "List::Util" => 0,
-    "Test::Exception" => 0,
-    "Test::More" => "0.96",
-    "Test::NoWarnings" => 0,
-    "Test::TCP" => 0
-  },
-  "VERSION" => "0.22",
-  "test" => {
-    "TESTS" => "t/*.t"
-  }
-);
-
-
-unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
-  my $tr = delete $WriteMakefileArgs{TEST_REQUIRES};
-  my $br = $WriteMakefileArgs{BUILD_REQUIRES};
-  for my $mod ( keys %$tr ) {
-    if ( exists $br->{$mod} ) {
-      $br->{$mod} = $tr->{$mod} if $tr->{$mod} > $br->{$mod};
-    }
-    else {
-      $br->{$mod} = $tr->{$mod};
-    }
-  }
-}
-
-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};
-    }
-  }
-}
-
-delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
-  unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
-
-WriteMakefile(%WriteMakefileArgs);
-
-
-
diff --git a/README b/README
index 1cb2f92..9ce4da8 100644
--- a/README
+++ b/README
@@ -3,7 +3,7 @@ NAME
     Dancer
 
 VERSION
-    version 0.22
+    version 0.24
 
 SYNOPSIS
     Your config.yml:
@@ -61,20 +61,6 @@ SEE ALSO
     Catalyst::Plugin::CookiedSession, "session" in Mojolicious::Controller
     for alternative implementation of this mechanism.
 
-SUPPORT
-  Bugs / Feature Requests
-    Please report any bugs or feature requests through the issue tracker at
-    <https://github.com/dagolden/dancer-session-cookie/issues>. You will be
-    notified automatically of any progress on your issue.
-
-  Source Code
-    This is open source software. The code repository is available for
-    public review and contribution under the terms of the license.
-
-    <https://github.com/dagolden/dancer-session-cookie>
-
-      git clone git://github.com/dagolden/dancer-session-cookie.git
-
 AUTHORS
     *   Alex Kapranoff <kappa at cpan.org>
 
@@ -82,15 +68,10 @@ AUTHORS
 
     *   David Golden <dagolden at cpan.org>
 
-CONTRIBUTORS
-    *   Michael G. Schwern <schwern at pobox.com>
-
-    *   Neil Kirsopp <neil at broadbean.com>
-
-    *   Nick S. Knutov <nick at knutov.com>
+    *   Yanick Champoux <yanick at cpan.org>
 
 COPYRIGHT AND LICENSE
-    This software is copyright (c) 2013 by Alex Kapranoff.
+    This software is copyright (c) 2014 by Alex Kapranoff.
 
     This is free software; you can redistribute it and/or modify it under
     the same terms as the Perl 5 programming language system itself.
diff --git a/README.mkdn b/README.mkdn
new file mode 100644
index 0000000..1be6dae
--- /dev/null
+++ b/README.mkdn
@@ -0,0 +1,82 @@
+# NAME
+
+Dancer::Session::Cookie - Encrypted cookie-based session backend for Dancer
+
+# VERSION
+
+version 0.24
+
+# SYNOPSIS
+
+Your `config.yml`:
+
+    session: "cookie"
+    session_cookie_key: "this random key IS NOT very random"
+
+# DESCRIPTION
+
+This module implements a session engine for sessions stored entirely
+in cookies. Usually only **session id** is stored in cookies and
+the session data itself is saved in some external storage, e.g.
+database. This module allows to avoid using external storage at
+all.
+
+Since server cannot trust any data returned by client in cookies, this
+module uses cryptography to ensure integrity and also secrecy. The
+data your application stores in sessions is completely protected from
+both tampering and analysis on the client-side.
+
+# CONFIGURATION
+
+The setting **session** should be set to `cookie` in order to use this session
+engine in a Dancer application. See [Dancer::Config](https://metacpan.org/pod/Dancer::Config).
+
+A mandatory setting is needed as well: **session\_cookie\_key**, which should
+contain a random string of at least 16 characters (shorter keys are
+not cryptographically strong using AES in CBC mode).
+
+Here is an example configuration to use in your `config.yml`:
+
+    session: "cookie"
+    session_cookie_key: "kjsdf07234hjf0sdkflj12*&(@*jk"
+
+Compromising **session\_cookie\_key** will disclose session data to
+clients and proxies or eavesdroppers and will also allow tampering,
+for example session theft. So, your `config.yml` should be kept at
+least as secure as your database passwords or even more.
+
+Also, changing **session\_cookie\_key** will have an effect of immediate
+invalidation of all sessions issued with the old value of key.
+
+**session\_cookie\_path** can be used to control the path of the session
+cookie.  The default is /.
+
+The global **session\_secure** setting is honoured and a secure (https
+only) cookie will be used if set.
+
+# DEPENDENCY
+
+This module depends on [Session::Storage::Secure](https://metacpan.org/pod/Session::Storage::Secure).  Legacy support is provided
+using [Crypt::CBC](https://metacpan.org/pod/Crypt::CBC), [Crypt::Rijndael](https://metacpan.org/pod/Crypt::Rijndael), [String::CRC32](https://metacpan.org/pod/String::CRC32), [Storable](https://metacpan.org/pod/Storable) and
+[MIME::Base64](https://metacpan.org/pod/MIME::Base64).
+
+# SEE ALSO
+
+See [Dancer::Session](https://metacpan.org/pod/Dancer::Session) for details about session usage in route handlers.
+
+See [Plack::Middleware::Session::Cookie](https://metacpan.org/pod/Plack::Middleware::Session::Cookie),
+[Catalyst::Plugin::CookiedSession](https://metacpan.org/pod/Catalyst::Plugin::CookiedSession), ["session" in Mojolicious::Controller](https://metacpan.org/pod/Mojolicious::Controller#session) for alternative implementation of this mechanism.
+
+# AUTHORS
+
+- Alex Kapranoff <kappa at cpan.org>
+- Alex Sukria <sukria at cpan.org>
+- David Golden <dagolden at cpan.org>
+- Yanick Champoux <yanick at cpan.org> [![endorse](http://api.coderwall.com/yanick/endorsecount.png)](http://coderwall.com/yanick)
+
+# COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2014 by Alex Kapranoff.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
diff --git a/README.pod b/README.pod
new file mode 100644
index 0000000..e26b0a8
--- /dev/null
+++ b/README.pod
@@ -0,0 +1,135 @@
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Dancer::Session::Cookie - Encrypted cookie-based session backend for Dancer
+
+=head1 VERSION
+
+version 0.22
+
+=head1 SYNOPSIS
+
+Your F<config.yml>:
+
+    session: "cookie"
+    session_cookie_key: "this random key IS NOT very random"
+
+=head1 DESCRIPTION
+
+This module implements a session engine for sessions stored entirely
+in cookies. Usually only B<session id> is stored in cookies and
+the session data itself is saved in some external storage, e.g.
+database. This module allows to avoid using external storage at
+all.
+
+Since server cannot trust any data returned by client in cookies, this
+module uses cryptography to ensure integrity and also secrecy. The
+data your application stores in sessions is completely protected from
+both tampering and analysis on the client-side.
+
+=head1 CONFIGURATION
+
+The setting B<session> should be set to C<cookie> in order to use this session
+engine in a Dancer application. See L<Dancer::Config>.
+
+A mandatory setting is needed as well: B<session_cookie_key>, which should
+contain a random string of at least 16 characters (shorter keys are
+not cryptographically strong using AES in CBC mode).
+
+Here is an example configuration to use in your F<config.yml>:
+
+    session: "cookie"
+    session_cookie_key: "kjsdf07234hjf0sdkflj12*&(@*jk"
+
+Compromising B<session_cookie_key> will disclose session data to
+clients and proxies or eavesdroppers and will also allow tampering,
+for example session theft. So, your F<config.yml> should be kept at
+least as secure as your database passwords or even more.
+
+Also, changing B<session_cookie_key> will have an effect of immediate
+invalidation of all sessions issued with the old value of key.
+
+B<session_cookie_path> can be used to control the path of the session
+cookie.  The default is /.
+
+The global B<session_secure> setting is honoured and a secure (https
+only) cookie will be used if set.
+
+=head1 DEPENDENCY
+
+This module depends on L<Session::Storage::Secure>.  Legacy support is provided
+using L<Crypt::CBC>, L<Crypt::Rijndael>, L<String::CRC32>, L<Storable> and
+L<MIME::Base64>.
+
+=head1 SEE ALSO
+
+See L<Dancer::Session> for details about session usage in route handlers.
+
+See L<Plack::Middleware::Session::Cookie>,
+L<Catalyst::Plugin::CookiedSession>, L<Mojolicious::Controller/session> for alternative implementation of this mechanism.
+
+=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
+
+=head1 SUPPORT
+
+=head2 Bugs / Feature Requests
+
+Please report any bugs or feature requests through the issue tracker
+at L<https://github.com/dagolden/dancer-session-cookie/issues>.
+You will be notified automatically of any progress on your issue.
+
+=head2 Source Code
+
+This is open source software.  The code repository is available for
+public review and contribution under the terms of the license.
+
+L<https://github.com/dagolden/dancer-session-cookie>
+
+  git clone git://github.com/dagolden/dancer-session-cookie.git
+
+=head1 AUTHORS
+
+=over 4
+
+=item *
+
+Alex Kapranoff <kappa at cpan.org>
+
+=item *
+
+Alex Sukria <sukria at cpan.org>
+
+=item *
+
+David Golden <dagolden at cpan.org>
+
+=back
+
+=head1 CONTRIBUTORS
+
+=over 4
+
+=item *
+
+Michael G. Schwern <schwern at pobox.com>
+
+=item *
+
+Neil Kirsopp <neil at broadbean.com>
+
+=item *
+
+Nick S. Knutov <nick at knutov.com>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2013 by Alex Kapranoff.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
diff --git a/SIGNATURE b/SIGNATURE
new file mode 100644
index 0000000..36b113a
--- /dev/null
+++ b/SIGNATURE
@@ -0,0 +1,51 @@
+This file contains message digests of all files listed in MANIFEST,
+signed via the Module::Signature module, version 0.73.
+
+To verify the content in this distribution, first make sure you have
+Module::Signature installed, then type:
+
+    % cpansign -v
+
+It will check each file's integrity, as well as the signature's
+validity.  If "==> Signature verified OK! <==" is not displayed,
+the distribution may already have been compromised, and you should
+not run its Makefile.PL or Build.PL.
+
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+SHA1 de3de820aaf7de6a2031053921b227ff63238a21 Build.PL
+SHA1 48ff8525f9bb95f588978c21364015dd99f67bb8 CONTRIBUTORS
+SHA1 ce1443fa554d6f5077d10ca2fc9ebc83557aa4e1 Changes
+SHA1 c98e02fd3990b3b62eb4fc324b92a1fba92ace53 INSTALL
+SHA1 2a6414727e0074d2cef6b4167fa0b29454553c01 LICENSE
+SHA1 8b7939d6e39dcd53286c67360de0dd6737b627f1 MANIFEST
+SHA1 c5772bbbfecb397596dd40178064698e7dbfd09d MANIFEST.SKIP
+SHA1 d9768f0db411d1d59a07d74df79f02438d72fcdd META.json
+SHA1 2079bc54bc75e601480fb26b2601c4b85948d233 META.yml
+SHA1 124ceddbfdd3f35fcb4a7a6b48e13fcdf9044e6f README
+SHA1 506c559f3b976b6533c6e7f319b576c6daa8138c README.mkdn
+SHA1 62d22f798d395e4bffccdb58659ca4e3e5624c66 README.pod
+SHA1 9774967f9c6b5c9659307544b5c7c4ccc9cb1f03 dist.ini
+SHA1 1c10bf3017224c5049b450af03675c6ff2e89554 lib/Dancer/Session/Cookie.pm
+SHA1 163bf20b59b97196261f02963acca2fac83b6cbd t/00-compile.t
+SHA1 bf2513d36d4b421f0fa76af587eb70f095d073e6 t/000-report-versions-tiny.t
+SHA1 9cb51a810ef592ec1d3cb21525e987d70b3291cd t/01-session.t
+SHA1 2d07fabcb69b5852d93b3569f6ff0a711bfd7aaf t/02-configfile.t
+SHA1 573b7e63fb84bed7ff5c95b1628ebcd6e9940c1a t/03-path.t
+SHA1 16caf79a98eb428a808a804c8cf2e1b90d10301e t/04-session_name.t
+SHA1 a00dfdeb42af8f5f51cedd10af6292191ded2458 t/05-session_secure.t
+SHA1 be86fdc41d72e971e74f143e4d83099b26c9452b t/06-redirect.t
+SHA1 f6c45320f8fe14723a8f2e2510021c6b81d0ef0c t/data/config.yml
+SHA1 ea91ce45a7466561c5c62be83fb0fc45f35db21a t/redirect-session-dancer.t
+SHA1 6c099c54393367f5f5a21dc76a490db58de7fa08 t/server.t
+SHA1 2b3f7051280c0e2826f3fd8cb3c5721500055417 t/session-stealing.t
+SHA1 a960ffdbb5965f6a8f5f00ca58319cb22b7e8da0 t/store-objects.t
+SHA1 d1fe7d94b3edc7847eb187d4ee41f66e19cf8907 xt/release/unused-vars.t
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1
+
+iEYEARECAAYFAlPXlOwACgkQ34Hwf+GwC4zuVwCePS7/YDc+4fLGeYtaNIT+aF7J
+qosAnAmWJSmshgbz2bC8Ls4oDMt/8sVw
+=0ARY
+-----END PGP SIGNATURE-----
diff --git a/dist.ini b/dist.ini
index f883449..da751dd 100644
--- a/dist.ini
+++ b/dist.ini
@@ -2,15 +2,10 @@ name = Dancer-Session-Cookie
 author = Alex Kapranoff <kappa at cpan.org>
 author = Alex Sukria <sukria at cpan.org>
 author = David Golden <dagolden at cpan.org>
+author = Yanick Champoux <yanick at cpan.org>
 license = Perl_5
 copyright_holder = Alex Kapranoff
 
-[@DAGOLDEN]
-:version = 0.036
-AutoMetaResources.bugtracker.rt = 0
-AutoMetaResources.bugtracker.github = user:dagolden
-stopwords = AES
-stopwords = Kirsopp
-stopwords = cryptographically
-stopwords = honoured
-stopwords = https
+[@Filter]
+-bundle=@YANICK
+-remove=Covenant
diff --git a/lib/Dancer/Session/Cookie.pm b/lib/Dancer/Session/Cookie.pm
index df3d403..04df0ed 100644
--- a/lib/Dancer/Session/Cookie.pm
+++ b/lib/Dancer/Session/Cookie.pm
@@ -1,12 +1,16 @@
 package Dancer::Session::Cookie;
+BEGIN {
+  $Dancer::Session::Cookie::AUTHORITY = 'cpan:YANICK';
+}
+$Dancer::Session::Cookie::VERSION = '0.24';
 use strict;
 use warnings;
 # ABSTRACT: Encrypted cookie-based session backend for Dancer
-our $VERSION = '0.22'; # VERSION
+# VERSION
 
 use base 'Dancer::Session::Abstract';
 
-use Session::Storage::Secure 0.007;
+use Session::Storage::Secure 0.010;
 use Crypt::CBC;
 use String::CRC32;
 use Crypt::Rijndael;
@@ -45,6 +49,8 @@ sub init {
     $STORE = Session::Storage::Secure->new(
         secret_key => $key,
         ( $duration ? ( default_duration => $duration ) : () ),
+        sereal_encoder_options => { snappy => 1, stringify_unknown => 1 },
+        sereal_decoder_options => { validate_utf8 => 1 },
     );
 }
 
@@ -86,7 +92,6 @@ sub _old_retrieve {
 }
 
 sub create {
-    my $class = shift;
     # cache the newly created session
     return $SESSION = Dancer::Session::Cookie->new;
 }
@@ -184,7 +189,7 @@ sub _old_decrypt {
 
 =pod
 
-=encoding utf-8
+=encoding UTF-8
 
 =head1 NAME
 
@@ -192,7 +197,7 @@ Dancer::Session::Cookie - Encrypted cookie-based session backend for Dancer
 
 =head1 VERSION
 
-version 0.22
+version 0.24
 
 =head1 SYNOPSIS
 
@@ -255,25 +260,6 @@ See L<Dancer::Session> for details about session usage in route handlers.
 See L<Plack::Middleware::Session::Cookie>,
 L<Catalyst::Plugin::CookiedSession>, L<Mojolicious::Controller/session> for alternative implementation of this mechanism.
 
-=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
-
-=head1 SUPPORT
-
-=head2 Bugs / Feature Requests
-
-Please report any bugs or feature requests through the issue tracker
-at L<https://github.com/dagolden/dancer-session-cookie/issues>.
-You will be notified automatically of any progress on your issue.
-
-=head2 Source Code
-
-This is open source software.  The code repository is available for
-public review and contribution under the terms of the license.
-
-L<https://github.com/dagolden/dancer-session-cookie>
-
-  git clone git://github.com/dagolden/dancer-session-cookie.git
-
 =head1 AUTHORS
 
 =over 4
@@ -290,29 +276,15 @@ Alex Sukria <sukria at cpan.org>
 
 David Golden <dagolden at cpan.org>
 
-=back
-
-=head1 CONTRIBUTORS
-
-=over 4
-
-=item *
-
-Michael G. Schwern <schwern at pobox.com>
-
-=item *
-
-Neil Kirsopp <neil at broadbean.com>
-
 =item *
 
-Nick S. Knutov <nick at knutov.com>
+Yanick Champoux <yanick at cpan.org>
 
 =back
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Alex Kapranoff.
+This software is copyright (c) 2014 by Alex Kapranoff.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
diff --git a/t/00-compile.t b/t/00-compile.t
index 6454c82..95ce455 100644
--- a/t/00-compile.t
+++ b/t/00-compile.t
@@ -1,74 +1,50 @@
-#!perl
-
+use 5.006;
 use strict;
 use warnings;
 
-use Test::More;
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.043
 
+use Test::More  tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
 
 
-use File::Find;
-use File::Temp qw{ tempdir };
 
-my @modules;
-find(
-  sub {
-    return if $File::Find::name !~ /\.pm\z/;
-    my $found = $File::Find::name;
-    $found =~ s{^lib/}{};
-    $found =~ s{[/\\]}{::}g;
-    $found =~ s/\.pm$//;
-    # nothing to skip
-    push @modules, $found;
-  },
-  'lib',
+my @module_files = (
+    'Dancer/Session/Cookie.pm'
 );
 
-sub _find_scripts {
-    my $dir = shift @_;
-
-    my @found_scripts = ();
-    find(
-      sub {
-        return unless -f;
-        my $found = $File::Find::name;
-        # nothing to skip
-        open my $FH, '<', $_ or do {
-          note( "Unable to open $found in ( $! ), skipping" );
-          return;
-        };
-        my $shebang = <$FH>;
-        return unless $shebang =~ /^#!.*?\bperl\b\s*$/;
-        push @found_scripts, $found;
-      },
-      $dir,
-    );
-
-    return @found_scripts;
-}
 
-my @scripts;
-do { push @scripts, _find_scripts($_) if -d $_ }
-    for qw{ bin script scripts };
 
-my $plan = scalar(@modules) + scalar(@scripts);
-$plan ? (plan tests => $plan) : (plan skip_all => "no tests to run");
+# no fake home requested
+
+my $inc_switch = -d 'blib' ? '-Mblib' : '-Ilib';
 
+use File::Spec;
+use IPC::Open3;
+use IO::Handle;
+
+open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
+
+my @warnings;
+for my $lib (@module_files)
 {
-    # fake home for cpan-testers
-     local $ENV{HOME} = tempdir( CLEANUP => 1 );
-
-    like( qx{ $^X -Ilib -e "require $_; print '$_ ok'" }, qr/^\s*$_ ok/s, "$_ loaded ok" )
-        for sort @modules;
-
-    SKIP: {
-        eval "use Test::Script 1.05; 1;";
-        skip "Test::Script needed to test script compilation", scalar(@scripts) if $@;
-        foreach my $file ( @scripts ) {
-            my $script = $file;
-            $script =~ s!.*/!!;
-            script_compiles( $file, "$script script compiles" );
-        }
+    # see L<perlfaq8/How can I capture STDERR from an external command?>
+    my $stderr = IO::Handle->new;
+
+    my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, '-e', "require q[$lib]");
+    binmode $stderr, ':crlf' if $^O eq 'MSWin32';
+    my @_warnings = <$stderr>;
+    waitpid($pid, 0);
+    is($?, 0, "$lib loaded ok");
+
+    if (@_warnings)
+    {
+        warn @_warnings;
+        push @warnings, @_warnings;
     }
-
 }
+
+
+
+is(scalar(@warnings), 0, 'no warnings found') if $ENV{AUTHOR_TESTING};
+
+
diff --git a/t/00-report-prereqs.t b/t/00-report-prereqs.t
deleted file mode 100644
index 1607b99..0000000
--- a/t/00-report-prereqs.t
+++ /dev/null
@@ -1,86 +0,0 @@
-#!perl
-
-use strict;
-use warnings;
-
-use Test::More tests => 1;
-
-use ExtUtils::MakeMaker;
-use File::Spec::Functions;
-use List::Util qw/max/;
-
-my @modules = qw(
-  Crypt::CBC
-  Crypt::Rijndael
-  Dancer
-  Dancer::Cookie
-  Dancer::Cookies
-  Dancer::ModuleLoader
-  Dancer::Session::Abstract
-  ExtUtils::MakeMaker
-  File::Find
-  File::Spec
-  File::Spec::Functions
-  File::Temp
-  FindBin
-  HTTP::Cookies
-  HTTP::Date
-  LWP
-  LWP::UserAgent
-  List::Util
-  MIME::Base64
-  Session::Storage::Secure
-  Storable
-  String::CRC32
-  Test::Exception
-  Test::More
-  Test::NoWarnings
-  Test::TCP
-  Time::Duration::Parse
-  base
-  perl
-  strict
-  warnings
-);
-
-# replace modules with dynamic results from MYMETA.json if we can
-# (hide CPAN::Meta from prereq scanner)
-my $cpan_meta = "CPAN::Meta";
-if ( -f "MYMETA.json" && eval "require $cpan_meta" ) { ## no critic
-  if ( my $meta = eval { CPAN::Meta->load_file("MYMETA.json") } ) {
-    my $prereqs = $meta->prereqs;
-    delete $prereqs->{develop};
-    my %uniq = map {$_ => 1} map { keys %$_ } map { values %$_ } values %$prereqs;
-    $uniq{$_} = 1 for @modules; # don't lose any static ones
-    @modules = sort keys %uniq;
-  }
-}
-
-my @reports = [qw/Version Module/];
-
-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];
-  }
-  else {
-    push @reports, ["missing", $mod];
-  }
-}
-
-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 "Prerequisite Report:\n", map {sprintf("  %*s %*s\n",$vl,$_->[0],-$ml,$_->[1])} @reports;
-}
-
-pass;
-
-# vim: ts=2 sts=2 sw=2 et:
diff --git a/t/000-report-versions-tiny.t b/t/000-report-versions-tiny.t
new file mode 100644
index 0000000..328eb1a
--- /dev/null
+++ b/t/000-report-versions-tiny.t
@@ -0,0 +1,99 @@
+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 = '5.006';
+    $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('Crypt::CBC','any version') };
+eval { $v .= pmver('Crypt::Rijndael','any version') };
+eval { $v .= pmver('Dancer','1.3113') };
+eval { $v .= pmver('Dancer::Cookie','any version') };
+eval { $v .= pmver('Dancer::Cookies','any version') };
+eval { $v .= pmver('Dancer::ModuleLoader','any version') };
+eval { $v .= pmver('Dancer::Session::Abstract','any version') };
+eval { $v .= pmver('Dancer::Test','any version') };
+eval { $v .= pmver('File::Spec','any version') };
+eval { $v .= pmver('File::Temp','any version') };
+eval { $v .= pmver('FindBin','any version') };
+eval { $v .= pmver('HTTP::Cookies','any version') };
+eval { $v .= pmver('HTTP::Date','any version') };
+eval { $v .= pmver('IO::Handle','any version') };
+eval { $v .= pmver('IPC::Open3','any version') };
+eval { $v .= pmver('LWP','any version') };
+eval { $v .= pmver('LWP::UserAgent','any version') };
+eval { $v .= pmver('MIME::Base64','any version') };
+eval { $v .= pmver('Module::Build','0.3601') };
+eval { $v .= pmver('Session::Storage::Secure','0.010') };
+eval { $v .= pmver('Storable','any version') };
+eval { $v .= pmver('String::CRC32','any version') };
+eval { $v .= pmver('Test::Exception','any version') };
+eval { $v .= pmver('Test::More','0.96') };
+eval { $v .= pmver('Test::NoWarnings','any version') };
+eval { $v .= pmver('Test::TCP','any version') };
+eval { $v .= pmver('Time::Duration::Parse','any version') };
+eval { $v .= pmver('base','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;
diff --git a/t/store-objects.t b/t/store-objects.t
new file mode 100644
index 0000000..41d1d0d
--- /dev/null
+++ b/t/store-objects.t
@@ -0,0 +1,22 @@
+use strict;
+use warnings;
+
+use Test::More tests => 1;
+
+{
+    use Dancer ':tests';
+
+    set session_cookie_key => 'chocolate chips';
+    set session            => 'Cookie';
+
+    get '/' => sub {
+        session 'foo' => bless {}, 'SomeClass';
+
+        return 'ok';
+    }
+
+}
+
+use Dancer::Test;
+
+response_status_is '/' => 200, "session handles objects";
diff --git a/xt/author/critic.t b/xt/author/critic.t
deleted file mode 100644
index d5b4c96..0000000
--- a/xt/author/critic.t
+++ /dev/null
@@ -1,12 +0,0 @@
-#!perl
-
-use strict;
-use warnings;
-
-use Test::More;
-use English qw(-no_match_vars);
-
-eval "use Test::Perl::Critic";
-plan skip_all => 'Test::Perl::Critic required to criticise code' if $@;
-Test::Perl::Critic->import( -profile => "perlcritic.rc" ) if -e "perlcritic.rc";
-all_critic_ok();
diff --git a/xt/author/pod-spell.t b/xt/author/pod-spell.t
deleted file mode 100644
index e68b874..0000000
--- a/xt/author/pod-spell.t
+++ /dev/null
@@ -1,36 +0,0 @@
-use strict;
-use warnings;
-use Test::More;
-
-# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.006000
-eval "use Test::Spelling 0.12; use Pod::Wordlist::hanekomu; 1" or die $@;
-
-
-add_stopwords(<DATA>);
-all_pod_files_spelling_ok( qw( bin lib  ) );
-__DATA__
-AES
-Kirsopp
-cryptographically
-honoured
-https
-Alex
-Kapranoff
-kappa
-Sukria
-sukria
-David
-Golden
-dagolden
-Michael
-Schwern
-schwern
-Neil
-neil
-Nick
-Knutov
-nick
-lib
-Dancer
-Session
-Cookie
diff --git a/xt/release/distmeta.t b/xt/release/distmeta.t
deleted file mode 100644
index b46c7fc..0000000
--- a/xt/release/distmeta.t
+++ /dev/null
@@ -1,7 +0,0 @@
-#!perl
-
-use Test::More;
-
-eval "use Test::CPAN::Meta";
-plan skip_all => "Test::CPAN::Meta required for testing META.yml" if $@;
-meta_yaml_ok();
diff --git a/xt/release/minimum-version.t b/xt/release/minimum-version.t
deleted file mode 100644
index 708ba15..0000000
--- a/xt/release/minimum-version.t
+++ /dev/null
@@ -1,8 +0,0 @@
-#!perl
-
-use Test::More;
-
-eval "use Test::MinimumVersion";
-plan skip_all => "Test::MinimumVersion required for testing minimum versions"
-  if $@;
-all_minimum_version_ok( qq{5.010} );
diff --git a/xt/release/pod-coverage.t b/xt/release/pod-coverage.t
deleted file mode 100644
index b52218b..0000000
--- a/xt/release/pod-coverage.t
+++ /dev/null
@@ -1,13 +0,0 @@
-#!perl
-
-use Test::More;
-
-eval "use Test::Pod::Coverage 1.08";
-plan skip_all => "Test::Pod::Coverage 1.08 required for testing POD coverage"
-  if $@;
-
-eval "use Pod::Coverage::TrustPod";
-plan skip_all => "Pod::Coverage::TrustPod required for testing POD coverage"
-  if $@;
-
-all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' });
diff --git a/xt/release/pod-syntax.t b/xt/release/pod-syntax.t
deleted file mode 100644
index 8a22900..0000000
--- a/xt/release/pod-syntax.t
+++ /dev/null
@@ -1,7 +0,0 @@
-#!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();
diff --git a/xt/release/portability.t b/xt/release/portability.t
deleted file mode 100644
index 58dbc20..0000000
--- a/xt/release/portability.t
+++ /dev/null
@@ -1,12 +0,0 @@
-#!perl
-
-use strict;
-use warnings;
-
-use Test::More;
-
-eval 'use Test::Portability::Files';
-plan skip_all => 'Test::Portability::Files required for testing portability'
-    if $@;
-options(test_one_dot => 0);
-run_tests();
diff --git a/xt/release/test-version.t b/xt/release/test-version.t
deleted file mode 100644
index b7a0f17..0000000
--- a/xt/release/test-version.t
+++ /dev/null
@@ -1,22 +0,0 @@
-use strict;
-use warnings;
-use Test::More;
-
-# generated by Dist::Zilla::Plugin::Test::Version 0.002004
-BEGIN { eval "use Test::Version; 1;" or die $@; }
-
-my @imports = ( 'version_all_ok' );
-
-my $params = {
-    is_strict   => 0,
-    has_version => 1,
-};
-
-push @imports, $params
-    if version->parse( $Test::Version::VERSION ) >= version->parse('1.002');
-
-
-Test::Version->import(@imports);
-
-version_all_ok;
-done_testing;
diff --git a/xt/release/unused-vars.t b/xt/release/unused-vars.t
new file mode 100644
index 0000000..e601076
--- /dev/null
+++ b/xt/release/unused-vars.t
@@ -0,0 +1,14 @@
+#!perl
+
+use Test::More 0.96 tests => 1;
+eval { require Test::Vars };
+
+SKIP: {
+    skip 1 => 'Test::Vars required for testing for unused vars'
+        if $@;
+    Test::Vars->import;
+
+    subtest 'unused vars' => sub {
+all_vars_ok();
+    };
+};

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libdancer-session-cookie-perl.git



More information about the Pkg-perl-cvs-commits mailing list