league/geotools
Geo-related tools PHP 7.3+ library
1.3.1
5.7M downloads/mo
#2438 most downloaded on Packagist
thephpleague/geotools
What this package is like to depend on
Last release 5 months ago
18 Mar 2026
Ships fairly regularly
a new release about every 12 months
Nearly every release is documented
notes for 35 of 35 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
35 releases · first in 2013
1 release in the last 12 months
see the full history below
Release timeline
35 releases · Feb 2013 to Mar 2026
2014
2016
2018
2020
2022
2024
2026
Releases
latest 35-
1.3.118 Mar 2026Release notes
Open source → -
1.3.012 Jun 2025Release notes
Open source →What's Changed
- Support for PHP 8.4 by @batyrmastyr in #194
New Contributors
- @batyrmastyr made their first contribution in #194
Full Changelog: 1.2.0...1.3.0
-
1.2.014 Mar 2024Release notes
Open source →What's Changed
- PHP 8.2 CI support by @phpfui in #184
- Add support for Symfony 7/Laravel 11 by @dwightwatson in #188
- OpenStreetMap typo fixed #187. by @Surfoo in #189
- Ability to receive codes of neighboring points by @OleksandrWebLab in #185
New Contributors
- @dwightwatson made their first contribution in #188
- @OleksandrWebLab made their first contribution in #185
Full Changelog: 1.1.0...1.2.0
Release notes
Open source →Fixed
- PHP 8.2 CI support by @phpfui in #184
- Add support for Symfony 7/Laravel 11 by @dwightwatson in #188
- OpenStreetMap typo fixed #187. by @Surfoo in #189
- Ability to receive codes of neighboring points by @OleksandrWebLab in #185
-
1.1.026 Oct 2022Release notes
Open source →Fixed
- Suppressed of deprecation warnings
- increased precision in calculation
- Compatility with different locales
Release notes
Open source →Fixed
- Suppressed of deprecation warnings
- increased precision in calculation
- Compatility with different locales
-
1.0.011 Feb 2022Release notes
Open source →Fixed
- greatCircle calculator returned NAN #159
- Suppressed deprecation warning for JsonSerializable in PHP 8.1 #167
- Added floor on implicit float to in conversion #166
- Haversine distance calculation #158
Added
- New coordinate format "Degree Decimal Minutes" available with
toDegreeDecimalMinutes()[BC break] - Support PHP 8.1
- Support Symfony 6, removed Symfony 3.4
Change
- Increased precision of
initialBearing()andfinalBearing()
Release notes
Open source →Fixed
- greatCircle calculator returned NAN #159
- Suppressed deprecation warning for JsonSerializable in PHP 8.1 #167
- Added floor on implicit float to in conversion #166
- Haversine distance calculation #158
Added
- New coordinate format "Degree Decimal Minutes" available with
toDegreeDecimalMinutes()[BC break] - Support PHP 8.1
- Support Symfony 6, removed Symfony 3.4
Change
- Increased precision of
initialBearing()andfinalBearing()
-
0.8.307 Jul 2021Release notes
Open source →0.8.3
Fixed
- Fix incompatibility with PHP >= 7.4 by saving longitude and latitude as a string
Changed
- Use react/event-loop: 1.0
Release notes
Open source →Fixed
- Fix incompatibility with PHP >= 7.4 by saving longitude and latitude as a string
Changed
- Use react/event-loop: 1.0
-
0.8.202 Feb 2021Release notes
Open source →Fixed
- Fix namespace issue when creating provider class name
- PHPUnit deprecations
Changed
- Supported PHP versions >= 7.3
- PHPUnit 8.5
-
0.8.130 Jan 2020 -
0.8.022 Feb 2018Release notes
Open source →Added
- We use
willdurand/geocoder4. - Add a method to vertex to compute the determinant with another vertex
ArrayCollection::mergeBoundingBox::mergeBoundingBoxInterface::mergeBoundingBoxInterface::getAsPolygon- Added abstract class
GeometryCollection - Added
GeometryInterface - Added
MultiPolygon
Changes
- Renamed
BoundingBox::getPolygontoBoundingBox::getAsPolygon PolygonInterfaceextendsGeometryInterface
Fixed
- Decimal-Degrees parser from Decimal-Minutes
Removed
- Removed
AbstractGeotoolsclass in favor ofCoordinateCouple. Also added constants toGeotoolsInterface. - Our HTTP layer in favor of HTTPlug
- Our cache layer in favor of PSR-6
- We use
-
0.7.003 Feb 2016Release notes
Open source →- [BC break] Updated:
Pointis nowVertexeverywhere - Updated: use
Predis1.0 version - Updated: tests against PHP7
- Updated: documentation and badges
- Added: allow Symfony console, property-access and serializer ~3.0
Thanks to all contributors!
Release notes
Open source →- Updated:
Pointis nowVertex[BC break] - Updated: use
Predis1.0 version - Updated: tests against PHP7
- Updated: documentation and badges
- Added: allow Symfony console, property-access and serializer ~3.0
- [BC break] Updated:
-
0.6.011 Oct 2015Release notes
Open source →- Fixed: cache layer: Redis, Memcached and MongoDB
- Added: cache possibility in CLI
- Added: 10:10 algorithm
- Updated: symfony console, serializer and property-access to ~2.7
-
0.5.010 Oct 2015Release notes
Open source →- Updated: use Geocoder 3.2.x
- Added: Polygon class
- Added: Bounding box class
- Fixed: division by zero in vincenty algorithm
- Dropped: PHP 5.3 and stub to JsonSerializable
- Updated: switch from async to promise
- Updated: documentation
- Added: code of conduct
-
0.4.030 Jul 2014 -
0.3.315 May 2014Release notes
Open source →- Fixed: HHVM compatible tested on
HipHop VM 3.1.0-dev+2014.05.15 - Added: falling tests in Distance with same coordinates (@kornrunner)
- Fixed: division by zero in computing distance between 2 identical coordinates (@kornrunner)
- Added:
setFromStringmethod to create and modify coordinate + doc - fix #31 - Fixed: coordinate parsing issue
- Fixed: HHVM compatible tested on
-
0.3.215 Mar 2014Release notes
Open source →- Updated: geotools CLI moved in bin folder
- Updated: use Geocoder 2.4.x
- Added: great circle formula and CLI + tests
- Added: test against php 5.6
- Updated: repo name
- Added: coverage and scrutinizer-ci badges
- Updated: organisation name
- Added: test against HHVM
-
0.3.116 Nov 2013Release notes
Open source →- Updated: use Geocoder 2.3.x
- Updated: use SensioLabs Insight
- Updated: documentation
- Fixed: travis, packagist and sensiolabs insight badges
- Fixed: tests
-
0.3.019 Jul 2013Release notes
Open source →- Updated: loep (The League of Extraordinary Packages) is now owner
- Updated: use Geocoder 2.0.0
-
0.2.403 May 2013Release notes
Open source →- Updated: made it working with Geocoder 1.5.0
- Updated: integration with frameworks in features list
- Added: integration with Silex
- Added: integration with frameworks
- Updated: Contribution doc
- Added: memcached and mongo extensions to travis-ci
- Added: mongodb service to travis-ci
- Added: expire to Memcached cache - fix #26
- Added: expire to Redis cache + test - fix #26
-
0.2.329 Mar 2013Release notes
Open source →- Updated: MongoDB test coverage
- Added: Memcached cache test - fix #22
- Refactored: Redis and MongoDB caches tests
- Added: MongoDB cache test - fix #22
- Added: Redis cache test - fix #22
- Added: Memcached cache - fix #24
-
0.2.226 Mar 2013Release notes
Open source →- Added: Redis cache - fix #23
- Updated: MongoDB cache search by key
- Fixed: MangoDB cache
- Updated: doc with try .. catch bloc
- Fixed: Batch test for php 5.3
- Added: Cache interface + mongoDB - fix #2
- Refactored: Point test
-
0.2.116 Mar 2013Release notes
Open source →- Added: arcgis_online provider
- Merge branch 'BatchImproved'
- Fixed: batched result object embed provider's name, query and exception string - fix #6
- Added: Geocoder dev-master as require-dev
- Fixed: CLI tests
-
0.2.012 Mar 2013Release notes
Open source →- Fixed: empty ellipsoid name throws an exception now
- Added: Ellipsoid support to Point, Convert and Distance CLI - fix #7
- Added: Ellipsoid support to Point CLI
- Added: Ellipsoid support to Distance CLI
- Added: Ellipsoid support to Convert CLI
- Added: TomTom provier to CLI - fix #14
- Changed: mile parameter to mi in Distance to be more consistent [BC break]
-
0.1.1208 Mar 2013Release notes
Open source →- Added: command exemples and refactoring
- Added: help to geocoding and reverse geocoding CLI
- Fixed: homepage in composer.json
- Updated: doc and composer.json
- Fixed: php warning in CLI on wrong providers constuction arguments
- Updated: list of contributors
- Updated: geohash doc
-
0.1.1105 Mar 2013Release notes
Open source →- Added: international feet unit to CLI + test - fix #10
- Updated: relative links to absolute ones
- Added: ip_geo_base and baidu as CLI providers - fix #8
- Fixed: feet unit + test
- Added International Feet as a unit
- Added a bunch of tests.
-
0.1.1027 Feb 2013Release notes
Open source →- Added: support of different ellipsoid + doc + tests - fix #5
- Refactored: Doc + CLI commands + tests
- Improved: geocoder:geocode and geocoder:reverse CLI + tests
- Added: lowerize() method using mbstring extension
-
0.1.924 Feb 2013Release notes
Open source →- Added: dumper option to geocoder:geocode CLI + test
- Fixed: composer.json
- Added: cURL requirement for tests and CLI
- Removed: old files
- Fixed: finalCardinal() into CLI + test
-
0.1.821 Feb 2013Release notes
Open source →- Refactored: getAdapter and getProvider in CLI
- Added: CLI for Geocoder class + tests
- Added: CLI for Geocoder class + tests
- Updated: composer installation info
- Added: logo to CLI
- Fixed: travis-ci config
- Added: finalBearing() to CLI + test
- Added: finalCardinal() method + test
- Updated: cardinal() method to initialCardinal() [BC break]
- Added: finalBearing() + test
- Renamed: bearing() method to initialBearing() [BC break]
-
0.1.720 Feb 2013Release notes
Open source →- Added: CLI for Convert class + tests
- Added: CLI for Geohash class + tests
- Updated: doc with internal links
- Fixed: CLI include paths
-
0.1.620 Feb 2013Release notes
Open source →- Added: CLI for Distance and Point classes + tests
- Updated: phpunit bootstrap
- Updated: composer installation info
- Updated: Convert UTM zone exceptions are covered
- Updated: Point and Distance chainable logic and refactoring [BC break]
- Added: UTM conversion + tests + doc
- Updated: geodetic datum into doc
-
0.1.513 Feb 2013Release notes
Open source →- Added: Convert class, tests and doc
- Updated: doc about Coordinate class
- Updated: method visibility in Coordinate class
- Added: Coordinate class support different DMS coordinates
- Fixed: thrown message on invalid coordinate
- Fixed: typo calculate to compute
-
0.1.410 Feb 2013Release notes
Open source →- Updated: Batch class test
- Added: test to AbstractGeotools class
- Refactored: Batch tests
- Updated: doc with a better batch exemple
- Added: batch a set of values/coordinates againt a set of providers + tests
- Fixed: changelog list
-
0.1.309 Feb 2013Release notes
Open source →- Added: geohash ref to the doc
- Refactored: tests
- Added: Geohash class, tests and doc
- Added: normalize methods to Coordinate class
- Updated: Coordinate support string in its constructor
- Updated: Testcase's expects methods
- Updated: test to Batch class
- Refactored: Batch test class
- Updated: TestCase stub clases
-
0.1.208 Feb 2013Release notes
Open source →- Fixed: test to be compatible with PHP 5.3.x
- Added: test to Distance class
- Added: test to Batch class
- Added: test to Point class
- Updated: test to Getools class with a CoordinateInterface stub
- Updated: Contributing doc
- Updated: test to Geotools class
- Added: test to Coordinate class
- Added: test to Geotools class
-
0.1.106 Feb 2013 -
0.1.006 Feb 2013Release notes
Open source →- Added: Contributing doc
- Added: Travis-ci to the doc
- Added: stillmaintained.com to the doc
- Initial import