Skip to content

0.12.0

Choose a tag to compare

@BenMorel BenMorel released this 09 Mar 22:47

πŸ’₯ Breaking changes

  • Interface GeometryEngine has 2 new methods: lineInterpolatePoint(), lineInterpolatePoints()
  • BoundingBox's constructor is now private, use BoundingBox::new() to create a new instance
  • CompoundCurve can now only contain LineString and CircularString instances; nested CompoundCurve instances are forbidden
  • Geometry no longer implements Countable and IteratorAggregate; subclasses implement these interfaces as needed, with proper types
  • The SQLite3Exception class has been removed
  • The GeometryEngineException::operationNotSupportedByEngine() method has been removed
  • The following classes are now final:
    • BoundingBox
    • CoordinateSystem
    • engines:
      • GEOSEngine
      • PDOEngine
      • SQLite3Engine
    • exceptions:
      • CoordinateSystemException
      • EmptyGeometryException
      • GeometryEngineException
      • GeometryIOException
      • InvalidGeometryException
      • NoSuchGeometryException
      • UnexpectedGeometryException
    • input/output:
      • EWKBReader
      • EWKBWriter
      • EWKTReader
      • EWKTWriter
      • GeoJSONReader
      • GeoJSONWriter
      • WKBReader
      • WKBWriter
      • WKTReader
      • WKTWriter
  • The following classes are marked as @internal, and are no longer part of the public API:
    • Attribute\NoProxy
    • Engine\GeometryParameter
    • IO\AbstractWKBReader
    • IO\AbstractWKBWriter
    • IO\AbstractWKTReader
    • IO\AbstractWKTWriter
    • IO\EWKBTools
    • IO\EWKTParser
    • IO\WKBBuffer
    • IO\WKBByteOrder
    • IO\WKBGeometryHeader
    • IO\WKBTools
    • IO\WKTParser

πŸ—‘οΈ Deprecations

  • The following classes are marked as @final, and will be made final in a future version:
    • CircularString
    • CompoundCurve
    • CurvePolygon
    • LineString
    • MultiLineString
    • MultiPoint
    • MultiPolygon
    • Point
    • TIN
    • Triangle

✨ New features

  • New engine methods: GeometryEngine::lineInterpolatePoint(), lineInterpolatePoints() (#55 by @arminwinkt)

✨ Improvements

  • Improved documentation and return types for Geometry::toArray() methods
  • PDOEngine and SQLite3Engine now wrap all underlying exceptions in a GeometryEngineException
  • When an engine exception occurs, GeometryEngineException now includes the original exception message