simplefeatures v0.32.0 Release Notes

  • 2021-09-08

    ๐Ÿš€ Special thanks to Albert Teoh for contributing to this release.

    • ๐Ÿ’ฅ Breaking change: Consolidates MultiPoint constructors and simplifies MultiPoint internal representation. Removes the BitSet type, previously used for MultiPoint construction. Removes the NewMultiPointFromPoints and NewMultiPointWithEmptyMask functions. Modifies the NewMultiPoint function to accept a slice of Points rather than a Sequence.

    • ๐Ÿ’ฅ Breaking change: Consolidates Point construction. Removes the NewPointFromXY function. It is replaced by a new AsPoint method on the XY type.

    • ๐Ÿ”จ Refactors internal test helpers.

    • โž• Adds linting to CI using golangci-lint.

    • ๐Ÿ’ฅ Breaking change: Renames geometry constructors for consistency. NewPolygonFromRings is renamed to NewPolygon. NewMultiLineStringFromLineStrings is renamed to NewMultiLineString. NewMultiPolygonFromPolygons is renamed to NewMultiPolygon.

    • ๐Ÿ’ฅ Breaking change: Adds checks for anomalous float64 values (NaN and +/- infinity) during geometry construction.

      • The NewPoint function now returns (Point, error) rather than Point. The returned error is non-nil when the inputs contain anomalous values.
      • The NewLineString function's signature doesn't change, but now returns a non-nil error if the input Sequence contains anomalous values.
      • The OmitInvalid constructor option now has implications when constructing Point and MultiPoint types.
      • The NewEnvelope function now returns (Envelope, error) rather than Envelope. The returned error is non-nil when when the input XYs contain anomalous values.
      • The Envelope type's ExtendToIncludePoint method is renamed to ExtendToIncludeXY (better matching its argument type). It now returns (Envelope, erorr) rather than Envelope. The returned error is non-nil if the inputs contain any anomalous values.
      • The Envelope type's ExpandBy method is removed due to its limited utility and complex interactions with anomalous values.