Revision history for Geo-Coder-OpenCage 0.41 2026-05-27 dependencies: - bump HTTP::Tiny to 0.83 (shipped with Perl 5.38), pin previously unpinned versions - move Scalar::Util to RuntimeRequires (was misclassified as test-only) - drop Pod::Perldoc from RuntimeRequires (not actually used) code fixes: - default HTTP::Tiny UA now uses a 10 second timeout - valid_params list wasn't actually used - valid_params warned if a parameter value was 0 (e.g. 'no_dedupe' can be set to 0) - 'key' can only be set in new(), not overwritten in geocoding calls - fix defined() parenthesization in http=>1 handling - JSON decode now warns and returns undef on parse error instead of dying - avoid printing API key in error messages - accept HTTP::Response subclasses (content/is_success branches stayed in sync) documentation: - document http=>1 and ua=>$ua parameters of new() - restructure geocode() Supported/Not Supported sections into proper =head3/=over blocks - We documented user-agent string as "Geo::Coder::OpenCage/$VERSION" but in code it used space as delimiter. It's also set when another UA is supplied in new() as documented. tests: - no longer test against Perl < 5.38 - connectivity check uses TCP/443 (requires no root) - we pinged a stale hardcoded IP so some tests where always skipped - new tests for parameter validation (typo, key, format, jsonp) - new tests for JSON decoding and API-key masking - new test for HTTP::Response subclasses - new tests for reverse geocoding calling without required parameters (lat,lng) - test the Perl documentation (POD) syntax - we use hardcoded test API keys. Added links to the documentation - factored duplicated Net::Ping connectivity check into t/lib/TestConnectivity.pm - new Perl::Critic test release tooling: - abort (die) instead of warn on untracked files - .gitignore: drop dead entries, ignore dotted dirs except .github 0.40 2026-04-01 - documenation: use "Agent Skill" terminology and link to the opencage-skills repo root instead of a deep file path 0.39 2026-04-01 - better Agent Skill link in pod, no code changes 0.38 2026-03-26 - more pod fixes - fix timestamp typo in date for 0.37 entry 0.37 2026-03-26 - pod improvements/clarifications, including mention of relevant AI SKILL no code changes 0.36 2023-03-14 - pod improvements/clarifications, no code changes 0.35 2023-02-25 big thanks to TOBYINK for various suggestions/improvements - get version number via $VERSION - allow user-agents that are a subclass of HTTP::Response - code cleanup - new dependency on Scalar::Util 0.34 2022-01-12 - support address_only optional param - optionally specify http => 1 in object creation to make requests via http rather than https - avoid duplicate POD 0.33 2021-06-23 - need LWP::Protocol::https for tests 0.32 2021-06-21 - Support LWP user agents again PR #13 0.31 2021-06-15 - remove perltidy stuff, too annoying - remove trailing slash from API URL - sort params for better caching 0.30 2021-03-14 - rename perltidy conf files so Dist::Zilla bundles them 0.29 2021-03-13 - perltidy 0.28 2020-11-28 - fix failing test, 403 response message changed 0.27 2020-08-22 - upgrade various dependencies, no code changes 0.26 2019-11-10 no code changes - add test for 429 response - travis now tests perl 5.30 - use coveralls 0.25 2019-10-15 - remove debugging mistakenly left in 0.24. Sorry! 0.24 2019-10-11 - new ua method for getting/setting user agent As suggested by NHORNE. Thanks! - Copyright now with OpenCage GmbH 0.23 2019-05-30 - add version number to user agent string 0.22 2019-04-29 - add support for new, optional "roadinfo" parameter 0.21 2019-02-22 - require IO::Socket::SSL to make https requests, thanks SREZIC - remove 'use feature qw(say)' from a test, also thanks SREZIC 0.20 2019-02-18 - use JSON::MaybeXS as using CPanel::JSON::XS directly seems to to be causing test failures 0.19 2019-02-15 - skip some tests if not online. No code changes. 0.18 2019-02-12 - not sure why but seems CPAN failed to index 0.17 so pushing a new release to see if that solved it. No code changes. 0.17 2019-02-11 - more tests, specifically for correctly dealing with 402, 403 response - use Cpanel::JSON::XS; 0.16 2018-07-24 - add support for new, optional "proximity" parameter see: https://blog.opencagedata.com/post/new-optional-parameter-proximity 0.15 2018-06-19 - updated OpenCage documentation URLs, no code changes 0.14 2017-10-01 - dont actually need say 0.13 2017-09-28 - various dist.ini tweaks to resolve bugs found by CPAN Testers no code changes 0.12 2017-09-27 - internal code refactor, remove duplicate code - better docs, remove various points of confusion - no longer die if: - no query is provided - request fails - request returns non-200 response code instead warn and return undef - remove dependency on List::MoreUtils 0.11 2017-09-26 - don't die if request fails, instead warn and return undef 0.10 2017-05-05 - add support for 'abbrv' param, see: http://blog.opencagedata.com/post/160294347883/shrtr-pls 0.09 2016-12-12 - Documentation change, added link to Perl Advent Calendar article 0.08 2016-12-04 - use https instead of http - support 'no_record' optional param 0.07 2016-05-21 - support the API's various optional parameters see: https://geocoder.opencagedata.com/api#forward-opt - pod update - 'countrycode', not 'country' as per the API 0.06 2015-04-14 - Github URL (organization) changed 0.05 2014-06-20 - Added reverse geocoding support 0.04 2014-06-10 - Added Pod::Perldoc 3.21 as a dependency 0.03 2014-06-10 - Added support for the 'language' and 'country' parameters - Added lots of docs about supported and unsupported API parameters - Fixed typo in POD - Added link to API docs to POD 0.02 2014-06-05 - Updated URL from prototype.opencagedata.com to api.opencagedata.com 0.01 2014-05-20 - Initial release.