Imported Upstream version 6.35 upstream/6.35
authorDongHun Kwak <dh0128.kwak@samsung.com>
Thu, 21 Jul 2022 02:28:24 +0000 (11:28 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Thu, 21 Jul 2022 02:28:24 +0000 (11:28 +0900)
37 files changed:
Changes
MANIFEST
META.json
META.yml
Makefile.PL
cpanfile
dist.ini
lib/LWP.pm
lib/LWP/Authen/Basic.pm
lib/LWP/Authen/Digest.pm
lib/LWP/Authen/Ntlm.pm
lib/LWP/ConnCache.pm
lib/LWP/Debug.pm
lib/LWP/Debug/TraceHTTP.pm
lib/LWP/DebugFile.pm
lib/LWP/MemberMixin.pm
lib/LWP/Protocol.pm
lib/LWP/Protocol/cpan.pm
lib/LWP/Protocol/data.pm
lib/LWP/Protocol/file.pm
lib/LWP/Protocol/ftp.pm
lib/LWP/Protocol/gopher.pm
lib/LWP/Protocol/http.pm
lib/LWP/Protocol/loopback.pm
lib/LWP/Protocol/mailto.pm
lib/LWP/Protocol/nntp.pm
lib/LWP/Protocol/nogo.pm
lib/LWP/RobotUA.pm
lib/LWP/Simple.pm
lib/LWP/UserAgent.pm
t/00-report-prereqs.dd
t/leak/no_leak.t [new file with mode: 0644]
xt/author/eol.t
xt/author/minimum-version.t [new file with mode: 0644]
xt/author/pod-spell.t
xt/release/changes_has_content.t
xt/release/minimum-version.t [deleted file]

diff --git a/Changes b/Changes
index e6aa28acd8ec3b400e168ed87af9090531a54c4e..10e02182591b49f9ee2f635441552d90e233c953 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,13 +1,25 @@
 Change history for libwww-perl
 
+6.35      2018-07-16 04:48:54Z
+    - fix file descriptor leak in LWP::Protocol (introduced in version 6.17)
+      that occurs for perl versions earlier than 5.18. (GH #296)
+
+6.34      2018-06-05 18:48:59Z
+    - timeout() documentation has more details about the response (thanks,
+      Andrew Grangaard!)
+    - HTTP::Status is now upgraded to 6.18 if 6.17 is installed (which had a
+      bug).
+
 6.33      2018-02-27 03:51:36Z
     - Fix send_te change from previous release, which was breaking
       LWP::Parallel::UserAgent and Test::Override::UserAgent (GH #281) (Doug
       Bell)
 
 6.32      2018-02-20 19:39:20Z
-    - Suggest LWP::ConsoleLogger as an alternative to the deprecated LWP::Debug (GH#278) (Olaf Alders)
-    - add send_te configuration to disable sending the TE header (GH#126) (Doug Bell)
+    - Suggest LWP::ConsoleLogger as an alternative to the deprecated LWP::Debug
+      (GH#278) (Olaf Alders)
+    - add send_te configuration to disable sending the TE header (GH#126)
+      (Doug Bell)
     - Added a developer feature to the http.t tests. (GH#257) (colinnewell)
 
 6.31      2017-12-11 01:55:53Z
@@ -25,7 +37,8 @@ Change history for libwww-perl
 
 6.28      2017-11-06
     - Remove last use of Geopt::Std (Sergey Remanov) (GH #267)
-    - Include unmatched connect error in status string (Patrik Lundin) (GH #269)
+    - Include unmatched connect error in status string (Patrik Lundin) (GH
+      #269)
     - Fix insecure open FILEHANDLE,EXPR (Takumi Akiyama) (GH #270)
 
 6.27      2017-09-21
@@ -97,13 +110,16 @@ Change history for libwww-perl
     - Updated test suite to use strict/warnings and Test::More (PR#88)
     - Additional tests for UserAgent coverage (PR#79)
     - Cleaned up documentation formatting and fixed several typos (PR#87, PR#93)
-    - Stop promoting use of HTTP::Cookies and instead use HTTP::CookieJar::LWP (PR#102)
+    - Stop promoting use of HTTP::Cookies and instead use HTTP::CookieJar::LWP
+      (PR#102)
     - Added some new documentation to UserAgent and tutorial (PR#68)
     - Allow default header to carry over when using ->post() in UA (PR#100)
 
 6.15    2015-12-15
-    - tests now use localhost rather than a net-accessible address (PR#76, RT#94959)
-    - fixed some tests to do what they intended (regex rather than boolean checks) (from PR#28)
+    - tests now use localhost rather than a net-accessible address (PR#76,
+      RT#94959)
+    - fixed some tests to do what they intended (regex rather than boolean
+      checks) (from PR#28)
     - conversion of some tests from Test.pm to Test::More (from PR#29)
     - use File::Temp for randomized tempdir (PR#53)
 
index 1cdebcdc6f77a5566fed998d299acecaaeabb091..244b9b5f59d32a7b0a34fb2508a67d10d0084250 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.011.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.012.
 CONTRIBUTING.md
 Changes
 LICENSE
@@ -48,6 +48,7 @@ t/base/proxy.t
 t/base/simple.t
 t/base/ua.t
 t/base/ua_handlers.t
+t/leak/no_leak.t
 t/local/autoload-get.t
 t/local/autoload.t
 t/local/get.t
@@ -69,6 +70,7 @@ xt/author/live/jigsaw/neg-get.t
 xt/author/live/jigsaw/neg.t
 xt/author/live/jigsaw/te.t
 xt/author/live/online.t
+xt/author/minimum-version.t
 xt/author/misc/dbmrobot
 xt/author/misc/get-callback
 xt/author/misc/get-file
@@ -93,4 +95,3 @@ xt/author/pod-syntax.t
 xt/author/portability.t
 xt/author/test-version.t
 xt/release/changes_has_content.t
-xt/release/minimum-version.t
index 7ce0677f021471d84705e7199c741366efd8ec51..b48e0caa079520cde83c6e487e116bd8a8049f47 100644 (file)
--- a/META.json
+++ b/META.json
@@ -3,8 +3,8 @@
    "author" : [
       "Gisle Aas <gisle@activestate.com>"
    ],
-   "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 6.011, CPAN::Meta::Converter version 2.150010",
+   "dynamic_config" : 1,
+   "generated_by" : "Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010",
    "license" : [
       "perl_5"
    ],
    "prereqs" : {
       "configure" : {
          "requires" : {
+            "CPAN::Meta::Requirements" : "2.120620",
             "ExtUtils::MakeMaker" : "0",
             "File::Copy" : "0",
-            "Getopt::Long" : "0"
-         },
-         "suggests" : {
-            "JSON::PP" : "2.27300"
+            "Getopt::Long" : "0",
+            "Module::Metadata" : "0"
          }
       },
       "develop" : {
          "recommends" : {
-            "Dist::Zilla::PluginBundle::Git::VersionManager" : "0.005"
+            "Dist::Zilla::PluginBundle::Git::VersionManager" : "0.007"
          },
          "requires" : {
+            "Authen::NTLM" : "1.02",
             "File::Spec" : "0",
             "IO::Handle" : "0",
             "IPC::Open3" : "0",
             "Pod::Coverage::TrustPod" : "0",
-            "Test::CPAN::Changes" : "0.4",
-            "Test::CPAN::Meta" : "0",
-            "Test::CheckManifest" : "1.29",
             "Test::EOL" : "0",
-            "Test::Kwalitee" : "1.22",
             "Test::MinimumVersion" : "0",
             "Test::Mojibake" : "0",
             "Test::More" : "0.94",
             "Test::Pod" : "1.41",
             "Test::Pod::Coverage" : "1.08",
-            "Test::Pod::Spelling::CommonMistakes" : "1.000",
             "Test::Portability::Files" : "0",
             "Test::Spelling" : "0.12",
-            "Test::Version" : "1",
-            "Try::Tiny" : "0.24"
+            "Test::Version" : "1"
          }
       },
       "runtime" : {
          },
          "suggests" : {
             "Authen::NTLM" : "1.02",
+            "Data::Dump" : "1.13",
             "IO::Socket::INET" : "0",
             "LWP::Protocol::https" : "6.02"
          }
       },
       "test" : {
          "recommends" : {
-            "CPAN::Meta" : "2.120900"
+            "CPAN::Meta" : "2.120900",
+            "Test::LeakTrace" : "0"
          },
          "requires" : {
             "ExtUtils::MakeMaker" : "0",
             "FindBin" : "0",
             "Test::Fatal" : "0",
             "Test::More" : "0",
+            "Test::Needs" : "0",
             "Test::RequiresInternet" : "0"
          }
       }
    "provides" : {
       "LWP" : {
          "file" : "lib/LWP.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Authen::Basic" : {
          "file" : "lib/LWP/Authen/Basic.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Authen::Digest" : {
          "file" : "lib/LWP/Authen/Digest.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Authen::Ntlm" : {
          "file" : "lib/LWP/Authen/Ntlm.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::ConnCache" : {
          "file" : "lib/LWP/ConnCache.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Debug" : {
          "file" : "lib/LWP/Debug.pm",
-         "version" : "6.33",
+         "version" : "6.35",
          "x_deprecated" : 1
       },
       "LWP::Debug::TraceHTTP" : {
          "file" : "lib/LWP/Debug/TraceHTTP.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::DebugFile" : {
          "file" : "lib/LWP/DebugFile.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::MemberMixin" : {
          "file" : "lib/LWP/MemberMixin.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Protocol" : {
          "file" : "lib/LWP/Protocol.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Protocol::cpan" : {
          "file" : "lib/LWP/Protocol/cpan.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Protocol::data" : {
          "file" : "lib/LWP/Protocol/data.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Protocol::file" : {
          "file" : "lib/LWP/Protocol/file.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Protocol::ftp" : {
          "file" : "lib/LWP/Protocol/ftp.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Protocol::gopher" : {
          "file" : "lib/LWP/Protocol/gopher.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Protocol::http" : {
          "file" : "lib/LWP/Protocol/http.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Protocol::loopback" : {
          "file" : "lib/LWP/Protocol/loopback.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Protocol::mailto" : {
          "file" : "lib/LWP/Protocol/mailto.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Protocol::nntp" : {
          "file" : "lib/LWP/Protocol/nntp.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Protocol::nogo" : {
          "file" : "lib/LWP/Protocol/nogo.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::RobotUA" : {
          "file" : "lib/LWP/RobotUA.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::Simple" : {
          "file" : "lib/LWP/Simple.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       },
       "LWP::UserAgent" : {
          "file" : "lib/LWP/UserAgent.pm",
-         "version" : "6.33"
+         "version" : "6.35"
       }
    },
    "release_status" : "stable",
       "x_IRC" : "irc://irc.perl.org/#lwp",
       "x_MailingList" : "mailto:libwww@perl.org"
    },
-   "version" : "6.33",
+   "version" : "6.35",
    "x_Dist_Zilla" : {
       "perl" : {
-         "version" : "5.026001"
+         "version" : "5.028000"
       },
       "plugins" : [
          {
                }
             },
             "name" : "Git::GatherDir",
-            "version" : "2.043"
+            "version" : "2.045"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "MetaConfig",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
                      {
                         "class" : "Dist::Zilla::Plugin::FinderCode",
                         "name" : "MetaProvides::Package/AUTOVIV/:InstallModulesPM",
-                        "version" : "6.011"
+                        "version" : "6.012"
                      }
                   ],
                   "include_underscores" : 0
                },
                "Dist::Zilla::Role::ModuleMetadata" : {
                   "Module::Metadata" : "1.000033",
-                  "version" : "0.004"
+                  "version" : "0.006"
                }
             },
             "name" : "MetaProvides::Package",
          {
             "class" : "Dist::Zilla::Plugin::MetaNoIndex",
             "name" : "MetaNoIndex",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "MetaYAML",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "MetaJSON",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaResources",
             "name" : "MetaResources",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Deprecated",
             "class" : "Dist::Zilla::Plugin::Git::Contributors",
             "config" : {
                "Dist::Zilla::Plugin::Git::Contributors" : {
-                  "git_version" : "2.16.1",
+                  "git_version" : "2.18.0",
                   "include_authors" : 0,
                   "include_releaser" : 1,
                   "order_by" : "name",
                }
             },
             "name" : "Git::Contributors",
-            "version" : "0.032"
+            "version" : "0.034"
          },
          {
             "class" : "Dist::Zilla::Plugin::GithubMeta",
             "name" : "GithubMeta",
-            "version" : "0.54"
+            "version" : "0.58"
          },
          {
             "class" : "Dist::Zilla::Plugin::Authority",
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "Manifest",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "License",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
             "name" : "ExecDir",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs::FromCPANfile",
             "name" : "Prereqs::FromCPANfile",
             "version" : "0.08"
          },
+         {
+            "class" : "Dist::Zilla::Plugin::DynamicPrereqs",
+            "config" : {
+               "Dist::Zilla::Role::ModuleMetadata" : {
+                  "Module::Metadata" : "1.000033",
+                  "version" : "0.006"
+               }
+            },
+            "name" : "DynamicPrereqs",
+            "version" : "0.034"
+         },
          {
             "class" : "Dist::Zilla::Plugin::MakeMaker::Awesome",
             "config" : {
                "Dist::Zilla::Plugin::MakeMaker" : {
                   "make_path" : "make",
-                  "version" : "6.011"
+                  "version" : "6.012"
                },
                "Dist::Zilla::Role::TestRunner" : {
-                  "default_jobs" : 1,
-                  "version" : "6.011"
+                  "version" : "6.012"
                }
             },
             "name" : "MakeMaker::Awesome",
-            "version" : "0.41"
+            "version" : "0.46"
          },
          {
             "class" : "Dist::Zilla::Plugin::MojibakeTests",
             "name" : "Test::ChangesHasContent",
             "version" : "0.011"
          },
+         {
+            "class" : "Dist::Zilla::Plugin::Substitute",
+            "name" : "Substitute",
+            "version" : "0.006"
+         },
          {
             "class" : "Dist::Zilla::Plugin::Test::MinimumVersion",
             "name" : "Test::MinimumVersion",
-            "version" : "2.000007"
+            "version" : "2.000008"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "PodSyntaxTests",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::Pod::Coverage::Configurable",
                   "changelog" : "Changes"
                },
                "Dist::Zilla::Role::Git::Repo" : {
-                  "git_version" : "2.16.1",
+                  "git_version" : "2.18.0",
                   "repo_root" : "."
                }
             },
             "name" : "Git::Check",
-            "version" : "2.043"
+            "version" : "2.045"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckStrictVersion",
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "TestRelease",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "UploadToCPAN",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
                }
             },
             "name" : "CopyFilesFromRelease",
-            "version" : "0.006"
+            "version" : "0.007"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
                }
             },
             "name" : "@Git::VersionManager/pluginbundle version",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::RewriteVersion::Transitional",
          {
             "class" : "Dist::Zilla::Plugin::MetaProvides::Update",
             "name" : "@Git::VersionManager/MetaProvides::Update",
-            "version" : "0.005"
+            "version" : "0.007"
          },
          {
             "class" : "Dist::Zilla::Plugin::CopyFilesFromRelease",
                }
             },
             "name" : "@Git::VersionManager/CopyFilesFromRelease",
-            "version" : "0.006"
+            "version" : "0.007"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
                   "changelog" : "Changes"
                },
                "Dist::Zilla::Role::Git::Repo" : {
-                  "git_version" : "2.16.1",
+                  "git_version" : "2.18.0",
                   "repo_root" : "."
                },
                "Dist::Zilla::Role::Git::StringFormatter" : {
                }
             },
             "name" : "@Git::VersionManager/release snapshot",
-            "version" : "2.043"
+            "version" : "2.045"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
                   "branch" : null,
                   "changelog" : "Changes",
                   "signed" : 0,
-                  "tag" : "v6.33",
+                  "tag" : "v6.35",
                   "tag_format" : "v%v",
                   "tag_message" : "v%v"
                },
                "Dist::Zilla::Role::Git::Repo" : {
-                  "git_version" : "2.16.1",
+                  "git_version" : "2.18.0",
                   "repo_root" : "."
                },
                "Dist::Zilla::Role::Git::StringFormatter" : {
                }
             },
             "name" : "@Git::VersionManager/Git::Tag",
-            "version" : "2.043"
+            "version" : "2.045"
          },
          {
             "class" : "Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional",
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
             "name" : "@Git::VersionManager/NextRelease",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
                   "changelog" : "Changes"
                },
                "Dist::Zilla::Role::Git::Repo" : {
-                  "git_version" : "2.16.1",
+                  "git_version" : "2.18.0",
                   "repo_root" : "."
                },
                "Dist::Zilla::Role::Git::StringFormatter" : {
                }
             },
             "name" : "@Git::VersionManager/post-release commit",
-            "version" : "2.043"
+            "version" : "2.045"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Push",
                   "remotes_must_exist" : 1
                },
                "Dist::Zilla::Role::Git::Repo" : {
-                  "git_version" : "2.16.1",
+                  "git_version" : "2.18.0",
                   "repo_root" : "."
                }
             },
             "name" : "Git::Push",
-            "version" : "2.043"
+            "version" : "2.045"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "ConfirmRelease",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":IncModules",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExtraTestFiles",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":PerlExecFiles",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":MainModule",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":AllFiles",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":NoFiles",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : "MetaProvides::Package/AUTOVIV/:InstallModulesPM",
-            "version" : "6.011"
+            "version" : "6.012"
          }
       ],
       "zilla" : {
          "config" : {
             "is_trial" : 0
          },
-         "version" : "6.011"
+         "version" : "6.012"
       }
    },
    "x_authority" : "cpan:LWWWP",
       "Alex Kapranoff <ka@nadoby.ru>",
       "amire80 <amir.aharoni@gmail.com>",
       "Andreas J. Koenig <andreas.koenig@anima.de>",
+      "Andrew Grangaard <granny-github@ofb.net>",
+      "Anirvan Chatterjee <anirvan@users.noreply.github.com>",
       "BGMNT <freeerider@mailinator.com>",
       "Bill Mann <wfmann@alum.mit.edu>",
       "Bron Gondwana <brong@fastmail.fm>",
       "DAVIDRW <davidrw@cpan.org>",
       "David Standish <dnstandish@gmail.com>",
       "David Steinbrunner <dsteinbrunner@MountainBook-Pro.local>",
+      "Desmond Daignault <nawglan@cpan.org>",
       "Doug Bell <doug@preaction.me>",
       "Fabian Zeindler <faz@open.ch>",
       "Father Chrysostomos <sprout@cpan.org>",
       "sasao <sasao@yugen.org>",
       "Sean M. Burke <sburke@cpan.org>",
       "Sergey Romanov <sromanov-dev@yandex.ru>",
+      "Shoichi Kaji <skaji@cpan.org>",
       "Slaven Rezic <slaven@rezic.de>",
       "Spiros Denaxas <s.denaxas@gmail.com>",
       "Steffen Ullrich <Steffen_Ullrich@genua.de>",
       "Yury Zavarin <yury.zavarin@gmail.com>",
       "Zefram <zefram@fysh.org>"
    ],
-   "x_serialization_backend" : "Cpanel::JSON::XS version 3.0239"
+   "x_generated_by_perl" : "v5.28.0",
+   "x_serialization_backend" : "Cpanel::JSON::XS version 4.04"
 }
 
index 7d7fd6a22f17c503f2d5a15a28beb854a13ddee3..2b7b2b6dcf6606a2d262cbb0e10908cb2e75d613 100644 (file)
--- a/META.yml
+++ b/META.yml
@@ -8,13 +8,16 @@ build_requires:
   FindBin: '0'
   Test::Fatal: '0'
   Test::More: '0'
+  Test::Needs: '0'
   Test::RequiresInternet: '0'
 configure_requires:
+  CPAN::Meta::Requirements: '2.120620'
   ExtUtils::MakeMaker: '0'
   File::Copy: '0'
   Getopt::Long: '0'
-dynamic_config: 0
-generated_by: 'Dist::Zilla version 6.011, CPAN::Meta::Converter version 2.150010'
+  Module::Metadata: '0'
+dynamic_config: 1
+generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -27,74 +30,74 @@ no_index:
 provides:
   LWP:
     file: lib/LWP.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Authen::Basic:
     file: lib/LWP/Authen/Basic.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Authen::Digest:
     file: lib/LWP/Authen/Digest.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Authen::Ntlm:
     file: lib/LWP/Authen/Ntlm.pm
-    version: '6.33'
+    version: '6.35'
   LWP::ConnCache:
     file: lib/LWP/ConnCache.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Debug:
     file: lib/LWP/Debug.pm
-    version: '6.33'
+    version: '6.35'
     x_deprecated: 1
   LWP::Debug::TraceHTTP:
     file: lib/LWP/Debug/TraceHTTP.pm
-    version: '6.33'
+    version: '6.35'
   LWP::DebugFile:
     file: lib/LWP/DebugFile.pm
-    version: '6.33'
+    version: '6.35'
   LWP::MemberMixin:
     file: lib/LWP/MemberMixin.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Protocol:
     file: lib/LWP/Protocol.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Protocol::cpan:
     file: lib/LWP/Protocol/cpan.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Protocol::data:
     file: lib/LWP/Protocol/data.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Protocol::file:
     file: lib/LWP/Protocol/file.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Protocol::ftp:
     file: lib/LWP/Protocol/ftp.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Protocol::gopher:
     file: lib/LWP/Protocol/gopher.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Protocol::http:
     file: lib/LWP/Protocol/http.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Protocol::loopback:
     file: lib/LWP/Protocol/loopback.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Protocol::mailto:
     file: lib/LWP/Protocol/mailto.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Protocol::nntp:
     file: lib/LWP/Protocol/nntp.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Protocol::nogo:
     file: lib/LWP/Protocol/nogo.pm
-    version: '6.33'
+    version: '6.35'
   LWP::RobotUA:
     file: lib/LWP/RobotUA.pm
-    version: '6.33'
+    version: '6.35'
   LWP::Simple:
     file: lib/LWP/Simple.pm
-    version: '6.33'
+    version: '6.35'
   LWP::UserAgent:
     file: lib/LWP/UserAgent.pm
-    version: '6.33'
+    version: '6.35'
 requires:
   Digest::MD5: '0'
   Encode: '2.12'
@@ -131,10 +134,10 @@ resources:
   bugtracker: https://github.com/libwww-perl/libwww-perl/issues
   homepage: https://github.com/libwww-perl/libwww-perl
   repository: https://github.com/libwww-perl/libwww-perl.git
-version: '6.33'
+version: '6.35'
 x_Dist_Zilla:
   perl:
-    version: '5.026001'
+    version: '5.028000'
   plugins:
     -
       class: Dist::Zilla::Plugin::Git::GatherDir
@@ -153,11 +156,11 @@ x_Dist_Zilla:
         Dist::Zilla::Plugin::Git::GatherDir:
           include_untracked: 0
       name: Git::GatherDir
-      version: '2.043'
+      version: '2.045'
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: MetaConfig
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::MetaProvides::Package
       config:
@@ -166,7 +169,7 @@ x_Dist_Zilla:
             -
               class: Dist::Zilla::Plugin::FinderCode
               name: MetaProvides::Package/AUTOVIV/:InstallModulesPM
-              version: '6.011'
+              version: '6.012'
           include_underscores: 0
         Dist::Zilla::Role::MetaProvider::Provider:
           $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002004'
@@ -175,25 +178,25 @@ x_Dist_Zilla:
           meta_noindex: '1'
         Dist::Zilla::Role::ModuleMetadata:
           Module::Metadata: '1.000033'
-          version: '0.004'
+          version: '0.006'
       name: MetaProvides::Package
       version: '2.004003'
     -
       class: Dist::Zilla::Plugin::MetaNoIndex
       name: MetaNoIndex
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: MetaYAML
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: MetaJSON
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::MetaResources
       name: MetaResources
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Deprecated
       config:
@@ -207,17 +210,17 @@ x_Dist_Zilla:
       class: Dist::Zilla::Plugin::Git::Contributors
       config:
         Dist::Zilla::Plugin::Git::Contributors:
-          git_version: 2.16.1
+          git_version: 2.18.0
           include_authors: 0
           include_releaser: 1
           order_by: name
           paths: []
       name: Git::Contributors
-      version: '0.032'
+      version: '0.034'
     -
       class: Dist::Zilla::Plugin::GithubMeta
       name: GithubMeta
-      version: '0.54'
+      version: '0.58'
     -
       class: Dist::Zilla::Plugin::Authority
       name: Authority
@@ -225,30 +228,37 @@ x_Dist_Zilla:
     -
       class: Dist::Zilla::Plugin::Manifest
       name: Manifest
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::License
       name: License
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::ExecDir
       name: ExecDir
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Prereqs::FromCPANfile
       name: Prereqs::FromCPANfile
       version: '0.08'
+    -
+      class: Dist::Zilla::Plugin::DynamicPrereqs
+      config:
+        Dist::Zilla::Role::ModuleMetadata:
+          Module::Metadata: '1.000033'
+          version: '0.006'
+      name: DynamicPrereqs
+      version: '0.034'
     -
       class: Dist::Zilla::Plugin::MakeMaker::Awesome
       config:
         Dist::Zilla::Plugin::MakeMaker:
           make_path: make
-          version: '6.011'
+          version: '6.012'
         Dist::Zilla::Role::TestRunner:
-          default_jobs: 1
-          version: '6.011'
+          version: '6.012'
       name: MakeMaker::Awesome
-      version: '0.41'
+      version: '0.46'
     -
       class: Dist::Zilla::Plugin::MojibakeTests
       name: MojibakeTests
@@ -302,14 +312,18 @@ x_Dist_Zilla:
       class: Dist::Zilla::Plugin::Test::ChangesHasContent
       name: Test::ChangesHasContent
       version: '0.011'
+    -
+      class: Dist::Zilla::Plugin::Substitute
+      name: Substitute
+      version: '0.006'
     -
       class: Dist::Zilla::Plugin::Test::MinimumVersion
       name: Test::MinimumVersion
-      version: '2.000007'
+      version: '2.000008'
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: PodSyntaxTests
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Test::Pod::Coverage::Configurable
       name: Test::Pod::Coverage::Configurable
@@ -451,10 +465,10 @@ x_Dist_Zilla:
           allow_dirty_match: []
           changelog: Changes
         Dist::Zilla::Role::Git::Repo:
-          git_version: 2.16.1
+          git_version: 2.18.0
           repo_root: .
       name: Git::Check
-      version: '2.043'
+      version: '2.045'
     -
       class: Dist::Zilla::Plugin::CheckStrictVersion
       name: CheckStrictVersion
@@ -477,11 +491,11 @@ x_Dist_Zilla:
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: TestRelease
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: UploadToCPAN
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::ReadmeAnyFromPod
       config:
@@ -498,7 +512,7 @@ x_Dist_Zilla:
             - META.json
           match: []
       name: CopyFilesFromRelease
-      version: '0.006'
+      version: '0.007'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -506,7 +520,7 @@ x_Dist_Zilla:
           phase: develop
           type: recommends
       name: '@Git::VersionManager/pluginbundle version'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::RewriteVersion::Transitional
       config:
@@ -523,7 +537,7 @@ x_Dist_Zilla:
     -
       class: Dist::Zilla::Plugin::MetaProvides::Update
       name: '@Git::VersionManager/MetaProvides::Update'
-      version: '0.005'
+      version: '0.007'
     -
       class: Dist::Zilla::Plugin::CopyFilesFromRelease
       config:
@@ -532,7 +546,7 @@ x_Dist_Zilla:
             - Changes
           match: []
       name: '@Git::VersionManager/CopyFilesFromRelease'
-      version: '0.006'
+      version: '0.007'
     -
       class: Dist::Zilla::Plugin::Git::Commit
       config:
@@ -548,12 +562,12 @@ x_Dist_Zilla:
           allow_dirty_match: []
           changelog: Changes
         Dist::Zilla::Role::Git::Repo:
-          git_version: 2.16.1
+          git_version: 2.18.0
           repo_root: .
         Dist::Zilla::Role::Git::StringFormatter:
           time_zone: local
       name: '@Git::VersionManager/release snapshot'
-      version: '2.043'
+      version: '2.045'
     -
       class: Dist::Zilla::Plugin::Git::Tag
       config:
@@ -561,16 +575,16 @@ x_Dist_Zilla:
           branch: ~
           changelog: Changes
           signed: 0
-          tag: v6.33
+          tag: v6.35
           tag_format: v%v
           tag_message: v%v
         Dist::Zilla::Role::Git::Repo:
-          git_version: 2.16.1
+          git_version: 2.18.0
           repo_root: .
         Dist::Zilla::Role::Git::StringFormatter:
           time_zone: local
       name: '@Git::VersionManager/Git::Tag'
-      version: '2.043'
+      version: '2.045'
     -
       class: Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional
       config:
@@ -586,7 +600,7 @@ x_Dist_Zilla:
     -
       class: Dist::Zilla::Plugin::NextRelease
       name: '@Git::VersionManager/NextRelease'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Git::Commit
       config:
@@ -602,12 +616,12 @@ x_Dist_Zilla:
             - (?^:^lib/.*\.pm$)
           changelog: Changes
         Dist::Zilla::Role::Git::Repo:
-          git_version: 2.16.1
+          git_version: 2.18.0
           repo_root: .
         Dist::Zilla::Role::Git::StringFormatter:
           time_zone: local
       name: '@Git::VersionManager/post-release commit'
-      version: '2.043'
+      version: '2.045'
     -
       class: Dist::Zilla::Plugin::Git::Push
       config:
@@ -616,63 +630,63 @@ x_Dist_Zilla:
             - origin
           remotes_must_exist: 1
         Dist::Zilla::Role::Git::Repo:
-          git_version: 2.16.1
+          git_version: 2.18.0
           repo_root: .
       name: Git::Push
-      version: '2.043'
+      version: '2.045'
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: ConfirmRelease
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':IncModules'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExtraTestFiles'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':PerlExecFiles'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':MainModule'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':AllFiles'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':NoFiles'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: MetaProvides::Package/AUTOVIV/:InstallModulesPM
-      version: '6.011'
+      version: '6.012'
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
       is_trial: '0'
-    version: '6.011'
+    version: '6.012'
 x_authority: cpan:LWWWP
 x_contributors:
   - 'Adam Kennedy <adamk@cpan.org>'
@@ -681,6 +695,8 @@ x_contributors:
   - 'Alex Kapranoff <ka@nadoby.ru>'
   - 'amire80 <amir.aharoni@gmail.com>'
   - 'Andreas J. Koenig <andreas.koenig@anima.de>'
+  - 'Andrew Grangaard <granny-github@ofb.net>'
+  - 'Anirvan Chatterjee <anirvan@users.noreply.github.com>'
   - 'BGMNT <freeerider@mailinator.com>'
   - 'Bill Mann <wfmann@alum.mit.edu>'
   - 'Bron Gondwana <brong@fastmail.fm>'
@@ -694,6 +710,7 @@ x_contributors:
   - 'DAVIDRW <davidrw@cpan.org>'
   - 'David Standish <dnstandish@gmail.com>'
   - 'David Steinbrunner <dsteinbrunner@MountainBook-Pro.local>'
+  - 'Desmond Daignault <nawglan@cpan.org>'
   - 'Doug Bell <doug@preaction.me>'
   - 'Fabian Zeindler <faz@open.ch>'
   - 'Father Chrysostomos <sprout@cpan.org>'
@@ -741,6 +758,7 @@ x_contributors:
   - 'sasao <sasao@yugen.org>'
   - 'Sean M. Burke <sburke@cpan.org>'
   - 'Sergey Romanov <sromanov-dev@yandex.ru>'
+  - 'Shoichi Kaji <skaji@cpan.org>'
   - 'Slaven Rezic <slaven@rezic.de>'
   - 'Spiros Denaxas <s.denaxas@gmail.com>'
   - 'Steffen Ullrich <Steffen_Ullrich@genua.de>'
@@ -760,4 +778,5 @@ x_contributors:
   - 'Yuri Karaban <tech@askold.net>'
   - 'Yury Zavarin <yury.zavarin@gmail.com>'
   - 'Zefram <zefram@fysh.org>'
-x_serialization_backend: 'YAML::Tiny version 1.70'
+x_generated_by_perl: v5.28.0
+x_serialization_backend: 'YAML::Tiny version 1.73'
index 5739a0b99d29f010409d96c51ddeb009418c777e..8a3dd18d857dbc99614a81b95ce379e851ae7eb2 100644 (file)
@@ -1,5 +1,5 @@
 # This Makefile.PL for libwww-perl was generated by
-# Dist::Zilla::Plugin::MakeMaker::Awesome 0.41.
+# Dist::Zilla::Plugin::MakeMaker::Awesome 0.46.
 # Don't edit it but the dist.ini and plugins used to construct it.
 
 use strict;
@@ -31,9 +31,11 @@ my %WriteMakefileArgs = (
   "ABSTRACT" => "The World-Wide Web library for Perl",
   "AUTHOR" => "Gisle Aas <gisle\@activestate.com>",
   "CONFIGURE_REQUIRES" => {
+    "CPAN::Meta::Requirements" => "2.120620",
     "ExtUtils::MakeMaker" => 0,
     "File::Copy" => 0,
-    "Getopt::Long" => 0
+    "Getopt::Long" => 0,
+    "Module::Metadata" => 0
   },
   "DISTNAME" => "libwww-perl",
   "EXE_FILES" => [
@@ -81,11 +83,12 @@ my %WriteMakefileArgs = (
     "FindBin" => 0,
     "Test::Fatal" => 0,
     "Test::More" => 0,
+    "Test::Needs" => 0,
     "Test::RequiresInternet" => 0
   },
-  "VERSION" => "6.33",
+  "VERSION" => "6.35",
   "test" => {
-    "TESTS" => "t/*.t t/base/*.t t/base/protocols/*.t t/local/*.t t/robot/*.t"
+    "TESTS" => "t/*.t t/base/*.t t/base/protocols/*.t t/leak/*.t t/local/*.t t/robot/*.t"
   }
 );
 
@@ -121,6 +124,7 @@ my %FallbackPrereqs = (
   "Scalar::Util" => 0,
   "Test::Fatal" => 0,
   "Test::More" => 0,
+  "Test::Needs" => 0,
   "Test::RequiresInternet" => 0,
   "Try::Tiny" => 0,
   "URI" => "1.10",
@@ -131,7 +135,10 @@ my %FallbackPrereqs = (
   "warnings" => 0
 );
 
-unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+# inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.034
+requires('HTTP::Status', '6.18') if has_module('HTTP::Status', '6.17');
+
+unless ( eval { ExtUtils::MakeMaker->VERSION('6.63_03') } ) {
   delete $WriteMakefileArgs{TEST_REQUIRES};
   delete $WriteMakefileArgs{BUILD_REQUIRES};
   $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
@@ -141,3 +148,39 @@ delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
   unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
 
 WriteMakefile(%WriteMakefileArgs);
+
+# inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.034
+sub _add_prereq {
+  my ($mm_key, $module, $version_or_range) = @_;
+  $version_or_range ||= 0;
+  warn "$module already exists in $mm_key (at version $WriteMakefileArgs{$mm_key}{$module}) -- need to do a sane metamerge!"
+    if exists $WriteMakefileArgs{$mm_key}{$module}
+      and $WriteMakefileArgs{$mm_key}{$module} ne '0'
+      and $WriteMakefileArgs{$mm_key}{$module} ne $version_or_range;
+  warn "$module already exists in FallbackPrereqs (at version $WriteMakefileArgs{$mm_key}{$module}) -- need to do a sane metamerge!"
+    if exists $FallbackPrereqs{$module} and $FallbackPrereqs{$module} ne '0'
+        and $FallbackPrereqs{$module} ne $version_or_range;
+  $WriteMakefileArgs{$mm_key}{$module} = $FallbackPrereqs{$module} = $version_or_range;
+  return;
+}
+
+sub has_module {
+  my ($module, $version_or_range) = @_;
+  require Module::Metadata;
+  my $mmd = Module::Metadata->new_from_module($module);
+  return undef if not $mmd;
+  return $mmd->version($module) if not defined $version_or_range;
+
+  require CPAN::Meta::Requirements;
+  my $req = CPAN::Meta::Requirements->new;
+  $req->add_string_requirement($module => $version_or_range);
+  return 1 if $req->accepts_module($module => $mmd->version($module));
+  return 0;
+}
+
+sub requires { goto &runtime_requires }
+
+sub runtime_requires {
+  my ($module, $version_or_range) = @_;
+  _add_prereq(PREREQ_PM => $module, $version_or_range);
+}
index c9e9ebb3e91591b30c337d90c5f62b81be15e61b..39a2ae421a3ee95dce14e2f6d0480fa726a3cdd5 100644 (file)
--- a/cpanfile
+++ b/cpanfile
@@ -37,6 +37,7 @@ on 'runtime' => sub {
     suggests 'Authen::NTLM' => '1.02';
     suggests 'IO::Socket::INET';
     suggests 'LWP::Protocol::https' => '6.02';
+    suggests 'Data::Dump' => '1.13';
 };
 
 on 'test' => sub {
@@ -44,13 +45,10 @@ on 'test' => sub {
     requires 'Test::More';
     requires 'Test::RequiresInternet';
     requires 'FindBin';
+    requires 'Test::Needs';
+    recommends 'Test::LeakTrace';
 };
 
 on 'develop' => sub {
-    requires 'Test::CheckManifest' => '1.29';
-    requires 'Test::CPAN::Changes' => '0.4';
-    requires 'Test::CPAN::Meta';
-    requires 'Test::Kwalitee'      => '1.22';
-    requires 'Test::Pod::Spelling::CommonMistakes' => '1.000';
-    requires 'Try::Tiny'  => '0.24';
+    requires 'Authen::NTLM' => '1.02';
 };
index cf1efb58435d8f6a9af5af7f01e6ba4b9f0d7166..2ecc9e24a1885ce760640c8ccfbc91e99cbc0d37 100644 (file)
--- a/dist.ini
+++ b/dist.ini
@@ -39,6 +39,11 @@ authority = cpan:LWWWP
 
 [Prereqs::FromCPANfile]
 
+[DynamicPrereqs]
+:version = 0.018
+; HTTP::Status 6.17 was buggy
+-body = requires('HTTP::Status', '6.18') if has_module('HTTP::Status', '6.17');
+
 [MakeMaker::Awesome]
 delimiter = |
 header = |use Getopt::Long qw(GetOptions);
@@ -77,6 +82,10 @@ xt_mode = 1
 ; [Test::NoTabs] ; TODO
 [Test::EOL]
 [Test::ChangesHasContent]
+[Substitute]
+file = xt/release/changes_has_content.t
+code = s{^(note 'Checking Changes')}{if \(\(\$ENV\{TRAVIS_PULL_REQUEST\} \|\| '') eq 'false'\) \{\n    chomp\(my \$branch_name = \(\$ENV\{TRAVIS_BRANCH\} || \`git rev-parse --abbrev-ref HEAD\`\)\);\n    \$TODO = 'Changes need not have content for this release yet if this is only the master branch'\n    if \(\$branch_name \|\| ''\) eq 'master';\n\}\n\n$1}
+
 [Test::MinimumVersion]
 [PodSyntaxTests]
 
index b6a13085b29dcd71f02c7e8ff860b1913efdb8c5..2158ff367362b9cede7717d58561ea617dc9ec5c 100644 (file)
@@ -1,6 +1,6 @@
 package LWP;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 require LWP::UserAgent;  # this should load everything you need
 
index 138b2486e9afe46a3620e23474cafd063b9e55fc..62d75741f3c80a5ccb1582ce3e32689e9742e26b 100644 (file)
@@ -2,7 +2,7 @@ package LWP::Authen::Basic;
 
 use strict;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 require MIME::Base64;
 
index a2234342c876d544d8ebd315632e0220a7afbcd8..192954769e06d888f492e63988c087d1bbe72eb6 100644 (file)
@@ -3,7 +3,7 @@ package LWP::Authen::Digest;
 use strict;
 use base 'LWP::Authen::Basic';
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 require Digest::MD5;
 
index c0c44aca16592a82649eaf6eb247da8a6e66c6a3..92c684edd67e0836ffdce37e0dd7ca38892fc19f 100644 (file)
@@ -2,7 +2,7 @@ package LWP::Authen::Ntlm;
 
 use strict;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 use Authen::NTLM "1.02";
 use MIME::Base64 "2.12";
index e4735c67cc6773a1cda72df8ee86fa26fe91c124..0a03ceabd95f6c0ee092c95e891b066149a85c6b 100644 (file)
@@ -2,7 +2,7 @@ package LWP::ConnCache;
 
 use strict;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 our $DEBUG;
 
 sub new {
index 9efe53b372f2afc121f4b06bab74fe8e798dbf1a..971dc342b1108a4ef5b9d340d8d84952a7672e86 100644 (file)
@@ -1,6 +1,6 @@
 package LWP::Debug;    # legacy
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 require Exporter;
 our @ISA       = qw(Exporter);
index 90a6cd9ef30078ae1f11d75f184ae744e538e599..aecf6c0ec6193556c0a40aef9e4babff09ea0e1f 100644 (file)
@@ -11,7 +11,7 @@ package LWP::Debug::TraceHTTP;
 use strict;
 use base 'LWP::Protocol::http';
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 package # hide from PAUSE
     LWP::Debug::TraceHTTP::Socket;
index 518378072883022dc958d15d8211dbbbfa632c83..abd40f76b9442cbec64419b8c6b8fe7c10147a9b 100644 (file)
@@ -1,6 +1,6 @@
 package LWP::DebugFile;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 # legacy stub
 
index 12a9fdd11868feed1f91c4fd6adb8b9c3ccd0d9b..1e03e08adddec87ee61e1117ad86d0010dc7b186 100644 (file)
@@ -1,6 +1,6 @@
 package LWP::MemberMixin;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 sub _elem {
     my $self = shift;
index e9233be4fd78f1bcd7cdf396f92f438a2d54cf18..8812ed20e110bc77d37f78a10b1d1b5de4e077d7 100644 (file)
@@ -2,7 +2,7 @@ package LWP::Protocol;
 
 use base 'LWP::MemberMixin';
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 use strict;
 use Carp ();
@@ -100,73 +100,81 @@ sub collect
     my $content;
     my($ua, $max_size) = @{$self}{qw(ua max_size)};
 
-    try {
+    # This can't be moved to Try::Tiny due to the closures within causing
+    # leaks on any version of Perl prior to 5.18.
+    # https://perl5.git.perl.org/perl.git/commitdiff/a0d2bbd5c
+    my $error = do { #catch
+        local $@;
         local $\; # protect the print below from surprises
-        if (!defined($arg) || !$response->is_success) {
-            $response->{default_add_content} = 1;
-        }
-        elsif (!ref($arg) && length($arg)) {
-            open(my $fh, ">", $arg) or die "Can't write to '$arg': $!";
-           binmode($fh);
-            push(@{$response->{handlers}{response_data}}, {
-                callback => sub {
-                    print $fh $_[3] or die "Can't write to '$arg': $!";
-                    1;
-                },
-            });
-            push(@{$response->{handlers}{response_done}}, {
-                callback => sub {
-                   close($fh) or die "Can't write to '$arg': $!";
-                   undef($fh);
-               },
-           });
-        }
-        elsif (ref($arg) eq 'CODE') {
-            push(@{$response->{handlers}{response_data}}, {
-                callback => sub {
-                   &$arg($_[3], $_[0], $self);
-                   1;
-                },
-            });
-        }
-        else {
-            die "Unexpected collect argument '$arg'";
-        }
+        eval { # try
+            if (!defined($arg) || !$response->is_success) {
+                $response->{default_add_content} = 1;
+            }
+            elsif (!ref($arg) && length($arg)) {
+                open(my $fh, ">", $arg) or die "Can't write to '$arg': $!";
+                binmode($fh);
+                push(@{$response->{handlers}{response_data}}, {
+                    callback => sub {
+                        print $fh $_[3] or die "Can't write to '$arg': $!";
+                        1;
+                    },
+                });
+                push(@{$response->{handlers}{response_done}}, {
+                    callback => sub {
+                        close($fh) or die "Can't write to '$arg': $!";
+                        undef($fh);
+                    },
+                });
+            }
+            elsif (ref($arg) eq 'CODE') {
+                push(@{$response->{handlers}{response_data}}, {
+                    callback => sub {
+                        &$arg($_[3], $_[0], $self);
+                        1;
+                    },
+                });
+            }
+            else {
+                die "Unexpected collect argument '$arg'";
+            }
 
-        $ua->run_handlers("response_header", $response);
+            $ua->run_handlers("response_header", $response);
 
-        if (delete $response->{default_add_content}) {
-            push(@{$response->{handlers}{response_data}}, {
-               callback => sub {
-                   $_[0]->add_content($_[3]);
-                   1;
-               },
-           });
-        }
+            if (delete $response->{default_add_content}) {
+                push(@{$response->{handlers}{response_data}}, {
+                    callback => sub {
+                        $_[0]->add_content($_[3]);
+                        1;
+                    },
+                });
+            }
 
 
-        my $content_size = 0;
-        my $length = $response->content_length;
-        my %skip_h;
+            my $content_size = 0;
+            my $length = $response->content_length;
+            my %skip_h;
 
-        while ($content = &$collector, length $$content) {
-            for my $h ($ua->handlers("response_data", $response)) {
-                next if $skip_h{$h};
-                unless ($h->{callback}->($response, $ua, $h, $$content)) {
-                    # XXX remove from $response->{handlers}{response_data} if present
-                    $skip_h{$h}++;
+            while ($content = &$collector, length $$content) {
+                for my $h ($ua->handlers("response_data", $response)) {
+                    next if $skip_h{$h};
+                    unless ($h->{callback}->($response, $ua, $h, $$content)) {
+                        # XXX remove from $response->{handlers}{response_data} if present
+                        $skip_h{$h}++;
+                    }
+                }
+                $content_size += length($$content);
+                $ua->progress(($length ? ($content_size / $length) : "tick"), $response);
+                if (defined($max_size) && $content_size > $max_size) {
+                    $response->push_header("Client-Aborted", "max_size");
+                    last;
                 }
             }
-            $content_size += length($$content);
-            $ua->progress(($length ? ($content_size / $length) : "tick"), $response);
-            if (defined($max_size) && $content_size > $max_size) {
-                $response->push_header("Client-Aborted", "max_size");
-                last;
-            }
-        }
-    }
-    catch {
-        my $error = $_;
+            1;
+        };
+        $@;
+    };
+
+    if ($error) {
         chomp($error);
         $response->push_header('X-Died' => $error);
         $response->push_header("Client-Aborted", "die");
index 7c18f8499e4925700adfacf0412f068518df3933..2feefed0630a99417d87dc0a9cb15a40202a34da 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 
 use base qw(LWP::Protocol);
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 require URI;
 require HTTP::Status;
index 962c3882fb816066c07e0e449f486bcaa66b47ba..50a3e43dbfd07c3693897779989c289d5da182cb 100644 (file)
@@ -4,7 +4,7 @@ package LWP::Protocol::data;
 
 use strict;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 require HTTP::Response;
 require HTTP::Status;
index 3460f2eb0c1d9b010566b4e448695458a026f684..9bfe573f8dc51693598cd871923bcedc2f6587c1 100644 (file)
@@ -4,7 +4,7 @@ use base qw(LWP::Protocol);
 
 use strict;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 require LWP::MediaTypes;
 require HTTP::Request;
index 552be3b89e682f2092cc0ce8cceffbfbb5e81aa8..c56098d5b049c0868c4b70e57e9d03b6d4f3a61f 100644 (file)
@@ -5,7 +5,7 @@ package LWP::Protocol::ftp;
 use base qw(LWP::Protocol);
 use strict;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 use Carp            ();
 use HTTP::Status    ();
index c003233b048c886242121f8faffc9aea306f3903..246696043d87501072236061febfff9b0c357370 100644 (file)
@@ -9,7 +9,7 @@ package LWP::Protocol::gopher;
 
 use strict;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 require HTTP::Response;
 require HTTP::Status;
index b42628ebb7483bd7944a88b40d1d0ea1eded53fc..4d7663f344fe9f090a6aa53ef04bb80b1c589fab 100644 (file)
@@ -2,7 +2,7 @@ package LWP::Protocol::http;
 
 use strict;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 require HTTP::Response;
 require HTTP::Status;
index f0db90170c4e24c844bf52c3c73073a2dd49367a..47193619f51097cc58adb4cbb0ec1c857d96f00a 100644 (file)
@@ -2,7 +2,7 @@ package LWP::Protocol::loopback;
 
 use strict;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 require HTTP::Response;
 
index 81c814f0c78edd8fff8bc982e5e2dcb09513251f..937f38f2a54a39bf56329443a40716210f424ab8 100644 (file)
@@ -11,7 +11,7 @@ require HTTP::Status;
 use Carp;
 use strict;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 use base qw(LWP::Protocol);
 our $SENDMAIL;
index eeb6e1955a267736ba9444b29aa83b0601a0d906..f265229d1b5b47f305507e2c2e34c6872df6c8e2 100644 (file)
@@ -4,7 +4,7 @@ package LWP::Protocol::nntp;
 
 use base qw(LWP::Protocol);
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 require HTTP::Response;
 require HTTP::Status;
index cab40cc727ebd39a8edd4e683558a45bcbb449fc..1e56ae075ccf551e6061020c6d7d910059d197cb 100644 (file)
@@ -7,7 +7,7 @@ package LWP::Protocol::nogo;
 
 use strict;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 require HTTP::Response;
 require HTTP::Status;
index b2a6ae61fb9a7705462374d33c6ffbb7482f151a..1c869ecdcdef6ccb514aead3e735713727d58e3f 100644 (file)
@@ -2,7 +2,7 @@ package LWP::RobotUA;
 
 use base qw(LWP::UserAgent);
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 require WWW::RobotRules;
 require HTTP::Request;
index 0e97a4e5c756a4f5c992e256ecfb24c88bc5f3a9..7da739065f8b5806f314cb710785a1318e5ceb73 100644 (file)
@@ -2,7 +2,7 @@ package LWP::Simple;
 
 use strict;
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 require Exporter;
 
index 681c9726c285d73feec0cf3bd87b893d70655c9f..e87a694f3929e4a6f4d05a4e91ebcde359be634b 100644 (file)
@@ -15,7 +15,7 @@ use LWP::Protocol ();
 use Scalar::Util qw(blessed);
 use Try::Tiny qw(try catch);
 
-our $VERSION = '6.33';
+our $VERSION = '6.35';
 
 sub new
 {
@@ -1241,7 +1241,7 @@ method is the old attribute value.
 =head2 agent
 
     my $agent = $ua->agent;
-    $ua->agent('Checkbot/0.4 ');    # append the defaul to the end
+    $ua->agent('Checkbot/0.4 ');    # append the default to the end
     $ua->agent('Mozilla/5.0');
     $ua->agent("");                 # don't identify
 
@@ -1507,11 +1507,16 @@ https-URLs.
 Get/set the timeout value in seconds. The default value is
 180 seconds, i.e. 3 minutes.
 
-The requests is aborted if no activity on the connection to the server
+The request is aborted if no activity on the connection to the server
 is observed for C<timeout> seconds.  This means that the time it takes
 for the complete transaction and the L<LWP::UserAgent/request> method to
 actually return might be longer.
 
+When a request times out, a response object is still returned.  The response
+will have a standard HTTP Status Code (500).  This response will have the
+"Client-Warning" header set to the value of "Internal response".  See the
+L<LWP::UserAgent/get> method description below for further details.
+
 =head1 PROXY ATTRIBUTES
 
 The following methods set up when requests should be passed via a
index c53b09ae4fde5bcd7fd698ec367ae4a76c68d8db..6b9e91ebe25256bf1ff62b1207c14320b6742e61 100644 (file)
@@ -1,38 +1,32 @@
 do { my $x = {
        'configure' => {
                         'requires' => {
+                                        'CPAN::Meta::Requirements' => '2.120620',
                                         'ExtUtils::MakeMaker' => '0',
                                         'File::Copy' => '0',
-                                        'Getopt::Long' => '0'
-                                      },
-                        'suggests' => {
-                                        'JSON::PP' => '2.27300'
+                                        'Getopt::Long' => '0',
+                                        'Module::Metadata' => '0'
                                       }
                       },
        'develop' => {
                       'recommends' => {
-                                        'Dist::Zilla::PluginBundle::Git::VersionManager' => '0.005'
+                                        'Dist::Zilla::PluginBundle::Git::VersionManager' => '0.007'
                                       },
                       'requires' => {
+                                      'Authen::NTLM' => '1.02',
                                       'File::Spec' => '0',
                                       'IO::Handle' => '0',
                                       'IPC::Open3' => '0',
                                       'Pod::Coverage::TrustPod' => '0',
-                                      'Test::CPAN::Changes' => '0.4',
-                                      'Test::CPAN::Meta' => '0',
-                                      'Test::CheckManifest' => '1.29',
                                       'Test::EOL' => '0',
-                                      'Test::Kwalitee' => '1.22',
                                       'Test::MinimumVersion' => '0',
                                       'Test::Mojibake' => '0',
                                       'Test::More' => '0.94',
                                       'Test::Pod' => '1.41',
                                       'Test::Pod::Coverage' => '1.08',
-                                      'Test::Pod::Spelling::CommonMistakes' => '1.000',
                                       'Test::Portability::Files' => '0',
                                       'Test::Spelling' => '0.12',
-                                      'Test::Version' => '1',
-                                      'Try::Tiny' => '0.24'
+                                      'Test::Version' => '1'
                                     }
                     },
        'runtime' => {
@@ -69,13 +63,15 @@ do { my $x = {
                                     },
                       'suggests' => {
                                       'Authen::NTLM' => '1.02',
+                                      'Data::Dump' => '1.13',
                                       'IO::Socket::INET' => '0',
                                       'LWP::Protocol::https' => '6.02'
                                     }
                     },
        'test' => {
                    'recommends' => {
-                                     'CPAN::Meta' => '2.120900'
+                                     'CPAN::Meta' => '2.120900',
+                                     'Test::LeakTrace' => '0'
                                    },
                    'requires' => {
                                    'ExtUtils::MakeMaker' => '0',
@@ -83,6 +79,7 @@ do { my $x = {
                                    'FindBin' => '0',
                                    'Test::Fatal' => '0',
                                    'Test::More' => '0',
+                                   'Test::Needs' => '0',
                                    'Test::RequiresInternet' => '0'
                                  }
                  }
diff --git a/t/leak/no_leak.t b/t/leak/no_leak.t
new file mode 100644 (file)
index 0000000..f2b1ce6
--- /dev/null
@@ -0,0 +1,26 @@
+use strict;
+use warnings;
+
+# To ensure "no leak" in real LWP code, we should test it against HTTP servers.
+# However, HTTPS is not required here, so let's use an HTTP site neverssl.com.
+use Test::RequiresInternet 'neverssl.com' => 80;
+
+use Test::More;
+use Test::Needs 'Test::LeakTrace';
+
+use File::Temp ();
+use LWP::UserAgent;
+
+plan skip_all => 'skip leak test in COVERAGE' if $ENV{COVERAGE};
+
+my ($tempfh, $tempfile) = File::Temp::tempfile(UNLINK => 0);
+close $tempfh;
+
+Test::LeakTrace::no_leaks_ok(sub {
+    my $ua = LWP::UserAgent->new;
+    my $res = $ua->get("http://neverssl.com/", ':content_file' => $tempfile);
+});
+
+unlink $tempfile;
+
+done_testing;
index 99dff4f8b07dccd5259e7c07b7ee6e12cc1f7401..fa1640e6a6f28326ad245287f58b6d5c56d71922 100644 (file)
@@ -44,6 +44,7 @@ my @files = (
     't/base/simple.t',
     't/base/ua.t',
     't/base/ua_handlers.t',
+    't/leak/no_leak.t',
     't/local/autoload-get.t',
     't/local/autoload.t',
     't/local/get.t',
diff --git a/xt/author/minimum-version.t b/xt/author/minimum-version.t
new file mode 100644 (file)
index 0000000..6af92e0
--- /dev/null
@@ -0,0 +1,6 @@
+#!perl
+
+use Test::More;
+
+use Test::MinimumVersion;
+all_minimum_version_from_metayml_ok();
index a692aa36e900c520dc443c1449f991aca876e834..37d87d509ddfeaf70af1b28100605e0a85f66268 100644 (file)
@@ -19,6 +19,8 @@ Alex
 Alexandre
 Alexey
 Andreas
+Andrew
+Anirvan
 Asplund
 Atzberger
 Authen
@@ -41,6 +43,7 @@ Cardillo
 Ceccarelli
 Chamas
 Chase
+Chatterjee
 Christopher
 Chrysostomos
 Colin
@@ -48,6 +51,7 @@ ConnCache
 Coppit
 Couzins
 DAVIDRW
+Daignault
 Daina
 Dalgleish
 Daniel
@@ -55,6 +59,7 @@ David
 Debug
 DebugFile
 Denaxas
+Desmond
 Digest
 Doug
 Dubois
@@ -79,6 +84,7 @@ Gondwana
 Graaff
 Graeme
 Graham
+Grangaard
 Greab
 Gregoire
 Gregory
@@ -109,6 +115,7 @@ Joerg
 John
 Jr
 KONISHI
+Kaji
 Kaminsky
 Kapranoff
 Karaban
@@ -208,6 +215,7 @@ Schwern
 Sean
 Sergey
 Shirazi
+Shoichi
 Simple
 Sjogren
 Skyttä
@@ -273,6 +281,7 @@ akiym
 amir
 amire80
 andreas
+anirvan
 asjo
 at
 bin
@@ -307,6 +316,7 @@ github
 gong
 gopher
 gpeters
+granny
 haarg
 hfroehlich
 http
@@ -333,6 +343,7 @@ michiel
 mmcleric
 murphy
 naveedm9
+nawglan
 nigelgregoire
 nntp
 nogo
@@ -353,6 +364,7 @@ sburke
 schwern
 shaohua
 shildreth
+skaji
 slaven
 sprout
 sromanov
index 09296ac2aeb29fb71f2b70c64c2dc05ba07799d6..43c51b760ae3a220be0f5a63b5551e227503cbd1 100644 (file)
@@ -1,8 +1,14 @@
 use Test::More tests => 2;
 
+if (($ENV{TRAVIS_PULL_REQUEST} || '') eq 'false') {
+    chomp(my $branch_name = ($ENV{TRAVIS_BRANCH} || `git rev-parse --abbrev-ref HEAD`));
+    $TODO = 'Changes need not have content for this release yet if this is only the master branch'
+    if ($branch_name || '') eq 'master';
+}
+
 note 'Checking Changes';
 my $changes_file = 'Changes';
-my $newver = '6.33';
+my $newver = '6.35';
 my $trial_token = '-TRIAL';
 my $encoding = 'UTF-8';
 
diff --git a/xt/release/minimum-version.t b/xt/release/minimum-version.t
deleted file mode 100644 (file)
index d108c79..0000000
+++ /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_from_metayml_ok();