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.