The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes 07
INSTALL 10
LICENSE 44
MANIFEST 1017
META.json 5725
META.yml 2549
Makefile.PL 312
README.md 0100
cover_db/cover.13 10
cover_db/cover.css 750
cover_db/coverage.html 370
cover_db/digests 10
cpanfile 060
dist.ini 6117
lib/GeoIP2/Database/Reader.pm 318
lib/GeoIP2/Error/Generic.pm 33
lib/GeoIP2/Error/HTTP.pm 33
lib/GeoIP2/Error/IPAddressNotFound.pm 33
lib/GeoIP2/Error/Type.pm 33
lib/GeoIP2/Error/WebService.pm 33
lib/GeoIP2/Model/AnonymousIP.pm 0114
lib/GeoIP2/Model/City.pm 33
lib/GeoIP2/Model/ConnectionType.pm 89
lib/GeoIP2/Model/Country.pm 33
lib/GeoIP2/Model/Domain.pm 89
lib/GeoIP2/Model/ISP.pm 1414
lib/GeoIP2/Model/Insights.pm 33
lib/GeoIP2/Record/City.pm 33
lib/GeoIP2/Record/Continent.pm 33
lib/GeoIP2/Record/Country.pm 33
lib/GeoIP2/Record/Location.pm 33
lib/GeoIP2/Record/MaxMind.pm 33
lib/GeoIP2/Record/Postal.pm 33
lib/GeoIP2/Record/RepresentedCountry.pm 33
lib/GeoIP2/Record/Subdivision.pm 33
lib/GeoIP2/Record/Traits.pm 33
lib/GeoIP2/Role/Error/HTTP.pm 11
lib/GeoIP2/Role/HasIPAddress.pm 11
lib/GeoIP2/Role/HasLocales.pm 11
lib/GeoIP2/Role/Model/Flat.pm 11
lib/GeoIP2/Role/Model/HasSubdivisions.pm 11
lib/GeoIP2/Role/Model/Location.pm 11
lib/GeoIP2/Role/Model.pm 11
lib/GeoIP2/Role/Record/Country.pm 11
lib/GeoIP2/Role/Record/HasNames.pm 11
lib/GeoIP2/Types.pm 11
lib/GeoIP2/WebService/Client.pm 33
lib/GeoIP2.pm 37
maxmind-db/source-data/GeoIP2-Anonymous-IP-Test.json 032
maxmind-db/test-data/GeoIP2-Anonymous-IP-Test.mmdb --
maxmind-db/test-data/write-test-data.pl 1141
perltidy.LOG 190
pod2htmd.tmp 20
t/00-compile.t 0111
t/00-report-prereqs.dd 070
t/00-report-prereqs.t 0176
t/GeoIP2/Database/Reader-Anonymous-IP.t 080
t/GeoIP2/Database/Reader-Connection-Type.t 028
t/GeoIP2/Database/Reader-Domain.t 020
t/GeoIP2/Database/Reader-ISP.t 033
t/GeoIP2/Database/Reader.t 530
t/author-eol.t 016
t/author-no-tabs.t 080
t/author-pod-spell.t 0116
t/release-eol.t 160
t/release-no-tabs.t 550
t/release-pod-coverage.t 1928
t/release-pod-spell.t 770
t/release-portability.t 019
t/release-synopsis.t 52
weaver.ini 10
71 files changed (This is a version diff) 5582578
@@ -1,3 +1,10 @@
+2.001000 2014-10-28
+
+- Added support for the GeoIP2 Anonymous IP database. The
+  GeoIP2::Database::Reader class now has an anonymous_ip() method which
+  returns a GeoIP2::Model::AnonymousIP object.
+
+
 2.000001 2014-09-22
 
 - Removed beta notice from documentation.
@@ -1,4 +1,3 @@
-
 This is the Perl distribution GeoIP2.
 
 Installing GeoIP2 is straightforward.
@@ -1,4 +1,4 @@
-This software is copyright (c) 2013 by MaxMind, Inc.
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 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 MaxMind, Inc.
+This software is Copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 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, Fifth Floor, Boston, MA  02110-1301  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 MaxMind, Inc.
+This software is Copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software, licensed under:
 
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.020.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.022.
 Changes
 INSTALL
 LICENSE
@@ -7,11 +7,9 @@ META.json
 META.yml
 Makefile.PL
 README
+README.md
 bin/web-service-request
-cover_db/cover.13
-cover_db/cover.css
-cover_db/coverage.html
-cover_db/digests
+cpanfile
 dist.ini
 lib/GeoIP2.pm
 lib/GeoIP2/Database/Reader.pm
@@ -20,6 +18,7 @@ lib/GeoIP2/Error/HTTP.pm
 lib/GeoIP2/Error/IPAddressNotFound.pm
 lib/GeoIP2/Error/Type.pm
 lib/GeoIP2/Error/WebService.pm
+lib/GeoIP2/Model/AnonymousIP.pm
 lib/GeoIP2/Model/City.pm
 lib/GeoIP2/Model/ConnectionType.pm
 lib/GeoIP2/Model/Country.pm
@@ -49,12 +48,14 @@ lib/GeoIP2/WebService/Client.pm
 maxmind-db/LICENSE
 maxmind-db/MaxMind-DB-spec.md
 maxmind-db/README.md
+maxmind-db/source-data/GeoIP2-Anonymous-IP-Test.json
 maxmind-db/source-data/GeoIP2-City-Test.json
 maxmind-db/source-data/GeoIP2-Connection-Type-Test.json
 maxmind-db/source-data/GeoIP2-Country-Test.json
 maxmind-db/source-data/GeoIP2-Domain-Test.json
 maxmind-db/source-data/GeoIP2-ISP-Test.json
 maxmind-db/source-data/README
+maxmind-db/test-data/GeoIP2-Anonymous-IP-Test.mmdb
 maxmind-db/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb
 maxmind-db/test-data/GeoIP2-City-Test.mmdb
 maxmind-db/test-data/GeoIP2-Connection-Type-Test.mmdb
@@ -78,8 +79,13 @@ maxmind-db/test-data/MaxMind-DB-test-nested.mmdb
 maxmind-db/test-data/README.md
 maxmind-db/test-data/maps-with-pointers.raw
 maxmind-db/test-data/write-test-data.pl
-perltidy.LOG
-pod2htmd.tmp
+t/00-compile.t
+t/00-report-prereqs.dd
+t/00-report-prereqs.t
+t/GeoIP2/Database/Reader-Anonymous-IP.t
+t/GeoIP2/Database/Reader-Connection-Type.t
+t/GeoIP2/Database/Reader-Domain.t
+t/GeoIP2/Database/Reader-ISP.t
 t/GeoIP2/Database/Reader.t
 t/GeoIP2/Error/Type.t
 t/GeoIP2/Model/City.t
@@ -88,12 +94,13 @@ t/GeoIP2/Model/Insights.t
 t/GeoIP2/Model/names.t
 t/GeoIP2/Types.t
 t/GeoIP2/WebService/Client.t
+t/author-eol.t
+t/author-no-tabs.t
+t/author-pod-spell.t
 t/lib/Test/GeoIP2.pm
 t/release-cpan-changes.t
-t/release-eol.t
-t/release-no-tabs.t
 t/release-pod-coverage.t
-t/release-pod-spell.t
 t/release-pod-syntax.t
+t/release-portability.t
 t/release-synopsis.t
 weaver.ini
@@ -6,7 +6,7 @@
       "Olaf Alders <oalders@maxmind.com>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 5.020, CPAN::Meta::Converter version 2.141170",
+   "generated_by" : "Dist::Zilla version 5.022, CPAN::Meta::Converter version 2.142690",
    "license" : [
       "perl_5"
    ],
@@ -18,15 +18,21 @@
    "prereqs" : {
       "configure" : {
          "requires" : {
-            "ExtUtils::MakeMaker" : "0"
+            "ExtUtils::MakeMaker" : "0",
+            "perl" : "5.008"
          }
       },
       "develop" : {
          "requires" : {
+            "Pod::Coverage::TrustPod" : "0",
             "Test::CPAN::Changes" : "0.19",
-            "Test::More" : "0",
+            "Test::EOL" : "0",
+            "Test::More" : "0.88",
             "Test::NoTabs" : "0",
-            "Test::Pod" : "1.41"
+            "Test::Pod" : "1.41",
+            "Test::Pod::Coverage" : "1.08",
+            "Test::Spelling" : "0.12",
+            "Test::Synopsis" : "0"
          }
       },
       "runtime" : {
@@ -58,29 +64,743 @@
          }
       },
       "test" : {
+         "recommends" : {
+            "CPAN::Meta" : "2.120900"
+         },
          "requires" : {
+            "ExtUtils::MakeMaker" : "0",
+            "File::Spec" : "0",
             "HTTP::Status" : "0",
             "IO::Compress::Gzip" : "0",
+            "IO::Handle" : "0",
+            "IPC::Open3" : "0",
             "Path::Class" : "0",
             "Test::Fatal" : "0",
             "Test::More" : "0.88",
             "base" : "0",
+            "perl" : "5.008",
             "utf8" : "0"
          }
       }
    },
