Revision history for Geo-Coder-Free

0.39	Thu Mar 20 12:40:51 EDT 2025
	Use Geo::Hash to store in the database
	Improve US address parser to include NW as in "Pennsylvania Ave. NW"
	Handle arrays that are only one element in size
	Refactor scantext, using a complex regex and other technologies
	Latest upstream changes from VWF
	Use Geo::Hash, reduces SQLite file size by over 10%
	Makefile.PL: Download the files in parallel

0.38	Wed Jan 22 08:37:22 EST 2025
	Latest as_string return code and Utils.pm from VWF
	Added t/30-basics, t/config.t, t/utils.t and t/display.t
	geocode(): croak when input is just a set of numbers
	Local: Replace linear search with a hash search
	Local: Create a cache
	Maxmind: Create a cache
	scantext: set the location field to the string that was matched

0.37	Wed Oct 23 10:09:54 EDT 2024
	Allow new() to take HASH ref
	Slight speed improvements in Local.pm
	Support CircleCI
	Fix testing on a NO_NETWORK_TESTING system
	Port to Haiku
	Added the -f flag to createdatabase.PL to force building
		the database, e.g. after running wof_update
	DR5HN now puts JSON in its own directory

0.36	Fri Jul  5 08:56:52 EDT 2024
	Handle wide characters
	Latest VWF
	Added "exact" to OpenAddresses.pm
	Local.pm - remove empty fields
	Install bin/address_lookup
	Set lng as well as long in the output

0.35	Wed Mar  6 20:48:43 EST 2024
	Fix scantext.t when OSM is installed
	Fix openaddr.t test for not/there
	Rework the GETTING STARTED section of the POD
	Trying different databases since the creation of a database in SQLite
		eats a lot of RAM
	Added mysql support in createdatabase - TODO add support to DB.pm
	Added BUILDMODE to optionally only import from one large database
	Fix usage message in DB.pm
	Added more data cleanup to createdatabase.PL
	Use Database::Abstraction
	Rework key - for me saved about 1/3 of the database size

0.34	Mon Nov  6 16:53:43 EST 2023
	Latest DB.pm from NJH-Snippets
	Latest Display.pm from VWF
	Use HEAD not master to get the list of files
	MaxMind.pm: Try hard to support whatever API that the user wants to use

0.33	Mon  6 Nov 08:31:27 EST 2023
	Calling new on a local object now returns a clone rather than setting the defaults in the new object
	Some support for reverse_geocode
	Added Redis as a prerequisite if REDIS_SERVER is set
	Latest DB.pm from NJH-Snippets
	Change the mode of the cachedir to 2755
	Free.pm/Local.pm: Try hard to support whatever API that the user wants to use
	Local.pm: if libpostal fails, try code without
	Put the README file into the GETTING STARTED section of the POD

0.32	Wed Jun 21 20:31:01 EDT 2023
	Set NA rather than fail on smokers without L:P:https
	It's OK to install modules on Github Actions
	Reduce the number of calls to libpostal in Local.pm
	Only use XML::LibXML::Reader when needed

0.31	Fri Mar 24 17:30:06 EDT 2023
	Calling new on an object now returns a clone rather than setting the defaults in the new object
	Port to Solaris
	Local.pm doesn't contain states/provinces' locations, so quick return on search for those
	Use JSON::MaybeXS instead of JSON
	Fix truncate
	Use perl shell rather than CPAN to install missing modules
	Move temporary downloads to their own directory to stop them being installed
	Some local matches in US missed in the quick lookup
	Die, rather than warn, if the openaddr database can't be opened

0.30	Wed Mar  9 09:47:33 EST 2022
	Fix treating "30 Cross Street" as "30 X St"
	Latest DB.pm from VWF
	Improved handling of house numbers in Local.pm

0.29	Thu Nov 26 14:19:56 EST 2020
	Started work on importing data from OpenStreetMaps
		using planet.osm.bz2 files in $OSM_HOME
	More work to reduce the number of Maxmind results
	Removed some false positives in Local.pm
	Import US and Canadian data from
		https://github.com/dr5hn/countries-states-cities-database.git
		set DR5HN_HOME to where you clone it

0.28	Fri Oct 16 21:51:27 EDT 2020
	Fixed the manifest
	Don't return all the matches in a state/county/province

0.27.1	Thu Oct 15 11:08:18 EDT 2020
	Fix https://github.com/nigelhorne/Geo-Coder-Free/issues/47

0.27	Fri Oct  9 20:44:09 EDT 2020
	Local.pm: Call _normalize when libpostal is installed
	Install LWP::Simple and LWP::Protocol::https if needed

0.26	Thu Oct  8 19:47:45 EDT 2020
	Create the MaxMind database directory to download to
	Use Geo::Coder::Abbreviations

0.25	Wed Sep 30 22:33:06 EDT 2020
	Maxmind: Improved handling of full state names in the US

0.24	Mon Jun 15 11:50:14 EDT 2020
	Deal with
		https://github.com/apache/commons-csv/commit/914f2c41557bdd3dcde8d10d6f128fa3bb307b11
	Makefile.PL: used to not download any file if it exists, now it
		will download the file if it's older than a week

