Revision history for Perl CPAN module Lingua::EN::AddressParse

1.27 05 Jan 2018
    Stopped errors from undefined base_satreet_name componet. Giothub issue reported by Bill Baker
    Allowed for house names at start of address, such as 'Manor House 12 Smith St...
    Added more street types
    Removed Island as a street type, too many clashes with Island appearing in other components
    Added extra test case to main.t for street direction prefix

1.26 15 Sep 2016
    the auto_clean option now standardises more street types, sub property types and identifiers
    added more street names, types and sub property identifier patterns
    Directional streets (like East St) given higher matching priority
    Fixed bug in synopsis example
    Improved documentation

1.25 12 Jul 2016
    Used github as repository
    Improved documentation

1.24 11 Jun 2015
    The case_components method has been removed, only the components method is needed (due to change to using upper case grammar in version 1.22)
        an optional flag allows for all components to be upper cased
    Allow for numeric avenues with optional fraction, such as 'Avenue 12 1/2'
    Added cases such as 'VIA CAPRI', to the street noun pattern
    Allow for property numbers of form xy.5
    Extract any building, level, floor data prior to parsing and save as separate attributes

1.23 20 Apr 2015
    Allowed for 4 word suburb names
    Introduced street_noun pattern, no need to name all 'The Corso, Avenue...' instances
    Detect vowels sounds in suburb words
    No vowel sound in street or suburb now raises a warning, not an error in properties hash
    Related to the above, added a 'warning_desc' component to address object
    Sub property portion of identifier now correctly assigned, so '2/24A' has sub_property_id => 2, property_id => 24A
    Added sub_proprty_type components, such as "Unit", "Apt" etc
    Allowed for half street numbers, such has '45 1/2 Some St;
    Refactored some repetitive code sections
1.22 21 Jan 2015
    fold all text to upper case prior to parsing, regexp matching is faster if case insensitive
    use extended regexp (/x) for better readability
    added many more valid street combinations
    allowed for prefix before ordinal street, such as "Bay 24th Street"
    folded 'The Avenue' type of street back into main street grammar, removed street_noun grammar
    NOTE: component 'street' changed to 'street_name' for clarity
    added street_direction_prefix component
    added base_street_name component (street name less direction prefix)
    auto_clean option now removes full stops, so P.O. Box 12 => PO Box 12, grammar no longer accepts full stops

1.21 14 Oct 2014
    allowed for more untyped streets such as 'Avenue C', 'State Route 19'
    more transformations added to the _clean function
    added more street types
    removed indirect object notation for 'new' method
    validate 'country' parameter passed in as an argument to the new method

1.20 22 Jul 2014
    added person's street name such as 'Dr Martin Luther King Jr'

    new component added, po_box_type to describe type of post box,
      so 'PO BOX 123 Newtown Private Boxes WA 6865' will return
      suburb of Newtown and po_box_type of Private Boxes

    fixed incorrect error descriptions on parsing error
    added more sub property identifiers
    added more street types
    detect missing mandatory country parameter in arguments to 'new' method
    auto_clean now removes full stops (as in P.O. Box, Rd. etc), simplifies grammar

1.19 7 Jul 2014
    auto_clean always cleans string, not just on parsing error
    during auto_clean, spaces now removed in sub property identifer, such as 1 A Main St -> 1A Main St
    fixed floor description in sub property identifier
    added street name such as 'John F Kennedy Boulevard'
    post codes can now be optional with the force_post_code argument
    added more 3 word street names
    added more street types
    many more auto_clean functions for redundant, missing or malformed characters
    stopped single letter streets returning 'no vowel sound' error
    added more tests

1.18 19 Sep 2013
    Fixed test for US suburban address in main.t

1.17 18 Sep 2013
    Added Build.PL
    Expanded test coverage to more address formats
    Expanded auto_clean functions
    Corrected casing of letters in sub property identifiers, such as Unit 23B (retain B as capital)
    Allowed for government roads, such as 12 US Highway 19
    Allowed for single word streets such as Broadway, no street type
    Allowed for more 3 word street types
    Added more ordinal street types
    Allowed post box numbers to be up to 6 digits
    Added more street types
    Added more sub property types, unified sub_property grammar
    Added more street names
    Improved report method
    Keep street direction in all capitals when casing components
    _validate now checks for PO box format

1.16 20 Jan 2011
    Moved to Lingua::EN::AddressParse::Grammar name space
    Included tests for Canadian and UK addresses

