Revision history for Perl module Geo::Address::Formatter.

1.9991 2026-02-15
      - new instance method for creating singleton and reusing across requests under mod_perl

1.9990 2026-02-11
      - speed optimizations
      - improved POD

1.9989 2025-10-31
      - drop components with special characters, test
      - newest address-formatting

1.9988 2025-09-24
      - make apply_replacements regex case insensitive
      - newest address-formatting

1.9987 2025-05-11
       - require newest YAML::LibYAML
       - minor tweak to apply_replacements step, some components can be skipped

1.9986 2025-03-26
      - in case with multiple unknown entries in the components, sort them before adding them to the attention
        value to ensure consistency

1.9985 2025-03-24
      - tired of fighting Test::Perl::Critic to get it to install, no longer requiring

1.9984 2025-03-24
      - code clean up, improved performance
      - add Ref::Util::XS as dependency
      - newest address-formatting

1.9983 2024-10-28
      - more tests for abbreviations (one yaml file per language)
      - change regex used in abbreviations

1.9982 2023-06-08
      - no longer use File::Find::Rule to find config files (still used in tests)
      - simplify the logic of reading config files

1.9981 2023-06-06
      - minor syntax change

1.998 2023-06-06
      - limit search for .yaml conf to a single directory

1.997 2023-03-09
       - revert one minor "improvement" *sigh*

1.996 2023-03-09
       - improve private method _apply_replacements
       - newest address-formatting
       
1.995  2023-03-09
       - various performance tweaks
       - newest address-formatting

1.994  2023-03-02
       - various performance tweaks
       - newest address-formatting

1.993  2022-12-14
       - ability to set "only_address" as optional param to format_address

1.992  2022-12-14
       - new optional "only_address" parameter to new method to use only known components in
         the formatted output

1.991  2022-10-30
       - new optional "no_warnings" parameter to new method to suppress
         some warnings
       - newest address-formatting

1.99   2022-04-21
       - internal reorganization so that component aliases now chosen based on
         the order they appear in the components conf file rather than
         alphabetically as they had (mistakenly) been chosen previously
         
1.98   2022-01-20
       - roll back change to _find_unknown_components
         seems to be causing problems

1.97   2022-01-20
       - Deal with the fact that in OSM some countries use the "district" as
         if it is "city_district" others as if it is "state_district"

1.96   2021-08-06
       - if address_template is specified to format_address always use it
         skip the check for minimal components
       - newest address-formatting

1.95   2021-06-19
       - deal with encodes apostrophes
       - newest address-formatting

1.94   2021-06-08
       - ability to pass an "address_template" option to format_address
         to overwrite the template specified in conf
       - test

1.93   2021-06-07
       - make sure final_components are reset every time format_address
         is called

1.92   2021-06-04
       - PR #9, fix speed regression introduced in 1.91

1.91   2021-06-04
       - yet another rewrite of _render_template logic to replace
       the "first" lambda. More robust solution that v1.90
       see PR #8

1.90   2021-06-03
       - major rewrite of _render_template logic for dealing with
         "first" - remove recursive use of Text::Hogan
       - remove internal template cache as Text::Hogan already has one
       - remove List::Util as a dependency
       - remove Text::Trim as a testing dependency       

1.89   2021-05-29
       - die if conf path doesnt exit or no conf files found

1.88   2021-05-10
       - remove the tidyall stuff, made life too complicated
       - more tests
       - use generic address_template even if a country specific fallback
         template or formatting rules are specified
       - newest address-formatting templates       

1.87   2021-03-14
       rename perltidy conf files so Dist::Zilla adds them to distribution

1.86   2021-03-13
       - perltidy all files, add tidy test and precommit hook
         many thanks to Olaf Alders for the step by step guide
         http://www.perladvent.org/2020/2020-12-01.html
         
1.85   2020-11-20
       - ugh, forgot to check in various files
       - newest address-formatting templates       
       
1.84   2020-11-20
       - no code changes
       - new test to ensure validity of all yaml conf files, previously abbreviation files were not checked
       - newest address-formatting templates

1.83   2020-09-27
       - basic tests for _postformat method
       - hack for now to not deduplicate "new york, new york"
       - newest address-formatting templates

