toin0u/geocoder-laravel
Geocoder Service Provider for Laravel
13.2.2
5.6M downloads/mo
#2251 most downloaded on Packagist
geocoder-php/GeocoderLaravel
What this package is like to depend on
Last release 2 months ago
23 Jun 2026
Release timing varies
gaps range from 2 weeks to 1.1 years
Some releases are documented
notes for 33 of 59 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
61 releases · first in 2013
6 releases in the last 12 months
see the full history below
Release timeline
61 releases · Sep 2013 to Jun 2026Releases
latest 60 of 61-
13.2.223 Jun 2026Release notes
Open source →Fixed
- 🔐 untrack composer.lock, pin guzzlehttp/psr7, add CI audit gate by @mikebronner in #212
Full Changelog: 13.2.1...13.2.2
-
13.2.130 May 2026Release notes
Open source →Fixed
- 🐛 Leave null cache.serializable_classes untouched under Laravel 13 by @mikebronner in #211
Full Changelog: 13.2.0...13.2.1
-
13.2.019 May 2026Release notes
Open source →Added
- ✨ Auto-register Geocoder model classes for Laravel 13 cache serialization. by @mikebronner in #209
Laravel 13 introduced
cache.serializable_classesas a security hardening measure, defaulting tofalseto block deserialization of arbitrary PHP objects from the cache. This silently broke caching for any Laravel 13 user — geocoder results round-trip asCollections ofAddressobjects, which the hardened default refuses to deserialize.This release makes Laravel 13 caching work seamlessly without requiring you to maintain an allow-list.
⚠️ Behavior change worth noting
If you're on Laravel 13 and have deliberately set
cache.serializable_classesto a strict allow-list (or[]) for security reasons, this release will merge the Geocoder model classes into your list at boot. The merge preserves your existing entries — but it does expand the allow-list beyond what you set.If you want to keep your allow-list strictly under your own control:
// config/geocoder.php 'cache' => [ // ... 'auto_register_serializable_classes' => false, ],
When opted out, you have two coherent paths — see the README's Laravel 13
cache.serializable_classessection for the trade-offs.🔧 Upgrade
Pure
composer update. No required config changes, no API breakage, no migrations.Laravel 11 / 12 users: this release is functionally inert for you — the new config key is a no-op on framework versions that don't use
cache.serializable_classes.
`Full Changelog: 13.1.1...13.2.0
-
13.1.118 May 2026Release notes
Open source →Fixed
- fix: 🐛 Self-heal cache when corrupted non-Collection value is detected. by @mikebronner in #207
Full Changelog: 13.1.0...13.1.1
-
13.1.022 Apr 2026Release notes
Open source →Added
- 🌍 Add fluent locale() method for localization with caching.
- 🔧 Resolve container-bound providers instead of via reflection.
- 🔧 Allow adapter configuration via config file.
Full Changelog: 13.0.0...13.1.0
-
13.0.018 Apr 2026Release notes
Open source →Added
- Laravel 13.x Compatibility by @laravel-shift in #205
- Use service container to instantiate adapter by @JaZo in #191
- Remove use of
Str::slugwhen building reverse geocoding cache key by @valentin-dufois in #204
New Contributors
- @valentin-dufois made their first contribution in #204
Full Changelog: 5.0.0...13.0.0
-
5.0.006 Mar 2025Nothing published for this version
-
4.7.014 Mar 2024Nothing published for this version
-
4.6.016 Feb 2023Nothing published for this version
-
4.5.110 Feb 2022 -
4.5.010 Feb 2022Nothing published for this version
-
4.4.606 Dec 2021Nothing published for this version
-
4.4.501 Nov 2021Nothing published for this version
-
4.4.402 Dec 2020Nothing published for this version
-
4.4.202 Dec 2020Nothing published for this version
-
4.4.109 Sep 2020Nothing published for this version
-
4.4.009 Sep 2020Nothing published for this version
-
4.3.421 Jun 2020Release notes
Open source →Fixed
- non-caching declaration to only apply to current query.
- caching to take provider into account.
Changed
getProvider()method to no longer be deprecated, and instead return the currently set provider, or if none set, the first configured provider.
-
4.3.320 Jun 2020 -
4.3.216 Apr 2020Nothing published for this version
-
4.3.101 Apr 2020Nothing published for this version
-
4.3.029 Feb 2020 -
4.2.417 Oct 2019Nothing published for this version
-
4.2.315 Oct 2019Nothing published for this version
-
4.2.202 Oct 2019Nothing published for this version
-
4.2.102 Oct 2019Nothing published for this version
-
4.2.029 Aug 2019Nothing published for this version
-
4.1.223 May 2019 -
4.1.112 Mar 2019Nothing published for this version
-
4.1.004 Mar 2019Nothing published for this version
-
4.0.2103 Nov 2018 -
4.0.2014 Sep 2018Nothing published for this version
-
4.0.1001 Jul 2018Release notes
Open source →Changed
- service provider to register singleton and alias in
register()method.
- service provider to register singleton and alias in
-
4.0.928 May 2018Release notes
Open source →Added
- class-name resolution from Service container, allowing for dependency injection.
-
4.0.825 Mar 2018 -
4.0.725 Mar 2018Release notes
Open source →Added
- optional dedicated cache store.
- hashed cache keys and hash collision prevention.
- custom cache store configuration instructions.
-
4.0.609 Feb 2018 -
4.0.514 Jan 2018Release notes
Open source →Fixed
- loading of GeoIP2 provider from within Chain provider.
Changed
- unit testing to use Orchstral Testbench.
-
4.0.427 Dec 2017Release notes
Open source →Added
- environment variable configuration option in default config to set Google Maps Locale.
- documentation comments in configuration file.
Changed
- composer dependency version constraints for Laravel to be within a specific range, instead of open-ended.
-
4.0.327 Oct 2017Release notes
Open source →Fixed
- cache duration to work on 32-bit systems.
- geocoder to not cache if no results are provided.
-
4.0.203 Sep 2017 -
4.0.107 Aug 2017 -
4.0.003 Aug 2017Release notes
Open source →Added
- Laravel 5.5 package auto-discovery.
Fixed
- typo which caused cache to be in-effective.
Changed
- implemented geocoder-php 4.0.0.
- version to 4.0.0 instead of 2.0.0 to maintain major version parity with parent package.
- composer dependencies to release versions.
- unit tests to pass.
- updated readme with some clarifying notes. May have to completely rewrite it if it ends up being unclear.
-
2.0.0-RC118 Jun 2017 pre-releaseNothing published for this version
-
1.1.213 Jul 2017Nothing published for this version
-
1.1.122 Jun 2017Nothing published for this version
-
1.1.018 Jun 2017Release notes
Open source →Added
- caching functionality for
geocode()andreverse()methods. cache-durationvariable to geocoder config.
- caching functionality for
-
1.0.512 May 2017Nothing published for this version
-
1.0.412 May 2017Nothing published for this version
-
1.0.320 Mar 2017Nothing published for this version
-
1.0.220 Mar 2017 -
1.0.131 Jan 2017Release notes
Open source →Removed
- minimum Laravel requirement of 5.3 (reverted back to 5.0, just in case it was working for someone, but only Laravel 5.3 and 5.4 are officially supported).
-
1.0.031 Jan 2017 -
1.0.0-RC114 Oct 2016 pre-releaseRelease notes
Open source →Added
- ability to dump results #16.
- ability to use multiple providers in addition to the chain provider #47.
- more integration tests.
- special aggregator that allows chaining of
geocode()and other methods.
Changed
- README documentation.
- to use Geocoder 3.3.x.
- namespace to
Geocoder\Laravel\.... - service provider to auto-load the facade.
- config file format.
- geocoding commands necessary to obtain results (must use
->all(),->get(), or->dump()) after the respective command. - the service provider architecture.
Fixed
- MaxMindBinary Provider being instantiated with an Adapter #24.
- GeoIP2 Provider being instantiated with a generic Adapter.
-
0.6.010 Jul 2015Nothing published for this version
-
0.5.011 Mar 2015Release notes
Open source →Added
- code of conduct message.
- Laravel 5 compatibility [BC].
Updated
- documentation.
-
0.4.123 Jun 2014 -
0.4.013 May 2014 -
0.3.012 May 2014 -
0.2.016 Nov 2013Release notes
Open source →Added
- config file.
Updated
- to use Geocoder 2.3.x.
- to use singleton instead of share.
- tests.