1.15 17 Jun 2007
    Added sample pre parser for correcting common errors
    Added more street types
    Added more street nouns
    Added more sub property types
    Allowed for optional street number, name and type in rural addresses
    Allowed for up to 5 numbers in property identifier
    Allowed for street names with up to three words, such as 'Tin Can Bay Road'
    Allowed for sub building patterns such as 'Level 6 Tower A 123 Main St'
    Thanks to Kieren Diment for test cases

1.14 18 Jul 2005
    Fixed auto_clean option so that quotes are retained, needed for rural property names
    Added report method to dump address properties and components
    Updated distribution to current CPAN requirements

1.13 22 Jun 2005

    Added US style sub properties, such as 123 Main St Suite # 12 Somewhere CA 92345
    Added US style street directional suffix, such as 123 Main St S Somewhere CA 92345

    Added new address type 'road_box'. This allows for box identifier such as RMB,
    optionally street name and type, then suburb and post code.

    Sub property values are now returned as as separate component sub_property_identifier,
      not as part of the property_identifier component

    Created a better grammar for property_identifier
    Removed incorrect validity tests that were not accounting for ordinal street types
    Fixed auto_clean option so that numbers are retained in ordinal street types!
    Expanded and improved documentation and comments

1.12 07 Mar 2004
    Removed any sub country descriptive text (in square brackets) that occurs from grammar.
    This was needed because of an upgrade to the data in Locale-SubCountry

1.11 21 Mar 2002
    Let user specify country argument to 'new' method as either country
    code (AU) or full name (AUSTRALIA). Changed documentation to reflect
    this, altered United Kingdom code from 'UK' (incorrect) to 'GB'

    Fixed bug that was preventing Canadian addresses from parsing
    Added a test case for each country in main.t
    Improved report layout in to allow for non Australian addresses

1.10 09 Feb 2002
    Allowed for cases such as "Unit 4 12 Smith St."
    Improved speed by reordering sequence of street types
    Added option to only accept short form of sub_country, such as NW

    Thanks to Peter Schendzielorz for the following suggestions:
    Allowed sub_country names to occur in suburb, such as Victoria Valley VIC
    Added more street types
    Added more sub property types
    Added more post box types
    Added 'Mt', 'Sir' and 'Dame' to street prefixes, as in Mt Baw Baw Rd
    Allowed for cases like 'Grand Ridge Road'
    Allowed for cases like 'Close','Glen', 'St' etc to occur in either street name or street type
    Allowed for apostrophes and full stops in suburb_word, as in French's Forest
    Allowed for 3 digits post codes such as 800 (in Northern Territory, Aust)
    Allowed for box_number to end in a letter
    Allowed property name to be delimited by single or double quotes
    Accounted for street types as street names, such as 'The Corso', 'The Parkway'

1.05 24 Sep 2001
    Added more street types
    Removed duplicated declaration for main.t

1.04 31 Aug 2001
    Allowed for streets with numbers or single letters (42nd, A, B...)
    Allowed for ZIP codes of type 12345-6789
    Thanks to Mike Edwards for noting these limitations

    Added 'Park'to street types, while accounting for cases like
    'Park Lane, 'Moore Park Road' etc.

    Added extra test case
    Added street prefixes (like Old, East) back in to simplify grammar

1.03 24 May 2001
    Allowed for forced abbreviations of sub country
    Removed POD directives from README

1.02 24 Apr 2001:
    Placed "my" declaration of loop variables inside foreach statements.

    Full names for sub countries now supported (New South Wales as well as NSW)
    Used look aheads to simplify grammar (thanks to Damian Conway for his help)
    Removed street prefixes from grammar as they were not needed
    Returned street type (Road, Lane etc) as a separate element from street
    Made property identifiers optional for suburban addresses (Low St. Kew VIC 3012 is OK)
    Initialised values for all components and properties to empty string
    Stopped warnings generated by uninitialized strings in grammar
    Only allow country names that match initializing country string
    Removed space that was occurring between PO Box and following number
    Added more cases to test file main.t
    Fixed all POD and line terminator errors, thanks to Jason Gallagher

1.01  9 Apr 2001:
    Fixed "use Locale::SubCountry" call in AddressGrammar

1.00 18 Mar 2001:
    Upgraded to work with changes to Locale::SubCountry, specifically,
    US rather than USA being the valid code for initializing US addresses

    Moved grammar definition to module

0.03 14 May 2000:
    Added Canadian post codes, thanks to Steve Taylor
    Replaced commas with spaces, rather than removing them
    Removed @EXPORT and @EXPORT_OK as they were not needed

0.02 30 Apr 2000:
    Used Locale::Subcountry for list of states, counties etc
    Added more UK post code types, thanks to Mark Summerfield

0.01 28 Dec 1999:
    First Release