1.82   2020-05-19
       - support for determining correct state_code or county_code
         in multiple languages
       - require Ref::Util, update various other requirements
       - more tests
       - newest address-formatting templates

1.81   2019-02-03
       - require YAML::LibYAML >= 0.81
       - newest address-formatting templates
    
1.80   2019-12-18
       - Text::Hogan 2.03 or higher
       - cleanup of the dist.ini file

1.79   2019-07-29
       - Clone 0.43 or higher

1.78   2019-07-27
       - force Clone 0.41 and seems 0.42 causes warnings
       - newest address-formatting templates

1.77   2019-07-26
       - change logic used to create ordered_components list
       - newest address-formatting templates
       - OpenCage is now OpenCage GmbH

1.76   2019-04-20
       - better cleanup in _sanity_cleanup to avoid component keys with no value
       - newest address-formatting templates

1.75   2019-03-03
       - use Text::Hogan 2.01
       
1.74   2019-02-23
       - use Text::Hogan 1.09
       - newest address-formatting templates

1.73   2018-12-21
       - use YAML::XS everywhere
       - newest address-formatting templates
       
1.72   2018-12-21
       - switch to Try::Catch
       - switch to YAML::XS

1.71   2018-12-21
       - newest version of Text::Hogan
       
1.70   2018-12-21
       - new final_components method to get the final components after all
         work has been done on it.
       - some new tests

1.69   2018-12-18
       - removed debugging
       - more tests for county_code
       
1.68   2018-12-18
       - deal with case where state value is actually state_code
       - newest address-formatting templates and tests       
       
1.67   2018-09-19
       - more Washington DC improvements

1.66   2018-09-19
       - deal better with Washington DC edge case (is both a city and a state)
       
1.65   2018-07-23
       - better error message for the case when we are unable to abbreviate
         due to not being supplied a country_code

1.64   2018-02-08
       - support county_codes for IT provinces
       - some Perl::Critic fixes
       - newest address-formatting templates and tests

1.63   2017-09-15
       - small tweak to support IN postcode, with testcase
       - newest address-formatting templates

1.62   2017-07-24
       - small tweak to support postformat replace on CA postcodes
       - newest address-formatting templates, more abbreviations

1.61   2017-06-01
       - speed up to some internals, better matching for state codes
       - newest address-formatting templates

1.60   2017-04-06
       - 'abbreviate' is now based on language
         - requires country2lang conf in newest address-formatting templates
       - newest address-formatting templates

1.59   2017-03-29
       - support 'abbreviate' option (though for US only for now)
       - newest address-formatting templates

1.58   2016-07-26
       - deal with postcode ranges like '68100, 68200' which it seems are not
         uncommon in OSM

1.57   2016-06-16
       - deal with postcode ranges like '68100;68200' which it seems are not
         uncommon in OSM

1.56   2016-05-10
       - no code changes
       - we now have at least one test for each of the 249 territories of the world!
       - From the coverage script in the address-formatting repo:
       We are aware of 249 territories 
       We have tests for 249 (100%) territories
       We have rules for 249 (100%) territories
       0 (0%) territories have neither rules nor tests

1.55   2016-05-02
       - no code changes
       - set min perl version to 5.12 to avoid cpantesters warnings for
         perls that don't support 'feature "unicode_strings";'
       - use github issue tracker not RT
       - From the coverage script in the address-formatting repo:
       We are aware of 249 territories 
       We have tests for 243 (97%) territories
       We have rules for 249 (100%) territories
       0 (0%) territories have neither rules nor tests

1.54   2016-04-27
        - enforce YAML starting with 0 in test cases are quoted. PHP YAML
          parser otherwise reads a postcode of 00123 as 123.

1.53    2016-03-22
        - require Text::Trim to stop some CPAN testers failures, no further 
          code changes
        - From the coverage script in the address-formatting repo:
        We are aware of 249 territories 
        We have tests for 229 (91%) territories
        We have rules for 249 (100%) territories
        0 (0%) territories have neither rules nor tests
        

1.52    2016-02-16
        - output (and tests in the address-formatting submodule repository) 
          is now multilinerather than comma seperated. Many countries 
          have formats where commas are significant.
          Clearly we should have done it that way from the start. Apologies.
        - From the coverage script in the address-formatting repo:
          We are aware of 249 territories 
          We have tests for 177 territories 
          We have rules for 229 territories 
          20 territories have neither rules nor tests