0.23	Sat May 16 22:16:30 EDT 2020
	WhosOnFirst: Use raw geojson files from GitHub
	Don't store items in MaxMind cache when there are more than one match,
		it was causing some subsequent searches to fail
	Sanity check to MaxMind records
	Don't look up where we've already failed to find a location
	Save database in Redis server as well if REDIS_SERVER is set
	Fixed reverse_geocode in Local.pm for UK addresses
	Fixed reverse_geocode in Local.pm when you know the name but not the
		number

0.22	Sat 12 Oct 15:14:01 EDT 2019
	When looking up Tyne and Wear, also lookup Borough of North Tyneside
	Make createdatabase.PL and openaddress.pm agree on how to handle St. Louis, MO

0.21	Tue 16 Jul 20:58:06 EDT 2019
	Remove errant debug statement

0.20	Sun 14 Jul 22:52:42 EDT 2019
	reverse_geocode starts locally then zooms out a bit
	Fix copy and paste error into Local.pm from OpenAddresses.pm

0.19	Wed 17 Apr 17:25:55 EDT 2019
	Added reverse_geocode support to MaxMind and Local

0.18	Wed 20 Mar 17:00:52 EDT 2019
	Added Geo::Coder::Free::Local
	Now return Geo::Location::Point object

0.17	Sat 23 Feb 17:21:41 EST 2019
	Maxmind download of worldcitiespop.txt has been removed

0.16	Tue Jan  1 17:57:37 EST 2019
	Import GeoName's allCountries data
	Remember L:E:AddressParser objects to speed up parsing. RT#127814
	Fix uninitialized variable
	Error if G:S:P can't extract a state name

0.15	Thu Nov 15 21:10:51 EST 2018
	Added alternatives table, for when a place could be listed elsewhere
	Support lookups of British counties e.g. 'Kent, England'

0.14	Fri Sep  7 16:07:39 EDT 2018
	Work on fixing http://www.cpantesters.org/cpan/report/6b68841a-8cc6-11e8-98d5-bb14e5798fec
	Re-enable Lingua::EN::AddressParse usage and prefer over Geo::libpostal
	Don't store cities and location names in the database

0.13	Fri Jul 20 16:48:58 EDT 2018
	Fix handling of cities with spaces in them
	Fix Canadian provinces - everything was going in AB
	Improved handling of "LANE"

0.12	Tue Jun 19 09:02:28 EDT 2018
	Fix "RESTAURANT" insert where street is known but not number
	Improved searches when Geo::Libpostal is not installed
	Improved handling of un-normalized input
	Removed duplicate code
	Add current country on web interface
	Added bin/address_lookup
	No need to give openaddr argument to new() if OPENADDR_HOME is set

0.11	Fri Jun  8 17:27:55 EDT 2018
	Started work on scantext support
	Fixed some calls in list mode which returned a scalar
	Many WOF records were not being imported
	Only fall back to Geo::StreetAddress::US as last resort
	Don't include NULL fields in the JSON output
	Better at finding venues when libpostal is not installed
	Tighten OpenAddresses validation

0.10	Fri 11 May 18:30:54 EDT 2018
	Street numbers were not being indexed
	Add data that I know with the GPS program on my phone
	Support "DR" for "Drive"
	Import GB data from whosonfirst.org data
	Maxmind - no longer croak for bad args

0.09	Tue Apr 17 21:34:01 EDT 2018
	Consolidated date in createdatabase
	Load Australian data
		Added basic Australian search (town, state, country)
	Removed the OLDCODE

0.08	Sun Apr 15 11:49:55 EDT 2018
	Download admin1 and admin2 directly from MaxMind
	Download cities.sql from geocode.nigelhorne.com

0.07	Tue Apr  3 07:40:46 EDT 2018
	Stash results in cache, workaround for very slow libpostal load
		(minutes!!) on scaleway machines
	Fix search for just state/province
	Added the run method

0.06	Thu Mar 29 09:12:56 EDT 2018
	Fix Github issue 14
	Updated to latest MaxMind databases
	Started support for a local copy of results.openaddresses.io
	Fixed Canadian lookups
	Match a street even if the house number isn't known
	Started geocoder website - see cgi-bin

0.05	Sun Jan 28 17:33:33 EST 2018
	Fix http://www.cpantesters.org/cpan/report/b10c956b-6bf9-1014-9a47-dc46d49c4260
	Allow known peculiarities to be found
	Improve handling of US lookups
	Added DISTINCT when only wanting one row

0.04	Thu Oct 26 22:05:54 EDT 2017
	Fix throw in http://www.cpantesters.org/cpan/report/ab86a142-b8d9-11e7-a1cf-bb670eaac09d
	Various speedups
	Fixed uninitialized variable
	Fix http://www.cpantesters.org/cpan/report/26e07a7e-b9e9-11e7-a1cf-bb670eaac09d

0.03	Sun Oct 22 10:46:22 EDT 2017
	Fixed spelling mistake

0.02	Sun Oct 22 10:31:35 EDT 2017
	Mention that reverse isn't supported
	Added createdatabase.PL
	Added ua

0.01	Sun 15 Oct 14:24:23 EDT 2017
	First Version