+   "provides" : {
+      "GeoIP2" : {
+         "file" : "lib/GeoIP2.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Database::Reader" : {
+         "file" : "lib/GeoIP2/Database/Reader.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Error::Generic" : {
+         "file" : "lib/GeoIP2/Error/Generic.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Error::HTTP" : {
+         "file" : "lib/GeoIP2/Error/HTTP.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Error::IPAddressNotFound" : {
+         "file" : "lib/GeoIP2/Error/IPAddressNotFound.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Error::Type" : {
+         "file" : "lib/GeoIP2/Error/Type.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Error::WebService" : {
+         "file" : "lib/GeoIP2/Error/WebService.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Model::AnonymousIP" : {
+         "file" : "lib/GeoIP2/Model/AnonymousIP.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Model::City" : {
+         "file" : "lib/GeoIP2/Model/City.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Model::ConnectionType" : {
+         "file" : "lib/GeoIP2/Model/ConnectionType.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Model::Country" : {
+         "file" : "lib/GeoIP2/Model/Country.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Model::Domain" : {
+         "file" : "lib/GeoIP2/Model/Domain.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Model::ISP" : {
+         "file" : "lib/GeoIP2/Model/ISP.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Model::Insights" : {
+         "file" : "lib/GeoIP2/Model/Insights.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Record::City" : {
+         "file" : "lib/GeoIP2/Record/City.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Record::Continent" : {
+         "file" : "lib/GeoIP2/Record/Continent.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Record::Country" : {
+         "file" : "lib/GeoIP2/Record/Country.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Record::Location" : {
+         "file" : "lib/GeoIP2/Record/Location.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Record::MaxMind" : {
+         "file" : "lib/GeoIP2/Record/MaxMind.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Record::Postal" : {
+         "file" : "lib/GeoIP2/Record/Postal.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Record::RepresentedCountry" : {
+         "file" : "lib/GeoIP2/Record/RepresentedCountry.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Record::Subdivision" : {
+         "file" : "lib/GeoIP2/Record/Subdivision.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Record::Traits" : {
+         "file" : "lib/GeoIP2/Record/Traits.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Role::Error::HTTP" : {
+         "file" : "lib/GeoIP2/Role/Error/HTTP.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Role::HasIPAddress" : {
+         "file" : "lib/GeoIP2/Role/HasIPAddress.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Role::HasLocales" : {
+         "file" : "lib/GeoIP2/Role/HasLocales.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Role::Model" : {
+         "file" : "lib/GeoIP2/Role/Model.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Role::Model::Flat" : {
+         "file" : "lib/GeoIP2/Role/Model/Flat.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Role::Model::HasSubdivisions" : {
+         "file" : "lib/GeoIP2/Role/Model/HasSubdivisions.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Role::Model::Location" : {
+         "file" : "lib/GeoIP2/Role/Model/Location.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Role::Record::Country" : {
+         "file" : "lib/GeoIP2/Role/Record/Country.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Role::Record::HasNames" : {
+         "file" : "lib/GeoIP2/Role/Record/HasNames.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::Types" : {
+         "file" : "lib/GeoIP2/Types.pm",
+         "version" : "2.001000"
+      },
+      "GeoIP2::WebService::Client" : {
+         "file" : "lib/GeoIP2/WebService/Client.pm",
+         "version" : "2.001000"
+      }
+   },
    "release_status" : "stable",
    "resources" : {
       "bugtracker" : {
          "web" : "https://github.com/maxmind/GeoIP2-perl/issues"
       },
+      "homepage" : "https://metacpan.org/release/GeoIP2",
       "repository" : {
          "type" : "git",
          "url" : "git://github.com/maxmind/GeoIP2-perl.git",
          "web" : "https://github.com/maxmind/GeoIP2-perl"
       }
    },
-   "version" : "2.000001",
+   "version" : "2.001000",
+   "x_Dist_Zilla" : {
+      "perl" : {
+         "version" : "5.016003"
+      },
+      "plugins" : [
+         {
+            "class" : "Dist::Zilla::Plugin::Encoding",
+            "name" : "Encoding",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MakeMaker",
+            "config" : {
+               "Dist::Zilla::Role::TestRunner" : {
+                  "default_jobs" : 1
+               }
+            },
+            "name" : "@MAXMIND/MakeMaker",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Authority",
+            "name" : "@MAXMIND/Authority",
+            "version" : "1.009"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::AutoPrereqs",
+            "name" : "@MAXMIND/AutoPrereqs",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CopyFilesFromBuild",
+            "name" : "@MAXMIND/CopyFilesFromBuild",
+            "version" : "0.103510"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::GatherDir",
+            "config" : {
+               "Dist::Zilla::Plugin::GatherDir" : {
+                  "exclude_filename" : [
+                     "README.md",
+                     "cpanfile",
+                     "Makefile.PL",
+                     "LICENSE"
+                  ],
+                  "exclude_match" : [],
+                  "follow_symlinks" : "0",
+                  "include_dotfiles" : "0",
+                  "prefix" : "",
+                  "prune_directory" : [],
+                  "root" : "."
+               }
+            },
+            "name" : "@MAXMIND/GatherDir",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::GitHub::Meta",
+            "name" : "@MAXMIND/GitHub::Meta",
+            "version" : "0.38"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::GitHub::Update",
+            "name" : "@MAXMIND/GitHub::Update",
+            "version" : "0.38"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
+            "config" : {
+               "Dist::Zilla::Plugin::MetaProvides::Package" : {
+                  "finder_objects" : [
+                     {
+                        "class" : "Dist::Zilla::Plugin::FinderCode",
+                        "name" : "@MAXMIND/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
+                        "version" : "5.022"
+                     }
+                  ]
+               },
+               "Dist::Zilla::Role::MetaProvider::Provider" : {
+                  "inherit_missing" : "1",
+                  "inherit_version" : "1",
+                  "meta_noindex" : "1"
+               }
+            },
+            "name" : "@MAXMIND/MetaProvides::Package",
+            "version" : "2.001002"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::NextRelease",
+            "name" : "@MAXMIND/NextRelease",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::Pod::Coverage::Configurable",
+            "name" : "@MAXMIND/Test::Pod::Coverage::Configurable",
+            "version" : "0.01"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::PodSpelling",
+            "name" : "@MAXMIND/Test::PodSpelling",
+            "version" : "2.006008"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
+            "name" : "@MAXMIND/Test::ReportPrereqs",
+            "version" : "0.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Prereqs",
+            "config" : {
+               "Dist::Zilla::Plugin::Prereqs" : {
+                  "phase" : "test",
+                  "type" : "requires"
+               }
+            },
+            "name" : "@MAXMIND/TestMoreDoneTesting",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PromptIfStale",
+            "config" : {
+               "Dist::Zilla::Plugin::PromptIfStale" : {
+                  "check_all_plugins" : "1",
+                  "check_all_prereqs" : "1",
+                  "modules" : [],
+                  "phase" : "release",
+                  "skip" : []
+               }
+            },
+            "name" : "@MAXMIND/stale modules, release",
+            "version" : "0.028"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
+            "name" : "@MAXMIND/ReadmeMarkdownInBuild",
+            "version" : "0.142470"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
+            "name" : "@MAXMIND/ReadmeMarkdownInRoot",
+            "version" : "0.142470"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::UploadToCPAN",
+            "name" : "@MAXMIND/UploadToCPAN",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PruneCruft",
+            "name" : "@MAXMIND/PruneCruft",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ManifestSkip",
+            "name" : "@MAXMIND/ManifestSkip",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MetaYAML",
+            "name" : "@MAXMIND/MetaYAML",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::License",
+            "name" : "@MAXMIND/License",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ExtraTests",
+            "name" : "@MAXMIND/ExtraTests",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ExecDir",
+            "name" : "@MAXMIND/ExecDir",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ShareDir",
+            "name" : "@MAXMIND/ShareDir",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Manifest",
+            "name" : "@MAXMIND/Manifest",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::TestRelease",
+            "name" : "@MAXMIND/TestRelease",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::ConfirmRelease",
+            "name" : "@MAXMIND/ConfirmRelease",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
+            "name" : "@MAXMIND/CheckPrereqsIndexed",
+            "version" : "0.012"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CPANFile",
+            "name" : "@MAXMIND/CPANFile",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch",
+            "config" : {
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@MAXMIND/Git::CheckFor::CorrectBranch",
+            "version" : "0.011"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts",
+            "config" : {
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@MAXMIND/Git::CheckFor::MergeConflicts",
+            "version" : "0.011"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Describe",
+            "name" : "@MAXMIND/Git::Describe",
+            "version" : "0.003"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Contributors",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Contributors" : {
+                  "include_authors" : "0",
+                  "include_releaser" : "1",
+                  "order_by" : "name",
+                  "paths" : []
+               }
+            },
+            "name" : "@MAXMIND/Git::Contributors",
+            "version" : "0.008"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::InstallGuide",
+            "name" : "@MAXMIND/InstallGuide",
+            "version" : "1.200005"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MAXMIND::Contributors",
+            "name" : "@MAXMIND/MAXMIND::Contributors",
+            "version" : "0.02"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MAXMIND::License",
+            "name" : "@MAXMIND/MAXMIND::License",
+            "version" : "0.02"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Meta::Contributors",
+            "name" : "@MAXMIND/Meta::Contributors",
+            "version" : "0.001"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MetaConfig",
+            "name" : "@MAXMIND/MetaConfig",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MetaJSON",
+            "name" : "@MAXMIND/MetaJSON",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::MinimumPerl",
+            "name" : "@MAXMIND/MinimumPerl",
+            "version" : "1.004"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PkgVersion",
+            "name" : "@MAXMIND/PkgVersion",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::SurgicalPodWeaver",
+            "config" : {
+               "Dist::Zilla::Plugin::PodWeaver" : {
+                  "finder" : [
+                     ":InstallModules",
+                     ":ExecFiles"
+                  ],
+                  "plugins" : [
+                     {
+                        "class" : "Pod::Weaver::Plugin::EnsurePod5",
+                        "name" : "@CorePrep/EnsurePod5",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Plugin::H1Nester",
+                        "name" : "@CorePrep/H1Nester",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Name",
+                        "name" : "Name",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Version",
+                        "name" : "Version",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Region",
+                        "name" : "prelude",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "SYNOPSIS",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "DESCRIPTION",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Leftovers",
+                        "name" : "Leftovers",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Region",
+                        "name" : "postlude",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Authors",
+                        "name" : "Authors",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Contributors",
+                        "name" : "Contributors",
+                        "version" : "0.008"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Legal",
+                        "name" : "Legal",
+                        "version" : "4.006"
+                     }
+                  ]
+               }
+            },
+            "name" : "@MAXMIND/SurgicalPodWeaver",
+            "version" : "0.0021"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
+            "name" : "@MAXMIND/PodSyntaxTests",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::CPAN::Changes",
+            "name" : "@MAXMIND/Test::CPAN::Changes",
+            "version" : "0.008"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::Compile",
+            "config" : {
+               "Dist::Zilla::Plugin::Test::Compile" : {
+                  "bail_out_on_fail" : "0",
+                  "fail_on_warning" : "author",
+                  "fake_home" : "0",
+                  "filename" : "t/00-compile.t",
+                  "module_finder" : [
+                     ":InstallModules"
+                  ],
+                  "needs_display" : "0",
+                  "phase" : "test",
+                  "script_finder" : [
+                     ":ExecFiles"
+                  ],
+                  "skips" : []
+               }
+            },
+            "name" : "@MAXMIND/Test::Compile",
+            "version" : "2.051"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::EOL",
+            "config" : {
+               "Dist::Zilla::Plugin::Test::EOL" : {
+                  "filename" : "xt/author/eol.t"
+               }
+            },
+            "name" : "@MAXMIND/Test::EOL",
+            "version" : "0.14"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::NoTabs",
+            "config" : {
+               "Dist::Zilla::Plugin::Test::NoTabs" : {
+                  "filename" : "xt/author/no-tabs.t",
+                  "finder" : [
+                     ":InstallModules",
+                     ":ExecFiles",
+                     ":TestFiles"
+                  ]
+               }
+            },
+            "name" : "@MAXMIND/Test::NoTabs",
+            "version" : "0.09"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::Portability",
+            "name" : "@MAXMIND/Test::Portability",
+            "version" : "2.000005"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::Synopsis",
+            "name" : "@MAXMIND/Test::Synopsis",
+            "version" : "2.000005"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Check",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Check" : {
+                  "untracked_files" : "die"
+               },
+               "Dist::Zilla::Role::Git::DirtyFiles" : {
+                  "allow_dirty" : [
+                     "Changes",
+                     "cpanfile",
+                     "CONTRIBUTING.md",
+                     "LICENSE",
+                     "Makefile.PL",
+                     "README.md"
+                  ],
+                  "allow_dirty_match" : [],
+                  "changelog" : "Changes"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@MAXMIND/Git::Check",
+            "version" : "2.025"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Commit",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Commit" : {
+                  "add_files_in" : [],
+                  "commit_msg" : "v%v%n%n%c",
+                  "time_zone" : "local"
+               },
+               "Dist::Zilla::Role::Git::DirtyFiles" : {
+                  "allow_dirty" : [
+                     "Changes",
+                     "cpanfile",
+                     "CONTRIBUTING.md",
+                     "LICENSE",
+                     "Makefile.PL",
+                     "README.md"
+                  ],
+                  "allow_dirty_match" : [],
+                  "changelog" : "Changes"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@MAXMIND/Git::Commit",
+            "version" : "2.025"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Tag",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Tag" : {
+                  "branch" : null,
+                  "signed" : 0,
+                  "tag" : "v2.001000",
+                  "tag_format" : "v%v",
+                  "tag_message" : "v%v",
+                  "time_zone" : "local"
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@MAXMIND/Git::Tag",
+            "version" : "2.025"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Push",
+            "config" : {
+               "Dist::Zilla::Plugin::Git::Push" : {
+                  "push_to" : [
+                     "origin"
+                  ],
+                  "remotes_must_exist" : 1
+               },
+               "Dist::Zilla::Role::Git::Repo" : {
+                  "repo_root" : "."
+               }
+            },
+            "name" : "@MAXMIND/Git::Push",
+            "version" : "2.025"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":InstallModules",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":IncModules",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":TestFiles",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":ExecFiles",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":ShareFiles",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":MainModule",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":AllFiles",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":NoFiles",
+            "version" : "5.022"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : "@MAXMIND/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
+            "version" : "5.022"
+         }
+      ],
+      "zilla" : {
+         "class" : "Dist::Zilla::Dist::Builder",
+         "config" : {
+            "is_trial" : "0"
+         },
+         "version" : "5.022"
+      }
+   },
    "x_authority" : "cpan:MAXMIND",
    "x_contributors" : [
       "Graham Knop <haarg@haarg.org>"
@@ -5,22 +5,131 @@ author:
   - 'Greg Oschwald <goschwald@maxmind.com>'
   - 'Olaf Alders <oalders@maxmind.com>'
 build_requires:
+  ExtUtils::MakeMaker: '0'
+  File::Spec: '0'
   HTTP::Status: '0'
   IO::Compress::Gzip: '0'
+  IO::Handle: '0'
+  IPC::Open3: '0'
   Path::Class: '0'
   Test::Fatal: '0'
   Test::More: '0.88'
   base: '0'
+  perl: '5.008'
   utf8: '0'
 configure_requires:
   ExtUtils::MakeMaker: '0'
+  perl: '5.008'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.020, CPAN::Meta::Converter version 2.141170'
+generated_by: 'Dist::Zilla version 5.022, CPAN::Meta::Converter version 2.142690'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
   version: '1.4'
 name: GeoIP2
+provides:
+  GeoIP2:
+    file: lib/GeoIP2.pm
+    version: '2.001000'
+  GeoIP2::Database::Reader:
+    file: lib/GeoIP2/Database/Reader.pm
+    version: '2.001000'
+  GeoIP2::Error::Generic:
+    file: lib/GeoIP2/Error/Generic.pm
+    version: '2.001000'
+  GeoIP2::Error::HTTP:
+    file: lib/GeoIP2/Error/HTTP.pm
+    version: '2.001000'
+  GeoIP2::Error::IPAddressNotFound:
+    file: lib/GeoIP2/Error/IPAddressNotFound.pm
+    version: '2.001000'
+  GeoIP2::Error::Type:
+    file: lib/GeoIP2/Error/Type.pm
+    version: '2.001000'
+  GeoIP2::Error::WebService:
+    file: lib/GeoIP2/Error/WebService.pm
+    version: '2.001000'
+  GeoIP2::Model::AnonymousIP:
+    file: lib/GeoIP2/Model/AnonymousIP.pm
+    version: '2.001000'
+  GeoIP2::Model::City:
+    file: lib/GeoIP2/Model/City.pm
+    version: '2.001000'
+  GeoIP2::Model::ConnectionType:
+    file: lib/GeoIP2/Model/ConnectionType.pm
+    version: '2.001000'
+  GeoIP2::Model::Country:
+    file: lib/GeoIP2/Model/Country.pm
+    version: '2.001000'
+  GeoIP2::Model::Domain:
+    file: lib/GeoIP2/Model/Domain.pm
+    version: '2.001000'
+  GeoIP2::Model::ISP:
+    file: lib/GeoIP2/Model/ISP.pm
+    version: '2.001000'
+  GeoIP2::Model::Insights:
+    file: lib/GeoIP2/Model/Insights.pm
+    version: '2.001000'
+  GeoIP2::Record::City:
+    file: lib/GeoIP2/Record/City.pm
+    version: '2.001000'
+  GeoIP2::Record::Continent:
+    file: lib/GeoIP2/Record/Continent.pm
+    version: '2.001000'
+  GeoIP2::Record::Country:
+    file: lib/GeoIP2/Record/Country.pm
+    version: '2.001000'
+  GeoIP2::Record::Location:
+    file: lib/GeoIP2/Record/Location.pm
+    version: '2.001000'
+  GeoIP2::Record::MaxMind:
+    file: lib/GeoIP2/Record/MaxMind.pm
+    version: '2.001000'
+  GeoIP2::Record::Postal:
+    file: lib/GeoIP2/Record/Postal.pm
+    version: '2.001000'
+  GeoIP2::Record::RepresentedCountry:
+    file: lib/GeoIP2/Record/RepresentedCountry.pm
+    version: '2.001000'
+  GeoIP2::Record::Subdivision:
+    file: lib/GeoIP2/Record/Subdivision.pm
+    version: '2.001000'
+  GeoIP2::Record::Traits:
+    file: lib/GeoIP2/Record/Traits.pm
+    version: '2.001000'
+  GeoIP2::Role::Error::HTTP:
+    file: lib/GeoIP2/Role/Error/HTTP.pm
+    version: '2.001000'
+  GeoIP2::Role::HasIPAddress:
+    file: lib/GeoIP2/Role/HasIPAddress.pm
+    version: '2.001000'
+  GeoIP2::Role::HasLocales:
+    file: lib/GeoIP2/Role/HasLocales.pm
+    version: '2.001000'
+  GeoIP2::Role::Model:
+    file: lib/GeoIP2/Role/Model.pm
+    version: '2.001000'
+  GeoIP2::Role::Model::Flat:
+    file: lib/GeoIP2/Role/Model/Flat.pm
+    version: '2.001000'
+  GeoIP2::Role::Model::HasSubdivisions:
+    file: lib/GeoIP2/Role/Model/HasSubdivisions.pm
+    version: '2.001000'
+  GeoIP2::Role::Model::Location:
+    file: lib/GeoIP2/Role/Model/Location.pm
+    version: '2.001000'
+  GeoIP2::Role::Record::Country:
+    file: lib/GeoIP2/Role/Record/Country.pm
+    version: '2.001000'
+  GeoIP2::Role::Record::HasNames:
+    file: lib/GeoIP2/Role/Record/HasNames.pm
+    version: '2.001000'
+  GeoIP2::Types:
+    file: lib/GeoIP2/Types.pm
+    version: '2.001000'
+  GeoIP2::WebService::Client:
+    file: lib/GeoIP2/WebService/Client.pm
+    version: '2.001000'
 requires:
   B: '0'
   Data::Dumper: '0'
@@ -48,8 +157,446 @@ requires:
   warnings: '0'
 resources:
   bugtracker: https://github.com/maxmind/GeoIP2-perl/issues
+  homepage: https://metacpan.org/release/GeoIP2
   repository: git://github.com/maxmind/GeoIP2-perl.git
-version: '2.000001'
+version: '2.001000'
+x_Dist_Zilla:
+  perl:
+    version: '5.016003'
+  plugins:
+    -
+      class: Dist::Zilla::Plugin::Encoding
+      name: Encoding
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::MakeMaker
+      config:
+        Dist::Zilla::Role::TestRunner:
+          default_jobs: 1
+      name: '@MAXMIND/MakeMaker'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::Authority
+      name: '@MAXMIND/Authority'
+      version: '1.009'
+    -
+      class: Dist::Zilla::Plugin::AutoPrereqs
+      name: '@MAXMIND/AutoPrereqs'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::CopyFilesFromBuild
+      name: '@MAXMIND/CopyFilesFromBuild'
+      version: '0.103510'
+    -
+      class: Dist::Zilla::Plugin::GatherDir
+      config:
+        Dist::Zilla::Plugin::GatherDir:
+          exclude_filename:
+            - README.md
+            - cpanfile
+            - Makefile.PL
+            - LICENSE
+          exclude_match: []
+          follow_symlinks: '0'
+          include_dotfiles: '0'
+          prefix: ''
+          prune_directory: []
+          root: .
+      name: '@MAXMIND/GatherDir'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::GitHub::Meta
+      name: '@MAXMIND/GitHub::Meta'
+      version: '0.38'
+    -
+      class: Dist::Zilla::Plugin::GitHub::Update
+      name: '@MAXMIND/GitHub::Update'
+      version: '0.38'
+    -
+      class: Dist::Zilla::Plugin::MetaProvides::Package
+      config:
+        Dist::Zilla::Plugin::MetaProvides::Package:
+          finder_objects:
+            -
+              class: Dist::Zilla::Plugin::FinderCode
+              name: '@MAXMIND/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
+              version: '5.022'
+        Dist::Zilla::Role::MetaProvider::Provider:
+          inherit_missing: '1'
+          inherit_version: '1'
+          meta_noindex: '1'
+      name: '@MAXMIND/MetaProvides::Package'
+      version: '2.001002'
+    -
+      class: Dist::Zilla::Plugin::NextRelease
+      name: '@MAXMIND/NextRelease'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::Test::Pod::Coverage::Configurable
+      name: '@MAXMIND/Test::Pod::Coverage::Configurable'
+      version: '0.01'
+    -
+      class: Dist::Zilla::Plugin::Test::PodSpelling
+      name: '@MAXMIND/Test::PodSpelling'
+      version: '2.006008'
+    -
+      class: Dist::Zilla::Plugin::Test::ReportPrereqs
+      name: '@MAXMIND/Test::ReportPrereqs'
+      version: '0.019'
+    -
+      class: Dist::Zilla::Plugin::Prereqs
+      config:
+        Dist::Zilla::Plugin::Prereqs:
+          phase: test
+          type: requires
+      name: '@MAXMIND/TestMoreDoneTesting'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::PromptIfStale
+      config:
+        Dist::Zilla::Plugin::PromptIfStale:
+          check_all_plugins: '1'
+          check_all_prereqs: '1'
+          modules: []
+          phase: release
+          skip: []
+      name: '@MAXMIND/stale modules, release'
+      version: '0.028'
+    -
+      class: Dist::Zilla::Plugin::ReadmeAnyFromPod
+      name: '@MAXMIND/ReadmeMarkdownInBuild'
+      version: '0.142470'
+    -
+      class: Dist::Zilla::Plugin::ReadmeAnyFromPod
+      name: '@MAXMIND/ReadmeMarkdownInRoot'
+      version: '0.142470'
+    -
+      class: Dist::Zilla::Plugin::UploadToCPAN
+      name: '@MAXMIND/UploadToCPAN'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::PruneCruft
+      name: '@MAXMIND/PruneCruft'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::ManifestSkip
+      name: '@MAXMIND/ManifestSkip'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::MetaYAML
+      name: '@MAXMIND/MetaYAML'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::License
+      name: '@MAXMIND/License'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::ExtraTests
+      name: '@MAXMIND/ExtraTests'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::ExecDir
+      name: '@MAXMIND/ExecDir'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::ShareDir
+      name: '@MAXMIND/ShareDir'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::Manifest
+      name: '@MAXMIND/Manifest'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::TestRelease
+      name: '@MAXMIND/TestRelease'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::ConfirmRelease
+      name: '@MAXMIND/ConfirmRelease'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::CheckPrereqsIndexed
+      name: '@MAXMIND/CheckPrereqsIndexed'
+      version: '0.012'
+    -
+      class: Dist::Zilla::Plugin::CPANFile
+      name: '@MAXMIND/CPANFile'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch
+      config:
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@MAXMIND/Git::CheckFor::CorrectBranch'
+      version: '0.011'
+    -
+      class: Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts
+      config:
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@MAXMIND/Git::CheckFor::MergeConflicts'
+      version: '0.011'
+    -
+      class: Dist::Zilla::Plugin::Git::Describe
+      name: '@MAXMIND/Git::Describe'
+      version: '0.003'
+    -
+      class: Dist::Zilla::Plugin::Git::Contributors
+      config:
+        Dist::Zilla::Plugin::Git::Contributors:
+          include_authors: '0'
+          include_releaser: '1'
+          order_by: name
+          paths: []
+      name: '@MAXMIND/Git::Contributors'
+      version: '0.008'
+    -
+      class: Dist::Zilla::Plugin::InstallGuide
+      name: '@MAXMIND/InstallGuide'
+      version: '1.200005'
+    -
+      class: Dist::Zilla::Plugin::MAXMIND::Contributors
+      name: '@MAXMIND/MAXMIND::Contributors'
+      version: '0.02'
+    -
+      class: Dist::Zilla::Plugin::MAXMIND::License
+      name: '@MAXMIND/MAXMIND::License'
+      version: '0.02'
+    -
+      class: Dist::Zilla::Plugin::Meta::Contributors
+      name: '@MAXMIND/Meta::Contributors'
+      version: '0.001'
+    -
+      class: Dist::Zilla::Plugin::MetaConfig
+      name: '@MAXMIND/MetaConfig'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::MetaJSON
+      name: '@MAXMIND/MetaJSON'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::MinimumPerl
+      name: '@MAXMIND/MinimumPerl'
+      version: '1.004'
+    -
+      class: Dist::Zilla::Plugin::PkgVersion
+      name: '@MAXMIND/PkgVersion'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::SurgicalPodWeaver
+      config:
+        Dist::Zilla::Plugin::PodWeaver:
+          finder:
+            - ':InstallModules'
+            - ':ExecFiles'
+          plugins:
+            -
+              class: Pod::Weaver::Plugin::EnsurePod5
+              name: '@CorePrep/EnsurePod5'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Plugin::H1Nester
+              name: '@CorePrep/H1Nester'
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Name
+              name: Name
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Version
+              name: Version
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Region
+              name: prelude
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Generic
+              name: SYNOPSIS
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Generic
+              name: DESCRIPTION
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Leftovers
+              name: Leftovers
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Region
+              name: postlude
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Authors
+              name: Authors
+              version: '4.006'
+            -
+              class: Pod::Weaver::Section::Contributors
+              name: Contributors
+              version: '0.008'
+            -
+              class: Pod::Weaver::Section::Legal
+              name: Legal
+              version: '4.006'
+      name: '@MAXMIND/SurgicalPodWeaver'
+      version: '0.0021'
+    -
+      class: Dist::Zilla::Plugin::PodSyntaxTests
+      name: '@MAXMIND/PodSyntaxTests'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::Test::CPAN::Changes
+      name: '@MAXMIND/Test::CPAN::Changes'
+      version: '0.008'
+    -
+      class: Dist::Zilla::Plugin::Test::Compile
+      config:
+        Dist::Zilla::Plugin::Test::Compile:
+          bail_out_on_fail: '0'
+          fail_on_warning: author
+          fake_home: '0'
+          filename: t/00-compile.t
+          module_finder:
+            - ':InstallModules'
+          needs_display: '0'
+          phase: test
+          script_finder:
+            - ':ExecFiles'
+          skips: []
+      name: '@MAXMIND/Test::Compile'
+      version: '2.051'
+    -
+      class: Dist::Zilla::Plugin::Test::EOL
+      config:
+        Dist::Zilla::Plugin::Test::EOL:
+          filename: xt/author/eol.t
+      name: '@MAXMIND/Test::EOL'
+      version: '0.14'
+    -
+      class: Dist::Zilla::Plugin::Test::NoTabs
+      config:
+        Dist::Zilla::Plugin::Test::NoTabs:
+          filename: xt/author/no-tabs.t
+          finder:
+            - ':InstallModules'
+            - ':ExecFiles'
+            - ':TestFiles'
+      name: '@MAXMIND/Test::NoTabs'
+      version: '0.09'
+    -
+      class: Dist::Zilla::Plugin::Test::Portability
+      name: '@MAXMIND/Test::Portability'
+      version: '2.000005'
+    -
+      class: Dist::Zilla::Plugin::Test::Synopsis
+      name: '@MAXMIND/Test::Synopsis'
+      version: '2.000005'
+    -
+      class: Dist::Zilla::Plugin::Git::Check
+      config:
+        Dist::Zilla::Plugin::Git::Check:
+          untracked_files: die
+        Dist::Zilla::Role::Git::DirtyFiles:
+          allow_dirty:
+            - Changes
+            - cpanfile
+            - CONTRIBUTING.md
+            - LICENSE
+            - Makefile.PL
+            - README.md
+          allow_dirty_match: []
+          changelog: Changes
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@MAXMIND/Git::Check'
+      version: '2.025'
+    -
+      class: Dist::Zilla::Plugin::Git::Commit
+      config:
+        Dist::Zilla::Plugin::Git::Commit:
+          add_files_in: []
+          commit_msg: v%v%n%n%c
+          time_zone: local
+        Dist::Zilla::Role::Git::DirtyFiles:
+          allow_dirty:
+            - Changes
+            - cpanfile
+            - CONTRIBUTING.md
+            - LICENSE
+            - Makefile.PL
+            - README.md
+          allow_dirty_match: []
+          changelog: Changes
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@MAXMIND/Git::Commit'
+      version: '2.025'
+    -
+      class: Dist::Zilla::Plugin::Git::Tag
+      config:
+        Dist::Zilla::Plugin::Git::Tag:
+          branch: ~
+          signed: 0
+          tag: v2.001000
+          tag_format: v%v
+          tag_message: v%v
+          time_zone: local
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@MAXMIND/Git::Tag'
+      version: '2.025'
+    -
+      class: Dist::Zilla::Plugin::Git::Push
+      config:
+        Dist::Zilla::Plugin::Git::Push:
+          push_to:
+            - origin
+          remotes_must_exist: 1
+        Dist::Zilla::Role::Git::Repo:
+          repo_root: .
+      name: '@MAXMIND/Git::Push'
+      version: '2.025'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':InstallModules'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':IncModules'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':TestFiles'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':ExecFiles'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':ShareFiles'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':MainModule'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':AllFiles'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':NoFiles'
+      version: '5.022'
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: '@MAXMIND/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
+      version: '5.022'
+  zilla:
+    class: Dist::Zilla::Dist::Builder
+    config:
+      is_trial: '0'
+    version: '5.022'
 x_authority: cpan:MAXMIND
 x_contributors:
   - 'Graham Knop <haarg@haarg.org>'
@@ -1,11 +1,11 @@
 
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.020.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.022.
 use strict;
 use warnings;
 
 use 5.008;
 
-use ExtUtils::MakeMaker ;
+use ExtUtils::MakeMaker;
 
 
 
@@ -20,6 +20,7 @@ my %WriteMakefileArgs = (
     "bin/web-service-request"
   ],
   "LICENSE" => "perl",
+  "MIN_PERL_VERSION" => "5.008",
   "NAME" => "GeoIP2",
   "PREREQ_PM" => {
     "B" => 0,
@@ -47,15 +48,19 @@ my %WriteMakefileArgs = (
     "warnings" => 0
   },
   "TEST_REQUIRES" => {
+    "ExtUtils::MakeMaker" => 0,
+    "File::Spec" => 0,
     "HTTP::Status" => 0,
     "IO::Compress::Gzip" => 0,
+    "IO::Handle" => 0,
+    "IPC::Open3" => 0,
     "Path::Class" => 0,
     "Test::Fatal" => 0,
     "Test::More" => "0.88",
     "base" => 0,
     "utf8" => 0
   },
-  "VERSION" => "2.000001",
+  "VERSION" => "2.001000",
   "test" => {
     "TESTS" => "t/*.t t/GeoIP2/*.t t/GeoIP2/Database/*.t t/GeoIP2/Error/*.t t/GeoIP2/Model/*.t t/GeoIP2/WebService/*.t"
   }
@@ -67,9 +72,13 @@ my %FallbackPrereqs = (
   "Data::Dumper" => 0,
   "Data::Validate::IP" => "0.24",
   "Exporter" => 0,
+  "ExtUtils::MakeMaker" => 0,
+  "File::Spec" => 0,
   "Getopt::Long" => 0,
   "HTTP::Status" => 0,
   "IO::Compress::Gzip" => 0,
+  "IO::Handle" => 0,
+  "IPC::Open3" => 0,
   "JSON" => 0,
   "LWP::Protocol::https" => 0,
   "LWP::UserAgent" => 0,
@@ -0,0 +1,100 @@
+# NAME
+
+GeoIP2 - Perl API for MaxMind's GeoIP2 web services and databases
+
+# VERSION
+
+version 2.001000
+
+# DESCRIPTION
+
+This distribution provides an API for the GeoIP2
+[web services](http://dev.maxmind.com/geoip/geoip2/web-services) and
+[databases](http://dev.maxmind.com/geoip/geoip2/downloadable). The API also
+works with the free
+[GeoLite2 databases](http://dev.maxmind.com/geoip/geoip2/geolite2/).
+
+See [GeoIP2::WebService::Client](https://metacpan.org/pod/GeoIP2::WebService::Client) for details on the web service client API
+and [GeoIP2::Database::Reader](https://metacpan.org/pod/GeoIP2::Database::Reader) for the database API.
+
+# SPEEDING UP DATABASE READING
+
+This module only depends on the pure Perl implementation of the MaxMind
+database reader ([MaxMind::DB::Reader](https://metacpan.org/pod/MaxMind::DB::Reader)). If you install the libmaxminddb
+library ([http://maxmind.github.io/libmaxminddb/](http://maxmind.github.io/libmaxminddb/)) and
+[MaxMind::DB::Reader::XS](https://metacpan.org/pod/MaxMind::DB::Reader::XS), then the XS implementation will be loaded
+automatically. The XS implementation is approximately 100x faster than the
+pure Perl implementation.
+
+# INTEGRATION WITH GEONAMES
+
+GeoNames ([http://www.geonames.org/](http://www.geonames.org/)) offers web services and downloadable
+databases with data on geographical features around the world, including
+populated places. They offer both free and paid premium data. Each feature is
+uniquely identified by a `geoname_id`, which is an integer.
+
+Many of the records returned by the GeoIP web services and databases include a
+`geoname_id` field. This is the ID of a geographical feature (city, region,
+country, etc.) in the GeoNames database.
+
+Some of the data that MaxMind provides is also sourced from GeoNames. We
+source data such as place names, ISO codes, and other similar data from the
+GeoNames premium data set.
+
+# REPORTING DATA PROBLEMS
+
+If the problem you find is that an IP address is incorrectly mapped, please
+submit your correction to MaxMind at [http://www.maxmind.com/en/correction](http://www.maxmind.com/en/correction).
+
+If you find some other sort of mistake, like an incorrect spelling, please
+check the GeoNames site ([http://www.geonames.org/](http://www.geonames.org/)) first. Once you've searched
+for a place and found it on the GeoNames map view, there are a number of links
+you can use to correct data ("move", "edit", "alternate names", etc.). Once
+the correction is part of the GeoNames data set, it will be automatically
+incorporated into future MaxMind releases.
+
+If you are a paying MaxMind customer and you're not sure where to submit a
+correction, please contact MaxMind support at for help. See
+[http://www.maxmind.com/en/support](http://www.maxmind.com/en/support) for support details.
+
+# VERSIONING POLICY
+
+This module uses semantic versioning as described by
+[http://semver.org/](http://semver.org/). Version numbers can be read as X.YYYZZZ, where X is the
+major number, YYY is the minor number, and ZZZ is the patch number.
+
+# PERL VERSION SUPPORT
+
+MaxMind has tested this API with Perl 5.8.8 and above. Reasonable patches for
+earlier versions of Perl 5.8 will be applied. We will not accept patches to
+support any version of Perl before 5.8.
+
+The data returned from the GeoIP2 web services includes Unicode characters in
+several locales. This may expose bugs in earlier versions of Perl. If Unicode
+support is important to you, we recommend that you use the most recent version
+of Perl available.
+
+# SUPPORT
+
+Please report all issues with this code using the GitHub issue tracker at
+[https://github.com/maxmind/GeoIP2-perl/issues](https://github.com/maxmind/GeoIP2-perl/issues).
+
+If you are having an issue with a MaxMind service that is not specific to the
+client API please see [http://www.maxmind.com/en/support](http://www.maxmind.com/en/support) for details.
+
+# AUTHORS
+
+- Dave Rolsky <drolsky@maxmind.com>
+- Greg Oschwald <goschwald@maxmind.com>
+- Olaf Alders <oalders@maxmind.com>
+
+# CONTRIBUTOR
+
+Graham Knop <haarg@haarg.org>
+
+# COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
@@ -1 +0,0 @@
-{"runs":{"1369085403.5982.05964":{"start":1369085403.04366,"collected":["branch","condition","statement","subroutine","time"],"vec":{},"OS":"linux","run":"t/GeoIP2/Model/Omni.t","digests":{},"perl":"5.18.0","count":{},"finish":1369085403.04368},"1369085402.5976.01625":{"finish":1369085402.57131,"count":{},"perl":"5.18.0","digests":{},"run":"t/GeoIP2/Model/Country.t","OS":"linux","vec":{},"collected":["branch","condition","statement","subroutine","time"],"start":1369085402.57129},"1369085403.5985.13505":{"collected":["branch","condition","statement","subroutine","time"],"start":1369085403.27774,"run":"t/GeoIP2/Types.t","OS":"linux","vec":{},"digests":{},"perl":"5.18.0","finish":1369085403.27776,"count":{}},"1369085403.5988.01734":{"OS":"linux","run":"t/GeoIP2/WebService/Client.t","vec":{},"collected":["branch","condition","statement","subroutine","time"],"start":1369085403.51622,"finish":1369085403.51625,"count":{},"perl":"5.18.0","digests":{}},"1369085402.5979.53107":{"finish":1369085402.80597,"count":{},"digests":{},"perl":"5.18.0","OS":"linux","run":"t/GeoIP2/Model/names.t","vec":{},"collected":["branch","condition","statement","subroutine","time"],"start":1369085402.80595}}}
\ No newline at end of file
@@ -1,75 +0,0 @@
-/* Stylesheet for Devel::Cover HTML reports */
-
-/* You may modify this file to alter the appearance of your coverage
- * reports. If you do, you should probably flag it read-only to prevent
- * future runs from overwriting it.
- */
-
-/* Note: default values use the color-safe web palette. */
-
-body {
-	font-family: sans-serif;
-}
-
-h1 {
-	background-color: #3399ff;
-	border: solid 1px #999999;
-	padding: 0.2em;
-	-moz-border-radius: 10px;
-}
-
-a {
-	color: #000000;
-}
-a:visited {
-	color: #333333;
-}
-
-table {
-    border-collapse: collapse;
-	border-spacing: 0px;
-}
-tr {
-	text-align : center;
-	vertical-align: top;
-}
-th,.h {
-	background-color: #cccccc;
-	border: solid 1px #333333;
-    padding: 0em 0.2em;
-}
-td {
-	border: solid 1px #cccccc;
-}
-
-/* source code */
-pre,.s {
-	text-align: left;
-	font-family: monospace;
-	white-space: pre;
-	padding: 0em 0.5em 0em 0.5em;
-}
-
-/* Classes for color-coding coverage information:
- *   c0  : path not covered or coverage < 75%
- *   c1  : coverage >= 75%
- *   c2  : coverage >= 90%
- *   c3  : path covered or coverage = 100%
- */
-.c0, .c1, .c2, .c3 { text-align: right; }
-.c0 {
-	background-color: #ff9999;
-	border: solid 1px #cc0000;
-}
-.c1 {
-	background-color: #ffcc99;
-	border: solid 1px #ff9933;
-}
-.c2 {
-	background-color: #ffff99;
-	border: solid 1px #cccc66;
-}
-.c3 {
-	background-color: #99ff99;
-	border: solid 1px #009900;
-}
@@ -1,37 +0,0 @@
-<!DOCTYPE html
-     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<!--
-This file was generated by Devel::Cover Version 1.03
-Devel::Cover is copyright 2001-2012, Paul Johnson (paul@pjcj.net)
-Devel::Cover is free. It is licensed under the same terms as Perl itself.
-The latest version of Devel::Cover should be available from my homepage:
-http://www.pjcj.net
--->
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
-    <meta http-equiv="Content-Language" content="en-us"></meta>
-    <link rel="stylesheet" type="text/css" href="cover.css"></link>
-    <link rel="stylesheet" type="text/css" href="cover.css"></link>
-    <title>Coverage Summary</title>
-</head>
-<body>
-<h1>Coverage Summary</h1>
-<table>
-  <tr><td class="h" align="right">Database:</td><td align="left" colspan="4">/home/greg/MaxMind/GeoIP2-perl/cover_db</td></tr>
-  <tr><td class="h" align="right">Report Date:</td><td align="left" colspan="4">2013-05-20 14:30:03</td></tr>
-  <tr><td class="h" align="right">Perl Version:</td><td align="left" colspan="4">v5.18.0</td></tr>
-  <tr><td class="h" align="right">OS:</td><td align="left" colspan="4">linux</td></tr>
-  <tr>
-    <td class="h" align="right">Thresholds:</td>
-    <td class="c0">&lt; 75%</td><td class="c1">&lt; 90%</td><td class="c2">&lt; 100%</td><td class="c3">= 100%</td>
-  </tr>
-</table>
-<div><br/></div>
-<table>
-<tr><th>file</th><th>stmt</th><th>bran</th><th>cond</th><th>sub</th><th>time</th><th>total</th></tr>
-<tr><td align="left">Total</td><td>n/a</td><td>n/a</td><td>n/a</td><td>n/a</td><td>n/a</td><td>n/a</td></tr>
-</table>
-</body>
-</html>
@@ -1 +0,0 @@
-{"daefb18c5c6bd6ace0e349ebdab2f154":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/blib.pm","f26f975c1dadf6a436c2e0fe1932b6e9":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/Condition.pm","7875ee67634b05d671b0d972109e44f9":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/DB/File.pm","318e5dc1bffe6f768c454eaa1754e4df":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/Exporter/Heavy.pm","e607c6dfd4cc596889d41737d3c52f65":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/warnings/register.pm","7821b5bf6855cb8189ed39032e477382":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/x86_64-linux/List/Util.pm","6596a7a2c8c9c9efdcbd6ffde5de49fb":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/Branch.pm","d1dd254359351507b57b2271c382608a":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/bytes.pm","76cf016f4a350a7e2a0aab2865426d6a":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/x86_64-linux/re.pm","2bd9e1fe176ae30411453c0933a46487":"t/GeoIP2/Types.t","5dd51a69b0e45cf63ccac5ec7d207239":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/Time.pm","a12cb1908be1d11b93155f1640ec5056":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/overload.pm","058317eea9922e787664c3ae648e784b":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/Dumper.pm","e450b361381e8f55781bb30d82f1391a":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/x86_64-linux/File/Glob.pm","4ed526c41268a6e65280fc3da2124a52":"t/GeoIP2/Model/Country.t","a3f3f52bfa772df49e533b3ace1da9c5":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/x86_64-linux/B.pm","0691ec7af0b6d41e5adec21baf68b4f0":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/DB/Digests.pm","e87fb9db6331c105e4a4b01a4f7668e2":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/DB/IO.pm","e136a4f1dfe51c42e0ffcbffdba120ec":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/Util.pm","093ad7e78554c8e39638d059ff439a37":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/Condition_or_2.pm","bbb9a2ff534b861b14e77235d961b2f4":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/utf8.pm","688e0cff9771e9780688ae9587e78118":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/JSON/PP.pm","dbe38ddf0c816a9ae7d5bd271e4c9098":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/Condition_or_3.pm","629b3477329eee3c0cd27109e6b683c5":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/Carp.pm","262cf42a8f0afc4a464bf1318fd6f85a":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/base.pm","52ade067230402b3e5e61dc63518d388":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/File/Path.pm","ce58375e7612ce9590896a6e128d9404":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/x86_64-linux/Errno.pm","871273780eddc9dae3ced34c6480ce2a":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/Condition_xor_4.pm","e96d8c42c5156f6c28b6254589774e89":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/x86_64-linux/Scalar/Util.pm","95f86f7030b51c61190d5570bc00e218":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/Statement.pm","310c0fa0e8552f80d6151b3206e69f0d":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/Exporter.pm","fcd192cb27bf94ce6f55a12343c31c32":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/Pod.pm","dcf63f2a87d97f37b745ddc4cbafd1b3":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/x86_64-linux/DynaLoader.pm","6491f06f4ca315af888da9fbe63522c1":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/XSLoader.pm","6317d7babea18d2c57ff546f233fa69d":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/DB/IO/JSON.pm","395eeb0fbf673ecf6760be2e1d34aac9":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/x86_64-linux/Config.pm","3de16a17fa8902f810f7c3e2b119c5ea":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/feature.pm","613c5318b87aa69b1145ca028f964445":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/vars.pm","36e1b34f8175e036d57e51fd7d56becd":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/overloading.pm","ec0004da56cdb3c3e03aaa8d627eabe1":"t/GeoIP2/Model/names.t","fc1a293cc37a869f8c5fe04a3773519b":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/warnings.pm","55d11da69044499fc0ea6c3be2fadc28":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/Condition_and_2.pm","d659ad49fbe4fcca370541d5ed25cc75":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/constant.pm","697261014d449f5bcd565a93a7136135":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/Criterion.pm","f29063cbd77fa96728ff1c621dbab609":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/DB/Structure.pm","6858d68ded21176482bab1df4d8f87dd":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/x86_64-linux/Cwd.pm","4ee6b5a6c9693dda3552e1472cfedbf0":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/B/Deparse.pm","895b6eeb921bcbd9677ab313f3af834e":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/B/Debug.pm","43b69afdbc4ea7728358328fe461f89e":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/Subroutine.pm","800622ee44e5700d8eb08d0611e9b65a":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/strict.pm","588743a1e2bab11e582d8d4794d30833":"t/GeoIP2/WebService/Client.t","23e391c36b29d350bb584ade1a0167f1":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/Condition_and_3.pm","1e8d6859ddb082ad01a20b99991382e7":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover/DB.pm","8a0df8011c07c806a56670059900f14f":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/Devel/Cover.pm","f3c9df98223f53fee221435ddf5e9733":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/File/Basename.pm","70707096a90be3068ba6feae636d5ad6":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/x86_64-linux/Fcntl.pm","9264b63af280d25c3052798f55e2b1c5":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/x86_64-linux/File/Spec/Unix.pm","c46e2ebb720ee7d9c600ce5acbf34291":"/home/greg/perl5/perlbrew/perls/perl-5.18.0/lib/5.18.0/Digest/base.pm","5d8a055d27157bf7ddf77fb28f4b2bf8":"t/GeoIP2/Model/Omni.t"}
\ No newline at end of file
@@ -0,0 +1,60 @@
+requires "B" => "0";
+requires "Data::Dumper" => "0";
+requires "Data::Validate::IP" => "0.24";
+requires "Exporter" => "0";
+requires "Getopt::Long" => "0";
+requires "JSON" => "0";
+requires "LWP::Protocol::https" => "0";
+requires "LWP::UserAgent" => "0";
+requires "List::MoreUtils" => "0";
+requires "List::Util" => "0";
+requires "MIME::Base64" => "0";
+requires "MaxMind::DB::Reader" => "1.000000";
+requires "Moo" => "0";
+requires "Moo::Role" => "0";
+requires "Params::Validate" => "0";
+requires "Scalar::Util" => "0";
+requires "Sub::Quote" => "0";
+requires "Throwable::Error" => "0";
+requires "Try::Tiny" => "0";
+requires "URI" => "0";
+requires "lib" => "0";
+requires "perl" => "5.008";
+requires "strict" => "0";
+requires "warnings" => "0";
+
+on 'test' => sub {
+  requires "ExtUtils::MakeMaker" => "0";
+  requires "File::Spec" => "0";
+  requires "HTTP::Status" => "0";
+  requires "IO::Compress::Gzip" => "0";
+  requires "IO::Handle" => "0";
+  requires "IPC::Open3" => "0";
+  requires "Path::Class" => "0";
+  requires "Test::Fatal" => "0";
+  requires "Test::More" => "0.88";
+  requires "base" => "0";
+  requires "perl" => "5.008";
+  requires "utf8" => "0";
+};
+
+on 'test' => sub {
+  recommends "CPAN::Meta" => "2.120900";
+};
+
+on 'configure' => sub {
+  requires "ExtUtils::MakeMaker" => "0";
+  requires "perl" => "5.008";
+};
+
+on 'develop' => sub {
+  requires "Pod::Coverage::TrustPod" => "0";
+  requires "Test::CPAN::Changes" => "0.19";
+  requires "Test::EOL" => "0";
+  requires "Test::More" => "0.88";
+  requires "Test::NoTabs" => "0";
+  requires "Test::Pod" => "1.41";
+  requires "Test::Pod::Coverage" => "1.08";
+  requires "Test::Spelling" => "0.12";
+  requires "Test::Synopsis" => "0";
+};
@@ -1,61 +1,17 @@
-name    = GeoIP2
-author  = Dave Rolsky <drolsky@maxmind.com>
-author  = Greg Oschwald <goschwald@maxmind.com>
-author  = Olaf Alders <oalders@maxmind.com>
-license = Perl_5
-copyright_holder = MaxMind, Inc.
-
-version = 2.000001
-
-[NextRelease]
-format = %-8v %{yyyy-MM-dd}d
-
-[@Filter]
--bundle = @Basic
--remove = License
--remove = UploadToCPAN
-
-[UploadToCPAN]
-pause_cfg_file = .pause-maxmind
-
-[Authority]
-authority = cpan:MAXMIND
-do_munging = 0
-
-[PruneFiles]
-filename = Makefile.PL
-filename = README
-
-[ContributorsFromGit]
-[CopyReadmeFromBuild]
-[InstallGuide]
-[MetaJSON]
-[ReadmeFromPod]
-
-[MetaResources]
-bugtracker.web  = https://github.com/maxmind/GeoIP2-perl/issues
-repository.url  = git://github.com/maxmind/GeoIP2-perl.git
-repository.web  = https://github.com/maxmind/GeoIP2-perl
-repository.type = git
-
-[SurgicalPodWeaver]
-; authordep Dist::Zilla::Plugin::PodWeaver
-
-[PkgVersion]
-
-[EOLTests]
-[Test::NoTabs]
-[PodSyntaxTests]
-[Test::CPAN::Changes]
-;[Test::Pod::LinkCheck]
-;[Test::Pod::No404s]
-[Test::Synopsis]
-; authordep Pod::Wordlist::hanekomu
-
-[AutoPrereqs]
-
-[CheckPrereqsIndexed]
-
-[@Git]
-allow_dirty = Changes
-allow_dirty = README
+name   = GeoIP2
+author = Dave Rolsky <drolsky@maxmind.com>
+author = Greg Oschwald <goschwald@maxmind.com>
+author = Olaf Alders <oalders@maxmind.com>
+copyright_year = 2013
+
+version = 2.001000
+
+[Encoding]
+encoding = bytes
+match = \.(?:mmdb|raw)$
+
+[@MAXMIND]
+dist = GeoIP2
+pod_coverage_class = Pod::Coverage::Moose
+pod_coverage_skip = qr/^GeoIP2::(?:Role|Types)/
+stopwords_file = .stopwords
@@ -1,5 +1,5 @@
 package GeoIP2::Database::Reader;
-$GeoIP2::Database::Reader::VERSION = '2.000001';
+$GeoIP2::Database::Reader::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -7,6 +7,7 @@ use Data::Validate::IP 0.24
     qw( is_ipv4 is_ipv6 is_private_ipv4 is_private_ipv6 );
 use GeoIP2::Error::Generic;
 use GeoIP2::Error::IPAddressNotFound;
+use GeoIP2::Model::AnonymousIP;
 use GeoIP2::Model::City;
 use GeoIP2::Model::ConnectionType;
 use GeoIP2::Model::Country;
@@ -146,6 +147,16 @@ sub isp {
     );
 }
 
+sub anonymous_ip {
+    my $self = shift;
+    return $self->_model_for_address(
+        'AnonymousIP',
+        type_check => qr/^GeoIP2-Anonymous-IP$/,
+        is_flat    => 1,
+        @_,
+    );
+}
+
 1;
 
 # ABSTRACT: Perl API for GeoIP2 databases
@@ -160,7 +171,7 @@ GeoIP2::Database::Reader - Perl API for GeoIP2 databases
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -292,6 +303,10 @@ This method returns a L<GeoIP2::Model::Domain> object.
 
 This method returns a L<GeoIP2::Model::ISP> object.
 
+=head2 $reader->anonymous_ip()
+
+This method returns a L<GeoIP2::Model::AnonymousIP> object.
+
 =head1 OTHER METHODS
 
 =head2 $reader->metadata()
@@ -345,7 +360,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Error::Generic;
-$GeoIP2::Error::Generic::VERSION = '2.000001';
+$GeoIP2::Error::Generic::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -21,7 +21,7 @@ GeoIP2::Error::Generic - A generic exception
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -76,7 +76,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Error::HTTP;
-$GeoIP2::Error::HTTP::VERSION = '2.000001';
+$GeoIP2::Error::HTTP::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -23,7 +23,7 @@ GeoIP2::Error::HTTP - An HTTP transport error
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -91,7 +91,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Error::IPAddressNotFound;
-$GeoIP2::Error::IPAddressNotFound::VERSION = '2.000001';
+$GeoIP2::Error::IPAddressNotFound::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -29,7 +29,7 @@ GeoIP2::Error::IPAddressNotFound - An exception thrown when an IP address is not
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -90,7 +90,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Error::Type;
-$GeoIP2::Error::Type::VERSION = '2.000001';
+$GeoIP2::Error::Type::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -33,7 +33,7 @@ GeoIP2::Error::Type - A type validation error.
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -101,7 +101,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Error::WebService;
-$GeoIP2::Error::WebService::VERSION = '2.000001';
+$GeoIP2::Error::WebService::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -31,7 +31,7 @@ GeoIP2::Error::WebService - An explicit error from the GeoIP2 web service
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -108,7 +108,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -0,0 +1,114 @@
+package GeoIP2::Model::AnonymousIP;
+$GeoIP2::Model::AnonymousIP::VERSION = '2.001000';
+use strict;
+use warnings;
+
+use GeoIP2::Types qw( Bool );
+
+use Moo;
+
+with 'GeoIP2::Role::Model::Flat', 'GeoIP2::Role::HasIPAddress';
+
+has [
+    'is_anonymous',
+    'is_anonymous_vpn',
+    'is_hosting_provider',
+    'is_public_proxy',
+    'is_tor_exit_node'
+    ] => (
+    is      => 'ro',
+    isa     => Bool,
+    default => 0,
+    );
+
+1;
+
+# ABSTRACT: Model class for the GeoIP2 Anonymous IP database
+
+__END__
+
+=pod
+
+=head1 NAME
+
+GeoIP2::Model::AnonymousIP - Model class for the GeoIP2 Anonymous IP database
+
+=head1 VERSION
+
+version 2.001000
+
+=head1 SYNOPSIS
+
+  use 5.008;
+
+  use GeoIP2::Model::AnonymousIP;
+
+  my $anon = GeoIP2::Model::AnonymousIP->new(
+      raw => {
+          is_anonymous        => 1,
+          is_hosting_provider => 1,
+          ip_address          => '24.24.24.24'
+      }
+  );
+
+  say $anon->is_anonymous();
+
+=head1 DESCRIPTION
+
+This class provides a model for the data returned by the GeoIP2 Anonymous IP
+database.
+
+=head1 METHODS
+
+This class provides the following methods:
+
+=head2 $anon->is_anonynous()
+
+Returns true if the IP address belongs to any sort of anonymous network.
+
+=head2 $anon->is_anonynous_vpn()
+
+Returns true if the IP address belongs to an anonymous VPN system.
+
+=head2 $anon->is_hosting_provider()
+
+Returns true if the IP address belongs to a hosting provider.
+
+=head2 $anon->is_public_proxy()
+
+Returns true if the IP address belongs to a public proxy.
+
+=head2 $anon->is_tor_exit_node()
+
+Returns true if the IP address is a Tor exit node.
+
+=head2 $anon->ip_address()
+
+Returns the IP address used in the lookup.
+
+=head1 AUTHORS
+
+=over 4
+
+=item *
+
+Dave Rolsky <drolsky@maxmind.com>
+
+=item *
+
+Greg Oschwald <goschwald@maxmind.com>
+
+=item *
+
+Olaf Alders <oalders@maxmind.com>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
@@ -1,5 +1,5 @@
 package GeoIP2::Model::City;
-$GeoIP2::Model::City::VERSION = '2.000001';
+$GeoIP2::Model::City::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -26,7 +26,7 @@ GeoIP2::Model::City - Model class for GeoIP2 Precision: City and GeoIP2 City
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -150,7 +150,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Model::ConnectionType;
-$GeoIP2::Model::ConnectionType::VERSION = '2.000001';
+$GeoIP2::Model::ConnectionType::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -29,7 +29,7 @@ GeoIP2::Model::ConnectionType - Model class for the GeoIP2 Connection Type datab
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -37,25 +37,26 @@ version 2.000001
 
   use GeoIP2::Model::ConnectionType;
 
-  my $record = GeoIP2::Model::ConnectionType->new(
+  my $conn = GeoIP2::Model::ConnectionType->new(
       raw => { connection_type => 'Corporate', ip_address => '24.24.24.24'}
   );
 
-  say $record->connection_type();
+  say $conn->connection_type();
 
 =head1 DESCRIPTION
 
-This class provides a model for GeoIP2 Connection-Type.
+This class provides a model for the data returned by the GeoIP2 Connection
+Type database.
 
 =head1 METHODS
 
 This class provides the following methods:
 
-=head2 $record->connection_type()
+=head2 $conn->connection_type()
 
 Returns the connection type as a string.
 
-=head2 $record->ip_address()
+=head2 $conn->ip_address()
 
 Returns the IP address used in the lookup.
 
@@ -79,7 +80,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Model::Country;
-$GeoIP2::Model::Country::VERSION = '2.000001';
+$GeoIP2::Model::Country::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -27,7 +27,7 @@ GeoIP2::Model::Country - Model class for the GeoIP2 Precision: Country and GeoIP
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -109,7 +109,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Model::Domain;
-$GeoIP2::Model::Domain::VERSION = '2.000001';
+$GeoIP2::Model::Domain::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -29,7 +29,7 @@ GeoIP2::Model::Domain - Model class for the GeoIP2 Domain database
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -37,25 +37,26 @@ version 2.000001
 
   use GeoIP2::Model::Domain;
 
-  my $record = GeoIP2::Model::Domain->new(
+  my $domain = GeoIP2::Model::Domain->new(
       raw  => { domain => 'maxmind.com', ip_address => '24.24.24.24'}
   );
 
-  say $record->domain();
+  say $domain->domain();
 
 =head1 DESCRIPTION
 
-This class provides a model for GeoIP2 Domain.
+This class provides a model for the data returned by the GeoIP2 Domain
+database.
 
 =head1 METHODS
 
 This class provides the following methods:
 
-=head2 $record->domain()
+=head2 $domain->domain()
 
 Returns the domain as a string.
 
-=head2 $record->ip_address()
+=head2 $domain->ip_address()
 
 Returns the IP address used in the lookup.
 
@@ -79,7 +80,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Model::ISP;
-$GeoIP2::Model::ISP::VERSION = '2.000001';
+$GeoIP2::Model::ISP::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -47,7 +47,7 @@ GeoIP2::Model::ISP - Model class for the GeoIP2 ISP database
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -55,7 +55,7 @@ version 2.000001
 
   use GeoIP2::Model::ISP;
 
-  my $record = GeoIP2::Model::ISP->new(
+  my $isp = GeoIP2::Model::ISP->new(
       raw => {
           autonomous_system_number => '217',
           autonomous_system_organization => 'University of Minnesota',
@@ -65,40 +65,40 @@ version 2.000001
       }
   );
 
-  say $record->autonomous_system_number();
-  say $record->autonomous_system_organization();
-  say $record->isp();
-  say $record->organization();
+  say $isp->autonomous_system_number();
+  say $isp->autonomous_system_organization();
+  say $isp->isp();
+  say $isp->organization();
 
 =head1 DESCRIPTION
 
-This class provides a model for GeoIP2 Connection-Type.
+This class provides a model for the data returned by the GeoIP2 ISP database.
 
 =head1 METHODS
 
 This class provides the following methods:
 
-=head2 $record->autonomous_system_number()
+=head2 $isp->autonomous_system_number()
 
 This returns the autonomous system number
 (L<http://en.wikipedia.org/wiki/Autonomous_system_(Internet)>) associated with
 the IP address.
 
-=head2 $record->autonomous_system_organization()
+=head2 $isp->autonomous_system_organization()
 
 This returns the organization associated with the registered autonomous system
 number (L<http://en.wikipedia.org/wiki/Autonomous_system_(Internet)>) for the IP
 address.
 
-=head2 $record->ip_address()
+=head2 $isp->ip_address()
 
 Returns the IP address used in the lookup.
 
-=head2 $record->isp()
+=head2 $isp->isp()
 
 This returns the name of the ISP associated with the IP address.
 
-=head2 $record->organization()
+=head2 $isp->organization()
 
 This returns the name of the organization associated with the IP address.
 
@@ -122,7 +122,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Model::Insights;
-$GeoIP2::Model::Insights::VERSION = '2.000001';
+$GeoIP2::Model::Insights::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -26,7 +26,7 @@ GeoIP2::Model::Insights - Model class for GeoIP2 Precision: Insights
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -150,7 +150,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Record::City;
-$GeoIP2::Record::City::VERSION = '2.000001';
+$GeoIP2::Record::City::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -35,7 +35,7 @@ GeoIP2::Record::City - Contains data for the city record associated with an IP a
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -116,7 +116,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Record::Continent;
-$GeoIP2::Record::Continent::VERSION = '2.000001';
+$GeoIP2::Record::Continent::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -35,7 +35,7 @@ GeoIP2::Record::Continent - Contains data for the continent record associated wi
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -116,7 +116,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Record::Country;
-$GeoIP2::Record::Country::VERSION = '2.000001';
+$GeoIP2::Record::Country::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -21,7 +21,7 @@ GeoIP2::Record::Country - Contains data for the country record associated with a
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -109,7 +109,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Record::Location;
-$GeoIP2::Record::Location::VERSION = '2.000001';
+$GeoIP2::Record::Location::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -51,7 +51,7 @@ GeoIP2::Record::Location - Contains data for the location record associated with
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -133,7 +133,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Record::MaxMind;
-$GeoIP2::Record::MaxMind::VERSION = '2.000001';
+$GeoIP2::Record::MaxMind::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -26,7 +26,7 @@ GeoIP2::Record::MaxMind - Contains data for the maxmind record returned from a w
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -83,7 +83,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Record::Postal;
-$GeoIP2::Record::Postal::VERSION = '2.000001';
+$GeoIP2::Record::Postal::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -33,7 +33,7 @@ GeoIP2::Record::Postal - Contains data for the postal code record associated wit
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -96,7 +96,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Record::RepresentedCountry;
-$GeoIP2::Record::RepresentedCountry::VERSION = '2.000001';
+$GeoIP2::Record::RepresentedCountry::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -29,7 +29,7 @@ GeoIP2::Record::RepresentedCountry - Contains data for the represented country r
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -128,7 +128,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Record::Subdivision;
-$GeoIP2::Record::Subdivision::VERSION = '2.000001';
+$GeoIP2::Record::Subdivision::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -41,7 +41,7 @@ GeoIP2::Record::Subdivision - Contains data for the subdivision record associate
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -131,7 +131,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Record::Traits;
-$GeoIP2::Record::Traits::VERSION = '2.000001';
+$GeoIP2::Record::Traits::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -74,7 +74,7 @@ GeoIP2::Record::Traits - Contains data for the traits record associated with an
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -226,7 +226,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package GeoIP2::Role::Error::HTTP;
-$GeoIP2::Role::Error::HTTP::VERSION = '2.000001';
+$GeoIP2::Role::Error::HTTP::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -1,5 +1,5 @@
 package GeoIP2::Role::HasIPAddress;
-$GeoIP2::Role::HasIPAddress::VERSION = '2.000001';
+$GeoIP2::Role::HasIPAddress::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -1,5 +1,5 @@
 package GeoIP2::Role::HasLocales;
-$GeoIP2::Role::HasLocales::VERSION = '2.000001';
+$GeoIP2::Role::HasLocales::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -1,5 +1,5 @@
 package GeoIP2::Role::Model::Flat;
-$GeoIP2::Role::Model::Flat::VERSION = '2.000001';
+$GeoIP2::Role::Model::Flat::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -1,5 +1,5 @@
 package GeoIP2::Role::Model::HasSubdivisions;
-$GeoIP2::Role::Model::HasSubdivisions::VERSION = '2.000001';
+$GeoIP2::Role::Model::HasSubdivisions::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -1,5 +1,5 @@
 package GeoIP2::Role::Model::Location;
-$GeoIP2::Role::Model::Location::VERSION = '2.000001';
+$GeoIP2::Role::Model::Location::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -1,5 +1,5 @@
 package GeoIP2::Role::Model;
-$GeoIP2::Role::Model::VERSION = '2.000001';
+$GeoIP2::Role::Model::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -1,5 +1,5 @@
 package GeoIP2::Role::Record::Country;
-$GeoIP2::Role::Record::Country::VERSION = '2.000001';
+$GeoIP2::Role::Record::Country::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -1,5 +1,5 @@
 package GeoIP2::Role::Record::HasNames;
-$GeoIP2::Role::Record::HasNames::VERSION = '2.000001';
+$GeoIP2::Role::Record::HasNames::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -1,5 +1,5 @@
 package GeoIP2::Types;
-$GeoIP2::Types::VERSION = '2.000001';
+$GeoIP2::Types::VERSION = '2.001000';
 use strict;
 use warnings;
 
@@ -1,5 +1,5 @@
 package GeoIP2::WebService::Client;
-$GeoIP2::WebService::Client::VERSION = '2.000001';
+$GeoIP2::WebService::Client::VERSION = '2.001000';
 use 5.008;
 
 use strict;
@@ -312,7 +312,7 @@ GeoIP2::WebService::Client - Perl API for the GeoIP2 Precision web services
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 SYNOPSIS
 
@@ -559,7 +559,7 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,7 @@
 package GeoIP2;
-$GeoIP2::VERSION = '2.000001';
+# git description: v2.000001-11-g79e8ecc
+$GeoIP2::VERSION = '2.001000';
+
 use 5.008;
 
 1;
@@ -16,7 +18,7 @@ GeoIP2 - Perl API for MaxMind's GeoIP2 web services and databases
 
 =head1 VERSION
 
-version 2.000001
+version 2.001000
 
 =head1 DESCRIPTION
 
@@ -114,11 +116,13 @@ Olaf Alders <oalders@maxmind.com>
 
 =head1 CONTRIBUTOR
 
+=for stopwords Graham Knop
+
 Graham Knop <haarg@haarg.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2014 by MaxMind, Inc..
+This software is copyright (c) 2013 - 2014 by MaxMind, Inc..
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -0,0 +1,32 @@
+[
+   {
+      "::1.2.0.0/112" : {
+         "is_anonymous" : true,
+         "is_anonymous_vpn": true
+      }
+   },
+   {
+      "::71.160.223.0/120" : {
+         "is_anonymous" : true,
+         "is_hosting_provider": true
+      }
+   },
+   {
+      "::186.30.236.0/120" : {
+         "is_anonymous" : true,
+         "is_public_proxy": true
+      }
+   },
+   {
+      "::65.0.0.0/109" : {
+         "is_anonymous" : true,
+         "is_tor_exit_node": true
+      }
+   },
+   {
+      "abcd:1000::/112" : {
+         "is_anonymous" : true,
+         "is_public_proxy": true
+      }
+   }
+]
diff --git a/var/tmp/source/MAXMIND/GeoIP2-2.001000/GeoIP2-2.001000/maxmind-db/test-data/GeoIP2-Anonymous-IP-Test.mmdb b/var/tmp/source/MAXMIND/GeoIP2-2.001000/GeoIP2-2.001000/maxmind-db/test-data/GeoIP2-Anonymous-IP-Test.mmdb
new file mode 100644
index 00000000..dc706370
Binary files /dev/null and b/var/tmp/source/MAXMIND/GeoIP2-2.001000/GeoIP2-2.001000/maxmind-db/test-data/GeoIP2-Anonymous-IP-Test.mmdb differ
@@ -302,9 +302,15 @@ sub write_test_db {
 }
 
 sub write_geoip2_dbs {
-    for my $type ( 'City', 'Connection-Type', 'Country', 'Domain', 'ISP', ) {
-        _write_geoip2_db( $type, 'Test' );
-    }
+    _write_geoip2_db( @{$_}, 'Test' )
+        for (
+        [ 'Anonymous-IP',    1 ],
+        [ 'City',            0 ],
+        [ 'Connection-Type', 0 ],
+        [ 'Country',         0 ],
+        [ 'Domain',          0 ],
+        [ 'ISP',             0 ],
+        );
 }
 
 sub write_broken_geoip2_city_db {
@@ -321,7 +327,7 @@ sub write_broken_geoip2_city_db {
         $self->_simple_encode( double => $value );
     };
 
-    _write_geoip2_db( 'City', 'Test Broken Double Format' );
+    _write_geoip2_db( 'City', 0, 'Test Broken Double Format' );
 }
 
 {
@@ -333,9 +339,7 @@ sub write_broken_geoip2_city_db {
         continent                      => 'map',
         country                        => 'map',
         geoname_id                     => 'uint32',
-        is_anonymous_proxy             => 'boolean',
         isp                            => 'utf8_string',
-        is_satellite_provider          => 'boolean',
         latitude                       => 'double',
         location                       => 'map',
         longitude                      => 'double',
@@ -349,11 +353,15 @@ sub write_broken_geoip2_city_db {
         traits                         => 'map',
     );
 
-    my $type_cb = sub { $type_map{ $_[0] } // 'utf8_string' };
+    my $type_cb = sub {
+        return 'boolean' if $_[0] =~ /^is_/;
+        return $type_map{ $_[0] } // 'utf8_string';
+    };
 
     sub _write_geoip2_db {
-        my $type        = shift;
-        my $description = shift;
+        my $type                  = shift;
+        my $populate_all_networks = shift;
+        my $description           = shift;
 
         my $writer = MaxMind::DB::Writer::Tree->new(
             ip_version    => 6,
@@ -366,10 +374,12 @@ sub write_broken_geoip2_city_db {
                     "GeoIP2 $type $description Database (a small sample of real GeoIP2 data)",
                 $type eq 'City' ? ( zh => '小型数据库' ) : (),
             },
-            alias_ipv6_to_ipv4      => 1,
-            map_key_type_callback   => $type_cb,
+            alias_ipv6_to_ipv4    => 1,
+            map_key_type_callback => $type_cb,
         );
 
+        _populate_all_networks($writer) if $populate_all_networks;
+
         my $nodes = decode_json(
             read_file(
                 "$Dir/../source-data/GeoIP2-$type-Test.json",
@@ -397,6 +407,26 @@ sub write_broken_geoip2_city_db {
     }
 }
 
+sub _populate_all_networks {
+    my $writer = shift;
+
+    my $max_uint128 = uint128(0) - 1;
+    my @networks    = Net::Works::Network->range_as_subnets(
+        Net::Works::Address->new_from_integer(
+            integer => 0,
+            version => 6,
+        ),
+        Net::Works::Address->new_from_integer(
+            integer => $max_uint128,
+            version => 6,
+        ),
+    );
+
+    for my $network (@networks) {
+        $writer->insert_network( $network => {} );
+    }
+}
+
 sub write_no_ipv4_tree_db {
     my $subnets = shift;
 
@@ -1,19 +0,0 @@
-perltidy version 20130806 log file on a linux system, OLD_PERL_VERSION=5.016003
-Found Configuration File >>> /home/greg/MaxMind/GeoIP2-perl/.perltidyallrc 
-Configuration and command line parameters for this run:
---blank-lines-before-packages=0 --iterations=2 --nooutdent-long-comments -bar -boc -ci=4 -i=4 -l=78 -nolq -se -wbb=% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x= -profile=/home/greg/MaxMind/GeoIP2-perl/.perltidyallrc
-To find error messages search for 'WARNING' with your editor
-Indentation will be with 4 spaces
-Line 1 implies starting-indentation-level = 0
-The nesting depths in the table below are at the start of the lines.
-The indicated output line numbers are not always exact.
-ci = levels of continuation indentation; bk = 1 if in BLOCK, 0 if not.
-
-in:out indent c b  nesting   code + messages; (messages begin with >>>)
-lines  levels i k            (code begins with one '.' per indent level)
-------  ----- - - --------   -------------------------------------------
-L19:19   i0:0 0 1            >>>Starting __DATA__ section
-No indentation disagreement seen
-
-No lines exceeded 78 characters
-  Maximum output line length was 71 at line 10
@@ -1,2 +0,0 @@
-
-.
@@ -0,0 +1,111 @@
+use 5.006;
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.051
+
+use Test::More;
+
+plan tests => 35 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
+
+my @module_files = (
+    'GeoIP2.pm',
+    'GeoIP2/Database/Reader.pm',
+    'GeoIP2/Error/Generic.pm',
+    'GeoIP2/Error/HTTP.pm',
+    'GeoIP2/Error/IPAddressNotFound.pm',
+    'GeoIP2/Error/Type.pm',
+    'GeoIP2/Error/WebService.pm',
+    'GeoIP2/Model/AnonymousIP.pm',
+    'GeoIP2/Model/City.pm',
+    'GeoIP2/Model/ConnectionType.pm',
+    'GeoIP2/Model/Country.pm',
+    'GeoIP2/Model/Domain.pm',
+    'GeoIP2/Model/ISP.pm',
+    'GeoIP2/Model/Insights.pm',
+    'GeoIP2/Record/City.pm',
+    'GeoIP2/Record/Continent.pm',
+    'GeoIP2/Record/Country.pm',
+    'GeoIP2/Record/Location.pm',
+    'GeoIP2/Record/MaxMind.pm',
+    'GeoIP2/Record/Postal.pm',
+    'GeoIP2/Record/RepresentedCountry.pm',
+    'GeoIP2/Record/Subdivision.pm',
+    'GeoIP2/Record/Traits.pm',
+    'GeoIP2/Role/Error/HTTP.pm',
+    'GeoIP2/Role/HasIPAddress.pm',
+    'GeoIP2/Role/HasLocales.pm',
+    'GeoIP2/Role/Model.pm',
+    'GeoIP2/Role/Model/Flat.pm',
+    'GeoIP2/Role/Model/HasSubdivisions.pm',
+    'GeoIP2/Role/Model/Location.pm',
+    'GeoIP2/Role/Record/Country.pm',
+    'GeoIP2/Role/Record/HasNames.pm',
+    'GeoIP2/Types.pm',
+    'GeoIP2/WebService/Client.pm'
+);
+
+my @scripts = (
+    'bin/web-service-request'
+);
+
+# 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)
+{
+    # 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;
+    }
+}
+
+foreach my $file (@scripts)
+{ SKIP: {
+    open my $fh, '<', $file or warn("Unable to open $file: $!"), next;
+    my $line = <$fh>;
+
+    close $fh and skip("$file isn't perl", 1) unless $line =~ /^#!\s*(?:\S*perl\S*)((?:\s+-\w*)*)(?:\s*#.*)?$/;
+    my @flags = $1 ? split(' ', $1) : ();
+
+    my $stderr = IO::Handle->new;
+
+    my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, @flags, '-c', $file);
+    binmode $stderr, ':crlf' if $^O eq 'MSWin32';
+    my @_warnings = <$stderr>;
+    waitpid($pid, 0);
+    is($?, 0, "$file compiled ok");
+
+   # in older perls, -c output is simply the file portion of the path being tested
+    if (@_warnings = grep { !/\bsyntax OK$/ }
+        grep { chomp; $_ ne (File::Spec->splitpath($file))[2] } @_warnings)
+    {
+        warn @_warnings;
+        push @warnings, @_warnings;
+    }
+} }
+
+
+
+is(scalar(@warnings), 0, 'no warnings found')
+    or diag 'got warnings: ', ( Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '', @warnings) ) if $ENV{AUTHOR_TESTING};
+
+
@@ -0,0 +1,70 @@
+do { my $x = {
+       'configure' => {
+                        'requires' => {
+                                        'ExtUtils::MakeMaker' => '0',
+                                        'perl' => '5.008'
+                                      }
+                      },
+       'develop' => {
+                      'requires' => {
+                                      'Pod::Coverage::TrustPod' => '0',
+                                      'Test::CPAN::Changes' => '0.19',
+                                      'Test::EOL' => '0',
+                                      'Test::More' => '0.88',
+                                      'Test::NoTabs' => '0',
+                                      'Test::Pod' => '1.41',
+                                      'Test::Pod::Coverage' => '1.08',
+                                      'Test::Spelling' => '0.12',
+                                      'Test::Synopsis' => '0'
+                                    }
+                    },
+       'runtime' => {
+                      'requires' => {
+                                      'B' => '0',
+                                      'Data::Dumper' => '0',
+                                      'Data::Validate::IP' => '0.24',
+                                      'Exporter' => '0',
+                                      'Getopt::Long' => '0',
+                                      'JSON' => '0',
+                                      'LWP::Protocol::https' => '0',
+                                      'LWP::UserAgent' => '0',
+                                      'List::MoreUtils' => '0',
+                                      'List::Util' => '0',
+                                      'MIME::Base64' => '0',
+                                      'MaxMind::DB::Reader' => '1.000000',
+                                      'Moo' => '0',
+                                      'Moo::Role' => '0',
+                                      'Params::Validate' => '0',
+                                      'Scalar::Util' => '0',
+                                      'Sub::Quote' => '0',
+                                      'Throwable::Error' => '0',
+                                      'Try::Tiny' => '0',
+                                      'URI' => '0',
+                                      'lib' => '0',
+                                      'perl' => '5.008',
+                                      'strict' => '0',
+                                      'warnings' => '0'
+                                    }
+                    },
+       'test' => {
+                   'recommends' => {
+                                     'CPAN::Meta' => '2.120900'
+                                   },
+                   'requires' => {
+                                   'ExtUtils::MakeMaker' => '0',
+                                   'File::Spec' => '0',
+                                   'HTTP::Status' => '0',
+                                   'IO::Compress::Gzip' => '0',
+                                   'IO::Handle' => '0',
+                                   'IPC::Open3' => '0',
+                                   'Path::Class' => '0',
+                                   'Test::Fatal' => '0',
+                                   'Test::More' => '0.88',
+                                   'base' => '0',
+                                   'perl' => '5.008',
+                                   'utf8' => '0'
+                                 }
+                 }
+     };
+  $x;
+ }
\ No newline at end of file
@@ -0,0 +1,176 @@
+#!perl
+
+use strict;
+use warnings;
+
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.019
+
+use Test::More tests => 1;
+
+use ExtUtils::MakeMaker;
+use File::Spec;
+
+# from $version::LAX
+my $lax_version_re =
+    qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )?
+            |
+            (?:\.[0-9]+) (?:_[0-9]+)?
+        ) | (?:
+            v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )?
+            |
+            (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)?
+        )
+    )/x;
+
+# hide optional CPAN::Meta modules from prereq scanner
+# and check if they are available
+my $cpan_meta = "CPAN::Meta";
+my $cpan_meta_pre = "CPAN::Meta::Prereqs";
+my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic
+
+# Verify requirements?
+my $DO_VERIFY_PREREQS = 1;
+
+sub _max {
+    my $max = shift;
+    $max = ( $_ > $max ) ? $_ : $max for @_;
+    return $max;
+}
+
+sub _merge_prereqs {
+    my ($collector, $prereqs) = @_;
+
+    # CPAN::Meta::Prereqs object
+    if (ref $collector eq $cpan_meta_pre) {
+        return $collector->with_merged_prereqs(
+            CPAN::Meta::Prereqs->new( $prereqs )
+        );
+    }
+
+    # Raw hashrefs
+    for my $phase ( keys %$prereqs ) {
+        for my $type ( keys %{ $prereqs->{$phase} } ) {
+            for my $module ( keys %{ $prereqs->{$phase}{$type} } ) {
+                $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module};
+            }
+        }
+    }
+
+    return $collector;
+}
+
+my @include = qw(
+
+);
+
+my @exclude = qw(
+
+);
+
+# Add static prereqs to the included modules list
+my $static_prereqs = do 't/00-report-prereqs.dd';
+
+# Merge all prereqs (either with ::Prereqs or a hashref)
+my $full_prereqs = _merge_prereqs(
+    ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ),
+    $static_prereqs
+);
+
+# Add dynamic prereqs to the included modules list (if we can)
+my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
+if ( $source && $HAS_CPAN_META ) {
+    if ( my $meta = eval { CPAN::Meta->load_file($source) } ) {
+        $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
+    }
+}
+else {
+    $source = 'static metadata';
+}
+
+my @full_reports;
+my @dep_errors;
+my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;
+
+# Add static includes into a fake section
+for my $mod (@include) {
+    $req_hash->{other}{modules}{$mod} = 0;
+}
+
+for my $phase ( qw(configure build test runtime develop other) ) {
+    next unless $req_hash->{$phase};
+    next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING});
+
+    for my $type ( qw(requires recommends suggests conflicts modules) ) {
+        next unless $req_hash->{$phase}{$type};
+
+        my $title = ucfirst($phase).' '.ucfirst($type);
+        my @reports = [qw/Module Want Have/];
+
+        for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) {
+            next if $mod eq 'perl';
+            next if grep { $_ eq $mod } @exclude;
+
+            my $file = $mod;
+            $file =~ s{::}{/}g;
+            $file .= ".pm";
+            my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC;
+
+            my $want = $req_hash->{$phase}{$type}{$mod};
+            $want = "undef" unless defined $want;
+            $want = "any" if !$want && $want == 0;
+
+            my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required";
+
+            if ($prefix) {
+                my $have = MM->parse_version( File::Spec->catfile($prefix, $file) );
+                $have = "undef" unless defined $have;
+                push @reports, [$mod, $want, $have];
+
+                if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) {
+                    if ( $have !~ /\A$lax_version_re\z/ ) {
+                        push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)";
+                    }
+                    elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) {
+                        push @dep_errors, "$mod version '$have' is not in required range '$want'";
+                    }
+                }
+            }
+            else {
+                push @reports, [$mod, $want, "missing"];
+
+                if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) {
+                    push @dep_errors, "$mod is not installed ($req_string)";
+                }
+            }
+        }
+
+        if ( @reports ) {
+            push @full_reports, "=== $title ===\n\n";
+
+            my $ml = _max( map { length $_->[0] } @reports );
+            my $wl = _max( map { length $_->[1] } @reports );
+            my $hl = _max( map { length $_->[2] } @reports );
+            splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl];
+
+            push @full_reports, map { sprintf("    %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports;
+            push @full_reports, "\n";
+        }
+    }
+}
+
+if ( @full_reports ) {
+    diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports;
+}
+
+if ( @dep_errors ) {
+    diag join("\n",
+        "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n",
+        "The following REQUIRED prerequisites were not satisfied:\n",
+        @dep_errors,
+        "\n"
+    );
+}
+
+pass;
+
+# vim: ts=4 sts=4 sw=4 et:
@@ -0,0 +1,80 @@
+use strict;
+use warnings;
+
+use Test::More;
+use Test::Fatal;
+
+use GeoIP2::Database::Reader;
+use Path::Class qw( file );
+
+{    # Anonymous IP
+    my $reader
+        = GeoIP2::Database::Reader->new(
+        file => file(qw( maxmind-db test-data GeoIP2-Anonymous-IP-Test.mmdb))
+        );
+
+    my %tests = (
+        '1.2.0.0' => {
+            is_anonymous        => 1,
+            is_anonymous_vpn    => 1,
+            is_hosting_provider => 0,
+            is_public_proxy     => 0,
+            is_tor_exit_node    => 0,
+        },
+        '6.7.8.9' => {
+            is_anonymous        => 0,
+            is_anonymous_vpn    => 0,
+            is_hosting_provider => 0,
+            is_public_proxy     => 0,
+            is_tor_exit_node    => 0,
+        },
+        '71.160.223.45' => {
+            is_anonymous        => 1,
+            is_anonymous_vpn    => 0,
+            is_hosting_provider => 1,
+            is_public_proxy     => 0,
+            is_tor_exit_node    => 0,
+        },
+        '186.30.236.233' => {
+            is_anonymous        => 1,
+            is_anonymous_vpn    => 0,
+            is_hosting_provider => 0,
+            is_public_proxy     => 1,
+            is_tor_exit_node    => 0,
+        },
+        '65.4.3.2' => {
+            is_anonymous        => 1,
+            is_anonymous_vpn    => 0,
+            is_hosting_provider => 0,
+            is_public_proxy     => 0,
+            is_tor_exit_node    => 1,
+        },
+        'abcd:1000::1' => {
+            is_anonymous        => 1,
+            is_anonymous_vpn    => 0,
+            is_hosting_provider => 0,
+            is_public_proxy     => 1,
+            is_tor_exit_node    => 0,
+        },
+    );
+
+    for my $ip ( sort keys %tests ) {
+        my $model = $reader->anonymous_ip( ip => $ip );
+        for my $meth ( sort keys %{ $tests{$ip} } ) {
+            if ( $tests{$ip}{$meth} ) {
+                ok(
+                    $model->$meth(),
+                    "$meth is true for $ip"
+                );
+            }
+            else {
+                ok(
+                    !$model->$meth(),
+                    "$meth is false for $ip"
+                );
+            }
+        }
+    }
+}
+
+done_testing();
@@ -0,0 +1,28 @@
+use strict;
+use warnings;
+
+use Test::More;
+use Test::Fatal;
+
+use GeoIP2::Database::Reader;
+use Path::Class qw( file );
+
+{
+    my $reader
+        = GeoIP2::Database::Reader->new( file =>
+            file(qw( maxmind-db test-data GeoIP2-Connection-Type-Test.mmdb ))
+        );
+
+    my $ip_address = '1.0.1.0';
+    my $record = $reader->connection_type( ip => $ip_address );
+    is(
+        $record->connection_type, 'Cable/DSL',
+        'correct connection type in Connection-Type database'
+    );
+    is(
+        $record->ip_address, $ip_address,
+        'correct IP in Connection-Type database'
+    );
+}
+
+done_testing();
@@ -0,0 +1,20 @@
+use strict;
+use warnings;
+
+use Test::More;
+use Test::Fatal;
+
+use GeoIP2::Database::Reader;
+use Path::Class qw( file );
+
+{
+    my $reader = GeoIP2::Database::Reader->new(
+        file => file(qw( maxmind-db test-data GeoIP2-Domain-Test.mmdb)) );
+
+    my $ip_address = '1.2.0.0';
+    my $record = $reader->domain( ip => $ip_address );
+    is( $record->domain, 'maxmind.com', 'correct domain in Domain database' );
+    is( $record->ip_address, $ip_address, 'correct IP in Domain database' );
+}
+
+done_testing();
@@ -0,0 +1,33 @@
+use strict;
+use warnings;
+
+use Test::More;
+use Test::Fatal;
+
+use GeoIP2::Database::Reader;
+use Path::Class qw( file );
+
+{
+    my $reader = GeoIP2::Database::Reader->new(
+        file => file(qw( maxmind-db test-data GeoIP2-ISP-Test.mmdb )) );
+
+    my $ip_address = '1.128.0.0';
+    my $record = $reader->isp( ip => $ip_address );
+    is(
+        $record->autonomous_system_number, 1221,
+        'correct ASN in ISP database'
+    );
+    is(
+        $record->autonomous_system_organization,
+        'Telstra Pty Ltd', 'correct AS Org in ISP database'
+    );
+    is( $record->isp, 'Telstra Internet', 'correct ISP in ISP database' );
+    is(
+        $record->organization, 'Telstra Internet',
+        'correct Org in ISP database'
+    );
+    is( $record->ip_address, $ip_address, 'correct IP in ISP database' );
+
+}
+
+done_testing();
@@ -105,57 +105,4 @@ my $locales = [ 'en', 'de', ];
     }
 }
 
-{    # Connection-Type
-
-    my $reader
-        = GeoIP2::Database::Reader->new( file =>
-            file(qw( maxmind-db test-data GeoIP2-Connection-Type-Test.mmdb ))
-        );
-
-    my $ip_address = '1.0.1.0';
-
-    my $record = $reader->connection_type( ip => $ip_address );
-    is(
-        $record->connection_type, 'Cable/DSL',
-        'correct connection type in Connection-Type database'
-    );
-    is(
-        $record->ip_address, $ip_address,
-        'correct IP in Connection-Type database'
-    );
-}
-
-{    # Domain
-    my $reader = GeoIP2::Database::Reader->new(
-        file => file(qw( maxmind-db test-data GeoIP2-Domain-Test.mmdb)) );
-
-    my $ip_address = '1.2.0.0';
-    my $record = $reader->domain( ip => $ip_address );
-    is( $record->domain, 'maxmind.com', 'correct domain in Domain database' );
-    is( $record->ip_address, $ip_address, 'correct IP in Domain database' );
-}
-
-{    # ISP
-    my $reader = GeoIP2::Database::Reader->new(
-        file => file(qw( maxmind-db test-data GeoIP2-ISP-Test.mmdb )) );
-
-    my $ip_address = '1.128.0.0';
-    my $record = $reader->isp( ip => $ip_address );
-    is(
-        $record->autonomous_system_number, 1221,
-        'correct ASN in ISP database'
-    );
-    is(
-        $record->autonomous_system_organization,
-        'Telstra Pty Ltd', 'correct AS Org in ISP database'
-    );
-    is( $record->isp, 'Telstra Internet', 'correct ISP in ISP database' );
-    is(
-        $record->organization, 'Telstra Internet',
-        'correct Org in ISP database'
-    );
-    is( $record->ip_address, $ip_address, 'correct IP in ISP database' );
-
-}
-
 done_testing();
@@ -0,0 +1,16 @@
+
+BEGIN {
+  unless ($ENV{AUTHOR_TESTING}) {
+    require Test::More;
+    Test::More::plan(skip_all => 'these tests are for testing by the author');
+  }
+}
+
+use strict;
+use warnings;
+use Test::More;
+
+# generated by Dist::Zilla::Plugin::Test::EOL 0.14
+use Test::EOL;
+
+all_perl_files_ok({ trailing_whitespace => 1 });
@@ -0,0 +1,80 @@
+
+BEGIN {
+  unless ($ENV{AUTHOR_TESTING}) {
+    require Test::More;
+    Test::More::plan(skip_all => 'these tests are for testing by the author');
+  }
+}
+
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.09
+
+use Test::More 0.88;
+use Test::NoTabs;
+
+my @files = (
+    'bin/web-service-request',
+    'lib/GeoIP2.pm',
+    'lib/GeoIP2/Database/Reader.pm',
+    'lib/GeoIP2/Error/Generic.pm',
+    'lib/GeoIP2/Error/HTTP.pm',
+    'lib/GeoIP2/Error/IPAddressNotFound.pm',
+    'lib/GeoIP2/Error/Type.pm',
+    'lib/GeoIP2/Error/WebService.pm',
+    'lib/GeoIP2/Model/AnonymousIP.pm',
+    'lib/GeoIP2/Model/City.pm',
+    'lib/GeoIP2/Model/ConnectionType.pm',
+    'lib/GeoIP2/Model/Country.pm',
+    'lib/GeoIP2/Model/Domain.pm',
+    'lib/GeoIP2/Model/ISP.pm',
+    'lib/GeoIP2/Model/Insights.pm',
+    'lib/GeoIP2/Record/City.pm',
+    'lib/GeoIP2/Record/Continent.pm',
+    'lib/GeoIP2/Record/Country.pm',
+    'lib/GeoIP2/Record/Location.pm',
+    'lib/GeoIP2/Record/MaxMind.pm',
+    'lib/GeoIP2/Record/Postal.pm',
+    'lib/GeoIP2/Record/RepresentedCountry.pm',
+    'lib/GeoIP2/Record/Subdivision.pm',
+    'lib/GeoIP2/Record/Traits.pm',
+    'lib/GeoIP2/Role/Error/HTTP.pm',
+    'lib/GeoIP2/Role/HasIPAddress.pm',
+    'lib/GeoIP2/Role/HasLocales.pm',
+    'lib/GeoIP2/Role/Model.pm',
+    'lib/GeoIP2/Role/Model/Flat.pm',
+    'lib/GeoIP2/Role/Model/HasSubdivisions.pm',
+    'lib/GeoIP2/Role/Model/Location.pm',
+    'lib/GeoIP2/Role/Record/Country.pm',
+    'lib/GeoIP2/Role/Record/HasNames.pm',
+    'lib/GeoIP2/Types.pm',
+    'lib/GeoIP2/WebService/Client.pm',
+    't/00-compile.t',
+    't/00-report-prereqs.dd',
+    't/00-report-prereqs.t',
+    't/GeoIP2/Database/Reader-Anonymous-IP.t',
+    't/GeoIP2/Database/Reader-Connection-Type.t',
+    't/GeoIP2/Database/Reader-Domain.t',
+    't/GeoIP2/Database/Reader-ISP.t',
+    't/GeoIP2/Database/Reader.t',
+    't/GeoIP2/Error/Type.t',
+    't/GeoIP2/Model/City.t',
+    't/GeoIP2/Model/Country.t',
+    't/GeoIP2/Model/Insights.t',
+    't/GeoIP2/Model/names.t',
+    't/GeoIP2/Types.t',
+    't/GeoIP2/WebService/Client.t',
+    't/author-eol.t',
+    't/author-no-tabs.t',
+    't/author-pod-spell.t',
+    't/lib/Test/GeoIP2.pm',
+    't/release-cpan-changes.t',
+    't/release-pod-coverage.t',
+    't/release-pod-syntax.t',
+    't/release-portability.t',
+    't/release-synopsis.t'
+);
+
+notabs_ok($_) foreach @files;
+done_testing;
@@ -0,0 +1,116 @@
+
+BEGIN {
+  unless ($ENV{AUTHOR_TESTING}) {
+    require Test::More;
+    Test::More::plan(skip_all => 'these tests are for testing by the author');
+  }
+}
+
+use strict;
+use warnings;
+use Test::More;
+
+# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.006008
+use Test::Spelling 0.12;
+use Pod::Wordlist;
+
+
+add_stopwords(<DATA>);
+all_pod_files_spelling_ok( qw( bin lib  ) );
+__DATA__
+Alders
+Alders'
+Eilam
+Eilam's
+MaxMind
+MaxMind's
+Oschwald
+Oschwald's
+Rolsky
+Rolsky's
+API
+APIs
+AdWords
+CN
+GEONAMES
+GeoIP
+GeoLite
+GeoNames
+GitHub
+IANA
+IP
+IP's
+IPv
+ISP
+Knop
+OC
+Omni
+Oxfordshire
+SSL
+URI
+VERSIONING
+VPN
+YYY
+YYYZZZ
+contentDeliveryNetwork
+de
+dialup
+downloadable
+ergument
+geoname_id
+hostname
+ip
+ja
+libmaxminddb
+lookup
+maxmind
+omni
+params
+routable
+ru
+searchEngineSpider
+ua
+unpopulated
+versioning
+zh
+Dave
+drolsky
+Greg
+goschwald
+Olaf
+oalders
+Inc
+Graham
+haarg
+lib
+GeoIP2
+Role
+Model
+HasSubdivisions
+Record
+Postal
+Country
+Location
+Error
+HTTP
+Insights
+AnonymousIP
+Generic
+Types
+Flat
+Subdivision
+Traits
+RepresentedCountry
+WebService
+Client
+HasNames
+ConnectionType
+HasLocales
+Database
+Reader
+City
+Continent
+Domain
+IPAddressNotFound
+Type
+HasIPAddress
@@ -1,16 +0,0 @@
-
-BEGIN {
-  unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
-  }
-}
-
-use strict;
-use warnings;
-use Test::More;
-
-eval 'use Test::EOL';
-plan skip_all => 'Test::EOL required' if $@;
-
-all_perl_files_ok({ trailing_whitespace => 1 });
@@ -1,55 +0,0 @@
-
-BEGIN {
-  unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
-  }
-}
-
-use strict;
-use warnings;
-
-# this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.05
-
-use Test::More 0.88;
-use Test::NoTabs;
-
-my @files = (
-    'bin/web-service-request',
-    'lib/GeoIP2.pm',
-    'lib/GeoIP2/Database/Reader.pm',
-    'lib/GeoIP2/Error/Generic.pm',
-    'lib/GeoIP2/Error/HTTP.pm',
-    'lib/GeoIP2/Error/IPAddressNotFound.pm',
-    'lib/GeoIP2/Error/Type.pm',
-    'lib/GeoIP2/Error/WebService.pm',
-    'lib/GeoIP2/Model/City.pm',
-    'lib/GeoIP2/Model/ConnectionType.pm',
-    'lib/GeoIP2/Model/Country.pm',
-    'lib/GeoIP2/Model/Domain.pm',
-    'lib/GeoIP2/Model/ISP.pm',
-    'lib/GeoIP2/Model/Insights.pm',
-    'lib/GeoIP2/Record/City.pm',
-    'lib/GeoIP2/Record/Continent.pm',
-    'lib/GeoIP2/Record/Country.pm',
-    'lib/GeoIP2/Record/Location.pm',
-    'lib/GeoIP2/Record/MaxMind.pm',
-    'lib/GeoIP2/Record/Postal.pm',
-    'lib/GeoIP2/Record/RepresentedCountry.pm',
-    'lib/GeoIP2/Record/Subdivision.pm',
-    'lib/GeoIP2/Record/Traits.pm',
-    'lib/GeoIP2/Role/Error/HTTP.pm',
-    'lib/GeoIP2/Role/HasIPAddress.pm',
-    'lib/GeoIP2/Role/HasLocales.pm',
-    'lib/GeoIP2/Role/Model.pm',
-    'lib/GeoIP2/Role/Model/Flat.pm',
-    'lib/GeoIP2/Role/Model/HasSubdivisions.pm',
-    'lib/GeoIP2/Role/Model/Location.pm',
-    'lib/GeoIP2/Role/Record/Country.pm',
-    'lib/GeoIP2/Role/Record/HasNames.pm',
-    'lib/GeoIP2/Types.pm',
-    'lib/GeoIP2/WebService/Client.pm'
-);
-
-notabs_ok($_) foreach @files;
-done_testing;
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!perl
 
 BEGIN {
   unless ($ENV{RELEASE_TESTING}) {
@@ -7,35 +7,44 @@ BEGIN {
   }
 }
 
+# This file was automatically generated by Dist::Zilla::Plugin::Test::Pod::Coverage::Configurable.
 
-use strict;
-use warnings;
+use Test::Pod::Coverage 1.08;
+use Test::More 0.88;
+use Pod::Coverage::TrustPod;
 
-use Pod::Coverage::Moose 0.02;
-use Test::More;
-use Test::Pod::Coverage 1.04;
+{
+    package
+        My::Coverage;
+    use parent 'Pod::Coverage::Moose', 'Pod::Coverage::TrustPod';
+    $INC{'My/Coverage.pm'} = 1;
+}
 
-my %trustme = ();
+my %skip = map { $_ => 1 } qw(  );
 
-# This is a stripped down version of all_pod_coverage_ok which lets us
-# vary the trustme parameter per module.
-my @modules = grep { !/^GeoIP2::(?:Role|Types)/ } all_modules();
+my @modules;
+for my $module ( all_modules() ) {
+    next if $skip{$module};
+    next if $module =~ qr/^GeoIP2::(?:Role|Types)/;
 
-for my $module ( sort @modules ) {
-    my $trustme = [];
+    push @modules, $module;
+}
 
-    if ( $trustme{$module} ) {
-        my $methods = join '|', @{ $trustme{$module} };
-        $trustme = [qr/^(?:$methods)$/];
-    }
+plan skip_all => 'All the modules we found were excluded from POD coverage test.'
+    unless @modules;
 
+plan tests => scalar @modules;
+
+my %trustme = ();
+
+for my $module ( sort @modules ) {
     pod_coverage_ok(
         $module,
         {
-            coverage_class => 'Pod::Coverage::Moose',
-            trustme        => $trustme,
+            coverage_class => 'My::Coverage',
+            trustme        => $trustme{$module} || [],
         },
-        "Pod coverage for $module"
+        "pod coverage for $module"
     );
 }
 
@@ -1,77 +0,0 @@
-
-BEGIN {
-  unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
-  }
-}
-
-use strict;
-use warnings;
-
-use Test::Spelling;
-
-my @stopwords;
-for (<DATA>) {
-    chomp;
-    push @stopwords, $_
-        unless /\A (?: \# | \s* \z)/msx;    # skip comments, whitespace
-}
-
-add_stopwords(@stopwords);
-set_spell_cmd('aspell list -l en');
-
-# This prevents a weird segfault from the aspell command - see
-# https://bugs.launchpad.net/ubuntu/+source/aspell/+bug/71322
-local $ENV{LC_ALL} = 'C';
-all_pod_files_spelling_ok;
-
-__DATA__
-API
-APIs
-AdWords
-CN
-GEONAMES
-GeoIP
-GeoLite
-GeoNames
-GitHub
-IANA
-IP
-IP's
-IPv
-ISP
-Knop
-MaxMind
-MaxMind's
-OC
-Omni
-Oschwald
-Oxfordshire
-Rolsky
-SSL
-URI
-VERSIONING
-YYY
-YYYZZZ
-contentDeliveryNetwork
-de
-dialup
-downloadable
-ergument
-geoname_id
-hostname
-ip
-ja
-libmaxminddb
-lookup
-maxmind
-omni
-params
-routable
-ru
-searchEngineSpider
-ua
-unpopulated
-versioning
-zh
@@ -0,0 +1,19 @@
+#!perl
+
+BEGIN {
+  unless ($ENV{RELEASE_TESTING}) {
+    require Test::More;
+    Test::More::plan(skip_all => 'these tests are for release candidate testing');
+  }
+}
+
+
+use strict;
+use warnings;
+
+use Test::More;
+
+eval 'use Test::Portability::Files';
+plan skip_all => 'Test::Portability::Files required for testing portability'
+    if $@;
+run_tests();
@@ -8,9 +8,6 @@ BEGIN {
 }
 
 
-use Test::More;
+use Test::Synopsis;
 
-eval "use Test::Synopsis";
-plan skip_all => "Test::Synopsis required for testing synopses"
-  if $@;
-all_synopsis_ok('lib');
+all_synopsis_ok();
@@ -15,4 +15,3 @@
 [Authors]
 [Contributors]
 [Legal]
-