1.51    2016-02-09
        - more support for dependent territories and the odd edge cases 
        - From the coverage script in the address-formatting repo:
          We are aware of 249 territories 
          We have tests for 174 territories 
          We have rules for 228 territories 
          21 territories have neither rules nor tests

1.50    2016-02-02
        - fix for some YAML parsers complaining about lack of 
          newline in testcases
        - no code changes, but more tests and conf changes
        - From the coverage script in the address-formatting repo:
          We are aware of 249 territories 
          We have tests for 162 territories 
          We have rules for 217 territories 
          32 territories have neither rules nor tests

1.49    2016-02-01
        - support new template tags to allow dependent territories
          or countries that share the same postal system
        - eliminate old hacky code as logic has now moved to config
        - many new country templates, tests
        - From the coverage script in the address-formatting repo:
          We are aware of 249 territories
          We have tests for 156 territories 
          We have rules for 210 territories 
          39 territories have neither rules nor tests

1.48    2015-12-19
        - better dist.ini, stop using File::Slurp in tests, see
        http://blogs.perl.org/users/leon_timmermans/2015/08/fileslurp-is-broken-and-wrong.html
        - thanks to MANWAR and KAORU for making me aware

1.47    2015-12-18
        - better deal with "sub" countries like CW (Curaçao) tagged as NL

1.46    2015-11-24
        - fix CPAN tester errors from yaml test file not ending in newline

1.45    2015-11-18
        - reject address components containing URLs
          Thanks to Emil Żak - @zakemil - for reporting test case

1.44    2015-11-16
        - support for 'key=' replacement to act on single key
        - reject postcodes over 20 chars in length
        - lots of new templates, mainly in Africa

1.43    2015-10-05
        - fix reliance on keys of hash coming in same order found by 
          CPAN Testers on newer versions of perl. 

          Many thanks to Alex Balhatchet for his help, he is hereby raised to 
          position of grand master of the eternal order of well formatted 
          addresses, a position he will hold for life (or until revoked). 
          We bow before his greatness.

        - also gets newest versions of the templates which adds formatting 
          for Kenya (KE)

1.42    2015-10-03
        - support for postformat substitution, for example BR postcodes
          see relevant test case: 
          https://github.com/OpenCageData/address-formatting/commit/9026239ba59e09bff6efc1b18c8b6ab5f06959a5

1.41    2015-07-21
        - add Scalar::Util as dependency
        - new templates (support for MT)
        - deal with bad data - numeric country field

1.4     2015-07-21
        - add Test::Warn as dependency

1.3.1   2015-07-14
        - only compile Text::Hogan templates once

1.3     2015-07-14
        - drop Mustache::Simple and instead use Text::Hogan 1.01 or better

1.2.9   2015-06-02
        - require older version of Mustache::Simple. The latest version has
          been broken for several months now

1.2.8   2015-04-14
        - github URL (organization) changed

1.2.7   2014-11-06
        - dedupe repeated chunks (ie "Kilkenny, Kilkenny" -> "Kilkenny")
        - better tests, newest address templates

1.2.6   2014-10-20
        - deal better with fallback cases
        - better tests, newest address templates

1.2.5   2014-10-19
        - warning if a YAML config file contains a TAB character

1.2.4   2014-10-17
        - support postformat_replace
        - actually use component aliases
        - internal cleanup / delete unused code

1.2.3   2014-10-15
        - cleanup readme file

	- better merging of template configuration when reading
        multiple files (currently it's only one file)

        - corrected examples in POD [ticket 99517, thanks TOBYINK]

	- disable Perl critics 'use strict' policy because it
        conflicts with dzil automatic addition of version numbers into
        .pm files (PkgVersion)

1.2.2   2014-10-15
        - use fallback template if not enough address components, for example
          "Moabit, Berlin"

1.2.1   2014-10-03
        - more docs
        - fixed path in test

1.2     2014-10-03
        - improved POD

1.1     2014-10-02
        - add address-formatting repository as submodule to allow running
            (blackbox) tests against its configuration and test cases.

1.0     2014-10-02
        - initialize release
