Skip to content

0.8.0

Compare
Choose a tag to compare
@BenMorel BenMorel released this 10 Oct 22:00
· 69 commits to master since this release

💥 Breaking changes

Minimum PHP version is now 8.0.

The global GeometryEngineRegistry is gone. All convenience methods that rely on the GeometryEngineRegistry have been removed.
You should now explicitly call the GeometryEngine, that you can get injected with your dependency injection container.

For example, the following call:

$lineString->length();

Should be replaced with:

$geometryEngine->length($lineString);

Detail of breaking changes

The following class has been removed:

  • GeometryEngineRegistry

The following method has been added:

  • GeometryEngine::isRing()

The following method signatures have been changed:

  • GeometryEngine::boundingPolygons()

The following deprecated methods have been removed:

  • Curve::isClosed()
  • Curve::isRing()
  • Curve::length()
  • Geometry::boundary()
  • Geometry::buffer()
  • Geometry::centroid()
  • Geometry::contains()
  • Geometry::convexHull()
  • Geometry::crosses()
  • Geometry::difference()
  • Geometry::disjoint()
  • Geometry::distance()
  • Geometry::equals()
  • Geometry::envelope()
  • Geometry::intersection()
  • Geometry::intersects()
  • Geometry::isSimple()
  • Geometry::isValid()
  • Geometry::locateAlong()
  • Geometry::locateBetween()
  • Geometry::maxDistance()
  • Geometry::overlaps()
  • Geometry::relate()
  • Geometry::simplify()
  • Geometry::snapToGrid()
  • Geometry::symDifference()
  • Geometry::touches()
  • Geometry::transform()
  • Geometry::union()
  • Geometry::within()
  • MultiCurve::isClosed()
  • MultiCurve::length()
  • MultiSurface::area()
  • MultiSurface::pointOnSurface()
  • Point::azimuth()
  • PolyhedralSurface::boundingPolygons()
  • PolyhedralSurface::isClosed()
  • Surface::area()
  • Surface::pointOnSurface()

The following change only affects you if you implement a custom DatabaseEngine:

  • The signature of DatabaseEngine::getParameterPlaceholder() has changed

💥 Non-breaking changes

  • The following signatures have changed, but are not a breaking change due to LSP:
    • DatabaseEngine::getParameterPlaceholder(mixed $parameter): string
    • GeometryEngine::length(Curve|MultiCurve $g): float
    • GeometryEngine::area(Surface|MultiSurface $g): float
    • GeometryEngine::pointOnSurface(Surface|MultiSurface $g): Geometry

🐛 Fixes

  • Fixed a potential bug when destructuring associative arrays in Geometry class constructors