Changelog History
Page 2
-
v3.0.0-alpha1 Changes
December 18, 2014Hi!
I am proud to announce that we are ready to ship the next major version of Geocoder: 3.0.0. This is a pre-release which will help us ensure everything works smoothly. We are currently working hard on making Geocoder related projects compatible with this new version, hence the need for a pre-release version.
Basically, we changed almost everything in this library but its simplicity and its robustness have been kept. Since 2012, Geocoder provides a powerful API to perform geocoding actions in PHP. However, things in PHP evolved a lot, and we decided to refactor the lib to be more flexible , and even more powerful.
๐ง For instance, providers are now highly configurable and Geocoder leverages a third-party library implementing PSR-7.
โก๏ธ Update: the main idea behind this was to introduce a dependency to PSR-7 interfaces, and to avoid the NIH syndrom. The
http-adapter
library is a great one, and Geocoder is not about dealing with HTTP, it is about geocoding stuff.Geocoder 3.0.0 contains less code than previously, 49 classes, 5 interfaces and less than 5300 lines of code for the code (tests are not included here). As a matter of fact, Geocoder 2.x has 56 classes and 6500 lines of code. Removing code was a challenge as we did not want to remove features from this library. We rather re-organized Geocoder to fit its initial goal: providing a simple yet powerful way to geocode street and IP addresses, with the ability to switch from one provider to another with ease. Geocoder Extra contains alternative providers that are not worldwide and therefore less used. Again, we did not remove anything.
๐ New features have been added, such as the
TimedGeocoder
implementation and a better model layer. You will find all details in the CHANGELOG below.๐ The documentation, which has been rewritten, also contains a description of Geocoder's versioning strategy, and we are proud to have a Contributor Code of Conduct, because the lack of diversity in Open Source is not acceptable.
Help us making Geocoder 3.0.0 really stable by giving this very first pre-release a try!
Last but not the least, THANK YOU to all contributors!!! ๐ ๐ โค๏ธ ๐ ๐ข โญ๏ธ ๐๐ ๐ ๐
Let's celebrate now!
Full Changelog
- โ Added:
using()
method now throws an exception if provider not found - โ Added: new Result classes (
Address
,Bounds
,Region
,Country
,County
,Coordinates
) - โ Added: new named exceptions
- โ Added: better exception messages
- โ Added: new HTTP layer thanks to
egeloen/http-adapter
library - โ Added:
TimedGeocoder
implementation (works with StopWatch Symfony component) - โ Added:
AbstractHttpProvider
(extendingAbstractProvider
) - โ Added: provide a way to use IpInfoDB country precision
- โ Added: cached responses for BingMaps provider (tests)
- โ Added: cached reponse for GoogleMaps provider (tests)
- โ Added:
ProviderAggregator
(replacing the formerGeocoder
class) - โ Added: ability to change providers locale at runtime
- ๐ Documentation: almost entirely rewritten
- ๐ Documentation: a note on versioning has been added
- ๐ Documentation: a Contributor Code of Conduct has been added for the entire
Geocoder project - ๐ Fixed: phpdoc, wording
- ๐ Fixed: providers are now highly configurable, even at runtime
- ๐ Fixed:
FreeGeoIp
property because of an API change - ๐ Moved: IGN OpenLS provider to geocoder-extra (#339)
- ๐ Moved: OIORest provider to geocoder-extra (#336)
- ๐ Moved: GeoCoder.us provider to geocoder-extra (#338)
- ๐ Moved: GeoCoder.ca provider to geocoder-extra (#337)
- ๐ Moved: DataScienceToolkit provider to geocoder-extra (#340)
- ๐ Moved: Baidu provider to geocoder-extra (#341)
- ๐ Moved: IpGeoBase provider to geocoder-extra (#342)
- ๐ Renamed: properties such as:
- city => locality
- cityDistrict => subLocality
- zipcode => postalCode
- ๐จ Refactored: dumpers (remove Interface suffix, define a new method signature)
- ๐จ Refactored: class names!
- ๐จ Refactored: all providers now implement the
Geocoder
interface - ๐จ Refactored: exception messages are a bit more verbose
- โ Removed:
Provider
,Dumper
,Interface
, andException
suffixes - โ Removed:
autoload.php
file - โ Removed:
OpenStreetMapsProvider
class (#335) - โ Removed: HTTP adapters layer
- โ Removed: the
Geocoder
class does not exist anymore and has been replaced by
theProviderAggregator
class
- โ Added:
-
v2.8.2 Changes
January 07, 2015- ๐ Fixed: encoding issue for
maxmind
provider
- ๐ Fixed: encoding issue for
-
v2.8.1 Changes
December 08, 2014- ๐ Fixed: freegeoip
zip_code
property because of an API change
- ๐ Fixed: freegeoip
-
v2.8.0 Changes
October 03, 2014- โ Added: Allow for greater flexibility in setting curl parameters by passing in an array.
- โ Removed: GeoIP2 Omni support
- โ Removed: Cloudmade provider. They discontinued their service Apr/2014
-
v2.7.0 Changes
September 14, 2014- ๐ Added: new provider:
OpenCageProvider
geocoder.opencagedata.com - ๐ Fixed:
MapQuestProvider
when no relevant data are fetched - ๐ Fixed: Ensure mb
formatString
is congruent to standarducwords()
functionality
- ๐ Added: new provider:
-
v2.6.0 Changes
September 02, 2014- โ Added:
region
andregionCode
to GeoIP2Provider - โ Added: throw
InvalidCredentialsException
with GoogleMapsBusinessProvider - โ Added: support in MapQuestProvider for licensed endpoints (#318)
- โ Added: it is now possible to set the user agent in
CurlHttpAdapter
- ๐ Fixed: google maps provider test
- ๐ Fixed: GeoPlugin returns 206 for anonymous proxies
- โ Removed: Google's sensor parameter
- โก๏ธ Updated: Travis-CI config, doc, tests
- โ Added:
-
v2.5.0 Changes
May 16, 2014- โ Added: ability to set timeouts for
CurlHttpAdapter
- โ Added: support for a Google Maps API key
- โ Added: premium support to
GeocoderCaProvider
+ tests - โ Added: test against
hhvm-nightly
on Travis-CI - ๐ Updated: documentation
- โ Added: ability to set timeouts for
-
v2.4.2 Changes
January 05, 2014- ๐ Fixed: GeoIPs provider expects a single location response due to recent API changes (#283).
-
v2.4.1 Changes
December 16, 2013- ๐ Fixed: MapQuestProvider now works with API keys
- ๐ Fixed: ProviderInterface (bad argument name)
-
v2.4.0 Changes
December 12, 2013- โ Added: MapQuest ApiKey required for open services
- โ Removed: unused class constants
- โ Removed: deprecated class that is not used anymore since 2.0.0