PackageTrack
Sign in Get early access

longitude-one/geo-parser

Parser for geography coordinate strings

3.0.4 914K downloads/mo #2581 most downloaded on Packagist longitude-one/geo-parser

What this package is like to depend on

Last release today

23 Aug 2026

Ships unpredictably

gaps range from 9 days to 2.2 years

Most releases are documented

notes for 6 of 9 stable releases

Nothing withdrawn

no release was ever pulled

2 years old

12 releases · first in 2024

6 releases in the last 12 months

see the full history below

Release timeline

12 releases · Mar 2024 to Aug 2026
2025 2026
Release Pre-release

Releases

latest 12
  1. 4.0.0-RC.2 15 Aug 2026 pre-release
    Release notes

    4.0.0-RC.2 (2026-08-15)

    ⚠ BREAKING CHANGES

    • Namespace LongitudeOne/Geo/String renamed to LongitudeOne/GeoParser
    • PHP8.1 and 8.2 no more supported
    • Parser: Native integer and float inputs are now returned unchanged instead of being normalized by the lexer. This preserves their values and types but may affect callers that rely on implicit conversion or parser validation.
    Open source →
  2. 4.0.0-RC.1 08 Aug 2026 pre-release
    Release notes

    4.0.0-RC.1 (2026-08-08)

    ⚠️ BREAKING CHANGES

    • PHP8.1 and 8.2 no more supported
    • Parser: Native integer and float inputs are now returned unchanged instead of being normalized by the lexer. This preserves their values and types but may affect callers that rely on implicit conversion or parser validation.

    ✨ New Features

    • Add strict types declaration to all files (7be229c)
    • Add unit tests for Angle, Cardinal, Parser, and TokenStream classes (9493d6a)
    • Introduce LogicException for handling logic errors in the GeoParser (2dc0057)
    • Parser: Return native numeric inputs directly. (7c7c04f)
    • Refactor Parser class to streamline input handling and parsing logic (947a5b1)

    🐛 Bug Fixes

    • add input validation in Parser constructor and corresponding test (8e7b08d)

    ♻️ Refactoring

    • enhance symbol matching logic and coordinate handling in Parser class (97a9d2a)
    • improve handling of space-separated coordinate pairs in Parser class (854d1a3)
    • simplify symbol matching logic in Parser class (e462dbf)
    • streamline cardinal direction handling in Parser class (6bf081f)
    • update minutes and seconds methods to return float values and normalize fractions (e324539)

    📚 Documentation

    • Update contributing guidelines and enhance quality tool commands (2669781)

    🌳 Environmental Impact

    • ci: reduce cache storage (cc0beeb)

    👷 CI/CD

    • correct composer cache directory command in CI workflow (cf8e898)
    • update CI workflow to conditionally run full CI based on open pull requests (689d8ff)
    • update composer require command to use caret versioning for lexer dependency (926c401)
    • update output setting for Composer cache directory in CI workflow (ff61117)

    🔧 Maintenance

    • add a script to use php-xs-fixer (c7414cb)
    • release: v4.0.0-RC.0 🎉 (53d12d1)
    • update headers (67c68c4)
    • Update PHP version requirement to ^8.3 and adjust doctrine/lexer dependency (86be558)

    📊​ Quality tools

    • Clean up PHPStan baseline by removing outdated ignore errors (d80aa7b)
    • exclude TooManyPublicMethods rule in code size checks for tests (8b03143)
    • Update PHP CS Fixer rules to include case statements in ordered class elements (c4544d7)
    • update project metadata in php-cs-fixer configuration file (190e316)

    📗​ PHPUnit tests

    • add regression tests for fractional coordinate components in FloatTest (499eba9)
    • PHPUnit version upgraded (ffa9cf1)
    Open source →
    Release notes

    ⚠ BREAKING CHANGES

    • PHP8.1 and 8.2 no more supported
    • Parser: Native integer and float inputs are now returned unchanged instead of being normalized by the lexer. This preserves their values and types but may affect callers that rely on implicit conversion or parser validation.

    ✨ New Features

    • Add strict types declaration to all files (7be229c)
    • Add unit tests for Angle, Cardinal, Parser, and TokenStream classes (9493d6a)
    • Introduce LogicException for handling logic errors in the GeoParser (2dc0057)
    • Parser: Return native numeric inputs directly. (7c7c04f)
    • Refactor Parser class to streamline input handling and parsing logic (947a5b1)

    🐛 Bug Fixes

    • add input validation in Parser constructor and corresponding test (8e7b08d)

    ♻️ Refactoring

    • enhance symbol matching logic and coordinate handling in Parser class (97a9d2a)
    • improve handling of space-separated coordinate pairs in Parser class (854d1a3)
    • simplify symbol matching logic in Parser class (e462dbf)
    • streamline cardinal direction handling in Parser class (6bf081f)
    • update minutes and seconds methods to return float values and normalize fractions (e324539)

    📚 Documentation

    • Update contributing guidelines and enhance quality tool commands (2669781)

    🌳 Environmental Impact

    • ci: reduce cache storage (cc0beeb)

    👷 CI/CD

    • correct composer cache directory command in CI workflow (cf8e898)
    • update CI workflow to conditionally run full CI based on open pull requests (689d8ff)
    • update composer require command to use caret versioning for lexer dependency (926c401)
    • update output setting for Composer cache directory in CI workflow (ff61117)

    🔧 Maintenance

    • add a script to use php-xs-fixer (c7414cb)
    • release: v4.0.0-RC.0 🎉 (53d12d1)
    • update headers (67c68c4)
    • Update PHP version requirement to ^8.3 and adjust doctrine/lexer dependency (86be558)

    📊​ Quality tools

    • Clean up PHPStan baseline by removing outdated ignore errors (d80aa7b)
    • exclude TooManyPublicMethods rule in code size checks for tests (8b03143)
    • Update PHP CS Fixer rules to include case statements in ordered class elements (c4544d7)
    • update project metadata in php-cs-fixer configuration file (190e316)

    📗​ PHPUnit tests

    • add regression tests for fractional coordinate components in FloatTest (499eba9)
    • PHPUnit version upgraded (ffa9cf1)
    Open source →
  3. 4.0.0-RC.0 07 Aug 2026 pre-release
    Release notes

    Version 4.0.0-RC.0 (2026-08-07)

    ⚠ BREAKING CHANGES

    • PHP8.1 and 8.2 no more supported

    🐛 Bug Fixes

    • add input validation in Parser constructor and corresponding test (8e7b08d)

    ♻️ Refactoring

    • enhance symbol matching logic and coordinate handling in Parser class (97a9d2a)
    • improve handling of space-separated coordinate pairs in Parser class (854d1a3)
    • simplify symbol matching logic in Parser class (e462dbf)
    • streamline cardinal direction handling in Parser class (6bf081f)
    • update minutes and seconds methods to return float values and normalize fractions (e324539)

    🌳 Environmental Impact

    • ci: reduce cache storage (cc0beeb)

    👷 CI/CD

    • correct composer cache directory command in CI workflow (cf8e898)
    • update CI workflow to conditionally run full CI based on open pull requests (689d8ff)
    • update composer require command to use caret versioning for lexer dependency (926c401)
    • update output setting for Composer cache directory in CI workflow (ff61117)

    🔧 Maintenance

    • add a script to use php-xs-fixer (c7414cb)
    • update headers (67c68c4)
    • Update PHP version requirement to ^8.3 and adjust doctrine/lexer dependency (86be558)

    📊​ Quality tools

    • exclude TooManyPublicMethods rule in code size checks for tests (8b03143)
    • update project metadata in php-cs-fixer configuration file (190e316)

    📗​ PHPUnit tests

    • add regression tests for fractional coordinate components in FloatTest (499eba9)
    • PHPUnit version upgraded (ffa9cf1)
    Open source →
    Release notes

    ⚠ BREAKING CHANGES

    • PHP8.1 and 8.2 no more supported

    🐛 Bug Fixes

    • add input validation in Parser constructor and corresponding test (8e7b08d)

    ♻️ Refactoring

    • enhance symbol matching logic and coordinate handling in Parser class (97a9d2a)
    • improve handling of space-separated coordinate pairs in Parser class (854d1a3)
    • simplify symbol matching logic in Parser class (e462dbf)
    • streamline cardinal direction handling in Parser class (6bf081f)
    • update minutes and seconds methods to return float values and normalize fractions (e324539)

    🌳 Environmental Impact

    • ci: reduce cache storage (cc0beeb)

    👷 CI/CD

    • correct composer cache directory command in CI workflow (cf8e898)
    • update CI workflow to conditionally run full CI based on open pull requests (689d8ff)
    • update composer require command to use caret versioning for lexer dependency (926c401)
    • update output setting for Composer cache directory in CI workflow (ff61117)

    🔧 Maintenance

    • add a script to use php-xs-fixer (c7414cb)
    • update headers (67c68c4)
    • Update PHP version requirement to ^8.3 and adjust doctrine/lexer dependency (86be558)

    📊​ Quality tools

    • exclude TooManyPublicMethods rule in code size checks for tests (8b03143)
    • update project metadata in php-cs-fixer configuration file (190e316)

    📗​ PHPUnit tests

    • add regression tests for fractional coordinate components in FloatTest (499eba9)
    • PHPUnit version upgraded (ffa9cf1)
    Open source →
  4. 3.0.4 23 Aug 2026
    Release notes

    3.0.4 (2026-08-23)

    🐛 Bug Fixes

    • lexer: restore integer conversion for normalized decimal values (1f29090), closes #29

    👷 CI/CD

    • Remove deprecations on nodejs (d3b9ab5)
    Open source →
  5. 3.0.3 07 Aug 2026
    Release notes

    Change log 3.0.3 (2026-08-07)

    📚 Documentation

    • Update changelog and improve documentation clarity (012ed02)

    👷 CI/CD

    • Add '4-x-dev' branch to CI workflow triggers (303b3ca)
    Open source →
    Release notes

    📚 Documentation

    • Update changelog and improve documentation clarity (012ed02)

    👷 CI/CD

    • Add '4-x-dev' branch to CI workflow triggers (303b3ca)
    Open source →
  6. 3.0.2 06 Aug 2026
    Release notes

    3.0.2 (2026-08-06)

    🐛 Bug Fixes

    • quality errors found by upgraded PHP-Stan (088841e)
    • sanitize exception message values to prevent inflated messages injection (f97a790)

    📚 Documentation

    🌳 Environmental Impact

    • Decrease the package size (a2e912b)

    👷 CI/CD

    • add test with next lexer major version (c9a8678)
    • migration from coveralls to codecov (1a3923a)

    🔧 Maintenance

    • add missing emoji (52b899e)
    • create script-shorcuts for composer (5e25b49)
    • Dockerfile optimze installations of quality tools (e5e9ef1)
    • headers updated (e18454a)

    📊​ Quality tools

    • new tool : commit-and-tag-version (e48e43b)
    • PHP-STAN upgraded (83cf636)
    • update PHPMD ruleset name and adjust maximum method length allowed (85accad)

    📗​ PHPUnit tests

    Open source →
    Release notes

    🐛 Bug Fixes

    • Fix quality errors found by the upgraded PHPStan (088841e)
    • Sanitize exception message values to prevent inflated-message injection (f97a790)

    📚 Documentation

    • Report Lexer compatibility and test coverage (4706459)
    • Mention the Lexer version (c28e46c)
    • Add Markdown linting (94deaea)
    • Add a roadmap (6ab4aab)

    🌳 Environmental Impact

    👷 CI/CD

    • Add tests with the next major Lexer version (c9a8678)
    • Migrate from Coveralls to Codecov (1a3923a)

    🔧 Maintenance

    • Add a missing emoji (52b899e)
    • Create Composer script shortcuts (5e25b49)
    • Optimize Dockerfile installation of quality tools (e5e9ef1)
    • Update headers (e18454a)

    📊​ Quality tools

    • Add commit-and-tag-version (e48e43b)
    • Upgrade PHPStan (83cf636)
    • Update the PHPMD ruleset name and maximum permitted method length (85accad)

    📗​ PHPUnit tests

    Open source →
  7. 3.0.1 23 May 2024
    Release notes

    What's Changed

    Full Changelog: 3.0.0...3.0.1

    Open source →
    Release notes

    Fix

    • Fix "geo-parser miss some out-of-ranges" #22
    Open source →
  8. 3.0.0 27 Apr 2024
    Release notes

    What's Changed

    Full Changelog: 2.1.0...3.0.0

    Open source →
    Release notes

    Release Candidate compatible with doctrine/lexer:3.0.0

    Open source →
    Release notes

    Added

    • Docker support for development and testing.

    Changed

    • Namespaces are now PSR-4 compliant.
    • Namespaces are now LongitudeOne\Geo\Parser and LongitudeOne\Geo\Parser\Exception.
    • Updated README.md to reflect new namespaces.

    Removed

    • Support for PHP 5.*, 7.1, 7.2, 7.3.

    [2.2.1] - 2019-08-07

    Changed

    • Fix compatibility with doctrine/lexer 1.1.0. PR #18 by bcremer.

    [2.2.0] - 2019-08-06

    Added

    • Support for PHP 7.1 through 7.3

    Removed

    • Support for PHP earlier than 7.1

    [2.1.0] - 2016-05-03

    Added

    • Support for numbers in scientific notation.

    Changed

    • Parser constructor no longer requires a value, enabling instance reuse.
    • Lexer constructor no longer requires a value, enabling instance reuse.
    • Tests now use Composer autoload.
    • PHPUnit config XML now conforms to XSD.
    • Documentation updated with new usage pattern.
    • Move non-value comparison into if statement in Lexer::getType().
    • Test case and test data cleanup.

    Removed

    • The TestInit class is no longer needed.

    [2.0.0] - 2015-11-18

    Added

    • Change base namespace to CrEOF\Geo\String to avoid class collision with other CrEOF packages.

    [1.0.1] - 2015-11-17

    Added

    • Exclude fingerprint for Code Climate fixme engine to ignore "Stub TODO.md file." in changelog.

    Changed

    • Removed code for unused conditions in Parser error methods.
    • Removed case for token T_PERIOD in getType method of Lexer, it's not used in Parser.

    [1.0.0] - 2015-11-11

    Added

    • Change log file to chronicle changes.
    • Dependency on SPL extension to composer.json since the package exceptions extend them.
    • Stub TODO.md file.
    • CONTRIBUTING.md file with guidelines.
    • Travis CI config
    • Code Climate config
    • Add support for unicode prime and double prime.
    • Tests for uncovered parser branches.

    Changed

    • Use string compare instead of regex for cardinal direction.
    • Remove unneeded dependencies for PHPMD and PHPCS; Code Climate handles this.
    • Match seconds symbol with symbol().
    • Change property names in parser to more accurately indicate what they're for.
    Open source →
  9. 2.1.0 18 Mar 2024
    Release notes

    What's Changed

    • Parsing a float is now deprecated (provide a string instead) by @Alexandre-T in #7

    Full Changelog: 2.0.0...2.1.0

    Open source →
  10. 2.0.0 18 Mar 2024

    Nothing published for this version

  11. 1.0.0 13 Mar 2024

    Nothing published for this version

  12. 3.0.0.RC 24 Mar 2024

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive