PackageTrack
Sign in Get early access

clickbar/laravel-magellan

This package provides functionality for working with the postgis extension in Laravel.

2.2.0 1.0M downloads/mo #2728 most downloaded on Packagist clickbar/laravel-magellan

What this package is like to depend on

Last release 3 months ago

11 May 2026

Ships fairly regularly

a new release about every 3 months

Nearly every release is documented

notes for 20 of 20 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

20 releases · first in 2023

3 releases in the last 12 months

see the full history below

Release timeline

20 releases · Jan 2023 to May 2026
2024 2025 2026
Release Pre-release

Releases

latest 20
  1. 2.2.0 11 May 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 2.1.0...2.2.0

    Open source →
    Release notes

    Added

    • Added custom SRID support for Geojson parser and validation (GeojsonParser, TransformsGeojsonGeometry, GeometryGeojsonRule)
    Open source →
  2. 2.1.0 17 Mar 2026
    Release notes

    What's Changed

    Added

    • Added Laravel 13.x support
    • Added facades for parsers (WKBParser, WKTParser, GeojsonParser) and generators (WKBGenerator, WKTGenerator,
      GeojsonGenerator)

    Fixed

    • Fixed dirty comparison of Model attributes using the Geometry casts

    Full Changelog: 2.0.1...2.1.0

    Open source →
    Release notes

    Added

    • Added Laravel 13.x support
    • Added facades for parsers (WKBParser, WKTParser, GeojsonParser) and generators (WKBGenerator, WKTGenerator, GeojsonGenerator)

    Fixed

    • Fixed dirty comparison of Model attributes using the Geometry casts
    Open source →
  3. 2.0.1 13 Aug 2025
    Release notes

    What's Changed

    Fixed

    • Fixed using the casts after serialization, e.g. in queueable anonymous event listeners. (thanks @Henridv #149)

    New Contributors

    Thanks for fixing bugs, improving documentation and the project!

    Full Changelog: 2.0.0...2.0.1

    Open source →
    Release notes

    Fixed

    • Fixed using the casts after serialization, e.g. in queueable anonymous event listeners. (thanks @henridv #149)
    Open source →
  4. 2.0.0 19 Mar 2025
    Release notes

    What's Changed

    We are excited to finally release a huge overhaul on the DX with Laravel Magellan!

    Please check out the upgrade guide for more recommended steps.

    Breaking

    • Removed support for deprecated Laravel versions 9.x & 10.x
    • Require at least PHP 8.2
    • Removed the HasPostgisColumns trait & $postgisColumns property.
    • Removed GeometryWKBCast
    • Refactored BBoxCast to be generic & internal, please use Box subclasses directly
    • Removed automatic SRID transformation
    • Removed st prefixed builder functions (e.g. stSelect, stWhere, ...)
    • Removed GeometryType Enum
    • Renamed toString to toRawSql on Box classes
    • Removed Doctrine DBAL types & registration (was used for older Laravel versions)
    • GeometryGeojsonRule is not directly invokable anymore

    Added

    • Added Laravel 12 & PHP 8.4 support
    • Added Castable to all geometries to use them as casters, instead of the GeometryWKBCast
    • Added Castable to all boxes to use them as casters, instead of the BBoxCast
    • Added Aliased Expression class as wrapper for AS in query selects
      • Added ->as() helper method on MagellanBaseExpression
    • Added withMagellanCasts() as EloquentBuilder macro
    • Added AsGeometry and AsGeography database expressions
    • Added fromString() to Box classes to create a box from a string
    • Added Stringable interface to all box classes
    • Added JsonSerializable to Box2D and Box3D

    Improved

    • Validate the structure of Geometry coordinates to be an array in the GeojsonParser and fail if not
    • Use of ST functions directly in the Laravel default builder methods
    • Use of ST functions directly in Model::create array
    • Renamed parameters of ST functions that can receive geometry or geography from $geometry to $geometryOrGeography
    • Geometry & Box implements Expression and therefore can be used in ->select(...) directly now

    Fixed

    • Fixed only using default PHP string precision in Box toRawSql methods, now uses the maximum precision

    Removed

    • Removed magellan:update-postgis-columns command
    • Removed magellan.eloquent & magellan.model_directories configs

    New Contributors

    Full Changelog: 1.8.0...2.0.0

    Open source →
    Release notes

    Please check out the upgrade guide for more recommended steps.

    Breaking

    • Removed support for deprecated Laravel versions 9.x & 10.x
    • Require at least PHP 8.2
    • Removed the HasPostgisColumns trait & $postgisColumns property.
    • Removed GeometryWKBCast
    • Refactored BBoxCast to be generic & internal, please use Box subclasses directly
    • Removed automatic SRID transformation
    • Removed st prefixed builder functions (e.g. stSelect, stWhere, ...)
    • Removed GeometryType Enum
    • Renamed toString to toRawSql on Box classes
    • Removed Doctrine DBAL types & registration (was used for older Laravel versions)
    • GeometryGeojsonRule is not directly invokable anymore

    Added

    • Added Laravel 12 & PHP 8.4 support
    • Added Castable to all geometries to use them as casters, instead of the GeometryWKBCast
    • Added Castable to all boxes to use them as casters, instead of the BBoxCast
    • Added Aliased Expression class as wrapper for AS in query selects
      • Added ->as() helper method on MagellanBaseExpression
    • Added withMagellanCasts() as EloquentBuilder macro
    • Added AsGeometry and AsGeography database expressions
    • Added fromString() to Box classes to create a box from a string
    • Added Stringable interface to all box classes
    • Added JsonSerializable to Box2D and Box3D

    Improved

    • Validate the structure of Geometry coordinates to be an array in the GeojsonParser and fail if not
    • Use of ST functions directly in the Laravel default builder methods
    • Use of ST functions directly in Model::create array
    • Renamed parameters of ST functions that can receive geometry or geography from $geometry to $geometryOrGeography
    • Geometry & Box implements Expression and therefore can be used in ->select(...) directly now

    Fixed

    • Fixed only using default PHP string precision in Box toRawSql methods, now uses the maximum precision

    Removed

    • Removed magellan:update-postgis-columns command
    • Removed magellan.eloquent & magellan.model_directories configs
    Open source →
  5. 1.9.0 11 May 2026
    Release notes

    What's Changed

    Full Changelog: 1.8.0...1.9.0

    Open source →
  6. 1.8.0 25 Feb 2025
    Release notes

    What's Changed

    • Support for Laravel 12.x

    New Contributors

    Full Changelog: 1.7.1...1.8.0

    Open source →
    Release notes

    Added

    • Support for Laravel 12.x
    Open source →
  7. 1.7.1 03 Jan 2025
    Release notes

    Fixed

    • [1.x] Backport: Fix missing precision in WKT coordinates by @saibotk in #122

    Full Changelog: 1.7.0...1.7.1

    Open source →
    Release notes

    Fixed

    • Fixed only using a precision of 6 decimal digits in WKT, now uses the maximum precision
    Open source →
  8. 1.7.0 27 Dec 2024
    Release notes

    Added

    • PostGIS ST_LineSubstring support
    • PostGIS ST_LineFromEncodedPolyline support
    • PostGIS ST_LineLocatePoint support
    • Added ST::asGeoJson function to convert geometries to GeoJSON via the database

    Fixed

    • Fixed Expression types in SRID-related functions
    • Fixed missing schema prefix for generated SQL of first-level ST functions
    • Fixed numeric SRID queries in ST::transform and ST::setSRID (thanks @BezBIS #91)
    • Fixed ST::buffer & ST:offsetCurve: Correctly renamed styleMitreLevel to styleMitreLimit

    New Contributors

    Full Changelog: 1.6.1...1.7.0

    Open source →
    Release notes

    Added

    • PostGIS ST_LineSubstring support
    • PostGIS ST_LineFromEncodedPolyline support
    • PostGIS ST_LineLocatePoint support
    • Added ST::asGeoJson function to convert geometries to GeoJSON via the database

    Fixed

    • Fixed Expression types in SRID-related functions
    • Fixed missing schema prefix for generated SQL of first-level ST functions
    • Fixed numeric SRID queries in ST::transform and ST::setSRID (thanks @BezBIS #91)
    • Fixed ST::buffer & ST:offsetCurve: Correctly renamed styleMitreLevel to styleMitreLimit
    Open source →
  9. 1.6.1 08 Aug 2024
    Release notes

    Improved

    • Only override attribute preparation functions on models instead of performInsert or performUpdate entirely (thanks @RomainMazB #89)

    Fixed

    • Fixed geometries not being passed to model events (fixes #87) (thanks @RomainMazB #89)
    • Fixed not updating Point dimension when using setAltitude

    New Contributors

    Full Changelog: 1.6.0...1.6.1

    Open source →
    Release notes

    Improved

    • Only override attribute preparation functions on models instead of performInsert or performUpdate entirely (thanks @RomainMazB #89)

    Fixed

    • Fixed geometries not being passed to model events (fixes #87) (thanks @RomainMazB #89)
    Open source →
  10. 1.6.0 17 Mar 2024
    Release notes

    What's Changed

    • chore(deps): Update dependencies & spatie/invade by @saibotk in #79
    • chore: Laravel 11 support by @faytekin in #76

    New Contributors

    Full Changelog: 1.5.0...1.6.0

    Open source →
    Release notes

    Added

    • Laravel 11.x support

    Improved

    • Updated spatie/invade to v2, works without reflection now 🥳

    Fixed

    • Fixed not updating Point dimension when using setAltitude
    Open source →
  11. 1.5.0 19 Jan 2024
    Release notes

    Added

    • Added as parameter for stFrom function
    • Aligned stHaving with stWhere to also accept string column and ST expressions, boxes and geometries as value

    Fixed

    • Fixed builder macro docblocks to use FQDN for an issue within laravel-ide-helper
    • Fixed ST_PROJECT function not being migrated to the GeometryType enum.
    • Fixed model attribute equality checks for geometries, reduces unnecessary database updates (thanks @adamczykpiotr)
    Open source →
  12. 1.4.0 01 Jul 2023
    Release notes

    Improved

    • Added Typing for Box2D and Box3D in GeoParam allowing Box objects as params in Magellan Expressions
    • Added evaluation of parameters in stWhere in order to also allow magellan expressions in value and regular string, boxes or geometries in first parameter
    Open source →
  13. 1.3.0 28 Jun 2023
    Release notes

    Added

    • Added Missing Distance Relationships Functions (Fixes #46)

    Fixed

    • Fixed nullable handling in TransformsGeojsonGeometry trait (Fixes #37)
    Open source →
  14. 1.2.2 28 Mar 2023
    Release notes

    Fixed

    • Fixed missing handling of expressions in GeoParam
    Open source →
  15. 1.2.1 28 Mar 2023
    Release notes

    Fixed

    • Fixed generation of invalid FeatureCollection in case of zero database rows (thanks @djfhe)
    Open source →
  16. 1.2.0 02 Mar 2023
    Release notes

    Improved

    • Added config for geodetic SRIDs (most of the time WGS84 is sufficient, but there are much more geodetic SRIDs than 4326)

    Fixed

    • Fixed sql syntax error when trying to create magellanGeography (fixes #27, thanks @tanabi)
    • Fix getValue calls on Expressions in Laravel 10
    Open source →
  17. 1.1.0 07 Feb 2023
    Release notes

    Added

    • Laravel 10 support
    • PHP 8.2 support

    Improved

    • Optional geometry type param for ST_Buffer enabling easier control about metric buffering

    Fixed

    • Typing bug when trying to use a Closure as Geoparam
    Open source →
  18. 1.0.2 05 Jan 2023
    Release notes

    Fixed

    • Fix some ST functions not being migrated to the GeometryType enum.
    Open source →
  19. 1.0.1 05 Jan 2023
    Release notes

    Fixed

    • Fix bindings being wrongly converted to SQL function statements, eg. in query()->update() calls.
    Open source →
  20. 1.0.0 04 Jan 2023
    Release notes
    • Initial Release 🎉
    Open source →

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