Changes in 2.2.0 - Performance improvement in OverlayOp::insertUniqueEdge() - CoordinateSequence copy removal in EdgeRing - Minor memory allocation improvements - Higher dimensions interface for CoordinateSequence - Added getCoordinatesRO for Point class - NEW WKB IO - NEW Simplified and stabler C API Changes in 2.1.4 - Severe BUGFIX in BufferSubgraphGT and other functions used as StrictWeakOrdering predicates for sort() Changes in 2.1.3 - win32/mingw build support - Segfault fix in LinearRing and LineString constructors - Segfault fix in Polygonizer - XMLTester installed by default - XMLTester code cleanup - Fixed handling of collection input in GeometryFactory::buildGeometry - Added shortcircuit test for Union operation - Reduced useless Coordinate copies in CGAlgorithms::isPointInRing() - Performance improvements in CGAlgorithms::isOnLine() - Other minor performance improvements - New Node::isIncidentEdgeInResult() method - OverlayOp's PointBuilder performance improvement by reduction of LineIntersector calls. - Optimizations in Buffer operation - Severe BUGFIX in DepthSegmentLT as suggested by Graeme Hiebert Changes in 2.1.2 - Segfault fix in Point::isEmpty - Mem Leak fix in OffsetCurveBuilder::getRingCurve - Bugfix in LineSegment::reverse - Added multipolygon buffering test in source/test/testLeaksBig - Ported JTS robustness patch for RobustLineIntersector - Removed useless Coordinate copies in OverlayOp::mergeZ() - Avoided throws by IsValid on invalid input - Stricter C++ syntax (math.h=>cmath, ieeefp.h in "C" block, ostringstream instead of sprintf) - Better support for older compilers (Polygonizer::LineStringAdder friendship) - Removed useless Coordinate copies in CGAlgorithms::isOnLine() - Added support for polygonize and parametrized buffer tests in XMLTester - Fixed support for --includedir and --libdir - Fixed Z interpolation in LineIntersector - Handled NULL results from getCentroid() in XMLTester - Segfault fix in (EMPTY)Geometry::getCentroid() - Made polygon::getBoundary() always OGC-valid (no LinearRings) - Input checking and promoting in GeometryFactory::createMultiLineString() - Segfault fix in GeometryEditor::editPolygon() Changes in 2.1.1 - Fixed uninitialized Coordinate in TopologyException - Added install of version.h, platform.h and timeval.h - Memleak fix in PolygonizeGraph - Memleak fix in OverlayOp - Compiler warnings removal - Cleaner w32 build - Z interpolation in overlay operations - Debian package build scripts Changes in 2.1.0 - Added Polygonizer and LineMerger classes. - python wrapper examples - General cleanup / warnings removal - cleaner win32 / older copilers builds - Reduced heap allocations - debian package builder scripts - reduction of standard C lib headers dependency - Z support in overlay operations. Changes in 2.0.0 - CoordinateList renamed to CoordinateSequence, BasicCoordinateList renamed to DefaultCoordinateSequence to reflect JTS changes. DefaultCoordinateSequenceFactory and CoordinateSequenceFactory got same interface as JTS. - Added geos/version.h defining versioning infos - Added geos.h for quick inclusion. It will include geos/geom.h, new geos/version.h, geos/util.h geos/io.h and geos/unload.h (geometry input/output, exceptions, operations). - Added a geos::version() function showing GEOS and equivalent JTS versions as strings. - All geometry constructors take ownership of given arguments. GeometryFactory provides pass-by-reference geometry creators to take care of a deep-copy. - GeometryFactory::createMultiPoint(const CoordinateList *) has been renamed to GeometryFactory::createMultiPoint(const CoordinateList &) to reflect copy semantic - GeometryFactory: EMPTY geometry creation do now have their own constructors taking no arguments. - Geometry constructors taking PrecisionModel and SRID have been dropped. You have to use GeometryFactory instead. - WKTWriter default constructor has been dropped. You need to initialize it with an explicit GeometryFactory