Functionality Improvements
- Improve GeometryFixer behaviour for holes outside polygons (#772)
- Add ConstrainedDelaunayTriangulator and PolygonTriangulator (#775)
- Add Tri data structure for representing triangulations (#775)
- Simplify and fix logic of BufferParameters.setQuadSegs (#778)
- Improve KdTree query code to avoid recursion (#779)
- Add KdTree seeding toSnappingNoder (#780)
- Add DiscreteFrechetDistance (#764, #783)
- Add GeometryFixer option to preserve Multi geometry types when collapses occur (#791)
- Make QuadTree thread-safe (#792)
- Allow specifying a fixed PrecisionModel via grid size (#804)
- Add OffsetCurve class (#810, #816)
- Add ConcaveHull class for points (#823, #829)
- Improve Densifier to interpolate Z values (#835)
- Add support for GeoJSON Feature and FeatureCollection types (#837)
- Add WKTReader.setFixStructure to fix WKT input (#848)
- Add PolygonHull class (#861)
Bug Fixes
- Fix WKTReader geometry typename parsing (#786)
- Fix CoordinateArrays.reverse to handle zero-length arrays #787
- Fix GeometryFixer to appply isKeepCollapsed flag to GeometryCollection elements (#790)
- Fix RectangleIntersects to handle XYZM geometry (#794)
- Fix various operations to handle XYZM geometry (#795)
- Fix SnapRoundingNoder to use tolerance in noding (also fixes GeometryPrecisionReducer) (#802)
- Fix MaximumInscribedCircle to avoid infinite-looping on flat collapsed input (#807)
- Add OverlayNG result area heuristic check (#812)
- Fix the buffers generated for mitred joins (#818)
- Fix WKTReader to produce correct XY coordinate dimension for POLYGON EMPTY (#828)
- Fix RelateOp for a snapped line boundary point (#839)
- Fix IsValidOp for repeated node points (#845)
- Fix IsSimpleOp for repeated endpoints (#851)