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.
