[geos] 02/08: Imported Upstream version 3.6.0

Bas Couwenberg sebastic at debian.org
Tue Oct 25 17:44:28 UTC 2016


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch experimental
in repository geos.

commit 392b0a95b7e1630faca624be749c7268a54d22a3
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Tue Oct 25 18:34:41 2016 +0200

    Imported Upstream version 3.6.0
---
 ._CMakeLists.txt                                   |   Bin 251 -> 0 bytes
 ._NEWS                                             |   Bin 250 -> 0 bytes
 ._configure.ac                                     |   Bin 247 -> 0 bytes
 CMakeLists.txt                                     |   134 +-
 ChangeLog                                          | 30059 ++++++++++++++-----
 Makefile.am                                        |     8 +-
 Makefile.in                                        |    13 +-
 NEWS                                               |    88 +-
 README                                             |   114 +-
 capi/._geos_c.h.in                                 |   Bin 253 -> 0 bytes
 capi/Makefile.in                                   |     4 +-
 capi/geos_c.cpp                                    |    64 +
 capi/geos_c.h                                      |   226 +-
 capi/geos_c.h.in                                   |   218 +-
 capi/geos_ts_c.cpp                                 |   716 +-
 config.guess                                       |    38 +-
 config.sub                                         |    26 +-
 configure                                          |   271 +-
 configure.ac                                       |    87 +-
 doc/Doxyfile                                       |     2 +-
 doc/Makefile.in                                    |     4 +-
 doc/example.cpp                                    |    16 +-
 geos_svn_revision.h                                |     2 +-
 include/Makefile.in                                |     4 +-
 include/geos/._version.h.vc                        |   Bin 210 -> 0 bytes
 include/geos/Makefile.in                           |     4 +-
 include/geos/algorithm/Makefile.in                 |     4 +-
 include/geos/algorithm/MinimumDiameter.h           |    45 +
 include/geos/algorithm/PointLocator.h              |     3 +
 include/geos/algorithm/SIRtreePointInRing.h        |     1 +
 include/geos/algorithm/distance/Makefile.in        |     4 +-
 include/geos/algorithm/locate/Makefile.in          |     4 +-
 include/geos/geom/BinaryOp.h                       |     4 +-
 include/geos/geom/Coordinate.h                     |    10 +-
 include/geos/geom/Geometry.h                       |    64 +-
 include/geos/geom/GeometryFactory.h                |   120 +-
 include/geos/geom/LineSegment.h                    |     4 +-
 include/geos/geom/LineString.h                     |    15 +-
 include/geos/geom/Makefile.in                      |     4 +-
 include/geos/geom/prep/Makefile.in                 |     4 +-
 include/geos/geom/util/Makefile.in                 |     4 +-
 include/geos/geomgraph/EdgeEnd.h                   |     4 +-
 include/geos/geomgraph/EdgeEndStar.h               |    11 +-
 include/geos/geomgraph/GeometryGraph.h             |    13 +
 include/geos/geomgraph/Makefile.in                 |     4 +-
 include/geos/geomgraph/index/Makefile.in           |     4 +-
 include/geos/geomgraph/index/SegmentIntersector.h  |    10 +
 .../geomgraph/index/SimpleMCSweepLineIntersector.h |     3 +-
 include/geos/index/Makefile.in                     |     4 +-
 include/geos/index/bintree/Makefile.in             |     4 +-
 include/geos/index/chain/Makefile.in               |     4 +-
 include/geos/index/intervalrtree/Makefile.in       |     4 +-
 include/geos/index/quadtree/Makefile.in            |     4 +-
 include/geos/index/strtree/BoundablePair.h         |   114 +
 include/geos/index/strtree/GeometryItemDistance.h  |    45 +
 include/geos/index/strtree/ItemDistance.h          |    44 +
 include/geos/index/strtree/Makefile.am             |     3 +
 include/geos/index/strtree/Makefile.in             |     7 +-
 include/geos/index/strtree/STRtree.h               |     7 +
 include/geos/index/sweepline/Makefile.in           |     4 +-
 include/geos/io/Makefile.in                        |     4 +-
 include/geos/linearref/Makefile.in                 |     4 +-
 include/geos/noding/Makefile.in                    |     4 +-
 include/geos/noding/snapround/Makefile.in          |     4 +-
 include/geos/operation/Makefile.in                 |     4 +-
 include/geos/operation/buffer/Makefile.in          |     4 +-
 include/geos/operation/distance/FacetSequence.h    |    66 +
 .../operation/distance/FacetSequenceTreeBuilder.h  |    52 +
 include/geos/operation/distance/Makefile.am        |     2 +
 include/geos/operation/distance/Makefile.in        |     6 +-
 include/geos/operation/intersection/Makefile.in    |     4 +-
 include/geos/operation/linemerge/Makefile.in       |     4 +-
 include/geos/operation/overlay/Makefile.in         |     4 +-
 .../operation/overlay/snap/LineStringSnapper.h     |     6 +-
 include/geos/operation/overlay/snap/Makefile.in    |     4 +-
 include/geos/operation/polygonize/Makefile.in      |     4 +-
 include/geos/operation/predicate/Makefile.in       |     4 +-
 include/geos/operation/relate/Makefile.in          |     4 +-
 include/geos/operation/sharedpaths/Makefile.in     |     4 +-
 include/geos/operation/union/Makefile.in           |     4 +-
 .../geos/operation/valid/ConnectedInteriorTester.h |     3 +-
 include/geos/operation/valid/Makefile.in           |     4 +-
 include/geos/planargraph/Makefile.in               |     4 +-
 include/geos/planargraph/algorithm/Makefile.in     |     4 +-
 include/geos/platform.h.cmake                      |     6 +
 include/geos/platform.h.in                         |     2 +-
 include/geos/precision/GeometryPrecisionReducer.h  |     3 +-
 include/geos/precision/Makefile.am                 |     1 +
 include/geos/precision/Makefile.in                 |     5 +-
 include/geos/precision/MinimumClearance.h          |    60 +
 include/geos/simplify/Makefile.in                  |     4 +-
 include/geos/timeval.h                             |    12 +
 include/geos/triangulate/Makefile.in               |     4 +-
 include/geos/triangulate/quadedge/Makefile.in      |     4 +-
 .../triangulate/quadedge/QuadEdgeSubdivision.h     |     2 +-
 include/geos/triangulate/quadedge/Vertex.h         |    16 +-
 include/geos/util/Makefile.in                      |     4 +-
 include/geos/version.h.vc                          |     4 +-
 install-sh                                         |    23 +-
 ltmain.sh                                          |    37 +-
 macros/._libtool.m4                                |   Bin 239 -> 0 bytes
 macros/._ltoptions.m4                              |   Bin 239 -> 0 bytes
 macros/._ltsugar.m4                                |   Bin 239 -> 0 bytes
 macros/._lt~obsolete.m4                            |   Bin 239 -> 0 bytes
 macros/Makefile.in                                 |     4 +-
 macros/libtool.m4                                  |    27 +-
 nmake.opt                                          |     6 +
 php/Makefile.am                                    |    62 -
 php/Makefile.in                                    |   885 -
 php/README                                         |    48 -
 php/TODO                                           |    11 -
 php/geos.c                                         |  2936 --
 php/php_geos.h                                     |    41 -
 php/test/Makefile.am                               |    52 -
 php/test/Makefile.in                               |   913 -
 php/test/crashme.php                               |    25 -
 php/test/test.php                                  |  2378 --
 src/CMakeLists.txt                                 |    52 +-
 src/Makefile.in                                    |     4 +-
 src/Makefile.vc                                    |    31 +-
 src/algorithm/CGAlgorithms.cpp                     |    12 +-
 src/algorithm/Centroid.cpp                         |    14 +-
 src/algorithm/LineIntersector.cpp                  |     2 +-
 src/algorithm/Makefile.in                          |     4 +-
 src/algorithm/MinimumDiameter.cpp                  |   140 +-
 src/algorithm/PointLocator.cpp                     |    19 +-
 src/algorithm/RobustDeterminant.cpp                |     3 +-
 src/algorithm/SIRtreePointInRing.cpp               |     5 +
 src/algorithm/distance/Makefile.in                 |     4 +-
 src/algorithm/locate/IndexedPointInAreaLocator.cpp |     4 +-
 src/algorithm/locate/Makefile.in                   |     4 +-
 src/geom/Coordinate.cpp                            |     6 +-
 src/geom/Geometry.cpp                              |    26 +-
 src/geom/GeometryFactory.cpp                       |    97 +-
 src/geom/LineSegment.cpp                           |     4 +-
 src/geom/Makefile.in                               |     4 +-
 src/geom/prep/Makefile.in                          |     4 +-
 src/geom/prep/PreparedPoint.cpp                    |     5 -
 src/geom/util/GeometryEditor.cpp                   |     8 +-
 src/geom/util/Makefile.in                          |     4 +-
 src/geomgraph/EdgeEnd.cpp                          |     2 +-
 src/geomgraph/EdgeEndStar.cpp                      |    38 +-
 src/geomgraph/GeometryGraph.cpp                    |    30 +-
 src/geomgraph/Makefile.in                          |     4 +-
 src/geomgraph/PlanarGraph.cpp                      |    22 +-
 src/geomgraph/index/Makefile.in                    |     4 +-
 src/geomgraph/index/SegmentIntersector.cpp         |    16 +
 .../index/SimpleMCSweepLineIntersector.cpp         |     4 +
 src/index/Makefile.in                              |     4 +-
 src/index/bintree/Makefile.in                      |     4 +-
 src/index/chain/Makefile.in                        |     4 +-
 src/index/intervalrtree/Makefile.in                |     4 +-
 src/index/quadtree/Makefile.in                     |     4 +-
 src/index/strtree/AbstractSTRtree.cpp              |     4 +-
 src/index/strtree/BoundablePair.cpp                |   109 +
 src/index/strtree/GeometryItemDistance.cpp         |    30 +
 src/index/strtree/Makefile.am                      |     4 +-
 src/index/strtree/Makefile.in                      |    13 +-
 src/index/strtree/STRtree.cpp                      |    86 +
 src/index/sweepline/Makefile.in                    |     4 +-
 src/io/Makefile.in                                 |     4 +-
 src/io/StringTokenizer.cpp                         |     1 +
 src/io/WKTWriter.cpp                               |     2 +-
 src/linearref/Makefile.in                          |     4 +-
 src/noding/Makefile.in                             |     4 +-
 src/noding/snapround/HotPixel.cpp                  |     8 +-
 src/noding/snapround/Makefile.in                   |     4 +-
 src/operation/Makefile.in                          |     4 +-
 src/operation/buffer/BufferBuilder.cpp             |    67 +-
 src/operation/buffer/BufferOp.cpp                  |     8 +-
 src/operation/buffer/Makefile.in                   |     4 +-
 src/operation/distance/FacetSequence.cpp           |   117 +
 .../distance/FacetSequenceTreeBuilder.cpp          |    76 +
 src/operation/distance/Makefile.am                 |     2 +
 src/operation/distance/Makefile.in                 |    12 +-
 src/operation/intersection/Makefile.in             |     4 +-
 .../intersection/RectangleIntersectionBuilder.cpp  |     3 -
 src/operation/linemerge/Makefile.in                |     4 +-
 src/operation/overlay/Makefile.in                  |     4 +-
 src/operation/overlay/PolygonBuilder.cpp           |     2 +-
 src/operation/overlay/snap/GeometrySnapper.cpp     |    14 +-
 src/operation/overlay/snap/LineStringSnapper.cpp   |    23 +-
 .../overlay/validate/OverlayResultValidator.cpp    |     2 +-
 src/operation/polygonize/Makefile.in               |     4 +-
 src/operation/predicate/Makefile.in                |     4 +-
 src/operation/relate/Makefile.in                   |     4 +-
 src/operation/relate/RelateComputer.cpp            |    19 +
 src/operation/sharedpaths/Makefile.in              |     4 +-
 src/operation/union/Makefile.in                    |     4 +-
 src/operation/valid/ConnectedInteriorTester.cpp    |     5 +-
 src/operation/valid/ConsistentAreaTester.cpp       |     5 +-
 src/operation/valid/IsValidOp.cpp                  |     2 +-
 src/operation/valid/Makefile.in                    |     4 +-
 src/planargraph/Makefile.in                        |     4 +-
 src/precision/GeometryPrecisionReducer.cpp         |     8 +-
 src/precision/Makefile.am                          |     1 +
 src/precision/Makefile.in                          |     8 +-
 src/precision/MinimumClearance.cpp                 |   186 +
 src/simplify/Makefile.in                           |     4 +-
 src/triangulate/Makefile.in                        |     4 +-
 src/triangulate/quadedge/Makefile.in               |     4 +-
 src/triangulate/quadedge/QuadEdgeSubdivision.cpp   |     5 +-
 src/triangulate/quadedge/Vertex.cpp                |    19 +-
 src/util/Makefile.in                               |     4 +-
 swig/Makefile.in                                   |     4 +-
 swig/geos.i                                        |     8 +-
 swig/python/Makefile.in                            |     4 +-
 swig/python/tests/Makefile.in                      |     4 +-
 swig/ruby/Makefile.in                              |     4 +-
 swig/ruby/test/Makefile.in                         |     4 +-
 tests/Makefile.in                                  |     4 +-
 tests/bigtest/Makefile.in                          |     4 +-
 tests/bigtest/TestSweepLineSpeed.cpp               |     5 +-
 tests/bigtest/bug234.cpp                           |    12 +-
 tests/geostest/Makefile.in                         |     4 +-
 tests/perf/Makefile.am                             |     4 +-
 tests/perf/Makefile.in                             |     8 +-
 tests/perf/capi/Makefile.in                        |     4 +-
 tests/perf/operation/Makefile.in                   |     4 +-
 .../operation/buffer/IteratedBufferStressTest.cpp  |     4 +-
 tests/perf/operation/buffer/Makefile.in            |     4 +-
 tests/perf/operation/predicate/Makefile.in         |     4 +-
 .../predicate/RectangleIntersectsPerfTest.cpp      |     8 +-
 tests/thread/Makefile.in                           |     4 +-
 tests/unit/Makefile.am                             |     9 +
 tests/unit/Makefile.in                             |    64 +-
 tests/unit/algorithm/ConvexHullTest.cpp            |     7 +-
 tests/unit/algorithm/MinimumDiameterTest.cpp       |   236 +
 tests/unit/algorithm/PointLocatorTest.cpp          |    13 +-
 .../unit/algorithm/RobustLineIntersectionTest.cpp  |     8 +-
 tests/unit/algorithm/RobustLineIntersectorTest.cpp |    11 +-
 .../distance/DiscreteHausdorffDistanceTest.cpp     |     8 +-
 tests/unit/capi/GEOSContainsTest.cpp               |   105 +
 tests/unit/capi/GEOSEqualsTest.cpp                 |   186 +
 tests/unit/capi/GEOSGeom_setPrecisionTest.cpp      |   186 +
 tests/unit/capi/GEOSMinimumClearanceTest.cpp       |   132 +
 tests/unit/capi/GEOSMinimumRectangleTest.cpp       |    84 +
 tests/unit/capi/GEOSMinimumWidthTest.cpp           |    99 +
 tests/unit/capi/GEOSPreparedGeometryTest.cpp       |   116 +-
 tests/unit/capi/GEOSSTRtreeTest.cpp                |   236 +
 tests/unit/capi/GEOSUserDataTest.cpp               |   105 +
 tests/unit/geom/Geometry/clone.cpp                 |     6 +-
 tests/unit/geom/Geometry/coversTest.cpp            |     7 +-
 tests/unit/geom/Geometry/equalsTest.cpp            |     3 +-
 tests/unit/geom/Geometry/isRectangleTest.cpp       |     3 -
 tests/unit/geom/Geometry/normalize.cpp             |     4 +-
 tests/unit/geom/GeometryFactoryTest.cpp            |   276 +-
 tests/unit/geom/LineStringTest.cpp                 |    64 +-
 tests/unit/geom/LinearRingTest.cpp                 |    27 +-
 tests/unit/geom/MultiPointTest.cpp                 |    28 +-
 tests/unit/geom/PointTest.cpp                      |    64 +-
 tests/unit/geom/PolygonTest.cpp                    |    33 +-
 .../unit/geom/prep/PreparedGeometryFactoryTest.cpp |    37 +-
 tests/unit/geom/util/GeometryExtracterTest.cpp     |     6 +-
 tests/unit/io/WKBReaderTest.cpp                    |    24 +-
 tests/unit/io/WKBWriterTest.cpp                    |    13 +-
 tests/unit/io/WKTReaderTest.cpp                    |    10 +-
 tests/unit/io/WKTWriterTest.cpp                    |    10 +-
 tests/unit/linearref/LengthIndexedLineTest.cpp     |     4 +-
 tests/unit/noding/OrientedCoordinateArray.cpp      |     8 +-
 .../noding/snapround/MCIndexSnapRounderTest.cpp    |     8 +-
 tests/unit/operation/IsSimpleOpTest.cpp            |     8 +-
 tests/unit/operation/buffer/BufferBuilderTest.cpp  |     6 +-
 tests/unit/operation/buffer/BufferOpTest.cpp       |     6 +-
 tests/unit/operation/distance/DistanceOpTest.cpp   |     8 +-
 .../intersection/RectangleIntersectionTest.cpp     |     5 +-
 tests/unit/operation/linemerge/LineMergerTest.cpp  |    46 +-
 .../unit/operation/linemerge/LineSequencerTest.cpp |     3 +-
 .../unit/operation/overlay/OverlayOpUnionTest.cpp  |    66 +
 .../operation/overlay/snap/GeometrySnapperTest.cpp |     5 +-
 .../overlay/snap/LineStringSnapperTest.cpp         |    47 +-
 .../overlay/validate/FuzzyPointLocatorTest.cpp     |     6 +-
 .../overlay/validate/OffsetPointGeneratorTest.cpp  |     4 +-
 .../validate/OverlayResultValidatorTest.cpp        |     4 +-
 tests/unit/operation/polygonize/PolygonizeTest.cpp |     4 +-
 .../operation/sharedpaths/SharedPathsOpTest.cpp    |     3 +-
 .../operation/union/CascadedPolygonUnionTest.cpp   |     6 +-
 tests/unit/operation/union/UnaryUnionOpTest.cpp    |     9 +-
 tests/unit/operation/valid/IsValidTest.cpp         |     7 +-
 tests/unit/operation/valid/ValidClosedRingTest.cpp |     7 +-
 .../valid/ValidSelfTouchingRingFormingHoleTest.cpp |     7 +-
 .../precision/GeometryPrecisionReducerTest.cpp     |    17 +-
 .../SimpleGeometryPrecisionReducerTest.cpp         |     7 +-
 .../unit/simplify/DouglasPeuckerSimplifierTest.cpp |     6 +-
 .../simplify/TopologyPreservingSimplifierTest.cpp  |     8 +-
 tests/unit/triangulate/DelaunayTest.cpp            |    10 +-
 tests/unit/triangulate/VoronoiTest.cpp             |     2 +-
 .../quadedge/QuadEdgeSubdivisionTest.cpp           |    14 +-
 .../unit/util/UniqueCoordinateArrayFilterTest.cpp  |     7 +-
 tests/xmltester/CMakeLists.txt                     |     8 +-
 tests/xmltester/Makefile.in                        |     4 +-
 tests/xmltester/SimpleWKTTester.cpp                |     4 +-
 tests/xmltester/XMLTester.cpp                      |    11 +-
 tests/xmltester/XMLTester.h                        |     2 +-
 tools/Makefile.in                                  |     4 +-
 295 files changed, 27575 insertions(+), 17111 deletions(-)

diff --git a/._CMakeLists.txt b/._CMakeLists.txt
deleted file mode 100644
index 579e6c1..0000000
Binary files a/._CMakeLists.txt and /dev/null differ
diff --git a/._NEWS b/._NEWS
deleted file mode 100644
index bb4df01..0000000
Binary files a/._NEWS and /dev/null differ
diff --git a/._configure.ac b/._configure.ac
deleted file mode 100644
index fa447a3..0000000
Binary files a/._configure.ac and /dev/null differ
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 786f0df..e91f97b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,11 +6,11 @@
 #
 # This is free software; you can redistribute and/or modify it under
 # the terms of the GNU Lesser General Public Licence as published
-# by the Free Software Foundation. 
+# by the Free Software Foundation.
 # See the COPYING file for more information.
 #
 #################################################################################
-project(geos)
+project(GEOS)
 cmake_minimum_required(VERSION 2.6)
 
 if(NOT CMAKE_VERSION)
@@ -19,7 +19,7 @@ if(NOT CMAKE_VERSION)
 endif()
 
 # Location of custom CMake modules with macros used by GEOS
-set(CMAKE_MODULE_PATH "${geos_SOURCE_DIR}/cmake/modules")
+set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules")
 
 #################################################################################
 # Setup GEOS version
@@ -28,7 +28,7 @@ set(CMAKE_MODULE_PATH "${geos_SOURCE_DIR}/cmake/modules")
 # GEOS release version
 # GEOS C++ library SONAME will use these encoding ABI break at every release
 set(VERSION_MAJOR 3)
-set(VERSION_MINOR 5)
+set(VERSION_MINOR 6)
 set(VERSION_PATCH 0)
 set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
 
@@ -37,9 +37,9 @@ set(JTS_PORT 1.13.0)
 message(STATUS "Setting GEOS version ${VERSION} as port of JTS ${JTS_PORT}")
 
 # GEOS C API version
-set(CAPI_INTERFACE_CURRENT 10)
+set(CAPI_INTERFACE_CURRENT 11)
 set(CAPI_INTERFACE_REVISION 0)
-set(CAPI_INTERFACE_AGE 9)
+set(CAPI_INTERFACE_AGE 10)
 
 math(EXPR CAPI_VERSION_MAJOR "${CAPI_INTERFACE_CURRENT} - ${CAPI_INTERFACE_AGE}")
 set(CAPI_VERSION_MINOR ${CAPI_INTERFACE_AGE})
@@ -63,9 +63,15 @@ option(GEOS_ENABLE_INLINE
 
 if(NOT MSVC)
   option(GEOS_ENABLE_ASSERT
-    "Set to ON|OFF (default) to build GEOS with assert() macro enabled" OFF) 
+    "Set to ON|OFF (default) to build GEOS with assert() macro enabled" OFF)
 endif()
 
+option(GEOS_BUILD_STATIC
+  "Set to OFF|ON (default) to build GEOS static libraries" ON)
+
+option(GEOS_BUILD_SHARED
+  "Set to OFF|ON (default) to build GEOS shared libraries" ON)
+
 if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
   option(GEOS_ENABLE_FLOATSTORE
     "Set to OFF|ON (default) to control IEEE754 conformance and remove extra precision" ON)
@@ -117,12 +123,12 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
   set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_ISOC99_SOURCE=1")
 
 elseif(MSVC)
-    
+
   # Set pedantic mode by default
   #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
   string(REGEX REPLACE "/W[0-9]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
 
-  if(MSVC80 OR MSVC90 OR MSVC10 OR MSVC11 OR MSVC12 OR MSVC13)
+  if(NOT (MSVC_VERSION LESS 1400)) # Visual Studio 2005 or later
 
     # Option is to enable the /MP switch for Visual Studio 2005 or later
     option(GEOS_MSVC_ENABLE_MP
@@ -132,7 +138,7 @@ elseif(MSVC)
       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
     endif()
     message(STATUS "Setting Visual Studio 2005+ option /MP to ${GEOS_MSVC_ENABLE_MP}")
-    
+
     add_definitions(-D_SCL_SECURE_NO_WARNINGS)
     add_definitions(-D_CRT_SECURE_NO_WARNINGS)
     add_definitions(-DNOMINMAX)
@@ -225,13 +231,18 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
 #################################################################################
 
 # for including GEOS C++ API headers
-include_directories(${geos_SOURCE_DIR}/include)
+include_directories(${PROJECT_SOURCE_DIR}/include)
 
 # for including build-specific GEOS C API headers
-include_directories(${geos_BINARY_DIR}/capi)
+include_directories(${PROJECT_BINARY_DIR}/capi)
 
 # for including build-specific version.h, platform.h and geos_c.h
-include_directories(${geos_BINARY_DIR}/include)
+include_directories(${PROJECT_BINARY_DIR}/include)
+
+# for geos_ts.cpp which does #include "../geos_svn_revision.h" whereas
+# CMake generates geos_svn_revision.h in build directory,
+# to not to pollute source tree.
+include_directories(${PROJECT_BINARY_DIR})
 
 #################################################################################
 # Setup checks and generate config headers
@@ -239,7 +250,7 @@ include_directories(${geos_BINARY_DIR}/include)
 
 #################################################################################
 #  MACRO: GET_SVN_REVISION
-#  
+#
 #  DESCRIPTION:
 #      MACRO FOR GETTING THE SVN revision for this build
 #################################################################################
@@ -254,70 +265,81 @@ MACRO (GET_SVN_REVISION)
 ENDMACRO(GET_SVN_REVISION)
 
 # Determine SVN/Git revision
-if(EXISTS "${CMAKE_SOURCE_DIR}/.svn")
+# Determine SVN/Git revision
+if(EXISTS "${PROJECT_SOURCE_DIR}/.svn")
   GET_SVN_REVISION()
 endif()
-if ( NOT ${Project_WC_REVISION} EQUAL 0 )
-   set( GEOS_SVN_REVISION ${Project_WC_REVISION} )
-   configure_file ( 
-      "${PROJECT_SOURCE_DIR}/tools/geos_svn_revision_cmake.h.in"
-      "${PROJECT_SOURCE_DIR}/geos_svn_revision.h" )
-      # "${geos_BINARY_DIR}/include/geos_svn_revision.h" )
-else()
-   message(STATUS "Generating revision header ${CMAKE_SOURCE_DIR}/geos_svn_revision.h")
-   find_program(SH sh)
-   if(SH)
-      execute_process(COMMAND ${SH} -c 
-      "cd ${CMAKE_SOURCE_DIR} && ${CMAKE_SOURCE_DIR}/tools/svn_repo_revision.sh")
-
-      file(RENAME "${CMAKE_SOURCE_DIR}/geos_svn_revision.h"
-      "${CMAKE_BINARY_DIR}/geos_svn_revision.h")
-   else()
-      message("*** sh-compatible command not found, cannot create geos_svn_revision.h")
-      message("*** Check SVN revision and create revision header manually:")
-      message("*** echo '#define GEOS_SVN_REVISION XYZ' > ${CMAKE_SOURCE_DIR}/geos_svn_revision.h")
-   endif()
+
+# geos_svn_revision.h does not exists in source or binary directory, we generate it
+if( NOT EXISTS "${PROJECT_SOURCE_DIR}/geos_svn_revision.h" AND
+    NOT EXISTS "${PROJECT_BINARY_DIR}/geos_svn_revision.h")
+
+  message(STATUS "Generating GEOS revision header in ${PROJECT_BINARY_DIR}/geos_svn_revision.h")
+
+  # CI builds (Travis CI, AppVeyor, etc.) perform git clone, not svn checkout.
+  # So, CI environment needs a dummy revision to generate the required header.
+  if (DEFINED ENV{CI})
+     set(Project_WC_REVISION 999999)
+  endif()
+
+  if ( NOT ${Project_WC_REVISION} EQUAL 0 )
+     set( GEOS_SVN_REVISION ${Project_WC_REVISION} )
+     configure_file (
+        "${PROJECT_SOURCE_DIR}/tools/geos_svn_revision_cmake.h.in"
+        "${PROJECT_BINARY_DIR}/geos_svn_revision.h" )
+  else()
+     find_program(SH sh)
+     if(SH)
+        execute_process(COMMAND ${SH} -c
+        "cd ${PROJECT_SOURCE_DIR} && ${PROJECT_SOURCE_DIR}/tools/svn_repo_revision.sh")
+
+        file(RENAME "${PROJECT_SOURCE_DIR}/geos_svn_revision.h"
+        "${PROJECT_BINARY_DIR}/geos_svn_revision.h")
+     else()
+        message("*** sh-compatible command not found, cannot create geos_svn_revision.h")
+        message("*** Check SVN revision and create revision header manually:")
+        message("*** echo '#define GEOS_SVN_REVISION XYZ' > ${PROJECT_SOURCE_DIR}/geos_svn_revision.h")
+     endif()
+  endif()
 endif()
 # End: Determine SVN/Git revision
 
-if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/include/geos/platform.h)
-  message(STATUS "Disabling existing ${CMAKE_CURRENT_SOURCE_DIR}/include/geos/platform.h")
+if(EXISTS ${PROJECT_SOURCE_DIR}/include/geos/platform.h)
+  message(STATUS "Disabling existing ${PROJECT_SOURCE_DIR}/include/geos/platform.h")
 
   if(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 6)
-    file(REMOVE ${CMAKE_CURRENT_SOURCE_DIR}/include/geos/platform.h)
+    file(REMOVE ${PROJECT_SOURCE_DIR}/include/geos/platform.h)
     set(PH_RESULT "removed")
   else()
     file(RENAME
-      ${CMAKE_CURRENT_SOURCE_DIR}/include/geos/platform.h
-      ${CMAKE_CURRENT_SOURCE_DIR}/include/geos/platform.h.disabled)
+      ${PROJECT_SOURCE_DIR}/include/geos/platform.h
+      ${PROJECT_SOURCE_DIR}/include/geos/platform.h.disabled)
       set(PH_RESULT "renamed")
   endif()
 
-  message(STATUS "Disabling existing ${CMAKE_CURRENT_SOURCE_DIR}/include/geos/platform.h - ${PH_RESULT}")
+  message(STATUS "Disabling existing ${PROJECT_SOURCE_DIR}/include/geos/platform.h - ${PH_RESULT}")
 endif()
 
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/geos/platform.h.cmake 
-  ${CMAKE_CURRENT_BINARY_DIR}/include/geos/platform.h)
+message(STATUS "Generating GEOS ${PROJECT_BINARY_DIR}/include/geos/platform.h")
+configure_file(${PROJECT_SOURCE_DIR}/include/geos/platform.h.cmake
+  ${PROJECT_BINARY_DIR}/include/geos/platform.h)
 
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/geos/version.h.in
-  ${CMAKE_CURRENT_BINARY_DIR}/include/geos/version.h @ONLY)
+message(STATUS "Generating GEOS ${PROJECT_BINARY_DIR}/include/geos/version.h")
+configure_file(${PROJECT_SOURCE_DIR}/include/geos/version.h.in
+  ${PROJECT_BINARY_DIR}/include/geos/version.h @ONLY)
 
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/capi/geos_c.h.in
-  ${CMAKE_CURRENT_BINARY_DIR}/capi/geos_c.h @ONLY)
+message(STATUS "Generating GEOS ${PROJECT_BINARY_DIR}/capi/geos_c.h")
+configure_file(${PROJECT_SOURCE_DIR}/capi/geos_c.h.in
+  ${PROJECT_BINARY_DIR}/capi/geos_c.h @ONLY)
 
 #################################################################################
 # Configure tests
 #################################################################################
 
 if(GEOS_ENABLE_TESTS)
-
- # Include CTest support
- include(CTest)
- enable_testing()
-
+  enable_testing()
   # Define "make check" as alias for "make test"
   add_custom_target(check COMMAND ctest)
-
 endif()
 
 #################################################################################
@@ -335,12 +357,12 @@ add_subdirectory(tools)
 # Install/Uninstall
 #################################################################################
 
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
-  "${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake_uninstall.cmake"
+configure_file("${PROJECT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
+  "${PROJECT_BINARY_DIR}/cmake/cmake_uninstall.cmake"
   IMMEDIATE @ONLY)
 
 add_custom_target(uninstall
-  "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake_uninstall.cmake") 
+  "${CMAKE_COMMAND}" -P "${PROJECT_BINARY_DIR}/cmake/cmake_uninstall.cmake")
 
 #################################################################################
 # DEBUG settings - TODO: make a summary
diff --git a/ChangeLog b/ChangeLog
index bf8607b..35f394f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,119 +1,1119 @@
-2015-08-14 18:22  Paul Ramsey <pramsey at cleverelephant.ca>
+2016-10-25 15:05  Sandro Santilli <strk at kbt.io>
 
-	* [r4083] .: Branch for release
+	* [r4262] NEWS: Tweak NEWS, in preparation for 3.6.0 release
+
+2016-10-04 07:38  Sandro Santilli <strk at kbt.io>
+
+	* [r4261] src/operation/overlay/snap/LineStringSnapper.cpp: And
+	  more trailing spaces
+
+2016-10-04 07:04  Sandro Santilli <strk at kbt.io>
+
+	* [r4260] include/geos/operation/overlay/snap/LineStringSnapper.h:
+	  Remove more trailing blanks
+
+2016-10-04 06:59  Sandro Santilli <strk at kbt.io>
+
+	* [r4259] src/operation/overlay/snap/GeometrySnapper.cpp: Drop
+	  trailing blanks
+
+2016-09-27 16:39  Sandro Santilli <strk at kbt.io>
+
+	* [r4258] capi/geos_c.h.in: wrong GEOS_DLL position
+	  
+	  Should not be type* GEOS_DLL function(), but type GEOS_DLL
+	  *function().
+	  Doesn't build on windows before the modif
+	  
+	  Patch by @bartoli
+	  Closes https://github.com/libgeos/libgeos/pull/70
+
+2016-09-07 13:06  Sandro Santilli <strk at kbt.io>
+
+	* [r4257] include/geos/geom/Geometry.h,
+	  include/geos/geom/LineString.h: Fix documentation typos.
+	  
+	  Courtesy of Todd Trimble <todd.trimble at gmail.com>
+
+2016-09-07 13:05  Sandro Santilli <strk at kbt.io>
+
+	* [r4256] tests/unit/capi/GEOSGeom_createCollection.cpp: Fix
+	  initialization order warning
+
+2016-09-07 13:03  Sandro Santilli <strk at kbt.io>
+
+	* [r4255] CMakeLists.txt: CMake: generate geos_svn_revision.h in
+	  binary directory if not exists
+	  
+	  Patch by Rashad Kanavath <rashad.kanavath at c-s.fr>
+
+2016-09-07 12:57  Sandro Santilli <strk at kbt.io>
+
+	* [r4254] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, include/geos/geom/Geometry.h,
+	  tests/unit/Makefile.am, tests/unit/capi/GEOSUserDataTest.cpp: Add
+	  GEOSGeom_setUserData and GEOSGeom_getUserData
+	  
+	  Patch by Rashad Kanavath <rashad.kanavath at c-s.fr>
+
+2016-09-02 11:10  Sandro Santilli <strk at kbt.io>
+
+	* [r4253] CMakeLists.txt, src/CMakeLists.txt: Add option to build
+	  static and shared. (default is build both)
+	  
+	  Fixes #788
+	  Patch by Rashad Kanavath <rashad.kanavath at c-s.fr>
+
+2016-09-02 11:09  Sandro Santilli <strk at kbt.io>
+
+	* [r4252] authors.svn: Fix my email address
+
+2016-08-24 09:28  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4251] CMakeLists.txt: CMake now sets GEOS_BUILD_PACKAGED to
+	  FALSE on CI services
+
+2016-08-24 08:58  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4250] CMakeLists.txt: Add CMake ${PROJECT_BINARY_DIR} to
+	  include directories for
+	  geos_ts.cpp which does #include "../geos_svn_revision.h", whereas
+	  CMake generates geos_svn_revision.h in build directory, to not to
+	  pollute source tree.
+
+2016-08-24 08:57  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4249] build.bat: Add convenient build.bat for Visual Studio and
+	  CMake users:
+	  * Runs CMake to configure 32-bit or 64-bit build with the latest
+	  release of Visual Studio.
+	  * Runs MSBuild to build the generated solution.
+
+2016-08-03 19:22  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4245] src/Makefile.vc: Add missing .cpp files added in r4203
+
+2016-08-03 19:17  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4244] nmake.opt: Add NMAKE version from VS2015 Update 3
+
+2016-07-21 19:06  Sandro Santilli <strk at kbt.io>
+
+	* [r4243] .drone.yml: Only run "make check", not "make distcheck"
+	  
+	  ... distcheck can be run manually just before a release
+
+2016-07-21 18:40  Sandro Santilli <strk at kbt.io>
+
+	* [r4242] .drone.yml, docker/README, docker/build-test/Dockerfile,
+	  docker/build-test/Makefile: Remove docker config
+	  
+	  Docker configurations are not hosted on
+	  https://git.osgeo.org/gogs/geos/geos-docker/
+
+2016-07-21 18:34  Sandro Santilli <strk at kbt.io>
+
+	* [r4241] src/operation/buffer/BufferOp.cpp: Do not define unused
+	  function
+
+2016-07-21 18:25  Sandro Santilli <strk at kbt.io>
+
+	* [r4240] .drone.yml: Fix test-image variable use
+
+2016-07-21 18:20  Sandro Santilli <strk at kbt.io>
+
+	* [r4239] .drone.yml: Turn off optimization while building, reduce
+	  clone depth
+
+2016-07-19 18:31  Sandro Santilli <strk at kbt.io>
+
+	* [r4238] web/index.html, web/style.css: Remove website content
+	  
+	  Moved to https://git.osgeo.org/gogs/geos/website
+	  (was obsoleted and unused anyway)
+
+2016-07-19 18:26  Sandro Santilli <strk at kbt.io>
+
+	* [r4237] .gitignore, Makefile.am, NEWS, README.md, configure.ac,
+	  php/Makefile.am, php/README, php/TODO, php/geos.c,
+	  php/php_geos.h, php/test/Makefile.am, php/test/crashme.php,
+	  php/test/test.php: Remove PHP bindings, leave refs to separate
+	  repository
+	  
+	  Closes #765
+
+2016-07-19 18:26  Sandro Santilli <strk at kbt.io>
+
+	* [r4236] docker/build-test/Dockerfile: Reduce size of build-test
+	  image
+
+2016-07-16 07:41  Sandro Santilli <strk at kbt.io>
+
+	* [r4235] README.md: Add link to build status table on trac
+
+2016-07-16 07:25  Sandro Santilli <strk at kbt.io>
+
+	* [r4234] .gitignore, docker, docker/README, docker/build-test,
+	  docker/build-test/Dockerfile, docker/build-test/Makefile: Add
+	  configuration to make dockers for build-testing GEOS
+
+2016-07-15 19:38  Sandro Santilli <strk at kbt.io>
+
+	* [r4233] README.md: Add OSGeo/Drone badge
+
+2016-07-15 16:38  Sandro Santilli <strk at kbt.io>
+
+	* [r4231] .drone.yml: Add a "make check" step to the drone config
+
+2016-07-15 15:25  Sandro Santilli <strk at kbt.io>
+
+	* [r4230] README.md: Adds all the currently supported Visual Studio
+	  versions
+	  
+	  Patch by gmasetti at ccom.unh.edu
+
+2016-07-14 10:38  Sandro Santilli <strk at kbt.io>
+
+	* [r4224] include/geos/platform.h.in: Fully qualify isnan call when
+	  HAVE_ISNAN is defined
+	  
+	  Fixes build with GCC-5.3.0 and higher.
+	  Closes #784
+
+2016-07-12 17:28  Sandro Santilli <strk at kbt.io>
+
+	* [r4221] .drone.yml: Add .drone.yml
+
+2016-07-09 05:34  Sandro Santilli <strk at kbt.io>
+
+	* [r4220] tests/perf/Makefile.am: Add missing LIBS
+	  
+	  Thanks Andrew Watkins for spotting this
+
+2016-06-29 14:01  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4219] tests/unit/capi/GEOSMinimumClearanceTest.cpp: Compare inf
+	  == inf instead of ensure_equals(inf, inf).
+	  
+	  The latter compares the difference, but inf minus inf result is
+	  indeterminate.
+
+2016-06-09 16:25  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4218] CMakeLists.txt: Fix CMake syntax.
+
+2016-06-09 15:34  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4217] CMakeLists.txt: CI builds (Travis CI, AppVeyor, etc.)
+	  perform git clone, not svn checkout.
+	  So, CI environment needs a dummy revision (e.g. 999999) to
+	  generate the required header.
+
+2016-06-08 07:53  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4216] README.md: Fix Markdown syntax for build status table.
+
+2016-06-08 00:08  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4215] appveyor.yml: AppVeyor: add some colours
+
+2016-06-07 23:58  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4214] README.md: Add AppVeyor and Drone.io badge status.
+	  Reformat build status into table by service X branch.
+
+2016-06-07 23:29  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4213] appveyor.yml: AppVeyor: Fix CMake build folder location
+
+2016-06-07 23:21  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4212] appveyor.yml: First stab at AppVeyor configuration
+
+2016-06-07 09:35  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4211] ., CMakeLists.txt: Merged revision(s) 4210 from
+	  branches/3.5:
+	  Update CMake configuration based on trunk/CMakeLists.txt
+
+2016-06-07 08:32  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4209] capi/geos_c.h.in,
+	  include/geos/index/strtree/GeometryItemDistance.h,
+	  include/geos/precision/MinimumClearance.h, src/Makefile.vc: Fix
+	  Visual C++ builds with NMAKE and CMake (Ticket #777):
+	  * Correct __declspec specifier placement in C API function
+	  prototypes.
+	  * Add GEOS_DLL missing from new classes added recently.
+	  * Update makefile.vc with implementation files added recently.
+
+2016-05-12 09:39  Sandro Santilli <strk at kbt.io>
+
+	* [r4208] README.md: Revert "Cips"
+	  
+	  This reverts commit c816b6747129a59f82c6ebc9a952bc11b32a48f6.
+	  
+	  Sorry, was a debug commit pushed in error
+
+2016-05-12 09:39  Sandro Santilli <strk at kbt.io>
+
+	* [r4207] README.md: Use https for debbie links
+
+2016-05-12 09:26  Sandro Santilli <strk at kbt.io>
+
+	* [r4205] README.md: Cips
+
+2016-04-25 20:04  Sandro Santilli <strk at kbt.io>
+
+	* [r4204] include/geos/operation/distance/FacetSequence.h,
+	  include/geos/operation/distance/FacetSequenceTreeBuilder.h,
+	  include/geos/precision/MinimumClearance.h,
+	  src/operation/distance/FacetSequence.cpp,
+	  src/operation/distance/FacetSequenceTreeBuilder.cpp,
+	  src/precision/MinimumClearance.cpp: Include hash in Last Port for
+	  MinimumClearance classes
+
+2016-04-25 18:06  Sandro Santilli <strk at kbt.io>
+
+	* [r4203] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, include/geos/index/strtree/BoundablePair.h,
+	  include/geos/index/strtree/STRtree.h,
+	  include/geos/operation/distance/FacetSequence.h,
+	  include/geos/operation/distance/FacetSequenceTreeBuilder.h,
+	  include/geos/operation/distance/Makefile.am,
+	  include/geos/precision/Makefile.am,
+	  include/geos/precision/MinimumClearance.h,
+	  src/index/strtree/BoundablePair.cpp,
+	  src/index/strtree/STRtree.cpp,
+	  src/operation/distance/FacetSequence.cpp,
+	  src/operation/distance/FacetSequenceTreeBuilder.cpp,
+	  src/operation/distance/Makefile.am, src/precision/Makefile.am,
+	  src/precision/MinimumClearance.cpp, tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSMinimumClearanceTest.cpp: Implement
+	  GEOSMinimumClearance and GEOSMinimumClearanceLine
+	  
+	  Includes tests and C-API exposure.
+	  
+	  Patch by Daniel Baston <dbaston at maponics.com>
+	  via https://github.com/libgeos/libgeos/pull/65
+	  
+	  Closes #776
+
+2016-04-24 17:27  Sandro Santilli <strk at kbt.io>
+
+	* [r4202] .gitignore, Makefile.am, autogen.sh: Symlink README to
+	  README.md at autogen.sh time
+	  
+	  Should fix distcheck
+
+2016-04-23 15:24  Sandro Santilli <strk at kbt.io>
+
+	* [r4201] Makefile.am: Add rule to make README from README.md
+	  
+	  README is a standard GNU file that ends up in the distribution
+
+2016-04-23 15:02  Sandro Santilli <strk at kbt.io>
+
+	* [r4200] README.md: Drop drone.io badge
+	  
+	  The service times out before our tests complete, not a good one.
+
+2016-04-23 14:47  Sandro Santilli <strk at kbt.io>
+
+	* [r4199] README, README.md: Merge README into README.md
+	  
+	  Thanks Mike Toews for the kickstart on this
+
+2016-04-23 13:16  Sandro Santilli <strk at kbt.io>
+
+	* [r4198] tests/unit/capi/GEOSSTRtreeTest.cpp: Correctly initialize
+	  strtree in test
+	  
+	  Patch by dbaston
+
+2016-04-22 17:57  Sandro Santilli <strk at kbt.io>
+
+	* [r4197] include/geos/index/strtree/Makefile.am: Fix distcheck
+	  (#768)
+	  
+	  Patch by Daniel Baston <dbaston at gmail.com>
+
+2016-04-22 16:56  Sandro Santilli <strk at kbt.io>
+
+	* [r4196] README.md: Add drone.io badge
+
+2016-04-22 16:24  Sandro Santilli <strk at kbt.io>
+
+	* [r4195] README.md: Add Debbie badge
+
+2016-04-22 15:15  Sandro Santilli <strk at kbt.io>
+
+	* [r4191] README.md: Add project homepage url
+
+2016-04-22 15:15  Sandro Santilli <strk at kbt.io>
+
+	* [r4190] .travis.yml: Fix typo
+
+2016-04-22 15:15  Sandro Santilli <strk at kbt.io>
+
+	* [r4189] README.md: Put build badges on the same line
+
+2016-04-22 14:41  Sandro Santilli <strk at kbt.io>
+
+	* [r4188] README.md: Add gitlab-ci badge
+
+2016-04-22 14:40  Sandro Santilli <strk at kbt.io>
+
+	* [r4187] .gitlab-ci.yml: Add gitlab-ci configuration
+
+2016-04-19 16:27  Sandro Santilli <strk at kbt.io>
+
+	* [r4186] capi/geos_ts_c.cpp: Move CustomItemDistance defn some
+	  contexts higher
+
+2016-04-19 16:26  Sandro Santilli <strk at kbt.io>
+
+	* [r4185] capi/geos_ts_c.cpp: Trim trailing whitespaces (as per
+	  .editorconfig)
+
+2016-04-19 16:04  Sandro Santilli <strk at kbt.io>
+
+	* [r4184] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  include/geos/index/strtree/BoundablePair.h,
+	  include/geos/index/strtree/GeometryItemDistance.h,
+	  include/geos/index/strtree/ItemDistance.h,
+	  include/geos/index/strtree/STRtree.h,
+	  src/index/strtree/AbstractSTRtree.cpp,
+	  src/index/strtree/BoundablePair.cpp,
+	  src/index/strtree/GeometryItemDistance.cpp,
+	  src/index/strtree/Makefile.am, src/index/strtree/STRtree.cpp,
+	  tests/unit/Makefile.am, tests/unit/capi/GEOSSTRtreeTest.cpp: Add
+	  GEOSSTRtree_nearest API
+	  
+	  Includes tests for the new API and pre-existing STRtree API
+	  Closes #768
+	  
+	  Patch by Daniel Baston <dbaston at gmail.com>
+	  via https://github.com/libgeos/libgeos/pull/61
+
+2016-04-12 15:17  Sandro Santilli <strk at kbt.io>
+
+	* [r4183] include/geos/geom/LineSegment.h: Fix 'Segemnt' typo.
+	  
+	  Patch by Todd Trimble <todd.trimble at gmail.com>
+	  
+	  Closes https://github.com/libgeos/libgeos/pull/63
+
+2016-04-12 15:17  Sandro Santilli <strk at kbt.io>
+
+	* [r4182] include/geos/geom/LineSegment.h: Match .h declaration
+	  parameter name with .cpp definitiion.
+	  
+	  Patch by Todd Trimble <todd.trimble at gmail.com>
+	  
+	  See https://github.com/libgeos/libgeos/pull/63
+
+2016-04-06 10:50  Sandro Santilli <strk at kbt.io>
+
+	* [r4181] .editorconfig: Stub an EditorConfig file
+	  
+	  See http://editorconfig.org
+
+2016-04-05 15:26  Sandro Santilli <strk at kbt.io>
+
+	* [r4180] nmake.opt: Handle nmake builds with the latest MSVC
+	  
+	  Patch by Jeff McKenna
+	  
+	  Closes #775
+
+2016-03-12 07:35  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4179] tests/unit/geom/prep/PreparedGeometry,
+	  tests/unit/geom/prep/PreparedGeometry/touchesTest.cpp: Add test
+	  for PreparedGeometry::touches
+
+2016-03-12 07:19  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4178] tests/unit/geom/Geometry/touchesTest.cpp: Remove unused
+	  header
+
+2016-03-12 06:49  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4177] tests/unit/geom/Geometry/touchesTest.cpp: Add test for
+	  Geometry::touches
+
+2016-03-12 06:49  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4176] tests/unit/geom/Geometry/coversTest.cpp: Revert r4175
+	  (wrong file)
+
+2016-03-12 06:40  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4175] tests/unit/geom/Geometry/coversTest.cpp: Add test for
+	  Geometry::touches
+
+2016-03-07 23:15  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4174] tests/xmltester/CMakeLists.txt: Update CMakeLists.txt
+	  after bugXXX.xml moved into tickets subfolder
+
+2016-03-07 13:11  Sandro Santilli <strk at kbt.io>
+
+	* [r4173] Makefile.am: Add "valgrindcheck" Makefile rule, currently
+	  fails
+
+2016-03-07 10:21  Sandro Santilli <strk at kbt.io>
+
+	* [r4170] .travis.yml: Report build activity in #postgis-activity
+	  (not #postgis)
+	  
+	  Also do not use notices
+
+2016-03-07 10:21  Sandro Santilli <strk at kbt.io>
+
+	* [r4169] configure.ac: Look for isnan in std:: namespace
+	  
+	  Tested with gcc 4.8.4
+
+2016-03-06 23:28  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4168] include/geos/geom/Coordinate.h,
+	  include/geos/geom/Geometry.h, src/geom/Coordinate.cpp,
+	  src/geom/Geometry.cpp: Rename class private members according to
+	  _x naming convention.
+
+2016-03-06 13:51  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4167] src/algorithm/Centroid.cpp,
+	  src/geomgraph/EdgeEndStar.cpp,
+	  src/operation/buffer/BufferBuilder.cpp: Clean up a bunch of
+	  MSVC++ 14.0 warning C4456: declaration of 'x' hides previous
+	  local declaration
+
+2016-03-06 13:40  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4166] .travis.yml: Change Travis CI webhook notifications to
+	  'always'
+
+2016-03-06 08:29  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4165] src/operation/buffer/BufferBuilder.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp: Clean up some compiler
+	  warnings on truncating conversions between size_t and double or
+	  unsigned in
+
+2016-03-06 00:04  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4164] .travis.yml: Clean up to address some issues reported by
+	  lint.travis-ci.org.
+	  Enable mailing list notification.
+	  Add Gitter notification.
+
+2016-03-05 23:40  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4163] tests/unit/geom/GeometryComponentFilterTest.cpp,
+	  tests/unit/geom/GeometryFilterTest.cpp: Fix repeated test groups
+	  definitions (introduced in r4162).
+
+2016-03-05 23:23  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4162] tests/unit/geom/GeometryComponentFilterTest.cpp,
+	  tests/unit/geom/GeometryFilterTest.cpp: Add test for
+	  GeometryFilter class.
+	  Add test for GeometryComponentFilter class.
+	  
+	  Both tests are based on common filter with intention to compare
+	  behaviour both GeometryFilter vs GeometryComponentFilter,
+	  with related discussion at
+	  http://lists.osgeo.org/pipermail/geos-devel/2016-March/007441.html
+
+2016-03-02 12:34  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4161] tests/unit/operation/linemerge/LineMergerTest.cpp:
+	  Describe test cases
+
+2016-03-02 12:29  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4160] tests/unit/operation/linemerge/LineMergerTest.cpp,
+	  tests/unit/operation/overlay/OverlayOpUnionTest.cpp: Test merging
+	  MultiLineString result of union.
+	  
+	  Remove unnecessary FIXED precision model from the triangle test
+	  in OverlayOpUnionTest.cpp.
+	  Add comment to link corresponding tests in OverlayOpUnionTest.cpp
+	  and LineMergerTest.cpp.
+
+2016-03-01 15:22  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4159] tests/unit/operation/overlay/OverlayOpUnionTest.cpp: Add
+	  comment explaining the expected test result
+	  
+	  Since the union operation makes no effort to simplify and
+	  drop nodes of degree 2 from the built topology,
+	  do not expect GEOS_LINESTRING.
+	  https://lists.osgeo.org/pipermail/geos-devel/2016-March/007429.html
+
+2016-03-01 13:43  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4158] tests/unit/capi/GEOSContainsTest.cpp: Unify GEOSContains
+	  test cases added in r4156 with corresponding tests in
+	  GEOSPreparedGeometryTest
+
+2016-03-01 13:38  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4157] tests/unit/capi/GEOSContainsTest.cpp: Test check
+	  refinement missing from r4156
+
+2016-03-01 13:33  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4156] tests/unit/capi/GEOSContainsTest.cpp,
+	  tests/unit/capi/GEOSPreparedGeometryTest.cpp: Add test for
+	  polygon containment where two polygons share some of vertices or
+	  vertices of inner polygon lay on boundary of outer polygon.
+	  
+	  Tests also compare results depending on used precision model.
+
+2016-02-29 20:45  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4155] tests/unit/Makefile.am: Add OverlayOpUnionTest.cpp to
+	  Makefile.am
+
+2016-02-29 20:43  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4154] tests/unit/operation/overlay/OverlayOpUnionTest.cpp: Add
+	  clean-up missing from r4153.
+	  
+	  It should fix the failing build on Travis SI.
+
+2016-02-29 17:59  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4153] tests/unit/operation/overlay/OverlayOpUnionTest.cpp: Add
+	  basic test for geos::operation::OverlayOp with UNION.
+	  
+	  Test union of four segments (linestrings) of a suqare.
+
+2016-02-29 16:20  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4152] capi/geos_ts_c.cpp,
+	  src/operation/intersection/RectangleIntersectionBuilder.cpp,
+	  src/operation/overlay/PolygonBuilder.cpp: Fix build with
+	  preprocessor symbol GEOS_DEBUG defined.
+
+2016-02-24 11:39  Sandro Santilli <strk at kbt.io>
+
+	* [r4149] include/geos/algorithm/PointLocator.h,
+	  src/algorithm/PointLocator.cpp, src/geom/prep/PreparedPoint.cpp,
+	  tests/unit/algorithm/PointLocatorTest.cpp: Fix incorrect return
+	  from PreparedPoint::intersects
+	  
+	  Includes unit test
+	  
+	  Patch by Daniel Baston via
+	  https://github.com/libgeos/libgeos/pull/60
+	  
+	  See #764
+	  Reverts r4081
+
+2016-02-22 17:06  Sandro Santilli <strk at kbt.io>
+
+	* [r4147] src/algorithm/RobustDeterminant.cpp: ! FINITE already
+	  includes NAN, duplicate test unneeded
+
+2016-02-17 11:40  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4146] tests/unit/capi/GEOSGeom_createCollection.cpp: #include
+	  <array> only if C++0x is available (refines r4145)
+
+2016-02-17 11:15  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4145] tests/unit/capi/GEOSGeom_createCollection.cpp: Enable
+	  test case using std::array only if C++0x is available.
+
+2016-02-17 10:52  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4144] tests/unit/capi/GEOSGeom_createCollection.cpp: Add test
+	  for GEOSGeom_createCollection function
+
+2016-02-05 07:59  Sandro Santilli <strk at kbt.io>
+
+	* [r4142] src/io/StringTokenizer.cpp: Include <limits> in
+	  StringTokenizer
+	  
+	  Patch by Jeff Mckenna
+	  See #766
+
+2016-01-20 00:03  Paul Ramsey <pramsey at cleverelephant.ca>
+
+	* [r4141] include/geos/geomgraph/GeometryGraph.h,
+	  include/geos/geomgraph/index/SegmentIntersector.h,
+	  include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h,
+	  src/geomgraph/GeometryGraph.cpp,
+	  src/geomgraph/index/SegmentIntersector.cpp,
+	  src/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  src/operation/valid/ConsistentAreaTester.cpp,
+	  src/operation/valid/IsValidOp.cpp: #757, fix memory exhaustion
+	  case in isvalid
+
+2015-12-31 08:24  Sandro Santilli <strk at kbt.io>
+
+	* [r4138] NEWS: Add missing 3.3.9 section
+
+2015-12-18 17:15  Sandro Santilli <strk at kbt.io>
+
+	* [r4136] tests/xmltester/XMLTester.cpp: Add support for
+	  "relatestring" test operation
+
+2015-12-17 05:41  Sandro Santilli <strk at kbt.io>
+
+	* [r4135] CMakeLists.txt: Fix cmake build with Visual Studio 2015
+	  
+	  Patch by Stefan Hacker <stefan.hacker at ptvgroup.com>
+	  Closes https://github.com/libgeos/libgeos/pull/49
+
+2015-12-14 17:17  Sandro Santilli <strk at kbt.io>
+
+	* [r4129] src/operation/overlay/snap/LineStringSnapper.cpp,
+	  tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp: Fix
+	  snapping of last segment in a closed linestring
+	  
+	  See #758
+
+2015-12-14 17:17  Sandro Santilli <strk at kbt.io>
+
+	* [r4128]
+	  tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:
+	  Enable a commented-out test (works)
+
+2015-12-14 12:05  Sandro Santilli <strk at kbt.io>
+
+	* [r4127] tests/unit/io/WKBWriterTest.cpp: Tweak WKB output test to
+	  do what's really said in the comments
+
+2015-12-14 11:54  Sandro Santilli <strk at kbt.io>
+
+	* [r4126] tests/unit/io/WKBReaderTest.cpp: Add test for parsing
+	  EWKB
+
+2015-11-30 20:30  Sandro Santilli <strk at kbt.io>
+
+	* [r4125] tests/unit/capi/GEOSMinimumWidthTest.cpp: Add another
+	  test for GEOSMinimumWidth
+
+2015-11-30 20:30  Sandro Santilli <strk at kbt.io>
+
+	* [r4124] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSMinimumDiameterTest.cpp,
+	  tests/unit/capi/GEOSMinimumWidthTest.cpp: Rename
+	  GEOSMinimumDiameter to GEOSMinimumWidth, add docs
+	  
+	  Patch by Nyall Dawson
+
+2015-11-30 12:01  Sandro Santilli <strk at kbt.io>
+
+	* [r4123] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, include/geos/algorithm/MinimumDiameter.h,
+	  src/algorithm/MinimumDiameter.cpp, tests/unit/Makefile.am,
+	  tests/unit/algorithm/MinimumDiameterTest.cpp,
+	  tests/unit/capi/GEOSMinimumDiameterTest.cpp,
+	  tests/unit/capi/GEOSMinimumRectangleTest.cpp: Port
+	  MinimumDiameter::getMinimumRectangle algorithm from JTS
+	  
+	  Also add GEOSMinimumRotatedRectangle and GEOSMinimumDiameter
+	  to C API, and re-sync MinimumDiameter with JTS r966.
+	  
+	  Includes testcases.
+	  
+	  Fixes #729.
+	  
+	  Patch by: Nyall Dawson <nyall.dawson at gmail.com>
+	  Signed-off-by: Sandro Santilli <strk at keybit.net>
+
+2015-11-30 10:06  Sandro Santilli <strk at kbt.io>
+
+	* [r4122] capi/geos_ts_c.cpp,
+	  include/geos/algorithm/SIRtreePointInRing.h,
+	  src/algorithm/SIRtreePointInRing.cpp: Fix some leaks identified
+	  by Coverity
+	  
+	  Patch by Nyall Dawson <nyall.dawson at gmail.com>
+
+2015-11-30 10:00  Sandro Santilli <strk at kbt.io>
+
+	* [r4121] include/geos/triangulate/quadedge/Vertex.h,
+	  src/triangulate/quadedge/Vertex.cpp: Fix incorrect logic in
+	  Vertex::classify, sync to r705
+	  
+	  Patch by Nyall Dawson <nyall.dawson at gmail.com>
+
+2015-11-21 12:59  Sandro Santilli <strk at kbt.io>
+
+	* [r4119] include/geos/triangulate/quadedge/QuadEdgeSubdivision.h,
+	  src/triangulate/quadedge/QuadEdgeSubdivision.cpp: use std::vector
+	  instead of std::list to avoid size() bottleneck
+	  
+	  Patch by Daniel Baston via
+	  https://github.com/libgeos/libgeos/pull/55
+
+2015-11-16 10:53  Sandro Santilli <strk at kbt.io>
+
+	* [r4118] include/geos/geomgraph/EdgeEnd.h,
+	  include/geos/geomgraph/EdgeEndStar.h, src/geomgraph/EdgeEnd.cpp,
+	  src/geomgraph/EdgeEndStar.cpp: Fix output operator for
+	  EdgeEndStar
+
+2015-11-13 19:10  Sandro Santilli <strk at kbt.io>
+
+	* [r4117] include/geos/geomgraph/EdgeEndStar.h,
+	  src/geomgraph/EdgeEndStar.cpp,
+	  src/operation/relate/RelateComputer.cpp: Add output operator for
+	  EdgeEndStar
+
+2015-11-04 20:30  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4114] include/geos/platform.h.cmake: Add #define NOMINMAX for
+	  Visual C++
+
+2015-11-03 09:17  Sandro Santilli <strk at kbt.io>
+
+	* [r4113] tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSEqualsTest.cpp: Add test for GEOSEquals
+	  
+	  Includes disabled test for #752
+
+2015-11-02 12:52  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4112] CMakeLists.txt: CMake should not try to generate
+	  geos_svn_revision.h if GEOS is built from packaged sources.
+	  Fixes #753
+
+2015-10-31 09:23  Sandro Santilli <strk at kbt.io>
+
+	* [r4111] include/geos/geom/GeometryFactory.h,
+	  src/geom/Geometry.cpp, src/geom/GeometryFactory.cpp: Make
+	  GeometryFactory refcount geometry-agnostic
+
+2015-10-13 11:20  Sandro Santilli <strk at kbt.io>
+
+	* [r4109] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, php/geos.c, php/test/test.php,
+	  src/geom/util/GeometryEditor.cpp,
+	  tests/unit/capi/GEOSGeom_setPrecisionTest.cpp: Add a
+	  GEOSGeom_setPrecision funciton in C-API and PHP
+	  
+	  Also fixes a bug in GeometryEditor that failed to update
+	  GeometryFactory for empty polygons (#749)
+
+2015-10-07 07:20  Sandro Santilli <strk at kbt.io>
+
+	* [r4108] CMakeLists.txt, capi/geos_c.h.in, configure.ac: Fix CAPI
+	  versioning (broke in r4085, after release)
+
+2015-10-05 09:38  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4104] src/geomgraph/PlanarGraph.cpp: Use std::auto_ptr to
+	  simplify r4100 fix of a memory leak potential
+
+2015-10-04 16:09  Sandro Santilli <strk at kbt.io>
+
+	* [r4103] src/operation/buffer/BufferBuilder.cpp: Fix a few
+	  potential (one confirmed) leak in single sided buffer
+	  
+	  See #747
+
+2015-10-04 14:09  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4100] src/geomgraph/PlanarGraph.cpp: Make adding edges a bit
+	  more exception safe and helps to avoid memory leaks when
+	  PlanarGraph::add(de1) throws, leaving de2 behind.
+	  This also fixes memory leak in case of self-union with NaN
+	  coordinates, revealed by GEOSUnaryUnionTest/test<9>.
+
+2015-10-03 21:57  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4099] tests/unit/triangulate/DelaunayTest.cpp: Fix memory leaks
+	  (two) due to misuse of CoordinateArraySequence
+
+2015-10-03 21:37  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4098] src/algorithm/CGAlgorithms.cpp,
+	  src/algorithm/LineIntersector.cpp,
+	  src/algorithm/locate/IndexedPointInAreaLocator.cpp,
+	  src/geom/LineSegment.cpp, src/io/WKTWriter.cpp,
+	  src/noding/snapround/HotPixel.cpp,
+	  src/operation/buffer/BufferBuilder.cpp,
+	  src/operation/buffer/BufferOp.cpp,
+	  src/operation/overlay/snap/GeometrySnapper.cpp,
+	  src/operation/overlay/validate/OverlayResultValidator.cpp: Clean
+	  up Windows-specific extra parenthesis around std::min/std::max
+	  which worked around min/max macros causing syntax error. The
+	  workaround is no loner necessary since NOMINMAX placement has
+	  been corrected.
+
+2015-10-03 21:21  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4097] CMakeLists.txt, include/geos/timeval.h: Move
+	  Windows-specific NOMINMAX preprocessor definition from CMake to
+	  timeval.h.
+	  Assume timeval.h is the only place where Windows-specific headers
+	  are included.
+
+2015-10-03 20:58  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4096] CMakeLists.txt: Clean up CMake variables mismatch
+
+2015-10-03 20:29  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4095] CMakeLists.txt: Tell CMake to use GEOS instead geos.
+
+2015-10-03 20:23  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4094] CMakeLists.txt: Remove CDash configuration which
+	  generates unnecessary targets (Experimental, Nightly, Continuous)
+
+2015-10-03 13:38  Mateusz Loskot <mateusz at loskot.net>
+
+	* [r4093] src/operation/intersection: Ignore .obj and some other
+	  patterns
+
+2015-10-02 16:47  Sandro Santilli <strk at kbt.io>
+
+	* [r4092] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, php/geos.c, php/test/test.php,
+	  tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSGeom_setPrecisionTest.cpp: Add
+	  GEOSGeom_setPrecision function to C-API (#713)
+	  
+	  Include unit tests and PHP bindings
+
+2015-10-02 09:59  Sandro Santilli <strk at kbt.io>
+
+	* [r4091] NEWS, doc/example.cpp, include/geos/geom/BinaryOp.h,
+	  include/geos/geom/GeometryFactory.h,
+	  include/geos/operation/valid/ConnectedInteriorTester.h,
+	  include/geos/precision/GeometryPrecisionReducer.h,
+	  src/geom/Geometry.cpp, src/geom/GeometryFactory.cpp,
+	  src/operation/valid/ConnectedInteriorTester.cpp,
+	  src/precision/GeometryPrecisionReducer.cpp,
+	  tests/bigtest/TestSweepLineSpeed.cpp, tests/bigtest/bug234.cpp,
+	  tests/perf/operation/buffer/IteratedBufferStressTest.cpp,
+	  tests/perf/operation/predicate/RectangleIntersectsPerfTest.cpp,
+	  tests/unit/algorithm/ConvexHullTest.cpp,
+	  tests/unit/algorithm/PointLocatorTest.cpp,
+	  tests/unit/algorithm/RobustLineIntersectionTest.cpp,
+	  tests/unit/algorithm/RobustLineIntersectorTest.cpp,
+	  tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp,
+	  tests/unit/capi/GEOSPreparedGeometryTest.cpp,
+	  tests/unit/geom/Geometry/clone.cpp,
+	  tests/unit/geom/Geometry/coversTest.cpp,
+	  tests/unit/geom/Geometry/equalsTest.cpp,
+	  tests/unit/geom/Geometry/isRectangleTest.cpp,
+	  tests/unit/geom/Geometry/normalize.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/geom/LineStringTest.cpp,
+	  tests/unit/geom/LinearRingTest.cpp,
+	  tests/unit/geom/MultiPointTest.cpp,
+	  tests/unit/geom/PointTest.cpp, tests/unit/geom/PolygonTest.cpp,
+	  tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp,
+	  tests/unit/geom/util/GeometryExtracterTest.cpp,
+	  tests/unit/io/WKBReaderTest.cpp, tests/unit/io/WKBWriterTest.cpp,
+	  tests/unit/io/WKTReaderTest.cpp, tests/unit/io/WKTWriterTest.cpp,
+	  tests/unit/linearref/LengthIndexedLineTest.cpp,
+	  tests/unit/noding/OrientedCoordinateArray.cpp,
+	  tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp,
+	  tests/unit/operation/IsSimpleOpTest.cpp,
+	  tests/unit/operation/buffer/BufferBuilderTest.cpp,
+	  tests/unit/operation/buffer/BufferOpTest.cpp,
+	  tests/unit/operation/distance/DistanceOpTest.cpp,
+	  tests/unit/operation/intersection/RectangleIntersectionTest.cpp,
+	  tests/unit/operation/linemerge/LineMergerTest.cpp,
+	  tests/unit/operation/linemerge/LineSequencerTest.cpp,
+	  tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp,
+	  tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp,
+	  tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp,
+	  tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp,
+	  tests/unit/operation/polygonize/PolygonizeTest.cpp,
+	  tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp,
+	  tests/unit/operation/union/CascadedPolygonUnionTest.cpp,
+	  tests/unit/operation/union/UnaryUnionOpTest.cpp,
+	  tests/unit/operation/valid/IsValidTest.cpp,
+	  tests/unit/operation/valid/ValidClosedRingTest.cpp,
+	  tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp,
+	  tests/unit/precision/GeometryPrecisionReducerTest.cpp,
+	  tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp,
+	  tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp,
+	  tests/unit/simplify/TopologyPreservingSimplifierTest.cpp,
+	  tests/unit/triangulate/DelaunayTest.cpp,
+	  tests/unit/triangulate/VoronoiTest.cpp,
+	  tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp,
+	  tests/unit/util/UniqueCoordinateArrayFilterTest.cpp,
+	  tests/xmltester/SimpleWKTTester.cpp,
+	  tests/xmltester/XMLTester.cpp, tests/xmltester/XMLTester.h:
+	  Prevent stack allocation of GeometryFactory
+	  
+	  Geometry factory objects can be created by static methods
+	  returning a smart pointer with automatic ownership transfer
+	  semantic. The so-created GeometryFactory will be kept alive
+	  as long as Geometry objects referencing it will be alive.
+
+2015-10-01 15:22  Sandro Santilli <strk at kbt.io>
+
+	* [r4090] src/operation/buffer/BufferBuilder.cpp: Fix a memory leak
+	  in bufferLineSingleSided
+	  
+	  The leak was exposed by an existing unit test
+
+2015-09-10 08:49  Sandro Santilli <strk at kbt.io>
+
+	* [r4089] .travis.yml: 64bit builds do not fail anymore on travis
+
+2015-08-16 22:19  Paul Ramsey <pramsey at cleverelephant.ca>
+
+	* [r4085] CMakeLists.txt, HOWTO_RELEASE, NEWS, capi/geos_c.h.in,
+	  configure.ac, include/geos/version.h.vc: Bump trunk versions to
+	  3.6
 
 2015-08-14 18:19  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r4082] Ignore build artefacts
+	* [r4082] include/geos/operation/intersection,
+	  src/operation/intersection: Ignore build artefacts
 
 2015-08-12 18:55  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r4081] Fix corner case of comparing preparedpoint to point
+	* [r4081] src/geom/prep/PreparedPoint.cpp: Fix corner case of
+	  comparing preparedpoint to point
 
 2015-08-12 16:57  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r4080] Include interrupt header, dummy
+	* [r4080] src/algorithm/ConvexHull.cpp: Include interrupt header,
+	  dummy
 
 2015-08-12 16:52  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r4079] Add some interrupt checks to ConvexHull
+	* [r4079] src/algorithm/ConvexHull.cpp: Add some interrupt checks
+	  to ConvexHull
 
 2015-08-12 13:42  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r4078] Quiet clang warning and match const signatures on
-	  PreparedPolygon
+	* [r4078] include/geos/geom/prep/PreparedPoint.h,
+	  src/geom/prep/PreparedPoint.cpp: Quiet clang warning and match
+	  const signatures on PreparedPolygon
 
 2015-08-12 13:34  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r4077] Quiet 64-bit errors in OSX build by preferring
-	  longlongint defn of 64bit to longint
+	* [r4077] configure.ac: Quiet 64-bit errors in OSX build by
+	  preferring longlongint defn of 64bit to longint
 
 2015-08-12 00:22  Regina Obe <lr at pcorp.us>
 
-	* [r4076] #736 3.5.0-dev compilation errors on MinGW - okay
-	  committed too fast. This one works but may screw up real mingw
-	  people
+	* [r4076] src/inlines.cpp: #736 3.5.0-dev compilation errors on
+	  MinGW - okay committed too fast. This one works but may screw up
+	  real mingw people
 
 2015-08-11 23:27  Regina Obe <lr at pcorp.us>
 
-	* [r4075] #736 3.5.0-dev compilation errors on MinGW
+	* [r4075] src/inlines.cpp: #736 3.5.0-dev compilation errors on
+	  MinGW
 
 2015-08-06 15:17  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r4072] Allow failure for CMake x64 build on Travis CI.
+	* [r4072] .travis.yml: Allow failure for CMake x64 build on Travis
+	  CI.
 	  
 	  This should eliminate unimportant signal and keep the core GEOS
 	  builds green.
 
 2015-08-05 14:37  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r4069] Delete scripts no longer used in container-based Travis
-	  CI
+	* [r4069] tools/ci/before_install.sh,
+	  tools/ci/before_install_autotools.sh,
+	  tools/ci/before_install_cmake.sh: Delete scripts no longer used
+	  in container-based Travis CI
 
 2015-08-05 14:16  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r4068] First stab at migrating travis builds to container
-	  architecture (#739)
+	* [r4068] .travis.yml: First stab at migrating travis builds to
+	  container architecture (#739)
 
-2015-08-04 08:29  Sandro Santilli <strk at keybit.net>
+2015-08-04 08:29  Sandro Santilli <strk at kbt.io>
 
-	* [r4067] Expose clipByRect to PHP bindings (#734)
+	* [r4067] NEWS, php/geos.c, php/test/test.php: Expose clipByRect to
+	  PHP bindings (#734)
 
 2015-07-28 21:08  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r4064] Include <geos/platform.h> which defines NOMINMAX on
-	  Windows/VC++.
+	* [r4064] src/algorithm/LineIntersector.cpp, src/io/WKTWriter.cpp,
+	  src/operation/buffer/BufferOp.cpp,
+	  src/operation/buffer/OffsetCurveSetBuilder.cpp: Include
+	  <geos/platform.h> which defines NOMINMAX on Windows/VC++.
 	  Closes ticket #701.
 
 2015-07-28 20:59  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r4063] Add operation/intersection/*.cpp to NMAKE makefiles
+	* [r4063] src/Makefile.vc, src/dirlist.mk: Add
+	  operation/intersection/*.cpp to NMAKE makefiles
 
 2015-07-28 20:45  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r4062] Add NMAKE version from released Visual Studio 2015
+	* [r4062] nmake.opt: Add NMAKE version from released Visual Studio
+	  2015
 
-2015-07-20 17:31  Sandro Santilli <strk at keybit.net>
+2015-07-20 17:31  Sandro Santilli <strk at kbt.io>
 
-	* [r4061] Initialize all members of GEOSContextHandle_HS on
-	  construction
+	* [r4061] capi/geos_ts_c.cpp: Initialize all members of
+	  GEOSContextHandle_HS on construction
 
-2015-07-20 17:25  Sandro Santilli <strk at keybit.net>
+2015-07-20 17:25  Sandro Santilli <strk at kbt.io>
 
-	* [r4060] Extend error and notice notification with threadsafe
-	  variants (#663)
+	* [r4060] NEWS, capi/geos_c.h.in, capi/geos_ts_c.cpp: Extend error
+	  and notice notification with threadsafe variants (#663)
 	  
 	  Patch by Pepijn Van Eeckhoudt <pepijn at vaneeckhoudt.net>
 	  Tested by Alessandro Furieri <a.furieri at lqt.it>
 	  
 	  Signed-off-by: Sandro Santilli <strk at keybit.net>
 
-2015-07-19 13:04  Sandro Santilli <strk at keybit.net>
+2015-07-19 13:04  Sandro Santilli <strk at kbt.io>
 
-	* [r4059] Add missing include (thanks Alessandro Furieri)
+	* [r4059]
+	  src/operation/intersection/RectangleIntersectionBuilder.cpp: Add
+	  missing include (thanks Alessandro Furieri)
 
 2015-07-07 09:28  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r4058] Update nmake.opt to recognize NMAKE 11.00.50522.1.
+	* [r4058] nmake.opt: Update nmake.opt to recognize NMAKE
+	  11.00.50522.1.
 	  Fixes #578.
 
 2015-05-18 09:50  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r4057] Merged revision(s) 4056 from branches/3.4:
+	* [r4057] ., nmake.opt: Merged revision(s) 4056 from branches/3.4:
 	  Fixed build configuration for NMAKE with Visual Leak Detector
 	  enabled (#715)
 
 2015-04-30 18:35  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r4054] Add NMAKE version from Visual Studio 2015 RC
+	* [r4054] nmake.opt: Add NMAKE version from Visual Studio 2015 RC
 
-2015-04-20 16:59  Sandro Santilli <strk at keybit.net>
+2015-04-20 16:59  Sandro Santilli <strk at kbt.io>
 
-	* [r4053] Fix unused variables warnings
+	* [r4053] tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp: Fix
+	  unused variables warnings
 
-2015-04-20 16:59  Sandro Santilli <strk at keybit.net>
+2015-04-20 16:59  Sandro Santilli <strk at kbt.io>
 
-	* [r4052] Cleanup CoordinateSequenceFactory interface
+	* [r4052] NEWS, include/geos/geom/CoordinateArraySequenceFactory.h,
+	  include/geos/geom/CoordinateArraySequenceFactory.inl,
+	  include/geos/geom/CoordinateSequenceFactory.h,
+	  src/algorithm/MinimumDiameter.cpp,
+	  src/geom/CoordinateSequence.cpp, src/geom/LineString.cpp,
+	  src/geom/Point.cpp, src/geom/Polygon.cpp,
+	  src/geomgraph/EdgeRing.cpp, src/io/WKTReader.cpp,
+	  src/operation/linemerge/EdgeString.cpp,
+	  src/operation/polygonize/EdgeRing.cpp,
+	  tests/unit/geom/CoordinateArraySequenceFactoryTest.cpp: Cleanup
+	  CoordinateSequenceFactory interface
 	  
 	  Adds method for creating empty sequence.
 	  Syncronizes CoordinateArraySequenceFactory methods.
@@ -123,28 +1123,33 @@
 
 2015-04-16 06:18  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r4051] Replace geos.h with specific headers from C++ API.
+	* [r4051] tests/unit/capi/GEOSPreparedGeometryTest.cpp: Replace
+	  geos.h with specific headers from C++ API.
 	  Replace WKBReader with GEOSGeomFromHEX_buf where the former is
 	  unnecessary.
 	  
 	  This addresses Sandro's review comment from
 	  https://github.com/libgeos/libgeos/commit/7196b9a2e5a3ebc393a1810f6c7d841a00b50844#commitcomment-10731724
 
-2015-04-10 07:37  Sandro Santilli <strk at keybit.net>
+2015-04-10 07:37  Sandro Santilli <strk at kbt.io>
 
-	* [r4050] Enable GEOSisClosed test
+	* [r4050] tests/unit/Makefile.am: Enable GEOSisClosed test
 
-2015-04-10 07:37  Sandro Santilli <strk at keybit.net>
+2015-04-10 07:37  Sandro Santilli <strk at kbt.io>
 
-	* [r4049] Support for MultiLineString->isClosed() in C API
+	* [r4049] NEWS, capi/geos_ts_c.cpp,
+	  tests/unit/capi/GEOSisClosedTest.cpp: Support for
+	  MultiLineString->isClosed() in C API
 	  
 	  Includes tests for GEOSisClosed() in C API
 	  
 	  Patch by Benjamin Morel <benjamin.morel at gmail.com>
 
-2015-03-02 11:22  Sandro Santilli <strk at keybit.net>
+2015-03-02 11:22  Sandro Santilli <strk at kbt.io>
 
-	* [r4048] Fix memory leak in extent-limited overlay operations
+	* [r4048] src/operation/overlay/OverlayOp.cpp,
+	  tests/unit/Makefile.am, tests/unit/capi/GEOSIntersectionTest.cpp:
+	  Fix memory leak in extent-limited overlay operations
 	  
 	  The leak was introduced by recent enhancement of the class to
 	  support extent-limited operation. It was spotted by Mick Orridge
@@ -152,19 +1157,26 @@
 	  
 	  Fixes #719
 
-2015-02-03 10:11  Sandro Santilli <strk at keybit.net>
+2015-02-03 10:11  Sandro Santilli <strk at kbt.io>
 
-	* [r4047] Add github-friendly README.md file
+	* [r4047] README.md: Add github-friendly README.md file
 	  
 	  contains travis build status and reference to actual README
 
-2015-01-23 10:36  Sandro Santilli <strk at keybit.net>
+2015-01-23 10:36  Sandro Santilli <strk at kbt.io>
 
-	* [r4046] Add (succeeding) test for reported bug #569
+	* [r4046] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug569.xml: Add (succeeding) test
+	  for reported bug #569
 
-2015-01-19 10:59  Sandro Santilli <strk at keybit.net>
+2015-01-19 10:59  Sandro Santilli <strk at kbt.io>
 
-	* [r4040] Improve robustness of intersection testing (#716)
+	* [r4040] include/geos/algorithm/RayCrossingCounter.h,
+	  src/algorithm/CGAlgorithms.cpp,
+	  src/algorithm/RayCrossingCounter.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug716.xml: Improve robustness of
+	  intersection testing (#716)
 	  
 	  RayCrossingCounter uses orientationIndex to handle floating point
 	  precision errors the same way as LineIntersector.
@@ -175,7 +1187,9 @@
 
 2014-12-05 09:37  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r4038] Add two test cases, point-on-segment and point-on-vertex.
+	* [r4038] tests/unit/algorithm/RobustLineIntersectorTest.cpp,
+	  tests/unit/capi/GEOSPreparedGeometryTest.cpp: Add two test cases,
+	  point-on-segment and point-on-vertex.
 	  
 	  Curious detail of the tests is that points of interest have
 	  nearly exact X of tested points, the values differ after 14th
@@ -189,8 +1203,8 @@
 
 2014-11-26 15:33  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r4037] Fix MSVC handling of strtod (Thanks to Paul Kohut for the
-	  patch submitted as part of
+	* [r4037] src/io/StringTokenizer.cpp: Fix MSVC handling of strtod
+	  (Thanks to Paul Kohut for the patch submitted as part of
 	  https://github.com/libgeos/libgeos/pull/31/)
 	  Apparently, it solves the long running INF/NAN parsing issues on
 	  Windows and enables GEOSisValidDetail test pass again.
@@ -198,77 +1212,107 @@
 
 2014-11-26 14:58  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r4036] Add GenerateSourceGroups macro.
+	* [r4036] CMakeLists.txt, cmake/modules/GenerateSourceGroups.cmake,
+	  include/CMakeLists.txt, src/CMakeLists.txt, tests/CMakeLists.txt,
+	  tests/unit/CMakeLists.txt: Add GenerateSourceGroups macro.
 	  Attempt to generate source_group for IDEs reflecting folders
 	  structure.
 	  No functional changes to build configuration included.
 
-2014-11-12 16:42  Sandro Santilli <strk at keybit.net>
+2014-11-12 16:42  Sandro Santilli <strk at kbt.io>
 
-	* [r4035] Fix revision extracter for calls from external build dir
+	* [r4035] tools/svn_repo_revision.sh: Fix revision extracter for
+	  calls from external build dir
 
-2014-11-12 12:08  Sandro Santilli <strk at keybit.net>
+2014-11-12 12:08  Sandro Santilli <strk at kbt.io>
 
-	* [r4034] Add interruptability support to XMLTester (trigger with
-	  SIGTERM)
+	* [r4034] tests/xmltester/XMLTester.cpp: Add interruptability
+	  support to XMLTester (trigger with SIGTERM)
 
-2014-11-12 10:02  Sandro Santilli <strk at keybit.net>
+2014-11-12 10:02  Sandro Santilli <strk at kbt.io>
 
-	* [r4033] Ignore more generated files
+	* [r4033] .gitignore: Ignore more generated files
 
-2014-11-11 10:19  Sandro Santilli <strk at keybit.net>
+2014-11-11 10:19  Sandro Santilli <strk at kbt.io>
 
-	* [r4031] Further enhance RelateOp interruptibility (#711)
+	* [r4031] src/geomgraph/GeometryGraph.cpp,
+	  src/geomgraph/PlanarGraph.cpp,
+	  src/operation/relate/RelateComputer.cpp: Further enhance RelateOp
+	  interruptibility (#711)
 	  
 	  Adds interruptibility calls in GeometryGraph and RelateComputer
 	  
 	  Funded by CartoDB
 
-2014-11-10 09:57  Sandro Santilli <strk at keybit.net>
+2014-11-10 09:57  Sandro Santilli <strk at kbt.io>
 
-	* [r4030] Make RelateComputer interruptible (#711)
+	* [r4030] src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:
+	  Make RelateComputer interruptible (#711)
 	  
 	  Injects interruptibility calls in SimpleMCSweepLineIntersector
 	  
 	  Funded by CartoDB
 
-2014-11-04 18:15  Sandro Santilli <strk at keybit.net>
+2014-11-04 18:15  Sandro Santilli <strk at kbt.io>
 
-	* [r4027] Fix build of PHP bindings with PHP < 5.3.99 (#709)
+	* [r4027] php/geos.c, php/test/test.php: Fix build of PHP bindings
+	  with PHP < 5.3.99 (#709)
 	  
 	  Tested with php 5.3.2
 	  Thanks KayMadejski for the report
 
-2014-09-25 16:25  Sandro Santilli <strk at keybit.net>
+2014-09-25 16:25  Sandro Santilli <strk at kbt.io>
 
-	* [r4026] Reduce max number of tests to 255, in case it makes clang
-	  happier
+	* [r4026]
+	  tests/unit/operation/intersection/RectangleIntersectionTest.cpp:
+	  Reduce max number of tests to 255, in case it makes clang happier
 	  
 	  See https://travis-ci.org/libgeos/libgeos/jobs/36269669
 
-2014-09-25 15:32  Sandro Santilli <strk at keybit.net>
+2014-09-25 15:32  Sandro Santilli <strk at kbt.io>
 
-	* [r4025] Fix another boundary bug in RectangleIntersection
+	* [r4025] src/operation/intersection/RectangleIntersection.cpp,
+	  tests/unit/operation/intersection/RectangleIntersectionTest.cpp:
+	  Fix another boundary bug in RectangleIntersection
 
-2014-09-25 15:21  Sandro Santilli <strk at keybit.net>
+2014-09-25 15:21  Sandro Santilli <strk at kbt.io>
 
-	* [r4024] Fix bug in RectangleIntersection on finding rect fully
-	  contained
+	* [r4024] src/operation/intersection/RectangleIntersection.cpp: Fix
+	  bug in RectangleIntersection on finding rect fully contained
 
-2014-09-25 15:21  Sandro Santilli <strk at keybit.net>
+2014-09-25 15:21  Sandro Santilli <strk at kbt.io>
 
-	* [r4023] Fix bug in RectangleIntersection (was cought by testsuite
-	  too!)
+	* [r4023] src/operation/intersection/RectangleIntersection.cpp: Fix
+	  bug in RectangleIntersection (was cought by testsuite too!)
 
-2014-09-25 15:17  Sandro Santilli <strk at keybit.net>
+2014-09-25 15:17  Sandro Santilli <strk at kbt.io>
 
-	* [r4022] Remove debugging lines, reduce cost of envelope filter
+	* [r4022] src/geomgraph/GeometryGraph.cpp,
+	  src/operation/overlay/OverlayOp.cpp: Remove debugging lines,
+	  reduce cost of envelope filter
 	  
 	  ... when the filter envelope fully convers the geometry envelope
 
-2014-09-25 10:46  Sandro Santilli <strk at keybit.net>
-
-	* [r4021] Add optimized RectangleIntersection functionality
+2014-09-25 10:46  Sandro Santilli <strk at kbt.io>
+
+	* [r4021] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, configure.ac,
+	  include/geos/operation/Makefile.am,
+	  include/geos/operation/intersection,
+	  include/geos/operation/intersection/Makefile.am,
+	  include/geos/operation/intersection/Rectangle.h,
+	  include/geos/operation/intersection/RectangleIntersection.h,
+	  include/geos/operation/intersection/RectangleIntersectionBuilder.h,
+	  src/geom/Geometry.cpp, src/operation/Makefile.am,
+	  src/operation/intersection,
+	  src/operation/intersection/Makefile.am,
+	  src/operation/intersection/Rectangle.cpp,
+	  src/operation/intersection/RectangleIntersection.cpp,
+	  src/operation/intersection/RectangleIntersectionBuilder.cpp,
+	  tests/unit/Makefile.am, tests/unit/capi/GEOSClipByRectTest.cpp,
+	  tests/unit/operation/intersection,
+	  tests/unit/operation/intersection/RectangleIntersectionTest.cpp:
+	  Add optimized RectangleIntersection functionality
 	  
 	  Includes:
 	  C++ API, with tests
@@ -280,192 +1324,235 @@
 	  
 	  See #699 for background
 
-2014-09-24 07:52  Sandro Santilli <strk at keybit.net>
+2014-09-24 07:52  Sandro Santilli <strk at kbt.io>
 
-	* [r4019] Fixed compilation against thread-safe PHP (ZTS)
+	* [r4019] php/geos.c: Fixed compilation against thread-safe PHP
+	  (ZTS)
 	  
 	  Closes #541
 	  Patch-by: Benjamin Morel <benjamin.morel at gmail.com>
 	  Signed-off-by: Sandro Santilli <strk at keybit.net>
 
-2014-09-23 08:17  Sandro Santilli <strk at keybit.net>
+2014-09-23 08:17  Sandro Santilli <strk at kbt.io>
 
-	* [r4018] Further speedup difference/intersection at the validating
-	  phase
+	* [r4018] include/geos/operation/overlay/OverlayOp.h,
+	  src/operation/overlay/OverlayOp.cpp: Further speedup
+	  difference/intersection at the validating phase
 	  
 	  This avoids to insert to the output graph edges which do not
 	  intersect
 	  the target envelope.
 
-2014-09-23 07:55  Sandro Santilli <strk at keybit.net>
+2014-09-23 07:55  Sandro Santilli <strk at kbt.io>
 
-	* [r4017] OverlayOp: restrict intersection computations to the
-	  target extent
+	* [r4017] NEWS, include/geos/geomgraph/GeometryGraph.h,
+	  include/geos/geomgraph/GeometryGraph.inl,
+	  include/geos/operation/overlay/OverlayOp.h,
+	  src/geomgraph/GeometryGraph.cpp,
+	  src/operation/overlay/OverlayOp.cpp: OverlayOp: restrict
+	  intersection computations to the target extent
 	  
 	  Speeds up INTERSECTION and DIFFERENCE operations between
 	  geometries
 	  with small bounding box overlap.
 
-2014-09-22 14:13  Sandro Santilli <strk at keybit.net>
+2014-09-22 14:13  Sandro Santilli <strk at kbt.io>
 
-	* [r4016] Refactored PHP bindings tests
+	* [r4016] php/test/test.php: Refactored PHP bindings tests
 	  
 	  Patch by Benjamin Morel <benjamin.morel at gmail.com>
 
-2014-09-22 07:42  Sandro Santilli <strk at keybit.net>
+2014-09-22 07:42  Sandro Santilli <strk at kbt.io>
 
-	* [r4015] Add WKBReader::read() & WKBWriter::write() PHP bindings
+	* [r4015] NEWS, php/geos.c, php/test/test.php: Add
+	  WKBReader::read() & WKBWriter::write() PHP bindings
 	  
 	  Includes tests.
 	  Patch by Benjamin Morel <benjamin.morel at gmail.com>
 	  
 	  Signed-off-by: Sandro Santilli <strk at keybit.net>
 
-2014-09-19 13:50  Sandro Santilli <strk at keybit.net>
+2014-09-19 13:50  Sandro Santilli <strk at kbt.io>
 
-	* [r4014] Report time it took to run each test
+	* [r4014] tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/XMLTester.h: Report time it took to run each test
 
-2014-09-19 08:11  Sandro Santilli <strk at keybit.net>
+2014-09-19 08:11  Sandro Santilli <strk at kbt.io>
 
-	* [r4013] Normalize voronoi diagram results for comparing to
-	  expected output
+	* [r4013] php/test/test.php: Normalize voronoi diagram results for
+	  comparing to expected output
 
-2014-09-19 08:02  Sandro Santilli <strk at keybit.net>
+2014-09-19 08:02  Sandro Santilli <strk at kbt.io>
 
-	* [r4012] Add AUTOMAKE_OPTIONS = subdir-objects, to please automake
-	  1.14.1
+	* [r4012] src/operation/overlay/Makefile.am,
+	  src/planargraph/Makefile.am, tests/unit/Makefile.am,
+	  tests/xmltester/Makefile.am: Add AUTOMAKE_OPTIONS =
+	  subdir-objects, to please automake 1.14.1
 
-2014-09-17 16:14  Sandro Santilli <strk at keybit.net>
+2014-09-17 16:14  Sandro Santilli <strk at kbt.io>
 
-	* [r4011] Accept differently-structured but point-set equivalent
-	  intersection result
+	* [r4011] php/test/test.php: Accept differently-structured but
+	  point-set equivalent intersection result
 
-2014-09-17 07:36  Sandro Santilli <strk at keybit.net>
+2014-09-17 07:36  Sandro Santilli <strk at kbt.io>
 
-	* [r4010] Remove more duplicated tests
+	* [r4010] tests/xmltester/tests/testLeaksBig.xml: Remove more
+	  duplicated tests
 	  
 	  Tests were found in TestFunctionAA.xml, TestFunctionLA.xml
 	  TestFunctionPA.xml TestFunctionPL.xml TestFunctionPP.xml
 	  TestFunctionLLPrec.xml, TestRelatePP.xml
 
-2014-09-16 16:53  Sandro Santilli <strk at keybit.net>
+2014-09-16 16:53  Sandro Santilli <strk at kbt.io>
 
-	* [r4009] Remove duplicated tests
+	* [r4009] tests/xmltester/tests/testLeaksBig.xml: Remove duplicated
+	  tests
 	  
 	  The removed tests are already present in other xml files under
 	  general/
 	  There's more to drop here too...
 
-2014-09-16 15:37  Sandro Santilli <strk at keybit.net>
+2014-09-16 15:37  Sandro Santilli <strk at kbt.io>
 
-	* [r4008] Add some tolerance to VoronoiDiagram tester
+	* [r4008] tests/unit/capi/GEOSVoronoiDiagramTest.cpp: Add some
+	  tolerance to VoronoiDiagram tester
 
-2014-09-16 15:00  Sandro Santilli <strk at keybit.net>
+2014-09-16 15:00  Sandro Santilli <strk at kbt.io>
 
-	* [r4007] Do not output duplicated vertices from
-	  QuadEdgeSubdivision class (#705)
+	* [r4007] src/triangulate/quadedge/QuadEdgeSubdivision.cpp,
+	  tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp: Do
+	  not output duplicated vertices from QuadEdgeSubdivision class
+	  (#705)
 	  
 	  Includes testcase
 
-2014-09-16 09:52  Sandro Santilli <strk at keybit.net>
+2014-09-16 09:52  Sandro Santilli <strk at kbt.io>
 
-	* [r4006] Add tests for Geometry->normalize()
+	* [r4006] tests/unit/Makefile.am,
+	  tests/unit/geom/Geometry/normalize.cpp: Add tests for
+	  Geometry->normalize()
 
-2014-09-16 08:50  Sandro Santilli <strk at keybit.net>
+2014-09-16 08:50  Sandro Santilli <strk at kbt.io>
 
-	* [r4005] Have VoronoiTest print expected/obtained on failure
+	* [r4005] tests/unit/triangulate/VoronoiTest.cpp: Have VoronoiTest
+	  print expected/obtained on failure
 
-2014-09-15 16:09  Sandro Santilli <strk at keybit.net>
+2014-09-15 16:09  Sandro Santilli <strk at kbt.io>
 
-	* [r4004] Expose Geometry->normalize() method in PHP binding
+	* [r4004] NEWS, php/geos.c, php/test/test.php: Expose
+	  Geometry->normalize() method in PHP binding
 
-2014-09-15 14:29  Sandro Santilli <strk at keybit.net>
+2014-09-15 14:29  Sandro Santilli <strk at kbt.io>
 
-	* [r4003] Normalize result before comparing
+	* [r4003] tests/unit/capi/GEOSVoronoiDiagramTest.cpp: Normalize
+	  result before comparing
 
-2014-09-12 14:35  Sandro Santilli <strk at keybit.net>
+2014-09-12 14:35  Sandro Santilli <strk at kbt.io>
 
-	* [r4002] More ignores...
+	* [r4002] .gitignore: More ignores...
 
-2014-09-09 14:46  Sandro Santilli <strk at keybit.net>
+2014-09-09 14:46  Sandro Santilli <strk at kbt.io>
 
-	* [r4001] Fix Empty to Empty equals response (#703)
+	* [r4001] src/geom/Envelope.cpp, src/geom/Geometry.cpp,
+	  tests/unit/Makefile.am, tests/unit/geom/EnvelopeTest.cpp,
+	  tests/unit/geom/Geometry/equalsTest.cpp,
+	  tests/unit/geom/PointTest.cpp: Fix Empty to Empty equals response
+	  (#703)
 
-2014-08-25 07:42  Sandro Santilli <strk at keybit.net>
+2014-08-25 07:42  Sandro Santilli <strk at kbt.io>
 
-	* [r3996] Fix OpenBSD build (#700)
+	* [r3996] include/geos/platform.h.in: Fix OpenBSD build (#700)
 
 2014-08-09 03:13  Regina Obe <lr at pcorp.us>
 
-	* [r3995] #698 patch to support MSVC12 and MSVC13
+	* [r3995] CMakeLists.txt: #698 patch to support MSVC12 and MSVC13
 
-2014-06-30 20:16  Sandro Santilli <strk at keybit.net>
+2014-06-30 20:16  Sandro Santilli <strk at kbt.io>
 
-	* [r3992] TestUnaryUnion.xml was ported
+	* [r3992] tests/xmltester/tests/general/MISSING: TestUnaryUnion.xml
+	  was ported
 
-2014-06-30 14:11  Sandro Santilli <strk at keybit.net>
+2014-06-30 14:11  Sandro Santilli <strk at kbt.io>
 
-	* [r3991] Allow C-API users to hide non-reentrant section
+	* [r3991] NEWS, capi/geos_c.h.in: Allow C-API users to hide
+	  non-reentrant section
 	  
 	  Define GEOS_USE_ONLY_R_API to obtain a compile-time error when
 	  trying to use non-reentrant functions.
 	  
 	  Patch by Even Rouault (#695)
 
-2014-06-29 14:50  Sandro Santilli <strk at keybit.net>
+2014-06-29 14:50  Sandro Santilli <strk at kbt.io>
 
-	* [r3990] Typoes fixed in comments
+	* [r3990] include/geos/util/IllegalArgumentException.h,
+	  include/geos/util/UnsupportedOperationException.h: Typoes fixed
+	  in comments
 	  
 	  Patches by Jochen Topf:
 	  https://github.com/libgeos/libgeos/pull/34
 	  https://github.com/libgeos/libgeos/pull/35
 
-2014-06-20 08:39  Sandro Santilli <strk at keybit.net>
+2014-06-20 08:39  Sandro Santilli <strk at kbt.io>
 
-	* [r3989] Revert "Fix PreparedPoint::intersects signature to match
-	  the upper virtual"
+	* [r3989] include/geos/geom/prep/PreparedPoint.h,
+	  src/geom/prep/PreparedPoint.cpp: Revert "Fix
+	  PreparedPoint::intersects signature to match the upper virtual"
 	  
 	  This reverts commit r3988
 	  The non-broken signature introduces a discrepancy between
 	  PreparedPoint::intersects and Point::intersects
 	  See http://trac.osgeo.org/geos/ticket/694
 
-2014-06-20 07:48  Sandro Santilli <strk at keybit.net>
+2014-06-20 07:48  Sandro Santilli <strk at kbt.io>
 
-	* [r3988] Fix PreparedPoint::intersects signature to match the
-	  upper virtual
+	* [r3988] include/geos/geom/prep/PreparedPoint.h,
+	  src/geom/prep/PreparedPoint.cpp: Fix PreparedPoint::intersects
+	  signature to match the upper virtual
 	  
 	  Thanks Mikhail Veltishchev for pointing out
 	  See https://github.com/libgeos/libgeos/pull/33
 
-2014-06-20 07:39  Sandro Santilli <strk at keybit.net>
+2014-06-20 07:39  Sandro Santilli <strk at kbt.io>
 
-	* [r3987] Update ruby binding build scripts
+	* [r3987] macros/ruby.m4, swig/ruby/Makefile.am,
+	  swig/ruby/geos_wrap.cxx: Update ruby binding build scripts
 	  
 	  Build succeeds with ruby1.9.1-dev.
 	  Swig wrapper updated.
 	  See https://github.com/libgeos/libgeos/pull/22
 
-2014-06-20 07:28  Sandro Santilli <strk at keybit.net>
+2014-06-20 07:28  Sandro Santilli <strk at kbt.io>
 
-	* [r3986] Clean up strtree::Interval interface
+	* [r3986] include/geos/index/strtree/Interval.h,
+	  src/index/strtree/Interval.cpp, src/index/strtree/SIRtree.cpp:
+	  Clean up strtree::Interval interface
 	  
 	  Set const-correctness, drop useless copy-ctor-like method
 
-2014-05-21 16:08  Sandro Santilli <strk at keybit.net>
+2014-05-21 16:08  Sandro Santilli <strk at kbt.io>
 
-	* [r3985] Change GEOSVoronoiDiagram signature to accept optional
-	  clip extent
+	* [r3985] .gitignore, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, php/geos.c, php/test/test.php,
+	  swig/python/geos.py, swig/python/geos_wrap.cxx,
+	  tests/unit/capi/GEOSVoronoiDiagramTest.cpp: Change
+	  GEOSVoronoiDiagram signature to accept optional clip extent
 	  
 	  With this change I'll consider voronoi API final
 
-2014-05-21 14:21  Sandro Santilli <strk at keybit.net>
+2014-05-21 14:21  Sandro Santilli <strk at kbt.io>
 
-	* [r3984] Expose Geometry.voronoiDiagram in PHP interface
+	* [r3984] php/geos.c, php/test/test.php: Expose
+	  Geometry.voronoiDiagram in PHP interface
 
-2014-05-21 14:21  Sandro Santilli <strk at keybit.net>
+2014-05-21 14:21  Sandro Santilli <strk at kbt.io>
 
-	* [r3983] Fix GEOSVoronoiDiagram on requesting edges only
+	* [r3983] capi/geos_ts_c.cpp,
+	  include/geos/triangulate/VoronoiDiagramBuilder.h,
+	  include/geos/triangulate/quadedge/QuadEdgeSubdivision.h,
+	  src/triangulate/VoronoiDiagramBuilder.cpp,
+	  src/triangulate/quadedge/QuadEdgeSubdivision.cpp,
+	  tests/unit/capi/GEOSVoronoiDiagramTest.cpp: Fix
+	  GEOSVoronoiDiagram on requesting edges only
 	  
 	  Before this fix asking for edges would return the edges of
 	  the triangle used as abase for the Voronoi diagram.
@@ -473,55 +1560,91 @@
 
 2014-05-07 17:32  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3981] Apply minimal changes to enable building with Visual
-	  Studio 2013 (Ticket #691)
+	* [r3981] nmake.opt, src/algorithm/LineIntersector.cpp,
+	  src/geom/LineSegment.cpp, src/io/WKTWriter.cpp,
+	  src/operation/buffer/OffsetCurveSetBuilder.cpp: Apply minimal
+	  changes to enable building with Visual Studio 2013 (Ticket #691)
 
-2014-03-29 10:37  Sandro Santilli <strk at keybit.net>
+2014-03-29 10:37  Sandro Santilli <strk at kbt.io>
 
-	* [r3978] Polygonizer: do not pretend all exceptions are due to
-	  edge invalidity
+	* [r3978] src/operation/polygonize/EdgeRing.cpp: Polygonizer: do
+	  not pretend all exceptions are due to edge invalidity
 
-2014-03-28 21:13  Sandro Santilli <strk at keybit.net>
+2014-03-28 21:13  Sandro Santilli <strk at kbt.io>
 
-	* [r3977] Make polygonize operation interruptable
+	* [r3977] src/operation/polygonize/Polygonizer.cpp: Make polygonize
+	  operation interruptable
 
-2014-03-17 14:17  Sandro Santilli <strk at keybit.net>
+2014-03-17 14:17  Sandro Santilli <strk at kbt.io>
 
-	* [r3976] Fix nmake build (#689)
+	* [r3976] src/Makefile.vc: Fix nmake build (#689)
 
-2014-03-16 16:08  Sandro Santilli <strk at keybit.net>
+2014-03-16 16:08  Sandro Santilli <strk at kbt.io>
 
-	* [r3975] Include <cmath> from unit tests (#686)
+	* [r3975] tests/unit/geom/CoordinateArraySequenceTest.cpp,
+	  tests/unit/io/WKBWriterTest.cpp: Include <cmath> from unit tests
+	  (#686)
 
-2014-02-11 09:01  Sandro Santilli <strk at keybit.net>
+2014-02-11 09:01  Sandro Santilli <strk at kbt.io>
 
-	* [r3974] Include AM_CPPFLAGS in target-specific CPPFLAGS
+	* [r3974] capi/Makefile.am: Include AM_CPPFLAGS in target-specific
+	  CPPFLAGS
 	  
 	  Attempt to fix build on travis (with automake 1.11.3)
 	  See http://travis-ci.org/libgeos/libgeos/jobs/18602776#L2519
 
-2014-02-10 18:39  Sandro Santilli <strk at keybit.net>
-
-	* [r3973] Rename INCLUDES to AM_CPPFLAGS
+2014-02-10 18:39  Sandro Santilli <strk at kbt.io>
+
+	* [r3973] capi/Makefile.am, doc/Makefile.am, src/Makefile.am,
+	  src/algorithm/Makefile.am, src/algorithm/distance/Makefile.am,
+	  src/algorithm/locate/Makefile.am, src/geom/Makefile.am,
+	  src/geom/prep/Makefile.am, src/geom/util/Makefile.am,
+	  src/geomgraph/Makefile.am, src/geomgraph/index/Makefile.am,
+	  src/index/bintree/Makefile.am, src/index/chain/Makefile.am,
+	  src/index/intervalrtree/Makefile.am,
+	  src/index/quadtree/Makefile.am, src/index/strtree/Makefile.am,
+	  src/index/sweepline/Makefile.am, src/io/Makefile.am,
+	  src/linearref/Makefile.am, src/noding/Makefile.am,
+	  src/noding/snapround/Makefile.am, src/operation/Makefile.am,
+	  src/operation/buffer/Makefile.am,
+	  src/operation/distance/Makefile.am,
+	  src/operation/linemerge/Makefile.am,
+	  src/operation/overlay/Makefile.am,
+	  src/operation/polygonize/Makefile.am,
+	  src/operation/predicate/Makefile.am,
+	  src/operation/relate/Makefile.am,
+	  src/operation/sharedpaths/Makefile.am,
+	  src/operation/union/Makefile.am, src/operation/valid/Makefile.am,
+	  src/planargraph/Makefile.am, src/precision/Makefile.am,
+	  src/simplify/Makefile.am, src/triangulate/Makefile.am,
+	  src/triangulate/quadedge/Makefile.am, src/util/Makefile.am,
+	  swig/ruby/Makefile.am, tests/bigtest/Makefile.am,
+	  tests/geostest/Makefile.am, tests/perf/Makefile.am,
+	  tests/perf/capi/Makefile.am,
+	  tests/perf/operation/buffer/Makefile.am,
+	  tests/perf/operation/predicate/Makefile.am,
+	  tests/thread/Makefile.am, tests/unit/Makefile.am,
+	  tests/xmltester/Makefile.am: Rename INCLUDES to AM_CPPFLAGS
 	  
 	  Fixes aclocal 1.13.3 warning:
 	  'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
 	  Also tested with aclocal 1.11.1
 
-2014-02-10 18:37  Sandro Santilli <strk at keybit.net>
+2014-02-10 18:37  Sandro Santilli <strk at kbt.io>
 
-	* [r3972] Renamed configure.in to configure.ac (#683)
+	* [r3972] configure.ac, configure.in: Renamed configure.in to
+	  configure.ac (#683)
 	  
 	  Tested with GNU automake 1.13.3 and 1.11.1
 
 2014-02-10 12:49  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3971] Replace use of non-existent DLL_EXPORT with
-	  GEOS_DLL_EXPORT (Ticket #681)
+	* [r3971] src/inlines.cpp: Replace use of non-existent DLL_EXPORT
+	  with GEOS_DLL_EXPORT (Ticket #681)
 
-2013-12-10 10:01  Sandro Santilli <strk at keybit.net>
+2013-12-10 10:01  Sandro Santilli <strk at kbt.io>
 
-	* [r3966] Fix Ruby automake
+	* [r3966] swig/ruby/Makefile.am: Fix Ruby automake
 	  
 	  There is a typo or error in the automake file that prevents the
 	  Ruby
@@ -530,33 +1653,43 @@
 	  Patch by "J. Ryan Earl" <oss at jryanearl.us>
 	  See https://github.com/libgeos/libgeos/pull/32
 
-2013-12-10 09:11  Sandro Santilli <strk at keybit.net>
+2013-12-10 09:11  Sandro Santilli <strk at kbt.io>
 
-	* [r3964] Throw a ParseException on missing chars from HEXWKB
-	  string (#675)
+	* [r3964] src/io/WKBReader.cpp, tests/unit/io/WKBReaderTest.cpp:
+	  Throw a ParseException on missing chars from HEXWKB string (#675)
 	  
 	  Includes testcase.
 
 2013-11-19 17:28  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3963] Add NMAKE version from VS2012 Update 4
+	* [r3963] nmake.opt: Add NMAKE version from VS2012 Update 4
 
-2013-11-19 12:30  Sandro Santilli <strk at keybit.net>
+2013-11-19 12:30  Sandro Santilli <strk at kbt.io>
 
-	* [r3962] Prefer std::max over fmax (#674)
+	* [r3962] src/triangulate/VoronoiDiagramBuilder.cpp,
+	  tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:
+	  Prefer std::max over fmax (#674)
 	  
 	  Should fix MSVC11 builds.
 	  Patches by Twiddeldidu.
 
-2013-11-19 08:58  Sandro Santilli <strk at keybit.net>
+2013-11-19 08:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3961] Do not try to build python and ruby bindings without swig
-	  (#673)
+	* [r3961] configure.in: Do not try to build python and ruby
+	  bindings without swig (#673)
 
-2013-11-19 08:26  Sandro Santilli <strk at keybit.net>
+2013-11-19 08:26  Sandro Santilli <strk at kbt.io>
 
-	* [r3960] Define ComponentCoordinateExtracter classes in .cpp file
-	  (#535)
+	* [r3960] include/geos/geom/Geometry.h,
+	  include/geos/geom/util/ComponentCoordinateExtracter.h,
+	  include/geos/geom/util/LinearComponentExtracter.h,
+	  include/geos/geom/util/PointExtracter.h,
+	  include/geos/geom/util/PolygonExtracter.h, src/geom/Geometry.cpp,
+	  src/geom/util/ComponentCoordinateExtracter.cpp,
+	  src/geom/util/LinearComponentExtracter.cpp,
+	  src/geom/util/Makefile.am, src/geom/util/PointExtracter.cpp,
+	  src/geom/util/PolygonExtracter.cpp: Define
+	  ComponentCoordinateExtracter classes in .cpp file (#535)
 	  
 	  This is a workaround for a bug in GCC 4.4 failing to properly
 	  encode inheritance info in the shared library when the class is
@@ -564,76 +1697,97 @@
 	  
 	  Patch by Daniel Komisar <dkomisar at mak.com>
 
-2013-09-13 17:03  Sandro Santilli <strk at keybit.net>
+2013-09-13 17:03  Sandro Santilli <strk at kbt.io>
 
-	* [r3959] Added onlyEdges parameter to GEOSVoronoiDiagram (#627)
+	* [r3959] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  tests/unit/capi/GEOSVoronoiDiagramTest.cpp: Added onlyEdges
+	  parameter to GEOSVoronoiDiagram (#627)
 	  
 	  Contributed by Vishal Tiwari
 
-2013-09-13 11:41  Sandro Santilli <strk at keybit.net>
+2013-09-13 11:41  Sandro Santilli <strk at kbt.io>
 
-	* [r3957] Temptative fix for ISFINITE imple with UP-UX 11.23 build
-	  (#664)
+	* [r3957] include/geos/platform.h.in: Temptative fix for ISFINITE
+	  imple with UP-UX 11.23 build (#664)
 
-2013-09-13 09:32  Sandro Santilli <strk at keybit.net>
+2013-09-13 09:32  Sandro Santilli <strk at kbt.io>
 
-	* [r3956] ignore generated svn revision header
+	* [r3956] .gitignore: ignore generated svn revision header
 
-2013-09-13 09:09  Sandro Santilli <strk at keybit.net>
+2013-09-13 09:09  Sandro Santilli <strk at kbt.io>
 
-	* [r3955] Cleanup VoronoiDiagramBuilder interface, add NEWS item
-	  (#627)
+	* [r3955] NEWS, include/geos/triangulate/VoronoiDiagramBuilder.h,
+	  src/triangulate/VoronoiDiagramBuilder.cpp,
+	  tests/unit/triangulate/VoronoiTest.cpp: Cleanup
+	  VoronoiDiagramBuilder interface, add NEWS item (#627)
 	  
 	  Cleanups involved removing all explicit "delete" calls trough
 	  auto_ptr uses, moving some allocations from heap to stack and
 	  reducing object copies.
 
-2013-09-13 08:20  Sandro Santilli <strk at keybit.net>
+2013-09-13 08:20  Sandro Santilli <strk at kbt.io>
 
-	* [r3954] Rename CAPI method GEOSVoronoiDiagramBuilder to
-	  GEOSVoronoiDiagram
+	* [r3954] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSVoronoiDiagramBuilderTest.cpp,
+	  tests/unit/capi/GEOSVoronoiDiagramTest.cpp: Rename CAPI method
+	  GEOSVoronoiDiagramBuilder to GEOSVoronoiDiagram
 	  
 	  See #627
 
-2013-09-13 07:56  Sandro Santilli <strk at keybit.net>
+2013-09-13 07:56  Sandro Santilli <strk at kbt.io>
 
-	* [r3953] capi Voronoi Diagram Builder + tests
+	* [r3953] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSVoronoiDiagramBuilderTest.cpp: capi Voronoi
+	  Diagram Builder + tests
 
-2013-09-10 15:40  Sandro Santilli <strk at keybit.net>
+2013-09-10 15:40  Sandro Santilli <strk at kbt.io>
 
-	* [r3952] Remove unneeded include
+	* [r3952] src/triangulate/VoronoiDiagramBuilder.cpp: Remove
+	  unneeded include
 
-2013-09-10 15:08  Sandro Santilli <strk at keybit.net>
+2013-09-10 15:08  Sandro Santilli <strk at kbt.io>
 
-	* [r3951] VoronoiDigramBuilder class + test
+	* [r3951] include/geos/triangulate/Makefile.am,
+	  include/geos/triangulate/VoronoiDiagramBuilder.h,
+	  src/triangulate/Makefile.am,
+	  src/triangulate/VoronoiDiagramBuilder.cpp,
+	  tests/unit/Makefile.am, tests/unit/triangulate/VoronoiTest.cpp:
+	  VoronoiDigramBuilder class + test
 	  
 	  Contributed by Vishal Tiwari
 	  
 	  See https://github.com/libgeos/libgeos/pull/25
 
-2013-09-10 07:06  Sandro Santilli <strk at keybit.net>
+2013-09-10 07:06  Sandro Santilli <strk at kbt.io>
 
-	* [r3946] Fix FSF address in license file (#662)
+	* [r3946] COPYING: Fix FSF address in license file (#662)
 
-2013-09-07 21:41  Sandro Santilli <strk at keybit.net>
+2013-09-07 21:41  Sandro Santilli <strk at kbt.io>
 
-	* [r3945] Hush still-reachable valgrind report by avoiding
-	  singletons
+	* [r3945]
+	  tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp: Hush
+	  still-reachable valgrind report by avoiding singletons
 
-2013-09-07 20:11  Sandro Santilli <strk at keybit.net>
+2013-09-07 20:11  Sandro Santilli <strk at kbt.io>
 
-	* [r3944] Voronoi APIs added to QuadEdgeSubdivision class, with
-	  test added
+	* [r3944] include/geos/triangulate/quadedge/QuadEdgeSubdivision.h,
+	  src/triangulate/quadedge/QuadEdgeSubdivision.cpp,
+	  tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:
+	  Voronoi APIs added to QuadEdgeSubdivision class, with test added
 	  
 	  Contributed by Vishal Tiwari
 
 2013-09-04 23:14  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3942] Remove myself from travis-ci notification targets
+	* [r3942] .travis.yml: Remove myself from travis-ci notification
+	  targets
 
-2013-09-02 12:14  Sandro Santilli <strk at keybit.net>
+2013-09-02 12:14  Sandro Santilli <strk at kbt.io>
 
-	* [r3934] Add 32-bit build in travis-ci config (#658)
+	* [r3934] .gitignore, .travis.yml, tools/ci/before_install.sh,
+	  tools/ci/script.sh: Add 32-bit build in travis-ci config (#658)
 	  
 	  - Add 32-bit builds to Travis CI matrix
 	  - Install gcc-multilib on Travis CI for -m32
@@ -645,111 +1799,135 @@
 
 2013-08-31 10:38  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3933] Ignore geos_svn_revision.h, compile and test-driver files
+	* [r3933] .: Ignore geos_svn_revision.h, compile and test-driver
+	  files
 
 2013-08-28 12:48  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3932] Declare QuadEdge and QuadEdgeSubdivision constructors as
-	  virtual to correct deleting object of polymorphic type.
+	* [r3932] include/geos/triangulate/quadedge/QuadEdge.h,
+	  include/geos/triangulate/quadedge/QuadEdgeSubdivision.h: Declare
+	  QuadEdge and QuadEdgeSubdivision constructors as virtual to
+	  correct deleting object of polymorphic type.
 
 2013-08-28 12:46  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3931] Untabify
+	* [r3931] tests/xmltester/XMLTester.cpp: Untabify
 
 2013-08-28 12:35  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3930] * Replace while(true) with canonical for(;;)
+	* [r3930] src/operation/polygonize/EdgeRing.cpp,
+	  src/triangulate/IncrementalDelaunayTriangulator.cpp,
+	  src/triangulate/quadedge/QuadEdgeSubdivision.cpp: * Replace
+	  while(true) with canonical for(;;)
 	  * Warnings clean-up
 	  * Untabify
 
 2013-08-28 12:32  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3929] Add explicit cast from double to long unsigned int
+	* [r3929] include/geos/geom/BinaryOp.h: Add explicit cast from
+	  double to long unsigned int
 
 2013-08-28 12:31  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3928] Clean unsafe mix of type 'int' and type 'bool' in
-	  operation
+	* [r3928] tests/xmltester/XMLTester.cpp: Clean unsafe mix of type
+	  'int' and type 'bool' in operation
 
 2013-08-28 12:00  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3927] Disable copy ctor and assignment operator where relevant.
+	* [r3927] tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp,
+	  tests/unit/tut/tut.hpp: Disable copy ctor and assignment operator
+	  where relevant.
 
 2013-08-28 11:59  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3926] Replace implicit boolean conversion with explicit nullptr
-	  test
+	* [r3926] tests/unit/capi/GEOSNodeTest.cpp: Replace implicit
+	  boolean conversion with explicit nullptr test
 
 2013-08-28 11:58  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3925] Ignore unused label
+	* [r3925] include/geos/geom/BinaryOp.h: Ignore unused label
 
 2013-08-26 00:12  Regina Obe <lr at pcorp.us>
 
-	* [r3924] copy over 3.4 branch news items
+	* [r3924] NEWS: copy over 3.4 branch news items
 
-2013-08-22 07:12  Sandro Santilli <strk at keybit.net>
+2013-08-22 07:12  Sandro Santilli <strk at kbt.io>
 
-	* [r3914] Configure Travis CI for GEOS (#657)
+	* [r3914] .travis.yml, tools/ci, tools/ci/before_install.sh,
+	  tools/ci/before_install_autotools.sh,
+	  tools/ci/before_install_cmake.sh, tools/ci/common.sh,
+	  tools/ci/script.sh, tools/ci/script_autotools.sh,
+	  tools/ci/script_cmake.sh: Configure Travis CI for GEOS (#657)
 	  
 	  Configurations for GCC and clang with both Autotools and CMake.
 	  Enable IRC notifications
 	  
 	  Contributed by Mateusz Loskot <mateusz at loskot.net>
 
-2013-08-22 07:09  Sandro Santilli <strk at keybit.net>
+2013-08-22 07:09  Sandro Santilli <strk at kbt.io>
 
-	* [r3913] Stub 3.5.0 section
+	* [r3913] NEWS: Stub 3.5.0 section
 
-2013-08-22 07:07  Sandro Santilli <strk at keybit.net>
+2013-08-22 07:07  Sandro Santilli <strk at kbt.io>
 
-	* [r3912] circumcentre() and det() methods added to class Triangle
+	* [r3912] include/geos/geom/Triangle.h, src/geom/Triangle.cpp,
+	  tests/unit/geom/TriangleTest.cpp: circumcentre() and det()
+	  methods added to class Triangle
 	  
 	  Includes test for circumcentre()
 	  
 	  Contributed by Vishal Tiwari
 
-2013-08-22 06:19  Sandro Santilli <strk at keybit.net>
+2013-08-22 06:19  Sandro Santilli <strk at kbt.io>
 
-	* [r3910] Accept multiple NaN representations (#656)
+	* [r3910] tests/unit/capi/GEOSisValidDetailTest.cpp: Accept
+	  multiple NaN representations (#656)
 
-2013-08-21 13:54  Sandro Santilli <strk at keybit.net>
+2013-08-21 13:54  Sandro Santilli <strk at kbt.io>
 
-	* [r3908] Set JTS_PORT for CMake in sync with others
+	* [r3908] CMakeLists.txt: Set JTS_PORT for CMake in sync with
+	  others
 	  
 	  .. we should really reduce the number of places version is set
 
-2013-08-21 13:47  Sandro Santilli <strk at keybit.net>
+2013-08-21 13:47  Sandro Santilli <strk at kbt.io>
 
-	* [r3907] Use a double for PrecisionModel scale, avoiding overflows
+	* [r3907] include/geos/geom/BinaryOp.h: Use a double for
+	  PrecisionModel scale, avoiding overflows
 	  
 	  Fixes #652
 
 2013-08-21 10:53  Regina Obe <lr at pcorp.us>
 
-	* [r3902] #650 isnan workaround OS detection missing NetBSD,
-	  DragonFly, Sun nuance
+	* [r3902] include/geos/platform.h.in: #650 isnan workaround OS
+	  detection missing NetBSD, DragonFly, Sun nuance
 
-2013-08-20 12:15  Sandro Santilli <strk at keybit.net>
+2013-08-20 12:15  Sandro Santilli <strk at kbt.io>
 
-	* [r3901] Change operator< for Vertex to be inlined and use
-	  Coordinate operator<
+	* [r3901] include/geos/triangulate/quadedge/Vertex.h,
+	  src/triangulate/quadedge/Vertex.cpp: Change operator< for Vertex
+	  to be inlined and use Coordinate operator<
 
-2013-08-20 12:15  Sandro Santilli <strk at keybit.net>
+2013-08-20 12:15  Sandro Santilli <strk at kbt.io>
 
-	* [r3900] Simplify Vertext test
+	* [r3900] tests/unit/triangulate/quadedge/VertexTest.cpp: Simplify
+	  Vertext test
 
-2013-08-20 12:15  Sandro Santilli <strk at keybit.net>
+2013-08-20 12:15  Sandro Santilli <strk at kbt.io>
 
-	* [r3899] operator< for Vertex added
+	* [r3899] include/geos/triangulate/quadedge/Vertex.h,
+	  src/triangulate/quadedge/Vertex.cpp, tests/unit/Makefile.am,
+	  tests/unit/triangulate/quadedge/VertexTest.cpp: operator< for
+	  Vertex added
 	  
 	  Includes test
 	  
 	  Path by Vishal Tiwari
 
-2013-08-19 14:12  Sandro Santilli <strk at keybit.net>
+2013-08-19 14:12  Sandro Santilli <strk at kbt.io>
 
-	* [r3896] Install but do not distribute generated headers
+	* [r3896] include/geos/Makefile.am: Install but do not distribute
+	  generated headers
 	  
 	  These are platform.h and version.h
 	  Fixes bug #601 and the lack of C++ headers install in
@@ -757,118 +1935,140 @@
 
 2013-08-17 03:17  Regina Obe <lr at pcorp.us>
 
-	* [r3889] #644 Can't build using cmake with tar ball
+	* [r3889] CMakeLists.txt: #644 Can't build using cmake with tar
+	  ball
 	  only do svn check if there is a .svn file in
 	  source folder to ensure it works with tar ball
 
-2013-08-16 15:25  Sandro Santilli <strk at keybit.net>
+2013-08-16 15:25  Sandro Santilli <strk at kbt.io>
 
-	* [r3885] Fix assertion failure in snapping code (#649)
+	* [r3885] src/operation/overlay/snap/LineStringSnapper.cpp,
+	  tests/unit/capi/GEOSSnapTest.cpp: Fix assertion failure in
+	  snapping code (#649)
 	  
 	  The bug affected attempts to snapping lines to the points
 	  of a rectangle with a side smaller than the tolerance.
 
 2013-08-14 06:09  Regina Obe <lr at pcorp.us>
 
-	* [r3883] update HOWTO_RELEASE to include bumping revision numbrs
-	  in CMake and also bump numbers in CMake.
+	* [r3883] CMakeLists.txt, HOWTO_RELEASE: update HOWTO_RELEASE to
+	  include bumping revision numbrs in CMake and also bump numbers in
+	  CMake.
 
-2013-08-11 11:42  Sandro Santilli <strk at keybit.net>
+2013-08-11 11:42  Sandro Santilli <strk at kbt.io>
 
-	* [r3879] Set correct eol-style for geos-config and testrunner
-	  (#645)
+	* [r3879] tests/xmltester/testrunner.sh, tools/geos-config.in: Set
+	  correct eol-style for geos-config and testrunner (#645)
 
-2013-08-11 11:24  Sandro Santilli <strk at keybit.net>
+2013-08-11 11:24  Sandro Santilli <strk at kbt.io>
 
-	* [r3878] Set LF eol-style property for platform.h.in (#645)
+	* [r3878] include/geos/platform.h.in: Set LF eol-style property for
+	  platform.h.in (#645)
 
 2013-08-11 04:20  Regina Obe <lr at pcorp.us>
 
-	* [r3877] bump to 3.5.0 and capi to next
+	* [r3877] capi/geos_c.h.in: bump to 3.5.0 and capi to next
 
 2013-08-11 04:17  Regina Obe <lr at pcorp.us>
 
-	* [r3876] update date on news
+	* [r3876] NEWS: update date on news
 
 2013-08-11 03:54  Regina Obe <lr at pcorp.us>
 
-	* [r3873] bump all revisions with plan we will have Voronoi ported
-	  over (strk change if I did this wrong)
+	* [r3873] configure.in, include/geos/version.h.vc: bump all
+	  revisions with plan we will have Voronoi ported over (strk change
+	  if I did this wrong)
 
 2013-08-11 03:44  Regina Obe <lr at pcorp.us>
 
-	* [r3870] update version numbers to agree with configure.in - huh
-	  why are the version numbers all old in this file?
+	* [r3870] include/geos/version.h.vc: update version numbers to
+	  agree with configure.in - huh why are the version numbers all old
+	  in this file?
 
 2013-08-11 03:41  Regina Obe <lr at pcorp.us>
 
-	* [r3869] get rid of dev in version# in prep for 3.4.0 release
+	* [r3869] configure.in: get rid of dev in version# in prep for
+	  3.4.0 release
 
 2013-08-11 03:37  Regina Obe <lr at pcorp.us>
 
-	* [r3868] update change log in prep for 3.4.0 release
+	* [r3868] ChangeLog: update change log in prep for 3.4.0 release
 
 2013-08-08 04:25  Regina Obe <lr at pcorp.us>
 
-	* [r3867] update news and change log in prep for Aug 10 release of
-	  3.4.0
+	* [r3867] ChangeLog, NEWS: update news and change log in prep for
+	  Aug 10 release of 3.4.0
 
 2013-08-04 20:05  Regina Obe <lr at pcorp.us>
 
-	* [r3866] #601 do not incude platform.h in tar ball.
+	* [r3866] include/geos/Makefile.am: #601 do not incude platform.h
+	  in tar ball.
 
-2013-08-04 12:27  Sandro Santilli <strk at keybit.net>
+2013-08-04 12:27  Sandro Santilli <strk at kbt.io>
 
-	* [r3864] Avoid Coordinate copies in
-	  DelaunayTriangulationBuilder::envelope
+	* [r3864] src/triangulate/DelaunayTriangulationBuilder.cpp: Avoid
+	  Coordinate copies in DelaunayTriangulationBuilder::envelope
 
-2013-08-04 12:23  Sandro Santilli <strk at keybit.net>
+2013-08-04 12:23  Sandro Santilli <strk at kbt.io>
 
-	* [r3863] Simplify testcase for
-	  DelaunayTriangulationBuilder::envelope
+	* [r3863] tests/unit/triangulate/DelaunayTest.cpp: Simplify
+	  testcase for DelaunayTriangulationBuilder::envelope
 
-2013-08-04 11:58  Sandro Santilli <strk at keybit.net>
+2013-08-04 11:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3862] envelope() method added to DelaunayTriangulationBuilder
-	  class
+	* [r3862] include/geos/triangulate/DelaunayTriangulationBuilder.h,
+	  src/triangulate/DelaunayTriangulationBuilder.cpp,
+	  tests/unit/triangulate/DelaunayTest.cpp: envelope() method added
+	  to DelaunayTriangulationBuilder class
 	  
 	  Includes testcase. Patch by Vishal Tiwari
 
 2013-08-03 15:37  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3861] Add geos_svn_revision.h generator to CMake config
+	* [r3861] CMakeLists.txt, tools/geos_svn_revision_cmake.h.in: Add
+	  geos_svn_revision.h generator to CMake config
 	  
 	  Patch from David Burken attached to #643
 
 2013-08-02 22:38  Regina Obe <lr at pcorp.us>
 
-	* [r3860] #607 Makefile.vc 'clean' step leaks obj files
+	* [r3860] src/Makefile.vc: #607 Makefile.vc 'clean' step leaks obj
+	  files
 
 2013-08-01 21:13  Regina Obe <lr at pcorp.us>
 
-	* [r3858] updates add some missing ticket items and add ticket
-	  numbers where missing
+	* [r3858] NEWS: updates add some missing ticket items and add
+	  ticket numbers where missing
 
 2013-07-31 21:25  Sean Gillies <sgillies at frii.com>
 
-	* [r3857] Print to stderr only in debug mode
+	* [r3857] src/operation/polygonize/EdgeRing.cpp: Print to stderr
+	  only in debug mode
 
 2013-07-31 20:38  Regina Obe <lr at pcorp.us>
 
-	* [r3856] #641 - distinguish between active and inactive group and
-	  add Regina Obe to list.
+	* [r3856] AUTHORS: #641 - distinguish between active and inactive
+	  group and add Regina Obe to list.
 
 2013-07-31 14:13  Regina Obe <lr at pcorp.us>
 
-	* [r3855]
+	* [r3855] acsite.m4:
 
 2013-07-31 14:07  Regina Obe <lr at pcorp.us>
 
-	* [r3854] add myself to author list
+	* [r3854] authors.svn: add myself to author list
 
-2013-07-31 09:42  Sandro Santilli <strk at keybit.net>
+2013-07-31 09:42  Sandro Santilli <strk at kbt.io>
 
-	* [r3853] Improve overlay robustness
+	* [r3853] NEWS, include/geos/geom/BinaryOp.h,
+	  include/geos/operation/overlay/OverlayOp.h,
+	  src/operation/overlay/OverlayOp.cpp, tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug392.xml,
+	  tests/xmltester/tests/ticket/bug459.xml,
+	  tests/xmltester/tests/ticket/bug527.xml,
+	  tests/xmltester/tests/ticket/bug586.xml,
+	  tests/xmltester/tests/ticket/bug599.xml: Improve overlay
+	  robustness
 	  
 	  - Validate CBR results before accepting them
 	  - Enable overlay node validator even for FIXED precision
@@ -877,35 +2077,40 @@
 	  
 	  Fixes bug #459
 
-2013-07-31 08:34  Sandro Santilli <strk at keybit.net>
+2013-07-31 08:34  Sandro Santilli <strk at kbt.io>
 
-	* [r3852] Do not expect invalid output from buffer
+	* [r3852] tests/xmltester/tests/buffer.xml: Do not expect invalid
+	  output from buffer
 	  
 	  The test verification code is tollerant, but better fix this
 
-2013-07-31 08:30  Sandro Santilli <strk at keybit.net>
+2013-07-31 08:30  Sandro Santilli <strk at kbt.io>
 
-	* [r3851] Turn test for ticket 275 into an "area test".
+	* [r3851] tests/xmltester/tests/ticket/bug275.xml: Turn test for
+	  ticket 275 into an "area test".
 	  
 	  Area test checks that the area of the Union between two
 	  geometries
 	  is about the same as the sum of area of symdifference + area of
 	  intersection.
 
-2013-07-25 21:00  Sandro Santilli <strk at keybit.net>
+2013-07-25 21:00  Sandro Santilli <strk at kbt.io>
 
-	* [r3850] Fix CoordinateList.closeRing() use of past-the-end
-	  operator
+	* [r3850] include/geos/geom/CoordinateList.h: Fix
+	  CoordinateList.closeRing() use of past-the-end operator
 
-2013-07-25 20:51  Sandro Santilli <strk at keybit.net>
+2013-07-25 20:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3849] closeRing() method added in CoordinateList class
+	* [r3849] include/geos/geom/CoordinateList.h,
+	  tests/unit/geom/CoordinateListTest.cpp: closeRing() method added
+	  in CoordinateList class
 	  
 	  Patch by Vishal Tiwari <hi.vishal123 at gmail.com>
 
-2013-07-23 11:01  Sandro Santilli <strk at keybit.net>
+2013-07-23 11:01  Sandro Santilli <strk at kbt.io>
 
-	* [r3848] Cosmetic changes into the CAPI code, by Mike Toews
+	* [r3848] capi/geos_c.cpp, capi/geos_c.h.in: Cosmetic changes into
+	  the CAPI code, by Mike Toews
 	  
 	  - Replace "reader" with "writer" in prototypes
 	  - describe "_r" functions
@@ -919,83 +2124,107 @@
 	  - Clip trailing white space, and other white space consistencies
 	  - Other minor rearrangements for consistency
 
-2013-07-17 16:07  Sandro Santilli <strk at keybit.net>
+2013-07-17 16:07  Sandro Santilli <strk at kbt.io>
 
-	* [r3846] Make GEOSOffsetCurve survive single-point input (with an
-	  exception)
+	* [r3846] src/operation/buffer/OffsetCurveBuilder.cpp,
+	  tests/unit/capi/GEOSOffsetCurveTest.cpp: Make GEOSOffsetCurve
+	  survive single-point input (with an exception)
 
-2013-07-17 15:58  Sandro Santilli <strk at keybit.net>
+2013-07-17 15:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3845] Fix OffsetCurve op in presence of duplicated vertices
-	  (#602)
+	* [r3845] src/operation/buffer/BufferInputLineSimplifier.cpp,
+	  src/operation/buffer/OffsetSegmentGenerator.cpp,
+	  tests/unit/capi/GEOSOffsetCurveTest.cpp: Fix OffsetCurve op in
+	  presence of duplicated vertices (#602)
 
-2013-07-17 13:05  Sandro Santilli <strk at keybit.net>
+2013-07-17 13:05  Sandro Santilli <strk at kbt.io>
 
-	* [r3844] Fix LineSegmentVisitor copy ctor (#636)
+	* [r3844] src/simplify/LineSegmentIndex.cpp: Fix LineSegmentVisitor
+	  copy ctor (#636)
 
-2013-07-15 15:21  Sandro Santilli <strk at keybit.net>
+2013-07-15 15:21  Sandro Santilli <strk at kbt.io>
 
-	* [r3840] Drop SRID from geometrycollection elements (#583)
+	* [r3840] src/geom/GeometryCollection.cpp,
+	  tests/unit/io/WKBWriterTest.cpp: Drop SRID from
+	  geometrycollection elements (#583)
 
-2013-07-12 12:37  Sandro Santilli <strk at keybit.net>
+2013-07-12 12:37  Sandro Santilli <strk at kbt.io>
 
-	* [r3839] Add test for #580 (successful)
+	* [r3839] tests/unit/geom/Geometry/coversTest.cpp: Add test for
+	  #580 (successful)
 
-2013-07-11 15:58  Sandro Santilli <strk at keybit.net>
+2013-07-11 15:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3837] Fix memory leak in testcase
+	* [r3837] tests/unit/capi/GEOSOffsetCurveTest.cpp: Fix memory leak
+	  in testcase
 
-2013-07-11 15:54  Sandro Santilli <strk at keybit.net>
+2013-07-11 15:54  Sandro Santilli <strk at kbt.io>
 
-	* [r3836] Drop carriage returns
+	* [r3836] tests/unit/capi/GEOSOffsetCurveTest.cpp: Drop carriage
+	  returns
 
-2013-07-11 15:34  Sandro Santilli <strk at keybit.net>
+2013-07-11 15:34  Sandro Santilli <strk at kbt.io>
 
-	* [r3835] Fix memory in QuadEdgeSubdivision (#604)
+	* [r3835] include/geos/triangulate/quadedge/QuadEdge.h,
+	  include/geos/triangulate/quadedge/QuadEdgeSubdivision.h,
+	  include/geos/triangulate/quadedge/Vertex.h,
+	  src/triangulate/quadedge/QuadEdgeSubdivision.cpp,
+	  tests/unit/triangulate/DelaunayTest.cpp: Fix memory in
+	  QuadEdgeSubdivision (#604)
 
-2013-07-11 08:21  Sandro Santilli <strk at keybit.net>
+2013-07-11 08:21  Sandro Santilli <strk at kbt.io>
 
-	* [r3834] Expose Delaunay triangulation to PHP API (#567)
+	* [r3834] NEWS, php/geos.c, php/test/test.php: Expose Delaunay
+	  triangulation to PHP API (#567)
 
-2013-07-11 07:36  Sandro Santilli <strk at keybit.net>
+2013-07-11 07:36  Sandro Santilli <strk at kbt.io>
 
-	* [r3833] Fix test after changes in PointOnSurface
+	* [r3833] php/test/test.php: Fix test after changes in
+	  PointOnSurface
 
-2013-07-11 05:49  Sandro Santilli <strk at keybit.net>
+2013-07-11 05:49  Sandro Santilli <strk at kbt.io>
 
-	* [r3832] Add --cclibs, --static-clibs and --static-cclibs to
-	  geos-config (#497)
+	* [r3832] NEWS, tools/geos-config.in: Add --cclibs, --static-clibs
+	  and --static-cclibs to geos-config (#497)
 
-2013-07-11 05:46  Sandro Santilli <strk at keybit.net>
+2013-07-11 05:46  Sandro Santilli <strk at kbt.io>
 
-	* [r3831] Add 3.3.1 to 3.3.8 section
+	* [r3831] NEWS: Add 3.3.1 to 3.3.8 section
 
-2013-07-11 05:42  Sandro Santilli <strk at keybit.net>
+2013-07-11 05:42  Sandro Santilli <strk at kbt.io>
 
-	* [r3830] Cleanup NEWS file confused in r3816
+	* [r3830] NEWS: Cleanup NEWS file confused in r3816
 
-2013-07-05 14:56  Sandro Santilli <strk at keybit.net>
+2013-07-05 14:56  Sandro Santilli <strk at kbt.io>
 
-	* [r3829] Fix install location of linearref headers (#624)
+	* [r3829] include/geos/linearref/Makefile.am: Fix install location
+	  of linearref headers (#624)
 
 2013-06-28 10:33  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3827] Add NMAKE version from Visual Studio 2012 Update 3 RTM
+	* [r3827] nmake.opt: Add NMAKE version from Visual Studio 2012
+	  Update 3 RTM
 
-2013-06-26 16:27  Sandro Santilli <strk at keybit.net>
+2013-06-26 16:27  Sandro Santilli <strk at kbt.io>
 
-	* [r3826] Fix typo in HotPixel corners initializer
+	* [r3826] src/noding/snapround/HotPixel.cpp,
+	  tests/unit/noding/snapround/HotPixelTest.cpp: Fix typo in
+	  HotPixel corners initializer
 	  
 	  Patch by Mickael BORNE <mickael.borne at ign.fr>
 
 2013-06-26 16:03  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3824] Add another NMAKE version from Visual Studio 2012
+	* [r3824] nmake.opt: Add another NMAKE version from Visual Studio
+	  2012
 
 2013-06-12 16:08  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3823] Final clarification of
-	  BufferBuilder::bufferLineSingleSided behaviour (ticket #633)
+	* [r3823] include/geos/operation/buffer/BufferBuilder.h,
+	  src/operation/buffer/BufferBuilder.cpp,
+	  tests/unit/operation/buffer/BufferBuilderTest.cpp: Final
+	  clarification of BufferBuilder::bufferLineSingleSided behaviour
+	  (ticket #633)
 	  * Ignore BufferParameters::setSingleSided() parameter as it is
 	  specific to areal geometries.
 	  * Document semantic of input parameters.
@@ -1005,96 +2234,130 @@
 
 2013-06-12 14:06  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3822] Update single side offset curve tests to check uniform
-	  coordinates order in output (ticket #633). We need to decide if
+	* [r3822] tests/unit/operation/buffer/BufferBuilderTest.cpp: Update
+	  single side offset curve tests to check uniform coordinates order
+	  in output (ticket #633). We need to decide if
 	  BufferBuilder::bufferLineSingleSided should take care of
 	  reversing coordinates if necessary.
 
 2013-06-12 13:22  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3821] Add updated C++ API test case for the left/right offset
-	  curve (ticket #633)
+	* [r3821] tests/unit/Makefile.am,
+	  tests/unit/operation/buffer/BufferBuilderTest.cpp: Add updated
+	  C++ API test case for the left/right offset curve (ticket #633)
 
 2013-06-12 09:56  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3820] Add comment missing from previous commit.
+	* [r3820] tests/unit/capi/GEOSOffsetCurveTest.cpp: Add comment
+	  missing from previous commit.
 
 2013-06-12 09:50  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3819] Add test case for #633 based on GEOSOffsetCurve from
-	  C-API. Passing negative distance for right-sided offset curve
-	  generates correct/expected output. Interestingly, equivalent test
-	  using BufferBuilder directly, from C++ API, does not pass.
+	* [r3819] tests/unit/capi/GEOSOffsetCurveTest.cpp: Add test case
+	  for #633 based on GEOSOffsetCurve from C-API. Passing negative
+	  distance for right-sided offset curve generates correct/expected
+	  output. Interestingly, equivalent test using BufferBuilder
+	  directly, from C++ API, does not pass.
 
 2013-06-11 15:29  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3818] Revert r3817 as partial or incorrect fix. See ticket #633
-	  for details.
+	* [r3818] src/operation/buffer/OffsetCurveBuilder.cpp,
+	  tests/unit/Makefile.am,
+	  tests/unit/operation/buffer/BufferBuilderTest.cpp: Revert r3817
+	  as partial or incorrect fix. See ticket #633 for details.
 
 2013-06-11 14:19  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3817] * Fix bug in OffsetCurveBuilder case for right-side
-	  offset curve used left-side flag to initialise the side segments.
+	* [r3817] src/operation/buffer/OffsetCurveBuilder.cpp,
+	  tests/unit/Makefile.am,
+	  tests/unit/operation/buffer/BufferBuilderTest.cpp: * Fix bug in
+	  OffsetCurveBuilder case for right-side offset curve used
+	  left-side flag to initialise the side segments.
 	  * Corresponding test case attached.
 
-2013-06-11 12:42  Sandro Santilli <strk at keybit.net>
+2013-06-11 12:42  Sandro Santilli <strk at kbt.io>
 
-	* [r3816] Fix for mingw64 compile, by Regina Obe (#630)
+	* [r3816] NEWS, include/geos/profiler.h: Fix for mingw64 compile,
+	  by Regina Obe (#630)
 
-2013-06-07 09:29  Sandro Santilli <strk at keybit.net>
+2013-06-07 09:29  Sandro Santilli <strk at kbt.io>
 
-	* [r3814] Simplify code looking for closer vertex snap
+	* [r3814] src/operation/overlay/snap/LineStringSnapper.cpp:
+	  Simplify code looking for closer vertex snap
 
 2013-06-07 09:21  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3813] Fix incomplete type of Node at the point of destruction
-	  (by GeometryNoder) leading to never called destructor bug.
+	* [r3813] capi/geos_ts_c.cpp: Fix incomplete type of Node at the
+	  point of destruction (by GeometryNoder) leading to never called
+	  destructor bug.
 
 2013-06-07 09:13  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3812] Correct int and std::size_t mismatch for 64-bit target.
+	* [r3812] src/algorithm/RayCrossingCounter.cpp,
+	  src/geom/LineString.cpp,
+	  src/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  src/io/WKBWriter.cpp,
+	  src/operation/buffer/BufferInputLineSimplifier.cpp,
+	  src/operation/linemerge/LineSequencer.cpp,
+	  src/operation/polygonize/PolygonizeGraph.cpp: Correct int and
+	  std::size_t mismatch for 64-bit target.
 
 2013-06-07 09:10  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3811] * Disable copy constructor and assignment operator.
+	* [r3811] src/algorithm/InteriorPointArea.cpp: * Disable copy
+	  constructor and assignment operator.
 	  * Correct int and std::size_t mismatch for 64-bit target.
 
 2013-06-07 09:02  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3810] Disable copy constructor and assignment operator
+	* [r3810] include/geos/noding/GeometryNoder.h,
+	  include/geos/precision/GeometryPrecisionReducer.h,
+	  include/geos/precision/PrecisionReducerCoordinateOperation.h,
+	  src/noding/GeometryNoder.cpp: Disable copy constructor and
+	  assignment operator
 
 2013-06-07 08:30  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3809] Correct return type of OffsetSegmentString::size() to be
-	  size_t
+	* [r3809] include/geos/operation/buffer/OffsetSegmentString.h:
+	  Correct return type of OffsetSegmentString::size() to be size_t
 
-2013-06-06 20:18  Sandro Santilli <strk at keybit.net>
+2013-06-06 20:18  Sandro Santilli <strk at kbt.io>
 
-	* [r3808] Drop obsoleted files
+	* [r3808] examples/CPCLException.cpp,
+	  examples/CoordinateSequencesExample.cpp,
+	  examples/CustomCoordinateSequenceExample.cpp,
+	  examples/CustomCoordinateSequenceExample.h,
+	  examples/CustomPointCoordinateSequence.cpp, examples/Makefile.am:
+	  Drop obsoleted files
 
-2013-06-06 16:39  Sandro Santilli <strk at keybit.net>
+2013-06-06 16:39  Sandro Santilli <strk at kbt.io>
 
-	* [r3807] Drop commented out / disabled code
+	* [r3807] src/operation/overlay/snap/LineStringSnapper.cpp: Drop
+	  commented out / disabled code
 
 2013-06-05 22:18  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3806] Implement generating geos_svn_revision.h using shell
-	  script.
+	* [r3806] ., CMakeLists.txt: Implement generating
+	  geos_svn_revision.h using shell script.
 
 2013-06-05 08:52  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3805] Make Visual C++ 11.0 recognised by CMake configuration
+	* [r3805] CMakeLists.txt: Make Visual C++ 11.0 recognised by CMake
+	  configuration
 
-2013-06-03 07:36  Sandro Santilli <strk at keybit.net>
+2013-06-03 07:36  Sandro Santilli <strk at kbt.io>
 
-	* [r3803] Short-circuit prepared polygon/point intersection
+	* [r3803] src/geom/prep/PreparedPolygonIntersects.cpp:
+	  Short-circuit prepared polygon/point intersection
 	  
 	  Reduces memory fragmentation for area-puntal ops
 
-2013-05-30 20:16  Sandro Santilli <strk at keybit.net>
+2013-05-30 20:16  Sandro Santilli <strk at kbt.io>
 
-	* [r3800] Improve snap algorithm reducing likelyhood of invalid
-	  output
+	* [r3800] include/geos/operation/overlay/snap/LineStringSnapper.h,
+	  src/operation/overlay/snap/LineStringSnapper.cpp,
+	  tests/unit/capi/GEOSSnapTest.cpp: Improve snap algorithm reducing
+	  likelyhood of invalid output
 	  
 	  - Snap input vertices to closest snap point (#629)
 	  - Do not snap segments to external points (#501)
@@ -1106,62 +2369,76 @@
 	  tools"
 	  (CIG Z3B06FA6D7).
 
-2013-05-23 17:21  Sandro Santilli <strk at keybit.net>
+2013-05-23 17:21  Sandro Santilli <strk at kbt.io>
 
-	* [r3799] Create geos_svn_revision.h in the source tree
+	* [r3799] Makefile.am, tools/svn_repo_revision.sh: Create
+	  geos_svn_revision.h in the source tree
 	  
 	  It's a generated source, should always be in the tarball anyway
 
-2013-05-23 15:51  Sandro Santilli <strk at keybit.net>
+2013-05-23 15:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3798] Distribute svn_repo_revision.sh
+	* [r3798] tools/Makefile.am: Distribute svn_repo_revision.sh
 
 2013-05-10 08:40  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3797] Add NMAKE option WIN64 to simplify x64 build
+	* [r3797] nmake.opt: Add NMAKE option WIN64 to simplify x64 build
 	  configuration
 
 2013-05-09 10:04  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3796] Add NMAKE version from Visual Studio 2012 Update 3
+	* [r3796] nmake.opt: Add NMAKE version from Visual Studio 2012
+	  Update 3
 
 2013-04-02 09:24  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3795] Add missing directories
+	* [r3795] src/dirlist.mk: Add missing directories
 
 2013-04-02 09:20  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3794] Add Visual Leak Detector (VLD) support to GEOS core
+	* [r3794] nmake.opt, src/Makefile.vc, src/geom/Geometry.cpp: Add
+	  Visual Leak Detector (VLD) support to GEOS core
 	  * Add MSVC_VLD_DIR option to nmake.opt to enable/disable VLD
 	  * Add optional #include <vld.h> to Geometry.cpp
 
-2013-03-15 18:48  Sandro Santilli <strk at keybit.net>
+2013-03-15 18:48  Sandro Santilli <strk at kbt.io>
 
-	* [r3793] Fix memory leaks in unit tests
+	* [r3793] tests/unit/algorithm/RobustLineIntersectionTest.cpp,
+	  tests/unit/capi/GEOSConvexHullTest.cpp,
+	  tests/unit/capi/GEOSUnaryUnionTest.cpp: Fix memory leaks in unit
+	  tests
 
-2013-03-15 18:05  Sandro Santilli <strk at keybit.net>
+2013-03-15 18:05  Sandro Santilli <strk at kbt.io>
 
-	* [r3792] Add GEOSNearestPoints CAPI function
+	* [r3792] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSNearestPointsTest.cpp: Add GEOSNearestPoints
+	  CAPI function
 	  
 	  Contributed by Richard Frith-Macdonald
 	  <richard at tiptree.demon.co.uk>
 
 2013-03-15 15:36  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3791] Add x64 NMAKE version from Visual Studio 2012 Update 1
+	* [r3791] nmake.opt: Add x64 NMAKE version from Visual Studio 2012
+	  Update 1
 
-2013-03-12 16:20  Sandro Santilli <strk at keybit.net>
+2013-03-12 16:20  Sandro Santilli <strk at kbt.io>
 
-	* [r3790] Fix "puts puts" typo in ruby macro (#625)
+	* [r3790] macros/ruby.m4: Fix "puts puts" typo in ruby macro (#625)
 
-2013-03-11 11:19  Sandro Santilli <strk at keybit.net>
+2013-03-11 11:19  Sandro Santilli <strk at kbt.io>
 
-	* [r3789] Port new RobustLineIntersection test from JTS
+	* [r3789] tests/unit/algorithm/RobustLineIntersectionTest.cpp: Port
+	  new RobustLineIntersection test from JTS
 
-2013-03-08 17:51  Sandro Santilli <strk at keybit.net>
+2013-03-08 17:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3787] Fix RobustLineIntersector handling of invalid
-	  intersection points (#622)
+	* [r3787] include/geos/algorithm/LineIntersector.h,
+	  src/algorithm/LineIntersector.cpp,
+	  tests/unit/algorithm/RobustLineIntersectionTest.cpp: Fix
+	  RobustLineIntersector handling of invalid intersection points
+	  (#622)
 	  
 	  Adds new testcases. Many of them fail, probably due to the lack
 	  of
@@ -1171,75 +2448,88 @@
 
 2013-03-08 17:48  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3786] Add algorithm/Centroid.obj
+	* [r3786] src/Makefile.vc: Add algorithm/Centroid.obj
 
 2013-03-08 17:41  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3785] Untabify
+	* [r3785] include/geos/algorithm/Centroid.h: Untabify
 
 2013-03-08 17:37  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3784] Add NMAKE version from Visual Studio 2012 Update 1
+	* [r3784] nmake.opt: Add NMAKE version from Visual Studio 2012
+	  Update 1
 
-2013-03-08 13:02  Sandro Santilli <strk at keybit.net>
+2013-03-08 13:02  Sandro Santilli <strk at kbt.io>
 
-	* [r3781] Fix GEOSPointOnSurface returning point on boundary (#623)
+	* [r3781] include/geos/algorithm/InteriorPointArea.h,
+	  src/algorithm/Centroid.cpp, src/algorithm/InteriorPointArea.cpp,
+	  tests/unit/capi/GEOSPointOnSurfaceTest.cpp,
+	  tests/xmltester/tests/general/TestInteriorPoint.xml: Fix
+	  GEOSPointOnSurface returning point on boundary (#623)
 	  
 	  Ports SafeBisector for InteriorPointArea from JTS
 
-2013-03-05 14:46  Sandro Santilli <strk at keybit.net>
+2013-03-05 14:46  Sandro Santilli <strk at kbt.io>
 
-	* [r3779] Speedup GEOSWKBWriter_read_r (#621)
+	* [r3779] capi/geos_ts_c.cpp: Speedup GEOSWKBWriter_read_r (#621)
 	  
 	  Patch by Daniel Zeitlin
 
-2013-03-01 11:58  Sandro Santilli <strk at keybit.net>
+2013-03-01 11:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3778] Add wiki update and announce steps
+	* [r3778] HOWTO_RELEASE: Add wiki update and announce steps
 
-2013-02-28 09:40  Sandro Santilli <strk at keybit.net>
+2013-02-28 09:40  Sandro Santilli <strk at kbt.io>
 
-	* [r3773] Fix centroid computation for collections with empty
-	  components
+	* [r3773] src/algorithm/CentroidArea.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug582.xml: Fix centroid computation
+	  for collections with empty components
 	  
 	  Fixes bug #582
 
-2013-02-25 11:41  Sandro Santilli <strk at keybit.net>
+2013-02-25 11:41  Sandro Santilli <strk at kbt.io>
 
-	* [r3772] Update macros/ruby.m4 for ruby 1.9.x
+	* [r3772] macros/ruby.m4, swig/ruby/geos_wrap.cxx: Update
+	  macros/ruby.m4 for ruby 1.9.x
 	  
 	  Used RbConfig instead of obsolete and deprecated Config.
 	  Updated SWIG generated files.
 	  
 	  Patch by Kashif Rasul <kashif.rasul at gmail.com>
 
-2013-02-25 11:11  Sandro Santilli <strk at keybit.net>
+2013-02-25 11:11  Sandro Santilli <strk at kbt.io>
 
-	* [r3771] Fix build under cygwin (#595)
+	* [r3771] include/geos/platform.h.in: Fix build under cygwin (#595)
 	  
 	  Thanks Jason Huntley
 
-2013-02-25 11:04  Sandro Santilli <strk at keybit.net>
+2013-02-25 11:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3770] Deprecate WKTReader constructor taking GeometryFactory by
-	  pointer
+	* [r3770] include/geos/io/WKTReader.h,
+	  include/geos/io/WKTReader.inl: Deprecate WKTReader constructor
+	  taking GeometryFactory by pointer
 	  
 	  Add constructor taking it by reference, for consistency with
 	  WKBReader
 	  Closes #310
 
-2013-02-25 10:37  Sandro Santilli <strk at keybit.net>
+2013-02-25 10:37  Sandro Santilli <strk at kbt.io>
 
-	* [r3769] New ::reserve(size_t) method for io::Writer class
+	* [r3769] NEWS, include/geos/io/Writer.h, src/io/Writer.cpp,
+	  tests/unit/io/WriterTest.cpp: New ::reserve(size_t) method for
+	  io::Writer class
 
-2013-02-25 10:34  Sandro Santilli <strk at keybit.net>
+2013-02-25 10:34  Sandro Santilli <strk at kbt.io>
 
-	* [r3768] io::Writer: take and give strings by const ref, use
-	  .append, testcase
+	* [r3768] NEWS, include/geos/io/Writer.h, src/io/Writer.cpp,
+	  tests/unit/Makefile.am, tests/unit/io/WriterTest.cpp: io::Writer:
+	  take and give strings by const ref, use .append, testcase
 
-2013-02-21 10:29  Sandro Santilli <strk at keybit.net>
+2013-02-21 10:29  Sandro Santilli <strk at kbt.io>
 
-	* [r3767] WKTWriter::appendCoordinate optimisation
+	* [r3767] src/io/WKTWriter.cpp: WKTWriter::appendCoordinate
+	  optimisation
 	  
 	  Modified the WKTWriter::appendCoordinate method to not create an
 	  intermediate std::string, but instead write directly into the
@@ -1250,31 +2540,39 @@
 
 2013-02-15 13:46  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3765] Update svn:ignore property
+	* [r3765] include/geos/triangulate,
+	  include/geos/triangulate/quadedge, src/triangulate,
+	  src/triangulate/quadedge: Update svn:ignore property
 
-2013-02-01 06:31  Sandro Santilli <strk at keybit.net>
+2013-02-01 06:31  Sandro Santilli <strk at kbt.io>
 
-	* [r3762] Add header guard to CLocalizer (#619)
+	* [r3762] include/geos/io/CLocalizer.h: Add header guard to
+	  CLocalizer (#619)
 
-2013-02-01 06:28  Sandro Santilli <strk at keybit.net>
+2013-02-01 06:28  Sandro Santilli <strk at kbt.io>
 
-	* [r3760] Fix header guard and port info in LocatioNIndexOfLine
-	  (#618)
+	* [r3760] include/geos/linearref/LocationIndexOfLine.h,
+	  src/linearref/LocationIndexOfLine.cpp: Fix header guard and port
+	  info in LocatioNIndexOfLine (#618)
 
-2013-02-01 06:25  Sandro Santilli <strk at keybit.net>
+2013-02-01 06:25  Sandro Santilli <strk at kbt.io>
 
-	* [r3758] Fix header guard in GeometryExtracter (#617)
+	* [r3758] include/geos/geom/util/GeometryExtracter.h: Fix header
+	  guard in GeometryExtracter (#617)
 
-2013-01-25 17:19  Sandro Santilli <strk at keybit.net>
+2013-01-25 17:19  Sandro Santilli <strk at kbt.io>
 
-	* [r3755] IsValidOp: throw proper error on nested shells (#608)
+	* [r3755] src/operation/valid/IsValidOp.cpp: IsValidOp: throw
+	  proper error on nested shells (#608)
 	  
 	  Thanks geomworx
 
-2013-01-17 12:07  Sandro Santilli <strk at keybit.net>
+2013-01-17 12:07  Sandro Santilli <strk at kbt.io>
 
-	* [r3751] Only attempt to fix self-intersection between multiple
-	  components
+	* [r3751] include/geos/geom/BinaryOp.h,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug615.xml: Only attempt to fix
+	  self-intersection between multiple components
 	  
 	  Doing this reduces the likelyhood of entering an infinite
 	  recursion
@@ -1287,128 +2585,157 @@
 	  which is the same behavior JTS exposes. The (bogus) test for it
 	  is disabled by this commit.
 
-2013-01-14 16:15  Sandro Santilli <strk at keybit.net>
-
-	* [r3749] Fix EMPTY return from single-point lines and zero-length
-	  polygons
+2013-01-14 16:15  Sandro Santilli <strk at kbt.io>
+
+	* [r3749] NEWS, include/geos/algorithm/Centroid.h,
+	  include/geos/algorithm/CentroidArea.h,
+	  include/geos/algorithm/CentroidLine.h,
+	  include/geos/algorithm/CentroidPoint.h,
+	  include/geos/algorithm/Makefile.am, src/algorithm/Centroid.cpp,
+	  src/algorithm/Makefile.am, src/geom/Geometry.cpp,
+	  tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/tests/general/TestCentroid.xml: Fix EMPTY return
+	  from single-point lines and zero-length polygons
 	  
 	  This commit ports new Centroid class from JTS (#612)
 
-2013-01-14 11:16  Sandro Santilli <strk at keybit.net>
+2013-01-14 11:16  Sandro Santilli <strk at kbt.io>
 
-	* [r3748] Fix EMPTY return from zero-area polygon (#613)
+	* [r3748] include/geos/algorithm/InteriorPointArea.h,
+	  src/algorithm/InteriorPointArea.cpp,
+	  tests/xmltester/tests/general/TestInteriorPoint.xml: Fix EMPTY
+	  return from zero-area polygon (#613)
 
-2013-01-14 11:12  Sandro Santilli <strk at keybit.net>
+2013-01-14 11:12  Sandro Santilli <strk at kbt.io>
 
-	* [r3747] Have XMLTester use POINT EMPTY for a null return from
-	  getInteriorPoint
+	* [r3747] tests/xmltester/XMLTester.cpp: Have XMLTester use POINT
+	  EMPTY for a null return from getInteriorPoint
 
-2013-01-14 09:50  Sandro Santilli <strk at keybit.net>
+2013-01-14 09:50  Sandro Santilli <strk at kbt.io>
 
-	* [r3744] Move static class members of Interrupt out of header
-	  (#611)
+	* [r3744] include/geos/util/Interrupt.h, src/util/Interrupt.cpp:
+	  Move static class members of Interrupt out of header (#611)
 	  
 	  Patch by Mateusz Loskot
 
 2013-01-11 17:15  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3743] Missing QuadEdge.h causing incomplete types.
+	* [r3743] tests/unit/triangulate/DelaunayTest.cpp: Missing
+	  QuadEdge.h causing incomplete types.
 
 2013-01-11 17:11  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3742] Report general and custom flags separately
+	* [r3742] nmake.opt: Report general and custom flags separately
 
-2013-01-11 14:58  Sandro Santilli <strk at keybit.net>
+2013-01-11 14:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3741] Fix GEOSPointOnSurface with zero-length linestring (#609)
+	* [r3741] src/algorithm/InteriorPointLine.cpp,
+	  tests/unit/capi/GEOSPointOnSurfaceTest.cpp: Fix
+	  GEOSPointOnSurface with zero-length linestring (#609)
 
 2013-01-11 14:35  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3740] Added test<7>() for the poorly reported bug ticket #610 -
-	  bug not reproducible.
+	* [r3740] tests/unit/io/WKTReaderTest.cpp: Added test<7>() for the
+	  poorly reported bug ticket #610 - bug not reproducible.
 
-2012-12-06 08:23  Sandro Santilli <strk at keybit.net>
+2012-12-06 08:23  Sandro Santilli <strk at kbt.io>
 
-	* [r3737] See if AC_CONFIG_HEADERS makes winnie happier
+	* [r3737] configure.in: See if AC_CONFIG_HEADERS makes winnie
+	  happier
 	  
 	  ... and also how many other builds it breaks, if any
 
-2012-12-06 08:04  Sandro Santilli <strk at keybit.net>
+2012-12-06 08:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3736] Add missing classes to build script for evil compiler
+	* [r3736] src/Makefile.vc: Add missing classes to build script for
+	  evil compiler
 	  
 	  Curtesy of Geoff Evans
 
-2012-12-05 09:06  Sandro Santilli <strk at keybit.net>
+2012-12-05 09:06  Sandro Santilli <strk at kbt.io>
 
-	* [r3734] Add note about rounding in fixed precision buffer op
-	  (#605)
+	* [r3734] src/operation/buffer/BufferOp.cpp: Add note about
+	  rounding in fixed precision buffer op (#605)
 
-2012-12-05 07:56  Sandro Santilli <strk at keybit.net>
+2012-12-05 07:56  Sandro Santilli <strk at kbt.io>
 
-	* [r3733] Do not reduce precision below 6 significant digits.
+	* [r3733] src/operation/buffer/BufferOp.cpp: Do not reduce
+	  precision below 6 significant digits.
 	  
 	  Avoids gross results (preferring an exception)
 	  See http://trac.osgeo.org/geos/ticket/605
 
-2012-12-04 21:50  Sandro Santilli <strk at keybit.net>
+2012-12-04 21:50  Sandro Santilli <strk at kbt.io>
 
-	* [r3731] Add note about BufferOp robustness improvement
+	* [r3731] NEWS: Add note about BufferOp robustness improvement
 
-2012-12-04 21:22  Sandro Santilli <strk at keybit.net>
+2012-12-04 21:22  Sandro Santilli <strk at kbt.io>
 
-	* [r3728] Reduce coordinates precision on robustness issues in
-	  BufferOp
+	* [r3728] src/operation/buffer/BufferOp.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug605.xml: Reduce coordinates
+	  precision on robustness issues in BufferOp
 	  
 	  Fixes #605, adds test for it
 
-2012-12-04 19:26  Sandro Santilli <strk at keybit.net>
+2012-12-04 19:26  Sandro Santilli <strk at kbt.io>
 
-	* [r3727] Fix an abort in Buffer op (RightmostEdgeFinder)
+	* [r3727] src/operation/buffer/RightmostEdgeFinder.cpp: Fix an
+	  abort in Buffer op (RightmostEdgeFinder)
 	  
 	  Rather than abort we throw a TopologyException, because the
 	  problem
 	  seems to occur when noding isn't correct.
 	  See http://trac.osgeo.org/geos/ticket/605
 
-2012-12-04 17:23  Sandro Santilli <strk at keybit.net>
+2012-12-04 17:23  Sandro Santilli <strk at kbt.io>
 
-	* [r3726] Add unit test for OrientedCoordinateArray
+	* [r3726] tests/unit/Makefile.am,
+	  tests/unit/noding/OrientedCoordinateArray.cpp: Add unit test for
+	  OrientedCoordinateArray
 
-2012-11-15 15:55  Sandro Santilli <strk at keybit.net>
+2012-11-15 15:55  Sandro Santilli <strk at kbt.io>
 
-	* [r3720] Add automated test for #599 (succeeds)
+	* [r3720] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug599.xml: Add automated test for
+	  #599 (succeeds)
 
-2012-10-26 14:01  Sandro Santilli <strk at keybit.net>
+2012-10-26 14:01  Sandro Santilli <strk at kbt.io>
 
-	* [r3719] Fix building outside the source tree
+	* [r3719] Makefile.am: Fix building outside the source tree
 
-2012-09-10 10:34  Sandro Santilli <strk at keybit.net>
+2012-09-10 10:34  Sandro Santilli <strk at kbt.io>
 
-	* [r3716] Add Z support in delaunay triangulation (#570)
+	* [r3716] NEWS, src/triangulate/quadedge/QuadEdgeSubdivision.cpp,
+	  tests/unit/triangulate/DelaunayTest.cpp: Add Z support in
+	  delaunay triangulation (#570)
 	  
 	  Thanks Benjamin Campbell
 
-2012-09-10 09:23  Sandro Santilli <strk at keybit.net>
+2012-09-10 09:23  Sandro Santilli <strk at kbt.io>
 
-	* [r3715] Tweak the test for bug 586 to succeed while still being
-	  small
+	* [r3715] tests/xmltester/tests/ticket/bug586.xml: Tweak the test
+	  for bug 586 to succeed while still being small
 
-2012-09-10 08:00  Sandro Santilli <strk at keybit.net>
+2012-09-10 08:00  Sandro Santilli <strk at kbt.io>
 
-	* [r3712] Add test for bug #586
+	* [r3712] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug586.xml: Add test for bug #586
 
-2012-09-10 07:56  Sandro Santilli <strk at keybit.net>
+2012-09-10 07:56  Sandro Santilli <strk at kbt.io>
 
-	* [r3711] Do not try to fix valid geometries (#586)
+	* [r3711] include/geos/geom/BinaryOp.h: Do not try to fix valid
+	  geometries (#586)
 
-2012-09-07 12:01  Sandro Santilli <strk at keybit.net>
+2012-09-07 12:01  Sandro Santilli <strk at kbt.io>
 
-	* [r3710] Regenerate swig files with swig 2.0.4
+	* [r3710] swig/python/geos.py, swig/python/geos_wrap.cxx:
+	  Regenerate swig files with swig 2.0.4
 
-2012-09-06 18:22  Sandro Santilli <strk at keybit.net>
+2012-09-06 18:22  Sandro Santilli <strk at kbt.io>
 
-	* [r3708] Add support for phpunit 3.6 (not loosing support for 3.4)
+	* [r3708] php/README, php/test/test.php: Add support for phpunit
+	  3.6 (not loosing support for 3.4)
 	  
 	  I don't have phpunit-3.4 anymore so if anyone does please see
 	  if "make check" still works (with php enabled)
@@ -1417,213 +2744,706 @@
 
 2012-07-27 08:09  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3705] Updated NMAKE makefile with recently added source files
-	  (Ticket #574)
+	* [r3705] src/Makefile.vc: Updated NMAKE makefile with recently
+	  added source files (Ticket #574)
 
-2012-07-26 22:43  Sandro Santilli <strk at keybit.net>
+2012-07-26 22:43  Sandro Santilli <strk at kbt.io>
 
-	* [r3704] Don't live triangulate includes out of build (#573)
+	* [r3704] include/geos/Makefile.am: Don't live triangulate includes
+	  out of build (#573)
 	  
 	  Thanks Sandro Furieri
 
-2012-06-27 10:53  Sandro Santilli <strk at keybit.net>
+2012-06-27 10:53  Sandro Santilli <strk at kbt.io>
 
-	* [r3703] Add test for Delaunay triangulation with a tolerance
+	* [r3703] tests/unit/capi/GEOSDelaunayTriangulationTest.cpp: Add
+	  test for Delaunay triangulation with a tolerance
 
-2012-06-27 10:43  Sandro Santilli <strk at keybit.net>
+2012-06-27 10:43  Sandro Santilli <strk at kbt.io>
 
-	* [r3702] Expose Delaunay triangulation to C-API (#565)
+	* [r3702] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSDelaunayTriangulationTest.cpp: Expose
+	  Delaunay triangulation to C-API (#565)
 
-2012-06-27 10:43  Sandro Santilli <strk at keybit.net>
+2012-06-27 10:43  Sandro Santilli <strk at kbt.io>
 
-	* [r3701] Const-correct getTriangles / getEdges and move to proper
-	  namespace
+	* [r3701] include/geos/triangulate/DelaunayTriangulationBuilder.h,
+	  src/triangulate/DelaunayTriangulationBuilder.cpp: Const-correct
+	  getTriangles / getEdges and move to proper namespace
 
-2012-06-27 10:43  Sandro Santilli <strk at keybit.net>
+2012-06-27 10:43  Sandro Santilli <strk at kbt.io>
 
-	* [r3700] indent
+	* [r3700]
+	  include/geos/triangulate/IncrementalDelaunayTriangulator.h:
+	  indent
 
-2012-06-27 09:23  Sandro Santilli <strk at keybit.net>
+2012-06-27 09:23  Sandro Santilli <strk at kbt.io>
 
-	* [r3699] Indent and port info style
+	* [r3699] include/geos/triangulate/DelaunayTriangulationBuilder.h,
+	  include/geos/triangulate/IncrementalDelaunayTriangulator.h,
+	  include/geos/triangulate/quadedge/LastFoundQuadEdgeLocator.h,
+	  include/geos/triangulate/quadedge/LocateFailureException.h,
+	  include/geos/triangulate/quadedge/QuadEdge.h,
+	  include/geos/triangulate/quadedge/QuadEdgeLocator.h,
+	  include/geos/triangulate/quadedge/QuadEdgeSubdivision.h,
+	  include/geos/triangulate/quadedge/TrianglePredicate.h,
+	  include/geos/triangulate/quadedge/TriangleVisitor.h,
+	  include/geos/triangulate/quadedge/Vertex.h,
+	  src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp,
+	  src/triangulate/quadedge/LocateFailureException.cpp,
+	  src/triangulate/quadedge/QuadEdge.cpp,
+	  src/triangulate/quadedge/QuadEdgeLocator.cpp,
+	  src/triangulate/quadedge/QuadEdgeSubdivision.cpp,
+	  src/triangulate/quadedge/TrianglePredicate.cpp,
+	  src/triangulate/quadedge/TriangleVisitor.cpp,
+	  src/triangulate/quadedge/Vertex.cpp: Indent and port info style
 
 2012-06-26 20:41  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3697] [CMake] Corrected description of default value for
-	  GEOS_ENABLE_MACOSX_FRAMEWORK option
+	* [r3697] CMakeLists.txt: [CMake] Corrected description of default
+	  value for GEOS_ENABLE_MACOSX_FRAMEWORK option
 
 2012-06-26 20:34  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3696] Updated NEWS file with changes related to ticket #446
+	* [r3696] NEWS: Updated NEWS file with changes related to ticket
+	  #446
 
 2012-06-26 20:29  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3695] Updated svn:ignore for tests/perf
-
-2012-06-26 17:17  Sandro Santilli <strk at keybit.net>
-
-	* [r3694] typo
-
-2012-06-26 17:11  Sandro Santilli <strk at keybit.net>
-
-	* [r3693] Port Delaunay Triangulation API from JTS (#487)
+	* [r3695] tests/perf, tests/perf/operation/predicate: Updated
+	  svn:ignore for tests/perf
+
+2012-06-26 17:17  Sandro Santilli <strk at kbt.io>
+
+	* [r3694] include/geos/triangulate/DelaunayTriangulationBuilder.h:
+	  typo
+
+2012-06-26 17:11  Sandro Santilli <strk at kbt.io>
+
+	* [r3693] NEWS, configure.in, include/geos/triangulate,
+	  include/geos/triangulate/DelaunayTriangulationBuilder.h,
+	  include/geos/triangulate/IncrementalDelaunayTriangulator.h,
+	  include/geos/triangulate/Makefile.am,
+	  include/geos/triangulate/quadedge,
+	  include/geos/triangulate/quadedge/LastFoundQuadEdgeLocator.h,
+	  include/geos/triangulate/quadedge/LocateFailureException.h,
+	  include/geos/triangulate/quadedge/Makefile.am,
+	  include/geos/triangulate/quadedge/QuadEdge.h,
+	  include/geos/triangulate/quadedge/QuadEdgeLocator.h,
+	  include/geos/triangulate/quadedge/QuadEdgeSubdivision.h,
+	  include/geos/triangulate/quadedge/TrianglePredicate.h,
+	  include/geos/triangulate/quadedge/TriangleVisitor.h,
+	  include/geos/triangulate/quadedge/Vertex.h, src/Makefile.am,
+	  src/triangulate,
+	  src/triangulate/DelaunayTriangulationBuilder.cpp,
+	  src/triangulate/IncrementalDelaunayTriangulator.cpp,
+	  src/triangulate/Makefile.am, src/triangulate/quadedge,
+	  src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp,
+	  src/triangulate/quadedge/LocateFailureException.cpp,
+	  src/triangulate/quadedge/Makefile.am,
+	  src/triangulate/quadedge/QuadEdge.cpp,
+	  src/triangulate/quadedge/QuadEdgeLocator.cpp,
+	  src/triangulate/quadedge/QuadEdgeSubdivision.cpp,
+	  src/triangulate/quadedge/TrianglePredicate.cpp,
+	  src/triangulate/quadedge/TriangleVisitor.cpp,
+	  src/triangulate/quadedge/Vertex.cpp, tests/unit/Makefile.am,
+	  tests/unit/triangulate, tests/unit/triangulate/DelaunayTest.cpp,
+	  tests/unit/triangulate/quadedge,
+	  tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp,
+	  tests/unit/triangulate/quadedge/QuadEdgeTest.cpp: Port Delaunay
+	  Triangulation API from JTS (#487)
 	  
 	  Work contributed by Benjamin Campbell
 
 2012-06-25 23:31  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3692] [CMake] Fixed incorrect SOVERSION value. The SOVERSION is
-	  now set with CAPI_VERSION_CURRENT - CAPI_VERSION_AGE (Ticket
-	  #446)
+	* [r3692] CMakeLists.txt: [CMake] Fixed incorrect SOVERSION value.
+	  The SOVERSION is now set with CAPI_VERSION_CURRENT -
+	  CAPI_VERSION_AGE (Ticket #446)
 
-2012-06-25 15:17  Sandro Santilli <strk at keybit.net>
+2012-06-25 15:17  Sandro Santilli <strk at kbt.io>
 
-	* [r3691] Add tarball verification step
+	* [r3691] HOWTO_RELEASE: Add tarball verification step
 
-2012-06-25 10:19  Sandro Santilli <strk at keybit.net>
+2012-06-25 10:19  Sandro Santilli <strk at kbt.io>
 
-	* [r3684] Always return POINT from GEOSPointOnSurface, even for
-	  EMPTY (#561)
+	* [r3684] capi/geos_ts_c.cpp, tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSPointOnSurfaceTest.cpp: Always return POINT
+	  from GEOSPointOnSurface, even for EMPTY (#561)
 
 2012-06-24 22:22  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3683] [CMake] Set SOVERSION property on C API shared library
-	  using CAPI_INTERFACE_* values (Ticket #446).
+	* [r3683] CMakeLists.txt, capi/CMakeLists.txt, src/CMakeLists.txt:
+	  [CMake] Set SOVERSION property on C API shared library using
+	  CAPI_INTERFACE_* values (Ticket #446).
 
-2012-06-22 15:44  Sandro Santilli <strk at keybit.net>
+2012-06-22 15:44  Sandro Santilli <strk at kbt.io>
 
-	* [r3680] Add note about handling of degenerate polygons
+	* [r3680] include/geos/algorithm/CentroidArea.h: Add note about
+	  handling of degenerate polygons
 
-2012-06-22 15:32  Sandro Santilli <strk at keybit.net>
+2012-06-22 15:32  Sandro Santilli <strk at kbt.io>
 
-	* [r3679] Always return POINT from GEOSGetCentroid, even for EMPTY
-	  (#560)
+	* [r3679] capi/geos_ts_c.cpp,
+	  tests/unit/capi/GEOSGetCentroidTest.cpp: Always return POINT from
+	  GEOSGetCentroid, even for EMPTY (#560)
 
-2012-06-22 15:03  Sandro Santilli <strk at keybit.net>
+2012-06-22 15:03  Sandro Santilli <strk at kbt.io>
 
-	* [r3677] Port robustness fix to CentroidArea (#559)
+	* [r3677] include/geos/algorithm/CentroidArea.h,
+	  src/algorithm/CentroidArea.cpp, tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSGetCentroidTest.cpp: Port robustness fix to
+	  CentroidArea (#559)
 
-2012-06-11 09:18  Sandro Santilli <strk at keybit.net>
+2012-06-11 09:18  Sandro Santilli <strk at kbt.io>
 
-	* [r3673] Retain GEOS_INLINE define while building XMLTester (#319,
-	  #472)
+	* [r3673] tests/xmltester/Makefile.am: Retain GEOS_INLINE define
+	  while building XMLTester (#319, #472)
 
-2012-06-07 15:11  Sandro Santilli <strk at keybit.net>
-
-	* [r3672] Allow chaining interrupt callbacks, drop arg parameter
-
-2012-06-07 15:10  Sandro Santilli <strk at keybit.net>
-
-	* [r3671] Revert the interrupt request callback reset on initGEOS
-	  
-	  Once you set a callback why would you want it unregistered on
-	  initGEOS ? You will not want that....
-
-2012-06-07 14:41  Sandro Santilli <strk at keybit.net>
-
-	* [r3670] Clear interruption request flag just before interrupting
-
-2012-06-07 10:24  Sandro Santilli <strk at keybit.net>
-
-	* [r3669] Drop orphaned custom allocation signatures from C-API
-	  header
-
-2012-06-07 10:23  Sandro Santilli <strk at keybit.net>
-
-	* [r3668] Test that initGEOS clears the interrupt callback
-	  
-	  Also explicitly cleanup the callback after each test.
-
-2012-06-07 10:23  Sandro Santilli <strk at keybit.net>
-
-	* [r3667] Unregister the interrupt request on initGEOS
-
-2012-06-07 10:07  Sandro Santilli <strk at keybit.net>
-
-	* [r3666] Add support for registering interruption-checking
-	  callback.
-	  
-	  This is to enhance flexibility of the interruption request model.
-
-2012-06-06 14:15  Sandro Santilli <strk at keybit.net>
-
-	* [r3665] Enable capi::GEOSConvexHull test, and fix it (#555)
-
-2012-06-06 07:03  Sandro Santilli <strk at keybit.net>
-
-	* [r3663] Clarify problems with linking against C++ api (#553)
-	  
-	  Path by Greg Troxel.
+2012-06-07 15:11  Sandro Santilli <strk at kbt.io>
 
-2012-05-29 19:23  Sandro Santilli <strk at keybit.net>
+	* [r3672] capi/geos_c.cpp, capi/geos_c.h.in,
+	  include/geos/util/Interrupt.h, src/util/Interrupt.cpp,
+	  tests/unit/capi/GEOSInterruptTest.cpp: Allow chaining interrupt
+	  callbacks, drop arg parameter
 
-	* [r3657] No need to forward declare Coordinate (full definition
-	  included)
+2012-06-07 15:10  Sandro Santilli <strk at kbt.io>
 
-2012-05-29 19:23  Sandro Santilli <strk at keybit.net>
+	* [r3671] capi/geos_ts_c.cpp,
+	  tests/unit/capi/GEOSInterruptTest.cpp: Revert the interrupt
+	  request callback reset on initGEOS
+	  
+	  Once you set a callback why would you want it unregistered on
+	  initGEOS ? You will not want that....
 
-	* [r3656] Do not define an empty destructor for Coordinate
+2012-06-07 14:41  Sandro Santilli <strk at kbt.io>
 
-2012-05-29 16:41  Sandro Santilli <strk at keybit.net>
+	* [r3670] src/util/Interrupt.cpp: Clear interruption request flag
+	  just before interrupting
 
-	* [r3655] Make sure to build geos_svn_config.h
+2012-06-07 10:24  Sandro Santilli <strk at kbt.io>
 
-2012-05-29 10:04  Sandro Santilli <strk at keybit.net>
+	* [r3669] capi/geos_c.h.in: Drop orphaned custom allocation
+	  signatures from C-API header
 
-	* [r3654] Include SVN revision in GEOSversion output
+2012-06-07 10:23  Sandro Santilli <strk at kbt.io>
 
-2012-05-29 10:04  Sandro Santilli <strk at keybit.net>
+	* [r3668] tests/unit/capi/GEOSInterruptTest.cpp: Test that initGEOS
+	  clears the interrupt callback
+	  
+	  Also explicitly cleanup the callback after each test.
 
-	* [r3653] Fix revision file path
+2012-06-07 10:23  Sandro Santilli <strk at kbt.io>
 
-2012-05-29 09:48  Sandro Santilli <strk at keybit.net>
+	* [r3667] capi/geos_ts_c.cpp: Unregister the interrupt request on
+	  initGEOS
 
-	* [r3652] Fix test for directory existance
+2012-06-07 10:07  Sandro Santilli <strk at kbt.io>
 
-2012-05-29 09:45  Sandro Santilli <strk at keybit.net>
+	* [r3666] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  include/geos/util/Interrupt.h, src/util/Interrupt.cpp,
+	  tests/unit/Makefile.am, tests/unit/capi/GEOSInterruptTest.cpp:
+	  Add support for registering interruption-checking callback.
+	  
+	  This is to enhance flexibility of the interruption request model.
 
-	* [r3651] Add script to fetch SVN revision from git or SVN
+2012-06-06 14:15  Sandro Santilli <strk at kbt.io>
 
-2012-05-29 08:42  Sandro Santilli <strk at keybit.net>
+	* [r3665] tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSConvexHullTest.cpp: Enable
+	  capi::GEOSConvexHull test, and fix it (#555)
 
-	* [r3650] Drop embedded RCS logs
+2012-06-06 07:03  Sandro Santilli <strk at kbt.io>
 
-2012-05-28 12:29  Sandro Santilli <strk at keybit.net>
+	* [r3663] README, src/Makefile.am: Clarify problems with linking
+	  against C++ api (#553)
+	  
+	  Path by Greg Troxel.
 
-	* [r3649] Install BufferInputLineSimplifier.h header (#548)
+2012-05-29 19:23  Sandro Santilli <strk at kbt.io>
+
+	* [r3657] include/geos/algorithm/distance/PointPairDistance.h: No
+	  need to forward declare Coordinate (full definition included)
+
+2012-05-29 19:23  Sandro Santilli <strk at kbt.io>
+
+	* [r3656] include/geos/geom/Coordinate.h,
+	  include/geos/geom/Coordinate.inl: Do not define an empty
+	  destructor for Coordinate
+
+2012-05-29 16:41  Sandro Santilli <strk at kbt.io>
+
+	* [r3655] Makefile.am: Make sure to build geos_svn_config.h
+
+2012-05-29 10:04  Sandro Santilli <strk at kbt.io>
+
+	* [r3654] Makefile.am, capi/geos_ts_c.cpp: Include SVN revision in
+	  GEOSversion output
+
+2012-05-29 10:04  Sandro Santilli <strk at kbt.io>
+
+	* [r3653] tools/svn_repo_revision.sh: Fix revision file path
+
+2012-05-29 09:48  Sandro Santilli <strk at kbt.io>
+
+	* [r3652] tools/svn_repo_revision.sh: Fix test for directory
+	  existance
+
+2012-05-29 09:45  Sandro Santilli <strk at kbt.io>
+
+	* [r3651] tools/svn_repo_revision.sh: Add script to fetch SVN
+	  revision from git or SVN
+
+2012-05-29 08:42  Sandro Santilli <strk at kbt.io>
+
+	* [r3650] doc/example.cpp, examples/CPCLException.cpp,
+	  examples/CoordinateSequencesExample.cpp,
+	  examples/CustomCoordinateSequenceExample.cpp,
+	  examples/CustomCoordinateSequenceExample.h,
+	  examples/CustomPointCoordinateSequence.cpp, include/acconfig.h,
+	  include/geos/algorithm/CentralEndpointIntersector.h,
+	  include/geos/algorithm/CentroidArea.h,
+	  include/geos/algorithm/CentroidLine.h,
+	  include/geos/algorithm/CentroidPoint.h,
+	  include/geos/algorithm/ConvexHull.h,
+	  include/geos/algorithm/InteriorPointArea.h,
+	  include/geos/algorithm/InteriorPointLine.h,
+	  include/geos/algorithm/InteriorPointPoint.h,
+	  include/geos/algorithm/LineIntersector.h,
+	  include/geos/algorithm/MCPointInRing.h,
+	  include/geos/algorithm/MinimumDiameter.h,
+	  include/geos/algorithm/NotRepresentableException.h,
+	  include/geos/algorithm/PointInRing.h,
+	  include/geos/algorithm/PointLocator.h,
+	  include/geos/algorithm/RayCrossingCounter.h,
+	  include/geos/algorithm/RobustDeterminant.h,
+	  include/geos/algorithm/SIRtreePointInRing.h,
+	  include/geos/algorithm/SimplePointInRing.h,
+	  include/geos/algorithm/distance/DiscreteHausdorffDistance.h,
+	  include/geos/algorithm/distance/DistanceToPoint.h,
+	  include/geos/algorithm/distance/PointPairDistance.h,
+	  include/geos/algorithm/locate/IndexedPointInAreaLocator.h,
+	  include/geos/algorithm/locate/PointOnGeometryLocator.h,
+	  include/geos/algorithm/locate/SimplePointInAreaLocator.h,
+	  include/geos/geom/CoordinateArraySequence.h,
+	  include/geos/geom/CoordinateFilter.h,
+	  include/geos/geom/CoordinateList.h,
+	  include/geos/geom/CoordinateSequence.h,
+	  include/geos/geom/Dimension.h, include/geos/geom/Envelope.h,
+	  include/geos/geom/Geometry.h,
+	  include/geos/geom/GeometryCollection.h,
+	  include/geos/geom/GeometryComponentFilter.h,
+	  include/geos/geom/GeometryFactory.h,
+	  include/geos/geom/GeometryFilter.h,
+	  include/geos/geom/GeometryList.h,
+	  include/geos/geom/IntersectionMatrix.h,
+	  include/geos/geom/LineSegment.h, include/geos/geom/LineString.h,
+	  include/geos/geom/LinearRing.h,
+	  include/geos/geom/MultiLineString.h,
+	  include/geos/geom/MultiPoint.h, include/geos/geom/MultiPolygon.h,
+	  include/geos/geom/Polygon.h, include/geos/geom/PrecisionModel.h,
+	  include/geos/geom/Triangle.h,
+	  include/geos/geom/prep/AbstractPreparedPolygonContains.h,
+	  include/geos/geom/prep/BasicPreparedGeometry.h,
+	  include/geos/geom/prep/PreparedGeometry.h,
+	  include/geos/geom/prep/PreparedGeometryFactory.h,
+	  include/geos/geom/prep/PreparedLineString.h,
+	  include/geos/geom/prep/PreparedPoint.h,
+	  include/geos/geom/prep/PreparedPolygon.h,
+	  include/geos/geom/prep/PreparedPolygonContains.h,
+	  include/geos/geom/prep/PreparedPolygonContainsProperly.h,
+	  include/geos/geom/prep/PreparedPolygonCovers.h,
+	  include/geos/geom/prep/PreparedPolygonIntersects.h,
+	  include/geos/geom/prep/PreparedPolygonPredicate.h,
+	  include/geos/geom/util/ComponentCoordinateExtracter.h,
+	  include/geos/geom/util/CoordinateOperation.h,
+	  include/geos/geom/util/GeometryCombiner.h,
+	  include/geos/geom/util/GeometryEditor.h,
+	  include/geos/geom/util/GeometryEditorOperation.h,
+	  include/geos/geom/util/GeometryTransformer.h,
+	  include/geos/geom/util/LinearComponentExtracter.h,
+	  include/geos/geom/util/PointExtracter.h,
+	  include/geos/geom/util/PolygonExtracter.h,
+	  include/geos/geom/util/ShortCircuitedGeometryVisitor.h,
+	  include/geos/geomPrep.h, include/geos/geomUtil.h,
+	  include/geos/geomgraph.h, include/geos/geomgraph/Depth.h,
+	  include/geos/geomgraph/DirectedEdge.h,
+	  include/geos/geomgraph/EdgeList.h,
+	  include/geos/geomgraph/EdgeNodingValidator.h,
+	  include/geos/geomgraph/GeometryGraph.h,
+	  include/geos/geomgraph/Node.h,
+	  include/geos/geomgraph/NodeFactory.h,
+	  include/geos/geomgraph/NodeMap.h,
+	  include/geos/geomgraph/Position.h,
+	  include/geos/geomgraph/Quadrant.h,
+	  include/geos/geomgraph/index/EdgeSetIntersector.h,
+	  include/geos/geomgraph/index/MonotoneChain.h,
+	  include/geos/geomgraph/index/MonotoneChainEdge.h,
+	  include/geos/geomgraph/index/MonotoneChainIndexer.h,
+	  include/geos/geomgraph/index/SegmentIntersector.h,
+	  include/geos/geomgraph/index/SimpleEdgeSetIntersector.h,
+	  include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h,
+	  include/geos/geomgraph/index/SimpleSweepLineIntersector.h,
+	  include/geos/geomgraph/index/SweepLineEvent.h,
+	  include/geos/geomgraph/index/SweepLineEventObj.h,
+	  include/geos/geomgraph/index/SweepLineSegment.h,
+	  include/geos/index/bintree/Bintree.h,
+	  include/geos/index/bintree/Interval.h,
+	  include/geos/index/bintree/Key.h,
+	  include/geos/index/bintree/Node.h,
+	  include/geos/index/bintree/NodeBase.h,
+	  include/geos/index/bintree/Root.h,
+	  include/geos/index/chain/MonotoneChain.h,
+	  include/geos/index/chain/MonotoneChainOverlapAction.h,
+	  include/geos/index/chain/MonotoneChainSelectAction.h,
+	  include/geos/index/intervalrtree/IntervalRTreeBranchNode.h,
+	  include/geos/index/intervalrtree/IntervalRTreeLeafNode.h,
+	  include/geos/index/intervalrtree/IntervalRTreeNode.h,
+	  include/geos/index/intervalrtree/SortedPackedIntervalRTree.h,
+	  include/geos/index/quadtree/DoubleBits.h,
+	  include/geos/index/quadtree/IntervalSize.h,
+	  include/geos/index/quadtree/Key.h,
+	  include/geos/index/quadtree/Node.h,
+	  include/geos/index/quadtree/NodeBase.h,
+	  include/geos/index/quadtree/Quadtree.h,
+	  include/geos/index/quadtree/Root.h,
+	  include/geos/index/strtree/AbstractNode.h,
+	  include/geos/index/strtree/AbstractSTRtree.h,
+	  include/geos/index/strtree/Boundable.h,
+	  include/geos/index/strtree/Interval.h,
+	  include/geos/index/strtree/ItemBoundable.h,
+	  include/geos/index/strtree/SIRtree.h,
+	  include/geos/index/strtree/STRtree.h,
+	  include/geos/index/sweepline/SweepLineEvent.h,
+	  include/geos/index/sweepline/SweepLineIndex.h,
+	  include/geos/index/sweepline/SweepLineInterval.h,
+	  include/geos/index/sweepline/SweepLineOverlapAction.h,
+	  include/geos/indexStrtree.h, include/geos/indexSweepline.h,
+	  include/geos/io.h, include/geos/io/ByteOrderDataInStream.h,
+	  include/geos/io/ByteOrderDataInStream.inl,
+	  include/geos/io/ByteOrderValues.h,
+	  include/geos/io/ParseException.h,
+	  include/geos/io/StringTokenizer.h,
+	  include/geos/io/WKBConstants.h, include/geos/io/WKBReader.h,
+	  include/geos/io/WKBWriter.h, include/geos/io/WKTReader.h,
+	  include/geos/io/WKTReader.inl, include/geos/io/WKTWriter.h,
+	  include/geos/io/Writer.h,
+	  include/geos/noding/FastNodingValidator.h,
+	  include/geos/noding/IntersectionAdder.h,
+	  include/geos/noding/IntersectionFinderAdder.h,
+	  include/geos/noding/IteratedNoder.h,
+	  include/geos/noding/MCIndexNoder.h,
+	  include/geos/noding/MCIndexSegmentSetMutualIntersector.h,
+	  include/geos/noding/NodableSegmentString.h,
+	  include/geos/noding/NodedSegmentString.h,
+	  include/geos/noding/NodingValidator.h,
+	  include/geos/noding/Octant.h, include/geos/noding/ScaledNoder.h,
+	  include/geos/noding/SegmentIntersectionDetector.h,
+	  include/geos/noding/SegmentIntersector.h,
+	  include/geos/noding/SegmentNode.h,
+	  include/geos/noding/SegmentNodeList.h,
+	  include/geos/noding/SegmentSetMutualIntersector.h,
+	  include/geos/noding/SegmentStringUtil.h,
+	  include/geos/noding/SimpleNoder.h,
+	  include/geos/noding/SingleInteriorIntersectionFinder.h,
+	  include/geos/noding/SinglePassNoder.h,
+	  include/geos/noding/snapround/HotPixel.h,
+	  include/geos/noding/snapround/SimpleSnapRounder.h,
+	  include/geos/operation/GeometryGraphOperation.h,
+	  include/geos/operation/IsSimpleOp.h,
+	  include/geos/operation/buffer/BufferBuilder.h,
+	  include/geos/operation/buffer/BufferInputLineSimplifier.h,
+	  include/geos/operation/buffer/BufferOp.h,
+	  include/geos/operation/buffer/BufferSubgraph.h,
+	  include/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  include/geos/operation/buffer/RightmostEdgeFinder.h,
+	  include/geos/operation/buffer/SubgraphDepthLocater.h,
+	  include/geos/operation/distance/ConnectedElementLocationFilter.h,
+	  include/geos/operation/distance/ConnectedElementPointFilter.h,
+	  include/geos/operation/distance/DistanceOp.h,
+	  include/geos/operation/distance/GeometryLocation.h,
+	  include/geos/operation/linemerge/EdgeString.h,
+	  include/geos/operation/linemerge/LineMergeDirectedEdge.h,
+	  include/geos/operation/linemerge/LineMergeEdge.h,
+	  include/geos/operation/linemerge/LineMergeGraph.h,
+	  include/geos/operation/linemerge/LineMerger.h,
+	  include/geos/operation/linemerge/LineSequencer.h,
+	  include/geos/operation/overlay/EdgeSetNoder.h,
+	  include/geos/operation/overlay/ElevationMatrix.h,
+	  include/geos/operation/overlay/ElevationMatrixCell.h,
+	  include/geos/operation/overlay/LineBuilder.h,
+	  include/geos/operation/overlay/MaximalEdgeRing.h,
+	  include/geos/operation/overlay/MinimalEdgeRing.h,
+	  include/geos/operation/overlay/OverlayNodeFactory.h,
+	  include/geos/operation/overlay/OverlayOp.h,
+	  include/geos/operation/overlay/PointBuilder.h,
+	  include/geos/operation/overlay/PolygonBuilder.h,
+	  include/geos/operation/overlay/snap/SnapIfNeededOverlayOp.h,
+	  include/geos/operation/overlay/snap/SnapOverlayOp.h,
+	  include/geos/operation/overlay/validate/FuzzyPointLocator.h,
+	  include/geos/operation/overlay/validate/OffsetPointGenerator.h,
+	  include/geos/operation/overlay/validate/OverlayResultValidator.h,
+	  include/geos/operation/polygonize/EdgeRing.h,
+	  include/geos/operation/polygonize/PolygonizeDirectedEdge.h,
+	  include/geos/operation/polygonize/PolygonizeEdge.h,
+	  include/geos/operation/polygonize/PolygonizeGraph.h,
+	  include/geos/operation/polygonize/Polygonizer.h,
+	  include/geos/operation/relate/EdgeEndBuilder.h,
+	  include/geos/operation/relate/EdgeEndBundle.h,
+	  include/geos/operation/relate/EdgeEndBundleStar.h,
+	  include/geos/operation/relate/RelateComputer.h,
+	  include/geos/operation/relate/RelateNodeFactory.h,
+	  include/geos/operation/relate/RelateNodeGraph.h,
+	  include/geos/operation/relate/RelateOp.h,
+	  include/geos/operation/union/CascadedPolygonUnion.h,
+	  include/geos/operation/valid/ConnectedInteriorTester.h,
+	  include/geos/operation/valid/ConsistentAreaTester.h,
+	  include/geos/operation/valid/IsValidOp.h,
+	  include/geos/operation/valid/QuadtreeNestedRingTester.h,
+	  include/geos/operation/valid/RepeatedPointTester.h,
+	  include/geos/operation/valid/SimpleNestedRingTester.h,
+	  include/geos/operation/valid/SweeplineNestedRingTester.h,
+	  include/geos/operation/valid/TopologyValidationError.h,
+	  include/geos/planargraph/DirectedEdge.h,
+	  include/geos/planargraph/DirectedEdgeStar.h,
+	  include/geos/planargraph/Edge.h,
+	  include/geos/planargraph/GraphComponent.h,
+	  include/geos/planargraph/Node.h,
+	  include/geos/planargraph/NodeMap.h,
+	  include/geos/planargraph/PlanarGraph.h,
+	  include/geos/planargraph/Subgraph.h,
+	  include/geos/precision/CommonBits.h,
+	  include/geos/precision/CommonBitsOp.h,
+	  include/geos/precision/CommonBitsRemover.h,
+	  include/geos/precision/EnhancedPrecisionOp.h,
+	  include/geos/precision/SimpleGeometryPrecisionReducer.h,
+	  include/geos/profiler.h,
+	  include/geos/simplify/DouglasPeuckerLineSimplifier.h,
+	  include/geos/simplify/DouglasPeuckerSimplifier.h,
+	  include/geos/simplify/LineSegmentIndex.h,
+	  include/geos/simplify/TaggedLineSegment.h,
+	  include/geos/simplify/TaggedLineString.h,
+	  include/geos/simplify/TaggedLinesSimplifier.h,
+	  include/geos/simplify/TopologyPreservingSimplifier.h,
+	  include/geos/spatialIndex.h, include/geos/unload.h,
+	  include/geos/util/Assert.h,
+	  include/geos/util/AssertionFailedException.h,
+	  include/geos/util/CoordinateArrayFilter.h,
+	  include/geos/util/GEOSException.h,
+	  include/geos/util/GeometricShapeFactory.h,
+	  include/geos/util/IllegalArgumentException.h,
+	  include/geos/util/TopologyException.h,
+	  include/geos/util/UniqueCoordinateArrayFilter.h,
+	  include/geos/util/UnsupportedOperationException.h,
+	  include/geos/util/math.h, src/algorithm/CentroidArea.cpp,
+	  src/algorithm/CentroidLine.cpp, src/algorithm/CentroidPoint.cpp,
+	  src/algorithm/ConvexHull.cpp,
+	  src/algorithm/InteriorPointArea.cpp,
+	  src/algorithm/InteriorPointLine.cpp,
+	  src/algorithm/InteriorPointPoint.cpp,
+	  src/algorithm/LineIntersector.cpp,
+	  src/algorithm/MCPointInRing.cpp,
+	  src/algorithm/MinimumDiameter.cpp,
+	  src/algorithm/NotRepresentableException.cpp,
+	  src/algorithm/PointLocator.cpp,
+	  src/algorithm/RayCrossingCounter.cpp,
+	  src/algorithm/SIRtreePointInRing.cpp,
+	  src/algorithm/SimplePointInRing.cpp,
+	  src/algorithm/locate/IndexedPointInAreaLocator.cpp,
+	  src/algorithm/locate/PointOnGeometryLocator.cpp,
+	  src/algorithm/locate/SimplePointInAreaLocator.cpp,
+	  src/geom/CoordinateArraySequence.cpp,
+	  src/geom/CoordinateSequence.cpp,
+	  src/geom/CoordinateSequenceFactory.cpp, src/geom/Dimension.cpp,
+	  src/geom/Envelope.cpp, src/geom/GeometryCollection.cpp,
+	  src/geom/GeometryComponentFilter.cpp,
+	  src/geom/GeometryFactory.cpp, src/geom/GeometryList.cpp,
+	  src/geom/IntersectionMatrix.cpp, src/geom/LineSegment.cpp,
+	  src/geom/LineString.cpp, src/geom/LinearRing.cpp,
+	  src/geom/Location.cpp, src/geom/MultiLineString.cpp,
+	  src/geom/MultiPoint.cpp, src/geom/MultiPolygon.cpp,
+	  src/geom/Polygon.cpp, src/geom/PrecisionModel.cpp,
+	  src/geom/Triangle.cpp,
+	  src/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  src/geom/prep/BasicPreparedGeometry.cpp,
+	  src/geom/prep/PreparedGeometry.cpp,
+	  src/geom/prep/PreparedGeometryFactory.cpp,
+	  src/geom/prep/PreparedLineString.cpp,
+	  src/geom/prep/PreparedPoint.cpp,
+	  src/geom/prep/PreparedPolygon.cpp,
+	  src/geom/prep/PreparedPolygonContains.cpp,
+	  src/geom/prep/PreparedPolygonContainsProperly.cpp,
+	  src/geom/prep/PreparedPolygonCovers.cpp,
+	  src/geom/prep/PreparedPolygonIntersects.cpp,
+	  src/geom/prep/PreparedPolygonPredicate.cpp,
+	  src/geom/util/ComponentCoordinateExtracter.cpp,
+	  src/geom/util/CoordinateOperation.cpp,
+	  src/geom/util/GeometryEditor.cpp,
+	  src/geom/util/GeometryTransformer.cpp, src/geomgraph/Depth.cpp,
+	  src/geomgraph/EdgeList.cpp,
+	  src/geomgraph/EdgeNodingValidator.cpp, src/geomgraph/Label.cpp,
+	  src/geomgraph/NodeFactory.cpp, src/geomgraph/Position.cpp,
+	  src/geomgraph/Quadrant.cpp,
+	  src/geomgraph/index/MonotoneChainEdge.cpp,
+	  src/geomgraph/index/MonotoneChainIndexer.cpp,
+	  src/geomgraph/index/SegmentIntersector.cpp,
+	  src/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  src/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  src/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  src/geomgraph/index/SweepLineEvent.cpp,
+	  src/geomgraph/index/SweepLineSegment.cpp,
+	  src/index/bintree/Bintree.cpp, src/index/bintree/Interval.cpp,
+	  src/index/bintree/Key.cpp, src/index/bintree/Node.cpp,
+	  src/index/bintree/NodeBase.cpp, src/index/bintree/Root.cpp,
+	  src/index/chain/MonotoneChain.cpp,
+	  src/index/chain/MonotoneChainOverlapAction.cpp,
+	  src/index/chain/MonotoneChainSelectAction.cpp,
+	  src/index/intervalrtree/IntervalRTreeBranchNode.cpp,
+	  src/index/intervalrtree/IntervalRTreeLeafNode.cpp,
+	  src/index/intervalrtree/IntervalRTreeNode.cpp,
+	  src/index/intervalrtree/SortedPackedIntervalRTree.cpp,
+	  src/index/quadtree/DoubleBits.cpp,
+	  src/index/quadtree/IntervalSize.cpp, src/index/quadtree/Key.cpp,
+	  src/index/quadtree/Node.cpp, src/index/quadtree/NodeBase.cpp,
+	  src/index/quadtree/Quadtree.cpp, src/index/quadtree/Root.cpp,
+	  src/index/strtree/AbstractNode.cpp,
+	  src/index/strtree/AbstractSTRtree.cpp,
+	  src/index/strtree/Interval.cpp,
+	  src/index/strtree/ItemBoundable.cpp,
+	  src/index/strtree/SIRtree.cpp, src/index/strtree/STRtree.cpp,
+	  src/index/sweepline/SweepLineEvent.cpp,
+	  src/index/sweepline/SweepLineIndex.cpp,
+	  src/index/sweepline/SweepLineInterval.cpp,
+	  src/io/ByteOrderValues.cpp, src/io/ParseException.cpp,
+	  src/io/StringTokenizer.cpp, src/io/Unload.cpp,
+	  src/io/WKTReader.cpp, src/io/Writer.cpp,
+	  src/noding/FastNodingValidator.cpp,
+	  src/noding/IntersectionAdder.cpp,
+	  src/noding/IntersectionFinderAdder.cpp,
+	  src/noding/MCIndexNoder.cpp, src/noding/NodedSegmentString.cpp,
+	  src/noding/NodingValidator.cpp, src/noding/Octant.cpp,
+	  src/noding/ScaledNoder.cpp,
+	  src/noding/SegmentIntersectionDetector.cpp,
+	  src/noding/SegmentNode.cpp, src/noding/SegmentNodeList.cpp,
+	  src/noding/SegmentStringUtil.cpp, src/noding/SimpleNoder.cpp,
+	  src/noding/SingleInteriorIntersectionFinder.cpp,
+	  src/noding/snapround/HotPixel.cpp,
+	  src/noding/snapround/SimpleSnapRounder.cpp,
+	  src/operation/GeometryGraphOperation.cpp,
+	  src/operation/buffer/BufferSubgraph.cpp,
+	  src/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  src/operation/buffer/RightmostEdgeFinder.cpp,
+	  src/operation/buffer/SubgraphDepthLocater.cpp,
+	  src/operation/distance/ConnectedElementLocationFilter.cpp,
+	  src/operation/distance/ConnectedElementPointFilter.cpp,
+	  src/operation/distance/DistanceOp.cpp,
+	  src/operation/distance/GeometryLocation.cpp,
+	  src/operation/linemerge/EdgeString.cpp,
+	  src/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  src/operation/linemerge/LineMergeEdge.cpp,
+	  src/operation/linemerge/LineMergeGraph.cpp,
+	  src/operation/linemerge/LineMerger.cpp,
+	  src/operation/linemerge/LineSequencer.cpp,
+	  src/operation/overlay/EdgeSetNoder.cpp,
+	  src/operation/overlay/ElevationMatrix.cpp,
+	  src/operation/overlay/ElevationMatrixCell.cpp,
+	  src/operation/overlay/MaximalEdgeRing.cpp,
+	  src/operation/overlay/MinimalEdgeRing.cpp,
+	  src/operation/overlay/OverlayNodeFactory.cpp,
+	  src/operation/overlay/validate/FuzzyPointLocator.cpp,
+	  src/operation/overlay/validate/OverlayResultValidator.cpp,
+	  src/operation/polygonize/EdgeRing.cpp,
+	  src/operation/polygonize/PolygonizeDirectedEdge.cpp,
+	  src/operation/polygonize/PolygonizeEdge.cpp,
+	  src/operation/polygonize/PolygonizeGraph.cpp,
+	  src/operation/polygonize/Polygonizer.cpp,
+	  src/operation/relate/EdgeEndBundleStar.cpp,
+	  src/operation/relate/RelateNodeFactory.cpp,
+	  src/operation/relate/RelateNodeGraph.cpp,
+	  src/operation/relate/RelateOp.cpp,
+	  src/operation/valid/ConnectedInteriorTester.cpp,
+	  src/operation/valid/ConsistentAreaTester.cpp,
+	  src/operation/valid/IndexedNestedRingTester.h,
+	  src/operation/valid/QuadtreeNestedRingTester.cpp,
+	  src/operation/valid/RepeatedPointTester.cpp,
+	  src/operation/valid/SimpleNestedRingTester.cpp,
+	  src/operation/valid/SweeplineNestedRingTester.cpp,
+	  src/operation/valid/TopologyValidationError.cpp,
+	  src/planargraph/DirectedEdge.cpp,
+	  src/planargraph/DirectedEdgeStar.cpp, src/planargraph/Edge.cpp,
+	  src/planargraph/Node.cpp, src/planargraph/NodeMap.cpp,
+	  src/planargraph/PlanarGraph.cpp, src/planargraph/Subgraph.cpp,
+	  src/planargraph/algorithm/ConnectedSubgraphFinder.cpp,
+	  src/precision/CommonBits.cpp, src/precision/CommonBitsOp.cpp,
+	  src/precision/CommonBitsRemover.cpp,
+	  src/precision/EnhancedPrecisionOp.cpp,
+	  src/precision/SimpleGeometryPrecisionReducer.cpp,
+	  src/simplify/DouglasPeuckerLineSimplifier.cpp,
+	  src/simplify/DouglasPeuckerSimplifier.cpp,
+	  src/simplify/LineSegmentIndex.cpp,
+	  src/simplify/TaggedLineSegment.cpp,
+	  src/simplify/TaggedLineString.cpp,
+	  src/simplify/TaggedLineStringSimplifier.cpp,
+	  src/simplify/TaggedLinesSimplifier.cpp, src/util/Assert.cpp,
+	  src/util/Profiler.cpp, tests/bigtest/GeometryTestFactory.cpp,
+	  tests/bigtest/TestSweepLineSpeed.cpp, tests/bigtest/bigtest.h,
+	  tests/xmltester/CTS.cpp, tests/xmltester/SimpleWKTTester.cpp,
+	  tests/xmltester/Stackwalker.h: Drop embedded RCS logs
+
+2012-05-28 12:29  Sandro Santilli <strk at kbt.io>
+
+	* [r3649] NEWS,
+	  include/geos/operation/buffer/BufferInputLineSimplifier.h,
+	  include/geos/operation/buffer/Makefile.am,
+	  src/operation/buffer/BufferInputLineSimplifier.cpp,
+	  src/operation/buffer/BufferInputLineSimplifier.h,
+	  src/operation/buffer/Makefile.am,
+	  src/operation/buffer/OffsetCurveBuilder.cpp,
+	  src/operation/buffer/OffsetSegmentGenerator.cpp: Install
+	  BufferInputLineSimplifier.h header (#548)
 	  
 	  Thanks ylan for the patch
 
-2012-05-28 07:48  Sandro Santilli <strk at keybit.net>
+2012-05-28 07:48  Sandro Santilli <strk at kbt.io>
 
-	* [r3648] Rename interrupt request/cancel methods, cancel interrupt
-	  in init
+	* [r3648] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp:
+	  Rename interrupt request/cancel methods, cancel interrupt in init
 
-2012-05-25 15:50  Sandro Santilli <strk at keybit.net>
+2012-05-25 15:50  Sandro Santilli <strk at kbt.io>
 
-	* [r3647] Revert the whole custom memory allocation work (#540)
+	* [r3647] NEWS, capi/geos_ts_c.cpp,
+	  include/geos/util/CustomAllocators.h,
+	  include/geos/util/Makefile.am, src/util/CustomAllocators.cpp,
+	  src/util/Makefile.am, tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSCustomAllocatorTest.cpp: Revert the whole
+	  custom memory allocation work (#540)
 	  
 	  It wasn't well done. Pity.
 
-2012-05-25 15:26  Sandro Santilli <strk at keybit.net>
+2012-05-25 15:26  Sandro Santilli <strk at kbt.io>
 
-	* [r3646] Expose interrupt request cancel to the C-API
+	* [r3646] capi/geos_c.cpp, capi/geos_c.h.in: Expose interrupt
+	  request cancel to the C-API
 
-2012-05-25 12:26  Sandro Santilli <strk at keybit.net>
+2012-05-25 12:26  Sandro Santilli <strk at kbt.io>
 
-	* [r3645] Add method to cancel an interruption request in
-	  util::Interrupt
+	* [r3645] include/geos/util/Interrupt.h: Add method to cancel an
+	  interruption request in util::Interrupt
 
-2012-05-25 12:15  Sandro Santilli <strk at keybit.net>
+2012-05-25 12:15  Sandro Santilli <strk at kbt.io>
 
-	* [r3644] Add strategic check for interrupt in MCIndexNoder loop
+	* [r3644] src/noding/MCIndexNoder.cpp: Add strategic check for
+	  interrupt in MCIndexNoder loop
 	  
 	  Greatly increases interruptability of buffer operations in
 	  presence of many polygons.
 
-2012-05-25 10:54  Sandro Santilli <strk at keybit.net>
+2012-05-25 10:54  Sandro Santilli <strk at kbt.io>
 
-	* [r3643] Check for interruption in OverlayOp and BufferBuilder
+	* [r3643] src/operation/buffer/BufferBuilder.cpp,
+	  src/operation/overlay/OverlayOp.cpp: Check for interruption in
+	  OverlayOp and BufferBuilder
 	  
 	  These are just two operations known to take a lot of time.
 	  It'll take a better analisys to find appropriate check point.
@@ -1631,10 +3451,12 @@
 	  The checks could as well be put within graph operation loops or
 	  Coordinate constructors...
 
-2012-05-25 10:54  Sandro Santilli <strk at keybit.net>
+2012-05-25 10:54  Sandro Santilli <strk at kbt.io>
 
-	* [r3642] Initial support for an explicit mechanism to request
-	  interruption
+	* [r3642] capi/geos_c.cpp, capi/geos_c.h.in,
+	  include/geos/util/Interrupt.h, include/geos/util/Makefile.am,
+	  src/util/Interrupt.cpp, src/util/Makefile.am: Initial support for
+	  an explicit mechanism to request interruption
 	  
 	  This commit provides a GEOS_CHECK_FOR_INTERRUPTS macro for
 	  internal
@@ -1644,2106 +3466,4914 @@
 	  effective
 	  way to request interruption of running GEOS operations.
 
-2012-05-24 06:00  Sandro Santilli <strk at keybit.net>
+2012-05-24 06:00  Sandro Santilli <strk at kbt.io>
 
-	* [r3641] Don't call GeometryFactory::getDefaultInstance() at
-	  startup (#540)
+	* [r3641] include/geos/geom/Geometry.h, src/geom/Geometry.cpp:
+	  Don't call GeometryFactory::getDefaultInstance() at startup
+	  (#540)
 
 2012-05-24 00:23  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3640] Replaced static members/references to global boundary
-	  rule objects with static methods providing access to those
-	  objects. The previous implementation was troublesome for exports
-	  from Windows DLL. From POV, it is just syntactical change.
-	  Semantically nothing has changed.
+	* [r3640] capi/geos_ts_c.cpp,
+	  include/geos/algorithm/BoundaryNodeRule.h,
+	  src/algorithm/BoundaryNodeRule.cpp,
+	  src/geomgraph/GeometryGraph.cpp,
+	  src/operation/GeometryGraphOperation.cpp: Replaced static
+	  members/references to global boundary rule objects with static
+	  methods providing access to those objects. The previous
+	  implementation was troublesome for exports from Windows DLL. From
+	  POV, it is just syntactical change. Semantically nothing has
+	  changed.
 
 2012-05-24 00:21  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3639] [CMake] Link GEOS C-API library against geos.dll instead
-	  of static geos.lib to avoid breaking ODR for allocators.
+	* [r3639] capi/CMakeLists.txt: [CMake] Link GEOS C-API library
+	  against geos.dll instead of static geos.lib to avoid breaking ODR
+	  for allocators.
 
 2012-05-23 23:53  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3638] Added missing GEOS_DLL directive to GeometryNoder and
-	  custom allocators.
+	* [r3638] include/geos/noding/GeometryNoder.h,
+	  include/geos/util/CustomAllocators.h: Added missing GEOS_DLL
+	  directive to GeometryNoder and custom allocators.
 
 2012-05-23 23:34  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3637] Updated svn:ignore patterns
+	* [r3637] src/algorithm/distance, src/linearref,
+	  src/operation/overlay/snap, src/operation/overlay/validate:
+	  Updated svn:ignore patterns
 
 2012-05-23 23:03  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3636] Renamed Freer to Deallocator
+	* [r3636] capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  include/geos/util/CustomAllocators.h,
+	  src/util/CustomAllocators.cpp,
+	  tests/unit/capi/GEOSCustomAllocatorTest.cpp: Renamed Freer to
+	  Deallocator
 
 2012-05-23 22:57  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3635] Missing namespace prevented Visual C++ compiler to find
-	  GEOSAllocator and GEOSFreer
+	* [r3635] capi/geos_ts_c.cpp: Missing namespace prevented Visual
+	  C++ compiler to find GEOSAllocator and GEOSFreer
 
-2012-05-16 16:47  Sandro Santilli <strk at keybit.net>
+2012-05-16 16:47  Sandro Santilli <strk at kbt.io>
 
-	* [r3633] Fix CustomAllocators to really use the custom allocators
+	* [r3633] src/util/CustomAllocators.cpp,
+	  tests/unit/capi/GEOSCustomAllocatorTest.cpp: Fix CustomAllocators
+	  to really use the custom allocators
 	  
 	  Improve the unit test for it
 
-2012-05-16 12:20  Sandro Santilli <strk at keybit.net>
+2012-05-16 12:20  Sandro Santilli <strk at kbt.io>
 
-	* [r3632] Lazily create default GeometryFactory instance (#540)
+	* [r3632] src/geom/GeometryFactory.cpp: Lazily create default
+	  GeometryFactory instance (#540)
 	  
 	  Seems to fix a problem with mismatch of allocator and deallocator
 	  for the static object
 
-2012-05-16 12:20  Sandro Santilli <strk at keybit.net>
+2012-05-16 12:20  Sandro Santilli <strk at kbt.io>
 
-	* [r3631] Allow passing custom memory managment functions (#540)
+	* [r3631] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, include/geos/util/CustomAllocators.h,
+	  include/geos/util/Makefile.am, src/util/CustomAllocators.cpp,
+	  src/util/Makefile.am, tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSCustomAllocatorTest.cpp: Allow passing custom
+	  memory managment functions (#540)
 	  
 	  This is both in the C++ library _and_ the C library.
 
 2012-05-16 10:29  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3630] New test for C-API convex hull func.
+	* [r3630] tests/unit/capi/GEOSConvexHullTest.cpp: New test for
+	  C-API convex hull func.
 
-2012-05-14 19:03  Sandro Santilli <strk at keybit.net>
+2012-05-14 19:03  Sandro Santilli <strk at kbt.io>
 
-	* [r3629] Reduce calls to ptNotInList, greatly speeding up
-	  Polygonizer (#545)
+	* [r3629] src/operation/polygonize/EdgeRing.cpp: Reduce calls to
+	  ptNotInList, greatly speeding up Polygonizer (#545)
 
-2012-05-09 18:02  Sandro Santilli <strk at keybit.net>
+2012-05-09 18:02  Sandro Santilli <strk at kbt.io>
 
-	* [r3627] Fix TopologyPreservingSimplifier invalid output on closed
-	  line (#508)
+	* [r3627] include/geos/simplify/TaggedLineStringSimplifier.h,
+	  include/geos/simplify/TopologyPreservingSimplifier.h,
+	  src/simplify/TaggedLineStringSimplifier.cpp,
+	  src/simplify/TopologyPreservingSimplifier.cpp,
+	  tests/unit/simplify/TopologyPreservingSimplifierTest.cpp: Fix
+	  TopologyPreservingSimplifier invalid output on closed line (#508)
 
-2012-05-09 16:28  Sandro Santilli <strk at keybit.net>
+2012-05-09 16:28  Sandro Santilli <strk at kbt.io>
 
-	* [r3625] Add support for PHP 5.4 (#513) -- thanks voxik
+	* [r3625] php/geos.c: Add support for PHP 5.4 (#513) -- thanks
+	  voxik
 
-2012-05-08 18:41  Sandro Santilli <strk at keybit.net>
+2012-05-08 18:41  Sandro Santilli <strk at kbt.io>
 
-	* [r3623] Envelope-based short-circuit for Geometry->symDifference
-	  (#543)
+	* [r3623] src/geom/Geometry.cpp: Envelope-based short-circuit for
+	  Geometry->symDifference (#543)
 
-2012-05-08 17:39  Sandro Santilli <strk at keybit.net>
+2012-05-08 17:39  Sandro Santilli <strk at kbt.io>
 
-	* [r3621] Geometry methods do use BinaryOp internally + shortcuts
-	  (#542)
+	* [r3621] capi/geos_ts_c.cpp, tests/xmltester/XMLTester.cpp:
+	  Geometry methods do use BinaryOp internally + shortcuts (#542)
 	  
 	  This commit changes both XMLTester and C-API to not use BinaryOp
 	  directly but rather rely on geometry methods to do that.
 
-2012-05-04 14:51  Sandro Santilli <strk at keybit.net>
+2012-05-04 14:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3619] Correct include directives for GeometryNoder (#538)
+	* [r3619] include/geos/noding/GeometryNoder.h,
+	  src/noding/GeometryNoder.cpp: Correct include directives for
+	  GeometryNoder (#538)
 
-2012-05-04 08:24  Sandro Santilli <strk at keybit.net>
+2012-05-04 08:24  Sandro Santilli <strk at kbt.io>
 
-	* [r3618] Update PGAC_TYPE_64BIT_INT for better cross-compiler
-	  support (#534)
+	* [r3618] acsite.m4: Update PGAC_TYPE_64BIT_INT for better
+	  cross-compiler support (#534)
 
-2012-05-03 10:08  Sandro Santilli <strk at keybit.net>
+2012-05-03 10:08  Sandro Santilli <strk at kbt.io>
 
-	* [r3616] Check size of "intt64"
+	* [r3616] tests/perf/ClassSizes.cpp: Check size of "intt64"
 
-2012-04-27 07:01  Sandro Santilli <strk at keybit.net>
+2012-04-27 07:01  Sandro Santilli <strk at kbt.io>
 
-	* [r3615] Expose GEOSNode to PHP api
+	* [r3615] NEWS, php/geos.c, php/test/test.php: Expose GEOSNode to
+	  PHP api
 
-2012-04-12 09:07  Sandro Santilli <strk at keybit.net>
+2012-04-12 09:07  Sandro Santilli <strk at kbt.io>
 
-	* [r3614] Throw an exception rather than aborting on NaN overlay
-	  input (#530)
+	* [r3614] src/geomgraph/Node.cpp,
+	  tests/unit/capi/GEOSUnaryUnionTest.cpp: Throw an exception rather
+	  than aborting on NaN overlay input (#530)
 
-2012-04-10 17:01  Sandro Santilli <strk at keybit.net>
+2012-04-10 17:01  Sandro Santilli <strk at kbt.io>
 
-	* [r3612] Abort if HotPixel is constructed with zero scale (#529)
+	* [r3612] src/noding/snapround/HotPixel.cpp: Abort if HotPixel is
+	  constructed with zero scale (#529)
 
-2012-04-10 15:58  Sandro Santilli <strk at keybit.net>
+2012-04-10 15:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3611] Add test for bug #527
+	* [r3611] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug527.xml: Add test for bug #527
 
-2012-04-10 15:16  Sandro Santilli <strk at keybit.net>
+2012-04-10 15:16  Sandro Santilli <strk at kbt.io>
 
-	* [r3609] Have UnaryUnion use BinaryOp for the simple case
+	* [r3609] include/geos/operation/union/UnaryUnionOp.h: Have
+	  UnaryUnion use BinaryOp for the simple case
 	  
 	  See ticket #527 -- there's no infinite loop triggered by our
 	  testsuite...
 
-2012-04-10 15:04  Sandro Santilli <strk at keybit.net>
+2012-04-10 15:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3607] Reduce CommonBitsRemover harmful effects during overlay
-	  op (#527)
+	* [r3607] include/geos/geom/BinaryOp.h: Reduce CommonBitsRemover
+	  harmful effects during overlay op (#527)
 
-2012-04-10 08:38  Sandro Santilli <strk at keybit.net>
+2012-04-10 08:38  Sandro Santilli <strk at kbt.io>
 
-	* [r3605] Port GeometryPrecisionReducer, include testcase
+	* [r3605] NEWS, include/geos/precision/GeometryPrecisionReducer.h,
+	  include/geos/precision/Makefile.am,
+	  include/geos/precision/PrecisionReducerCoordinateOperation.h,
+	  src/precision/GeometryPrecisionReducer.cpp,
+	  src/precision/Makefile.am,
+	  src/precision/PrecisionReducerCoordinateOperation.cpp,
+	  src/precision/SimpleGeometryPrecisionReducer.cpp,
+	  tests/unit/Makefile.am,
+	  tests/unit/precision/GeometryPrecisionReducerTest.cpp: Port
+	  GeometryPrecisionReducer, include testcase
 
-2012-04-06 19:04  Sandro Santilli <strk at keybit.net>
+2012-04-06 19:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3604] Deep copy Geometry with GeometryFactory.createGeometry()
+	* [r3604] src/geom/GeometryFactory.cpp: Deep copy Geometry with
+	  GeometryFactory.createGeometry()
 	  
 	  Uses the CoordinateSequenceFactory of the factory
 
-2012-04-06 19:03  Sandro Santilli <strk at keybit.net>
+2012-04-06 19:03  Sandro Santilli <strk at kbt.io>
 
-	* [r3603] Add CoordinateSequence deep copy trhough
-	  CoordinateSequenceFactory
+	* [r3603] include/geos/geom/CoordinateArraySequence.h,
+	  include/geos/geom/CoordinateArraySequenceFactory.h,
+	  include/geos/geom/CoordinateArraySequenceFactory.inl,
+	  include/geos/geom/CoordinateSequenceFactory.h,
+	  src/geom/CoordinateArraySequence.cpp,
+	  src/geom/CoordinateArraySequenceFactory.cpp,
+	  src/geom/CoordinateSequenceFactory.cpp: Add CoordinateSequence
+	  deep copy trhough CoordinateSequenceFactory
 
-2012-04-05 17:07  Sandro Santilli <strk at keybit.net>
+2012-04-05 17:07  Sandro Santilli <strk at kbt.io>
 
-	* [r3602] Normalize noded geometry before comparing with expected
-	  value
+	* [r3602] tests/unit/capi/GEOSNodeTest.cpp: Normalize noded
+	  geometry before comparing with expected value
 	  
 	  In this way we can change the noding implementation w/out
 	  breaking the tests.
 
-2012-04-05 16:56  Sandro Santilli <strk at keybit.net>
+2012-04-05 16:56  Sandro Santilli <strk at kbt.io>
 
-	* [r3601] Regnerate geos wrapper with correct version for this
-	  branch
+	* [r3601] swig/python/geos_wrap.cxx: Regnerate geos wrapper with
+	  correct version for this branch
 
-2012-04-05 16:47  Sandro Santilli <strk at keybit.net>
+2012-04-05 16:47  Sandro Santilli <strk at kbt.io>
 
-	* [r3599] Regenerate swig wrappers with SWIG 1.3.40
+	* [r3599] swig/python/geos.py, swig/python/geos_wrap.cxx:
+	  Regenerate swig wrappers with SWIG 1.3.40
 
-2012-04-05 14:53  Sandro Santilli <strk at keybit.net>
+2012-04-05 14:53  Sandro Santilli <strk at kbt.io>
 
-	* [r3598] Fix SimpleSnapRounder::getNodedSubstrings, fix leak on
-	  exception
+	* [r3598] src/noding/snapround/SimpleSnapRounder.cpp: Fix
+	  SimpleSnapRounder::getNodedSubstrings, fix leak on exception
 
-2012-04-05 14:37  Sandro Santilli <strk at keybit.net>
+2012-04-05 14:37  Sandro Santilli <strk at kbt.io>
 
-	* [r3597] Clean memory on exception
+	* [r3597] src/noding/GeometryNoder.cpp: Clean memory on exception
 
-2012-04-05 14:23  Sandro Santilli <strk at keybit.net>
+2012-04-05 14:23  Sandro Santilli <strk at kbt.io>
 
-	* [r3596] Generalize NodedSegmentString::getNodedSubstrings
+	* [r3596] include/geos/noding/NodedSegmentString.h: Generalize
+	  NodedSegmentString::getNodedSubstrings
 
-2012-04-05 14:14  Sandro Santilli <strk at keybit.net>
+2012-04-05 14:14  Sandro Santilli <strk at kbt.io>
 
-	* [r3595] Ensure GEOSNode doesn't throw an exception with current
-	  tests
+	* [r3595] tests/unit/capi/GEOSNodeTest.cpp: Ensure GEOSNode doesn't
+	  throw an exception with current tests
 
-2012-04-05 13:43  Sandro Santilli <strk at keybit.net>
+2012-04-05 13:43  Sandro Santilli <strk at kbt.io>
 
-	* [r3594] Add note about GEOSNode
+	* [r3594] NEWS: Add note about GEOSNode
 
-2012-04-05 13:40  Sandro Santilli <strk at keybit.net>
+2012-04-05 13:40  Sandro Santilli <strk at kbt.io>
 
-	* [r3593] Add GEOSNode C-API interface (#496)
+	* [r3593] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  include/geos/noding/GeometryNoder.h,
+	  include/geos/noding/Makefile.am, src/noding/GeometryNoder.cpp,
+	  src/noding/IteratedNoder.cpp, src/noding/Makefile.am,
+	  tests/unit/Makefile.am, tests/unit/capi/GEOSNodeTest.cpp: Add
+	  GEOSNode C-API interface (#496)
 	  
 	  Includes a new GeometryNoder C++ class and regression testing.
 
-2012-04-05 12:05  Sandro Santilli <strk at keybit.net>
+2012-04-05 12:05  Sandro Santilli <strk at kbt.io>
 
-	* [r3592] Fix memory leak with IteratedNoder
+	* [r3592] src/noding/IteratedNoder.cpp: Fix memory leak with
+	  IteratedNoder
 
-2012-04-05 11:07  Sandro Santilli <strk at keybit.net>
+2012-04-05 11:07  Sandro Santilli <strk at kbt.io>
 
-	* [r3591] Update port info and cleanup IteratedNoder
+	* [r3591] include/geos/noding/IteratedNoder.h,
+	  src/noding/IteratedNoder.cpp: Update port info and cleanup
+	  IteratedNoder
 
-2012-04-05 10:30  Sandro Santilli <strk at keybit.net>
+2012-04-05 10:30  Sandro Santilli <strk at kbt.io>
 
-	* [r3590] Make OrientedCoordinateArray comparable
+	* [r3590] include/geos/geomgraph/EdgeList.h,
+	  include/geos/noding/OrientedCoordinateArray.h: Make
+	  OrientedCoordinateArray comparable
 
-2012-04-05 10:30  Sandro Santilli <strk at keybit.net>
+2012-04-05 10:30  Sandro Santilli <strk at kbt.io>
 
-	* [r3589] Make OrientedCoordinateArray assignable
+	* [r3589] include/geos/noding/OrientedCoordinateArray.h,
+	  src/noding/OrientedCoordinateArray.cpp: Make
+	  OrientedCoordinateArray assignable
 
-2012-04-03 14:23  Sandro Santilli <strk at keybit.net>
+2012-04-03 14:23  Sandro Santilli <strk at kbt.io>
 
-	* [r3588] Make OrientedCoordinateArray copyable
+	* [r3588] include/geos/noding/OrientedCoordinateArray.h: Make
+	  OrientedCoordinateArray copyable
 
-2012-04-03 12:59  Sandro Santilli <strk at keybit.net>
+2012-04-03 12:59  Sandro Santilli <strk at kbt.io>
 
-	* [r3587] Const-correct PrecisionModel use in MCIndexSnapRounder
+	* [r3587] include/geos/noding/snapround/MCIndexSnapRounder.h:
+	  Const-correct PrecisionModel use in MCIndexSnapRounder
 
 2012-04-01 20:50  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r3585] Update howto release
+	* [r3585] HOWTO_RELEASE: Update howto release
 
 2012-04-01 20:45  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r3583] Sync up versions advertised in capi to those in
-	  configure.in
+	* [r3583] capi/geos_c.h.in: Sync up versions advertised in capi to
+	  those in configure.in
 
-2012-03-27 08:37  Sandro Santilli <strk at keybit.net>
+2012-03-27 08:37  Sandro Santilli <strk at kbt.io>
 
-	* [r3576] Indent..
+	* [r3576] src/operation/overlay/snap/LineStringSnapper.cpp:
+	  Indent..
 
-2012-03-22 08:39  Sandro Santilli <strk at keybit.net>
+2012-03-22 08:39  Sandro Santilli <strk at kbt.io>
 
-	* [r3575] Fix simplification of collections with empty items (#519)
+	* [r3575] src/simplify/TaggedLineString.cpp,
+	  src/simplify/TaggedLineStringSimplifier.cpp,
+	  tests/unit/simplify/TopologyPreservingSimplifierTest.cpp: Fix
+	  simplification of collections with empty items (#519)
 
 2012-02-20 21:34  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r3573] Synch patch level version with autoconf number
+	* [r3573] CMakeLists.txt: Synch patch level version with autoconf
+	  number
 
 2012-02-16 18:19  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r3568] Update provenance for Olivier Devillers.
+	* [r3568] src/algorithm/RobustDeterminant.cpp: Update provenance
+	  for Olivier Devillers.
 
 2012-01-16 20:36  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r3567] More info on provenance.
+	* [r3567] src/algorithm/RobustDeterminant.cpp: More info on
+	  provenance.
 
 2012-01-16 20:15  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r3566] Update provenenance
+	* [r3566] include/geos/timeval.h: Update provenenance
 
 2012-01-16 18:00  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r3565] Complete Note#1 in the
+	* [r3565] ChangeLog, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, debian/copyright, debian/geos-config.1,
+	  doc/example.cpp, examples/CPCLException.cpp,
+	  examples/CoordinateSequencesExample.cpp,
+	  examples/CustomCoordinateSequenceExample.cpp,
+	  examples/CustomCoordinateSequenceExample.h,
+	  examples/CustomPointCoordinateSequence.cpp, include/acconfig.h,
+	  include/geos.h, include/geos/algorithm/Angle.h,
+	  include/geos/algorithm/BoundaryNodeRule.h,
+	  include/geos/algorithm/CGAlgorithms.h,
+	  include/geos/algorithm/CentralEndpointIntersector.h,
+	  include/geos/algorithm/CentroidArea.h,
+	  include/geos/algorithm/CentroidLine.h,
+	  include/geos/algorithm/CentroidPoint.h,
+	  include/geos/algorithm/ConvexHull.h,
+	  include/geos/algorithm/ConvexHull.inl,
+	  include/geos/algorithm/HCoordinate.h,
+	  include/geos/algorithm/InteriorPointArea.h,
+	  include/geos/algorithm/InteriorPointLine.h,
+	  include/geos/algorithm/InteriorPointPoint.h,
+	  include/geos/algorithm/LineIntersector.h,
+	  include/geos/algorithm/MCPointInRing.h,
+	  include/geos/algorithm/MinimumDiameter.h,
+	  include/geos/algorithm/NotRepresentableException.h,
+	  include/geos/algorithm/PointInRing.h,
+	  include/geos/algorithm/PointLocator.h,
+	  include/geos/algorithm/RayCrossingCounter.h,
+	  include/geos/algorithm/RobustDeterminant.h,
+	  include/geos/algorithm/SIRtreePointInRing.h,
+	  include/geos/algorithm/SimplePointInRing.h,
+	  include/geos/algorithm/distance/DiscreteHausdorffDistance.h,
+	  include/geos/algorithm/distance/DistanceToPoint.h,
+	  include/geos/algorithm/distance/PointPairDistance.h,
+	  include/geos/algorithm/locate/IndexedPointInAreaLocator.h,
+	  include/geos/algorithm/locate/PointOnGeometryLocator.h,
+	  include/geos/algorithm/locate/SimplePointInAreaLocator.h,
+	  include/geos/export.h, include/geos/geom.h,
+	  include/geos/geom/BinaryOp.h, include/geos/geom/Coordinate.h,
+	  include/geos/geom/Coordinate.inl,
+	  include/geos/geom/CoordinateArraySequence.h,
+	  include/geos/geom/CoordinateArraySequenceFactory.h,
+	  include/geos/geom/CoordinateArraySequenceFactory.inl,
+	  include/geos/geom/CoordinateFilter.h,
+	  include/geos/geom/CoordinateList.h,
+	  include/geos/geom/CoordinateSequence.h,
+	  include/geos/geom/CoordinateSequenceFactory.h,
+	  include/geos/geom/CoordinateSequenceFilter.h,
+	  include/geos/geom/Dimension.h, include/geos/geom/Envelope.h,
+	  include/geos/geom/Envelope.inl, include/geos/geom/Geometry.h,
+	  include/geos/geom/GeometryCollection.h,
+	  include/geos/geom/GeometryCollection.inl,
+	  include/geos/geom/GeometryComponentFilter.h,
+	  include/geos/geom/GeometryFactory.h,
+	  include/geos/geom/GeometryFactory.inl,
+	  include/geos/geom/GeometryFilter.h,
+	  include/geos/geom/GeometryList.h,
+	  include/geos/geom/IntersectionMatrix.h,
+	  include/geos/geom/LineSegment.h,
+	  include/geos/geom/LineSegment.inl,
+	  include/geos/geom/LineString.h, include/geos/geom/Lineal.h,
+	  include/geos/geom/LinearRing.h, include/geos/geom/Location.h,
+	  include/geos/geom/MultiLineString.h,
+	  include/geos/geom/MultiLineString.inl,
+	  include/geos/geom/MultiPoint.h, include/geos/geom/MultiPolygon.h,
+	  include/geos/geom/MultiPolygon.inl, include/geos/geom/Point.h,
+	  include/geos/geom/Polygon.h, include/geos/geom/Polygonal.h,
+	  include/geos/geom/PrecisionModel.h,
+	  include/geos/geom/PrecisionModel.inl, include/geos/geom/Puntal.h,
+	  include/geos/geom/Triangle.h,
+	  include/geos/geom/prep/AbstractPreparedPolygonContains.h,
+	  include/geos/geom/prep/BasicPreparedGeometry.h,
+	  include/geos/geom/prep/PreparedGeometry.h,
+	  include/geos/geom/prep/PreparedGeometryFactory.h,
+	  include/geos/geom/prep/PreparedLineString.h,
+	  include/geos/geom/prep/PreparedLineStringIntersects.h,
+	  include/geos/geom/prep/PreparedPoint.h,
+	  include/geos/geom/prep/PreparedPolygon.h,
+	  include/geos/geom/prep/PreparedPolygonContains.h,
+	  include/geos/geom/prep/PreparedPolygonContainsProperly.h,
+	  include/geos/geom/prep/PreparedPolygonCovers.h,
+	  include/geos/geom/prep/PreparedPolygonIntersects.h,
+	  include/geos/geom/prep/PreparedPolygonPredicate.h,
+	  include/geos/geom/util/ComponentCoordinateExtracter.h,
+	  include/geos/geom/util/CoordinateOperation.h,
+	  include/geos/geom/util/GeometryCombiner.h,
+	  include/geos/geom/util/GeometryEditor.h,
+	  include/geos/geom/util/GeometryEditorOperation.h,
+	  include/geos/geom/util/GeometryExtracter.h,
+	  include/geos/geom/util/GeometryTransformer.h,
+	  include/geos/geom/util/LinearComponentExtracter.h,
+	  include/geos/geom/util/PointExtracter.h,
+	  include/geos/geom/util/PolygonExtracter.h,
+	  include/geos/geom/util/ShortCircuitedGeometryVisitor.h,
+	  include/geos/geom/util/SineStarFactory.h,
+	  include/geos/geomPrep.h, include/geos/geomUtil.h,
+	  include/geos/geomgraph.h, include/geos/geomgraph/Depth.h,
+	  include/geos/geomgraph/DirectedEdge.h,
+	  include/geos/geomgraph/DirectedEdge.inl,
+	  include/geos/geomgraph/DirectedEdgeStar.h,
+	  include/geos/geomgraph/Edge.h, include/geos/geomgraph/EdgeEnd.h,
+	  include/geos/geomgraph/EdgeEndStar.h,
+	  include/geos/geomgraph/EdgeIntersection.h,
+	  include/geos/geomgraph/EdgeIntersectionList.h,
+	  include/geos/geomgraph/EdgeList.h,
+	  include/geos/geomgraph/EdgeNodingValidator.h,
+	  include/geos/geomgraph/EdgeRing.h,
+	  include/geos/geomgraph/GeometryGraph.h,
+	  include/geos/geomgraph/GeometryGraph.inl,
+	  include/geos/geomgraph/GraphComponent.h,
+	  include/geos/geomgraph/Label.h, include/geos/geomgraph/Node.h,
+	  include/geos/geomgraph/NodeFactory.h,
+	  include/geos/geomgraph/NodeMap.h,
+	  include/geos/geomgraph/PlanarGraph.h,
+	  include/geos/geomgraph/Position.h,
+	  include/geos/geomgraph/Quadrant.h,
+	  include/geos/geomgraph/TopologyLocation.h,
+	  include/geos/geomgraph/index/EdgeSetIntersector.h,
+	  include/geos/geomgraph/index/MonotoneChain.h,
+	  include/geos/geomgraph/index/MonotoneChainEdge.h,
+	  include/geos/geomgraph/index/MonotoneChainIndexer.h,
+	  include/geos/geomgraph/index/SegmentIntersector.h,
+	  include/geos/geomgraph/index/SimpleEdgeSetIntersector.h,
+	  include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h,
+	  include/geos/geomgraph/index/SimpleSweepLineIntersector.h,
+	  include/geos/geomgraph/index/SweepLineEvent.h,
+	  include/geos/geomgraph/index/SweepLineEventObj.h,
+	  include/geos/geomgraph/index/SweepLineSegment.h,
+	  include/geos/geomgraphindex.h, include/geos/geosAlgorithm.h,
+	  include/geos/index/ItemVisitor.h,
+	  include/geos/index/SpatialIndex.h,
+	  include/geos/index/bintree/Bintree.h,
+	  include/geos/index/bintree/Interval.h,
+	  include/geos/index/bintree/Key.h,
+	  include/geos/index/bintree/Node.h,
+	  include/geos/index/bintree/NodeBase.h,
+	  include/geos/index/bintree/Root.h,
+	  include/geos/index/chain/MonotoneChain.h,
+	  include/geos/index/chain/MonotoneChainBuilder.h,
+	  include/geos/index/chain/MonotoneChainOverlapAction.h,
+	  include/geos/index/chain/MonotoneChainSelectAction.h,
+	  include/geos/index/intervalrtree/IntervalRTreeBranchNode.h,
+	  include/geos/index/intervalrtree/IntervalRTreeLeafNode.h,
+	  include/geos/index/intervalrtree/IntervalRTreeNode.h,
+	  include/geos/index/intervalrtree/SortedPackedIntervalRTree.h,
+	  include/geos/index/quadtree/DoubleBits.h,
+	  include/geos/index/quadtree/IntervalSize.h,
+	  include/geos/index/quadtree/Key.h,
+	  include/geos/index/quadtree/Node.h,
+	  include/geos/index/quadtree/NodeBase.h,
+	  include/geos/index/quadtree/Quadtree.h,
+	  include/geos/index/quadtree/Root.h,
+	  include/geos/index/strtree/AbstractNode.h,
+	  include/geos/index/strtree/AbstractSTRtree.h,
+	  include/geos/index/strtree/Boundable.h,
+	  include/geos/index/strtree/Interval.h,
+	  include/geos/index/strtree/ItemBoundable.h,
+	  include/geos/index/strtree/SIRtree.h,
+	  include/geos/index/strtree/STRtree.h,
+	  include/geos/index/sweepline/SweepLineEvent.h,
+	  include/geos/index/sweepline/SweepLineIndex.h,
+	  include/geos/index/sweepline/SweepLineInterval.h,
+	  include/geos/index/sweepline/SweepLineOverlapAction.h,
+	  include/geos/indexBintree.h, include/geos/indexChain.h,
+	  include/geos/indexIntervalRTree.h, include/geos/indexQuadtree.h,
+	  include/geos/indexStrtree.h, include/geos/indexSweepline.h,
+	  include/geos/inline.h, include/geos/io.h,
+	  include/geos/io/ByteOrderDataInStream.h,
+	  include/geos/io/ByteOrderDataInStream.inl,
+	  include/geos/io/ByteOrderValues.h, include/geos/io/CLocalizer.h,
+	  include/geos/io/ParseException.h,
+	  include/geos/io/StringTokenizer.h,
+	  include/geos/io/WKBConstants.h, include/geos/io/WKBReader.h,
+	  include/geos/io/WKBWriter.h, include/geos/io/WKTReader.h,
+	  include/geos/io/WKTReader.inl, include/geos/io/WKTWriter.h,
+	  include/geos/io/Writer.h,
+	  include/geos/linearref/ExtractLineByLocation.h,
+	  include/geos/linearref/LengthIndexOfPoint.h,
+	  include/geos/linearref/LengthIndexedLine.h,
+	  include/geos/linearref/LengthLocationMap.h,
+	  include/geos/linearref/LinearGeometryBuilder.h,
+	  include/geos/linearref/LinearIterator.h,
+	  include/geos/linearref/LinearLocation.h,
+	  include/geos/linearref/LocationIndexOfLine.h,
+	  include/geos/linearref/LocationIndexOfPoint.h,
+	  include/geos/linearref/LocationIndexedLine.h,
+	  include/geos/noding.h, include/geos/noding/BasicSegmentString.h,
+	  include/geos/noding/FastNodingValidator.h,
+	  include/geos/noding/FastSegmentSetIntersectionFinder.h,
+	  include/geos/noding/IntersectionAdder.h,
+	  include/geos/noding/IntersectionFinderAdder.h,
+	  include/geos/noding/IteratedNoder.h,
+	  include/geos/noding/MCIndexNoder.h,
+	  include/geos/noding/MCIndexNoder.inl,
+	  include/geos/noding/MCIndexSegmentSetMutualIntersector.h,
+	  include/geos/noding/NodableSegmentString.h,
+	  include/geos/noding/NodedSegmentString.h,
+	  include/geos/noding/Noder.h,
+	  include/geos/noding/NodingValidator.h,
+	  include/geos/noding/Octant.h,
+	  include/geos/noding/OrientedCoordinateArray.h,
+	  include/geos/noding/ScaledNoder.h,
+	  include/geos/noding/SegmentIntersectionDetector.h,
+	  include/geos/noding/SegmentIntersector.h,
+	  include/geos/noding/SegmentNode.h,
+	  include/geos/noding/SegmentNodeList.h,
+	  include/geos/noding/SegmentPointComparator.h,
+	  include/geos/noding/SegmentSetMutualIntersector.h,
+	  include/geos/noding/SegmentString.h,
+	  include/geos/noding/SegmentStringUtil.h,
+	  include/geos/noding/SimpleNoder.h,
+	  include/geos/noding/SingleInteriorIntersectionFinder.h,
+	  include/geos/noding/SinglePassNoder.h,
+	  include/geos/noding/snapround/HotPixel.h,
+	  include/geos/noding/snapround/HotPixel.inl,
+	  include/geos/noding/snapround/MCIndexPointSnapper.h,
+	  include/geos/noding/snapround/MCIndexSnapRounder.h,
+	  include/geos/noding/snapround/SimpleSnapRounder.h,
+	  include/geos/nodingSnapround.h, include/geos/opBuffer.h,
+	  include/geos/opDistance.h, include/geos/opLinemerge.h,
+	  include/geos/opOverlay.h, include/geos/opPolygonize.h,
+	  include/geos/opPredicate.h, include/geos/opRelate.h,
+	  include/geos/opValid.h, include/geos/operation.h,
+	  include/geos/operation/GeometryGraphOperation.h,
+	  include/geos/operation/IsSimpleOp.h,
+	  include/geos/operation/buffer/BufferBuilder.h,
+	  include/geos/operation/buffer/BufferOp.h,
+	  include/geos/operation/buffer/BufferParameters.h,
+	  include/geos/operation/buffer/BufferSubgraph.h,
+	  include/geos/operation/buffer/OffsetCurveBuilder.h,
+	  include/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  include/geos/operation/buffer/OffsetSegmentGenerator.h,
+	  include/geos/operation/buffer/OffsetSegmentString.h,
+	  include/geos/operation/buffer/RightmostEdgeFinder.h,
+	  include/geos/operation/buffer/SubgraphDepthLocater.h,
+	  include/geos/operation/distance/ConnectedElementLocationFilter.h,
+	  include/geos/operation/distance/ConnectedElementPointFilter.h,
+	  include/geos/operation/distance/DistanceOp.h,
+	  include/geos/operation/distance/GeometryLocation.h,
+	  include/geos/operation/linemerge/EdgeString.h,
+	  include/geos/operation/linemerge/LineMergeDirectedEdge.h,
+	  include/geos/operation/linemerge/LineMergeEdge.h,
+	  include/geos/operation/linemerge/LineMergeGraph.h,
+	  include/geos/operation/linemerge/LineMerger.h,
+	  include/geos/operation/linemerge/LineSequencer.h,
+	  include/geos/operation/overlay/EdgeSetNoder.h,
+	  include/geos/operation/overlay/ElevationMatrix.h,
+	  include/geos/operation/overlay/ElevationMatrixCell.h,
+	  include/geos/operation/overlay/LineBuilder.h,
+	  include/geos/operation/overlay/MaximalEdgeRing.h,
+	  include/geos/operation/overlay/MinimalEdgeRing.h,
+	  include/geos/operation/overlay/MinimalEdgeRing.inl,
+	  include/geos/operation/overlay/OverlayNodeFactory.h,
+	  include/geos/operation/overlay/OverlayOp.h,
+	  include/geos/operation/overlay/PointBuilder.h,
+	  include/geos/operation/overlay/PolygonBuilder.h,
+	  include/geos/operation/overlay/snap/GeometrySnapper.h,
+	  include/geos/operation/overlay/snap/LineStringSnapper.h,
+	  include/geos/operation/overlay/snap/SnapIfNeededOverlayOp.h,
+	  include/geos/operation/overlay/snap/SnapOverlayOp.h,
+	  include/geos/operation/overlay/validate/FuzzyPointLocator.h,
+	  include/geos/operation/overlay/validate/OffsetPointGenerator.h,
+	  include/geos/operation/overlay/validate/OverlayResultValidator.h,
+	  include/geos/operation/polygonize/EdgeRing.h,
+	  include/geos/operation/polygonize/PolygonizeDirectedEdge.h,
+	  include/geos/operation/polygonize/PolygonizeEdge.h,
+	  include/geos/operation/polygonize/PolygonizeGraph.h,
+	  include/geos/operation/polygonize/Polygonizer.h,
+	  include/geos/operation/predicate/RectangleContains.h,
+	  include/geos/operation/predicate/RectangleIntersects.h,
+	  include/geos/operation/predicate/SegmentIntersectionTester.h,
+	  include/geos/operation/relate/EdgeEndBuilder.h,
+	  include/geos/operation/relate/EdgeEndBundle.h,
+	  include/geos/operation/relate/EdgeEndBundleStar.h,
+	  include/geos/operation/relate/RelateComputer.h,
+	  include/geos/operation/relate/RelateNode.h,
+	  include/geos/operation/relate/RelateNodeFactory.h,
+	  include/geos/operation/relate/RelateNodeGraph.h,
+	  include/geos/operation/relate/RelateOp.h,
+	  include/geos/operation/sharedpaths/SharedPathsOp.h,
+	  include/geos/operation/union/CascadedPolygonUnion.h,
+	  include/geos/operation/union/GeometryListHolder.h,
+	  include/geos/operation/union/PointGeometryUnion.h,
+	  include/geos/operation/union/UnaryUnionOp.h,
+	  include/geos/operation/valid/ConnectedInteriorTester.h,
+	  include/geos/operation/valid/ConsistentAreaTester.h,
+	  include/geos/operation/valid/IsValidOp.h,
+	  include/geos/operation/valid/QuadtreeNestedRingTester.h,
+	  include/geos/operation/valid/RepeatedPointTester.h,
+	  include/geos/operation/valid/SimpleNestedRingTester.h,
+	  include/geos/operation/valid/SweeplineNestedRingTester.h,
+	  include/geos/operation/valid/TopologyValidationError.h,
+	  include/geos/planargraph.h,
+	  include/geos/planargraph/DirectedEdge.h,
+	  include/geos/planargraph/DirectedEdgeStar.h,
+	  include/geos/planargraph/Edge.h,
+	  include/geos/planargraph/GraphComponent.h,
+	  include/geos/planargraph/Node.h,
+	  include/geos/planargraph/NodeMap.h,
+	  include/geos/planargraph/PlanarGraph.h,
+	  include/geos/planargraph/Subgraph.h,
+	  include/geos/planargraph/algorithm/ConnectedSubgraphFinder.h,
+	  include/geos/platform.h.cmake, include/geos/platform.h.vc,
+	  include/geos/precision.h, include/geos/precision/CommonBits.h,
+	  include/geos/precision/CommonBitsOp.h,
+	  include/geos/precision/CommonBitsRemover.h,
+	  include/geos/precision/EnhancedPrecisionOp.h,
+	  include/geos/precision/SimpleGeometryPrecisionReducer.h,
+	  include/geos/profiler.h,
+	  include/geos/simplify/DouglasPeuckerLineSimplifier.h,
+	  include/geos/simplify/DouglasPeuckerSimplifier.h,
+	  include/geos/simplify/LineSegmentIndex.h,
+	  include/geos/simplify/TaggedLineSegment.h,
+	  include/geos/simplify/TaggedLineString.h,
+	  include/geos/simplify/TaggedLineStringSimplifier.h,
+	  include/geos/simplify/TaggedLinesSimplifier.h,
+	  include/geos/simplify/TopologyPreservingSimplifier.h,
+	  include/geos/spatialIndex.h, include/geos/timeval.h,
+	  include/geos/unload.h, include/geos/util.h,
+	  include/geos/util/Assert.h,
+	  include/geos/util/AssertionFailedException.h,
+	  include/geos/util/CoordinateArrayFilter.h,
+	  include/geos/util/GEOSException.h,
+	  include/geos/util/GeometricShapeFactory.h,
+	  include/geos/util/IllegalArgumentException.h,
+	  include/geos/util/IllegalStateException.h,
+	  include/geos/util/Machine.h,
+	  include/geos/util/TopologyException.h,
+	  include/geos/util/UniqueCoordinateArrayFilter.h,
+	  include/geos/util/UnsupportedOperationException.h,
+	  include/geos/util/math.h, include/geos/version.h.in,
+	  include/geos/version.h.vc, src/algorithm/Angle.cpp,
+	  src/algorithm/BoundaryNodeRule.cpp,
+	  src/algorithm/CGAlgorithms.cpp, src/algorithm/CentroidArea.cpp,
+	  src/algorithm/CentroidLine.cpp, src/algorithm/CentroidPoint.cpp,
+	  src/algorithm/ConvexHull.cpp, src/algorithm/HCoordinate.cpp,
+	  src/algorithm/InteriorPointArea.cpp,
+	  src/algorithm/InteriorPointLine.cpp,
+	  src/algorithm/InteriorPointPoint.cpp,
+	  src/algorithm/LineIntersector.cpp,
+	  src/algorithm/MCPointInRing.cpp, src/algorithm/Makefile.am,
+	  src/algorithm/MinimumDiameter.cpp,
+	  src/algorithm/NotRepresentableException.cpp,
+	  src/algorithm/PointLocator.cpp,
+	  src/algorithm/RayCrossingCounter.cpp,
+	  src/algorithm/RobustDeterminant.cpp,
+	  src/algorithm/SIRtreePointInRing.cpp,
+	  src/algorithm/SimplePointInRing.cpp,
+	  src/algorithm/distance/DiscreteHausdorffDistance.cpp,
+	  src/algorithm/distance/DistanceToPoint.cpp,
+	  src/algorithm/locate/IndexedPointInAreaLocator.cpp,
+	  src/algorithm/locate/PointOnGeometryLocator.cpp,
+	  src/algorithm/locate/SimplePointInAreaLocator.cpp,
+	  src/geom/Coordinate.cpp, src/geom/CoordinateArraySequence.cpp,
+	  src/geom/CoordinateArraySequenceFactory.cpp,
+	  src/geom/CoordinateSequence.cpp,
+	  src/geom/CoordinateSequenceFactory.cpp, src/geom/Dimension.cpp,
+	  src/geom/Envelope.cpp, src/geom/Geometry.cpp,
+	  src/geom/GeometryCollection.cpp,
+	  src/geom/GeometryComponentFilter.cpp,
+	  src/geom/GeometryFactory.cpp, src/geom/GeometryList.cpp,
+	  src/geom/IntersectionMatrix.cpp, src/geom/LineSegment.cpp,
+	  src/geom/LineString.cpp, src/geom/LinearRing.cpp,
+	  src/geom/Location.cpp, src/geom/MultiLineString.cpp,
+	  src/geom/MultiPoint.cpp, src/geom/MultiPolygon.cpp,
+	  src/geom/Point.cpp, src/geom/Polygon.cpp,
+	  src/geom/PrecisionModel.cpp, src/geom/Triangle.cpp,
+	  src/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  src/geom/prep/BasicPreparedGeometry.cpp,
+	  src/geom/prep/PreparedGeometry.cpp,
+	  src/geom/prep/PreparedGeometryFactory.cpp,
+	  src/geom/prep/PreparedLineString.cpp,
+	  src/geom/prep/PreparedLineStringIntersects.cpp,
+	  src/geom/prep/PreparedPoint.cpp,
+	  src/geom/prep/PreparedPolygon.cpp,
+	  src/geom/prep/PreparedPolygonContains.cpp,
+	  src/geom/prep/PreparedPolygonContainsProperly.cpp,
+	  src/geom/prep/PreparedPolygonCovers.cpp,
+	  src/geom/prep/PreparedPolygonIntersects.cpp,
+	  src/geom/prep/PreparedPolygonPredicate.cpp,
+	  src/geom/util/ComponentCoordinateExtracter.cpp,
+	  src/geom/util/CoordinateOperation.cpp,
+	  src/geom/util/GeometryCombiner.cpp,
+	  src/geom/util/GeometryEditor.cpp,
+	  src/geom/util/GeometryTransformer.cpp,
+	  src/geom/util/ShortCircuitedGeometryVisitor.cpp,
+	  src/geom/util/SineStarFactory.cpp, src/geomgraph/Depth.cpp,
+	  src/geomgraph/DirectedEdge.cpp,
+	  src/geomgraph/DirectedEdgeStar.cpp, src/geomgraph/Edge.cpp,
+	  src/geomgraph/EdgeEnd.cpp, src/geomgraph/EdgeEndStar.cpp,
+	  src/geomgraph/EdgeIntersectionList.cpp,
+	  src/geomgraph/EdgeList.cpp,
+	  src/geomgraph/EdgeNodingValidator.cpp,
+	  src/geomgraph/EdgeRing.cpp, src/geomgraph/GeometryGraph.cpp,
+	  src/geomgraph/GraphComponent.cpp, src/geomgraph/Label.cpp,
+	  src/geomgraph/Node.cpp, src/geomgraph/NodeFactory.cpp,
+	  src/geomgraph/NodeMap.cpp, src/geomgraph/PlanarGraph.cpp,
+	  src/geomgraph/Position.cpp, src/geomgraph/Quadrant.cpp,
+	  src/geomgraph/TopologyLocation.cpp,
+	  src/geomgraph/index/MonotoneChainEdge.cpp,
+	  src/geomgraph/index/MonotoneChainIndexer.cpp,
+	  src/geomgraph/index/SegmentIntersector.cpp,
+	  src/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  src/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  src/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  src/geomgraph/index/SweepLineEvent.cpp,
+	  src/geomgraph/index/SweepLineSegment.cpp,
+	  src/index/bintree/Bintree.cpp, src/index/bintree/Interval.cpp,
+	  src/index/bintree/Key.cpp, src/index/bintree/Node.cpp,
+	  src/index/bintree/NodeBase.cpp, src/index/bintree/Root.cpp,
+	  src/index/chain/MonotoneChain.cpp,
+	  src/index/chain/MonotoneChainBuilder.cpp,
+	  src/index/chain/MonotoneChainOverlapAction.cpp,
+	  src/index/chain/MonotoneChainSelectAction.cpp,
+	  src/index/intervalrtree/IntervalRTreeBranchNode.cpp,
+	  src/index/intervalrtree/IntervalRTreeLeafNode.cpp,
+	  src/index/intervalrtree/IntervalRTreeNode.cpp,
+	  src/index/intervalrtree/SortedPackedIntervalRTree.cpp,
+	  src/index/quadtree/DoubleBits.cpp,
+	  src/index/quadtree/IntervalSize.cpp, src/index/quadtree/Key.cpp,
+	  src/index/quadtree/Node.cpp, src/index/quadtree/NodeBase.cpp,
+	  src/index/quadtree/Quadtree.cpp, src/index/quadtree/Root.cpp,
+	  src/index/strtree/AbstractNode.cpp,
+	  src/index/strtree/AbstractSTRtree.cpp,
+	  src/index/strtree/Interval.cpp,
+	  src/index/strtree/ItemBoundable.cpp,
+	  src/index/strtree/SIRtree.cpp, src/index/strtree/STRtree.cpp,
+	  src/index/sweepline/SweepLineEvent.cpp,
+	  src/index/sweepline/SweepLineIndex.cpp,
+	  src/index/sweepline/SweepLineInterval.cpp, src/inlines.cpp,
+	  src/io/ByteOrderDataInStream.cpp, src/io/ByteOrderValues.cpp,
+	  src/io/CLocalizer.cpp, src/io/ParseException.cpp,
+	  src/io/StringTokenizer.cpp, src/io/Unload.cpp,
+	  src/io/WKBReader.cpp, src/io/WKBWriter.cpp, src/io/WKTReader.cpp,
+	  src/io/WKTWriter.cpp, src/io/Writer.cpp,
+	  src/linearref/ExtractLineByLocation.cpp,
+	  src/linearref/LengthIndexOfPoint.cpp,
+	  src/linearref/LengthIndexedLine.cpp,
+	  src/linearref/LengthLocationMap.cpp,
+	  src/linearref/LinearGeometryBuilder.cpp,
+	  src/linearref/LinearIterator.cpp,
+	  src/linearref/LinearLocation.cpp,
+	  src/linearref/LocationIndexOfLine.cpp,
+	  src/linearref/LocationIndexOfPoint.cpp,
+	  src/linearref/Makefile.am, src/noding/BasicSegmentString.cpp,
+	  src/noding/FastNodingValidator.cpp,
+	  src/noding/FastSegmentSetIntersectionFinder.cpp,
+	  src/noding/IntersectionAdder.cpp,
+	  src/noding/IntersectionFinderAdder.cpp,
+	  src/noding/IteratedNoder.cpp, src/noding/MCIndexNoder.cpp,
+	  src/noding/MCIndexSegmentSetMutualIntersector.cpp,
+	  src/noding/NodedSegmentString.cpp,
+	  src/noding/NodingValidator.cpp, src/noding/Octant.cpp,
+	  src/noding/OrientedCoordinateArray.cpp,
+	  src/noding/ScaledNoder.cpp,
+	  src/noding/SegmentIntersectionDetector.cpp,
+	  src/noding/SegmentNode.cpp, src/noding/SegmentNodeList.cpp,
+	  src/noding/SegmentString.cpp, src/noding/SegmentStringUtil.cpp,
+	  src/noding/SimpleNoder.cpp,
+	  src/noding/SingleInteriorIntersectionFinder.cpp,
+	  src/noding/snapround/HotPixel.cpp,
+	  src/noding/snapround/MCIndexPointSnapper.cpp,
+	  src/noding/snapround/MCIndexSnapRounder.cpp,
+	  src/noding/snapround/SimpleSnapRounder.cpp,
+	  src/operation/GeometryGraphOperation.cpp,
+	  src/operation/IsSimpleOp.cpp,
+	  src/operation/buffer/BufferBuilder.cpp,
+	  src/operation/buffer/BufferInputLineSimplifier.cpp,
+	  src/operation/buffer/BufferInputLineSimplifier.h,
+	  src/operation/buffer/BufferOp.cpp,
+	  src/operation/buffer/BufferParameters.cpp,
+	  src/operation/buffer/BufferSubgraph.cpp,
+	  src/operation/buffer/OffsetCurveBuilder.cpp,
+	  src/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  src/operation/buffer/OffsetSegmentGenerator.cpp,
+	  src/operation/buffer/RightmostEdgeFinder.cpp,
+	  src/operation/buffer/SubgraphDepthLocater.cpp,
+	  src/operation/distance/ConnectedElementLocationFilter.cpp,
+	  src/operation/distance/ConnectedElementPointFilter.cpp,
+	  src/operation/distance/DistanceOp.cpp,
+	  src/operation/distance/GeometryLocation.cpp,
+	  src/operation/linemerge/EdgeString.cpp,
+	  src/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  src/operation/linemerge/LineMergeEdge.cpp,
+	  src/operation/linemerge/LineMergeGraph.cpp,
+	  src/operation/linemerge/LineMerger.cpp,
+	  src/operation/linemerge/LineSequencer.cpp,
+	  src/operation/overlay/EdgeSetNoder.cpp,
+	  src/operation/overlay/ElevationMatrix.cpp,
+	  src/operation/overlay/ElevationMatrixCell.cpp,
+	  src/operation/overlay/LineBuilder.cpp,
+	  src/operation/overlay/MaximalEdgeRing.cpp,
+	  src/operation/overlay/MinimalEdgeRing.cpp,
+	  src/operation/overlay/OverlayNodeFactory.cpp,
+	  src/operation/overlay/OverlayOp.cpp,
+	  src/operation/overlay/PointBuilder.cpp,
+	  src/operation/overlay/PolygonBuilder.cpp,
+	  src/operation/overlay/snap/GeometrySnapper.cpp,
+	  src/operation/overlay/snap/LineStringSnapper.cpp,
+	  src/operation/overlay/snap/SnapIfNeededOverlayOp.cpp,
+	  src/operation/overlay/snap/SnapOverlayOp.cpp,
+	  src/operation/overlay/validate/FuzzyPointLocator.cpp,
+	  src/operation/overlay/validate/OffsetPointGenerator.cpp,
+	  src/operation/overlay/validate/OverlayResultValidator.cpp,
+	  src/operation/polygonize/EdgeRing.cpp,
+	  src/operation/polygonize/PolygonizeDirectedEdge.cpp,
+	  src/operation/polygonize/PolygonizeEdge.cpp,
+	  src/operation/polygonize/PolygonizeGraph.cpp,
+	  src/operation/polygonize/Polygonizer.cpp,
+	  src/operation/predicate/RectangleContains.cpp,
+	  src/operation/predicate/RectangleIntersects.cpp,
+	  src/operation/predicate/SegmentIntersectionTester.cpp,
+	  src/operation/relate/EdgeEndBuilder.cpp,
+	  src/operation/relate/EdgeEndBundle.cpp,
+	  src/operation/relate/EdgeEndBundleStar.cpp,
+	  src/operation/relate/RelateComputer.cpp,
+	  src/operation/relate/RelateNode.cpp,
+	  src/operation/relate/RelateNodeFactory.cpp,
+	  src/operation/relate/RelateNodeGraph.cpp,
+	  src/operation/relate/RelateOp.cpp,
+	  src/operation/sharedpaths/SharedPathsOp.cpp,
+	  src/operation/union/CascadedPolygonUnion.cpp,
+	  src/operation/union/PointGeometryUnion.cpp,
+	  src/operation/union/UnaryUnionOp.cpp,
+	  src/operation/valid/ConnectedInteriorTester.cpp,
+	  src/operation/valid/ConsistentAreaTester.cpp,
+	  src/operation/valid/IndexedNestedRingTester.cpp,
+	  src/operation/valid/IndexedNestedRingTester.h,
+	  src/operation/valid/IsValidOp.cpp,
+	  src/operation/valid/QuadtreeNestedRingTester.cpp,
+	  src/operation/valid/RepeatedPointTester.cpp,
+	  src/operation/valid/SimpleNestedRingTester.cpp,
+	  src/operation/valid/SweeplineNestedRingTester.cpp,
+	  src/operation/valid/TopologyValidationError.cpp,
+	  src/planargraph/DirectedEdge.cpp,
+	  src/planargraph/DirectedEdgeStar.cpp, src/planargraph/Edge.cpp,
+	  src/planargraph/Node.cpp, src/planargraph/NodeMap.cpp,
+	  src/planargraph/PlanarGraph.cpp, src/planargraph/Subgraph.cpp,
+	  src/planargraph/algorithm/ConnectedSubgraphFinder.cpp,
+	  src/precision/CommonBits.cpp, src/precision/CommonBitsOp.cpp,
+	  src/precision/CommonBitsRemover.cpp,
+	  src/precision/EnhancedPrecisionOp.cpp,
+	  src/precision/SimpleGeometryPrecisionReducer.cpp,
+	  src/simplify/DouglasPeuckerLineSimplifier.cpp,
+	  src/simplify/DouglasPeuckerSimplifier.cpp,
+	  src/simplify/LineSegmentIndex.cpp,
+	  src/simplify/TaggedLineSegment.cpp,
+	  src/simplify/TaggedLineString.cpp,
+	  src/simplify/TaggedLineStringSimplifier.cpp,
+	  src/simplify/TaggedLinesSimplifier.cpp,
+	  src/simplify/TopologyPreservingSimplifier.cpp,
+	  src/util/Assert.cpp, src/util/GeometricShapeFactory.cpp,
+	  src/util/Profiler.cpp, src/util/math.cpp,
+	  tests/bigtest/GeometryTestFactory.cpp,
+	  tests/bigtest/TestSweepLineSpeed.cpp, tests/bigtest/bigtest.h,
+	  tests/geostest/geostest.c, tests/perf/ClassSizes.cpp,
+	  tests/perf/operation/buffer/IteratedBufferStressTest.cpp,
+	  tests/perf/operation/predicate/RectangleIntersectsPerfTest.cpp,
+	  tests/thread/badthreadtest.c, tests/thread/threadtest.c,
+	  tests/unit/algorithm/InteriorPointAreaTest.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/geom/PolygonTest.cpp, tests/unit/geos_unit.cpp,
+	  tests/xmltester/BufferResultMatcher.cpp,
+	  tests/xmltester/BufferResultMatcher.h, tests/xmltester/CTS.cpp,
+	  tests/xmltester/SimpleWKTTester.cpp,
+	  tests/xmltester/SingleSidedBufferResultMatcher.cpp,
+	  tests/xmltester/SingleSidedBufferResultMatcher.h,
+	  tests/xmltester/Stackwalker.h, tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/XMLTester.h, tests/xmltester/safe_to_xml.sh,
+	  tests/xmltester/tests/robustness.xml: Complete Note#1 in the
 	  http://wiki.osgeo.org/wiki/GEOS_Provenance_Review to get out of
 	  incubation.
 
 2012-01-07 21:09  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3563] Fixed (hopefully) CMake issues with std:: namespace
-	  detection (Ticket #493)
+	* [r3563] CMakeLists.txt: Fixed (hopefully) CMake issues with std::
+	  namespace detection (Ticket #493)
 
 2012-01-07 21:08  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3562] Missing <cctype> header for toupper. Fixed Visual C++
-	  warning.
+	* [r3562] tests/unit/capi/GEOSisValidDetailTest.cpp: Missing
+	  <cctype> header for toupper. Fixed Visual C++ warning.
 
-2012-01-06 21:53  Sandro Santilli <strk at keybit.net>
+2012-01-06 21:53  Sandro Santilli <strk at kbt.io>
 
-	* [r3561] Forward port: Fix MSVC compilation of ambiguous log()
-	  call #506
+	* [r3561] src/operation/buffer/BufferOp.cpp: Forward port: Fix MSVC
+	  compilation of ambiguous log() call #506
 
-2011-12-16 14:15  Sandro Santilli <strk at keybit.net>
+2011-12-16 14:15  Sandro Santilli <strk at kbt.io>
 
-	* [r3555] Make debugging output of LineStringSnapper more readable
+	* [r3555] src/operation/overlay/snap/LineStringSnapper.cpp: Make
+	  debugging output of LineStringSnapper more readable
 
-2011-12-15 14:36  Sandro Santilli <strk at keybit.net>
+2011-12-15 14:36  Sandro Santilli <strk at kbt.io>
 
-	* [r3553] Check validity after snapping in BinaryOp. Fixes bug #488
+	* [r3553] include/geos/geom/BinaryOp.h,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug488.xml: Check validity after
+	  snapping in BinaryOp. Fixes bug #488
 	  
 	  Adds regression test. This is a GEOS-only approach.
 
-2011-12-15 11:34  Sandro Santilli <strk at keybit.net>
+2011-12-15 11:34  Sandro Santilli <strk at kbt.io>
 
-	* [r3550] indent
+	* [r3550] include/geos/operation/overlay/OverlayOp.h: indent
 
-2011-12-15 08:59  Sandro Santilli <strk at keybit.net>
+2011-12-15 08:59  Sandro Santilli <strk at kbt.io>
 
-	* [r3548] Fix build with CBR_BEFORE_SNAPPING undefined
+	* [r3548] include/geos/geom/BinaryOp.h: Fix build with
+	  CBR_BEFORE_SNAPPING undefined
 
 2011-12-12 15:09  Howard Butler <hobu.inc at gmail.com>
 
-	* [r3546] apply patch for #500 to fix clang's complaint about a
-	  missing default initialization
+	* [r3546] src/operation/overlay/OverlayNodeFactory.cpp: apply patch
+	  for #500 to fix clang's complaint about a missing default
+	  initialization
 
-2011-12-12 10:10  Sandro Santilli <strk at keybit.net>
+2011-12-12 10:10  Sandro Santilli <strk at kbt.io>
 
-	* [r3544] Apply Shoelace formula for area calculation (#485)
+	* [r3544] src/algorithm/CGAlgorithms.cpp: Apply Shoelace formula
+	  for area calculation (#485)
 
-2011-12-12 09:59  Sandro Santilli <strk at keybit.net>
+2011-12-12 09:59  Sandro Santilli <strk at kbt.io>
 
-	* [r3542] Add --clibs to geos-config and GEOS_C_LIBS to geos.m4
-	  (#497)
+	* [r3542] macros/geos.m4, tools/geos-config.in: Add --clibs to
+	  geos-config and GEOS_C_LIBS to geos.m4 (#497)
 
-2011-12-09 10:54  Sandro Santilli <strk at keybit.net>
+2011-12-09 10:54  Sandro Santilli <strk at kbt.io>
 
-	* [r3540] Fix C++11 build by avoiding std::pair<auto_ptr> (#491)
+	* [r3540] include/geos/geom/Geometry.h,
+	  include/geos/operation/overlay/snap/GeometrySnapper.h,
+	  include/geos/operation/overlay/snap/SnapOverlayOp.h,
+	  src/operation/overlay/snap/GeometrySnapper.cpp,
+	  src/operation/overlay/snap/SnapOverlayOp.cpp: Fix C++11 build by
+	  avoiding std::pair<auto_ptr> (#491)
 
-2011-12-09 10:04  Sandro Santilli <strk at keybit.net>
+2011-12-09 10:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3536] Ignore built performance tests
+	* [r3536] .gitignore: Ignore built performance tests
 
-2011-12-09 10:04  Sandro Santilli <strk at keybit.net>
+2011-12-09 10:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3535] Improve buffer robustness by reverting to non
-	  snaprounding noder
+	* [r3535] src/operation/buffer/BufferOp.cpp,
+	  tests/unit/operation/buffer/BufferOpTest.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/safe/TestBufferJagged.xml,
+	  tests/xmltester/tests/safe/buffer-1.01.xml: Improve buffer
+	  robustness by reverting to non snaprounding noder
 	  
 	  This commit fixes all cases reported in
 	  http://trac.osgeo.org/geos/wiki/BufferRobustness
 	  They include #495 and #494
 
-2011-12-09 08:48  Sandro Santilli <strk at keybit.net>
+2011-12-09 08:48  Sandro Santilli <strk at kbt.io>
 
-	* [r3534] Fix CascadedPolygonUnion to discard non-polygonal
-	  components created during unioning
+	* [r3534] include/geos/operation/union/CascadedPolygonUnion.h,
+	  src/operation/union/CascadedPolygonUnion.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/general/TestUnaryUnion.xml,
+	  tests/xmltester/tests/general/TestUnaryUnionFloating.xml: Fix
+	  CascadedPolygonUnion to discard non-polygonal components created
+	  during unioning
 	  
 	  This is to avoid failures and provide more desirable behaviour.
 	  Includes automated testing. Closes ticket #499.
 
-2011-12-07 15:13  Sandro Santilli <strk at keybit.net>
+2011-12-07 15:13  Sandro Santilli <strk at kbt.io>
 
-	* [r3530] Update port info for MCIndexPointSnapper and
-	  MCIndexSnapRounder
+	* [r3530] include/geos/noding/snapround/MCIndexPointSnapper.h,
+	  include/geos/noding/snapround/MCIndexSnapRounder.h,
+	  src/noding/snapround/MCIndexPointSnapper.cpp,
+	  src/noding/snapround/MCIndexSnapRounder.cpp: Update port info for
+	  MCIndexPointSnapper and MCIndexSnapRounder
 
-2011-12-07 11:17  Sandro Santilli <strk at keybit.net>
+2011-12-07 11:17  Sandro Santilli <strk at kbt.io>
 
-	* [r3529] Add a simple test for MCIndexSnapRounderTest
+	* [r3529] tests/unit/Makefile.am,
+	  tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp: Add a
+	  simple test for MCIndexSnapRounderTest
 	  
 	  The test would fail before the fix in r3528
 
-2011-12-06 17:26  Sandro Santilli <strk at keybit.net>
+2011-12-06 17:26  Sandro Santilli <strk at kbt.io>
 
-	* [r3528] HotPixel: do not invalidate reference to original point.
-	  Fixes #498.
+	* [r3528] include/geos/noding/snapround/HotPixel.h,
+	  src/noding/snapround/HotPixel.cpp, tests/unit/Makefile.am,
+	  tests/unit/noding/snapround,
+	  tests/unit/noding/snapround/HotPixelTest.cpp: HotPixel: do not
+	  invalidate reference to original point. Fixes #498.
 
-2011-12-02 09:42  Sandro Santilli <strk at keybit.net>
+2011-12-02 09:42  Sandro Santilli <strk at kbt.io>
 
-	* [r3525] Add <resultMatcher> tag to make the test runnable with
-	  JTS
+	* [r3525] tests/xmltester/tests/safe/buffer-1.01.xml: Add
+	  <resultMatcher> tag to make the test runnable with JTS
 
-2011-11-30 09:45  Sandro Santilli <strk at keybit.net>
+2011-11-30 09:45  Sandro Santilli <strk at kbt.io>
 
-	* [r3523] Fix MCIndexSnapRounder use of provided precision model.
+	* [r3523] include/geos/noding/snapround/MCIndexSnapRounder.h,
+	  src/noding/snapround/MCIndexSnapRounder.cpp,
+	  tests/unit/operation/buffer/BufferOpTest.cpp: Fix
+	  MCIndexSnapRounder use of provided precision model.
 	  
 	  Fixes bug #473 (RightmostEdgeFinder assertion failure).
 	  Includes regression test.
 
-2011-11-29 14:01  Sandro Santilli <strk at keybit.net>
+2011-11-29 14:01  Sandro Santilli <strk at kbt.io>
 
-	* [r3522] Use 18 significant digits for TopologyException point
-	  coordinates
+	* [r3522] src/geom/Coordinate.cpp: Use 18 significant digits for
+	  TopologyException point coordinates
 
-2011-11-28 08:53  Sandro Santilli <strk at keybit.net>
+2011-11-28 08:53  Sandro Santilli <strk at kbt.io>
 
-	* [r3520] BufferBuilder: fix handling of collapsed edges skipping.
-	  Fixes #494.
+	* [r3520] src/operation/buffer/BufferBuilder.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/safe/buffer-1.01.xml: BufferBuilder: fix
+	  handling of collapsed edges skipping. Fixes #494.
 	  
 	  Includes regression test, provided by SAFE.
 
-2011-11-24 22:07  Sandro Santilli <strk at keybit.net>
+2011-11-24 22:07  Sandro Santilli <strk at kbt.io>
 
-	* [r3518] Fix to get swig/ruby compiling for ruby 1.9
+	* [r3518] macros/ruby.m4, swig/ruby/Makefile.am,
+	  swig/ruby/geos_wrap.cxx, swig/ruby/ruby.i: Fix to get swig/ruby
+	  compiling for ruby 1.9
 	  
 	  Patch by Kashif Rasul
 
 2011-11-06 03:25  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3517] * GEOS builds with Visual C++ from Visual Studio
-	  11(Developer Preview).
+	* [r3517] nmake.opt: * GEOS builds with Visual C++ from Visual
+	  Studio 11(Developer Preview).
 	  * Added related _NMAKE_VER case to nmake.opt.
 
-2011-11-04 20:41  Sandro Santilli <strk at keybit.net>
+2011-11-04 20:41  Sandro Santilli <strk at kbt.io>
 
-	* [r3515] Allow any case in NaN for testcase purposes (#486)
+	* [r3515] tests/unit/capi/GEOSisValidDetailTest.cpp: Allow any case
+	  in NaN for testcase purposes (#486)
 
-2011-11-04 17:59  Sandro Santilli <strk at keybit.net>
+2011-11-04 17:59  Sandro Santilli <strk at kbt.io>
 
-	* [r3514] Fix noding of self-intersecting lines through UnaryUnion
-	  (#482)
+	* [r3514] src/operation/union/UnaryUnionOp.cpp,
+	  tests/unit/operation/union/UnaryUnionOpTest.cpp,
+	  tests/xmltester/tests/general/TestUnaryUnion.xml: Fix noding of
+	  self-intersecting lines through UnaryUnion (#482)
 	  
 	  Includes updated tests from JTS
 
 2011-10-28 23:13  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3511] Updated svn:ignore property
+	* [r3511] tests/perf, tests/perf/capi,
+	  tests/perf/operation/predicate: Updated svn:ignore property
 
-2011-10-27 07:04  Sandro Santilli <strk at keybit.net>
+2011-10-27 07:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3510] Add JTS triangulation api item
+	* [r3510] TODO: Add JTS triangulation api item
 
 2011-10-26 16:49  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3509] * Test of two ways of executing buffer operation.
+	* [r3509] tests/unit/operation/buffer/BufferOpTest.cpp: * Test of
+	  two ways of executing buffer operation.
 	  * Test problems with BufferOp when using BufferParameters
 	  reported by Markus Meyer.
 	  * TODO: if possible, replace sample WKT with WKT from Markus.
 
-2011-10-26 16:14  Sandro Santilli <strk at keybit.net>
+2011-10-26 16:14  Sandro Santilli <strk at kbt.io>
 
-	* [r3508] Add test for BufferParameters class
+	* [r3508] tests/unit/Makefile.am,
+	  tests/unit/operation/buffer/BufferParametersTest.cpp: Add test
+	  for BufferParameters class
 
-2011-10-26 14:16  Sandro Santilli <strk at keybit.net>
+2011-10-26 14:16  Sandro Santilli <strk at kbt.io>
 
-	* [r3505] Add missing entries in the author file. Order
-	  alphabetically.
+	* [r3505] authors.svn: Add missing entries in the author file.
+	  Order alphabetically.
 
-2011-10-26 14:16  Sandro Santilli <strk at keybit.net>
+2011-10-26 14:16  Sandro Santilli <strk at kbt.io>
 
-	* [r3504] Add missing CAPI additions of 3.3.0 to NEWS file
+	* [r3504] NEWS: Add missing CAPI additions of 3.3.0 to NEWS file
 
 2011-10-19 00:45  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3502] Fixed CMAKE_CXX_FLAGS overridind -std=gnu++0x (#489)
+	* [r3502] CMakeLists.txt: Fixed CMAKE_CXX_FLAGS overridind
+	  -std=gnu++0x (#489)
 
 2011-10-18 22:12  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3501] Missing 3.4.0 versions update in CMake configuration
+	* [r3501] CMakeLists.txt: Missing 3.4.0 versions update in CMake
+	  configuration
 
 2011-10-05 23:24  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3499] Removed redundant casts between integer types
+	* [r3499] capi/geos_ts_c.cpp: Removed redundant casts between
+	  integer types
 
 2011-10-05 00:09  Howard Butler <hobu.inc at gmail.com>
 
-	* [r3498] declare these functions static inline to silence
-	  unused-function warning
+	* [r3498] tests/unit/tut/tut_assert.hpp: declare these functions
+	  static inline to silence unused-function warning
 
 2011-10-04 20:46  Howard Butler <hobu.inc at gmail.com>
 
-	* [r3497] remove extra ;'s to satisfy pedantic warning
+	* [r3497] capi/geos_ts_c.cpp,
+	  include/geos/algorithm/CGAlgorithms.h,
+	  include/geos/algorithm/PointInRing.h,
+	  include/geos/geom/MultiPoint.h,
+	  include/geos/geom/prep/PreparedGeometry.h,
+	  include/geos/geomgraph/EdgeEndStar.h,
+	  include/geos/geomgraph/Node.h,
+	  include/geos/geomgraph/NodeFactory.h,
+	  include/geos/geomgraph/index/EdgeSetIntersector.h,
+	  include/geos/geomgraph/index/MonotoneChainIndexer.h,
+	  include/geos/geomgraph/index/SweepLineEventObj.h,
+	  include/geos/index/chain/MonotoneChainOverlapAction.h,
+	  include/geos/index/strtree/Boundable.h,
+	  include/geos/index/strtree/SIRtree.h,
+	  include/geos/index/strtree/STRtree.h,
+	  include/geos/io/ParseException.h,
+	  include/geos/io/StringTokenizer.h, include/geos/io/WKBReader.h,
+	  include/geos/noding/Noder.h, include/geos/noding/SimpleNoder.h,
+	  include/geos/operation/relate/RelateNodeFactory.h,
+	  include/geos/operation/valid/RepeatedPointTester.h,
+	  include/geos/planargraph/GraphComponent.h,
+	  include/geos/util/IllegalArgumentException.h,
+	  include/geos/util/IllegalStateException.h,
+	  include/geos/util/UnsupportedOperationException.h,
+	  src/precision/CommonBitsRemover.cpp: remove extra ;'s to satisfy
+	  pedantic warning
 
 2011-10-04 15:48  Howard Butler <hobu.inc at gmail.com>
 
-	* [r3495] turn off framework building by default on APPLE
+	* [r3495] CMakeLists.txt: turn off framework building by default on
+	  APPLE
 
 2011-10-04 15:43  Howard Butler <hobu.inc at gmail.com>
 
-	* [r3494] propsets to svn:ignore CMake build junk
+	* [r3494] ., capi, cmake, include, src, tests, tests/bigtest,
+	  tests/unit, tests/xmltester, tools: propsets to svn:ignore CMake
+	  build junk
 
 2011-10-04 15:42  Howard Butler <hobu.inc at gmail.com>
 
-	* [r3493] fix up non-framework CMake builds on APPLE
+	* [r3493] capi/CMakeLists.txt, src/CMakeLists.txt: fix up
+	  non-framework CMake builds on APPLE
 
 2011-10-04 15:32  Howard Butler <hobu.inc at gmail.com>
 
-	* [r3492] fix up order initialization
+	* [r3492] src/index/sweepline/SweepLineIndex.cpp: fix up order
+	  initialization
 
 2011-09-28 17:23  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3491] * Added interesting test<11> case to Douglas-Peucker unit
+	* [r3491] tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp: *
+	  Added interesting test<11> case to Douglas-Peucker unit
 	  * Visual C++ build on Windows x86-32 is all green and happy
 	  throwing ok:737
 
-2011-09-23 12:14  Sandro Santilli <strk at keybit.net>
-
-	* [r3484] Fixed handling of Linear Referencing over
-	  MultiLineStrings to always return lowest index, and to trim
-	  zero-length result components (#323)
+2011-09-23 12:14  Sandro Santilli <strk at kbt.io>
+
+	* [r3484] NEWS, include/geos/linearref/LengthIndexedLine.h,
+	  include/geos/linearref/LengthLocationMap.h,
+	  include/geos/linearref/LinearIterator.h,
+	  include/geos/linearref/LinearLocation.h,
+	  include/geos/linearref/LocationIndexOfPoint.h,
+	  include/geos/linearref/LocationIndexedLine.h,
+	  include/geos/linearref/Makefile.am,
+	  src/linearref/LengthIndexedLine.cpp,
+	  src/linearref/LengthLocationMap.cpp,
+	  src/linearref/LinearIterator.cpp,
+	  src/linearref/LinearLocation.cpp,
+	  src/linearref/LocationIndexOfPoint.cpp: Fixed handling of Linear
+	  Referencing over MultiLineStrings to always return lowest index,
+	  and to trim zero-length result components (#323)
 	  
 	  Includes test. This is a port of JTS changesets 463, 464 and 465
 
-2011-09-23 12:14  Sandro Santilli <strk at keybit.net>
+2011-09-23 12:14  Sandro Santilli <strk at kbt.io>
 
-	* [r3483] Port updates to the LenghtIndexedLineTest testcase (see
-	  #323)
+	* [r3483] tests/unit/linearref/LengthIndexedLineTest.cpp: Port
+	  updates to the LenghtIndexedLineTest testcase (see #323)
 	  
 	  Note that the test fails if the library isn't also fixed
 
 2011-09-23 01:03  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3482] Removed Subversion Id keyword from all text files (#480)
+	* [r3482] CMakeLists.txt, Makefile.am, autogen.bat, autogen.sh,
+	  capi/CMakeLists.txt, capi/Makefile.am, capi/geos_c.cpp,
+	  capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  cmake/cmake_uninstall.cmake.in, configure.in, doc/Makefile.am,
+	  doc/example.cpp, examples/CPCLException.cpp,
+	  examples/CoordinateSequencesExample.cpp,
+	  examples/CustomCoordinateSequenceExample.cpp,
+	  examples/CustomCoordinateSequenceExample.h,
+	  examples/CustomPointCoordinateSequence.cpp, examples/Makefile.am,
+	  include/CMakeLists.txt, include/Makefile.am, include/acconfig.h,
+	  include/geos.h, include/geos/Makefile.am,
+	  include/geos/algorithm/Angle.h,
+	  include/geos/algorithm/BoundaryNodeRule.h,
+	  include/geos/algorithm/CentralEndpointIntersector.h,
+	  include/geos/algorithm/CentroidArea.h,
+	  include/geos/algorithm/CentroidLine.h,
+	  include/geos/algorithm/CentroidPoint.h,
+	  include/geos/algorithm/ConvexHull.h,
+	  include/geos/algorithm/ConvexHull.inl,
+	  include/geos/algorithm/HCoordinate.h,
+	  include/geos/algorithm/InteriorPointArea.h,
+	  include/geos/algorithm/InteriorPointLine.h,
+	  include/geos/algorithm/InteriorPointPoint.h,
+	  include/geos/algorithm/LineIntersector.h,
+	  include/geos/algorithm/MCPointInRing.h,
+	  include/geos/algorithm/Makefile.am,
+	  include/geos/algorithm/MinimumDiameter.h,
+	  include/geos/algorithm/NotRepresentableException.h,
+	  include/geos/algorithm/PointInRing.h,
+	  include/geos/algorithm/PointLocator.h,
+	  include/geos/algorithm/RayCrossingCounter.h,
+	  include/geos/algorithm/RobustDeterminant.h,
+	  include/geos/algorithm/SIRtreePointInRing.h,
+	  include/geos/algorithm/SimplePointInRing.h,
+	  include/geos/algorithm/distance/DiscreteHausdorffDistance.h,
+	  include/geos/algorithm/distance/DistanceToPoint.h,
+	  include/geos/algorithm/distance/Makefile.am,
+	  include/geos/algorithm/distance/PointPairDistance.h,
+	  include/geos/algorithm/locate/IndexedPointInAreaLocator.h,
+	  include/geos/algorithm/locate/Makefile.am,
+	  include/geos/algorithm/locate/PointOnGeometryLocator.h,
+	  include/geos/algorithm/locate/SimplePointInAreaLocator.h,
+	  include/geos/export.h, include/geos/geom.h,
+	  include/geos/geom/BinaryOp.h, include/geos/geom/Coordinate.h,
+	  include/geos/geom/Coordinate.inl,
+	  include/geos/geom/CoordinateArraySequence.h,
+	  include/geos/geom/CoordinateArraySequenceFactory.h,
+	  include/geos/geom/CoordinateArraySequenceFactory.inl,
+	  include/geos/geom/CoordinateFilter.h,
+	  include/geos/geom/CoordinateList.h,
+	  include/geos/geom/CoordinateSequence.h,
+	  include/geos/geom/CoordinateSequenceFactory.h,
+	  include/geos/geom/CoordinateSequenceFilter.h,
+	  include/geos/geom/Dimension.h, include/geos/geom/Envelope.h,
+	  include/geos/geom/Envelope.inl, include/geos/geom/Geometry.h,
+	  include/geos/geom/GeometryCollection.h,
+	  include/geos/geom/GeometryCollection.inl,
+	  include/geos/geom/GeometryComponentFilter.h,
+	  include/geos/geom/GeometryFactory.h,
+	  include/geos/geom/GeometryFactory.inl,
+	  include/geos/geom/GeometryFilter.h,
+	  include/geos/geom/GeometryList.h,
+	  include/geos/geom/IntersectionMatrix.h,
+	  include/geos/geom/LineSegment.h,
+	  include/geos/geom/LineSegment.inl,
+	  include/geos/geom/LineString.h, include/geos/geom/Lineal.h,
+	  include/geos/geom/LinearRing.h, include/geos/geom/Location.h,
+	  include/geos/geom/Makefile.am,
+	  include/geos/geom/MultiLineString.h,
+	  include/geos/geom/MultiLineString.inl,
+	  include/geos/geom/MultiPoint.h, include/geos/geom/MultiPolygon.h,
+	  include/geos/geom/MultiPolygon.inl, include/geos/geom/Point.h,
+	  include/geos/geom/Polygon.h, include/geos/geom/Polygonal.h,
+	  include/geos/geom/PrecisionModel.h,
+	  include/geos/geom/PrecisionModel.inl, include/geos/geom/Puntal.h,
+	  include/geos/geom/Triangle.h,
+	  include/geos/geom/prep/BasicPreparedGeometry.h,
+	  include/geos/geom/prep/Makefile.am,
+	  include/geos/geom/prep/PreparedGeometry.h,
+	  include/geos/geom/prep/PreparedGeometryFactory.h,
+	  include/geos/geom/prep/PreparedLineString.h,
+	  include/geos/geom/prep/PreparedPoint.h,
+	  include/geos/geom/prep/PreparedPolygon.h,
+	  include/geos/geom/prep/PreparedPolygonContains.h,
+	  include/geos/geom/prep/PreparedPolygonContainsProperly.h,
+	  include/geos/geom/prep/PreparedPolygonCovers.h,
+	  include/geos/geom/prep/PreparedPolygonIntersects.h,
+	  include/geos/geom/prep/PreparedPolygonPredicate.h,
+	  include/geos/geom/util/ComponentCoordinateExtracter.h,
+	  include/geos/geom/util/CoordinateOperation.h,
+	  include/geos/geom/util/GeometryCombiner.h,
+	  include/geos/geom/util/GeometryEditor.h,
+	  include/geos/geom/util/GeometryEditorOperation.h,
+	  include/geos/geom/util/GeometryExtracter.h,
+	  include/geos/geom/util/GeometryTransformer.h,
+	  include/geos/geom/util/LinearComponentExtracter.h,
+	  include/geos/geom/util/Makefile.am,
+	  include/geos/geom/util/PointExtracter.h,
+	  include/geos/geom/util/PolygonExtracter.h,
+	  include/geos/geom/util/ShortCircuitedGeometryVisitor.h,
+	  include/geos/geomPrep.h, include/geos/geomUtil.h,
+	  include/geos/geomgraph.h, include/geos/geomgraph/Depth.h,
+	  include/geos/geomgraph/EdgeList.h,
+	  include/geos/geomgraph/EdgeNodingValidator.h,
+	  include/geos/geomgraph/Makefile.am,
+	  include/geos/geomgraph/NodeFactory.h,
+	  include/geos/geomgraph/NodeMap.h,
+	  include/geos/geomgraph/Position.h,
+	  include/geos/geomgraph/Quadrant.h,
+	  include/geos/geomgraph/index/EdgeSetIntersector.h,
+	  include/geos/geomgraph/index/Makefile.am,
+	  include/geos/geomgraph/index/MonotoneChain.h,
+	  include/geos/geomgraph/index/MonotoneChainEdge.h,
+	  include/geos/geomgraph/index/MonotoneChainIndexer.h,
+	  include/geos/geomgraph/index/SegmentIntersector.h,
+	  include/geos/geomgraph/index/SimpleEdgeSetIntersector.h,
+	  include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h,
+	  include/geos/geomgraph/index/SimpleSweepLineIntersector.h,
+	  include/geos/geomgraph/index/SweepLineEvent.h,
+	  include/geos/geomgraph/index/SweepLineEventObj.h,
+	  include/geos/geomgraph/index/SweepLineSegment.h,
+	  include/geos/geomgraphindex.h, include/geos/geosAlgorithm.h,
+	  include/geos/index/ItemVisitor.h, include/geos/index/Makefile.am,
+	  include/geos/index/SpatialIndex.h,
+	  include/geos/index/bintree/Bintree.h,
+	  include/geos/index/bintree/Interval.h,
+	  include/geos/index/bintree/Key.h,
+	  include/geos/index/bintree/Makefile.am,
+	  include/geos/index/bintree/Node.h,
+	  include/geos/index/bintree/NodeBase.h,
+	  include/geos/index/bintree/Root.h,
+	  include/geos/index/chain/Makefile.am,
+	  include/geos/index/chain/MonotoneChain.h,
+	  include/geos/index/chain/MonotoneChainOverlapAction.h,
+	  include/geos/index/chain/MonotoneChainSelectAction.h,
+	  include/geos/index/intervalrtree/IntervalRTreeBranchNode.h,
+	  include/geos/index/intervalrtree/IntervalRTreeLeafNode.h,
+	  include/geos/index/intervalrtree/IntervalRTreeNode.h,
+	  include/geos/index/intervalrtree/Makefile.am,
+	  include/geos/index/intervalrtree/SortedPackedIntervalRTree.h,
+	  include/geos/index/quadtree/DoubleBits.h,
+	  include/geos/index/quadtree/IntervalSize.h,
+	  include/geos/index/quadtree/Key.h,
+	  include/geos/index/quadtree/Makefile.am,
+	  include/geos/index/quadtree/Node.h,
+	  include/geos/index/quadtree/NodeBase.h,
+	  include/geos/index/quadtree/Quadtree.h,
+	  include/geos/index/quadtree/Root.h,
+	  include/geos/index/strtree/AbstractNode.h,
+	  include/geos/index/strtree/AbstractSTRtree.h,
+	  include/geos/index/strtree/Boundable.h,
+	  include/geos/index/strtree/Interval.h,
+	  include/geos/index/strtree/ItemBoundable.h,
+	  include/geos/index/strtree/Makefile.am,
+	  include/geos/index/strtree/SIRtree.h,
+	  include/geos/index/strtree/STRtree.h,
+	  include/geos/index/sweepline/Makefile.am,
+	  include/geos/index/sweepline/SweepLineEvent.h,
+	  include/geos/index/sweepline/SweepLineIndex.h,
+	  include/geos/index/sweepline/SweepLineInterval.h,
+	  include/geos/index/sweepline/SweepLineOverlapAction.h,
+	  include/geos/indexBintree.h, include/geos/indexChain.h,
+	  include/geos/indexIntervalRTree.h, include/geos/indexQuadtree.h,
+	  include/geos/indexStrtree.h, include/geos/indexSweepline.h,
+	  include/geos/inline.h, include/geos/io.h,
+	  include/geos/io/ByteOrderDataInStream.h,
+	  include/geos/io/ByteOrderDataInStream.inl,
+	  include/geos/io/ByteOrderValues.h, include/geos/io/CLocalizer.h,
+	  include/geos/io/Makefile.am, include/geos/io/ParseException.h,
+	  include/geos/io/StringTokenizer.h,
+	  include/geos/io/WKBConstants.h, include/geos/io/WKBReader.h,
+	  include/geos/io/WKBWriter.h, include/geos/io/WKTReader.h,
+	  include/geos/io/WKTReader.inl, include/geos/io/WKTWriter.h,
+	  include/geos/io/Writer.h,
+	  include/geos/linearref/ExtractLineByLocation.h,
+	  include/geos/linearref/LengthIndexOfPoint.h,
+	  include/geos/linearref/LengthIndexedLine.h,
+	  include/geos/linearref/LengthLocationMap.h,
+	  include/geos/linearref/LinearGeometryBuilder.h,
+	  include/geos/linearref/LinearIterator.h,
+	  include/geos/linearref/LinearLocation.h,
+	  include/geos/linearref/LocationIndexOfLine.h,
+	  include/geos/linearref/LocationIndexOfPoint.h,
+	  include/geos/linearref/Makefile.am, include/geos/noding.h,
+	  include/geos/noding/BasicSegmentString.h,
+	  include/geos/noding/FastNodingValidator.h,
+	  include/geos/noding/IntersectionAdder.h,
+	  include/geos/noding/IntersectionFinderAdder.h,
+	  include/geos/noding/IteratedNoder.h,
+	  include/geos/noding/MCIndexNoder.h,
+	  include/geos/noding/MCIndexNoder.inl,
+	  include/geos/noding/Makefile.am,
+	  include/geos/noding/NodableSegmentString.h,
+	  include/geos/noding/NodedSegmentString.h,
+	  include/geos/noding/NodingValidator.h,
+	  include/geos/noding/Octant.h,
+	  include/geos/noding/OrientedCoordinateArray.h,
+	  include/geos/noding/ScaledNoder.h,
+	  include/geos/noding/SegmentIntersectionDetector.h,
+	  include/geos/noding/SegmentIntersector.h,
+	  include/geos/noding/SegmentNode.h,
+	  include/geos/noding/SegmentNodeList.h,
+	  include/geos/noding/SegmentSetMutualIntersector.h,
+	  include/geos/noding/SegmentStringUtil.h,
+	  include/geos/noding/SimpleNoder.h,
+	  include/geos/noding/SingleInteriorIntersectionFinder.h,
+	  include/geos/noding/SinglePassNoder.h,
+	  include/geos/noding/snapround/HotPixel.h,
+	  include/geos/noding/snapround/HotPixel.inl,
+	  include/geos/noding/snapround/MCIndexPointSnapper.h,
+	  include/geos/noding/snapround/MCIndexSnapRounder.h,
+	  include/geos/noding/snapround/Makefile.am,
+	  include/geos/noding/snapround/SimpleSnapRounder.h,
+	  include/geos/nodingSnapround.h, include/geos/opBuffer.h,
+	  include/geos/opDistance.h, include/geos/opLinemerge.h,
+	  include/geos/opOverlay.h, include/geos/opPolygonize.h,
+	  include/geos/opPredicate.h, include/geos/opRelate.h,
+	  include/geos/opValid.h, include/geos/operation.h,
+	  include/geos/operation/GeometryGraphOperation.h,
+	  include/geos/operation/IsSimpleOp.h,
+	  include/geos/operation/Makefile.am,
+	  include/geos/operation/buffer/BufferBuilder.h,
+	  include/geos/operation/buffer/BufferOp.h,
+	  include/geos/operation/buffer/BufferParameters.h,
+	  include/geos/operation/buffer/BufferSubgraph.h,
+	  include/geos/operation/buffer/Makefile.am,
+	  include/geos/operation/buffer/OffsetCurveBuilder.h,
+	  include/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  include/geos/operation/buffer/OffsetSegmentGenerator.h,
+	  include/geos/operation/buffer/OffsetSegmentString.h,
+	  include/geos/operation/buffer/RightmostEdgeFinder.h,
+	  include/geos/operation/buffer/SubgraphDepthLocater.h,
+	  include/geos/operation/distance/ConnectedElementLocationFilter.h,
+	  include/geos/operation/distance/ConnectedElementPointFilter.h,
+	  include/geos/operation/distance/DistanceOp.h,
+	  include/geos/operation/distance/GeometryLocation.h,
+	  include/geos/operation/distance/Makefile.am,
+	  include/geos/operation/linemerge/EdgeString.h,
+	  include/geos/operation/linemerge/LineMergeDirectedEdge.h,
+	  include/geos/operation/linemerge/LineMergeEdge.h,
+	  include/geos/operation/linemerge/LineMergeGraph.h,
+	  include/geos/operation/linemerge/LineMerger.h,
+	  include/geos/operation/linemerge/LineSequencer.h,
+	  include/geos/operation/linemerge/Makefile.am,
+	  include/geos/operation/overlay/EdgeSetNoder.h,
+	  include/geos/operation/overlay/ElevationMatrix.h,
+	  include/geos/operation/overlay/ElevationMatrixCell.h,
+	  include/geos/operation/overlay/LineBuilder.h,
+	  include/geos/operation/overlay/Makefile.am,
+	  include/geos/operation/overlay/MaximalEdgeRing.h,
+	  include/geos/operation/overlay/MinimalEdgeRing.h,
+	  include/geos/operation/overlay/MinimalEdgeRing.inl,
+	  include/geos/operation/overlay/OverlayNodeFactory.h,
+	  include/geos/operation/overlay/OverlayOp.h,
+	  include/geos/operation/overlay/PointBuilder.h,
+	  include/geos/operation/overlay/PolygonBuilder.h,
+	  include/geos/operation/overlay/snap/GeometrySnapper.h,
+	  include/geos/operation/overlay/snap/LineStringSnapper.h,
+	  include/geos/operation/overlay/snap/Makefile.am,
+	  include/geos/operation/overlay/snap/SnapIfNeededOverlayOp.h,
+	  include/geos/operation/overlay/snap/SnapOverlayOp.h,
+	  include/geos/operation/overlay/validate/FuzzyPointLocator.h,
+	  include/geos/operation/overlay/validate/OffsetPointGenerator.h,
+	  include/geos/operation/overlay/validate/OverlayResultValidator.h,
+	  include/geos/operation/polygonize/EdgeRing.h,
+	  include/geos/operation/polygonize/Makefile.am,
+	  include/geos/operation/polygonize/PolygonizeDirectedEdge.h,
+	  include/geos/operation/polygonize/PolygonizeEdge.h,
+	  include/geos/operation/polygonize/PolygonizeGraph.h,
+	  include/geos/operation/polygonize/Polygonizer.h,
+	  include/geos/operation/predicate/Makefile.am,
+	  include/geos/operation/predicate/RectangleContains.h,
+	  include/geos/operation/relate/EdgeEndBuilder.h,
+	  include/geos/operation/relate/EdgeEndBundle.h,
+	  include/geos/operation/relate/EdgeEndBundleStar.h,
+	  include/geos/operation/relate/Makefile.am,
+	  include/geos/operation/relate/RelateNodeFactory.h,
+	  include/geos/operation/relate/RelateNodeGraph.h,
+	  include/geos/operation/relate/RelateOp.h,
+	  include/geos/operation/sharedpaths/Makefile.am,
+	  include/geos/operation/sharedpaths/SharedPathsOp.h,
+	  include/geos/operation/union/CascadedPolygonUnion.h,
+	  include/geos/operation/union/CascadedUnion.h,
+	  include/geos/operation/union/GeometryListHolder.h,
+	  include/geos/operation/union/Makefile.am,
+	  include/geos/operation/union/PointGeometryUnion.h,
+	  include/geos/operation/union/UnaryUnionOp.h,
+	  include/geos/operation/valid/ConnectedInteriorTester.h,
+	  include/geos/operation/valid/ConsistentAreaTester.h,
+	  include/geos/operation/valid/IsValidOp.h,
+	  include/geos/operation/valid/Makefile.am,
+	  include/geos/operation/valid/QuadtreeNestedRingTester.h,
+	  include/geos/operation/valid/RepeatedPointTester.h,
+	  include/geos/operation/valid/SimpleNestedRingTester.h,
+	  include/geos/operation/valid/SweeplineNestedRingTester.h,
+	  include/geos/operation/valid/TopologyValidationError.h,
+	  include/geos/planargraph.h,
+	  include/geos/planargraph/DirectedEdge.h,
+	  include/geos/planargraph/DirectedEdgeStar.h,
+	  include/geos/planargraph/Edge.h,
+	  include/geos/planargraph/GraphComponent.h,
+	  include/geos/planargraph/Makefile.am,
+	  include/geos/planargraph/Node.h,
+	  include/geos/planargraph/NodeMap.h,
+	  include/geos/planargraph/PlanarGraph.h,
+	  include/geos/planargraph/Subgraph.h,
+	  include/geos/planargraph/algorithm/ConnectedSubgraphFinder.h,
+	  include/geos/planargraph/algorithm/Makefile.am,
+	  include/geos/platform.h.cmake, include/geos/platform.h.vc,
+	  include/geos/precision.h, include/geos/precision/CommonBits.h,
+	  include/geos/precision/CommonBitsOp.h,
+	  include/geos/precision/CommonBitsRemover.h,
+	  include/geos/precision/EnhancedPrecisionOp.h,
+	  include/geos/precision/Makefile.am,
+	  include/geos/precision/SimpleGeometryPrecisionReducer.h,
+	  include/geos/profiler.h,
+	  include/geos/simplify/DouglasPeuckerLineSimplifier.h,
+	  include/geos/simplify/DouglasPeuckerSimplifier.h,
+	  include/geos/simplify/LineSegmentIndex.h,
+	  include/geos/simplify/Makefile.am,
+	  include/geos/simplify/TaggedLineSegment.h,
+	  include/geos/simplify/TaggedLineString.h,
+	  include/geos/simplify/TaggedLineStringSimplifier.h,
+	  include/geos/simplify/TaggedLinesSimplifier.h,
+	  include/geos/simplify/TopologyPreservingSimplifier.h,
+	  include/geos/spatialIndex.h, include/geos/timeval.h,
+	  include/geos/unload.h, include/geos/util.h,
+	  include/geos/util/Assert.h,
+	  include/geos/util/AssertionFailedException.h,
+	  include/geos/util/CoordinateArrayFilter.h,
+	  include/geos/util/GEOSException.h,
+	  include/geos/util/GeometricShapeFactory.h,
+	  include/geos/util/IllegalArgumentException.h,
+	  include/geos/util/IllegalStateException.h,
+	  include/geos/util/Machine.h, include/geos/util/Makefile.am,
+	  include/geos/util/TopologyException.h,
+	  include/geos/util/UniqueCoordinateArrayFilter.h,
+	  include/geos/util/UnsupportedOperationException.h,
+	  include/geos/util/math.h, include/geos/version.h.in,
+	  include/geos/version.h.vc, macros/Makefile.am, macros/geos.m4,
+	  makefile.vc, nmake.opt, src/CMakeLists.txt, src/Makefile.am,
+	  src/Makefile.vc, src/algorithm/Angle.cpp,
+	  src/algorithm/BoundaryNodeRule.cpp,
+	  src/algorithm/CentroidArea.cpp, src/algorithm/CentroidLine.cpp,
+	  src/algorithm/CentroidPoint.cpp, src/algorithm/ConvexHull.cpp,
+	  src/algorithm/HCoordinate.cpp,
+	  src/algorithm/InteriorPointLine.cpp,
+	  src/algorithm/InteriorPointPoint.cpp,
+	  src/algorithm/LineIntersector.cpp,
+	  src/algorithm/MCPointInRing.cpp, src/algorithm/Makefile.am,
+	  src/algorithm/MinimumDiameter.cpp,
+	  src/algorithm/NotRepresentableException.cpp,
+	  src/algorithm/PointLocator.cpp,
+	  src/algorithm/RayCrossingCounter.cpp,
+	  src/algorithm/RobustDeterminant.cpp,
+	  src/algorithm/SIRtreePointInRing.cpp,
+	  src/algorithm/SimplePointInRing.cpp,
+	  src/algorithm/distance/DiscreteHausdorffDistance.cpp,
+	  src/algorithm/distance/DistanceToPoint.cpp,
+	  src/algorithm/distance/Makefile.am,
+	  src/algorithm/locate/IndexedPointInAreaLocator.cpp,
+	  src/algorithm/locate/Makefile.am,
+	  src/algorithm/locate/PointOnGeometryLocator.cpp,
+	  src/algorithm/locate/SimplePointInAreaLocator.cpp,
+	  src/dirlist.mk, src/geom/Coordinate.cpp,
+	  src/geom/CoordinateArraySequence.cpp,
+	  src/geom/CoordinateArraySequenceFactory.cpp,
+	  src/geom/CoordinateSequence.cpp,
+	  src/geom/CoordinateSequenceFactory.cpp, src/geom/Dimension.cpp,
+	  src/geom/Envelope.cpp, src/geom/Geometry.cpp,
+	  src/geom/GeometryCollection.cpp,
+	  src/geom/GeometryComponentFilter.cpp,
+	  src/geom/GeometryFactory.cpp, src/geom/GeometryList.cpp,
+	  src/geom/IntersectionMatrix.cpp, src/geom/LineSegment.cpp,
+	  src/geom/LineString.cpp, src/geom/LinearRing.cpp,
+	  src/geom/Location.cpp, src/geom/Makefile.am,
+	  src/geom/MultiLineString.cpp, src/geom/MultiPoint.cpp,
+	  src/geom/MultiPolygon.cpp, src/geom/Point.cpp,
+	  src/geom/Polygon.cpp, src/geom/PrecisionModel.cpp,
+	  src/geom/Triangle.cpp, src/geom/prep/BasicPreparedGeometry.cpp,
+	  src/geom/prep/Makefile.am, src/geom/prep/PreparedGeometry.cpp,
+	  src/geom/prep/PreparedGeometryFactory.cpp,
+	  src/geom/prep/PreparedLineString.cpp,
+	  src/geom/prep/PreparedPoint.cpp,
+	  src/geom/prep/PreparedPolygon.cpp,
+	  src/geom/prep/PreparedPolygonContains.cpp,
+	  src/geom/prep/PreparedPolygonContainsProperly.cpp,
+	  src/geom/prep/PreparedPolygonCovers.cpp,
+	  src/geom/prep/PreparedPolygonIntersects.cpp,
+	  src/geom/prep/PreparedPolygonPredicate.cpp,
+	  src/geom/util/ComponentCoordinateExtracter.cpp,
+	  src/geom/util/CoordinateOperation.cpp,
+	  src/geom/util/GeometryCombiner.cpp,
+	  src/geom/util/GeometryEditor.cpp,
+	  src/geom/util/GeometryTransformer.cpp, src/geom/util/Makefile.am,
+	  src/geom/util/ShortCircuitedGeometryVisitor.cpp,
+	  src/geom/util/SineStarFactory.cpp, src/geomgraph/Depth.cpp,
+	  src/geomgraph/EdgeList.cpp,
+	  src/geomgraph/EdgeNodingValidator.cpp, src/geomgraph/Makefile.am,
+	  src/geomgraph/NodeFactory.cpp, src/geomgraph/NodeMap.cpp,
+	  src/geomgraph/Position.cpp, src/geomgraph/Quadrant.cpp,
+	  src/geomgraph/index/Makefile.am,
+	  src/geomgraph/index/MonotoneChainEdge.cpp,
+	  src/geomgraph/index/MonotoneChainIndexer.cpp,
+	  src/geomgraph/index/SegmentIntersector.cpp,
+	  src/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  src/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  src/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  src/geomgraph/index/SweepLineEvent.cpp,
+	  src/geomgraph/index/SweepLineSegment.cpp, src/index/Makefile.am,
+	  src/index/bintree/Bintree.cpp, src/index/bintree/Interval.cpp,
+	  src/index/bintree/Key.cpp, src/index/bintree/Makefile.am,
+	  src/index/bintree/Node.cpp, src/index/bintree/NodeBase.cpp,
+	  src/index/bintree/Root.cpp, src/index/chain/Makefile.am,
+	  src/index/chain/MonotoneChain.cpp,
+	  src/index/chain/MonotoneChainOverlapAction.cpp,
+	  src/index/chain/MonotoneChainSelectAction.cpp,
+	  src/index/intervalrtree/IntervalRTreeBranchNode.cpp,
+	  src/index/intervalrtree/IntervalRTreeLeafNode.cpp,
+	  src/index/intervalrtree/IntervalRTreeNode.cpp,
+	  src/index/intervalrtree/Makefile.am,
+	  src/index/intervalrtree/SortedPackedIntervalRTree.cpp,
+	  src/index/quadtree/DoubleBits.cpp,
+	  src/index/quadtree/IntervalSize.cpp, src/index/quadtree/Key.cpp,
+	  src/index/quadtree/Makefile.am, src/index/quadtree/Node.cpp,
+	  src/index/quadtree/NodeBase.cpp, src/index/quadtree/Quadtree.cpp,
+	  src/index/quadtree/Root.cpp, src/index/strtree/AbstractNode.cpp,
+	  src/index/strtree/AbstractSTRtree.cpp,
+	  src/index/strtree/Interval.cpp,
+	  src/index/strtree/ItemBoundable.cpp,
+	  src/index/strtree/Makefile.am, src/index/strtree/SIRtree.cpp,
+	  src/index/strtree/STRtree.cpp, src/index/sweepline/Makefile.am,
+	  src/index/sweepline/SweepLineEvent.cpp,
+	  src/index/sweepline/SweepLineIndex.cpp,
+	  src/index/sweepline/SweepLineInterval.cpp, src/inlines.cpp,
+	  src/io/ByteOrderDataInStream.cpp, src/io/ByteOrderValues.cpp,
+	  src/io/CLocalizer.cpp, src/io/Makefile.am,
+	  src/io/ParseException.cpp, src/io/StringTokenizer.cpp,
+	  src/io/Unload.cpp, src/io/WKBReader.cpp, src/io/WKBWriter.cpp,
+	  src/io/WKTReader.cpp, src/io/WKTWriter.cpp, src/io/Writer.cpp,
+	  src/linearref/ExtractLineByLocation.cpp,
+	  src/linearref/LengthIndexOfPoint.cpp,
+	  src/linearref/LengthIndexedLine.cpp,
+	  src/linearref/LengthLocationMap.cpp,
+	  src/linearref/LinearGeometryBuilder.cpp,
+	  src/linearref/LinearIterator.cpp,
+	  src/linearref/LinearLocation.cpp,
+	  src/linearref/LocationIndexOfLine.cpp,
+	  src/linearref/LocationIndexOfPoint.cpp,
+	  src/linearref/Makefile.am, src/noding/BasicSegmentString.cpp,
+	  src/noding/FastNodingValidator.cpp,
+	  src/noding/IntersectionAdder.cpp,
+	  src/noding/IntersectionFinderAdder.cpp,
+	  src/noding/IteratedNoder.cpp, src/noding/MCIndexNoder.cpp,
+	  src/noding/Makefile.am, src/noding/NodedSegmentString.cpp,
+	  src/noding/NodingValidator.cpp, src/noding/Octant.cpp,
+	  src/noding/OrientedCoordinateArray.cpp,
+	  src/noding/ScaledNoder.cpp,
+	  src/noding/SegmentIntersectionDetector.cpp,
+	  src/noding/SegmentNode.cpp, src/noding/SegmentNodeList.cpp,
+	  src/noding/SegmentStringUtil.cpp, src/noding/SimpleNoder.cpp,
+	  src/noding/SingleInteriorIntersectionFinder.cpp,
+	  src/noding/snapround/HotPixel.cpp,
+	  src/noding/snapround/MCIndexPointSnapper.cpp,
+	  src/noding/snapround/MCIndexSnapRounder.cpp,
+	  src/noding/snapround/Makefile.am,
+	  src/noding/snapround/SimpleSnapRounder.cpp,
+	  src/operation/GeometryGraphOperation.cpp,
+	  src/operation/IsSimpleOp.cpp, src/operation/Makefile.am,
+	  src/operation/buffer/BufferBuilder.cpp,
+	  src/operation/buffer/BufferInputLineSimplifier.cpp,
+	  src/operation/buffer/BufferInputLineSimplifier.h,
+	  src/operation/buffer/BufferOp.cpp,
+	  src/operation/buffer/BufferParameters.cpp,
+	  src/operation/buffer/BufferSubgraph.cpp,
+	  src/operation/buffer/Makefile.am,
+	  src/operation/buffer/OffsetCurveBuilder.cpp,
+	  src/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  src/operation/buffer/OffsetSegmentGenerator.cpp,
+	  src/operation/buffer/RightmostEdgeFinder.cpp,
+	  src/operation/buffer/SubgraphDepthLocater.cpp,
+	  src/operation/distance/ConnectedElementLocationFilter.cpp,
+	  src/operation/distance/ConnectedElementPointFilter.cpp,
+	  src/operation/distance/DistanceOp.cpp,
+	  src/operation/distance/GeometryLocation.cpp,
+	  src/operation/distance/Makefile.am,
+	  src/operation/linemerge/EdgeString.cpp,
+	  src/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  src/operation/linemerge/LineMergeEdge.cpp,
+	  src/operation/linemerge/LineMergeGraph.cpp,
+	  src/operation/linemerge/LineMerger.cpp,
+	  src/operation/linemerge/LineSequencer.cpp,
+	  src/operation/linemerge/Makefile.am,
+	  src/operation/overlay/EdgeSetNoder.cpp,
+	  src/operation/overlay/ElevationMatrix.cpp,
+	  src/operation/overlay/ElevationMatrixCell.cpp,
+	  src/operation/overlay/Makefile.am,
+	  src/operation/overlay/MaximalEdgeRing.cpp,
+	  src/operation/overlay/MinimalEdgeRing.cpp,
+	  src/operation/overlay/OverlayNodeFactory.cpp,
+	  src/operation/overlay/snap/GeometrySnapper.cpp,
+	  src/operation/overlay/snap/LineStringSnapper.cpp,
+	  src/operation/overlay/snap/SnapIfNeededOverlayOp.cpp,
+	  src/operation/overlay/snap/SnapOverlayOp.cpp,
+	  src/operation/overlay/validate/FuzzyPointLocator.cpp,
+	  src/operation/overlay/validate/OffsetPointGenerator.cpp,
+	  src/operation/overlay/validate/OverlayResultValidator.cpp,
+	  src/operation/polygonize/EdgeRing.cpp,
+	  src/operation/polygonize/Makefile.am,
+	  src/operation/polygonize/PolygonizeDirectedEdge.cpp,
+	  src/operation/polygonize/PolygonizeEdge.cpp,
+	  src/operation/polygonize/PolygonizeGraph.cpp,
+	  src/operation/polygonize/Polygonizer.cpp,
+	  src/operation/predicate/Makefile.am,
+	  src/operation/predicate/RectangleContains.cpp,
+	  src/operation/relate/EdgeEndBundleStar.cpp,
+	  src/operation/relate/Makefile.am,
+	  src/operation/relate/RelateNodeFactory.cpp,
+	  src/operation/relate/RelateNodeGraph.cpp,
+	  src/operation/relate/RelateOp.cpp,
+	  src/operation/sharedpaths/Makefile.am,
+	  src/operation/sharedpaths/SharedPathsOp.cpp,
+	  src/operation/union/CascadedPolygonUnion.cpp,
+	  src/operation/union/CascadedUnion.cpp,
+	  src/operation/union/Makefile.am,
+	  src/operation/union/PointGeometryUnion.cpp,
+	  src/operation/union/UnaryUnionOp.cpp,
+	  src/operation/valid/ConnectedInteriorTester.cpp,
+	  src/operation/valid/ConsistentAreaTester.cpp,
+	  src/operation/valid/IndexedNestedRingTester.cpp,
+	  src/operation/valid/IndexedNestedRingTester.h,
+	  src/operation/valid/IsValidOp.cpp,
+	  src/operation/valid/Makefile.am,
+	  src/operation/valid/QuadtreeNestedRingTester.cpp,
+	  src/operation/valid/RepeatedPointTester.cpp,
+	  src/operation/valid/SimpleNestedRingTester.cpp,
+	  src/operation/valid/SweeplineNestedRingTester.cpp,
+	  src/operation/valid/TopologyValidationError.cpp,
+	  src/planargraph/DirectedEdge.cpp,
+	  src/planargraph/DirectedEdgeStar.cpp, src/planargraph/Edge.cpp,
+	  src/planargraph/Makefile.am, src/planargraph/Node.cpp,
+	  src/planargraph/NodeMap.cpp, src/planargraph/PlanarGraph.cpp,
+	  src/planargraph/Subgraph.cpp,
+	  src/planargraph/algorithm/ConnectedSubgraphFinder.cpp,
+	  src/precision/CommonBits.cpp, src/precision/CommonBitsOp.cpp,
+	  src/precision/CommonBitsRemover.cpp,
+	  src/precision/EnhancedPrecisionOp.cpp, src/precision/Makefile.am,
+	  src/precision/SimpleGeometryPrecisionReducer.cpp,
+	  src/simplify/DouglasPeuckerLineSimplifier.cpp,
+	  src/simplify/DouglasPeuckerSimplifier.cpp,
+	  src/simplify/LineSegmentIndex.cpp, src/simplify/Makefile.am,
+	  src/simplify/TaggedLineSegment.cpp,
+	  src/simplify/TaggedLineString.cpp,
+	  src/simplify/TaggedLineStringSimplifier.cpp,
+	  src/simplify/TaggedLinesSimplifier.cpp,
+	  src/simplify/TopologyPreservingSimplifier.cpp,
+	  src/util/Assert.cpp, src/util/GeometricShapeFactory.cpp,
+	  src/util/Makefile.am, src/util/Profiler.cpp, src/util/math.cpp,
+	  swig/Makefile.am, swig/python/Makefile.am,
+	  swig/python/tests/Makefile.am, swig/python/tests/TESTING.txt,
+	  swig/python/tests/runtests.py, swig/ruby/Makefile.am,
+	  swig/ruby/test/Makefile.am, tests/CMakeLists.txt,
+	  tests/Makefile.am, tests/bigtest/CMakeLists.txt,
+	  tests/bigtest/GeometryTestFactory.cpp, tests/bigtest/Makefile.am,
+	  tests/bigtest/TestSweepLineSpeed.cpp, tests/bigtest/bigtest.h,
+	  tests/geostest/Makefile.am, tests/geostest/geostest.c,
+	  tests/perf/Makefile.am, tests/perf/capi/Makefile.am,
+	  tests/perf/operation/Makefile.am,
+	  tests/perf/operation/buffer/IteratedBufferStressTest.cpp,
+	  tests/perf/operation/buffer/Makefile.am,
+	  tests/thread/Makefile.am, tests/thread/badthreadtest.c,
+	  tests/thread/threadtest.c, tests/unit/CMakeLists.txt,
+	  tests/unit/Makefile.am, tests/unit/algorithm/AngleTest.cpp,
+	  tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp,
+	  tests/unit/algorithm/CGAlgorithms/isCCWTest.cpp,
+	  tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp,
+	  tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp,
+	  tests/unit/algorithm/ConvexHullTest.cpp,
+	  tests/unit/algorithm/PointLocatorTest.cpp,
+	  tests/unit/algorithm/RobustLineIntersectionTest.cpp,
+	  tests/unit/algorithm/RobustLineIntersectorTest.cpp,
+	  tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp,
+	  tests/unit/capi/GEOSBufferTest.cpp,
+	  tests/unit/capi/GEOSContainsTest.cpp,
+	  tests/unit/capi/GEOSCoordSeqTest.cpp,
+	  tests/unit/capi/GEOSGeomFromWKBTest.cpp,
+	  tests/unit/capi/GEOSGeomToWKTTest.cpp,
+	  tests/unit/capi/GEOSGeom_create.cpp,
+	  tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp,
+	  tests/unit/capi/GEOSIntersectsTest.cpp,
+	  tests/unit/capi/GEOSOffsetCurveTest.cpp,
+	  tests/unit/capi/GEOSOrientationIndex.cpp,
+	  tests/unit/capi/GEOSPolygonizer_getCutEdgesTest.cpp,
+	  tests/unit/capi/GEOSPreparedGeometryTest.cpp,
+	  tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp,
+	  tests/unit/capi/GEOSRelatePatternMatchTest.cpp,
+	  tests/unit/capi/GEOSSimplifyTest.cpp,
+	  tests/unit/capi/GEOSSnapTest.cpp,
+	  tests/unit/capi/GEOSUnaryUnionTest.cpp,
+	  tests/unit/capi/GEOSWithinTest.cpp,
+	  tests/unit/capi/GEOSisValidDetailTest.cpp,
+	  tests/unit/geom/CoordinateArraySequenceFactoryTest.cpp,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp,
+	  tests/unit/geom/CoordinateListTest.cpp,
+	  tests/unit/geom/CoordinateTest.cpp,
+	  tests/unit/geom/DimensionTest.cpp,
+	  tests/unit/geom/EnvelopeTest.cpp,
+	  tests/unit/geom/Geometry/clone.cpp,
+	  tests/unit/geom/Geometry/coversTest.cpp,
+	  tests/unit/geom/Geometry/isRectangleTest.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/geom/IntersectionMatrixTest.cpp,
+	  tests/unit/geom/LineSegmentTest.cpp,
+	  tests/unit/geom/LineStringTest.cpp,
+	  tests/unit/geom/LinearRingTest.cpp,
+	  tests/unit/geom/LocationTest.cpp,
+	  tests/unit/geom/MultiLineStringTest.cpp,
+	  tests/unit/geom/MultiPointTest.cpp,
+	  tests/unit/geom/MultiPolygonTest.cpp,
+	  tests/unit/geom/PointTest.cpp, tests/unit/geom/PolygonTest.cpp,
+	  tests/unit/geom/PrecisionModelTest.cpp,
+	  tests/unit/geom/TriangleTest.cpp,
+	  tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp,
+	  tests/unit/geom/util/GeometryExtracterTest.cpp,
+	  tests/unit/geos_unit.cpp,
+	  tests/unit/index/quadtree/DoubleBitsTest.cpp,
+	  tests/unit/io/ByteOrderValuesTest.cpp,
+	  tests/unit/io/WKBReaderTest.cpp, tests/unit/io/WKBWriterTest.cpp,
+	  tests/unit/io/WKTReaderTest.cpp, tests/unit/io/WKTWriterTest.cpp,
+	  tests/unit/linearref/LengthIndexedLineTest.cpp,
+	  tests/unit/noding/BasicSegmentStringTest.cpp,
+	  tests/unit/noding/NodedSegmentStringTest.cpp,
+	  tests/unit/noding/SegmentNodeTest.cpp,
+	  tests/unit/noding/SegmentPointComparatorTest.cpp,
+	  tests/unit/operation/IsSimpleOpTest.cpp,
+	  tests/unit/operation/buffer/BufferOpTest.cpp,
+	  tests/unit/operation/distance/DistanceOpTest.cpp,
+	  tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp,
+	  tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp,
+	  tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp,
+	  tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp,
+	  tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp,
+	  tests/unit/operation/polygonize/PolygonizeTest.cpp,
+	  tests/unit/operation/union/CascadedPolygonUnionTest.cpp,
+	  tests/unit/operation/union/UnaryUnionOpTest.cpp,
+	  tests/unit/operation/valid/IsValidTest.cpp,
+	  tests/unit/operation/valid/ValidClosedRingTest.cpp,
+	  tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp,
+	  tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp,
+	  tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp,
+	  tests/unit/simplify/TopologyPreservingSimplifierTest.cpp,
+	  tests/unit/util/UniqueCoordinateArrayFilterTest.cpp,
+	  tests/unit/utility.h, tests/xmltester/BufferResultMatcher.cpp,
+	  tests/xmltester/BufferResultMatcher.h,
+	  tests/xmltester/CMakeLists.txt, tests/xmltester/CTS.cpp,
+	  tests/xmltester/Makefile.am, tests/xmltester/SimpleWKTTester.cpp,
+	  tests/xmltester/SingleSidedBufferResultMatcher.cpp,
+	  tests/xmltester/SingleSidedBufferResultMatcher.h,
+	  tests/xmltester/Stackwalker.h, tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/XMLTester.h, tools/CMakeLists.txt,
+	  tools/Makefile.am: Removed Subversion Id keyword from all text
+	  files (#480)
 
 2011-09-23 00:16  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3481] Removed Subversion svn:keywords property (#480)
-
-2011-09-21 08:11  Sandro Santilli <strk at keybit.net>
-
-	* [r3475] Fix out-of-place build for python binding (#332)
+	* [r3481] AUTHORS, CMakeLists.txt, COPYING, ChangeLog,
+	  HOWTO_RELEASE, INSTALL, Makefile.am, NEWS, README, TODO,
+	  acsite.m4, autogen.bat, autogen.sh, capi/CMakeLists.txt,
+	  capi/Makefile.am, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, configure.in, debian/Makefile,
+	  debian/README.Debian, debian/changelog, debian/compat,
+	  debian/control, debian/copyright, debian/geos-config.1,
+	  debian/libgeos-dev.dirs, debian/libgeos-dev.docs,
+	  debian/libgeos-dev.install, debian/libgeos-dev.manpages,
+	  debian/libgeos-doc.doc-base, debian/libgeos-doc.docs,
+	  debian/libgeos.dirs, debian/libgeos.docs, debian/libgeos.install,
+	  debian/makedoc, debian/rules, debian/watch, doc/Doxyfile.in,
+	  doc/Makefile.am, doc/README, doc/example.cpp, doc/example.tosql,
+	  examples/CPCLException.cpp,
+	  examples/CoordinateSequencesExample.cpp,
+	  examples/CustomCoordinateSequenceExample.cpp,
+	  examples/CustomCoordinateSequenceExample.h,
+	  examples/CustomPointCoordinateSequence.cpp, examples/Makefile.am,
+	  include/CMakeLists.txt, include/Makefile.am, include/acconfig.h,
+	  include/geos.h, include/geos/Makefile.am,
+	  include/geos/algorithm/Angle.h,
+	  include/geos/algorithm/BoundaryNodeRule.h,
+	  include/geos/algorithm/CGAlgorithms.h,
+	  include/geos/algorithm/CentralEndpointIntersector.h,
+	  include/geos/algorithm/CentroidArea.h,
+	  include/geos/algorithm/CentroidLine.h,
+	  include/geos/algorithm/CentroidPoint.h,
+	  include/geos/algorithm/ConvexHull.h,
+	  include/geos/algorithm/ConvexHull.inl,
+	  include/geos/algorithm/HCoordinate.h,
+	  include/geos/algorithm/InteriorPointArea.h,
+	  include/geos/algorithm/InteriorPointLine.h,
+	  include/geos/algorithm/InteriorPointPoint.h,
+	  include/geos/algorithm/LineIntersector.h,
+	  include/geos/algorithm/MCPointInRing.h,
+	  include/geos/algorithm/Makefile.am,
+	  include/geos/algorithm/MinimumDiameter.h,
+	  include/geos/algorithm/NotRepresentableException.h,
+	  include/geos/algorithm/PointInRing.h,
+	  include/geos/algorithm/PointLocator.h,
+	  include/geos/algorithm/RayCrossingCounter.h,
+	  include/geos/algorithm/RobustDeterminant.h,
+	  include/geos/algorithm/SIRtreePointInRing.h,
+	  include/geos/algorithm/SimplePointInRing.h,
+	  include/geos/algorithm/distance/DiscreteHausdorffDistance.h,
+	  include/geos/algorithm/distance/DistanceToPoint.h,
+	  include/geos/algorithm/distance/Makefile.am,
+	  include/geos/algorithm/distance/PointPairDistance.h,
+	  include/geos/algorithm/locate/IndexedPointInAreaLocator.h,
+	  include/geos/algorithm/locate/Makefile.am,
+	  include/geos/algorithm/locate/PointOnGeometryLocator.h,
+	  include/geos/algorithm/locate/SimplePointInAreaLocator.h,
+	  include/geos/export.h, include/geos/geom.h,
+	  include/geos/geom/BinaryOp.h, include/geos/geom/Coordinate.h,
+	  include/geos/geom/Coordinate.inl,
+	  include/geos/geom/CoordinateArraySequence.h,
+	  include/geos/geom/CoordinateArraySequenceFactory.h,
+	  include/geos/geom/CoordinateArraySequenceFactory.inl,
+	  include/geos/geom/CoordinateFilter.h,
+	  include/geos/geom/CoordinateList.h,
+	  include/geos/geom/CoordinateSequence.h,
+	  include/geos/geom/CoordinateSequenceFactory.h,
+	  include/geos/geom/CoordinateSequenceFilter.h,
+	  include/geos/geom/Dimension.h, include/geos/geom/Envelope.h,
+	  include/geos/geom/Envelope.inl, include/geos/geom/Geometry.h,
+	  include/geos/geom/GeometryCollection.h,
+	  include/geos/geom/GeometryCollection.inl,
+	  include/geos/geom/GeometryComponentFilter.h,
+	  include/geos/geom/GeometryFactory.h,
+	  include/geos/geom/GeometryFactory.inl,
+	  include/geos/geom/GeometryFilter.h,
+	  include/geos/geom/GeometryList.h,
+	  include/geos/geom/IntersectionMatrix.h,
+	  include/geos/geom/LineSegment.h,
+	  include/geos/geom/LineSegment.inl,
+	  include/geos/geom/LineString.h, include/geos/geom/Lineal.h,
+	  include/geos/geom/LinearRing.h, include/geos/geom/Location.h,
+	  include/geos/geom/Makefile.am,
+	  include/geos/geom/MultiLineString.h,
+	  include/geos/geom/MultiLineString.inl,
+	  include/geos/geom/MultiPoint.h, include/geos/geom/MultiPolygon.h,
+	  include/geos/geom/MultiPolygon.inl, include/geos/geom/Point.h,
+	  include/geos/geom/Polygon.h, include/geos/geom/Polygonal.h,
+	  include/geos/geom/PrecisionModel.h,
+	  include/geos/geom/PrecisionModel.inl, include/geos/geom/Puntal.h,
+	  include/geos/geom/Triangle.h,
+	  include/geos/geom/prep/AbstractPreparedPolygonContains.h,
+	  include/geos/geom/prep/BasicPreparedGeometry.h,
+	  include/geos/geom/prep/Makefile.am,
+	  include/geos/geom/prep/PreparedGeometry.h,
+	  include/geos/geom/prep/PreparedGeometryFactory.h,
+	  include/geos/geom/prep/PreparedLineString.h,
+	  include/geos/geom/prep/PreparedLineStringIntersects.h,
+	  include/geos/geom/prep/PreparedPoint.h,
+	  include/geos/geom/prep/PreparedPolygon.h,
+	  include/geos/geom/prep/PreparedPolygonContains.h,
+	  include/geos/geom/prep/PreparedPolygonContainsProperly.h,
+	  include/geos/geom/prep/PreparedPolygonCovers.h,
+	  include/geos/geom/prep/PreparedPolygonIntersects.h,
+	  include/geos/geom/prep/PreparedPolygonPredicate.h,
+	  include/geos/geom/util/ComponentCoordinateExtracter.h,
+	  include/geos/geom/util/CoordinateOperation.h,
+	  include/geos/geom/util/GeometryCombiner.h,
+	  include/geos/geom/util/GeometryEditor.h,
+	  include/geos/geom/util/GeometryEditorOperation.h,
+	  include/geos/geom/util/GeometryTransformer.h,
+	  include/geos/geom/util/LinearComponentExtracter.h,
+	  include/geos/geom/util/Makefile.am,
+	  include/geos/geom/util/PointExtracter.h,
+	  include/geos/geom/util/PolygonExtracter.h,
+	  include/geos/geom/util/ShortCircuitedGeometryVisitor.h,
+	  include/geos/geomPrep.h, include/geos/geomUtil.h,
+	  include/geos/geomgraph.h, include/geos/geomgraph/Depth.h,
+	  include/geos/geomgraph/DirectedEdge.h,
+	  include/geos/geomgraph/DirectedEdge.inl,
+	  include/geos/geomgraph/DirectedEdgeStar.h,
+	  include/geos/geomgraph/Edge.h, include/geos/geomgraph/EdgeEnd.h,
+	  include/geos/geomgraph/EdgeEndStar.h,
+	  include/geos/geomgraph/EdgeIntersection.h,
+	  include/geos/geomgraph/EdgeIntersectionList.h,
+	  include/geos/geomgraph/EdgeList.h,
+	  include/geos/geomgraph/EdgeNodingValidator.h,
+	  include/geos/geomgraph/EdgeRing.h,
+	  include/geos/geomgraph/GeometryGraph.h,
+	  include/geos/geomgraph/GeometryGraph.inl,
+	  include/geos/geomgraph/GraphComponent.h,
+	  include/geos/geomgraph/Label.h,
+	  include/geos/geomgraph/Makefile.am,
+	  include/geos/geomgraph/Node.h,
+	  include/geos/geomgraph/NodeFactory.h,
+	  include/geos/geomgraph/NodeMap.h,
+	  include/geos/geomgraph/PlanarGraph.h,
+	  include/geos/geomgraph/Position.h,
+	  include/geos/geomgraph/Quadrant.h,
+	  include/geos/geomgraph/TopologyLocation.h,
+	  include/geos/geomgraph/index/EdgeSetIntersector.h,
+	  include/geos/geomgraph/index/Makefile.am,
+	  include/geos/geomgraph/index/MonotoneChain.h,
+	  include/geos/geomgraph/index/MonotoneChainEdge.h,
+	  include/geos/geomgraph/index/MonotoneChainIndexer.h,
+	  include/geos/geomgraph/index/SegmentIntersector.h,
+	  include/geos/geomgraph/index/SimpleEdgeSetIntersector.h,
+	  include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h,
+	  include/geos/geomgraph/index/SimpleSweepLineIntersector.h,
+	  include/geos/geomgraph/index/SweepLineEvent.h,
+	  include/geos/geomgraph/index/SweepLineEventObj.h,
+	  include/geos/geomgraph/index/SweepLineSegment.h,
+	  include/geos/geomgraphindex.h, include/geos/geosAlgorithm.h,
+	  include/geos/index/ItemVisitor.h, include/geos/index/Makefile.am,
+	  include/geos/index/SpatialIndex.h,
+	  include/geos/index/bintree/Bintree.h,
+	  include/geos/index/bintree/Interval.h,
+	  include/geos/index/bintree/Key.h,
+	  include/geos/index/bintree/Makefile.am,
+	  include/geos/index/bintree/Node.h,
+	  include/geos/index/bintree/NodeBase.h,
+	  include/geos/index/bintree/Root.h,
+	  include/geos/index/chain/Makefile.am,
+	  include/geos/index/chain/MonotoneChain.h,
+	  include/geos/index/chain/MonotoneChainBuilder.h,
+	  include/geos/index/chain/MonotoneChainOverlapAction.h,
+	  include/geos/index/chain/MonotoneChainSelectAction.h,
+	  include/geos/index/intervalrtree/IntervalRTreeBranchNode.h,
+	  include/geos/index/intervalrtree/IntervalRTreeLeafNode.h,
+	  include/geos/index/intervalrtree/IntervalRTreeNode.h,
+	  include/geos/index/intervalrtree/Makefile.am,
+	  include/geos/index/intervalrtree/SortedPackedIntervalRTree.h,
+	  include/geos/index/quadtree/DoubleBits.h,
+	  include/geos/index/quadtree/IntervalSize.h,
+	  include/geos/index/quadtree/Key.h,
+	  include/geos/index/quadtree/Makefile.am,
+	  include/geos/index/quadtree/Node.h,
+	  include/geos/index/quadtree/NodeBase.h,
+	  include/geos/index/quadtree/Quadtree.h,
+	  include/geos/index/quadtree/Root.h,
+	  include/geos/index/strtree/AbstractNode.h,
+	  include/geos/index/strtree/AbstractSTRtree.h,
+	  include/geos/index/strtree/Boundable.h,
+	  include/geos/index/strtree/Interval.h,
+	  include/geos/index/strtree/ItemBoundable.h,
+	  include/geos/index/strtree/Makefile.am,
+	  include/geos/index/strtree/SIRtree.h,
+	  include/geos/index/strtree/STRtree.h,
+	  include/geos/index/sweepline/Makefile.am,
+	  include/geos/index/sweepline/SweepLineEvent.h,
+	  include/geos/index/sweepline/SweepLineIndex.h,
+	  include/geos/index/sweepline/SweepLineInterval.h,
+	  include/geos/index/sweepline/SweepLineOverlapAction.h,
+	  include/geos/indexBintree.h, include/geos/indexChain.h,
+	  include/geos/indexIntervalRTree.h, include/geos/indexQuadtree.h,
+	  include/geos/indexStrtree.h, include/geos/indexSweepline.h,
+	  include/geos/inline.h, include/geos/io.h,
+	  include/geos/io/ByteOrderDataInStream.h,
+	  include/geos/io/ByteOrderDataInStream.inl,
+	  include/geos/io/ByteOrderValues.h, include/geos/io/CLocalizer.h,
+	  include/geos/io/Makefile.am, include/geos/io/ParseException.h,
+	  include/geos/io/StringTokenizer.h,
+	  include/geos/io/WKBConstants.h, include/geos/io/WKBReader.h,
+	  include/geos/io/WKBWriter.h, include/geos/io/WKTReader.h,
+	  include/geos/io/WKTReader.inl, include/geos/io/WKTWriter.h,
+	  include/geos/io/Writer.h,
+	  include/geos/linearref/ExtractLineByLocation.h,
+	  include/geos/linearref/LengthIndexOfPoint.h,
+	  include/geos/linearref/LengthIndexedLine.h,
+	  include/geos/linearref/LengthLocationMap.h,
+	  include/geos/linearref/LinearGeometryBuilder.h,
+	  include/geos/linearref/LinearIterator.h,
+	  include/geos/linearref/LinearLocation.h,
+	  include/geos/linearref/LocationIndexOfLine.h,
+	  include/geos/linearref/LocationIndexOfPoint.h,
+	  include/geos/linearref/Makefile.am, include/geos/noding.h,
+	  include/geos/noding/BasicSegmentString.h,
+	  include/geos/noding/FastNodingValidator.h,
+	  include/geos/noding/FastSegmentSetIntersectionFinder.h,
+	  include/geos/noding/IntersectionAdder.h,
+	  include/geos/noding/IntersectionFinderAdder.h,
+	  include/geos/noding/IteratedNoder.h,
+	  include/geos/noding/MCIndexNoder.h,
+	  include/geos/noding/MCIndexNoder.inl,
+	  include/geos/noding/MCIndexSegmentSetMutualIntersector.h,
+	  include/geos/noding/Makefile.am,
+	  include/geos/noding/NodableSegmentString.h,
+	  include/geos/noding/NodedSegmentString.h,
+	  include/geos/noding/Noder.h,
+	  include/geos/noding/NodingValidator.h,
+	  include/geos/noding/Octant.h,
+	  include/geos/noding/OrientedCoordinateArray.h,
+	  include/geos/noding/ScaledNoder.h,
+	  include/geos/noding/SegmentIntersectionDetector.h,
+	  include/geos/noding/SegmentIntersector.h,
+	  include/geos/noding/SegmentNode.h,
+	  include/geos/noding/SegmentNodeList.h,
+	  include/geos/noding/SegmentSetMutualIntersector.h,
+	  include/geos/noding/SegmentString.h,
+	  include/geos/noding/SegmentStringUtil.h,
+	  include/geos/noding/SimpleNoder.h,
+	  include/geos/noding/SingleInteriorIntersectionFinder.h,
+	  include/geos/noding/SinglePassNoder.h,
+	  include/geos/noding/snapround/HotPixel.h,
+	  include/geos/noding/snapround/HotPixel.inl,
+	  include/geos/noding/snapround/MCIndexPointSnapper.h,
+	  include/geos/noding/snapround/MCIndexSnapRounder.h,
+	  include/geos/noding/snapround/Makefile.am,
+	  include/geos/noding/snapround/SimpleSnapRounder.h,
+	  include/geos/nodingSnapround.h, include/geos/opBuffer.h,
+	  include/geos/opDistance.h, include/geos/opLinemerge.h,
+	  include/geos/opOverlay.h, include/geos/opPolygonize.h,
+	  include/geos/opPredicate.h, include/geos/opRelate.h,
+	  include/geos/opValid.h, include/geos/operation.h,
+	  include/geos/operation/GeometryGraphOperation.h,
+	  include/geos/operation/IsSimpleOp.h,
+	  include/geos/operation/Makefile.am,
+	  include/geos/operation/buffer/BufferBuilder.h,
+	  include/geos/operation/buffer/BufferOp.h,
+	  include/geos/operation/buffer/BufferParameters.h,
+	  include/geos/operation/buffer/BufferSubgraph.h,
+	  include/geos/operation/buffer/Makefile.am,
+	  include/geos/operation/buffer/OffsetCurveBuilder.h,
+	  include/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  include/geos/operation/buffer/OffsetSegmentString.h,
+	  include/geos/operation/buffer/RightmostEdgeFinder.h,
+	  include/geos/operation/buffer/SubgraphDepthLocater.h,
+	  include/geos/operation/distance/ConnectedElementLocationFilter.h,
+	  include/geos/operation/distance/ConnectedElementPointFilter.h,
+	  include/geos/operation/distance/DistanceOp.h,
+	  include/geos/operation/distance/GeometryLocation.h,
+	  include/geos/operation/distance/Makefile.am,
+	  include/geos/operation/linemerge/EdgeString.h,
+	  include/geos/operation/linemerge/LineMergeDirectedEdge.h,
+	  include/geos/operation/linemerge/LineMergeEdge.h,
+	  include/geos/operation/linemerge/LineMergeGraph.h,
+	  include/geos/operation/linemerge/LineMerger.h,
+	  include/geos/operation/linemerge/LineSequencer.h,
+	  include/geos/operation/linemerge/Makefile.am,
+	  include/geos/operation/overlay/EdgeSetNoder.h,
+	  include/geos/operation/overlay/ElevationMatrix.h,
+	  include/geos/operation/overlay/ElevationMatrixCell.h,
+	  include/geos/operation/overlay/LineBuilder.h,
+	  include/geos/operation/overlay/Makefile.am,
+	  include/geos/operation/overlay/MaximalEdgeRing.h,
+	  include/geos/operation/overlay/MinimalEdgeRing.h,
+	  include/geos/operation/overlay/MinimalEdgeRing.inl,
+	  include/geos/operation/overlay/OverlayNodeFactory.h,
+	  include/geos/operation/overlay/OverlayOp.h,
+	  include/geos/operation/overlay/PointBuilder.h,
+	  include/geos/operation/overlay/PolygonBuilder.h,
+	  include/geos/operation/overlay/snap/GeometrySnapper.h,
+	  include/geos/operation/overlay/snap/LineStringSnapper.h,
+	  include/geos/operation/overlay/snap/Makefile.am,
+	  include/geos/operation/overlay/snap/SnapIfNeededOverlayOp.h,
+	  include/geos/operation/overlay/snap/SnapOverlayOp.h,
+	  include/geos/operation/overlay/validate/FuzzyPointLocator.h,
+	  include/geos/operation/overlay/validate/OffsetPointGenerator.h,
+	  include/geos/operation/overlay/validate/OverlayResultValidator.h,
+	  include/geos/operation/polygonize/EdgeRing.h,
+	  include/geos/operation/polygonize/Makefile.am,
+	  include/geos/operation/polygonize/PolygonizeDirectedEdge.h,
+	  include/geos/operation/polygonize/PolygonizeEdge.h,
+	  include/geos/operation/polygonize/PolygonizeGraph.h,
+	  include/geos/operation/polygonize/Polygonizer.h,
+	  include/geos/operation/predicate/Makefile.am,
+	  include/geos/operation/predicate/RectangleContains.h,
+	  include/geos/operation/predicate/RectangleIntersects.h,
+	  include/geos/operation/predicate/SegmentIntersectionTester.h,
+	  include/geos/operation/relate/EdgeEndBuilder.h,
+	  include/geos/operation/relate/EdgeEndBundle.h,
+	  include/geos/operation/relate/EdgeEndBundleStar.h,
+	  include/geos/operation/relate/Makefile.am,
+	  include/geos/operation/relate/RelateComputer.h,
+	  include/geos/operation/relate/RelateNode.h,
+	  include/geos/operation/relate/RelateNodeFactory.h,
+	  include/geos/operation/relate/RelateNodeGraph.h,
+	  include/geos/operation/relate/RelateOp.h,
+	  include/geos/operation/union/CascadedPolygonUnion.h,
+	  include/geos/operation/union/Makefile.am,
+	  include/geos/operation/valid/ConnectedInteriorTester.h,
+	  include/geos/operation/valid/ConsistentAreaTester.h,
+	  include/geos/operation/valid/IsValidOp.h,
+	  include/geos/operation/valid/Makefile.am,
+	  include/geos/operation/valid/QuadtreeNestedRingTester.h,
+	  include/geos/operation/valid/RepeatedPointTester.h,
+	  include/geos/operation/valid/SimpleNestedRingTester.h,
+	  include/geos/operation/valid/SweeplineNestedRingTester.h,
+	  include/geos/operation/valid/TopologyValidationError.h,
+	  include/geos/planargraph.h,
+	  include/geos/planargraph/DirectedEdge.h,
+	  include/geos/planargraph/DirectedEdgeStar.h,
+	  include/geos/planargraph/Edge.h,
+	  include/geos/planargraph/GraphComponent.h,
+	  include/geos/planargraph/Makefile.am,
+	  include/geos/planargraph/Node.h,
+	  include/geos/planargraph/NodeMap.h,
+	  include/geos/planargraph/PlanarGraph.h,
+	  include/geos/planargraph/Subgraph.h,
+	  include/geos/planargraph/algorithm/ConnectedSubgraphFinder.h,
+	  include/geos/planargraph/algorithm/Makefile.am,
+	  include/geos/platform.h.cmake, include/geos/platform.h.in,
+	  include/geos/platform.h.vc, include/geos/precision.h,
+	  include/geos/precision/CommonBits.h,
+	  include/geos/precision/CommonBitsOp.h,
+	  include/geos/precision/CommonBitsRemover.h,
+	  include/geos/precision/EnhancedPrecisionOp.h,
+	  include/geos/precision/Makefile.am,
+	  include/geos/precision/SimpleGeometryPrecisionReducer.h,
+	  include/geos/profiler.h,
+	  include/geos/simplify/DouglasPeuckerLineSimplifier.h,
+	  include/geos/simplify/DouglasPeuckerSimplifier.h,
+	  include/geos/simplify/LineSegmentIndex.h,
+	  include/geos/simplify/Makefile.am,
+	  include/geos/simplify/TaggedLineSegment.h,
+	  include/geos/simplify/TaggedLineString.h,
+	  include/geos/simplify/TaggedLineStringSimplifier.h,
+	  include/geos/simplify/TaggedLinesSimplifier.h,
+	  include/geos/simplify/TopologyPreservingSimplifier.h,
+	  include/geos/spatialIndex.h, include/geos/timeval.h,
+	  include/geos/unload.h, include/geos/util.h,
+	  include/geos/util/Assert.h,
+	  include/geos/util/AssertionFailedException.h,
+	  include/geos/util/CoordinateArrayFilter.h,
+	  include/geos/util/GEOSException.h,
+	  include/geos/util/GeometricShapeFactory.h,
+	  include/geos/util/IllegalArgumentException.h,
+	  include/geos/util/Makefile.am,
+	  include/geos/util/TopologyException.h,
+	  include/geos/util/UniqueCoordinateArrayFilter.h,
+	  include/geos/util/UnsupportedOperationException.h,
+	  include/geos/util/math.h, include/geos/version.h.in,
+	  include/geos/version.h.vc, macros/Makefile.am,
+	  macros/ac_pkg_swig.m4, macros/ac_python_devel.m4,
+	  macros/boost.m4, macros/geos.m4, macros/python.m4,
+	  macros/ruby.m4, makefile.vc, src/CMakeLists.txt, src/Makefile.am,
+	  src/Makefile.vc, src/algorithm/Angle.cpp,
+	  src/algorithm/BoundaryNodeRule.cpp,
+	  src/algorithm/CGAlgorithms.cpp, src/algorithm/CentroidArea.cpp,
+	  src/algorithm/CentroidLine.cpp, src/algorithm/CentroidPoint.cpp,
+	  src/algorithm/ConvexHull.cpp, src/algorithm/HCoordinate.cpp,
+	  src/algorithm/InteriorPointArea.cpp,
+	  src/algorithm/InteriorPointLine.cpp,
+	  src/algorithm/InteriorPointPoint.cpp,
+	  src/algorithm/LineIntersector.cpp,
+	  src/algorithm/MCPointInRing.cpp, src/algorithm/Makefile.am,
+	  src/algorithm/MinimumDiameter.cpp,
+	  src/algorithm/NotRepresentableException.cpp,
+	  src/algorithm/PointLocator.cpp,
+	  src/algorithm/RayCrossingCounter.cpp,
+	  src/algorithm/RobustDeterminant.cpp,
+	  src/algorithm/SIRtreePointInRing.cpp,
+	  src/algorithm/SimplePointInRing.cpp,
+	  src/algorithm/distance/DiscreteHausdorffDistance.cpp,
+	  src/algorithm/distance/DistanceToPoint.cpp,
+	  src/algorithm/distance/Makefile.am,
+	  src/algorithm/locate/IndexedPointInAreaLocator.cpp,
+	  src/algorithm/locate/Makefile.am,
+	  src/algorithm/locate/PointOnGeometryLocator.cpp,
+	  src/algorithm/locate/SimplePointInAreaLocator.cpp,
+	  src/dirlist.mk, src/geom/Coordinate.cpp,
+	  src/geom/CoordinateArraySequence.cpp,
+	  src/geom/CoordinateArraySequenceFactory.cpp,
+	  src/geom/CoordinateSequence.cpp,
+	  src/geom/CoordinateSequenceFactory.cpp, src/geom/Dimension.cpp,
+	  src/geom/Envelope.cpp, src/geom/Geometry.cpp,
+	  src/geom/GeometryCollection.cpp,
+	  src/geom/GeometryComponentFilter.cpp,
+	  src/geom/GeometryFactory.cpp, src/geom/GeometryList.cpp,
+	  src/geom/IntersectionMatrix.cpp, src/geom/LineSegment.cpp,
+	  src/geom/LineString.cpp, src/geom/LinearRing.cpp,
+	  src/geom/Location.cpp, src/geom/Makefile.am,
+	  src/geom/MultiLineString.cpp, src/geom/MultiPoint.cpp,
+	  src/geom/MultiPolygon.cpp, src/geom/Point.cpp,
+	  src/geom/Polygon.cpp, src/geom/PrecisionModel.cpp,
+	  src/geom/Triangle.cpp,
+	  src/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  src/geom/prep/BasicPreparedGeometry.cpp,
+	  src/geom/prep/Makefile.am, src/geom/prep/PreparedGeometry.cpp,
+	  src/geom/prep/PreparedGeometryFactory.cpp,
+	  src/geom/prep/PreparedLineString.cpp,
+	  src/geom/prep/PreparedLineStringIntersects.cpp,
+	  src/geom/prep/PreparedPoint.cpp,
+	  src/geom/prep/PreparedPolygon.cpp,
+	  src/geom/prep/PreparedPolygonContains.cpp,
+	  src/geom/prep/PreparedPolygonContainsProperly.cpp,
+	  src/geom/prep/PreparedPolygonCovers.cpp,
+	  src/geom/prep/PreparedPolygonIntersects.cpp,
+	  src/geom/prep/PreparedPolygonPredicate.cpp,
+	  src/geom/util/ComponentCoordinateExtracter.cpp,
+	  src/geom/util/CoordinateOperation.cpp,
+	  src/geom/util/GeometryCombiner.cpp,
+	  src/geom/util/GeometryEditor.cpp,
+	  src/geom/util/GeometryTransformer.cpp, src/geom/util/Makefile.am,
+	  src/geom/util/ShortCircuitedGeometryVisitor.cpp,
+	  src/geomgraph/Depth.cpp, src/geomgraph/DirectedEdge.cpp,
+	  src/geomgraph/DirectedEdgeStar.cpp, src/geomgraph/Edge.cpp,
+	  src/geomgraph/EdgeEnd.cpp, src/geomgraph/EdgeEndStar.cpp,
+	  src/geomgraph/EdgeIntersectionList.cpp,
+	  src/geomgraph/EdgeList.cpp,
+	  src/geomgraph/EdgeNodingValidator.cpp,
+	  src/geomgraph/EdgeRing.cpp, src/geomgraph/GeometryGraph.cpp,
+	  src/geomgraph/GraphComponent.cpp, src/geomgraph/Label.cpp,
+	  src/geomgraph/Makefile.am, src/geomgraph/Node.cpp,
+	  src/geomgraph/NodeFactory.cpp, src/geomgraph/NodeMap.cpp,
+	  src/geomgraph/PlanarGraph.cpp, src/geomgraph/Position.cpp,
+	  src/geomgraph/Quadrant.cpp, src/geomgraph/TopologyLocation.cpp,
+	  src/geomgraph/index/Makefile.am,
+	  src/geomgraph/index/MonotoneChainEdge.cpp,
+	  src/geomgraph/index/MonotoneChainIndexer.cpp,
+	  src/geomgraph/index/SegmentIntersector.cpp,
+	  src/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  src/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  src/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  src/geomgraph/index/SweepLineEvent.cpp,
+	  src/geomgraph/index/SweepLineSegment.cpp, src/index/Makefile.am,
+	  src/index/bintree/Bintree.cpp, src/index/bintree/Interval.cpp,
+	  src/index/bintree/Key.cpp, src/index/bintree/Makefile.am,
+	  src/index/bintree/Node.cpp, src/index/bintree/NodeBase.cpp,
+	  src/index/bintree/Root.cpp, src/index/chain/Makefile.am,
+	  src/index/chain/MonotoneChain.cpp,
+	  src/index/chain/MonotoneChainBuilder.cpp,
+	  src/index/chain/MonotoneChainOverlapAction.cpp,
+	  src/index/chain/MonotoneChainSelectAction.cpp,
+	  src/index/intervalrtree/IntervalRTreeBranchNode.cpp,
+	  src/index/intervalrtree/IntervalRTreeLeafNode.cpp,
+	  src/index/intervalrtree/IntervalRTreeNode.cpp,
+	  src/index/intervalrtree/Makefile.am,
+	  src/index/intervalrtree/SortedPackedIntervalRTree.cpp,
+	  src/index/quadtree/DoubleBits.cpp,
+	  src/index/quadtree/IntervalSize.cpp, src/index/quadtree/Key.cpp,
+	  src/index/quadtree/Makefile.am, src/index/quadtree/Node.cpp,
+	  src/index/quadtree/NodeBase.cpp, src/index/quadtree/Quadtree.cpp,
+	  src/index/quadtree/Root.cpp, src/index/strtree/AbstractNode.cpp,
+	  src/index/strtree/AbstractSTRtree.cpp,
+	  src/index/strtree/Interval.cpp,
+	  src/index/strtree/ItemBoundable.cpp,
+	  src/index/strtree/Makefile.am, src/index/strtree/SIRtree.cpp,
+	  src/index/strtree/STRtree.cpp, src/index/sweepline/Makefile.am,
+	  src/index/sweepline/SweepLineEvent.cpp,
+	  src/index/sweepline/SweepLineIndex.cpp,
+	  src/index/sweepline/SweepLineInterval.cpp, src/inlines.cpp,
+	  src/io/ByteOrderDataInStream.cpp, src/io/ByteOrderValues.cpp,
+	  src/io/CLocalizer.cpp, src/io/Makefile.am,
+	  src/io/ParseException.cpp, src/io/StringTokenizer.cpp,
+	  src/io/Unload.cpp, src/io/WKBReader.cpp, src/io/WKBWriter.cpp,
+	  src/io/WKTReader.cpp, src/io/WKTWriter.cpp, src/io/Writer.cpp,
+	  src/linearref/ExtractLineByLocation.cpp,
+	  src/linearref/LengthIndexOfPoint.cpp,
+	  src/linearref/LengthIndexedLine.cpp,
+	  src/linearref/LengthLocationMap.cpp,
+	  src/linearref/LinearGeometryBuilder.cpp,
+	  src/linearref/LinearIterator.cpp,
+	  src/linearref/LinearLocation.cpp,
+	  src/linearref/LocationIndexOfLine.cpp,
+	  src/linearref/LocationIndexOfPoint.cpp,
+	  src/linearref/Makefile.am, src/noding/BasicSegmentString.cpp,
+	  src/noding/FastNodingValidator.cpp,
+	  src/noding/FastSegmentSetIntersectionFinder.cpp,
+	  src/noding/IntersectionAdder.cpp,
+	  src/noding/IntersectionFinderAdder.cpp,
+	  src/noding/IteratedNoder.cpp, src/noding/MCIndexNoder.cpp,
+	  src/noding/MCIndexSegmentSetMutualIntersector.cpp,
+	  src/noding/Makefile.am, src/noding/NodedSegmentString.cpp,
+	  src/noding/NodingValidator.cpp, src/noding/Octant.cpp,
+	  src/noding/OrientedCoordinateArray.cpp,
+	  src/noding/ScaledNoder.cpp,
+	  src/noding/SegmentIntersectionDetector.cpp,
+	  src/noding/SegmentNode.cpp, src/noding/SegmentNodeList.cpp,
+	  src/noding/SegmentString.cpp, src/noding/SegmentStringUtil.cpp,
+	  src/noding/SimpleNoder.cpp,
+	  src/noding/SingleInteriorIntersectionFinder.cpp,
+	  src/noding/snapround/HotPixel.cpp,
+	  src/noding/snapround/MCIndexPointSnapper.cpp,
+	  src/noding/snapround/MCIndexSnapRounder.cpp,
+	  src/noding/snapround/Makefile.am,
+	  src/noding/snapround/SimpleSnapRounder.cpp,
+	  src/operation/GeometryGraphOperation.cpp,
+	  src/operation/IsSimpleOp.cpp, src/operation/Makefile.am,
+	  src/operation/buffer/BufferBuilder.cpp,
+	  src/operation/buffer/BufferInputLineSimplifier.cpp,
+	  src/operation/buffer/BufferInputLineSimplifier.h,
+	  src/operation/buffer/BufferOp.cpp,
+	  src/operation/buffer/BufferParameters.cpp,
+	  src/operation/buffer/BufferSubgraph.cpp,
+	  src/operation/buffer/Makefile.am,
+	  src/operation/buffer/OffsetCurveBuilder.cpp,
+	  src/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  src/operation/buffer/RightmostEdgeFinder.cpp,
+	  src/operation/buffer/SubgraphDepthLocater.cpp,
+	  src/operation/distance/ConnectedElementLocationFilter.cpp,
+	  src/operation/distance/ConnectedElementPointFilter.cpp,
+	  src/operation/distance/DistanceOp.cpp,
+	  src/operation/distance/GeometryLocation.cpp,
+	  src/operation/distance/Makefile.am,
+	  src/operation/linemerge/EdgeString.cpp,
+	  src/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  src/operation/linemerge/LineMergeEdge.cpp,
+	  src/operation/linemerge/LineMergeGraph.cpp,
+	  src/operation/linemerge/LineMerger.cpp,
+	  src/operation/linemerge/LineSequencer.cpp,
+	  src/operation/linemerge/Makefile.am,
+	  src/operation/overlay/EdgeSetNoder.cpp,
+	  src/operation/overlay/ElevationMatrix.cpp,
+	  src/operation/overlay/ElevationMatrixCell.cpp,
+	  src/operation/overlay/LineBuilder.cpp,
+	  src/operation/overlay/Makefile.am,
+	  src/operation/overlay/MaximalEdgeRing.cpp,
+	  src/operation/overlay/MinimalEdgeRing.cpp,
+	  src/operation/overlay/OverlayNodeFactory.cpp,
+	  src/operation/overlay/OverlayOp.cpp,
+	  src/operation/overlay/PointBuilder.cpp,
+	  src/operation/overlay/PolygonBuilder.cpp,
+	  src/operation/overlay/snap/GeometrySnapper.cpp,
+	  src/operation/overlay/snap/LineStringSnapper.cpp,
+	  src/operation/overlay/snap/SnapIfNeededOverlayOp.cpp,
+	  src/operation/overlay/snap/SnapOverlayOp.cpp,
+	  src/operation/overlay/validate/FuzzyPointLocator.cpp,
+	  src/operation/overlay/validate/OffsetPointGenerator.cpp,
+	  src/operation/overlay/validate/OverlayResultValidator.cpp,
+	  src/operation/polygonize/EdgeRing.cpp,
+	  src/operation/polygonize/Makefile.am,
+	  src/operation/polygonize/PolygonizeDirectedEdge.cpp,
+	  src/operation/polygonize/PolygonizeEdge.cpp,
+	  src/operation/polygonize/PolygonizeGraph.cpp,
+	  src/operation/polygonize/Polygonizer.cpp,
+	  src/operation/predicate/Makefile.am,
+	  src/operation/predicate/RectangleContains.cpp,
+	  src/operation/predicate/RectangleIntersects.cpp,
+	  src/operation/predicate/SegmentIntersectionTester.cpp,
+	  src/operation/relate/EdgeEndBuilder.cpp,
+	  src/operation/relate/EdgeEndBundle.cpp,
+	  src/operation/relate/EdgeEndBundleStar.cpp,
+	  src/operation/relate/Makefile.am,
+	  src/operation/relate/RelateComputer.cpp,
+	  src/operation/relate/RelateNode.cpp,
+	  src/operation/relate/RelateNodeFactory.cpp,
+	  src/operation/relate/RelateNodeGraph.cpp,
+	  src/operation/relate/RelateOp.cpp,
+	  src/operation/union/CascadedPolygonUnion.cpp,
+	  src/operation/union/Makefile.am,
+	  src/operation/valid/ConnectedInteriorTester.cpp,
+	  src/operation/valid/ConsistentAreaTester.cpp,
+	  src/operation/valid/IndexedNestedRingTester.cpp,
+	  src/operation/valid/IndexedNestedRingTester.h,
+	  src/operation/valid/IsValidOp.cpp,
+	  src/operation/valid/Makefile.am,
+	  src/operation/valid/QuadtreeNestedRingTester.cpp,
+	  src/operation/valid/RepeatedPointTester.cpp,
+	  src/operation/valid/SimpleNestedRingTester.cpp,
+	  src/operation/valid/SweeplineNestedRingTester.cpp,
+	  src/operation/valid/TopologyValidationError.cpp,
+	  src/planargraph/DirectedEdge.cpp,
+	  src/planargraph/DirectedEdgeStar.cpp, src/planargraph/Edge.cpp,
+	  src/planargraph/Makefile.am, src/planargraph/Node.cpp,
+	  src/planargraph/NodeMap.cpp, src/planargraph/PlanarGraph.cpp,
+	  src/planargraph/Subgraph.cpp,
+	  src/planargraph/algorithm/ConnectedSubgraphFinder.cpp,
+	  src/precision/CommonBits.cpp, src/precision/CommonBitsOp.cpp,
+	  src/precision/CommonBitsRemover.cpp,
+	  src/precision/EnhancedPrecisionOp.cpp, src/precision/Makefile.am,
+	  src/precision/SimpleGeometryPrecisionReducer.cpp,
+	  src/simplify/DouglasPeuckerLineSimplifier.cpp,
+	  src/simplify/DouglasPeuckerSimplifier.cpp,
+	  src/simplify/LineSegmentIndex.cpp, src/simplify/Makefile.am,
+	  src/simplify/TaggedLineSegment.cpp,
+	  src/simplify/TaggedLineString.cpp,
+	  src/simplify/TaggedLineStringSimplifier.cpp,
+	  src/simplify/TaggedLinesSimplifier.cpp,
+	  src/simplify/TopologyPreservingSimplifier.cpp,
+	  src/util/Assert.cpp, src/util/GeometricShapeFactory.cpp,
+	  src/util/Makefile.am, src/util/Profiler.cpp, src/util/math.cpp,
+	  swig/Makefile.am, swig/python/Makefile.am, swig/python/geos.pth,
+	  swig/python/geos.py, swig/python/python.i,
+	  swig/python/tests/Makefile.am, swig/python/tests/TESTING.txt,
+	  swig/python/tests/example.py, swig/python/tests/runtests.py,
+	  swig/python/tests/test_geometry.py, swig/ruby/Makefile.am,
+	  swig/ruby/ruby.i, swig/ruby/test/Makefile.am,
+	  swig/ruby/test/example.rb, swig/ruby/test/geos_tests.rb,
+	  swig/ruby/test/test_buffer.rb,
+	  swig/ruby/test/test_combinations.rb,
+	  swig/ruby/test/test_coordinate_sequence.rb,
+	  swig/ruby/test/test_envelope.rb, swig/ruby/test/test_geometry.rb,
+	  swig/ruby/test/test_helper.rb, swig/ruby/test/test_io.rb,
+	  swig/ruby/test/test_operations.rb,
+	  swig/ruby/test/test_relations.rb, swig/ruby/test/test_srid.rb,
+	  swig/ruby/test/test_version.rb, tests/CMakeLists.txt,
+	  tests/Makefile.am, tests/bigtest/GeometryTestFactory.cpp,
+	  tests/bigtest/Makefile.am, tests/bigtest/TestSweepLineSpeed.cpp,
+	  tests/bigtest/bigtest.h, tests/bigtest/bug234.cpp,
+	  tests/geostest/geostest.c,
+	  tests/perf/operation/buffer/IteratedBufferStressTest.cpp,
+	  tests/thread/badthreadtest.c, tests/thread/threadtest.c,
+	  tests/unit/CMakeLists.txt, tests/unit/Makefile.am,
+	  tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp,
+	  tests/unit/algorithm/CGAlgorithms/isCCWTest.cpp,
+	  tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp,
+	  tests/unit/algorithm/ConvexHullTest.cpp,
+	  tests/unit/algorithm/PointLocatorTest.cpp,
+	  tests/unit/algorithm/RobustLineIntersectionTest.cpp,
+	  tests/unit/algorithm/RobustLineIntersectorTest.cpp,
+	  tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp,
+	  tests/unit/capi/GEOSBufferTest.cpp,
+	  tests/unit/capi/GEOSContainsTest.cpp,
+	  tests/unit/capi/GEOSCoordSeqTest.cpp,
+	  tests/unit/capi/GEOSGeomFromWKBTest.cpp,
+	  tests/unit/capi/GEOSGeomToWKTTest.cpp,
+	  tests/unit/capi/GEOSPolygonizer_getCutEdgesTest.cpp,
+	  tests/unit/capi/GEOSPreparedGeometryTest.cpp,
+	  tests/unit/capi/GEOSSimplifyTest.cpp,
+	  tests/unit/capi/GEOSWithinTest.cpp,
+	  tests/unit/geom/CoordinateArraySequenceFactoryTest.cpp,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp,
+	  tests/unit/geom/CoordinateListTest.cpp,
+	  tests/unit/geom/CoordinateTest.cpp,
+	  tests/unit/geom/DimensionTest.cpp,
+	  tests/unit/geom/EnvelopeTest.cpp,
+	  tests/unit/geom/Geometry/coversTest.cpp,
+	  tests/unit/geom/Geometry/isRectangleTest.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/geom/IntersectionMatrixTest.cpp,
+	  tests/unit/geom/LineSegmentTest.cpp,
+	  tests/unit/geom/LineStringTest.cpp,
+	  tests/unit/geom/LinearRingTest.cpp,
+	  tests/unit/geom/LocationTest.cpp,
+	  tests/unit/geom/MultiLineStringTest.cpp,
+	  tests/unit/geom/MultiPointTest.cpp,
+	  tests/unit/geom/MultiPolygonTest.cpp,
+	  tests/unit/geom/PointTest.cpp, tests/unit/geom/PolygonTest.cpp,
+	  tests/unit/geom/TriangleTest.cpp,
+	  tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp,
+	  tests/unit/geos_unit.cpp,
+	  tests/unit/index/quadtree/DoubleBitsTest.cpp,
+	  tests/unit/io/ByteOrderValuesTest.cpp,
+	  tests/unit/io/WKBReaderTest.cpp,
+	  tests/unit/linearref/LengthIndexedLineTest.cpp,
+	  tests/unit/noding/BasicSegmentStringTest.cpp,
+	  tests/unit/noding/NodedSegmentStringTest.cpp,
+	  tests/unit/noding/SegmentNodeTest.cpp,
+	  tests/unit/noding/SegmentPointComparatorTest.cpp,
+	  tests/unit/operation/IsSimpleOpTest.cpp,
+	  tests/unit/operation/buffer/BufferOpTest.cpp,
+	  tests/unit/operation/distance/DistanceOpTest.cpp,
+	  tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp,
+	  tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp,
+	  tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp,
+	  tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp,
+	  tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp,
+	  tests/unit/operation/union/CascadedPolygonUnionTest.cpp,
+	  tests/unit/operation/valid/IsValidTest.cpp,
+	  tests/unit/operation/valid/ValidClosedRingTest.cpp,
+	  tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp,
+	  tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp,
+	  tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp,
+	  tests/unit/simplify/TopologyPreservingSimplifierTest.cpp,
+	  tests/unit/tut/tut.hpp, tests/unit/tut/tut_assert.hpp,
+	  tests/unit/tut/tut_console_reporter.hpp,
+	  tests/unit/tut/tut_exception.hpp, tests/unit/tut/tut_posix.hpp,
+	  tests/unit/tut/tut_reporter.hpp,
+	  tests/unit/tut/tut_restartable.hpp,
+	  tests/unit/tut/tut_result.hpp, tests/unit/tut/tut_runner.hpp,
+	  tests/unit/util/UniqueCoordinateArrayFilterTest.cpp,
+	  tests/unit/utility.h, tests/xmltester/BufferResultMatcher.cpp,
+	  tests/xmltester/BufferResultMatcher.h,
+	  tests/xmltester/CMakeLists.txt, tests/xmltester/CTS.cpp,
+	  tests/xmltester/Makefile.am, tests/xmltester/SimpleWKTTester.cpp,
+	  tests/xmltester/SingleSidedBufferResultMatcher.cpp,
+	  tests/xmltester/SingleSidedBufferResultMatcher.h,
+	  tests/xmltester/Stackwalker.cpp, tests/xmltester/Stackwalker.h,
+	  tests/xmltester/WKTIn, tests/xmltester/WKTOut,
+	  tests/xmltester/XMLTester.cpp, tests/xmltester/XMLTester.h,
+	  tests/xmltester/testrunner.sh,
+	  tests/xmltester/tests/TestIsValid.xml,
+	  tests/xmltester/tests/buffer.xml,
+	  tests/xmltester/tests/general/TestCentroid.xml,
+	  tests/xmltester/tests/general/TestInteriorPoint.xml,
+	  tests/xmltester/tests/general/TestValid.xml,
+	  tests/xmltester/tests/general/TestValid2-big.xml,
+	  tests/xmltester/tests/general/TestValid2.xml,
+	  tests/xmltester/tests/hexwkb.xml,
+	  tests/xmltester/tests/linemerge.xml,
+	  tests/xmltester/tests/robustness.xml,
+	  tests/xmltester/tests/test.xml,
+	  tests/xmltester/tests/testLeaksBig.xml,
+	  tests/xmltester/tinyxml/tinystr.cpp,
+	  tests/xmltester/tinyxml/tinystr.h,
+	  tests/xmltester/tinyxml/tinyxml.cpp,
+	  tests/xmltester/tinyxml/tinyxml.h,
+	  tests/xmltester/tinyxml/tinyxmlerror.cpp,
+	  tests/xmltester/tinyxml/tinyxmlparser.cpp, tools/CMakeLists.txt,
+	  tools/Makefile.am, tools/geos-config.in: Removed Subversion
+	  svn:keywords property (#480)
+
+2011-09-21 08:11  Sandro Santilli <strk at kbt.io>
+
+	* [r3475] swig/geos.i.in, swig/python/Makefile.am: Fix out-of-place
+	  build for python binding (#332)
 
 2011-09-20 14:35  Howard Butler <hobu.inc at gmail.com>
 
-	* [r3472] mark concrete implementations as non-virtual for
+	* [r3472] include/geos/geom/GeometryCollection.h: mark concrete
+	  implementations as non-virtual for
 	  GeometryCollection::computeEnvelopInternal and
 	  GeometryCollection::compareToSameClass #478
 
 2011-09-20 14:24  Howard Butler <hobu.inc at gmail.com>
 
-	* [r3470] apply clang fix for #463
+	* [r3470] include/geos/geom/GeometryFactory.h: apply clang fix for
+	  #463
 
 2011-09-19 15:07  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3469] Disable unit test relying on C99 feature if GEOS built
-	  using Visual C++
-
-2011-09-17 15:53  Sandro Santilli <strk at keybit.net>
-
-	* [r3468] Use the global isnan from math.h for Solaris (#461)
-
-2011-09-12 07:47  Sandro Santilli <strk at keybit.net>
-
-	* [r3465] Fix memory leak on invalid geometry in InteriorPointArea
-	  (#475)
-
-2011-08-24 14:55  Sandro Santilli <strk at keybit.net>
-
-	* [r3463] Fix warnings on MSVC 2008 64 Bit (#470)
-
-2011-08-20 21:02  Sandro Santilli <strk at keybit.net>
-
-	* [r3461] Forward port fix for #464 (Geometry.clone SRID copy)
-
-2011-08-19 09:42  Sandro Santilli <strk at keybit.net>
-
-	* [r3458] Fix missing return from DirectedEdge output operator
-
-2011-08-19 09:41  Sandro Santilli <strk at keybit.net>
-
-	* [r3457] Fix out-of-source builds
-
-2011-08-06 09:10  Sandro Santilli <strk at keybit.net>
-
-	* [r3456] Drop dangling references to SegmentString.inl (ticket
-	  #467)
-
-2011-07-27 13:55  Sandro Santilli <strk at keybit.net>
+	* [r3469] tests/unit/capi/GEOSisValidDetailTest.cpp: Disable unit
+	  test relying on C99 feature if GEOS built using Visual C++
 
-	* [r3455] Add test file printing sizes of some classes
+2011-09-17 15:53  Sandro Santilli <strk at kbt.io>
 
-2011-07-27 13:29  Sandro Santilli <strk at keybit.net>
+	* [r3468] include/geos/platform.h.in: Use the global isnan from
+	  math.h for Solaris (#461)
 
-	* [r3454] Earlier release of input segment strings, earlier release
-	  of buffer subgraphs.
+2011-09-12 07:47  Sandro Santilli <strk at kbt.io>
 
-2011-07-27 08:12  Sandro Santilli <strk at keybit.net>
-
-	* [r3453] Change Noder interface to transfer ownership of noded
-	  segment strings to caller. Delete them as soon as converted to
-	  Edges in BufferOp.
-
-2011-07-26 16:36  Sandro Santilli <strk at keybit.net>
-
-	* [r3452] Update class documentation and port info. Drop empty .inl
-	  file.
-
-2011-07-26 16:23  Sandro Santilli <strk at keybit.net>
-
-	* [r3451] Have NodedSegmentString take ownership of
-	  CoordinateSequence
-
-2011-07-26 15:09  Sandro Santilli <strk at keybit.net>
-
-	* [r3450] Use geomgraph::Label by value (less extra-heap), cleanups
-	  and port sync.
-
-2011-07-21 09:54  Sandro Santilli <strk at keybit.net>
-
-	* [r3449] Make geomgraph::Label non virtual, implement assignment
-	  operator, drop old logs, sync port info.
-
-2011-07-21 09:54  Sandro Santilli <strk at keybit.net>
-
-	* [r3448] Add assignment operator to TopologyLocation, drop old
-	  logs, sync port info
-
-2011-07-20 15:40  Sandro Santilli <strk at keybit.net>
-
-	* [r3444] Port JTS robustness fix for ConvexHull (ticket #457)
-
-2011-07-20 14:32  Sandro Santilli <strk at keybit.net>
-
-	* [r3443] Allow XML tests not to specify a precision model,
-	  defaulting to floating
+	* [r3465] src/algorithm/InteriorPointArea.cpp,
+	  tests/unit/Makefile.am,
+	  tests/unit/algorithm/InteriorPointAreaTest.cpp: Fix memory leak
+	  on invalid geometry in InteriorPointArea (#475)
+
+2011-08-24 14:55  Sandro Santilli <strk at kbt.io>
+
+	* [r3463] include/geos/operation/buffer/OffsetSegmentGenerator.h,
+	  include/geos/operation/relate/RelateComputer.h,
+	  src/geom/util/SineStarFactory.cpp,
+	  src/operation/relate/RelateComputer.cpp: Fix warnings on MSVC
+	  2008 64 Bit (#470)
+
+2011-08-20 21:02  Sandro Santilli <strk at kbt.io>
+
+	* [r3461] src/geom/GeometryCollection.cpp, src/geom/LineString.cpp,
+	  src/geom/Point.cpp, src/geom/Polygon.cpp, tests/unit/Makefile.am,
+	  tests/unit/geom/Geometry/clone.cpp: Forward port fix for #464
+	  (Geometry.clone SRID copy)
+
+2011-08-19 09:42  Sandro Santilli <strk at kbt.io>
+
+	* [r3458] src/planargraph/DirectedEdge.cpp: Fix missing return from
+	  DirectedEdge output operator
+
+2011-08-19 09:41  Sandro Santilli <strk at kbt.io>
+
+	* [r3457] tests/perf/Makefile.am, tests/perf/capi/Makefile.am: Fix
+	  out-of-source builds
+
+2011-08-06 09:10  Sandro Santilli <strk at kbt.io>
+
+	* [r3456] include/geos/noding/BasicSegmentString.h,
+	  src/inlines.cpp: Drop dangling references to SegmentString.inl
+	  (ticket #467)
+
+2011-07-27 13:55  Sandro Santilli <strk at kbt.io>
+
+	* [r3455] tests/perf/ClassSizes.cpp, tests/perf/Makefile.am: Add
+	  test file printing sizes of some classes
+
+2011-07-27 13:29  Sandro Santilli <strk at kbt.io>
+
+	* [r3454] src/operation/buffer/BufferBuilder.cpp: Earlier release
+	  of input segment strings, earlier release of buffer subgraphs.
+
+2011-07-27 08:12  Sandro Santilli <strk at kbt.io>
+
+	* [r3453] include/geos/noding/Noder.h,
+	  include/geos/noding/SegmentNodeList.h,
+	  src/noding/SegmentNodeList.cpp,
+	  src/operation/buffer/BufferBuilder.cpp: Change Noder interface to
+	  transfer ownership of noded segment strings to caller. Delete
+	  them as soon as converted to Edges in BufferOp.
+
+2011-07-26 16:36  Sandro Santilli <strk at kbt.io>
+
+	* [r3452] include/geos/noding/Makefile.am,
+	  include/geos/noding/SegmentString.h,
+	  include/geos/noding/SegmentString.inl,
+	  src/noding/SegmentString.cpp: Update class documentation and port
+	  info. Drop empty .inl file.
+
+2011-07-26 16:23  Sandro Santilli <strk at kbt.io>
+
+	* [r3451] NEWS, include/geos/noding/NodedSegmentString.h,
+	  include/geos/noding/SegmentNodeList.h,
+	  include/geos/noding/SegmentStringUtil.h,
+	  src/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  src/geom/prep/PreparedLineString.cpp,
+	  src/geom/prep/PreparedLineStringIntersects.cpp,
+	  src/geom/prep/PreparedPolygon.cpp,
+	  src/geom/prep/PreparedPolygonContainsProperly.cpp,
+	  src/geom/prep/PreparedPolygonIntersects.cpp,
+	  src/noding/SegmentNodeList.cpp,
+	  src/operation/buffer/BufferBuilder.cpp,
+	  src/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  tests/unit/noding/NodedSegmentStringTest.cpp,
+	  tests/unit/noding/SegmentNodeTest.cpp: Have NodedSegmentString
+	  take ownership of CoordinateSequence
+
+2011-07-26 15:09  Sandro Santilli <strk at kbt.io>
+
+	* [r3450] NEWS, include/geos/geomgraph/DirectedEdge.h,
+	  include/geos/geomgraph/DirectedEdge.inl,
+	  include/geos/geomgraph/DirectedEdgeStar.h,
+	  include/geos/geomgraph/Edge.h, include/geos/geomgraph/EdgeEnd.h,
+	  include/geos/geomgraph/EdgeEndStar.h,
+	  include/geos/geomgraph/EdgeIntersectionList.h,
+	  include/geos/geomgraph/EdgeRing.h,
+	  include/geos/geomgraph/GeometryGraph.h,
+	  include/geos/geomgraph/GeometryGraph.inl,
+	  include/geos/geomgraph/GraphComponent.h,
+	  include/geos/geomgraph/Label.h, include/geos/geomgraph/Node.h,
+	  include/geos/geomgraph/PlanarGraph.h,
+	  include/geos/operation/buffer/BufferBuilder.h,
+	  include/geos/operation/overlay/OverlayOp.h,
+	  include/geos/operation/relate/EdgeEndBundle.h,
+	  include/geos/operation/relate/EdgeEndBundleStar.h,
+	  include/geos/operation/relate/RelateComputer.h,
+	  include/geos/operation/relate/RelateNode.h,
+	  src/geomgraph/DirectedEdge.cpp,
+	  src/geomgraph/DirectedEdgeStar.cpp, src/geomgraph/Edge.cpp,
+	  src/geomgraph/EdgeEnd.cpp, src/geomgraph/EdgeEndStar.cpp,
+	  src/geomgraph/EdgeIntersectionList.cpp,
+	  src/geomgraph/EdgeRing.cpp, src/geomgraph/GeometryGraph.cpp,
+	  src/geomgraph/GraphComponent.cpp, src/geomgraph/Label.cpp,
+	  src/geomgraph/Node.cpp, src/geomgraph/NodeMap.cpp,
+	  src/geomgraph/PlanarGraph.cpp,
+	  src/operation/buffer/BufferBuilder.cpp,
+	  src/operation/overlay/LineBuilder.cpp,
+	  src/operation/overlay/OverlayOp.cpp,
+	  src/operation/overlay/PointBuilder.cpp,
+	  src/operation/overlay/PolygonBuilder.cpp,
+	  src/operation/relate/EdgeEndBuilder.cpp,
+	  src/operation/relate/EdgeEndBundle.cpp,
+	  src/operation/relate/EdgeEndBundleStar.cpp,
+	  src/operation/relate/RelateComputer.cpp,
+	  src/operation/relate/RelateNode.cpp,
+	  src/operation/relate/RelateNodeGraph.cpp,
+	  src/operation/valid/ConnectedInteriorTester.cpp: Use
+	  geomgraph::Label by value (less extra-heap), cleanups and port
+	  sync.
+
+2011-07-21 09:54  Sandro Santilli <strk at kbt.io>
+
+	* [r3449] include/geos/geomgraph/Label.h, src/geomgraph/Label.cpp:
+	  Make geomgraph::Label non virtual, implement assignment operator,
+	  drop old logs, sync port info.
+
+2011-07-21 09:54  Sandro Santilli <strk at kbt.io>
+
+	* [r3448] include/geos/geomgraph/TopologyLocation.h,
+	  src/geomgraph/TopologyLocation.cpp: Add assignment operator to
+	  TopologyLocation, drop old logs, sync port info
+
+2011-07-20 15:40  Sandro Santilli <strk at kbt.io>
+
+	* [r3444] include/geos/algorithm/ConvexHull.h,
+	  include/geos/algorithm/ConvexHull.inl,
+	  src/algorithm/ConvexHull.cpp: Port JTS robustness fix for
+	  ConvexHull (ticket #457)
+
+2011-07-20 14:32  Sandro Santilli <strk at kbt.io>
+
+	* [r3443] tests/xmltester/XMLTester.cpp: Allow XML tests not to
+	  specify a precision model, defaulting to floating
 	  
 	  This allows running some JTS tests w/out touching them
 
-2011-07-20 14:19  Sandro Santilli <strk at keybit.net>
+2011-07-20 14:19  Sandro Santilli <strk at kbt.io>
 
-	* [r3442] Add unit test for bug #337.
+	* [r3442] tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSDistanceTest.cpp: Add unit test for bug #337.
 
-2011-07-20 14:04  Sandro Santilli <strk at keybit.net>
+2011-07-20 14:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3441] Reset CXXFLAGS for building XMLTester, should fix bug
-	  #319 (non-c++98 tinyxml)
+	* [r3441] tests/xmltester/Makefile.am: Reset CXXFLAGS for building
+	  XMLTester, should fix bug #319 (non-c++98 tinyxml)
 
-2011-07-20 11:45  Sandro Santilli <strk at keybit.net>
+2011-07-20 11:45  Sandro Santilli <strk at kbt.io>
 
-	* [r3439] Have GEOSOffsetCurve with distance 0 return the input
-	  (fixes bug #454)
+	* [r3439] src/operation/buffer/BufferBuilder.cpp,
+	  tests/unit/capi/GEOSOffsetCurveTest.cpp: Have GEOSOffsetCurve
+	  with distance 0 return the input (fixes bug #454)
 
-2011-07-20 09:12  Sandro Santilli <strk at keybit.net>
+2011-07-20 09:12  Sandro Santilli <strk at kbt.io>
 
-	* [r3438] Add note about new BufferOp interface
+	* [r3438] NEWS: Add note about new BufferOp interface
 
-2011-07-20 09:03  Sandro Santilli <strk at keybit.net>
+2011-07-20 09:03  Sandro Santilli <strk at kbt.io>
 
-	* [r3437] Add setSingleSided interface to BufferOp-accessible
-	  BufferParam setters
+	* [r3437] include/geos/operation/buffer/BufferOp.h: Add
+	  setSingleSided interface to BufferOp-accessible BufferParam
+	  setters
 	  
 	  Patch by Tai Meng <tai.meng at safe.com>
 
-2011-07-20 08:46  Sandro Santilli <strk at keybit.net>
+2011-07-20 08:46  Sandro Santilli <strk at kbt.io>
 
-	* [r3436] Add output operator for planargraph::DirectedEdge class
+	* [r3436] include/geos/planargraph/DirectedEdge.h,
+	  src/planargraph/DirectedEdge.cpp: Add output operator for
+	  planargraph::DirectedEdge class
 
-2011-07-20 08:46  Sandro Santilli <strk at keybit.net>
+2011-07-20 08:46  Sandro Santilli <strk at kbt.io>
 
-	* [r3435] Drop unused variable
+	* [r3435] src/algorithm/RobustDeterminant.cpp: Drop unused variable
 
-2011-07-20 08:46  Sandro Santilli <strk at keybit.net>
+2011-07-20 08:46  Sandro Santilli <strk at kbt.io>
 
-	* [r3434] Add port info
+	* [r3434] tests/unit/operation/polygonize/PolygonizeTest.cpp: Add
+	  port info
 
-2011-07-20 08:46  Sandro Santilli <strk at keybit.net>
+2011-07-20 08:46  Sandro Santilli <strk at kbt.io>
 
-	* [r3433] Port JTS unit test for Polygonizer class (very light..)
+	* [r3433] tests/unit/Makefile.am, tests/unit/operation/polygonize,
+	  tests/unit/operation/polygonize/PolygonizeTest.cpp: Port JTS unit
+	  test for Polygonizer class (very light..)
 
-2011-07-07 08:33  Sandro Santilli <strk at keybit.net>
+2011-07-07 08:33  Sandro Santilli <strk at kbt.io>
 
-	* [r3432] Include platform.h, fixing SOLARIS build. Patch by Tai
-	  Meng <tai.meng at safe.com>.
+	* [r3432] src/operation/buffer/BufferParameters.cpp: Include
+	  platform.h, fixing SOLARIS build. Patch by Tai Meng
+	  <tai.meng at safe.com>.
 
-2011-07-06 07:02  Sandro Santilli <strk at keybit.net>
+2011-07-06 07:02  Sandro Santilli <strk at kbt.io>
 
-	* [r3429] Nodes always have labels (ported JTS fix to
-	  GeometryGraph::insertBoundaryPoint). Update port info.
+	* [r3429] include/geos/geomgraph/GeometryGraph.h,
+	  include/geos/geomgraph/GeometryGraph.inl,
+	  src/geomgraph/GeometryGraph.cpp: Nodes always have labels (ported
+	  JTS fix to GeometryGraph::insertBoundaryPoint). Update port info.
 
-2011-07-06 07:02  Sandro Santilli <strk at keybit.net>
+2011-07-06 07:02  Sandro Santilli <strk at kbt.io>
 
-	* [r3428] Update port info for geomgraph::Node after GEOS fix was
-	  ported to JTS
+	* [r3428] include/geos/geomgraph/Node.h, src/geomgraph/Node.cpp:
+	  Update port info for geomgraph::Node after GEOS fix was ported to
+	  JTS
 
-2011-07-05 13:59  Sandro Santilli <strk at keybit.net>
+2011-07-05 13:59  Sandro Santilli <strk at kbt.io>
 
-	* [r3427] svn update before running svn2cl
+	* [r3427] Makefile.am: svn update before running svn2cl
 
-2011-07-05 11:07  Sandro Santilli <strk at keybit.net>
+2011-07-05 11:07  Sandro Santilli <strk at kbt.io>
 
-	* [r3425] Update port info for IndexedNestedRingTester class
+	* [r3425] src/operation/valid/IndexedNestedRingTester.cpp,
+	  src/operation/valid/IndexedNestedRingTester.h: Update port info
+	  for IndexedNestedRingTester class
 
-2011-07-05 10:58  Sandro Santilli <strk at keybit.net>
+2011-07-05 10:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3424] Changes of 3.3.1 do not belong in trunk (aimed at 3.4.0)
+	* [r3424] NEWS: Changes of 3.3.1 do not belong in trunk (aimed at
+	  3.4.0)
 
-2011-07-05 10:56  Sandro Santilli <strk at keybit.net>
+2011-07-05 10:56  Sandro Santilli <strk at kbt.io>
 
-	* [r3423] Fix #449 (Assertion fails checking validity of polygon)
-	  the JTS way.
+	* [r3423] src/operation/valid/IndexedNestedRingTester.cpp,
+	  tests/xmltester/tests/general/TestValid.xml: Fix #449 (Assertion
+	  fails checking validity of polygon) the JTS way.
 
-2011-07-05 10:56  Sandro Santilli <strk at keybit.net>
+2011-07-05 10:56  Sandro Santilli <strk at kbt.io>
 
-	* [r3422] Revert "When checking for validity, do not abort if every
-	  vertex of an hole is also a vertex of another one. Fixes bug
-	  #449, including regress testing." (will redo the JTS way)
+	* [r3422] src/operation/valid/IndexedNestedRingTester.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug449.xml: Revert "When checking
+	  for validity, do not abort if every vertex of an hole is also a
+	  vertex of another one. Fixes bug #449, including regress
+	  testing." (will redo the JTS way)
 	  
 	  This reverts commit 7d2306c8dca2f0f1c5722640758578c1d59c7295.
 
-2011-07-05 09:52  Sandro Santilli <strk at keybit.net>
+2011-07-05 09:52  Sandro Santilli <strk at kbt.io>
 
-	* [r3417] Initialize MinimumDiamiter::minPtIndex in the
-	  constructor, to make static analisys tools happier
+	* [r3417] src/algorithm/MinimumDiameter.cpp: Initialize
+	  MinimumDiamiter::minPtIndex in the constructor, to make static
+	  analisys tools happier
 
-2011-07-05 09:52  Sandro Santilli <strk at keybit.net>
+2011-07-05 09:52  Sandro Santilli <strk at kbt.io>
 
-	* [r3416] Initialize SweepLineIndex::indexBuilt in ctor
+	* [r3416] src/index/sweepline/SweepLineIndex.cpp: Initialize
+	  SweepLineIndex::indexBuilt in ctor
 
-2011-07-05 09:52  Sandro Santilli <strk at keybit.net>
+2011-07-05 09:52  Sandro Santilli <strk at kbt.io>
 
-	* [r3415] Initialize LineIntersector::isProperVar in constructor
-	  (not really needed but makes less noise under static analisys
-	  tools)
+	* [r3415] include/geos/algorithm/LineIntersector.h: Initialize
+	  LineIntersector::isProperVar in constructor (not really needed
+	  but makes less noise under static analisys tools)
 
-2011-07-05 09:52  Sandro Santilli <strk at keybit.net>
+2011-07-05 09:52  Sandro Santilli <strk at kbt.io>
 
-	* [r3414] Fix bogus override of PreparedGeometry::intersect by
-	  PreparedPoint
+	* [r3414] include/geos/geom/prep/PreparedPoint.h,
+	  src/geom/prep/PreparedPoint.cpp: Fix bogus override of
+	  PreparedGeometry::intersect by PreparedPoint
 
-2011-07-05 09:52  Sandro Santilli <strk at keybit.net>
+2011-07-05 09:52  Sandro Santilli <strk at kbt.io>
 
-	* [r3413] Assert that the variable used as array index is not
-	  negative before using it (quadtree)
+	* [r3413] src/index/quadtree/Node.cpp: Assert that the variable
+	  used as array index is not negative before using it (quadtree)
 
-2011-07-05 09:52  Sandro Santilli <strk at keybit.net>
+2011-07-05 09:52  Sandro Santilli <strk at kbt.io>
 
-	* [r3412] Avoid segfalting when an added node has no label in
-	  GeometryGraph::insertBoundaryPoint. See
+	* [r3412] src/geomgraph/GeometryGraph.cpp: Avoid segfalting when an
+	  added node has no label in GeometryGraph::insertBoundaryPoint.
+	  See
 	  https://sourceforge.net/tracker/?func=detail&aid=3353879&group_id=128875&atid=713120
 
-2011-07-05 09:52  Sandro Santilli <strk at keybit.net>
+2011-07-05 09:52  Sandro Santilli <strk at kbt.io>
 
-	* [r3411] Avoid segfaulting when Node.setLabelBoundary is called
-	  against a node with null label. See
+	* [r3411] src/geomgraph/Node.cpp: Avoid segfaulting when
+	  Node.setLabelBoundary is called against a node with null label.
+	  See
 	  https://sourceforge.net/tracker/?func=detail&aid=3353871&group_id=128875&atid=713120
 
-2011-07-05 09:52  Sandro Santilli <strk at keybit.net>
+2011-07-05 09:52  Sandro Santilli <strk at kbt.io>
 
-	* [r3410] Assert that the variable used as array index is not
-	  negative before using it.
+	* [r3410] src/index/bintree/Node.cpp: Assert that the variable used
+	  as array index is not negative before using it.
 
-2011-07-05 09:51  Sandro Santilli <strk at keybit.net>
+2011-07-05 09:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3409] Do not dereference past-the-end iterator on invalid call
+	* [r3409] src/util/Profiler.cpp: Do not dereference past-the-end
+	  iterator on invalid call
 
-2011-07-01 08:22  Sandro Santilli <strk at keybit.net>
+2011-07-01 08:22  Sandro Santilli <strk at kbt.io>
 
-	* [r3398] Add test for ticket #455 (bad result from the deprecated
-	  GEOSSingleSidedBuffer). It passes here in trunk, good!
+	* [r3398] tests/unit/capi/GEOSBufferTest.cpp: Add test for ticket
+	  #455 (bad result from the deprecated GEOSSingleSidedBuffer). It
+	  passes here in trunk, good!
 
-2011-07-01 08:22  Sandro Santilli <strk at keybit.net>
+2011-07-01 08:22  Sandro Santilli <strk at kbt.io>
 
-	* [r3397] NEWS item about #449
+	* [r3397] NEWS: NEWS item about #449
 
-2011-06-27 11:45  Sandro Santilli <strk at keybit.net>
+2011-06-27 11:45  Sandro Santilli <strk at kbt.io>
 
-	* [r3394] Bump versions up assuming a new minor release will come
-	  out from trunk. Closes #453
+	* [r3394] configure.in: Bump versions up assuming a new minor
+	  release will come out from trunk. Closes #453
 
-2011-06-09 15:28  Sandro Santilli <strk at keybit.net>
+2011-06-09 15:28  Sandro Santilli <strk at kbt.io>
 
-	* [r3392] When checking for validity, do not abort if every vertex
-	  of an hole is also a vertex of another one. Fixes bug #449,
-	  including regress testing.
+	* [r3392] src/operation/valid/IndexedNestedRingTester.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug449.xml: When checking for
+	  validity, do not abort if every vertex of an hole is also a
+	  vertex of another one. Fixes bug #449, including regress testing.
 
-2011-06-02 20:18  Sandro Santilli <strk at keybit.net>
+2011-06-02 20:18  Sandro Santilli <strk at kbt.io>
 
-	* [r3390] Refine test for #448
+	* [r3390] php/test/test.php: Refine test for #448
 
-2011-06-02 20:13  Sandro Santilli <strk at keybit.net>
+2011-06-02 20:13  Sandro Santilli <strk at kbt.io>
 
-	* [r3389] Add test for bug #448
+	* [r3389] php/test/test.php: Add test for bug #448
 
-2011-05-30 12:50  Sandro Santilli <strk at keybit.net>
+2011-05-30 12:50  Sandro Santilli <strk at kbt.io>
 
-	* [r3387] Update for release
+	* [r3387] ChangeLog: Update for release
 
-2011-05-30 12:48  Sandro Santilli <strk at keybit.net>
+2011-05-30 12:48  Sandro Santilli <strk at kbt.io>
 
-	* [r3386] Set version to 3.3.0 (final) - Set release date to
-	  2011-05-30
+	* [r3386] NEWS, configure.in: Set version to 3.3.0 (final) - Set
+	  release date to 2011-05-30
 
 2011-05-30 10:49  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3385] Applied William\'s patch capi_CMakeLists.txt.patch for
-	  OSX framework (Ticket #385)
+	* [r3385] capi/CMakeLists.txt: Applied William\'s patch
+	  capi_CMakeLists.txt.patch for OSX framework (Ticket #385)
 
 2011-05-30 10:45  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3384] Applied William\'s patch * src_CMakeLists.txt.patch
-	  Download added OSX framework (Ticket #385)
+	* [r3384] src/CMakeLists.txt: Applied William\'s patch *
+	  src_CMakeLists.txt.patch Download added OSX framework (Ticket
+	  #385)
 
 2011-05-30 10:30  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3383] Applied William\'s patch with missing library versions
-	  for OSX framework (Ticket #385)
+	* [r3383] src/CMakeLists.txt: Applied William\'s patch with missing
+	  library versions for OSX framework (Ticket #385)
 
 2011-05-30 09:41  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3382] Applied supplementary tests.patch for 85 from William
+	* [r3382] tests/bigtest/CMakeLists.txt, tests/unit/CMakeLists.txt,
+	  tests/xmltester/CMakeLists.txt: Applied supplementary tests.patch
+	  for 85 from William
 
-2011-05-27 14:04  Sandro Santilli <strk at keybit.net>
+2011-05-27 14:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3381] The mac framework info.plist.in from r3376 didn't make it
-	  into the rc2 tarball.
+	* [r3381] src/Makefile.am: The mac framework info.plist.in from
+	  r3376 didn't make it into the rc2 tarball.
 
-2011-05-23 10:04  Sandro Santilli <strk at keybit.net>
+2011-05-23 10:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3378] updated for 3.3.0rc2 release
+	* [r3378] ChangeLog: updated for 3.3.0rc2 release
 
-2011-05-23 09:58  Sandro Santilli <strk at keybit.net>
+2011-05-23 09:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3377] Set version to 3.3.0rc2
+	* [r3377] configure.in: Set version to 3.3.0rc2
 
 2011-05-23 08:52  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3376] Added src/info.plist.in file for OS X framework build
-	  option in CMake configuration (Ticket #385)
+	* [r3376] src/info.plist.in: Added src/info.plist.in file for OS X
+	  framework build option in CMake configuration (Ticket #385)
 
 2011-05-22 23:34  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3375] Added OS X framework build option to CMake configuration
-	  (Ticket #385)
+	* [r3375] CMakeLists.txt, capi/CMakeLists.txt,
+	  include/CMakeLists.txt, src/CMakeLists.txt, tools/CMakeLists.txt:
+	  Added OS X framework build option to CMake configuration (Ticket
+	  #385)
 
-2011-05-20 08:02  Sandro Santilli <strk at keybit.net>
+2011-05-20 08:02  Sandro Santilli <strk at kbt.io>
 
-	* [r3374] add missing return from main
+	* [r3374] tests/perf/capi/memleak_mp_prep.c: add missing return
+	  from main
 
 2011-05-19 20:39  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r3373] shellCount checking should not be DEBUG only now that we
-	  throw an exception (#398)
+	* [r3373] src/operation/overlay/PolygonBuilder.cpp: shellCount
+	  checking should not be DEBUG only now that we throw an exception
+	  (#398)
 
 2011-05-19 19:32  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r3372] Updates for Makefile.vc builds and issues when building
-	  NDEBUG and no inlining
+	* [r3372] include/geos/noding/SegmentPointComparator.h,
+	  src/Makefile.vc, src/noding/snapround/MCIndexSnapRounder.cpp,
+	  src/operation/overlay/PolygonBuilder.cpp: Updates for Makefile.vc
+	  builds and issues when building NDEBUG and no inlining
 
-2011-05-19 14:58  Sandro Santilli <strk at keybit.net>
+2011-05-19 14:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3371] Fix build of prepared geoms memleak tester on system
-	  w/out geos installed
+	* [r3371] tests/perf/capi/Makefile.am: Fix build of prepared geoms
+	  memleak tester on system w/out geos installed
 
-2011-05-18 19:59  Sandro Santilli <strk at keybit.net>
+2011-05-18 19:59  Sandro Santilli <strk at kbt.io>
 
-	* [r3370] Do not assume isfinite is in std:: namespace to fix #444;
-	  Have RobustDeterminant use a broad 'using namespace std' to fix
-	  #442 in another way.
+	* [r3370] include/geos/platform.h.in,
+	  src/algorithm/RobustDeterminant.cpp: Do not assume isfinite is in
+	  std:: namespace to fix #444; Have RobustDeterminant use a broad
+	  'using namespace std' to fix #442 in another way.
 
-2011-05-17 20:44  Sandro Santilli <strk at keybit.net>
+2011-05-17 20:44  Sandro Santilli <strk at kbt.io>
 
-	* [r3369] Distribute cmake build scripts. Fixes bug #441.
+	* [r3369] Makefile.am, capi/Makefile.am, include/Makefile.am,
+	  include/geos/Makefile.am, src/Makefile.am, tests/Makefile.am,
+	  tests/bigtest/Makefile.am, tests/unit/Makefile.am,
+	  tests/xmltester/Makefile.am, tools/Makefile.am: Distribute cmake
+	  build scripts. Fixes bug #441.
 
-2011-05-17 17:04  Sandro Santilli <strk at keybit.net>
+2011-05-17 17:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3368] Remove inlines machinery from MCIndexSnapRounder.
-	  Possibly fixes ticket #222.
+	* [r3368] include/geos/noding/snapround/MCIndexSnapRounder.h,
+	  include/geos/noding/snapround/MCIndexSnapRounder.inl,
+	  include/geos/noding/snapround/Makefile.am, src/inlines.cpp:
+	  Remove inlines machinery from MCIndexSnapRounder. Possibly fixes
+	  ticket #222.
 
-2011-05-17 16:50  Sandro Santilli <strk at keybit.net>
+2011-05-17 16:50  Sandro Santilli <strk at kbt.io>
 
-	* [r3367] Remove disabled code and old logs. No functional change.
+	* [r3367] include/geos/geom/Coordinate.h,
+	  include/geos/geom/Coordinate.inl, src/geom/Coordinate.cpp: Remove
+	  disabled code and old logs. No functional change.
 
 2011-05-16 14:17  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3366] Fixed buggy self-assignment in
-	  SineStarFactory::setNumArms
+	* [r3366] include/geos/geom/util/SineStarFactory.h: Fixed buggy
+	  self-assignment in SineStarFactory::setNumArms
 
-2011-05-16 11:46  Sandro Santilli <strk at keybit.net>
+2011-05-16 11:46  Sandro Santilli <strk at kbt.io>
 
-	* [r3365] Quality ::finite and ::isfinite symbols, when available,
-	  into the std:: namespace. Fixes bug #442.
+	* [r3365] include/geos/platform.h.in: Quality ::finite and
+	  ::isfinite symbols, when available, into the std:: namespace.
+	  Fixes bug #442.
 
 2011-05-13 16:22  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3364] GEOS DLL exports are pretty much messed up. The same DLL
-	  declspec is used by both C++ and C DLLs. So, GEOS C DLL cannot
-	  import and link properly against GEOS C++ interface as the
-	  declspec(dllexport) is specified for the GEOS C++ DLL where
-	  declspec(dllimport) is expected. This commit fixes the issue
-	  (temporarily) by linking GEOS C DLL against GEOS C++ static
-	  library.
+	* [r3364] capi/CMakeLists.txt,
+	  tests/unit/capi/GEOSIntersectsTest.cpp: GEOS DLL exports are
+	  pretty much messed up. The same DLL declspec is used by both C++
+	  and C DLLs. So, GEOS C DLL cannot import and link properly
+	  against GEOS C++ interface as the declspec(dllexport) is
+	  specified for the GEOS C++ DLL where declspec(dllimport) is
+	  expected. This commit fixes the issue (temporarily) by linking
+	  GEOS C DLL against GEOS C++ static library.
 
 2011-05-13 16:17  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3363] Added missing DLL decspec for Angle class
+	* [r3363] include/geos/algorithm/Angle.h: Added missing DLL decspec
+	  for Angle class
 
 2011-05-13 15:53  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3362] Removed std::isfinite as possibly non-existing on some
-	  platforms - rather fix platform.h if needed.
+	* [r3362] src/algorithm/RobustDeterminant.cpp: Removed
+	  std::isfinite as possibly non-existing on some platforms - rather
+	  fix platform.h if needed.
 
-2011-05-12 10:11  Sandro Santilli <strk at keybit.net>
+2011-05-12 10:11  Sandro Santilli <strk at kbt.io>
 
-	* [r3361] Add note about #357 fix
+	* [r3361] NEWS: Add note about #357 fix
 
-2011-05-12 09:56  Sandro Santilli <strk at keybit.net>
+2011-05-12 09:56  Sandro Santilli <strk at kbt.io>
 
-	* [r3360] Have RobustDeterminant throw an IllegalArgument if passed
-	  any infinite or nan value. Fixes bug #357. Includes regress test.
+	* [r3360] src/algorithm/RobustDeterminant.cpp,
+	  tests/unit/capi/GEOSIntersectsTest.cpp: Have RobustDeterminant
+	  throw an IllegalArgument if passed any infinite or nan value.
+	  Fixes bug #357. Includes regress test.
 
-2011-05-12 07:39  Sandro Santilli <strk at keybit.net>
+2011-05-12 07:39  Sandro Santilli <strk at kbt.io>
 
-	* [r3359] Add note about the memory usage reduction in prepared
-	  geoms (#342)
+	* [r3359] NEWS: Add note about the memory usage reduction in
+	  prepared geoms (#342)
 
-2011-05-12 07:21  Sandro Santilli <strk at keybit.net>
+2011-05-12 07:21  Sandro Santilli <strk at kbt.io>
 
-	* [r3358] Reserve vector space, use ::size_type for vector indices.
+	* [r3358] src/noding/MCIndexSegmentSetMutualIntersector.cpp:
+	  Reserve vector space, use ::size_type for vector indices.
 
-2011-05-12 07:18  Sandro Santilli <strk at keybit.net>
+2011-05-12 07:18  Sandro Santilli <strk at kbt.io>
 
-	* [r3357] Don't let MCIndexSegmentSetMutualIntersector grow in
-	  memory on every new ::process call. Fixes bug #342.
+	* [r3357] include/geos/noding/MCIndexSegmentSetMutualIntersector.h,
+	  src/noding/MCIndexSegmentSetMutualIntersector.cpp: Don't let
+	  MCIndexSegmentSetMutualIntersector grow in memory on every new
+	  ::process call. Fixes bug #342.
 
-2011-05-12 07:14  Sandro Santilli <strk at keybit.net>
+2011-05-12 07:14  Sandro Santilli <strk at kbt.io>
 
-	* [r3356] Port info for MonotoneChainBuilder
+	* [r3356] include/geos/index/chain/MonotoneChainBuilder.h,
+	  src/index/chain/MonotoneChainBuilder.cpp: Port info for
+	  MonotoneChainBuilder
 
-2011-05-12 06:20  Sandro Santilli <strk at keybit.net>
+2011-05-12 06:20  Sandro Santilli <strk at kbt.io>
 
-	* [r3355] Fix a memory leak in
-	  PreparedLineStringIntersects::isAnyPointInRing
+	* [r3355] src/geom/prep/PreparedLineStringIntersects.cpp: Fix a
+	  memory leak in PreparedLineStringIntersects::isAnyPointInRing
 
-2011-05-12 06:16  Sandro Santilli <strk at keybit.net>
+2011-05-12 06:16  Sandro Santilli <strk at kbt.io>
 
-	* [r3354] Drop commented out code
+	* [r3354] src/geom/prep/PreparedLineString.cpp: Drop commented out
+	  code
 
-2011-05-12 06:13  Sandro Santilli <strk at keybit.net>
+2011-05-12 06:13  Sandro Santilli <strk at kbt.io>
 
-	* [r3353] Port info for PreparedLineStringIntersects, and avoid
-	  polluting the global namespace
+	* [r3353] include/geos/geom/prep/PreparedLineStringIntersects.h,
+	  src/geom/prep/PreparedLineStringIntersects.cpp: Port info for
+	  PreparedLineStringIntersects, and avoid polluting the global
+	  namespace
 
-2011-05-12 06:10  Sandro Santilli <strk at keybit.net>
+2011-05-12 06:10  Sandro Santilli <strk at kbt.io>
 
-	* [r3352] Reduce heap allocations in
-	  AbstractPreparedPolygonContains
+	* [r3352] include/geos/geom/prep/AbstractPreparedPolygonContains.h,
+	  src/geom/prep/AbstractPreparedPolygonContains.cpp: Reduce heap
+	  allocations in AbstractPreparedPolygonContains
 
-2011-05-11 17:59  Sandro Santilli <strk at keybit.net>
+2011-05-11 17:59  Sandro Santilli <strk at kbt.io>
 
-	* [r3351] Port info for FastSegmentSetIntersectionFinder
+	* [r3351] include/geos/noding/FastSegmentSetIntersectionFinder.h,
+	  src/noding/FastSegmentSetIntersectionFinder.cpp: Port info for
+	  FastSegmentSetIntersectionFinder
 
-2011-05-11 17:59  Sandro Santilli <strk at keybit.net>
+2011-05-11 17:59  Sandro Santilli <strk at kbt.io>
 
-	* [r3350] Port info for MCIndexSegmentSetMutualIntersector
+	* [r3350] include/geos/noding/MCIndexSegmentSetMutualIntersector.h,
+	  src/noding/MCIndexSegmentSetMutualIntersector.cpp: Port info for
+	  MCIndexSegmentSetMutualIntersector
 
-2011-05-11 17:25  Sandro Santilli <strk at keybit.net>
+2011-05-11 17:25  Sandro Santilli <strk at kbt.io>
 
-	* [r3349] Import test for bug #342. It is not automated as it's not
-	  general (requires bash)
+	* [r3349] configure.in, tests/perf/Makefile.am, tests/perf/capi,
+	  tests/perf/capi/Makefile.am, tests/perf/capi/memleak_mp_prep.c,
+	  tests/perf/capi/memleak_mp_prep.sh: Import test for bug #342. It
+	  is not automated as it's not general (requires bash)
 
-2011-05-11 10:00  Sandro Santilli <strk at keybit.net>
+2011-05-11 10:00  Sandro Santilli <strk at kbt.io>
 
-	* [r3348] Producing a bzip2 tarball is easier than described
+	* [r3348] HOWTO_RELEASE: Producing a bzip2 tarball is easier than
+	  described
 
-2011-05-11 09:54  Sandro Santilli <strk at keybit.net>
+2011-05-11 09:54  Sandro Santilli <strk at kbt.io>
 
-	* [r3346] Updated for 3.0.0rc1 release
+	* [r3346] ChangeLog, NEWS: Updated for 3.0.0rc1 release
 
-2011-05-11 09:48  Sandro Santilli <strk at keybit.net>
+2011-05-11 09:48  Sandro Santilli <strk at kbt.io>
 
-	* [r3345] Add Geometry.offsetCurve to PHP binding
+	* [r3345] php/geos.c, php/test/test.php: Add Geometry.offsetCurve
+	  to PHP binding
 
-2011-05-11 09:47  Sandro Santilli <strk at keybit.net>
+2011-05-11 09:47  Sandro Santilli <strk at kbt.io>
 
-	* [r3344] Add single-sided buffering support in PHP binding
+	* [r3344] php/geos.c, php/test/test.php: Add single-sided buffering
+	  support in PHP binding
 
-2011-05-11 09:15  Sandro Santilli <strk at keybit.net>
+2011-05-11 09:15  Sandro Santilli <strk at kbt.io>
 
-	* [r3343] Set version to 3.0.0rc1
+	* [r3343] configure.in: Set version to 3.0.0rc1
 
-2011-05-10 18:10  Sandro Santilli <strk at keybit.net>
+2011-05-10 18:10  Sandro Santilli <strk at kbt.io>
 
-	* [r3342] Have GEOSOffsetCurve return LINESTRING EMPTY for
-	  collapsing lines (right offset on right-turning curve can do
-	  that). Regress test one such case, taken from
-	  http://trac.osgeo.org/postgis/ticket/413.
+	* [r3342] src/operation/buffer/BufferBuilder.cpp,
+	  tests/unit/capi/GEOSOffsetCurveTest.cpp: Have GEOSOffsetCurve
+	  return LINESTRING EMPTY for collapsing lines (right offset on
+	  right-turning curve can do that). Regress test one such case,
+	  taken from http://trac.osgeo.org/postgis/ticket/413.
 
-2011-05-10 11:11  Sandro Santilli <strk at keybit.net>
+2011-05-10 11:11  Sandro Santilli <strk at kbt.io>
 
-	* [r3341] Add test for 357 (doesn't succeed at failing)
+	* [r3341] tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSIntersectsTest.cpp: Add test for 357 (doesn't
+	  succeed at failing)
 
-2011-05-10 09:51  Sandro Santilli <strk at keybit.net>
+2011-05-10 09:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3340] Revert "Use long double to compute edge distance."
-	  (r3334). Simple double in HCoordinate made #350 pass anyway.
+	* [r3340] include/geos/algorithm/LineIntersector.h,
+	  include/geos/geomgraph/EdgeIntersection.h,
+	  include/geos/geomgraph/EdgeIntersectionList.h,
+	  src/algorithm/LineIntersector.cpp, src/geomgraph/Edge.cpp,
+	  src/geomgraph/EdgeIntersectionList.cpp: Revert "Use long double
+	  to compute edge distance." (r3334). Simple double in HCoordinate
+	  made #350 pass anyway.
 
-2011-05-10 09:51  Sandro Santilli <strk at keybit.net>
+2011-05-10 09:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3339] Drop STORE_INTERMEDIATE_COMPUTATION_VALUES macro and
-	  protected non-unrolled computation, that is all paranoia aimed at
-	  making floats stored to match java IEEE. Since we get no failures
-	  in testsuite (our and postgis') I think it makes sense to have
-	  the code as close as possible to the JTS one.
+	* [r3339] src/algorithm/HCoordinate.cpp: Drop
+	  STORE_INTERMEDIATE_COMPUTATION_VALUES macro and protected
+	  non-unrolled computation, that is all paranoia aimed at making
+	  floats stored to match java IEEE. Since we get no failures in
+	  testsuite (our and postgis') I think it makes sense to have the
+	  code as close as possible to the JTS one.
 
-2011-05-10 09:50  Sandro Santilli <strk at keybit.net>
+2011-05-10 09:50  Sandro Santilli <strk at kbt.io>
 
-	* [r3338] Update port info
+	* [r3338] include/geos/algorithm/HCoordinate.h,
+	  src/algorithm/HCoordinate.cpp: Update port info
 
-2011-05-10 09:50  Sandro Santilli <strk at keybit.net>
+2011-05-10 09:50  Sandro Santilli <strk at kbt.io>
 
-	* [r3337] Expect the same results given by JTS
+	* [r3337] tests/xmltester/tests/ticket/bug350.xml,
+	  tests/xmltester/tests/ticket/bug398.xml: Expect the same results
+	  given by JTS
 
-2011-05-10 09:50  Sandro Santilli <strk at keybit.net>
+2011-05-10 09:50  Sandro Santilli <strk at kbt.io>
 
-	* [r3336] Bring hcoordinate back to double precision (from long
-	  double)
+	* [r3336] include/geos/algorithm/HCoordinate.h,
+	  src/algorithm/HCoordinate.cpp: Bring hcoordinate back to double
+	  precision (from long double)
 
-2011-05-09 11:57  Sandro Santilli <strk at keybit.net>
+2011-05-09 11:57  Sandro Santilli <strk at kbt.io>
 
-	* [r3335] Automate test for bug350, change the expected result to
-	  match the one obtained by GEOS. It is not _exactly_ the same
-	  output obtained with JTS but close enough. Unfortunately both
-	  GEOS and JTS use an exact match for comparison so we won't be
-	  able to share this test.
+	* [r3335] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug350.xml: Automate test for
+	  bug350, change the expected result to match the one obtained by
+	  GEOS. It is not _exactly_ the same output obtained with JTS but
+	  close enough. Unfortunately both GEOS and JTS use an exact match
+	  for comparison so we won't be able to share this test.
 
-2011-05-09 11:57  Sandro Santilli <strk at keybit.net>
+2011-05-09 11:57  Sandro Santilli <strk at kbt.io>
 
-	* [r3334] Use long double to compute edge distance. Makes noding
-	  more robust, fixes bug #350.
+	* [r3334] include/geos/algorithm/LineIntersector.h,
+	  include/geos/geomgraph/EdgeIntersection.h,
+	  include/geos/geomgraph/EdgeIntersectionList.h,
+	  src/algorithm/LineIntersector.cpp, src/geomgraph/Edge.cpp,
+	  src/geomgraph/EdgeIntersectionList.cpp: Use long double to
+	  compute edge distance. Makes noding more robust, fixes bug #350.
 
-2011-05-06 18:51  Sandro Santilli <strk at keybit.net>
+2011-05-06 18:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3333] Turn EdgeIntersection into a concrete, fully-inlined, C++
-	  class.
+	* [r3333] include/geos/geomgraph/EdgeIntersection.h,
+	  src/geomgraph/EdgeIntersection.cpp, src/geomgraph/Makefile.am:
+	  Turn EdgeIntersection into a concrete, fully-inlined, C++ class.
 
-2011-05-06 18:51  Sandro Santilli <strk at keybit.net>
+2011-05-06 18:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3332] Describe MonotoneChain
+	* [r3332] include/geos/geomgraph/index/MonotoneChain.h: Describe
+	  MonotoneChain
 
-2011-05-06 18:51  Sandro Santilli <strk at keybit.net>
+2011-05-06 18:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3331] Make output operators for Edge, EdgeIntersection and
-	  EdgeIntersectionList closer to JTS, for easier comparison
+	* [r3331] src/geomgraph/Edge.cpp,
+	  src/geomgraph/EdgeIntersection.cpp,
+	  src/geomgraph/EdgeIntersectionList.cpp: Make output operators for
+	  Edge, EdgeIntersection and EdgeIntersectionList closer to JTS,
+	  for easier comparison
 
-2011-05-06 18:51  Sandro Santilli <strk at keybit.net>
+2011-05-06 18:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3330] Output operator for EdgeIntersection and
-	  EdgeIntersectionList
+	* [r3330] include/geos/geomgraph/EdgeIntersection.h,
+	  include/geos/geomgraph/EdgeIntersectionList.h,
+	  src/geomgraph/EdgeIntersection.cpp,
+	  src/geomgraph/EdgeIntersectionList.cpp: Output operator for
+	  EdgeIntersection and EdgeIntersectionList
 
-2011-05-06 18:51  Sandro Santilli <strk at keybit.net>
+2011-05-06 18:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3329] Drop book keeping of segment intersectors, as we're
-	  transferring their ownership to caller anyway
+	* [r3329] include/geos/geomgraph/GeometryGraph.h,
+	  src/geomgraph/GeometryGraph.cpp: Drop book keeping of segment
+	  intersectors, as we're transferring their ownership to caller
+	  anyway
 
-2011-05-06 08:57  Sandro Santilli <strk at keybit.net>
+2011-05-06 08:57  Sandro Santilli <strk at kbt.io>
 
-	* [r3328] Re-add also the original data in test for bug350, so
-	  nothing gets lost.
+	* [r3328] tests/xmltester/tests/ticket/bug350.xml: Re-add also the
+	  original data in test for bug350, so nothing gets lost.
 
-2011-05-06 08:57  Sandro Santilli <strk at keybit.net>
+2011-05-06 08:57  Sandro Santilli <strk at kbt.io>
 
-	* [r3327] Use logical (not bitwise) AND, use dynamic_cast to map
-	  JTS's instanceof operator
+	* [r3327] src/geomgraph/GeometryGraph.cpp: Use logical (not
+	  bitwise) AND, use dynamic_cast to map JTS's instanceof operator
 
-2011-05-06 08:57  Sandro Santilli <strk at keybit.net>
+2011-05-06 08:57  Sandro Santilli <strk at kbt.io>
 
-	* [r3326] Modify test for bug350 so to use pre-snapped geometries.
-	  Shows that the problem is not in snapping code, but after that
-	  (ie: JTS succeeds at fist shot on this new input)
+	* [r3326] tests/xmltester/tests/ticket/bug350.xml: Modify test for
+	  bug350 so to use pre-snapped geometries. Shows that the problem
+	  is not in snapping code, but after that (ie: JTS succeeds at fist
+	  shot on this new input)
 
-2011-05-04 17:45  Sandro Santilli <strk at keybit.net>
+2011-05-04 17:45  Sandro Santilli <strk at kbt.io>
 
-	* [r3325] Fix regression accidentally introduced by commit r3322
-	  (Sean's). Add automated test for it (was found trough PostGIS
-	  regression test)
+	* [r3325] src/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  tests/unit/capi/GEOSPreparedGeometryTest.cpp: Fix regression
+	  accidentally introduced by commit r3322 (Sean's). Add automated
+	  test for it (was found trough PostGIS regression test)
 
-2011-05-04 16:30  Sandro Santilli <strk at keybit.net>
+2011-05-04 16:30  Sandro Santilli <strk at kbt.io>
 
-	* [r3324] Drop useless and unavailable include
+	* [r3324] src/operation/buffer/OffsetCurveBuilder.cpp: Drop useless
+	  and unavailable include
 
 2011-05-03 02:30  Sean Gillies <sgillies at frii.com>
 
-	* [r3323] Damn these tabs
+	* [r3323] src/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  src/geom/prep/PreparedPolygon.cpp: Damn these tabs
 
 2011-05-03 02:27  Sean Gillies <sgillies at frii.com>
 
-	* [r3322] Add missing prepared geometry predicates to C API (#436)
+	* [r3322] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  src/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  src/geom/prep/PreparedPolygon.cpp: Add missing prepared geometry
+	  predicates to C API (#436)
 
-2011-04-28 16:39  Sandro Santilli <strk at keybit.net>
+2011-04-28 16:39  Sandro Santilli <strk at kbt.io>
 
-	* [r3321] Improve performance of RectangleIntersects (of one order
-	  of magnitude).
+	* [r3321] .gitignore, NEWS,
+	  include/geos/operation/predicate/RectangleIntersects.h,
+	  include/geos/operation/predicate/SegmentIntersectionTester.h,
+	  src/operation/predicate/RectangleIntersects.cpp,
+	  src/operation/predicate/SegmentIntersectionTester.cpp: Improve
+	  performance of RectangleIntersects (of one order of magnitude).
 
-2011-04-28 16:38  Sandro Santilli <strk at keybit.net>
+2011-04-28 16:38  Sandro Santilli <strk at kbt.io>
 
-	* [r3320] More concise output from performance tester
+	* [r3320]
+	  tests/perf/operation/predicate/RectangleIntersectsPerfTest.cpp:
+	  More concise output from performance tester
 
-2011-04-28 15:09  Sandro Santilli <strk at keybit.net>
+2011-04-28 15:09  Sandro Santilli <strk at kbt.io>
 
-	* [r3319] Hush uncontrolled debugging prints
+	* [r3319] src/noding/ScaledNoder.cpp,
+	  src/operation/buffer/BufferOp.cpp: Hush uncontrolled debugging
+	  prints
 
-2011-04-28 15:08  Sandro Santilli <strk at keybit.net>
+2011-04-28 15:08  Sandro Santilli <strk at kbt.io>
 
-	* [r3318] Plug leak on exception in RelateComputer (exposed by
-	  running doc/example)
+	* [r3318] include/geos/operation/relate/RelateComputer.h,
+	  src/operation/relate/RelateComputer.cpp: Plug leak on exception
+	  in RelateComputer (exposed by running doc/example)
 
-2011-04-28 15:08  Sandro Santilli <strk at keybit.net>
+2011-04-28 15:08  Sandro Santilli <strk at kbt.io>
 
-	* [r3317] Do not leak on exception during relational geometry
-	  predicates
+	* [r3317] src/geom/Geometry.cpp: Do not leak on exception during
+	  relational geometry predicates
 
-2011-04-28 14:16  Sandro Santilli <strk at keybit.net>
+2011-04-28 14:16  Sandro Santilli <strk at kbt.io>
 
-	* [r3316] Port RectangleIntersects performance test from JTS-1.12
+	* [r3316] configure.in, tests/perf/operation/Makefile.am,
+	  tests/perf/operation/predicate,
+	  tests/perf/operation/predicate/Makefile.am,
+	  tests/perf/operation/predicate/RectangleIntersectsPerfTest.cpp:
+	  Port RectangleIntersects performance test from JTS-1.12
 
-2011-04-28 14:16  Sandro Santilli <strk at keybit.net>
+2011-04-28 14:16  Sandro Santilli <strk at kbt.io>
 
-	* [r3315] Do not leak memory during rectangle intersects predicate
+	* [r3315] src/operation/predicate/RectangleIntersects.cpp: Do not
+	  leak memory during rectangle intersects predicate
 
-2011-04-28 14:16  Sandro Santilli <strk at keybit.net>
+2011-04-28 14:16  Sandro Santilli <strk at kbt.io>
 
-	* [r3314] Drop unneeded include
+	* [r3314] src/operation/overlay/OverlayOp.cpp: Drop unneeded
+	  include
 
-2011-04-28 10:04  Sandro Santilli <strk at keybit.net>
+2011-04-28 10:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3313] Port geos::geom::util::SineStarFactory from JTS-1.12,
-	  useful for profile-test RectangleIntersects.
+	* [r3313] doc/example.cpp, include/geos/geom/util/Makefile.am,
+	  include/geos/geom/util/SineStarFactory.h,
+	  include/geos/util/GeometricShapeFactory.h,
+	  src/geom/util/Makefile.am, src/geom/util/SineStarFactory.cpp,
+	  src/util/GeometricShapeFactory.cpp: Port
+	  geos::geom::util::SineStarFactory from JTS-1.12, useful for
+	  profile-test RectangleIntersects.
 
-2011-04-28 10:04  Sandro Santilli <strk at keybit.net>
+2011-04-28 10:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3312] Trim old embedded history log (from CVS times)
+	* [r3312] src/geomgraph/EdgeIntersectionList.cpp,
+	  src/geomgraph/NodeMap.cpp, src/operation/valid/IsValidOp.cpp:
+	  Trim old embedded history log (from CVS times)
 
-2011-04-27 16:42  Sandro Santilli <strk at keybit.net>
+2011-04-27 16:42  Sandro Santilli <strk at kbt.io>
 
-	* [r3311] Improve speed of Geometry.getArea, unit-test it.
+	* [r3311] include/geos/algorithm/CGAlgorithms.h,
+	  src/algorithm/CGAlgorithms.cpp, tests/unit/Makefile.am,
+	  tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp: Improve
+	  speed of Geometry.getArea, unit-test it.
 
-2011-04-27 15:52  Sandro Santilli <strk at keybit.net>
+2011-04-27 15:52  Sandro Santilli <strk at kbt.io>
 
-	* [r3310] Match full class names, not partial. Allow specifying a
-	  package name.
+	* [r3310] tools/findclassfiles: Match full class names, not
+	  partial. Allow specifying a package name.
 
-2011-04-27 15:47  Sandro Santilli <strk at keybit.net>
+2011-04-27 15:47  Sandro Santilli <strk at kbt.io>
 
-	* [r3309] Sync linemerge package to JTS-1.12 (nothing changed)
+	* [r3309] include/geos/operation/linemerge/EdgeString.h,
+	  include/geos/operation/linemerge/LineMergeDirectedEdge.h,
+	  include/geos/operation/linemerge/LineMergeEdge.h,
+	  include/geos/operation/linemerge/LineMergeGraph.h,
+	  include/geos/operation/linemerge/LineMerger.h,
+	  include/geos/operation/linemerge/LineSequencer.h,
+	  src/operation/linemerge/EdgeString.cpp,
+	  src/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  src/operation/linemerge/LineMergeEdge.cpp,
+	  src/operation/linemerge/LineMergeGraph.cpp,
+	  src/operation/linemerge/LineMerger.cpp,
+	  src/operation/linemerge/LineSequencer.cpp: Sync linemerge package
+	  to JTS-1.12 (nothing changed)
 
-2011-04-27 15:33  Sandro Santilli <strk at keybit.net>
+2011-04-27 15:33  Sandro Santilli <strk at kbt.io>
 
-	* [r3308] Utility script to help with editing all files of a class
+	* [r3308] tools/findclassfiles: Utility script to help with editing
+	  all files of a class
 
-2011-04-27 15:18  Sandro Santilli <strk at keybit.net>
+2011-04-27 15:18  Sandro Santilli <strk at kbt.io>
 
-	* [r3307] Sync Angle class to JTS-1.12, port unit testing for it.
+	* [r3307] include/geos/algorithm/Angle.h, src/algorithm/Angle.cpp,
+	  tests/unit/Makefile.am, tests/unit/algorithm/AngleTest.cpp: Sync
+	  Angle class to JTS-1.12, port unit testing for it.
 
-2011-04-27 14:13  Sandro Santilli <strk at keybit.net>
+2011-04-27 14:13  Sandro Santilli <strk at kbt.io>
 
-	* [r3306] Add test for singlesided buffer (areal). Fix premature
-	  exit from OffsetCurveSetBuilder.
+	* [r3306] include/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  src/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  tests/unit/capi/GEOSBufferTest.cpp: Add test for singlesided
+	  buffer (areal). Fix premature exit from OffsetCurveSetBuilder.
 
-2011-04-27 13:38  Sandro Santilli <strk at keybit.net>
+2011-04-27 13:38  Sandro Santilli <strk at kbt.io>
 
-	* [r3305] Drop one argument from GEOSOffsetCurve. Tell right/left
-	  from width/distance sign (<0 for right side)
+	* [r3305] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  tests/unit/capi/GEOSOffsetCurveTest.cpp: Drop one argument from
+	  GEOSOffsetCurve. Tell right/left from width/distance sign (<0 for
+	  right side)
 
-2011-04-27 13:06  Sandro Santilli <strk at keybit.net>
+2011-04-27 13:06  Sandro Santilli <strk at kbt.io>
 
-	* [r3304] Put OffsetCurveTest in its own file (old singleside test
-	  + a couple more tests)
+	* [r3304] tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSBufferTest.cpp,
+	  tests/unit/capi/GEOSOffsetCurveTest.cpp: Put OffsetCurveTest in
+	  its own file (old singleside test + a couple more tests)
 
-2011-04-27 13:06  Sandro Santilli <strk at keybit.net>
+2011-04-27 13:06  Sandro Santilli <strk at kbt.io>
 
-	* [r3303] Add GEOSBufferParams type and GEOSBufferWithParams
-	  function to have an extensible buffer operation. Allows areal
-	  single sided buffer.
+	* [r3303] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp: Add GEOSBufferParams type and
+	  GEOSBufferWithParams function to have an extensible buffer
+	  operation. Allows areal single sided buffer.
 
-2011-04-27 11:13  Sandro Santilli <strk at keybit.net>
+2011-04-27 11:13  Sandro Santilli <strk at kbt.io>
 
-	* [r3302] Add GEOSOffsetCurve C-API interface deprecating
-	  GEOSSingleSidedBuffer
+	* [r3302] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp: Add GEOSOffsetCurve C-API interface
+	  deprecating GEOSSingleSidedBuffer
 
-2011-04-27 09:42  Sandro Santilli <strk at keybit.net>
+2011-04-27 09:42  Sandro Santilli <strk at kbt.io>
 
-	* [r3301] Refactored offset curve generation (from JTS-1.12)
+	* [r3301] include/geos/operation/buffer/BufferBuilder.h,
+	  include/geos/operation/buffer/BufferSubgraph.h,
+	  include/geos/operation/buffer/Makefile.am,
+	  include/geos/operation/buffer/OffsetCurveBuilder.h,
+	  include/geos/operation/buffer/OffsetCurveVertexList.h,
+	  include/geos/operation/buffer/OffsetSegmentGenerator.h,
+	  include/geos/operation/buffer/OffsetSegmentString.h,
+	  src/operation/buffer/BufferBuilder.cpp,
+	  src/operation/buffer/BufferSubgraph.cpp,
+	  src/operation/buffer/Makefile.am,
+	  src/operation/buffer/OffsetCurveBuilder.cpp,
+	  src/operation/buffer/OffsetSegmentGenerator.cpp: Refactored
+	  offset curve generation (from JTS-1.12)
 
-2011-04-27 09:42  Sandro Santilli <strk at keybit.net>
+2011-04-27 09:42  Sandro Santilli <strk at kbt.io>
 
-	* [r3300] Sync BufferParameters class to JTS r378 (isSingleSided
-	  property)
+	* [r3300] include/geos/operation/buffer/BufferParameters.h,
+	  src/operation/buffer/BufferParameters.cpp: Sync BufferParameters
+	  class to JTS r378 (isSingleSided property)
 
-2011-04-27 09:42  Sandro Santilli <strk at keybit.net>
+2011-04-27 09:42  Sandro Santilli <strk at kbt.io>
 
-	* [r3299] Sync BufferOp class to JTS r378. Do not port the unused
-	  isSingleSided property.
+	* [r3299] include/geos/operation/buffer/BufferOp.h,
+	  src/operation/buffer/BufferOp.cpp: Sync BufferOp class to JTS
+	  r378. Do not port the unused isSingleSided property.
 
-2011-04-23 10:30  Sandro Santilli <strk at keybit.net>
+2011-04-23 10:30  Sandro Santilli <strk at kbt.io>
 
-	* [r3298] Add note about GEOSCascadedUnion deprecation
+	* [r3298] NEWS: Add note about GEOSCascadedUnion deprecation
 
-2011-04-23 10:28  Sandro Santilli <strk at keybit.net>
+2011-04-23 10:28  Sandro Santilli <strk at kbt.io>
 
-	* [r3297] Mark GEOSUnionCascaded as deprecated, GEOSUnaryUnion does
-	  the same thing w/out refusin to deal with lines, points,
-	  collections
+	* [r3297] capi/geos_c.h.in: Mark GEOSUnionCascaded as deprecated,
+	  GEOSUnaryUnion does the same thing w/out refusin to deal with
+	  lines, points, collections
 
-2011-04-23 10:03  Sandro Santilli <strk at keybit.net>
+2011-04-23 10:03  Sandro Santilli <strk at kbt.io>
 
-	* [r3296] Generalize CascadedPolygonUnion into a CascadedUnion. Use
-	  the generalized class for unary union of lines, fixing bug #392.
-	  Automate testing of it, tweak expected results from other tests
-	  (output components reordered).
+	* [r3296] include/geos/operation/union/CascadedUnion.h,
+	  include/geos/operation/union/Makefile.am, php/test/test.php,
+	  src/operation/union/CascadedUnion.cpp,
+	  src/operation/union/Makefile.am,
+	  src/operation/union/UnaryUnionOp.cpp,
+	  tests/unit/capi/GEOSUnaryUnionTest.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug392.xml: Generalize
+	  CascadedPolygonUnion into a CascadedUnion. Use the generalized
+	  class for unary union of lines, fixing bug #392. Automate testing
+	  of it, tweak expected results from other tests (output components
+	  reordered).
 
-2011-04-22 22:26  Sandro Santilli <strk at keybit.net>
+2011-04-22 22:26  Sandro Santilli <strk at kbt.io>
 
-	* [r3295] Use equals() to compare expected/obtained results of
-	  "Union" operation. This matches JTS and prevents being too strict
-	  about equality.
+	* [r3295] tests/xmltester/XMLTester.cpp: Use equals() to compare
+	  expected/obtained results of "Union" operation. This matches JTS
+	  and prevents being too strict about equality.
 
-2011-04-22 18:46  Sandro Santilli <strk at keybit.net>
+2011-04-22 18:46  Sandro Santilli <strk at kbt.io>
 
-	* [r3294] Put GeometryListHolder in its own header file.
+	* [r3294] include/geos/operation/union/CascadedPolygonUnion.h,
+	  include/geos/operation/union/GeometryListHolder.h,
+	  include/geos/operation/union/Makefile.am: Put GeometryListHolder
+	  in its own header file.
 
-2011-04-22 13:51  Sandro Santilli <strk at keybit.net>
+2011-04-22 13:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3293] Use stringstream to format strings rather than
-	  printf-like statements. Simplifies things a lot.
+	* [r3293] include/geos/io/WKTWriter.h, src/io/WKTWriter.cpp,
+	  tests/unit/io/WKTWriterTest.cpp: Use stringstream to format
+	  strings rather than printf-like statements. Simplifies things a
+	  lot.
 
-2011-04-22 13:04  Sandro Santilli <strk at keybit.net>
+2011-04-22 13:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3292] Sync PrecisionModel to JTS-1.12, add unit testing, fix
+	* [r3292] include/geos/geom/PrecisionModel.h,
+	  include/geos/geom/PrecisionModel.inl,
+	  src/geom/PrecisionModel.cpp, tests/unit/Makefile.am,
+	  tests/unit/geom/PrecisionModelTest.cpp,
+	  tests/unit/io/WKTReaderTest.cpp, tests/unit/io/WKTWriterTest.cpp:
+	  Sync PrecisionModel to JTS-1.12, add unit testing, fix
 	  getMaximumPrecisionDigit to behave as documented (JTS doesn't).
 
-2011-04-20 17:13  Sandro Santilli <strk at keybit.net>
+2011-04-20 17:13  Sandro Santilli <strk at kbt.io>
 
-	* [r3291] Sync OffsetCurveSetBuilder::isErodedCompletely
-	  implementation to JTS, fixing bug #434
+	* [r3291] include/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  src/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/ticket/bug434.xml: Sync
+	  OffsetCurveSetBuilder::isErodedCompletely implementation to JTS,
+	  fixing bug #434
 
-2011-04-20 15:55  Sandro Santilli <strk at keybit.net>
+2011-04-20 15:55  Sandro Santilli <strk at kbt.io>
 
-	* [r3290] Move per-ticket testcases under their own directory
+	* [r3290] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/bug176.xml,
+	  tests/xmltester/tests/bug188.xml,
+	  tests/xmltester/tests/bug244.xml,
+	  tests/xmltester/tests/bug275.xml,
+	  tests/xmltester/tests/bug344.xml,
+	  tests/xmltester/tests/bug350.xml,
+	  tests/xmltester/tests/bug356.xml,
+	  tests/xmltester/tests/bug358.xml,
+	  tests/xmltester/tests/bug360.xml,
+	  tests/xmltester/tests/bug366.xml,
+	  tests/xmltester/tests/bug398.xml, tests/xmltester/tests/ticket,
+	  tests/xmltester/tests/ticket/bug176.xml,
+	  tests/xmltester/tests/ticket/bug188.xml,
+	  tests/xmltester/tests/ticket/bug244.xml,
+	  tests/xmltester/tests/ticket/bug275.xml,
+	  tests/xmltester/tests/ticket/bug344.xml,
+	  tests/xmltester/tests/ticket/bug350.xml,
+	  tests/xmltester/tests/ticket/bug356.xml,
+	  tests/xmltester/tests/ticket/bug358.xml,
+	  tests/xmltester/tests/ticket/bug360.xml,
+	  tests/xmltester/tests/ticket/bug366.xml,
+	  tests/xmltester/tests/ticket/bug398.xml: Move per-ticket
+	  testcases under their own directory
 
-2011-04-20 15:42  Sandro Santilli <strk at keybit.net>
+2011-04-20 15:42  Sandro Santilli <strk at kbt.io>
 
-	* [r3289] Set JTS port version to 1.12
+	* [r3289] configure.in: Set JTS port version to 1.12
 
-2011-04-19 07:57  Sandro Santilli <strk at keybit.net>
+2011-04-19 07:57  Sandro Santilli <strk at kbt.io>
 
-	* [r3288] Add test for IsCCW against the two almost-collapsed rings
-	  resulting by GEOS or JTS during execution of the union described
-	  in ticket #398. This is done after confirmation of same results
-	  in JTS (1 bit makes the difference between CCW and CW
-	  orientation).
+	* [r3288] tests/unit/algorithm/CGAlgorithms/isCCWTest.cpp: Add test
+	  for IsCCW against the two almost-collapsed rings resulting by
+	  GEOS or JTS during execution of the union described in ticket
+	  #398. This is done after confirmation of same results in JTS (1
+	  bit makes the difference between CCW and CW orientation).
 
-2011-04-18 21:45  Sandro Santilli <strk at keybit.net>
+2011-04-18 21:45  Sandro Santilli <strk at kbt.io>
 
-	* [r3287] Add the actual ->distance() call to the test for bug #367
+	* [r3287] tests/unit/operation/distance/DistanceOpTest.cpp: Add the
+	  actual ->distance() call to the test for bug #367
 
-2011-04-18 21:28  Sandro Santilli <strk at keybit.net>
+2011-04-18 21:28  Sandro Santilli <strk at kbt.io>
 
-	* [r3286] Throw a TopologyException, rather than aborting, when
-	  finding more than a shell in MinimalEdgeRing list. Fixes bug
-	  #398. Enables automated test for it. Note that JTS fails the test
-	  now, triggering the failed assertion.
+	* [r3286] src/operation/overlay/PolygonBuilder.cpp,
+	  tests/xmltester/Makefile.am: Throw a TopologyException, rather
+	  than aborting, when finding more than a shell in MinimalEdgeRing
+	  list. Fixes bug #398. Enables automated test for it. Note that
+	  JTS fails the test now, triggering the failed assertion.
 
-2011-04-18 21:28  Sandro Santilli <strk at keybit.net>
+2011-04-18 21:28  Sandro Santilli <strk at kbt.io>
 
-	* [r3285] Expect a result with/out the collapsed ring in the test
-	  for bug 398. Funny enough, this makes JTS react by failing the
-	  assertion I was tracking...
+	* [r3285] tests/xmltester/tests/bug398.xml: Expect a result
+	  with/out the collapsed ring in the test for bug 398. Funny
+	  enough, this makes JTS react by failing the assertion I was
+	  tracking...
 
-2011-04-18 21:01  Sandro Santilli <strk at keybit.net>
+2011-04-18 21:01  Sandro Santilli <strk at kbt.io>
 
-	* [r3284] Avoid more heap allocations in PolygonBuilder
+	* [r3284] src/operation/overlay/PolygonBuilder.cpp: Avoid more heap
+	  allocations in PolygonBuilder
 
-2011-04-18 15:08  Sandro Santilli <strk at keybit.net>
+2011-04-18 15:08  Sandro Santilli <strk at kbt.io>
 
-	* [r3283] Reduce heap allocations in PolygonBuilder, rewrite some
-	  private interfaces to deal with refs rather than pointers
+	* [r3283] include/geos/operation/overlay/PolygonBuilder.h,
+	  src/operation/overlay/PolygonBuilder.cpp: Reduce heap allocations
+	  in PolygonBuilder, rewrite some private interfaces to deal with
+	  refs rather than pointers
 
-2011-04-18 15:08  Sandro Santilli <strk at keybit.net>
+2011-04-18 15:08  Sandro Santilli <strk at kbt.io>
 
-	* [r3282] Use PlanarGraph::linkResultDirectedEdges rather than
-	  rewriting it inline
+	* [r3282] src/operation/overlay/PolygonBuilder.cpp: Use
+	  PlanarGraph::linkResultDirectedEdges rather than rewriting it
+	  inline
 
-2011-04-18 15:08  Sandro Santilli <strk at keybit.net>
+2011-04-18 15:08  Sandro Santilli <strk at kbt.io>
 
-	* [r3281] Turn PlanarGraph::linkResultDirectedEdges into a
-	  templated method
+	* [r3281] include/geos/geomgraph/PlanarGraph.h,
+	  src/geomgraph/PlanarGraph.cpp: Turn
+	  PlanarGraph::linkResultDirectedEdges into a templated method
 
-2011-04-13 11:52  Sandro Santilli <strk at keybit.net>
+2011-04-13 11:52  Sandro Santilli <strk at kbt.io>
 
-	* [r3280] Add test for bug #435
+	* [r3280] tests/unit/geom/CoordinateArraySequenceTest.cpp: Add test
+	  for bug #435
 
-2011-04-13 11:32  Sandro Santilli <strk at keybit.net>
+2011-04-13 11:32  Sandro Santilli <strk at kbt.io>
 
-	* [r3279] Fix path to CAPI includes for PHP binding
+	* [r3279] php/Makefile.am: Fix path to CAPI includes for PHP
+	  binding
 
-2011-04-13 10:44  Sandro Santilli <strk at keybit.net>
+2011-04-13 10:44  Sandro Santilli <strk at kbt.io>
 
-	* [r3278] Drop coordinate dimension cache after read-write
-	  filtering. Fixes ticket #435.
+	* [r3278] src/geom/CoordinateArraySequence.cpp: Drop coordinate
+	  dimension cache after read-write filtering. Fixes ticket #435.
 
-2011-04-13 08:26  Sandro Santilli <strk at keybit.net>
+2011-04-13 08:26  Sandro Santilli <strk at kbt.io>
 
-	* [r3277] Drop author.sh, add a rule to create authors.git instead
+	* [r3277] .gitignore, Makefile.am, author.sh: Drop author.sh, add a
+	  rule to create authors.git instead
 
-2011-04-13 07:37  Sandro Santilli <strk at keybit.net>
+2011-04-13 07:37  Sandro Santilli <strk at kbt.io>
 
-	* [r3276] Add script to be used with git-svn --authors-prog
+	* [r3276] author.sh: Add script to be used with git-svn
+	  --authors-prog
 
-2011-03-26 14:02  Sandro Santilli <strk at keybit.net>
+2011-03-26 14:02  Sandro Santilli <strk at kbt.io>
 
-	* [r3275] fix missing size_t with gcc 4.6
+	* [r3275] include/geos/simplify/TaggedLineString.h,
+	  src/index/chain/MonotoneChainBuilder.cpp,
+	  src/simplify/DouglasPeuckerLineSimplifier.cpp,
+	  src/simplify/TaggedLineString.cpp,
+	  src/simplify/TaggedLineStringSimplifier.cpp: fix missing size_t
+	  with gcc 4.6
 
-2011-03-26 14:02  Sandro Santilli <strk at keybit.net>
+2011-03-26 14:02  Sandro Santilli <strk at kbt.io>
 
-	* [r3274] fixed missing NULL with gcc 4.6
+	* [r3274] include/geos/index/chain/MonotoneChainBuilder.h,
+	  include/geos/operation/valid/SimpleNestedRingTester.h,
+	  src/index/bintree/Bintree.cpp, src/index/bintree/Node.cpp,
+	  src/index/bintree/Root.cpp, src/index/strtree/AbstractNode.cpp:
+	  fixed missing NULL with gcc 4.6
 
-2011-03-26 14:02  Sandro Santilli <strk at keybit.net>
+2011-03-26 14:02  Sandro Santilli <strk at kbt.io>
 
-	* [r3273] fix uninitialized const caused by missing constructor
+	* [r3273] include/geos/operation/overlay/OverlayNodeFactory.h: fix
+	  uninitialized const caused by missing constructor
 
 2011-03-24 17:54  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3272] Added source_group properties to support source browsers
-	  in various IDEs
+	* [r3272] capi/CMakeLists.txt, include/CMakeLists.txt,
+	  src/CMakeLists.txt: Added source_group properties to support
+	  source browsers in various IDEs
 
-2011-03-16 22:29  Sandro Santilli <strk at keybit.net>
+2011-03-16 22:29  Sandro Santilli <strk at kbt.io>
 
-	* [r3271] Use GEOSVALID flag correctly, thanks Mat for spotting
-	  this.
+	* [r3271] capi/geos_ts_c.cpp: Use GEOSVALID flag correctly, thanks
+	  Mat for spotting this.
 
-2011-03-11 14:40  Sandro Santilli <strk at keybit.net>
+2011-03-11 14:40  Sandro Santilli <strk at kbt.io>
 
-	* [r3270] Add XML test for bug #350
+	* [r3270] tests/xmltester/tests/bug350.xml: Add XML test for bug
+	  #350
 
-2011-03-11 14:24  Sandro Santilli <strk at keybit.net>
+2011-03-11 14:24  Sandro Santilli <strk at kbt.io>
 
-	* [r3269] Add XML test for bug398 (not automatically run, as it
-	  fails)
+	* [r3269] tests/xmltester/tests/bug398.xml: Add XML test for bug398
+	  (not automatically run, as it fails)
 
-2011-03-11 14:24  Sandro Santilli <strk at keybit.net>
+2011-03-11 14:24  Sandro Santilli <strk at kbt.io>
 
-	* [r3268] Tell more about XML loading failures
+	* [r3268] tests/xmltester/XMLTester.cpp: Tell more about XML
+	  loading failures
 
-2011-03-08 09:04  Sandro Santilli <strk at keybit.net>
+2011-03-08 09:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3267] Add test for invalid boundary node rule value
+	* [r3267] tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp: Add
+	  test for invalid boundary node rule value
 
-2011-03-04 17:05  Sandro Santilli <strk at keybit.net>
+2011-03-04 17:05  Sandro Santilli <strk at kbt.io>
 
-	* [r3266] PHP: add relateBoundaryNodeRule method to GEOSGeometry
-	  object
+	* [r3266] php/geos.c, php/test/test.php: PHP: add
+	  relateBoundaryNodeRule method to GEOSGeometry object
 
-2011-03-04 16:38  Sandro Santilli <strk at keybit.net>
+2011-03-04 16:38  Sandro Santilli <strk at kbt.io>
 
-	* [r3265] Add note aboute GEOSRelateBoundaryNodeRule
+	* [r3265] NEWS: Add note aboute GEOSRelateBoundaryNodeRule
 
-2011-03-04 16:31  Sandro Santilli <strk at keybit.net>
+2011-03-04 16:31  Sandro Santilli <strk at kbt.io>
 
-	* [r3264] GEOSRelateBoundaryNodeRule test, ticket #399 [RT-SIGTA]
+	* [r3264] tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:
+	  GEOSRelateBoundaryNodeRule test, ticket #399 [RT-SIGTA]
 
-2011-03-04 16:30  Sandro Santilli <strk at keybit.net>
+2011-03-04 16:30  Sandro Santilli <strk at kbt.io>
 
-	* [r3263] GEOSRelateBoundaryNodeRule, ticket #399 [RT-SIGTA]
+	* [r3263] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp:
+	  GEOSRelateBoundaryNodeRule, ticket #399 [RT-SIGTA]
 
-2011-03-04 16:30  Sandro Santilli <strk at keybit.net>
+2011-03-04 16:30  Sandro Santilli <strk at kbt.io>
 
-	* [r3262] Indenting..
+	* [r3262] include/geos/algorithm/BoundaryNodeRule.h: Indenting..
 
-2011-03-02 13:45  Sandro Santilli <strk at keybit.net>
+2011-03-02 13:45  Sandro Santilli <strk at kbt.io>
 
-	* [r3261] Tweak unit test to expect distance 0 between an empty an
-	  anything else. Report the change in NEWS file.
+	* [r3261] NEWS, tests/unit/operation/distance/DistanceOpTest.cpp:
+	  Tweak unit test to expect distance 0 between an empty an anything
+	  else. Report the change in NEWS file.
 
-2011-03-02 13:45  Sandro Santilli <strk at keybit.net>
+2011-03-02 13:45  Sandro Santilli <strk at kbt.io>
 
-	* [r3260] Add support for "distance" op in XMLTester, and import
-	  JTS TestDistance.xml
+	* [r3260] tests/xmltester/Makefile.am,
+	  tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/tests/general/TestDistance.xml: Add support for
+	  "distance" op in XMLTester, and import JTS TestDistance.xml
 
-2011-03-02 13:45  Sandro Santilli <strk at keybit.net>
+2011-03-02 13:45  Sandro Santilli <strk at kbt.io>
 
-	* [r3259] Fixed Geometry.distance() and DistanceOp to return 0.0
-	  for empty inputs (JTS-1.11)
+	* [r3259] include/geos/operation/distance/DistanceOp.h,
+	  src/operation/distance/DistanceOp.cpp: Fixed Geometry.distance()
+	  and DistanceOp to return 0.0 for empty inputs (JTS-1.11)
 
-2011-03-02 13:13  Sandro Santilli <strk at keybit.net>
+2011-03-02 13:13  Sandro Santilli <strk at kbt.io>
 
-	* [r3258] Sync IsValidOp and related XML testcase to JTS-1.12
+	* [r3258] include/geos/operation/valid/IsValidOp.h,
+	  src/operation/valid/IsValidOp.cpp,
+	  tests/xmltester/tests/general/TestValid.xml: Sync IsValidOp and
+	  related XML testcase to JTS-1.12
 
-2011-03-02 12:46  Sandro Santilli <strk at keybit.net>
+2011-03-02 12:46  Sandro Santilli <strk at kbt.io>
 
-	* [r3257] Added check for illegal state in offsetPoint method
+	* [r3257] NEWS, include/geos/geom/LineSegment.h,
+	  include/geos/geom/LineSegment.inl,
+	  include/geos/util/IllegalStateException.h,
+	  include/geos/util/Makefile.am, src/geom/LineSegment.cpp: Added
+	  check for illegal state in offsetPoint method
 
-2011-03-02 09:24  Sandro Santilli <strk at keybit.net>
+2011-03-02 09:24  Sandro Santilli <strk at kbt.io>
 
-	* [r3256] Fix debug build
+	* [r3256] src/geomgraph/Edge.cpp: Fix debug build
 
 2011-03-01 17:56  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3255] Fix DLL build using Visual C++: *) added missing exports;
-	  *) do not use static data members in inline methods - linker
-	  fails to find definition ; *) Clean up C4251 warning.
+	* [r3255] include/geos/algorithm/BoundaryNodeRule.h,
+	  include/geos/algorithm/CentralEndpointIntersector.h,
+	  include/geos/algorithm/ConvexHull.h,
+	  include/geos/algorithm/distance/DiscreteHausdorffDistance.h,
+	  include/geos/geom/Coordinate.h, include/geos/geom/Coordinate.inl,
+	  include/geos/geom/CoordinateArraySequence.h,
+	  include/geos/geom/CoordinateList.h,
+	  include/geos/geom/CoordinateSequence.h,
+	  include/geos/geom/CoordinateSequenceFilter.h,
+	  include/geos/geom/Envelope.h, include/geos/geom/Geometry.h,
+	  include/geos/geom/GeometryList.h,
+	  include/geos/geom/IntersectionMatrix.h,
+	  include/geos/geom/prep/PreparedGeometry.h,
+	  include/geos/geom/prep/PreparedGeometryFactory.h,
+	  include/geos/geom/util/GeometryExtracter.h,
+	  include/geos/geomgraph/Edge.h,
+	  include/geos/geomgraph/EdgeIntersectionList.h,
+	  include/geos/geomgraph/EdgeNodingValidator.h,
+	  include/geos/geomgraph/EdgeRing.h,
+	  include/geos/geomgraph/GeometryGraph.h,
+	  include/geos/geomgraph/TopologyLocation.h,
+	  include/geos/geomgraph/index/MonotoneChainEdge.h,
+	  include/geos/geomgraph/index/SegmentIntersector.h,
+	  include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h,
+	  include/geos/geomgraph/index/SimpleSweepLineIntersector.h,
+	  include/geos/index/bintree/Bintree.h,
+	  include/geos/index/quadtree/Node.h,
+	  include/geos/index/quadtree/NodeBase.h,
+	  include/geos/index/quadtree/Quadtree.h,
+	  include/geos/index/strtree/AbstractSTRtree.h,
+	  include/geos/index/strtree/STRtree.h,
+	  include/geos/index/sweepline/SweepLineIndex.h,
+	  include/geos/io/StringTokenizer.h, include/geos/io/Writer.h,
+	  include/geos/linearref/LengthIndexedLine.h,
+	  include/geos/noding/BasicSegmentString.h,
+	  include/geos/noding/MCIndexNoder.h,
+	  include/geos/noding/NodableSegmentString.h,
+	  include/geos/noding/NodedSegmentString.h,
+	  include/geos/noding/ScaledNoder.h,
+	  include/geos/noding/SegmentNodeList.h,
+	  include/geos/noding/SegmentPointComparator.h,
+	  include/geos/noding/SegmentString.h,
+	  include/geos/noding/snapround/HotPixel.h,
+	  include/geos/noding/snapround/MCIndexSnapRounder.h,
+	  include/geos/operation/IsSimpleOp.h,
+	  include/geos/operation/buffer/BufferParameters.h,
+	  include/geos/operation/buffer/BufferSubgraph.h,
+	  include/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  include/geos/operation/distance/DistanceOp.h,
+	  include/geos/operation/linemerge/EdgeString.h,
+	  include/geos/operation/linemerge/LineSequencer.h,
+	  include/geos/operation/overlay/ElevationMatrix.h,
+	  include/geos/operation/overlay/ElevationMatrixCell.h,
+	  include/geos/operation/overlay/LineBuilder.h,
+	  include/geos/operation/overlay/PolygonBuilder.h,
+	  include/geos/operation/overlay/snap/SnapOverlayOp.h,
+	  include/geos/operation/overlay/validate/FuzzyPointLocator.h,
+	  include/geos/operation/overlay/validate/OffsetPointGenerator.h,
+	  include/geos/operation/overlay/validate/OverlayResultValidator.h,
+	  include/geos/operation/polygonize/EdgeRing.h,
+	  include/geos/operation/polygonize/PolygonizeGraph.h,
+	  include/geos/operation/polygonize/Polygonizer.h,
+	  include/geos/operation/relate/RelateComputer.h,
+	  include/geos/operation/union/UnaryUnionOp.h,
+	  include/geos/operation/valid/ConnectedInteriorTester.h,
+	  include/geos/operation/valid/QuadtreeNestedRingTester.h,
+	  include/geos/operation/valid/SimpleNestedRingTester.h,
+	  include/geos/operation/valid/SweeplineNestedRingTester.h,
+	  include/geos/planargraph/DirectedEdgeStar.h,
+	  include/geos/planargraph/Edge.h,
+	  include/geos/planargraph/Subgraph.h,
+	  include/geos/precision/CommonBitsOp.h, include/geos/profiler.h,
+	  include/geos/simplify/DouglasPeuckerLineSimplifier.h,
+	  include/geos/simplify/TaggedLineString.h,
+	  include/geos/util/UnsupportedOperationException.h,
+	  src/geom/Coordinate.cpp,
+	  src/operation/buffer/BufferParameters.cpp,
+	  tests/unit/capi/GEOSSharedPathsTest.cpp,
+	  tests/unit/capi/GEOSisValidDetailTest.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/io/ByteOrderValuesTest.cpp,
+	  tests/unit/io/WKBWriterTest.cpp: Fix DLL build using Visual C++:
+	  *) added missing exports; *) do not use static data members in
+	  inline methods - linker fails to find definition ; *) Clean up
+	  C4251 warning.
 
 2011-03-01 17:53  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3254] Check geometry against nullptr
+	* [r3254] src/operation/valid/IsValidOp.cpp: Check geometry against
+	  nullptr
 
 2011-03-01 17:50  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3253] Redefined ENDIAN_BIG and ENDIAN_LITTLE as enumerators
-	  instead of static non-const members - Visual C++ linker has
-	  mysterious problems with exporting them from DLL.
+	* [r3253] include/geos/io/ByteOrderValues.h,
+	  src/io/ByteOrderValues.cpp: Redefined ENDIAN_BIG and
+	  ENDIAN_LITTLE as enumerators instead of static non-const members
+	  - Visual C++ linker has mysterious problems with exporting them
+	  from DLL.
 
-2011-02-28 14:36  Sandro Santilli <strk at keybit.net>
+2011-02-28 14:36  Sandro Santilli <strk at kbt.io>
 
-	* [r3252] Fix BufferOp::bufferFixedPrecision to use snap-rounding
-	  noder. Fixes bug #356.
+	* [r3252] src/operation/buffer/BufferOp.cpp,
+	  tests/xmltester/Makefile.am: Fix BufferOp::bufferFixedPrecision
+	  to use snap-rounding noder. Fixes bug #356.
 
-2011-02-28 12:19  Sandro Santilli <strk at keybit.net>
+2011-02-28 12:19  Sandro Santilli <strk at kbt.io>
 
-	* [r3251] Cleanup debugging output. Previous version didn't really
-	  print the _noded_ output at all.
+	* [r3251] src/operation/buffer/BufferBuilder.cpp: Cleanup debugging
+	  output. Previous version didn't really print the _noded_ output
+	  at all.
 
-2011-02-28 11:43  Sandro Santilli <strk at keybit.net>
+2011-02-28 11:43  Sandro Santilli <strk at kbt.io>
 
-	* [r3250] Expose and test covers/coveredBy to PHP binding
+	* [r3250] NEWS, php/geos.c, php/test/test.php: Expose and test
+	  covers/coveredBy to PHP binding
 
-2011-02-28 11:32  Sandro Santilli <strk at keybit.net>
+2011-02-28 11:32  Sandro Santilli <strk at kbt.io>
 
-	* [r3249] GEOSCovers and GEOSCoveredBy (ticket #396) by Alessandro
-	  Furieri
+	* [r3249] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp:
+	  GEOSCovers and GEOSCoveredBy (ticket #396) by Alessandro Furieri
 
-2011-02-25 16:05  Sandro Santilli <strk at keybit.net>
+2011-02-25 16:05  Sandro Santilli <strk at kbt.io>
 
-	* [r3248] be explicit about quadrant segments
+	* [r3248] tests/xmltester/tests/bug356.xml: be explicit about
+	  quadrant segments
 
-2011-02-25 10:22  Sandro Santilli <strk at keybit.net>
+2011-02-25 10:22  Sandro Santilli <strk at kbt.io>
 
-	* [r3247] Add test for ticket #356 (not run, as it fails)
+	* [r3247] tests/xmltester/tests/bug356.xml: Add test for ticket
+	  #356 (not run, as it fails)
 
-2011-02-23 17:13  Sandro Santilli <strk at keybit.net>
+2011-02-23 17:13  Sandro Santilli <strk at kbt.io>
 
-	* [r3246] JTS-1.12 sync
+	* [r3246] src/operation/buffer/BufferInputLineSimplifier.cpp,
+	  src/operation/buffer/BufferInputLineSimplifier.h: JTS-1.12 sync
 
-2011-02-23 16:46  Sandro Santilli <strk at keybit.net>
+2011-02-23 16:46  Sandro Santilli <strk at kbt.io>
 
-	* [r3245] Update port info
+	* [r3245] include/geos/operation/buffer/BufferBuilder.h,
+	  include/geos/operation/buffer/BufferOp.h,
+	  include/geos/operation/buffer/BufferParameters.h,
+	  include/geos/operation/buffer/BufferSubgraph.h,
+	  include/geos/operation/buffer/OffsetCurveBuilder.h,
+	  include/geos/operation/buffer/OffsetCurveVertexList.h,
+	  include/geos/operation/buffer/RightmostEdgeFinder.h,
+	  include/geos/operation/buffer/SubgraphDepthLocater.h,
+	  src/operation/buffer/BufferBuilder.cpp,
+	  src/operation/buffer/BufferOp.cpp,
+	  src/operation/buffer/BufferParameters.cpp,
+	  src/operation/buffer/BufferSubgraph.cpp,
+	  src/operation/buffer/RightmostEdgeFinder.cpp,
+	  src/operation/buffer/SubgraphDepthLocater.cpp: Update port info
 
-2011-02-23 16:21  Sandro Santilli <strk at keybit.net>
+2011-02-23 16:21  Sandro Santilli <strk at kbt.io>
 
-	* [r3244] Update port info
+	* [r3244] include/geos/operation/buffer/OffsetCurveBuilder.h,
+	  include/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  src/operation/buffer/OffsetCurveBuilder.cpp,
+	  src/operation/buffer/OffsetCurveSetBuilder.cpp: Update port info
 
-2011-02-23 16:21  Sandro Santilli <strk at keybit.net>
+2011-02-23 16:21  Sandro Santilli <strk at kbt.io>
 
-	* [r3243] Fixed buffer OffsetCurveSetBuilder to handle "flat" rings
-	  correctly
+	* [r3243] NEWS, src/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  tests/xmltester/tests/general/TestBuffer.xml: Fixed buffer
+	  OffsetCurveSetBuilder to handle "flat" rings correctly
 
-2011-02-23 15:45  Sandro Santilli <strk at keybit.net>
+2011-02-23 15:45  Sandro Santilli <strk at kbt.io>
 
-	* [r3242] Don't bother adding ring if it is "flat" and will
-	  disappear in the output (from TS r261)
+	* [r3242] include/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  src/operation/buffer/OffsetCurveSetBuilder.cpp: Don't bother
+	  adding ring if it is "flat" and will disappear in the output
+	  (from TS r261)
 
-2011-02-23 15:45  Sandro Santilli <strk at keybit.net>
+2011-02-23 15:45  Sandro Santilli <strk at kbt.io>
 
-	* [r3241] Sync LinearRing to JTS-1.12: empty LinearRing are closed
-	  by definition now
+	* [r3241] NEWS, include/geos/geom/LinearRing.h,
+	  src/geom/LinearRing.cpp, tests/unit/geom/LinearRingTest.cpp: Sync
+	  LinearRing to JTS-1.12: empty LinearRing are closed by definition
+	  now
 
-2011-02-23 14:37  Sandro Santilli <strk at keybit.net>
+2011-02-23 14:37  Sandro Santilli <strk at kbt.io>
 
-	* [r3240] Update port info for MCIndexPointSnapper
+	* [r3240] include/geos/noding/snapround/MCIndexPointSnapper.h,
+	  src/noding/snapround/MCIndexPointSnapper.cpp: Update port info
+	  for MCIndexPointSnapper
 
-2011-02-23 14:37  Sandro Santilli <strk at keybit.net>
+2011-02-23 14:37  Sandro Santilli <strk at kbt.io>
 
-	* [r3239] Update port info for SimpleSnapRounder
+	* [r3239] include/geos/noding/snapround/SimpleSnapRounder.h,
+	  src/noding/snapround/SimpleSnapRounder.cpp: Update port info for
+	  SimpleSnapRounder
 
-2011-02-23 14:37  Sandro Santilli <strk at keybit.net>
+2011-02-23 14:37  Sandro Santilli <strk at kbt.io>
 
-	* [r3238] Update port info for MCIndexSnapRounder (and remove
-	  testing-only check)
+	* [r3238] include/geos/noding/snapround/MCIndexSnapRounder.h,
+	  include/geos/noding/snapround/MCIndexSnapRounder.inl,
+	  src/noding/snapround/MCIndexSnapRounder.cpp: Update port info for
+	  MCIndexSnapRounder (and remove testing-only check)
 
-2011-02-23 14:37  Sandro Santilli <strk at keybit.net>
+2011-02-23 14:37  Sandro Santilli <strk at kbt.io>
 
-	* [r3237] Sync HotPixel to JTS-1.12 (doxygen + privatization of a
-	  method..)
+	* [r3237] include/geos/noding/snapround/HotPixel.h,
+	  include/geos/noding/snapround/HotPixel.inl,
+	  src/noding/snapround/HotPixel.cpp: Sync HotPixel to JTS-1.12
+	  (doxygen + privatization of a method..)
 
-2011-02-23 11:05  Sandro Santilli <strk at keybit.net>
+2011-02-23 11:05  Sandro Santilli <strk at kbt.io>
 
-	* [r3236] Run test for bug366 (succeeds)
+	* [r3236] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/bug366.xml: Run test for bug366 (succeeds)
 
-2011-02-23 10:25  Sandro Santilli <strk at keybit.net>
+2011-02-23 10:25  Sandro Santilli <strk at kbt.io>
 
-	* [r3235] Port JTS unit tests for SegmentPointComparator
+	* [r3235] tests/unit/noding/SegmentPointComparatorTest.cpp: Port
+	  JTS unit tests for SegmentPointComparator
 
-2011-02-23 10:25  Sandro Santilli <strk at keybit.net>
+2011-02-23 10:25  Sandro Santilli <strk at kbt.io>
 
-	* [r3234] Take SegmentPointComparator out of implelmentation file,
-	  to allow for unit-testing.
+	* [r3234] include/geos/noding/Makefile.am,
+	  include/geos/noding/SegmentPointComparator.h,
+	  src/noding/SegmentNode.cpp: Take SegmentPointComparator out of
+	  implelmentation file, to allow for unit-testing.
 
-2011-02-23 09:37  Sandro Santilli <strk at keybit.net>
+2011-02-23 09:37  Sandro Santilli <strk at kbt.io>
 
-	* [r3233] Fix NodedSegmentString to handle zero-length line
-	  segments correctly (via safeOctant)
+	* [r3233] NEWS, include/geos/noding/NodedSegmentString.h,
+	  src/noding/NodedSegmentString.cpp,
+	  tests/unit/noding/NodedSegmentStringTest.cpp: Fix
+	  NodedSegmentString to handle zero-length line segments correctly
+	  (via safeOctant)
 
-2011-02-22 21:22  Sandro Santilli <strk at keybit.net>
+2011-02-22 21:22  Sandro Santilli <strk at kbt.io>
 
-	* [r3232] Export Puntal, Lineal and Polygonal symbols
+	* [r3232] include/geos/geom/Lineal.h,
+	  include/geos/geom/Polygonal.h, include/geos/geom/Puntal.h: Export
+	  Puntal, Lineal and Polygonal symbols
 
-2011-02-22 17:53  Sandro Santilli <strk at keybit.net>
+2011-02-22 17:53  Sandro Santilli <strk at kbt.io>
 
-	* [r3231] Fix linemerge test (wrong initial copy)
+	* [r3231] tests/unit/operation/linemerge/LineMergerTest.cpp: Fix
+	  linemerge test (wrong initial copy)
 
-2011-02-21 17:30  Sandro Santilli <strk at keybit.net>
+2011-02-21 17:30  Sandro Santilli <strk at kbt.io>
 
-	* [r3230] Add LineSequencer unit test, fix memory leaks in the
-	  class.
+	* [r3230] include/geos/operation/linemerge/LineSequencer.h,
+	  src/operation/linemerge/LineSequencer.cpp,
+	  tests/unit/Makefile.am,
+	  tests/unit/operation/linemerge/LineSequencerTest.cpp: Add
+	  LineSequencer unit test, fix memory leaks in the class.
 
-2011-02-21 17:30  Sandro Santilli <strk at keybit.net>
+2011-02-21 17:30  Sandro Santilli <strk at kbt.io>
 
-	* [r3229] Add templated geometry adder to LineSequencer class
+	* [r3229] include/geos/operation/linemerge/LineSequencer.h: Add
+	  templated geometry adder to LineSequencer class
 
-2011-02-21 16:14  Sandro Santilli <strk at keybit.net>
+2011-02-21 16:14  Sandro Santilli <strk at kbt.io>
 
-	* [r3228] Sync linemerge namespace to JTS-1.12 fixing LineMerger to
-	  skip lines with only a single unique coordinate; reduce some heap
-	  allocations; add unit testing for Linemerger
+	* [r3228] NEWS, include/geos/operation/linemerge/EdgeString.h,
+	  include/geos/operation/linemerge/LineMergeEdge.h,
+	  include/geos/operation/linemerge/LineMergeGraph.h,
+	  include/geos/operation/linemerge/LineMerger.h,
+	  src/operation/linemerge/EdgeString.cpp,
+	  src/operation/linemerge/LineMergeEdge.cpp,
+	  src/operation/linemerge/LineMergeGraph.cpp,
+	  src/operation/linemerge/LineMerger.cpp, tests/unit/Makefile.am,
+	  tests/unit/operation/linemerge,
+	  tests/unit/operation/linemerge/LineMergerTest.cpp: Sync linemerge
+	  namespace to JTS-1.12 fixing LineMerger to skip lines with only a
+	  single unique coordinate; reduce some heap allocations; add unit
+	  testing for Linemerger
 
-2011-02-21 16:14  Sandro Santilli <strk at keybit.net>
+2011-02-21 16:14  Sandro Santilli <strk at kbt.io>
 
-	* [r3227] Sync linemerge::LineSequencer to JTS-1.12
+	* [r3227] include/geos/operation/linemerge/LineSequencer.h,
+	  src/operation/linemerge/LineSequencer.cpp: Sync
+	  linemerge::LineSequencer to JTS-1.12
 
-2011-02-21 14:02  Sandro Santilli <strk at keybit.net>
+2011-02-21 14:02  Sandro Santilli <strk at kbt.io>
 
-	* [r3226] Add note about SnapIfNeededOverlayOp change
+	* [r3226] NEWS: Add note about SnapIfNeededOverlayOp change
 
-2011-02-21 14:02  Sandro Santilli <strk at keybit.net>
+2011-02-21 14:02  Sandro Santilli <strk at kbt.io>
 
-	* [r3225] Update port info
+	* [r3225] include/geos/operation/overlay/snap/GeometrySnapper.h,
+	  include/geos/operation/overlay/snap/LineStringSnapper.h,
+	  include/geos/operation/overlay/snap/SnapOverlayOp.h,
+	  src/operation/overlay/snap/GeometrySnapper.cpp,
+	  src/operation/overlay/snap/LineStringSnapper.cpp,
+	  src/operation/overlay/snap/SnapOverlayOp.cpp: Update port info
 
-2011-02-21 12:03  Sandro Santilli <strk at keybit.net>
+2011-02-21 12:03  Sandro Santilli <strk at kbt.io>
 
-	* [r3224] Fix SnapIfNeededOverlayOp to throw the originating
-	  exception, which contains meaningful coordinates, and update port
-	  info.
+	* [r3224]
+	  include/geos/operation/overlay/snap/SnapIfNeededOverlayOp.h,
+	  src/operation/overlay/snap/SnapIfNeededOverlayOp.cpp: Fix
+	  SnapIfNeededOverlayOp to throw the originating exception, which
+	  contains meaningful coordinates, and update port info.
 
 2011-02-18 18:25  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3223] Updated CMake configuration to use libgeos.lib for static
-	  library and geos.lib for import library. Define GEOS_DLL_EXPORT
-	  for GEOS DLL target.
+	* [r3223] capi/CMakeLists.txt, src/CMakeLists.txt: Updated CMake
+	  configuration to use libgeos.lib for static library and geos.lib
+	  for import library. Define GEOS_DLL_EXPORT for GEOS DLL target.
 
 2011-02-15 17:35  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3222] gstrdup may throw since r3088 thus should no longer be
-	  declared as C function
+	* [r3222] capi/geos_ts_c.cpp: gstrdup may throw since r3088 thus
+	  should no longer be declared as C function
 
-2011-02-15 15:24  Sandro Santilli <strk at keybit.net>
+2011-02-15 15:24  Sandro Santilli <strk at kbt.io>
 
-	* [r3221] Allow passing NULL for "reason" and "location" arguments
-	  of GEOSisValidDetail [RT-SIGTA]
+	* [r3221] capi/geos_ts_c.cpp,
+	  tests/unit/capi/GEOSisValidDetailTest.cpp: Allow passing NULL for
+	  "reason" and "location" arguments of GEOSisValidDetail [RT-SIGTA]
 
-2011-02-15 15:15  Sandro Santilli <strk at keybit.net>
+2011-02-15 15:15  Sandro Santilli <strk at kbt.io>
 
-	* [r3220] Adapt PHP binding to the new GEOSisValidDetail interface
+	* [r3220] php/geos.c, php/test/test.php: Adapt PHP binding to the
+	  new GEOSisValidDetail interface
 
-2011-02-15 15:15  Sandro Santilli <strk at keybit.net>
+2011-02-15 15:15  Sandro Santilli <strk at kbt.io>
 
-	* [r3219] Add a 'flags' parameter to GEOSisValidDetail.
+	* [r3219] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSisValidDetailTest.cpp: Add a 'flags'
+	  parameter to GEOSisValidDetail.
 
-2011-02-15 15:14  Sandro Santilli <strk at keybit.net>
+2011-02-15 15:14  Sandro Santilli <strk at kbt.io>
 
-	* [r3218] Make sure php binding are built _before_ the
-	  corresponding test is run
+	* [r3218] php/Makefile.am: Make sure php binding are built _before_
+	  the corresponding test is run
 
-2011-02-13 22:31  Sandro Santilli <strk at keybit.net>
+2011-02-13 22:31  Sandro Santilli <strk at kbt.io>
 
-	* [r3217] Guard againts empty vectors before decrementing .end()
+	* [r3217] src/operation/overlay/snap/LineStringSnapper.cpp: Guard
+	  againts empty vectors before decrementing .end()
 
-2011-02-13 22:30  Sandro Santilli <strk at keybit.net>
+2011-02-13 22:30  Sandro Santilli <strk at kbt.io>
 
-	* [r3216] Add an .empty() interface to CoordinateList
+	* [r3216] include/geos/geom/CoordinateList.h: Add an .empty()
+	  interface to CoordinateList
 
 2011-02-13 21:29  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3215] Added new ./configure option: --enable-glibcxx-debug
-	  which to enable libstdc++ debug mode (see Ticket #395). Added
-	  AC_MSG_CHECKING and AC_MSG_RESULT to existing options.
+	* [r3215] configure.in: Added new ./configure option:
+	  --enable-glibcxx-debug which to enable libstdc++ debug mode (see
+	  Ticket #395). Added AC_MSG_CHECKING and AC_MSG_RESULT to existing
+	  options.
 
 2011-02-13 20:14  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3214] CRLF to LF
+	* [r3214] tests/unit/operation/distance/DistanceOpTest.cpp: CRLF to
+	  LF
 
 2011-02-13 20:14  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3213] Added test case submitted with Ticket #367. No
-	  segmentation fault in distance() method observed under Visual C++
-	  10.0
+	* [r3213] tests/unit/operation/distance/DistanceOpTest.cpp: Added
+	  test case submitted with Ticket #367. No segmentation fault in
+	  distance() method observed under Visual C++ 10.0
 
-2011-02-13 20:03  Sandro Santilli <strk at keybit.net>
+2011-02-13 20:03  Sandro Santilli <strk at kbt.io>
 
-	* [r3212] Always use BinaryOp for overlay operations accessible
-	  from Geometry
+	* [r3212] src/geom/Geometry.cpp: Always use BinaryOp for overlay
+	  operations accessible from Geometry
 
 2011-02-13 19:54  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3211] Explicitly disabled Visual C++ warning C4250 ('class1' :
-	  inherits 'class2::member' via dominance) - it is still unclear if
-	  caused by Visual C++ bug
+	* [r3211] include/geos/geom/MultiLineString.h,
+	  include/geos/geom/MultiPoint.h, include/geos/geom/MultiPolygon.h:
+	  Explicitly disabled Visual C++ warning C4250 ('class1' : inherits
+	  'class2::member' via dominance) - it is still unclear if caused
+	  by Visual C++ bug
 	  https://connect.microsoft.com/VisualStudio/feedback/details/101259/
 	  - safe to disable anyway.
 
 2011-02-13 19:51  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3210] Return unset std::auto_otr from GeometryFactory,
-	  otherwise error condition causes no return
+	* [r3210] include/geos/geom/GeometryFactory.h: Return unset
+	  std::auto_otr from GeometryFactory, otherwise error condition
+	  causes no return
 
 2011-02-13 19:50  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3209] Declare PointGeometryUnion type as non-copyable
+	* [r3209] include/geos/operation/union/PointGeometryUnion.h:
+	  Declare PointGeometryUnion type as non-copyable
 
 2011-02-13 19:25  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3208] Renamed template parameters to more readable CamelCase
-	  and self-descriptive form. Declare Extracter type as
-	  non-copyable. Do not use names starting with underscore - they
-	  are reserved for C++ implementations.
+	* [r3208] include/geos/geom/util/GeometryExtracter.h: Renamed
+	  template parameters to more readable CamelCase and
+	  self-descriptive form. Declare Extracter type as non-copyable. Do
+	  not use names starting with underscore - they are reserved for
+	  C++ implementations.
 
 2011-02-13 19:22  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3207] Fixed missing or ambiguous declarations of
-	  TopologyException (Ticket #394)
+	* [r3207] include/geos/geom/BinaryOp.h: Fixed missing or ambiguous
+	  declarations of TopologyException (Ticket #394)
 
-2011-02-12 08:54  Sandro Santilli <strk at keybit.net>
+2011-02-12 08:54  Sandro Santilli <strk at kbt.io>
 
-	* [r3206] Have Geometry::Union use BinaryOp rather than
-	  SnapIfNeededOverlayOp. Improves robustness (fixes bug #360, test
-	  for which is enabled with this commit)
+	* [r3206] src/geom/Geometry.cpp, tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/bug360.xml: Have Geometry::Union use
+	  BinaryOp rather than SnapIfNeededOverlayOp. Improves robustness
+	  (fixes bug #360, test for which is enabled with this commit)
 
-2011-02-11 15:59  Sandro Santilli <strk at keybit.net>
+2011-02-11 15:59  Sandro Santilli <strk at kbt.io>
 
-	* [r3205] Add description
+	* [r3205] tests/xmltester/tests/bug344.xml: Add description
 
-2011-02-11 10:51  Sandro Santilli <strk at keybit.net>
+2011-02-11 10:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3204] XML version of test for bug #360
+	* [r3204] tests/xmltester/tests/bug360.xml: XML version of test for
+	  bug #360
 
-2011-02-11 10:28  Sandro Santilli <strk at keybit.net>
+2011-02-11 10:28  Sandro Santilli <strk at kbt.io>
 
-	* [r3203] Optimize container->container copy, on Mat's suggestion
+	* [r3203] src/operation/union/PointGeometryUnion.cpp: Optimize
+	  container->container copy, on Mat's suggestion
 
-2011-02-11 09:58  Sandro Santilli <strk at keybit.net>
+2011-02-11 09:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3202] PHP support or UnaryUnion
+	* [r3202] php/geos.c, php/test/test.php: PHP support or UnaryUnion
 
-2011-02-11 09:58  Sandro Santilli <strk at keybit.net>
+2011-02-11 09:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3201] GEOSUnaryUnion C-API interface (and test)
+	* [r3201] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSUnaryUnionTest.cpp: GEOSUnaryUnion C-API
+	  interface (and test)
 
-2011-02-10 21:05  Sandro Santilli <strk at keybit.net>
+2011-02-10 21:05  Sandro Santilli <strk at kbt.io>
 
-	* [r3200] Add support for UnaryUnion testing in XML format, import
-	  the JTS xml test for it
+	* [r3200] tests/xmltester/Makefile.am,
+	  tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/tests/general/TestUnaryUnion.xml: Add support for
+	  UnaryUnion testing in XML format, import the JTS xml test for it
 
-2011-02-10 21:05  Sandro Santilli <strk at keybit.net>
+2011-02-10 21:05  Sandro Santilli <strk at kbt.io>
 
-	* [r3199] Add test exposing the std::copy bug of two commits ago
+	* [r3199] tests/unit/operation/union/UnaryUnionOpTest.cpp: Add test
+	  exposing the std::copy bug of two commits ago
 
-2011-02-10 21:05  Sandro Santilli <strk at keybit.net>
+2011-02-10 21:05  Sandro Santilli <strk at kbt.io>
 
-	* [r3198] Expose unary union trought Geometry.Union()
+	* [r3198] include/geos/geom/Geometry.h, src/geom/Geometry.cpp:
+	  Expose unary union trought Geometry.Union()
 
-2011-02-10 21:05  Sandro Santilli <strk at keybit.net>
+2011-02-10 21:05  Sandro Santilli <strk at kbt.io>
 
-	* [r3197] Can't just std::copy over an empty container. Need a
-	  back_inserter !
+	* [r3197] src/operation/union/PointGeometryUnion.cpp: Can't just
+	  std::copy over an empty container. Need a back_inserter !
 
-2011-02-10 15:51  Sandro Santilli <strk at keybit.net>
+2011-02-10 15:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3196] Add unit test for UnaryUnionOp (and fix interface bug)
+	* [r3196] include/geos/operation/union/UnaryUnionOp.h,
+	  tests/unit/Makefile.am,
+	  tests/unit/operation/union/CascadedPolygonUnionTest.cpp,
+	  tests/unit/operation/union/UnaryUnionOpTest.cpp: Add unit test
+	  for UnaryUnionOp (and fix interface bug)
 
-2011-02-10 14:14  Sandro Santilli <strk at keybit.net>
+2011-02-10 14:14  Sandro Santilli <strk at kbt.io>
 
-	* [r3195] UnaryUnionOp port from JTS-1.12
+	* [r3195] include/geos/operation/union/Makefile.am,
+	  include/geos/operation/union/UnaryUnionOp.h,
+	  src/operation/union/Makefile.am,
+	  src/operation/union/UnaryUnionOp.cpp: UnaryUnionOp port from
+	  JTS-1.12
 
-2011-02-10 14:10  Sandro Santilli <strk at keybit.net>
+2011-02-10 14:10  Sandro Santilli <strk at kbt.io>
 
-	* [r3194] Oops, didn't want to commit this one.
+	* [r3194] tests/unit/operation/union/CascadedPolygonUnionTest.cpp:
+	  Oops, didn't want to commit this one.
 
-2011-02-10 14:05  Sandro Santilli <strk at keybit.net>
+2011-02-10 14:05  Sandro Santilli <strk at kbt.io>
 
-	* [r3193] Fix dynamic cast
+	* [r3193] include/geos/operation/union/CascadedPolygonUnion.h: Fix
+	  dynamic cast
 
-2011-02-10 13:48  Sandro Santilli <strk at keybit.net>
+2011-02-10 13:48  Sandro Santilli <strk at kbt.io>
 
-	* [r3192] Add a template interface to CascadedPolygonUnion to relax
-	  requirements on used container
+	* [r3192] include/geos/operation/union/CascadedPolygonUnion.h,
+	  src/operation/union/CascadedPolygonUnion.cpp,
+	  tests/unit/operation/union/CascadedPolygonUnionTest.cpp: Add a
+	  template interface to CascadedPolygonUnion to relax requirements
+	  on used container
 
-2011-02-10 11:09  Sandro Santilli <strk at keybit.net>
+2011-02-10 11:09  Sandro Santilli <strk at kbt.io>
 
-	* [r3191] Introduce a templated version of
-	  GeometryFactory::buildGeometry, and test it.
+	* [r3191] include/geos/geom/Geometry.h,
+	  include/geos/geom/Geometry.inl,
+	  include/geos/geom/GeometryFactory.h,
+	  include/geos/geom/Makefile.am, src/geom/Geometry.cpp,
+	  src/inlines.cpp, tests/unit/geom/GeometryFactoryTest.cpp:
+	  Introduce a templated version of GeometryFactory::buildGeometry,
+	  and test it.
 
-2011-02-10 11:09  Sandro Santilli <strk at keybit.net>
+2011-02-10 11:09  Sandro Santilli <strk at kbt.io>
 
-	* [r3190] Include required GeometryFactory header (it's used)
+	* [r3190] src/operation/sharedpaths/SharedPathsOp.cpp: Include
+	  required GeometryFactory header (it's used)
 
-2011-02-07 17:52  Sandro Santilli <strk at keybit.net>
+2011-02-07 17:52  Sandro Santilli <strk at kbt.io>
 
-	* [r3189] Port GeometryExtracter from JTS-1.12
+	* [r3189] include/geos/geom/util/GeometryExtracter.h,
+	  include/geos/geom/util/Makefile.am, tests/unit/Makefile.am,
+	  tests/unit/geom/util,
+	  tests/unit/geom/util/GeometryExtracterTest.cpp: Port
+	  GeometryExtracter from JTS-1.12
 
-2011-02-07 17:00  Sandro Santilli <strk at keybit.net>
+2011-02-07 17:00  Sandro Santilli <strk at kbt.io>
 
-	* [r3188] Fix casts
+	* [r3188] src/operation/union/PointGeometryUnion.cpp: Fix casts
 
-2011-02-07 15:41  Sandro Santilli <strk at keybit.net>
+2011-02-07 15:41  Sandro Santilli <strk at kbt.io>
 
-	* [r3187] PointGeometryUnion port
+	* [r3187] include/geos/operation/union/Makefile.am,
+	  include/geos/operation/union/PointGeometryUnion.h,
+	  src/operation/union/Makefile.am,
+	  src/operation/union/PointGeometryUnion.cpp: PointGeometryUnion
+	  port
 
-2011-02-07 15:39  Sandro Santilli <strk at keybit.net>
+2011-02-07 15:39  Sandro Santilli <strk at kbt.io>
 
-	* [r3186] Include definition of base class
+	* [r3186] include/geos/geom/Lineal.h,
+	  include/geos/geom/Polygonal.h, include/geos/geom/Puntal.h:
+	  Include definition of base class
 
-2011-02-07 15:39  Sandro Santilli <strk at keybit.net>
+2011-02-07 15:39  Sandro Santilli <strk at kbt.io>
 
-	* [r3185] Turn Puntal, Lineal and Polygonal into Geometry
-	  derivates. This commit introduces virtual inheritance and 3
-	  diamonds.
+	* [r3185] NEWS, include/geos/geom/GeometryCollection.h,
+	  include/geos/geom/LineString.h, include/geos/geom/Lineal.h,
+	  include/geos/geom/MultiLineString.inl,
+	  include/geos/geom/MultiPoint.h,
+	  include/geos/geom/MultiPolygon.inl, include/geos/geom/Point.h,
+	  include/geos/geom/Polygon.h, include/geos/geom/Polygonal.h,
+	  include/geos/geom/Puntal.h, src/geom/LinearRing.cpp,
+	  src/geom/MultiLineString.cpp, src/geom/MultiPoint.cpp,
+	  src/geom/MultiPolygon.cpp: Turn Puntal, Lineal and Polygonal into
+	  Geometry derivates. This commit introduces virtual inheritance
+	  and 3 diamonds.
 
-2011-02-04 12:27  Sandro Santilli <strk at keybit.net>
+2011-02-04 12:27  Sandro Santilli <strk at kbt.io>
 
-	* [r3184] dynamic_cast Polygon to Geometry before converting to
-	  void pointer. This is safer, altought the whole void pointer use
+	* [r3184] src/operation/union/CascadedPolygonUnion.cpp:
+	  dynamic_cast Polygon to Geometry before converting to void
+	  pointer. This is safer, altought the whole void pointer use
 	  should be dropped for real safety.
 
-2011-02-04 12:26  Sandro Santilli <strk at keybit.net>
+2011-02-04 12:26  Sandro Santilli <strk at kbt.io>
 
-	* [r3183] Avoid useless reinterpret_cast
+	* [r3183] include/geos/index/strtree/AbstractSTRtree.h: Avoid
+	  useless reinterpret_cast
 
-2011-02-04 10:12  Sandro Santilli <strk at keybit.net>
+2011-02-04 10:12  Sandro Santilli <strk at kbt.io>
 
-	* [r3182] Even more static casts drops
+	* [r3182] src/algorithm/MinimumDiameter.cpp, src/geom/Geometry.cpp,
+	  src/geom/Polygon.cpp,
+	  src/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  src/geom/prep/PreparedPolygon.cpp,
+	  src/geom/util/GeometryEditor.cpp, src/io/WKTWriter.cpp,
+	  src/operation/overlay/OverlayOp.cpp,
+	  src/operation/union/CascadedPolygonUnion.cpp,
+	  src/operation/valid/ConnectedInteriorTester.cpp,
+	  src/operation/valid/IsValidOp.cpp,
+	  tests/unit/geom/PolygonTest.cpp,
+	  tests/unit/operation/union/CascadedPolygonUnionTest.cpp: Even
+	  more static casts drops
 
-2011-02-04 08:50  Sandro Santilli <strk at keybit.net>
+2011-02-04 08:50  Sandro Santilli <strk at kbt.io>
 
-	* [r3181] Drop more static casts
+	* [r3181] src/geom/GeometryFactory.cpp, src/geom/LineString.cpp,
+	  src/geom/Polygon.cpp, src/geom/util/GeometryEditor.cpp,
+	  src/geom/util/GeometryTransformer.cpp, src/io/WKTWriter.cpp,
+	  src/operation/linemerge/LineSequencer.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/geom/LineStringTest.cpp,
+	  tests/unit/geom/LinearRingTest.cpp,
+	  tests/unit/geom/PolygonTest.cpp: Drop more static casts
 
-2011-02-03 21:50  Sandro Santilli <strk at keybit.net>
+2011-02-03 21:50  Sandro Santilli <strk at kbt.io>
 
-	* [r3180] Don't downcast with static_cast
+	* [r3180] tests/unit/geom/MultiPointTest.cpp,
+	  tests/unit/geom/PointTest.cpp: Don't downcast with static_cast
 
-2011-02-03 19:59  Sandro Santilli <strk at keybit.net>
+2011-02-03 19:59  Sandro Santilli <strk at kbt.io>
 
-	* [r3179] reduce static casts
+	* [r3179] include/geos/geom/util/GeometryEditor.h,
+	  include/geos/geom/util/GeometryTransformer.h,
+	  src/algorithm/CentroidPoint.cpp, src/geom/GeometryCollection.cpp,
+	  src/geom/MultiPolygon.cpp, src/geom/Point.cpp,
+	  src/geom/util/GeometryEditor.cpp,
+	  src/geom/util/GeometryTransformer.cpp,
+	  src/geomgraph/GeometryGraph.cpp, src/io/WKBWriter.cpp,
+	  src/io/WKTWriter.cpp, src/operation/IsSimpleOp.cpp,
+	  src/operation/valid/IsValidOp.cpp,
+	  src/operation/valid/RepeatedPointTester.cpp: reduce static casts
 
-2011-02-03 19:58  Sandro Santilli <strk at keybit.net>
+2011-02-03 19:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3178] provide standard strict weak ordering operator for
-	  Coordinate
+	* [r3178] include/geos/geom/Coordinate.h: provide standard strict
+	  weak ordering operator for Coordinate
 
-2011-02-03 19:58  Sandro Santilli <strk at keybit.net>
+2011-02-03 19:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3177] A step toward better const-correctness in
-	  GeometryCombiner interface
+	* [r3177] include/geos/geom/util/GeometryCombiner.h,
+	  src/geom/util/GeometryCombiner.cpp: A step toward better
+	  const-correctness in GeometryCombiner interface
 
-2011-02-03 19:58  Sandro Santilli <strk at keybit.net>
+2011-02-03 19:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3176] Document ownerhips of GeometryCombiner inputs
+	* [r3176] include/geos/geom/util/GeometryCombiner.h: Document
+	  ownerhips of GeometryCombiner inputs
 
-2011-02-03 08:15  Sandro Santilli <strk at keybit.net>
+2011-02-03 08:15  Sandro Santilli <strk at kbt.io>
 
-	* [r3175] Oops.. fix the newly added interface to create MultiPoint
-	  from a vector of coordinates
+	* [r3175] src/geom/GeometryFactory.cpp: Oops.. fix the newly added
+	  interface to create MultiPoint from a vector of coordinates
 
-2011-02-02 19:24  Sandro Santilli <strk at keybit.net>
+2011-02-02 19:24  Sandro Santilli <strk at kbt.io>
 
-	* [r3174] Check PointLocator sync with JTS-1.12
+	* [r3174] include/geos/algorithm/PointLocator.h,
+	  src/algorithm/PointLocator.cpp: Check PointLocator sync with
+	  JTS-1.12
 
-2011-02-02 19:23  Sandro Santilli <strk at keybit.net>
+2011-02-02 19:23  Sandro Santilli <strk at kbt.io>
 
-	* [r3173] Add interface to create MultiPoint from Coordinate vector
+	* [r3173] include/geos/geom/GeometryFactory.h,
+	  src/geom/GeometryFactory.cpp: Add interface to create MultiPoint
+	  from Coordinate vector
 
-2011-02-02 17:57  Sandro Santilli <strk at keybit.net>
+2011-02-02 17:57  Sandro Santilli <strk at kbt.io>
 
-	* [r3172] Check GeometryCombiner against JTS-1.12
+	* [r3172] include/geos/geom/util/GeometryCombiner.h,
+	  src/geom/util/GeometryCombiner.cpp: Check GeometryCombiner
+	  against JTS-1.12
 
-2011-02-02 17:41  Sandro Santilli <strk at keybit.net>
+2011-02-02 17:41  Sandro Santilli <strk at kbt.io>
 
-	* [r3171] Add Puntal, Lineal and Polygonal "interfaces"
+	* [r3171] include/geos/geom/LineString.h,
+	  include/geos/geom/Lineal.h, include/geos/geom/Makefile.am,
+	  include/geos/geom/MultiLineString.h,
+	  include/geos/geom/MultiLineString.inl,
+	  include/geos/geom/MultiPoint.h, include/geos/geom/MultiPolygon.h,
+	  include/geos/geom/Point.h, include/geos/geom/Polygon.h,
+	  include/geos/geom/Polygonal.h, include/geos/geom/Puntal.h,
+	  src/geom/LineString.cpp, src/geom/MultiLineString.cpp,
+	  src/geom/MultiPoint.cpp, src/geom/MultiPolygon.cpp,
+	  src/geom/Point.cpp, src/geom/Polygon.cpp: Add Puntal, Lineal and
+	  Polygonal "interfaces"
 
-2011-01-27 18:01  Sandro Santilli <strk at keybit.net>
+2011-01-27 18:01  Sandro Santilli <strk at kbt.io>
 
-	* [r3170] Add release date of 3.2.0 (more than an year ago..)
+	* [r3170] NEWS: Add release date of 3.2.0 (more than an year ago..)
 
-2011-01-27 10:16  Sandro Santilli <strk at keybit.net>
+2011-01-27 10:16  Sandro Santilli <strk at kbt.io>
 
-	* [r3169] Don't use is_null on unexistant array elements [#393]
+	* [r3169] php/test/test.php: Don't use is_null on unexistant array
+	  elements [#393]
 
 2011-01-25 23:20  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3168] Added tests/bigtest programs to CMake configuration
+	* [r3168] tests/CMakeLists.txt, tests/bigtest/CMakeLists.txt: Added
+	  tests/bigtest programs to CMake configuration
 
 2011-01-25 23:08  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3167] Updated CMake configuration to call xmltester from
-	  runtime output directory.
+	* [r3167] tests/xmltester/CMakeLists.txt: Updated CMake
+	  configuration to call xmltester from runtime output directory.
 
-2010-12-26 21:20  Sandro Santilli <strk at keybit.net>
+2010-12-26 21:20  Sandro Santilli <strk at kbt.io>
 
-	* [r3166] remove warning in testcase
+	* [r3166] tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:
+	  remove warning in testcase
 
-2010-12-26 20:32  Sandro Santilli <strk at keybit.net>
+2010-12-26 20:32  Sandro Santilli <strk at kbt.io>
 
-	* [r3165] Declare SharedPathsOp class as noncopyable. Hopefully
-	  fixes VC2008 warning. [RT-SIGTA]
+	* [r3165] include/geos/operation/sharedpaths/SharedPathsOp.h:
+	  Declare SharedPathsOp class as noncopyable. Hopefully fixes
+	  VC2008 warning. [RT-SIGTA]
 
-2010-12-24 14:27  Sandro Santilli <strk at keybit.net>
+2010-12-24 14:27  Sandro Santilli <strk at kbt.io>
 
-	* [r3164] Record port info for InteriorPointLine
+	* [r3164] include/geos/algorithm/InteriorPointLine.h,
+	  src/algorithm/InteriorPointLine.cpp: Record port info for
+	  InteriorPointLine
 
-2010-12-22 16:28  Sandro Santilli <strk at keybit.net>
+2010-12-22 16:28  Sandro Santilli <strk at kbt.io>
 
-	* [r3163] Fix computation of shared path direction when path starts
-	  or ends on the first-last point of a closed line. Fixes ticket
-	  #391. Includes automated testing.
+	* [r3163] src/operation/sharedpaths/SharedPathsOp.cpp,
+	  tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp: Fix
+	  computation of shared path direction when path starts or ends on
+	  the first-last point of a closed line. Fixes ticket #391.
+	  Includes automated testing.
 
-2010-12-22 09:42  Sandro Santilli <strk at keybit.net>
+2010-12-22 09:42  Sandro Santilli <strk at kbt.io>
 
-	* [r3162] Expose GEOSRelateMatch to PHP api.
+	* [r3162] .gitignore, php/geos.c, php/test/test.php: Expose
+	  GEOSRelateMatch to PHP api.
 
-2010-12-21 08:55  Sandro Santilli <strk at keybit.net>
+2010-12-21 08:55  Sandro Santilli <strk at kbt.io>
 
-	* [r3161] Add GEOSRelatePatternMatch C-API interface [RT-SIGTA]
+	* [r3161] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSRelatePatternMatchTest.cpp: Add
+	  GEOSRelatePatternMatch C-API interface [RT-SIGTA]
 
-2010-12-20 11:34  Sandro Santilli <strk at keybit.net>
+2010-12-20 11:34  Sandro Santilli <strk at kbt.io>
 
-	* [r3160] MinGW32 fixes by Sandro Furieri
+	* [r3160] include/geos/platform.h.in: MinGW32 fixes by Sandro
+	  Furieri
 
 2010-12-20 11:16  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3159] Updated svn:ignore properties.
+	* [r3159] include/geos/operation/sharedpaths, php, php/test,
+	  src/operation/sharedpaths: Updated svn:ignore properties.
 
-2010-12-06 15:00  Sandro Santilli <strk at keybit.net>
+2010-12-06 15:00  Sandro Santilli <strk at kbt.io>
 
-	* [r3158] typo
+	* [r3158] include/geos/operation/overlay/snap/GeometrySnapper.h:
+	  typo
 
-2010-12-03 17:26  Sandro Santilli <strk at keybit.net>
+2010-12-03 17:26  Sandro Santilli <strk at kbt.io>
 
-	* [r3157] Add test for src-vertex snapping allowance
+	* [r3157]
+	  tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp: Add
+	  test for src-vertex snapping allowance
 
-2010-12-03 14:02  Sandro Santilli <strk at keybit.net>
+2010-12-03 14:02  Sandro Santilli <strk at kbt.io>
 
-	* [r3156] Update copyright
+	* [r3156] include/geos/geom/CoordinateList.h: Update copyright
 
-2010-12-03 13:57  Sandro Santilli <strk at keybit.net>
+2010-12-03 13:57  Sandro Santilli <strk at kbt.io>
 
-	* [r3155] Add method to insert coordinats into a CoordinateList
-	  w/out allowing duplicates (fixes issue #387)
+	* [r3155] include/geos/geom/CoordinateList.h,
+	  tests/unit/geom/CoordinateListTest.cpp: Add method to insert
+	  coordinats into a CoordinateList w/out allowing duplicates (fixes
+	  issue #387)
 
-2010-12-03 10:58  Sandro Santilli <strk at keybit.net>
+2010-12-03 10:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3154] Another test for snapping (empty sequence vs. non-empty
-	  snaps)
+	* [r3154]
+	  tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:
+	  Another test for snapping (empty sequence vs. non-empty snaps)
 
-2010-12-03 10:52  Sandro Santilli <strk at keybit.net>
+2010-12-03 10:52  Sandro Santilli <strk at kbt.io>
 
-	* [r3153] update dox
+	* [r3153] src/operation/overlay/snap/LineStringSnapper.cpp: update
+	  dox
 
-2010-12-03 10:49  Sandro Santilli <strk at keybit.net>
+2010-12-03 10:49  Sandro Santilli <strk at kbt.io>
 
-	* [r3152] Take the allowSnappingToSourceVertices support in
+	* [r3152] include/geos/operation/overlay/snap/LineStringSnapper.h,
+	  src/operation/overlay/snap/LineStringSnapper.cpp: Take the
+	  allowSnappingToSourceVertices support in
 
-2010-12-03 08:36  Sandro Santilli <strk at keybit.net>
+2010-12-03 08:36  Sandro Santilli <strk at kbt.io>
 
-	* [r3151] Add test for GEOSSharedPaths C-API interface
+	* [r3151] tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSSharedPathsTest.cpp: Add test for
+	  GEOSSharedPaths C-API interface
 
-2010-12-02 18:06  Sandro Santilli <strk at keybit.net>
+2010-12-02 18:06  Sandro Santilli <strk at kbt.io>
 
-	* [r3150] Another test, and a leak plug (in the test)
+	* [r3150] tests/unit/capi/GEOSSnapTest.cpp: Another test, and a
+	  leak plug (in the test)
 
-2010-12-02 16:49  Sandro Santilli <strk at keybit.net>
+2010-12-02 16:49  Sandro Santilli <strk at kbt.io>
 
-	* [r3149] Add GEOSSnap item
+	* [r3149] NEWS: Add GEOSSnap item
 
-2010-12-02 16:48  Sandro Santilli <strk at keybit.net>
+2010-12-02 16:48  Sandro Santilli <strk at kbt.io>
 
-	* [r3148] Expose GEOSSnap to PHP interface
+	* [r3148] php/geos.c, php/test/test.php: Expose GEOSSnap to PHP
+	  interface
 
-2010-12-02 16:44  Sandro Santilli <strk at keybit.net>
+2010-12-02 16:44  Sandro Santilli <strk at kbt.io>
 
-	* [r3147] Add test for C-API GEOSSnap interface
+	* [r3147] tests/unit/Makefile.am, tests/unit/capi/GEOSSnapTest.cpp:
+	  Add test for C-API GEOSSnap interface
 
-2010-12-02 15:07  Sandro Santilli <strk at keybit.net>
+2010-12-02 15:07  Sandro Santilli <strk at kbt.io>
 
-	* [r3146] OOps.. this one build
+	* [r3146] capi/geos_c.cpp, capi/geos_ts_c.cpp: OOps.. this one
+	  build
 
-2010-12-02 14:52  Sandro Santilli <strk at keybit.net>
+2010-12-02 14:52  Sandro Santilli <strk at kbt.io>
 
-	* [r3145] Expose snapping to the C-API
+	* [r3145] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp:
+	  Expose snapping to the C-API
 
-2010-12-02 14:29  Sandro Santilli <strk at keybit.net>
+2010-12-02 14:29  Sandro Santilli <strk at kbt.io>
 
-	* [r3144] Allow testing snapping something different from a single
-	  polygon..
+	* [r3144]
+	  tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp: Allow
+	  testing snapping something different from a single polygon..
 
-2010-12-02 14:16  Sandro Santilli <strk at keybit.net>
+2010-12-02 14:16  Sandro Santilli <strk at kbt.io>
 
-	* [r3143] tab to 8 spaces
+	* [r3143]
+	  tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp: tab to
+	  8 spaces
 
-2010-12-02 10:32  Sandro Santilli <strk at keybit.net>
+2010-12-02 10:32  Sandro Santilli <strk at kbt.io>
 
-	* [r3142] Bring LineStringSnapper forward to r309 (JTS-1.11+):
-	  avoid snapping final point of closed rings.
+	* [r3142] include/geos/operation/overlay/snap/LineStringSnapper.h,
+	  src/operation/overlay/snap/LineStringSnapper.cpp,
+	  tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:
+	  Bring LineStringSnapper forward to r309 (JTS-1.11+): avoid
+	  snapping final point of closed rings.
 
-2010-12-02 09:38  Sandro Santilli <strk at keybit.net>
+2010-12-02 09:38  Sandro Santilli <strk at kbt.io>
 
-	* [r3141] update copyright date
+	* [r3141] include/geos/operation/overlay/snap/GeometrySnapper.h,
+	  src/operation/overlay/snap/GeometrySnapper.cpp: update copyright
+	  date
 
-2010-12-02 09:36  Sandro Santilli <strk at keybit.net>
+2010-12-02 09:36  Sandro Santilli <strk at kbt.io>
 
-	* [r3140] Take GeometrySnapper forward to r309 (JTS-1.11+): add
-	  self-snapping
+	* [r3140] include/geos/operation/overlay/snap/GeometrySnapper.h,
+	  src/operation/overlay/snap/GeometrySnapper.cpp: Take
+	  GeometrySnapper forward to r309 (JTS-1.11+): add self-snapping
 
-2010-11-30 08:31  Sandro Santilli <strk at keybit.net>
+2010-11-30 08:31  Sandro Santilli <strk at kbt.io>
 
-	* [r3139] Hope this is the last one... (RT credit tweaks)
+	* [r3139] include/geos/operation/sharedpaths/SharedPathsOp.h,
+	  src/operation/sharedpaths/SharedPathsOp.cpp: Hope this is the
+	  last one... (RT credit tweaks)
 
-2010-11-29 13:45  Sandro Santilli <strk at keybit.net>
+2010-11-29 13:45  Sandro Santilli <strk at kbt.io>
 
-	* [r3138] Full credit line [RT-SIGTA]
+	* [r3138] include/geos/operation/sharedpaths/SharedPathsOp.h,
+	  src/operation/sharedpaths/SharedPathsOp.cpp: Full credit line
+	  [RT-SIGTA]
 
-2010-11-29 11:08  Sandro Santilli <strk at keybit.net>
+2010-11-29 11:08  Sandro Santilli <strk at kbt.io>
 
-	* [r3137] SharedPaths in NEWS [RT-SIGTA]
+	* [r3137] NEWS: SharedPaths in NEWS [RT-SIGTA]
 
-2010-11-29 10:51  Sandro Santilli <strk at keybit.net>
+2010-11-29 10:51  Sandro Santilli <strk at kbt.io>
 
-	* [r3136] Merge branch 'rt'
+	* [r3136] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  php/geos.c, php/test/test.php: Merge branch 'rt'
 
-2010-11-29 09:43  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:43  Sandro Santilli <strk at kbt.io>
 
-	* [r3135] Write RT credit and NEWS itam
+	* [r3135] NEWS, include/geos/operation/sharedpaths/SharedPathsOp.h,
+	  src/operation/sharedpaths/SharedPathsOp.cpp: Write RT credit and
+	  NEWS itam
 
-2010-11-29 09:34  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:34  Sandro Santilli <strk at kbt.io>
 
-	* [r3134] drop unused include
+	* [r3134] src/operation/sharedpaths/SharedPathsOp.cpp: drop unused
+	  include
 
-2010-11-29 09:34  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:34  Sandro Santilli <strk at kbt.io>
 
-	* [r3133] Test equal lines
+	* [r3133] src/operation/sharedpaths/SharedPathsOp.cpp,
+	  tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp: Test
+	  equal lines
 
-2010-11-29 09:34  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:34  Sandro Santilli <strk at kbt.io>
 
-	* [r3132] Have SharedPathsOp throw an exception on illegal
-	  (non-lineal) arg
+	* [r3132] include/geos/operation/sharedpaths/SharedPathsOp.h,
+	  src/operation/sharedpaths/SharedPathsOp.cpp,
+	  tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp: Have
+	  SharedPathsOp throw an exception on illegal (non-lineal) arg
 
-2010-11-29 09:34  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:34  Sandro Santilli <strk at kbt.io>
 
-	* [r3131] Add tests for multiline-multiline both single dir and
-	  mixed dirs
+	* [r3131] tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:
+	  Add tests for multiline-multiline both single dir and mixed dirs
 
-2010-11-29 09:34  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:34  Sandro Santilli <strk at kbt.io>
 
-	* [r3130] Add two tests of mixed direction shared paths
+	* [r3130] tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:
+	  Add two tests of mixed direction shared paths
 
-2010-11-29 09:34  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:34  Sandro Santilli <strk at kbt.io>
 
-	* [r3129] Document that the direction of the returned paths is the
-	  one these paths have on the first geometry given
+	* [r3129] include/geos/operation/sharedpaths/SharedPathsOp.h:
+	  Document that the direction of the returned paths is the one
+	  these paths have on the first geometry given
 
-2010-11-29 09:33  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:33  Sandro Santilli <strk at kbt.io>
 
-	* [r3128] Initial tests for SharedPathsOp
+	* [r3128] tests/unit/Makefile.am, tests/unit/operation/sharedpaths,
+	  tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp: Initial
+	  tests for SharedPathsOp
 
-2010-11-29 09:33  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:33  Sandro Santilli <strk at kbt.io>
 
-	* [r3127] Paths are always LINESTRING types
+	* [r3127] include/geos/operation/sharedpaths/SharedPathsOp.h,
+	  src/operation/sharedpaths/SharedPathsOp.cpp: Paths are always
+	  LINESTRING types
 
-2010-11-29 09:33  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:33  Sandro Santilli <strk at kbt.io>
 
-	* [r3126] forgot aclocal.m4
+	* [r3126] .gitignore: forgot aclocal.m4
 
-2010-11-29 09:33  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:33  Sandro Santilli <strk at kbt.io>
 
-	* [r3125] Complete implementation of SharedPathsOp
+	* [r3125] .vimrc,
+	  include/geos/operation/sharedpaths/SharedPathsOp.h,
+	  src/operation/sharedpaths/SharedPathsOp.cpp: Complete
+	  implementation of SharedPathsOp
 
-2010-11-29 09:33  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:33  Sandro Santilli <strk at kbt.io>
 
-	* [r3124] more ignores
+	* [r3124] .gitignore: more ignores
 
-2010-11-29 09:33  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:33  Sandro Santilli <strk at kbt.io>
 
-	* [r3123] Build sharedpaths lib/namespace
+	* [r3123] configure.in, include/geos/operation/Makefile.am,
+	  include/geos/operation/sharedpaths/Makefile.am,
+	  include/geos/operation/sharedpaths/SharedPathsOp.h,
+	  src/operation/Makefile.am, src/operation/sharedpaths/Makefile.am,
+	  src/operation/sharedpaths/SharedPathsOp.cpp: Build sharedpaths
+	  lib/namespace
 
-2010-11-29 09:32  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:32  Sandro Santilli <strk at kbt.io>
 
-	* [r3122] Add support for 'maintainer mode'
+	* [r3122] configure.in: Add support for 'maintainer mode'
 
-2010-11-29 09:32  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:32  Sandro Santilli <strk at kbt.io>
 
-	* [r3121] ignores
+	* [r3121] .gitignore: ignores
 
-2010-11-29 09:32  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:32  Sandro Santilli <strk at kbt.io>
 
-	* [r3120] Stub SharedPathsOp
+	* [r3120] include/geos/operation/sharedpaths,
+	  include/geos/operation/sharedpaths/SharedPathsOp.h,
+	  src/operation/sharedpaths,
+	  src/operation/sharedpaths/SharedPathsOp.cpp: Stub SharedPathsOp
 
-2010-11-29 09:32  Sandro Santilli <strk at keybit.net>
+2010-11-29 09:32  Sandro Santilli <strk at kbt.io>
 
-	* [r3119] stub tet for SameDirection predicate
+	* [r3119] tests/xmltester/tests/rt,
+	  tests/xmltester/tests/rt/TestSameDirection.xml: stub tet for
+	  SameDirection predicate
 
-2010-11-24 09:00  Sandro Santilli <strk at keybit.net>
+2010-11-24 09:00  Sandro Santilli <strk at kbt.io>
 
-	* [r3118] typo
+	* [r3118] TODO: typo
 
-2010-10-25 15:12  Sandro Santilli <strk at keybit.net>
+2010-10-25 15:12  Sandro Santilli <strk at kbt.io>
 
-	* [r3117] Don't try to configure missing files (fixes bug #382)
+	* [r3117] configure.in: Don't try to configure missing files (fixes
+	  bug #382)
 
 2010-10-15 15:54  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3116] Unified CMAKE_*_OUTPUT_DIRECTOR locations to simplify
-	  tests running and finding all binaries.
+	* [r3116] CMakeLists.txt, tests/unit/CMakeLists.txt: Unified
+	  CMAKE_*_OUTPUT_DIRECTOR locations to simplify tests running and
+	  finding all binaries.
 
 2010-10-15 15:20  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3115] Visual C++ warnings cleanup
+	* [r3115] tests/unit/capi/GEOSGeom_create.cpp,
+	  tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp,
+	  tests/unit/io/WKTReaderTest.cpp: Visual C++ warnings cleanup
 
 2010-10-15 15:19  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3114] Missing DLL storage-class attributes for
-	  GEOSOrientationIndex
+	* [r3114] capi/geos_c.h.in: Missing DLL storage-class attributes
+	  for GEOSOrientationIndex
 
 2010-10-15 14:55  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3113] Cast toupper() result to char
+	* [r3113] src/io/WKTReader.cpp: Cast toupper() result to char
 
 2010-10-15 13:42  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3112] Deprecate Visual Studio projects in trunk/build (#381).
-	  Long live the CMake.
+	* [r3112] Makefile.am, build: Deprecate Visual Studio projects in
+	  trunk/build (#381). Long live the CMake.
 
 2010-10-10 21:36  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3111] Cleaned compiler warnings
+	* [r3111] include/geos/geom/BinaryOp.h: Cleaned compiler warnings
 
 2010-10-10 21:36  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3110] Cleaned compiler warnings
+	* [r3110] capi/geos_ts_c.cpp: Cleaned compiler warnings
 
 2010-10-10 21:28  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3109] Disable inline.obj if GEOS_INLINE defined while building
-	  with Visual C++
+	* [r3109] src/inlines.cpp: Disable inline.obj if GEOS_INLINE
+	  defined while building with Visual C++
 
 2010-10-10 21:15  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3108] Disable argument dependant lookup (Koenig) for min/max
-	  functions to make sure GEOS compiles in the presence of the min
-	  and max macros.
+	* [r3108] src/operation/buffer/BufferBuilder.cpp: Disable argument
+	  dependant lookup (Koenig) for min/max functions to make sure GEOS
+	  compiles in the presence of the min and max macros.
 
 2010-10-10 21:07  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3107] Added NOMINMAX define for Visual C++
+	* [r3107] CMakeLists.txt: Added NOMINMAX define for Visual C++
 
 2010-10-10 20:50  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3106] Do not set CMAKE_BUILD_TYPE for Visual Studio IDE
-	  generators - CMAKE_BUILD_TYPE is dedicated to
+	* [r3106] CMakeLists.txt: Do not set CMAKE_BUILD_TYPE for Visual
+	  Studio IDE generators - CMAKE_BUILD_TYPE is dedicated to
 	  single-configuration generators like Make or NMAKE.
 
 2010-10-10 11:32  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r3105] Updated GEOS_HEADERS location. Thanks to Andrea Peri for
-	  reporting.
+	* [r3105] autogen.bat: Updated GEOS_HEADERS location. Thanks to
+	  Andrea Peri for reporting.
 
-2010-08-27 18:23  Sandro Santilli <strk at keybit.net>
+2010-08-27 18:23  Sandro Santilli <strk at kbt.io>
 
-	* [r3104] Add test for 358 in the loop (now fixed).
+	* [r3104] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/bug358.xml: Add test for 358 in the loop
+	  (now fixed).
 
-2010-08-27 15:58  Sandro Santilli <strk at keybit.net>
+2010-08-27 15:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3103] Drop duplicated testcase
+	* [r3103] tests/xmltester/tests/bug375.xml: Drop duplicated
+	  testcase
 
-2010-08-27 15:55  Sandro Santilli <strk at keybit.net>
+2010-08-27 15:55  Sandro Santilli <strk at kbt.io>
 
-	* [r3102] Check validity of CommonBitsOp return, as JTS does. Check
-	  output validity for all tests, do not run the now-throwing tests
-	  also known to be bogus in JTS.
+	* [r3102] include/geos/geom/BinaryOp.h,
+	  tests/xmltester/Makefile.am: Check validity of CommonBitsOp
+	  return, as JTS does. Check output validity for all tests, do not
+	  run the now-throwing tests also known to be bogus in JTS.
 
-2010-08-27 15:43  Sandro Santilli <strk at keybit.net>
+2010-08-27 15:43  Sandro Santilli <strk at kbt.io>
 
-	* [r3101] Found bug375.xml (==robustness-invalid-output.xml) to be
-	  the same of JTS's failure/TestOverlay.xml, so dropped the
-	  previous 2 and copied over the latter. Won't run that test for
-	  now, so to get in sync with JTS as next step.
+	* [r3101] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/bug358.xml, tests/xmltester/tests/failure,
+	  tests/xmltester/tests/failure/TestOverlay.xml,
+	  tests/xmltester/tests/robustness-invalid-output.xml: Found
+	  bug375.xml (==robustness-invalid-output.xml) to be the same of
+	  JTS's failure/TestOverlay.xml, so dropped the previous 2 and
+	  copied over the latter. Won't run that test for now, so to get in
+	  sync with JTS as next step.
 
-2010-08-27 15:27  Sandro Santilli <strk at keybit.net>
+2010-08-27 15:27  Sandro Santilli <strk at kbt.io>
 
-	* [r3100] Add proper arg1 and arg2 attributes (for JTS support)
+	* [r3100] tests/xmltester/tests/bug375.xml: Add proper arg1 and
+	  arg2 attributes (for JTS support)
 
-2010-08-27 14:13  Sandro Santilli <strk at keybit.net>
+2010-08-27 14:13  Sandro Santilli <strk at kbt.io>
 
-	* [r3099] Add code to check validity of CommonBits removal policy
-	  op (known as EnhancedPreicionOp in JTS). The check can be turned
-	  on at compile time. Currently defaults to off to avoid breaking a
-	  previously-almost-working test (robustness-invalid-output.xml).
-	  It'll need some discussion before going on with this as to
-	  whether we can accept to return invalid geometries or not..
+	* [r3099] include/geos/geom/BinaryOp.h: Add code to check validity
+	  of CommonBits removal policy op (known as EnhancedPreicionOp in
+	  JTS). The check can be turned on at compile time. Currently
+	  defaults to off to avoid breaking a previously-almost-working
+	  test (robustness-invalid-output.xml). It'll need some discussion
+	  before going on with this as to whether we can accept to return
+	  invalid geometries or not..
 
-2010-08-27 13:53  Sandro Santilli <strk at keybit.net>
+2010-08-27 13:53  Sandro Santilli <strk at kbt.io>
 
-	* [r3098] Split tests that trigger invalid outputs from the rest.
+	* [r3098] tests/xmltester/Makefile.am,
+	  tests/xmltester/testrunner.sh, tests/xmltester/tests/bug358.xml,
+	  tests/xmltester/tests/bug375.xml,
+	  tests/xmltester/tests/robustness-invalid-output.xml,
+	  tests/xmltester/tests/robustness.xml,
+	  tests/xmltester/tests/stmlf/stmlf-cases-20061020-invalid-output.xml,
+	  tests/xmltester/tests/stmlf/stmlf-cases-20061020.xml: Split tests
+	  that trigger invalid outputs from the rest.
 	  Test the sane ones with --test-invalid-output and the other ones
 	  with
 	  less strictness. Add (but dont run) tests for bugs 375 and 358
 	  (to
 	  review for correct expected otuput)
 
-2010-08-27 13:00  Sandro Santilli <strk at keybit.net>
+2010-08-27 13:00  Sandro Santilli <strk at kbt.io>
 
-	* [r3097] Have --test-valid-output influence test results
+	* [r3097] tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/XMLTester.h: Have --test-valid-output influence
+	  test results
 
-2010-08-27 10:22  Sandro Santilli <strk at keybit.net>
+2010-08-27 10:22  Sandro Santilli <strk at kbt.io>
 
-	* [r3096] Add note about configuring for php support
+	* [r3096] README: Add note about configuring for php support
 
-2010-08-27 09:04  Sandro Santilli <strk at keybit.net>
+2010-08-27 09:04  Sandro Santilli <strk at kbt.io>
 
-	* [r3095] const-correctness
+	* [r3095] tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/XMLTester.h: const-correctness
 
-2010-08-27 06:17  Sandro Santilli <strk at keybit.net>
+2010-08-27 06:17  Sandro Santilli <strk at kbt.io>
 
-	* [r3094] Have --test-valid-output test actual result, not the
-	  expected one (more useful)
+	* [r3094] tests/xmltester/XMLTester.cpp: Have --test-valid-output
+	  test actual result, not the expected one (more useful)
 
-2010-08-26 23:11  Sandro Santilli <strk at keybit.net>
+2010-08-26 23:11  Sandro Santilli <strk at kbt.io>
 
-	* [r3093] Fix name of the test to match ticket number
+	* [r3093] tests/xmltester/tests/bug334.xml,
+	  tests/xmltester/tests/bug344.xml: Fix name of the test to match
+	  ticket number
 
 2010-08-23 16:37  Stephen Wong <swongu at gmail.com>
 
-	* [r3092] Fixed a filtering distance problem in
-	  bufferLineSingleSided. (#372)
+	* [r3092] src/operation/buffer/BufferBuilder.cpp: Fixed a filtering
+	  distance problem in bufferLineSingleSided. (#372)
 
-2010-08-23 15:10  Sandro Santilli <strk at keybit.net>
+2010-08-23 15:10  Sandro Santilli <strk at kbt.io>
 
-	* [r3091] Add more debugging calls (for bug #358)
+	* [r3091] include/geos/geom/BinaryOp.h: Add more debugging calls
+	  (for bug #358)
 
-2010-08-23 13:38  Sandro Santilli <strk at keybit.net>
+2010-08-23 13:38  Sandro Santilli <strk at kbt.io>
 
-	* [r3090] Snapping heuristic was never really dropping common bits.
-	  Now it does.
+	* [r3090] include/geos/geom/BinaryOp.h: Snapping heuristic was
+	  never really dropping common bits. Now it does.
 	  This is just to have code match documentation, and still passes
 	  'make
 	  check' for GEOS. Wasn't tried against postgis, would be useful to
@@ -3751,417 +8381,485 @@
 
 2010-08-17 18:57  Sean Gillies <sgillies at frii.com>
 
-	* [r3089] Use fully qualified std::runtime_error (#371) and fix
-	  indentation
+	* [r3089] capi/geos_ts_c.cpp: Use fully qualified
+	  std::runtime_error (#371) and fix indentation
 
 2010-08-17 18:33  Sean Gillies <sgillies at frii.com>
 
-	* [r3088] Throw runtime_error if allocation fails in gstrdup_s
+	* [r3088] capi/geos_ts_c.cpp: Throw runtime_error if allocation
+	  fails in gstrdup_s
 
 2010-07-26 22:21  Stephen Wong <swongu at gmail.com>
 
-	* [r3087] Fixed a bufferLineSingleSided crash and fixed OGC
-	  validation on rare cases. (#364)
+	* [r3087] src/operation/buffer/BufferBuilder.cpp,
+	  src/operation/valid/ConnectedInteriorTester.cpp,
+	  src/operation/valid/IsValidOp.cpp,
+	  tests/xmltester/tests/general/TestValid2.xml: Fixed a
+	  bufferLineSingleSided crash and fixed OGC validation on rare
+	  cases. (#364)
 
-2010-07-15 15:54  Sandro Santilli <strk at keybit.net>
+2010-07-15 15:54  Sandro Santilli <strk at kbt.io>
 
-	* [r3086] Updated
+	* [r3086] php/TODO: Updated
 
-2010-07-15 09:15  Sandro Santilli <strk at keybit.net>
+2010-07-15 09:15  Sandro Santilli <strk at kbt.io>
 
-	* [r3085] Add item about the new PHP5 binding
+	* [r3085] NEWS: Add item about the new PHP5 binding
 
-2010-07-15 09:13  Sandro Santilli <strk at keybit.net>
+2010-07-15 09:13  Sandro Santilli <strk at kbt.io>
 
-	* [r3084] PHP: Drop debug lines from serialization code, add test
-	  for
+	* [r3084] php/geos.c, php/test/test.php: PHP: Drop debug lines from
+	  serialization code, add test for
 	  serialization
 
-2010-07-15 09:07  Sandro Santilli <strk at keybit.net>
+2010-07-15 09:07  Sandro Santilli <strk at kbt.io>
 
-	* [r3083] Fix logic bug in phpunit check
+	* [r3083] configure.in: Fix logic bug in phpunit check
 
-2010-07-14 08:38  Sandro Santilli <strk at keybit.net>
+2010-07-14 08:38  Sandro Santilli <strk at kbt.io>
 
-	* [r3082] Serialization/deserialization support for GEOSGeometry
-	  type
+	* [r3082] php/TODO, php/geos.c: Serialization/deserialization
+	  support for GEOSGeometry type
 
-2010-07-13 11:03  Sandro Santilli <strk at keybit.net>
+2010-07-13 11:03  Sandro Santilli <strk at kbt.io>
 
-	* [r3081] Cleanup PHP-specific dependency handling and reporting
+	* [r3081] configure.in, php/test/Makefile.am: Cleanup PHP-specific
+	  dependency handling and reporting
 
-2010-07-08 20:54  Sandro Santilli <strk at keybit.net>
+2010-07-08 20:54  Sandro Santilli <strk at kbt.io>
 
-	* [r3080] Object passed for ownership transfer in the constructor
-	  shouldn't be deleted when construction fails. Fixes bug #361
+	* [r3080] src/geom/Polygon.cpp, tests/unit/io/WKTReaderTest.cpp:
+	  Object passed for ownership transfer in the constructor shouldn't
+	  be deleted when construction fails. Fixes bug #361
 
-2010-07-01 21:49  Sandro Santilli <strk at keybit.net>
+2010-07-01 21:49  Sandro Santilli <strk at kbt.io>
 
-	* [r3079] Note the bugfix in news file
+	* [r3079] NEWS: Note the bugfix in news file
 
-2010-07-01 21:44  Sandro Santilli <strk at keybit.net>
+2010-07-01 21:44  Sandro Santilli <strk at kbt.io>
 
-	* [r3078] Fix PolygonizeGraph::deleteDangles so it doesn't return
-	  duplicated LineStrings, as per JTS design. Fixes the Polygonizer
-	  Bug reported in list. This commit also takes the chance to reduce
+	* [r3078] include/geos/operation/polygonize/EdgeRing.h,
+	  include/geos/operation/polygonize/PolygonizeGraph.h,
+	  include/geos/planargraph/PlanarGraph.h, php/test/test.php,
+	  src/operation/polygonize/EdgeRing.cpp,
+	  src/operation/polygonize/PolygonizeGraph.cpp,
+	  src/planargraph/PlanarGraph.cpp: Fix
+	  PolygonizeGraph::deleteDangles so it doesn't return duplicated
+	  LineStrings, as per JTS design. Fixes the Polygonizer Bug
+	  reported in list. This commit also takes the chance to reduce
 	  some heap allocations.
 
-2010-07-01 20:49  Sandro Santilli <strk at keybit.net>
+2010-07-01 20:49  Sandro Santilli <strk at kbt.io>
 
-	* [r3077] Minor optimizations / strictnesses
+	* [r3077] include/geos/operation/polygonize/EdgeRing.h,
+	  src/operation/polygonize/EdgeRing.cpp: Minor optimizations /
+	  strictnesses
 
-2010-07-01 20:03  Sandro Santilli <strk at keybit.net>
+2010-07-01 20:03  Sandro Santilli <strk at kbt.io>
 
-	* [r3076] Drop useless heap-allocation in Polygonize op
+	* [r3076] include/geos/operation/polygonize/EdgeRing.h,
+	  src/operation/polygonize/EdgeRing.cpp: Drop useless
+	  heap-allocation in Polygonize op
 
 2010-06-24 14:40  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r3075] fix memory leaks
+	* [r3075] tests/unit/capi/GEOSGeomToWKTTest.cpp,
+	  tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp,
+	  tests/unit/geom/PointTest.cpp: fix memory leaks
 
-2010-06-24 14:10  Sandro Santilli <strk at keybit.net>
+2010-06-24 14:10  Sandro Santilli <strk at kbt.io>
 
-	* [r3074] PHP: GEOSWKTWriter::getOutputDimension and test
+	* [r3074] php/geos.c, php/test/test.php: PHP:
+	  GEOSWKTWriter::getOutputDimension and test
 
 2010-06-24 13:58  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r3073] added GEOSWKTWriter_getOutputDimension and test (#354)
+	* [r3073] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  tests/unit/capi/GEOSGeomToWKTTest.cpp: added
+	  GEOSWKTWriter_getOutputDimension and test (#354)
 
-2010-06-24 09:42  Sandro Santilli <strk at keybit.net>
+2010-06-24 09:42  Sandro Santilli <strk at kbt.io>
 
-	* [r3072] Update
+	* [r3072] php/TODO: Update
 
-2010-06-24 09:41  Sandro Santilli <strk at keybit.net>
+2010-06-24 09:41  Sandro Santilli <strk at kbt.io>
 
-	* [r3071] WKBReader: construct and readHEX; improve WKTReader test
-	  to include 'Z' label
+	* [r3071] php/geos.c, php/test/test.php: WKBReader: construct and
+	  readHEX; improve WKTReader test to include 'Z' label
 
-2010-06-24 09:20  Sandro Santilli <strk at keybit.net>
+2010-06-24 09:20  Sandro Santilli <strk at kbt.io>
 
-	* [r3070] WKBWriter::{set,get}IncludeSRID (and test)
+	* [r3070] php/geos.c, php/test/test.php:
+	  WKBWriter::{set,get}IncludeSRID (and test)
 
-2010-06-24 09:07  Sandro Santilli <strk at keybit.net>
+2010-06-24 09:07  Sandro Santilli <strk at kbt.io>
 
-	* [r3069] WKBWriter::{get,set}ByteOrder, improve tests for writeHEX
+	* [r3069] php/geos.c, php/test/test.php:
+	  WKBWriter::{get,set}ByteOrder, improve tests for writeHEX
 
-2010-06-24 09:01  Sandro Santilli <strk at keybit.net>
+2010-06-24 09:01  Sandro Santilli <strk at kbt.io>
 
-	* [r3068] Make WKBWriter::setByteOrder check for argument and throw
-	  IllegalArgumentException when appropriate. Make sure C-API
-	  wrapper catches those.
+	* [r3068] capi/geos_ts_c.cpp, include/geos/io/WKBWriter.h,
+	  src/io/WKBWriter.cpp: Make WKBWriter::setByteOrder check for
+	  argument and throw IllegalArgumentException when appropriate.
+	  Make sure C-API wrapper catches those.
 
-2010-06-24 08:28  Sandro Santilli <strk at keybit.net>
+2010-06-24 08:28  Sandro Santilli <strk at kbt.io>
 
-	* [r3067] PHP: WKBWriter: ctor, getOutputDimension,
-	  setOutputDimension, writeHEX and tests
+	* [r3067] php/geos.c, php/test/test.php: PHP: WKBWriter: ctor,
+	  getOutputDimension, setOutputDimension, writeHEX and tests
 
-2010-06-24 08:27  Sandro Santilli <strk at keybit.net>
+2010-06-24 08:27  Sandro Santilli <strk at kbt.io>
 
-	* [r3066] Properly catch exceptions from
+	* [r3066] capi/geos_ts_c.cpp: Properly catch exceptions from
 	  WKTWriter::setOutputDimension and WKBWriter::setOutputDimension
 
-2010-06-24 08:27  Sandro Santilli <strk at keybit.net>
+2010-06-24 08:27  Sandro Santilli <strk at kbt.io>
 
-	* [r3065] Make WKTWriter::setOutputDimensions check parameter
-	  validity (must be 2 or 3) to be consistent with WKBWriter already
-	  doing so in constructor; make WKBWriter::setOutputDimensions
-	  perform the check as well (like the constructor); Drop virtual
-	  methods from WKTWriter class, which wasn't meant to be a virtual
-	  class (no virtual dtor anyway)
+	* [r3065] include/geos/io/WKBWriter.h, include/geos/io/WKTWriter.h,
+	  src/io/WKBWriter.cpp, src/io/WKTWriter.cpp: Make
+	  WKTWriter::setOutputDimensions check parameter validity (must be
+	  2 or 3) to be consistent with WKBWriter already doing so in
+	  constructor; make WKBWriter::setOutputDimensions perform the
+	  check as well (like the constructor); Drop virtual methods from
+	  WKTWriter class, which wasn't meant to be a virtual class (no
+	  virtual dtor anyway)
 
-2010-06-23 09:48  Sandro Santilli <strk at keybit.net>
+2010-06-23 09:48  Sandro Santilli <strk at kbt.io>
 
-	* [r3064] Log ABI change
+	* [r3064] NEWS: Log ABI change
 
-2010-06-23 09:47  Sandro Santilli <strk at keybit.net>
+2010-06-23 09:47  Sandro Santilli <strk at kbt.io>
 
-	* [r3063] Const-correct Geometry::isWithinDistance. Thanks to Yabo,
-	  see ticket #349
+	* [r3063] include/geos/geom/Geometry.h, src/geom/Geometry.cpp:
+	  Const-correct Geometry::isWithinDistance. Thanks to Yabo, see
+	  ticket #349
 
-2010-06-23 09:31  Sandro Santilli <strk at keybit.net>
+2010-06-23 09:31  Sandro Santilli <strk at kbt.io>
 
-	* [r3062] There's no point for GEOSisValidDetail to take output
+	* [r3062] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  php/geos.c: There's no point for GEOSisValidDetail to take output
 	  parameter as const pointer
 
-2010-06-23 09:23  Sandro Santilli <strk at keybit.net>
+2010-06-23 09:23  Sandro Santilli <strk at kbt.io>
 
-	* [r3061] Fix for 4.4.3 builds, patch by Yabo (see ticket #351)
+	* [r3061] include/geos/operation/buffer/OffsetCurveVertexList.h,
+	  src/geom/CoordinateArraySequence.cpp,
+	  src/geom/GeometryFactory.cpp, src/io/WKTWriter.cpp: Fix for 4.4.3
+	  builds, patch by Yabo (see ticket #351)
 
-2010-06-21 14:31  Sandro Santilli <strk at keybit.net>
+2010-06-21 14:31  Sandro Santilli <strk at kbt.io>
 
-	* [r3060] Switch back to unchecked getGeometryN, getPointN and
-	  getInteriorRingN, check them at the PHP level, for performance
-	  sake in C-land.
+	* [r3060] php/TODO, php/geos.c, src/geom/GeometryCollection.cpp,
+	  src/geom/LineString.cpp, src/geom/Polygon.cpp: Switch back to
+	  unchecked getGeometryN, getPointN and getInteriorRingN, check
+	  them at the PHP level, for performance sake in C-land.
 
-2010-06-21 10:30  Sandro Santilli <strk at keybit.net>
+2010-06-21 10:30  Sandro Santilli <strk at kbt.io>
 
-	* [r3059] Rename getGeometryN to geometryN, for interface
-	  consistency
+	* [r3059] php/TODO, php/geos.c, php/test/test.php: Rename
+	  getGeometryN to geometryN, for interface consistency
 
-2010-06-21 10:21  Sandro Santilli <strk at keybit.net>
+2010-06-21 10:21  Sandro Santilli <strk at kbt.io>
 
-	* [r3058] area, length, distance, hausdorffDistance; fix leaks in
-	  pointN, startPoint and endPoint
+	* [r3058] php/TODO, php/geos.c, php/test/test.php: area, length,
+	  distance, hausdorffDistance; fix leaks in pointN, startPoint and
+	  endPoint
 
-2010-06-21 02:02  Sandro Santilli <strk at keybit.net>
+2010-06-21 02:02  Sandro Santilli <strk at kbt.io>
 
-	* [r3057] startPoint, endPoint
+	* [r3057] php/geos.c, php/test/test.php: startPoint, endPoint
 
-2010-06-21 01:58  Sandro Santilli <strk at keybit.net>
+2010-06-21 01:58  Sandro Santilli <strk at kbt.io>
 
-	* [r3056] pointN
+	* [r3056] php/geos.c, php/test/test.php: pointN
 
-2010-06-21 01:57  Sandro Santilli <strk at keybit.net>
+2010-06-21 01:57  Sandro Santilli <strk at kbt.io>
 
-	* [r3055] LineString::getPointN is part of the API, check before
-	  segfaulting..
+	* [r3055] src/geom/LineString.cpp: LineString::getPointN is part of
+	  the API, check before segfaulting..
 
-2010-06-21 01:49  Sandro Santilli <strk at keybit.net>
+2010-06-21 01:49  Sandro Santilli <strk at kbt.io>
 
-	* [r3054] coordinateDimension()
+	* [r3054] php/geos.c, php/test/test.php: coordinateDimension()
 
-2010-06-21 01:46  Sandro Santilli <strk at keybit.net>
+2010-06-21 01:46  Sandro Santilli <strk at kbt.io>
 
-	* [r3053] dimension() [ spatial ]
+	* [r3053] php/TODO, php/geos.c, php/test/test.php: dimension() [
+	  spatial ]
 
-2010-06-21 01:43  Sandro Santilli <strk at keybit.net>
+2010-06-21 01:43  Sandro Santilli <strk at kbt.io>
 
-	* [r3052] numCoordinates
+	* [r3052] php/geos.c, php/test/test.php: numCoordinates
 
-2010-06-21 01:39  Sandro Santilli <strk at keybit.net>
+2010-06-21 01:39  Sandro Santilli <strk at kbt.io>
 
-	* [r3051] exteriorRing
+	* [r3051] php/geos.c, php/test/test.php: exteriorRing
 
-2010-06-21 01:36  Sandro Santilli <strk at keybit.net>
+2010-06-21 01:36  Sandro Santilli <strk at kbt.io>
 
-	* [r3050] numPoints, getX, getY, interiorRingN
+	* [r3050] php/TODO, php/geos.c, php/test/test.php: numPoints, getX,
+	  getY, interiorRingN
 
-2010-06-21 01:34  Sandro Santilli <strk at keybit.net>
+2010-06-21 01:34  Sandro Santilli <strk at kbt.io>
 
-	* [r3049] Make getInteriorRingN checked (API)
+	* [r3049] src/geom/Polygon.cpp: Make getInteriorRingN checked (API)
 
-2010-06-21 01:05  Sandro Santilli <strk at keybit.net>
+2010-06-21 01:05  Sandro Santilli <strk at kbt.io>
 
-	* [r3048] numInteriorRings
+	* [r3048] php/geos.c, php/test/test.php: numInteriorRings
 
-2010-06-21 00:56  Sandro Santilli <strk at keybit.net>
+2010-06-21 00:56  Sandro Santilli <strk at kbt.io>
 
-	* [r3047] Test null-return from unexistent offset
+	* [r3047] php/test/test.php: Test null-return from unexistent
+	  offset
 
-2010-06-21 00:53  Sandro Santilli <strk at keybit.net>
+2010-06-21 00:53  Sandro Santilli <strk at kbt.io>
 
-	* [r3046] Geometry::getGeometryN is an API function, so make it
-	  safe/checked
+	* [r3046] src/geom/GeometryCollection.cpp: Geometry::getGeometryN
+	  is an API function, so make it safe/checked
 
-2010-06-21 00:44  Sandro Santilli <strk at keybit.net>
+2010-06-21 00:44  Sandro Santilli <strk at kbt.io>
 
-	* [r3045] getGeometryN
+	* [r3045] php/geos.c, php/test/test.php: getGeometryN
 
-2010-06-21 00:06  Sandro Santilli <strk at keybit.net>
+2010-06-21 00:06  Sandro Santilli <strk at kbt.io>
 
-	* [r3044] Test numGeometries
+	* [r3044] php/test/test.php: Test numGeometries
 
-2010-06-21 00:01  Sandro Santilli <strk at keybit.net>
+2010-06-21 00:01  Sandro Santilli <strk at kbt.io>
 
-	* [r3043] getSRID, setSRID
+	* [r3043] php/geos.c, php/test/test.php: getSRID, setSRID
 
-2010-06-20 23:53  Sandro Santilli <strk at keybit.net>
+2010-06-20 23:53  Sandro Santilli <strk at kbt.io>
 
-	* [r3042] typeName, typeId
+	* [r3042] php/geos.c, php/test/test.php: typeName, typeId
 
-2010-06-20 23:40  Sandro Santilli <strk at keybit.net>
+2010-06-20 23:40  Sandro Santilli <strk at kbt.io>
 
-	* [r3041] Geometry type constants
+	* [r3041] php/geos.c, php/test/test.php: Geometry type constants
 
-2010-06-20 23:35  Sandro Santilli <strk at keybit.net>
+2010-06-20 23:35  Sandro Santilli <strk at kbt.io>
 
-	* [r3040] isSimple, isRing, hasZ, isClosed
+	* [r3040] php/geos.c, php/test/test.php: isSimple, isRing, hasZ,
+	  isClosed
 
-2010-06-20 22:59  Sandro Santilli <strk at keybit.net>
+2010-06-20 22:59  Sandro Santilli <strk at kbt.io>
 
-	* [r3039] checkValidity (isValid in disguise)
+	* [r3039] php/geos.c, php/test/test.php: checkValidity (isValid in
+	  disguise)
 
-2010-06-20 21:10  Sandro Santilli <strk at keybit.net>
+2010-06-20 21:10  Sandro Santilli <strk at kbt.io>
 
-	* [r3038] isEmpty
+	* [r3038] php/TODO, php/geos.c, php/test/test.php: isEmpty
 
-2010-06-20 21:00  Sandro Santilli <strk at keybit.net>
+2010-06-20 21:00  Sandro Santilli <strk at kbt.io>
 
-	* [r3037] Relational operators + equalsExact
+	* [r3037] php/geos.c, php/test/test.php: Relational operators +
+	  equalsExact
 
-2010-06-20 19:05  Sandro Santilli <strk at keybit.net>
+2010-06-20 19:05  Sandro Santilli <strk at kbt.io>
 
-	* [r3036] Simplify (also topology-preserving), ExtractUniquePoints
+	* [r3036] php/geos.c, php/test/test.php: Simplify (also
+	  topology-preserving), ExtractUniquePoints
 
-2010-06-20 17:00  Sandro Santilli <strk at keybit.net>
+2010-06-20 17:00  Sandro Santilli <strk at kbt.io>
 
-	* [r3035] GEOSLineMerge
+	* [r3035] php/geos.c, php/test/Makefile.am, php/test/test.php:
+	  GEOSLineMerge
 
-2010-06-20 09:13  Sandro Santilli <strk at keybit.net>
+2010-06-20 09:13  Sandro Santilli <strk at kbt.io>
 
-	* [r3034] Make GEOSPolygonize a free function rather than a method
-	  on GEOSGeometry. This is to allow extending it to accept
-	  differnet kind of args, like arrays of GEOSGeometry for example..
+	* [r3034] php/geos.c, php/test/test.php: Make GEOSPolygonize a free
+	  function rather than a method on GEOSGeometry. This is to allow
+	  extending it to accept differnet kind of args, like arrays of
+	  GEOSGeometry for example..
 
-2010-06-20 09:02  Sandro Santilli <strk at keybit.net>
+2010-06-20 09:02  Sandro Santilli <strk at kbt.io>
 
-	* [r3033] Add serialize/unserialize TODO item
+	* [r3033] php/TODO: Add serialize/unserialize TODO item
 
-2010-06-20 08:50  Sandro Santilli <strk at keybit.net>
+2010-06-20 08:50  Sandro Santilli <strk at kbt.io>
 
-	* [r3032] Geometry.__toString for easier debuggin
+	* [r3032] php/TODO, php/geos.c: Geometry.__toString for easier
+	  debuggin
 
-2010-06-20 08:32  Sandro Santilli <strk at keybit.net>
+2010-06-20 08:32  Sandro Santilli <strk at kbt.io>
 
-	* [r3031] Polygonize (testing need further review for a possible
-	  bug in core lib)
+	* [r3031] php/TODO, php/geos.c, php/test/test.php: Polygonize
+	  (testing need further review for a possible bug in core lib)
 
-2010-06-19 21:38  Sandro Santilli <strk at keybit.net>
+2010-06-19 21:38  Sandro Santilli <strk at kbt.io>
 
-	* [r3030] Use the "T" char for IM9 pattern sometime (for fun and
-	  proof)
+	* [r3030] php/test/test.php: Use the "T" char for IM9 pattern
+	  sometime (for fun and proof)
 
-2010-06-19 21:36  Sandro Santilli <strk at keybit.net>
+2010-06-19 21:36  Sandro Santilli <strk at kbt.io>
 
-	* [r3029] relate, relatePattern
+	* [r3029] php/geos.c, php/test/test.php: relate, relatePattern
 
-2010-06-19 18:27  Sandro Santilli <strk at keybit.net>
+2010-06-19 18:27  Sandro Santilli <strk at kbt.io>
 
-	* [r3028] Geometry->{pointOnSurface,centroid}
+	* [r3028] php/geos.c, php/test/test.php:
+	  Geometry->{pointOnSurface,centroid}
 
-2010-06-19 18:13  Sandro Santilli <strk at keybit.net>
+2010-06-19 18:13  Sandro Santilli <strk at kbt.io>
 
-	* [r3027] More Geometry methods: envelope, intersection,
-	  convexHull, difference, symDifference, boundary, union (including
-	  cascaded)
+	* [r3027] php/geos.c, php/test/test.php: More Geometry methods:
+	  envelope, intersection, convexHull, difference, symDifference,
+	  boundary, union (including cascaded)
 
-2010-06-19 17:14  Sandro Santilli <strk at keybit.net>
+2010-06-19 17:14  Sandro Santilli <strk at kbt.io>
 
-	* [r3026] Export buffer costants and method
+	* [r3026] php/geos.c, php/test/test.php: Export buffer costants and
+	  method
 
-2010-06-19 13:27  Sandro Santilli <strk at keybit.net>
+2010-06-19 13:27  Sandro Santilli <strk at kbt.io>
 
-	* [r3025] Test typed empty geoms too for IO
+	* [r3025] php/test/test.php: Test typed empty geoms too for IO
 
-2010-06-19 13:17  Sandro Santilli <strk at keybit.net>
+2010-06-19 13:17  Sandro Santilli <strk at kbt.io>
 
-	* [r3024] Add second optional argument to Geometry->project and
-	  Geometry->interpolate to request normalization
+	* [r3024] php/geos.c, php/test/test.php: Add second optional
+	  argument to Geometry->project and Geometry->interpolate to
+	  request normalization
 
-2010-06-19 13:08  Sandro Santilli <strk at keybit.net>
+2010-06-19 13:08  Sandro Santilli <strk at kbt.io>
 
-	* [r3023] Document GEOSInterpolate
+	* [r3023] capi/geos_c.h.in: Document GEOSInterpolate
 
-2010-06-19 13:06  Sandro Santilli <strk at keybit.net>
+2010-06-19 13:06  Sandro Santilli <strk at kbt.io>
 
-	* [r3022] Add GEOSGeometry->interpolate()
+	* [r3022] php/geos.c, php/test/test.php: Add
+	  GEOSGeometry->interpolate()
 
-2010-06-19 12:42  Sandro Santilli <strk at keybit.net>
+2010-06-19 12:42  Sandro Santilli <strk at kbt.io>
 
-	* [r3021] Handle exceptions in GEOSInterpolate
+	* [r3021] capi/geos_ts_c.cpp: Handle exceptions in GEOSInterpolate
 
-2010-06-19 12:30  Sandro Santilli <strk at keybit.net>
+2010-06-19 12:30  Sandro Santilli <strk at kbt.io>
 
-	* [r3020] Better automake integration of unit test
+	* [r3020] php/test/Makefile.am: Better automake integration of unit
+	  test
 
-2010-06-19 12:28  Sandro Santilli <strk at keybit.net>
+2010-06-19 12:28  Sandro Santilli <strk at kbt.io>
 
-	* [r3019] Handle illegal argument to LinearLocation::getCoordinate
+	* [r3019] src/linearref/LinearLocation.cpp: Handle illegal argument
+	  to LinearLocation::getCoordinate
 
-2010-06-19 12:20  Sandro Santilli <strk at keybit.net>
+2010-06-19 12:20  Sandro Santilli <strk at kbt.io>
 
-	* [r3018] document GEOSProject
+	* [r3018] capi/geos_c.h.in: document GEOSProject
 
-2010-06-19 11:34  Sandro Santilli <strk at keybit.net>
+2010-06-19 11:34  Sandro Santilli <strk at kbt.io>
 
-	* [r3017] Complete implementation of WKTWriter interfaces, add
-	  phpunit-based testing, add .project interface to Geometry
+	* [r3017] php/TODO, php/geos.c, php/test/Makefile.am,
+	  php/test/test.php: Complete implementation of WKTWriter
+	  interfaces, add phpunit-based testing, add .project interface to
+	  Geometry
 
-2010-06-19 11:32  Sandro Santilli <strk at keybit.net>
+2010-06-19 11:32  Sandro Santilli <strk at kbt.io>
 
-	* [r3016] Check for PHP and PHPUNIT (for testing php bindings)
+	* [r3016] configure.in: Check for PHP and PHPUNIT (for testing php
+	  bindings)
 
-2010-06-19 11:25  Sandro Santilli <strk at keybit.net>
+2010-06-19 11:25  Sandro Santilli <strk at kbt.io>
 
-	* [r3015] Handle exceptions from LenghtIndexedLine::project
+	* [r3015] capi/geos_ts_c.cpp: Handle exceptions from
+	  LenghtIndexedLine::project
 
-2010-06-19 11:23  Sandro Santilli <strk at keybit.net>
+2010-06-19 11:23  Sandro Santilli <strk at kbt.io>
 
-	* [r3014] The thrown error shall make sense...
+	* [r3014] src/linearref/LinearIterator.cpp: The thrown error shall
+	  make sense...
 
-2010-06-19 11:16  Sandro Santilli <strk at keybit.net>
+2010-06-19 11:16  Sandro Santilli <strk at kbt.io>
 
-	* [r3013] Throw an exception on first non-linestring component,
-	  rather than segfaulting la
+	* [r3013] src/linearref/LinearIterator.cpp: Throw an exception on
+	  first non-linestring component, rather than segfaulting la
 	  ter... (might be better to refuse non-lineal even earlier, but
 	  this way we *migh
 	  * be supporting collections with only linestrings)
 
-2010-06-19 11:14  Sandro Santilli <strk at keybit.net>
+2010-06-19 11:14  Sandro Santilli <strk at kbt.io>
 
-	* [r3012] Dox cleanup
+	* [r3012] include/geos/linearref/LengthIndexOfPoint.h,
+	  include/geos/linearref/LinearIterator.h: Dox cleanup
 
-2010-06-18 16:15  Sandro Santilli <strk at keybit.net>
+2010-06-18 16:15  Sandro Santilli <strk at kbt.io>
 
-	* [r3011] WKTWriter::setTrim
+	* [r3011] php/geos.c, php/test/test.php: WKTWriter::setTrim
 
-2010-06-18 16:12  Sandro Santilli <strk at keybit.net>
+2010-06-18 16:12  Sandro Santilli <strk at kbt.io>
 
-	* [r3010] Ubuntu 8.10 version of gcc needs -std=gnu99 to digest
-	  Zend headers :(
+	* [r3010] php/Makefile.am: Ubuntu 8.10 version of gcc needs
+	  -std=gnu99 to digest Zend headers :(
 
-2010-06-18 15:09  Sandro Santilli <strk at keybit.net>
+2010-06-18 15:09  Sandro Santilli <strk at kbt.io>
 
-	* [r3009] Add 'doxygen' rule (and 'apidoc' alias) to top-level
-	  Makefile.am
+	* [r3009] Makefile.am, doc/Makefile.am: Add 'doxygen' rule (and
+	  'apidoc' alias) to top-level Makefile.am
 
-2010-06-18 14:43  Sandro Santilli <strk at keybit.net>
+2010-06-18 14:43  Sandro Santilli <strk at kbt.io>
 
-	* [r3008] tip for test
+	* [r3008] php/TODO: tip for test
 
-2010-06-18 14:20  Sandro Santilli <strk at keybit.net>
+2010-06-18 14:20  Sandro Santilli <strk at kbt.io>
 
-	* [r3007] Initial go at PHP5 bindings. Can only read and write WKT
-	  so far.
+	* [r3007] Makefile.am, configure.in, php, php/Makefile.am,
+	  php/README, php/TODO, php/geos.c, php/php_geos.h, php/test,
+	  php/test/Makefile.am, php/test/crashme.php, php/test/test.php:
+	  Initial go at PHP5 bindings. Can only read and write WKT so far.
 
-2010-06-18 10:29  Sandro Santilli <strk at keybit.net>
+2010-06-18 10:29  Sandro Santilli <strk at kbt.io>
 
-	* [r3006] Do not set user FLAGS, se project flags instead.
+	* [r3006] configure.in: Do not set user FLAGS, se project flags
+	  instead.
 	  For the whole story, see:
 	  http://www.gnu.org/software/hello/manual/automake/Flag-Variables-Ordering.html
 
-2010-06-18 09:57  Sandro Santilli <strk at keybit.net>
+2010-06-18 09:57  Sandro Santilli <strk at kbt.io>
 
-	* [r3005] Fix automake override
+	* [r3005] doc/Makefile.am: Fix automake override
 
-2010-06-18 09:52  Sandro Santilli <strk at keybit.net>
+2010-06-18 09:52  Sandro Santilli <strk at kbt.io>
 
-	* [r3004] Add -Woverride option to automake invocation, to catch
-	  Makefile.am errors (there's one)
+	* [r3004] autogen.sh: Add -Woverride option to automake invocation,
+	  to catch Makefile.am errors (there's one)
 
-2010-06-16 10:39  Sandro Santilli <strk at keybit.net>
+2010-06-16 10:39  Sandro Santilli <strk at kbt.io>
 
-	* [r3003] Drop carriage returns
+	* [r3003] swig/geos.i.in: Drop carriage returns
 
-2010-06-16 09:45  Sandro Santilli <strk at keybit.net>
+2010-06-16 09:45  Sandro Santilli <strk at kbt.io>
 
-	* [r3002] OOps, tabs instead of spaces confuse automake
+	* [r3002] swig/Makefile.am: OOps, tabs instead of spaces confuse
+	  automake
 
-2010-06-16 09:31  Sandro Santilli <strk at keybit.net>
+2010-06-16 09:31  Sandro Santilli <strk at kbt.io>
 
-	* [r3001] Always distribute swig bindings, closes bug #352
+	* [r3001] swig/Makefile.am: Always distribute swig bindings, closes
+	  bug #352
 
-2010-06-16 09:25  Sandro Santilli <strk at keybit.net>
+2010-06-16 09:25  Sandro Santilli <strk at kbt.io>
 
-	* [r3000] Fix swig macro so it doesn't think version 2.0.0 is <
-	  1.3.37
+	* [r3000] macros/ac_pkg_swig.m4: Fix swig macro so it doesn't think
+	  version 2.0.0 is < 1.3.37
 
 2010-06-01 15:15  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2999] make WKTReader keywords case insensitive
+	* [r2999] src/io/WKTReader.cpp, tests/unit/io/WKTReaderTest.cpp:
+	  make WKTReader keywords case insensitive
 
 2010-05-31 16:25  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2998] Attempt to make geometry dimension perform more smoothly.
+	* [r2998] include/geos/geom/CoordinateArraySequence.h,
+	  include/geos/geom/CoordinateArraySequenceFactory.h,
+	  include/geos/geom/CoordinateSequenceFactory.h,
+	  src/geom/CoordinateArraySequence.cpp,
+	  src/geom/GeometryFactory.cpp, src/io/WKTWriter.cpp,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp: Attempt to make
+	  geometry dimension perform more smoothly.
 	  Modified CoordinateArraySequence to default to unknown dimension
 	  (0), which
 	  is determined at the point getDimension() is called by
@@ -4173,16 +8871,27 @@
 
 2010-05-31 02:57  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2997] Addition of getCoordinateDimension() on GEOSGeom (#311)
+	* [r2997] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp:
+	  Addition of getCoordinateDimension() on GEOSGeom (#311)
 	  Addition of setOutputDimension, setOld3D on WKTWriter (#292)
 
 2010-05-28 20:44  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2996] added missing test that should have been in r2995
+	* [r2996] tests/unit/io/WKBWriterTest.cpp: added missing test that
+	  should have been in r2995
 
 2010-05-28 20:38  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2995] Implement getCoordinateDimension() for geometries (#331)
+	* [r2995] include/geos/geom/Geometry.h,
+	  include/geos/geom/GeometryCollection.h,
+	  include/geos/geom/LineString.h, include/geos/geom/Point.h,
+	  include/geos/geom/Polygon.h, include/geos/io/WKBWriter.h,
+	  include/geos/io/WKTWriter.h, src/geom/GeometryCollection.cpp,
+	  src/geom/LineString.cpp, src/geom/Point.cpp,
+	  src/geom/Polygon.cpp, src/io/WKBWriter.cpp, src/io/WKTWriter.cpp,
+	  tests/unit/Makefile.am, tests/unit/geom/LineStringTest.cpp,
+	  tests/unit/geom/PointTest.cpp, tests/unit/io/WKTWriterTest.cpp:
+	  Implement getCoordinateDimension() for geometries (#331)
 	  WKTWriter now has setOutputDimension() method, and writes 3D
 	  geometries (#292)
 	  WKBWriter has fixes for writing 2D geometries from 3D geometry
@@ -4191,493 +8900,649 @@
 
 2010-05-28 20:32  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2994] add support for reading SF1.2 Z/M/ZM geometries (#347)
+	* [r2994] src/io/WKTReader.cpp, tests/unit/io/WKTReaderTest.cpp:
+	  add support for reading SF1.2 Z/M/ZM geometries (#347)
 
 2010-05-19 05:22  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2993] added setPrecision, setTrim support on WKTWriter and
-	  provided tests (#341)
+	* [r2993] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  include/geos/io/WKTWriter.h, src/io/WKTWriter.cpp,
+	  tests/unit/Makefile.am, tests/unit/io/WKTReaderTest.cpp,
+	  tests/unit/io/WKTWriterTest.cpp: added setPrecision, setTrim
+	  support on WKTWriter and provided tests (#341)
 
 2010-05-18 20:28  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2992] expose several new accessor functions on geometries
-	  (#345)
+	* [r2992] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSLineString_PointTest.cpp: expose several new
+	  accessor functions on geometries (#345)
 
 2010-05-18 20:07  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2991] disamiguate create args (#345)
+	* [r2991] tests/unit/noding/SegmentNodeTest.cpp: disamiguate create
+	  args (#345)
 
 2010-05-18 19:18  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2990] preserve dimension as part of CoordinateArraySequence and
-	  while reading WKT (#345)
+	* [r2990] include/geos/geom/CoordinateArraySequence.h,
+	  include/geos/geom/CoordinateArraySequenceFactory.inl,
+	  include/geos/geom/CoordinateSequenceFactory.h,
+	  include/geos/io/WKTReader.h,
+	  src/geom/CoordinateArraySequence.cpp,
+	  src/geom/GeometryFactory.cpp, src/io/WKTReader.cpp,
+	  tests/unit/noding/BasicSegmentStringTest.cpp,
+	  tests/unit/noding/NodedSegmentStringTest.cpp: preserve dimension
+	  as part of CoordinateArraySequence and while reading WKT (#345)
 
-2010-05-15 12:47  Sandro Santilli <strk at keybit.net>
+2010-05-15 12:47  Sandro Santilli <strk at kbt.io>
 
-	* [r2989] Minor tweaks
+	* [r2989] src/operation/buffer/OffsetCurveBuilder.cpp: Minor tweaks
 
-2010-05-15 12:31  Sandro Santilli <strk at keybit.net>
+2010-05-15 12:31  Sandro Santilli <strk at kbt.io>
 
-	* [r2988] Move OffsetCurveVertexList.h to headers dir, add a
-	  .reset() method to reduce memory allocations, use the new
-	  interface.
+	* [r2988] include/geos/operation/buffer/Makefile.am,
+	  include/geos/operation/buffer/OffsetCurveBuilder.h,
+	  include/geos/operation/buffer/OffsetCurveVertexList.h,
+	  src/operation/buffer/Makefile.am,
+	  src/operation/buffer/OffsetCurveBuilder.cpp,
+	  src/operation/buffer/OffsetCurveVertexList.h,
+	  tests/xmltester/tests/bug334.xml: Move OffsetCurveVertexList.h to
+	  headers dir, add a .reset() method to reduce memory allocations,
+	  use the new interface.
 
-2010-05-15 12:30  Sandro Santilli <strk at keybit.net>
+2010-05-15 12:30  Sandro Santilli <strk at kbt.io>
 
-	* [r2987] Add clear() method to CoordinateArraySequence, inline
-	  empty()
+	* [r2987] include/geos/geom/CoordinateArraySequence.h,
+	  src/geom/CoordinateArraySequence.cpp: Add clear() method to
+	  CoordinateArraySequence, inline empty()
 
-2010-05-04 21:29  Sandro Santilli <strk at keybit.net>
+2010-05-04 21:29  Sandro Santilli <strk at kbt.io>
 
-	* [r2986] Add 'ldconfig' step, seems to be a recurring issue with
-	  builders...
+	* [r2986] README: Add 'ldconfig' step, seems to be a recurring
+	  issue with builders...
 
-2010-05-02 09:35  Sandro Santilli <strk at keybit.net>
+2010-05-02 09:35  Sandro Santilli <strk at kbt.io>
 
-	* [r2985] Add a note about 2d nature of extractUniquePoints
+	* [r2985] capi/geos_c.h.in: Add a note about 2d nature of
+	  extractUniquePoints
 
 2010-04-21 16:17  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2982] * Updated nmake.opt with NMake version from Visual Studio
-	  2010 release.
+	* [r2982] nmake.opt: * Updated nmake.opt with NMake version from
+	  Visual Studio 2010 release.
 
-2010-04-17 22:16  Sandro Santilli <strk at keybit.net>
+2010-04-17 22:16  Sandro Santilli <strk at kbt.io>
 
-	* [r2977] Also set version for the systems not using autoconf, and
-	  update paths in HOWTO_RELEASE file
+	* [r2977] HOWTO_RELEASE, capi/geos_c.h.in: Also set version for the
+	  systems not using autoconf, and update paths in HOWTO_RELEASE
+	  file
 
-2010-04-17 22:14  Sandro Santilli <strk at keybit.net>
+2010-04-17 22:14  Sandro Santilli <strk at kbt.io>
 
-	* [r2976] As we're still maintaining 3.2 branch, and since new CAPI
-	  interface were added, bump CAPI lib interface version up. We'll
-	  be 1.7.0 there from now on.
+	* [r2976] configure.in: As we're still maintaining 3.2 branch, and
+	  since new CAPI interface were added, bump CAPI lib interface
+	  version up. We'll be 1.7.0 there from now on.
 
-2010-04-17 15:34  Sandro Santilli <strk at keybit.net>
+2010-04-17 15:34  Sandro Santilli <strk at kbt.io>
 
-	* [r2974] Have initGEOS(..) return a singleton, as used to be up to
-	  3.0.0
+	* [r2974] NEWS, capi/geos_c.cpp: Have initGEOS(..) return a
+	  singleton, as used to be up to 3.0.0
 
 2010-04-07 13:24  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2968] Added ENABLE_INLINE=YES|NO option to nmake.opt for Visual
-	  C++ builds using NMake. The ENABLE_INLINE=YES does not link for
-	  me - to be fixed
+	* [r2968] nmake.opt: Added ENABLE_INLINE=YES|NO option to nmake.opt
+	  for Visual C++ builds using NMake. The ENABLE_INLINE=YES does not
+	  link for me - to be fixed
 
 2010-04-07 13:22  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2967] Updated src/dirlist.mk (Ticket 337)
+	* [r2967] src/dirlist.mk: Updated src/dirlist.mk (Ticket 337)
 
 2010-03-29 17:44  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2965] Added NMake 10.x version to be recognized by nmake.opt
+	* [r2965] nmake.opt: Added NMake 10.x version to be recognized by
+	  nmake.opt
 
 2010-03-29 12:17  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2961] Qualify size_t with std namespace in headers.
+	* [r2961] include/geos/algorithm/CentralEndpointIntersector.h,
+	  include/geos/geom/CoordinateArraySequence.h,
+	  include/geos/geom/CoordinateArraySequenceFactory.h,
+	  include/geos/geom/CoordinateArraySequenceFactory.inl,
+	  include/geos/geom/CoordinateSequence.h,
+	  include/geos/geom/CoordinateSequenceFactory.h,
+	  include/geos/geom/CoordinateSequenceFilter.h,
+	  include/geos/geom/Geometry.h,
+	  include/geos/geom/GeometryCollection.h,
+	  include/geos/geom/LineSegment.h,
+	  include/geos/geom/LineSegment.inl,
+	  include/geos/geom/LineString.h, include/geos/geom/Polygon.h,
+	  include/geos/geom/prep/PreparedLineStringIntersects.h,
+	  include/geos/geomgraph/EdgeEndStar.h,
+	  include/geos/geomgraph/TopologyLocation.h,
+	  include/geos/index/chain/MonotoneChain.h,
+	  include/geos/index/chain/MonotoneChainBuilder.h,
+	  include/geos/index/chain/MonotoneChainOverlapAction.h,
+	  include/geos/index/strtree/AbstractSTRtree.h,
+	  include/geos/index/strtree/SIRtree.h,
+	  include/geos/index/strtree/STRtree.h,
+	  include/geos/noding/MCIndexNoder.h,
+	  include/geos/noding/MCIndexSegmentSetMutualIntersector.h,
+	  include/geos/noding/SegmentNodeList.h,
+	  include/geos/noding/SegmentStringUtil.h,
+	  include/geos/noding/snapround/HotPixel.h,
+	  include/geos/operation/predicate/RectangleIntersects.h,
+	  include/geos/planargraph/DirectedEdgeStar.h,
+	  include/geos/planargraph/PlanarGraph.h,
+	  include/geos/simplify/DouglasPeuckerLineSimplifier.h,
+	  include/geos/simplify/TaggedLineString.h: Qualify size_t with std
+	  namespace in headers.
 
 2010-03-29 12:13  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2960] Updated svn:ignore property
+	* [r2960] build/msvc10, build/msvc10/geos_c_dll,
+	  build/msvc10/geos_lib, build/msvc10/geos_unit,
+	  build/msvc10/geos_xmltester: Updated svn:ignore property
 
 2010-03-29 11:30  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2959] Updated projects for Visual Studio 2008 and 2010
+	* [r2959] build/msvc10/geos_lib/geos_lib.vcxproj,
+	  build/msvc10/geos_lib/geos_lib.vcxproj.filters,
+	  build/msvc90/geos_c_dll/geos_c_dll.vcproj,
+	  build/msvc90/geos_unit/geos_unit.vcproj,
+	  build/msvc90/geos_xmltester/geos_xmltester.vcproj: Updated
+	  projects for Visual Studio 2008 and 2010
 
 2010-03-29 11:29  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2958] Added pragma to disable Visual C++ warning C4251 - safe
-	  to ignore (http://support.microsoft.com/kb/813810/)
+	* [r2958] include/geos/geom/Geometry.h,
+	  include/geos/geom/LineString.h, include/geos/geom/Point.h,
+	  include/geos/geomgraph/EdgeEndStar.h,
+	  include/geos/geomgraph/EdgeList.h, include/geos/geomgraph/Node.h,
+	  include/geos/geomgraph/NodeMap.h,
+	  include/geos/index/strtree/AbstractNode.h,
+	  include/geos/index/strtree/STRtree.h,
+	  include/geos/io/CLocalizer.h, include/geos/io/WKBReader.h,
+	  include/geos/io/WKTWriter.h,
+	  include/geos/noding/NodedSegmentString.h,
+	  include/geos/operation/GeometryGraphOperation.h,
+	  include/geos/operation/buffer/BufferBuilder.h,
+	  include/geos/operation/buffer/BufferOp.h,
+	  include/geos/operation/buffer/OffsetCurveBuilder.h,
+	  include/geos/operation/linemerge/LineMergeGraph.h,
+	  include/geos/operation/linemerge/LineMerger.h,
+	  include/geos/operation/overlay/OverlayOp.h,
+	  include/geos/operation/polygonize/Polygonizer.h,
+	  include/geos/planargraph/NodeMap.h,
+	  include/geos/planargraph/PlanarGraph.h,
+	  include/geos/simplify/LineSegmentIndex.h,
+	  include/geos/simplify/TaggedLineStringSimplifier.h,
+	  include/geos/simplify/TaggedLinesSimplifier.h,
+	  include/geos/simplify/TopologyPreservingSimplifier.h,
+	  include/geos/util/GEOSException.h,
+	  include/geos/util/GeometricShapeFactory.h,
+	  include/geos/util/UniqueCoordinateArrayFilter.h: Added pragma to
+	  disable Visual C++ warning C4251 - safe to ignore
+	  (http://support.microsoft.com/kb/813810/)
 	  
 
 2010-03-29 11:21  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2957] No need to load the whole std namespace to use
-	  std::vector only.
+	* [r2957] capi/geos_ts_c.cpp: No need to load the whole std
+	  namespace to use std::vector only.
 
 2010-03-26 12:35  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2955] platform.h.vc: disable min/max macros substitution
+	* [r2955] include/geos/platform.h.vc: platform.h.vc: disable
+	  min/max macros substitution
 
 2010-03-26 12:06  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2954] Added GEOS_DLL with Microsoft-specific __declspec
-	  attribute missing from CascadedPolygonUnion class (ported from
+	* [r2954] include/geos/operation/union/CascadedPolygonUnion.h:
+	  Added GEOS_DLL with Microsoft-specific __declspec attribute
+	  missing from CascadedPolygonUnion class (ported from
 	  branches/3.2)
 
 2010-03-26 12:01  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2952] geom\GeoemtryList.cpp: missing implementation of
-	  GeometryList::size() function (ported from branches/3.2)
+	* [r2952] src/geom/GeometryList.cpp: geom\GeoemtryList.cpp: missing
+	  implementation of GeometryList::size() function (ported from
+	  branches/3.2)
 
 2010-03-26 11:58  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2950] src\Makefile.vc: added missing geom\GeometryList.cpp
-	  (ported from branches/3.2)
+	* [r2950] src/Makefile.vc: src\Makefile.vc: added missing
+	  geom\GeometryList.cpp (ported from branches/3.2)
 
 2010-03-26 11:55  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2948] nmake.opt: Added missing GEOS_DLL_EXPORT to CPPFLAGS
-	  (ported from branches/3.2)
+	* [r2948] nmake.opt: nmake.opt: Added missing GEOS_DLL_EXPORT to
+	  CPPFLAGS (ported from branches/3.2)
 
-2010-03-19 15:13  Sandro Santilli <strk at keybit.net>
+2010-03-19 15:13  Sandro Santilli <strk at kbt.io>
 
-	* [r2946] Improve formatting for GEOSisValidReason_r (#329)
+	* [r2946] NEWS, capi/geos_ts_c.cpp: Improve formatting for
+	  GEOSisValidReason_r (#329)
 
-2010-03-18 18:39  Sandro Santilli <strk at keybit.net>
+2010-03-18 18:39  Sandro Santilli <strk at kbt.io>
 
-	* [r2944] Forw-port a better fix for #333 (false positive valid
-	  geoms)
+	* [r2944] include/geos/operation/valid/IsValidOp.h,
+	  src/operation/valid/IsValidOp.cpp: Forw-port a better fix for
+	  #333 (false positive valid geoms)
 
-2010-03-16 13:13  Sandro Santilli <strk at keybit.net>
+2010-03-16 13:13  Sandro Santilli <strk at kbt.io>
 
-	* [r2941] Fix ST_IsValidDetail (broke by last commit)
+	* [r2941] capi/geos_ts_c.cpp: Fix ST_IsValidDetail (broke by last
+	  commit)
 
-2010-03-16 12:32  Sandro Santilli <strk at keybit.net>
+2010-03-16 12:32  Sandro Santilli <strk at kbt.io>
 
-	* [r2940] Now that IsValidOp doesn't cache the 'checked' status it
-	  is better to trigger a single check rather than two (also fix
-	  leaks)
+	* [r2940] capi/geos_ts_c.cpp: Now that IsValidOp doesn't cache the
+	  'checked' status it is better to trigger a single check rather
+	  than two (also fix leaks)
 
-2010-03-14 10:13  Sandro Santilli <strk at keybit.net>
+2010-03-14 10:13  Sandro Santilli <strk at kbt.io>
 
-	* [r2939] Install Machine.h
+	* [r2939] include/geos/util/Makefile.am: Install Machine.h
 
-2010-03-13 22:07  Sandro Santilli <strk at keybit.net>
+2010-03-13 22:07  Sandro Santilli <strk at kbt.io>
 
-	* [r2938] Fix GEOSOrientationIndex implementation and testcase.
-	  Closes ticket #335.
+	* [r2938] capi/geos_ts_c.cpp,
+	  tests/unit/capi/GEOSOrientationIndex.cpp: Fix
+	  GEOSOrientationIndex implementation and testcase. Closes ticket
+	  #335.
 
-2010-03-12 07:54  Sandro Santilli <strk at keybit.net>
+2010-03-12 07:54  Sandro Santilli <strk at kbt.io>
 
-	* [r2937] Expose GEOSOrientationIndex to C-API
+	* [r2937] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp, tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSOrientationIndex.cpp: Expose
+	  GEOSOrientationIndex to C-API
 
-2010-03-10 09:34  Sandro Santilli <strk at keybit.net>
+2010-03-10 09:34  Sandro Santilli <strk at kbt.io>
 
-	* [r2936] Sync TestValid xml from JTS, review IsValidOp to be in
-	  sync with current JTS trunk.
+	* [r2936] include/geos/operation/valid/IsValidOp.h,
+	  src/operation/valid/IsValidOp.cpp,
+	  tests/xmltester/tests/general/TestValid.xml: Sync TestValid xml
+	  from JTS, review IsValidOp to be in sync with current JTS trunk.
 
-2010-03-07 11:39  Sandro Santilli <strk at keybit.net>
+2010-03-07 11:39  Sandro Santilli <strk at kbt.io>
 
-	* [r2935] Apply slightly modified patch by mwtoews (#344)
+	* [r2935] README: Apply slightly modified patch by mwtoews (#344)
 
 2010-03-06 01:49  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2934] Added cmake/cmake_uninstall.cmake.in script and
-	  configured make uninstall target for CMake configuration (#317)
+	* [r2934] CMakeLists.txt, cmake/cmake_uninstall.cmake.in: Added
+	  cmake/cmake_uninstall.cmake.in script and configured make
+	  uninstall target for CMake configuration (#317)
 
-2010-03-03 07:21  Sandro Santilli <strk at keybit.net>
+2010-03-03 07:21  Sandro Santilli <strk at kbt.io>
 
-	* [r2933] Improve documentation for GEOSPOlygonize_full
+	* [r2933] capi/geos_c.h.in: Improve documentation for
+	  GEOSPOlygonize_full
 
-2010-03-02 21:04  Sandro Santilli <strk at keybit.net>
+2010-03-02 21:04  Sandro Santilli <strk at kbt.io>
 
-	* [r2932] Fix false positive return from IsValidOp (#333)
+	* [r2932] NEWS, include/geos/operation/valid/IsValidOp.h,
+	  src/operation/valid/IsValidOp.cpp,
+	  tests/xmltester/tests/general/TestValid.xml: Fix false positive
+	  return from IsValidOp (#333)
 
-2010-02-28 19:01  Sandro Santilli <strk at keybit.net>
+2010-02-28 19:01  Sandro Santilli <strk at kbt.io>
 
-	* [r2931] Minor tweak
+	* [r2931] src/geom/LineString.cpp: Minor tweak
 
-2010-02-28 18:55  Sandro Santilli <strk at keybit.net>
+2010-02-28 18:55  Sandro Santilli <strk at kbt.io>
 
-	* [r2930] Provide non-rehentrant version of empty geometries
-	  constructors
+	* [r2930] NEWS, capi/geos_c.cpp, capi/geos_c.h.in: Provide
+	  non-rehentrant version of empty geometries constructors
 
-2010-02-28 17:02  Sandro Santilli <strk at keybit.net>
+2010-02-28 17:02  Sandro Santilli <strk at kbt.io>
 
-	* [r2929] extractUniquePoints comes in non-reentrant version too
+	* [r2929] NEWS: extractUniquePoints comes in non-reentrant version
+	  too
 
-2010-02-25 07:50  Sandro Santilli <strk at keybit.net>
+2010-02-25 07:50  Sandro Santilli <strk at kbt.io>
 
-	* [r2928] Update with GEOSPolygonize_full item
+	* [r2928] NEWS: Update with GEOSPolygonize_full item
 
-2010-02-23 20:00  Sandro Santilli <strk at keybit.net>
+2010-02-23 20:00  Sandro Santilli <strk at kbt.io>
 
-	* [r2927] GEOSPolygonize_full [RT-SIGTA]
+	* [r2927] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp:
+	  GEOSPolygonize_full [RT-SIGTA]
 
-2010-02-22 22:21  Sandro Santilli <strk at keybit.net>
+2010-02-22 22:21  Sandro Santilli <strk at kbt.io>
 
-	* [r2926] LineStringAdder heap-allocation removal
+	* [r2926] include/geos/operation/polygonize/Polygonizer.h,
+	  src/operation/polygonize/Polygonizer.cpp: LineStringAdder
+	  heap-allocation removal
 
-2010-02-22 22:17  Sandro Santilli <strk at keybit.net>
+2010-02-22 22:17  Sandro Santilli <strk at kbt.io>
 
-	* [r2925] Drop heap allocation of invalidRingLines vector
+	* [r2925] NEWS, include/geos/operation/polygonize/Polygonizer.h,
+	  src/operation/polygonize/Polygonizer.cpp: Drop heap allocation of
+	  invalidRingLines vector
 
-2010-02-22 22:06  Sandro Santilli <strk at keybit.net>
+2010-02-22 22:06  Sandro Santilli <strk at kbt.io>
 
-	* [r2924] More heap allocations bite the dust...
+	* [r2924] include/geos/operation/polygonize/Polygonizer.h,
+	  src/operation/polygonize/Polygonizer.cpp: More heap allocations
+	  bite the dust...
 
-2010-02-22 21:51  Sandro Santilli <strk at keybit.net>
+2010-02-22 21:51  Sandro Santilli <strk at kbt.io>
 
-	* [r2923] Drop HEAP allocation for dangles vector too, and document
-	  all these API changes
+	* [r2923] NEWS, include/geos/operation/polygonize/Polygonizer.h,
+	  src/operation/polygonize/Polygonizer.cpp: Drop HEAP allocation
+	  for dangles vector too, and document all these API changes
 
-2010-02-22 21:41  Sandro Santilli <strk at keybit.net>
+2010-02-22 21:41  Sandro Santilli <strk at kbt.io>
 
-	* [r2922] Avoid heap allocation of a vector for cut edges, bits of
-	  additional documentation
+	* [r2922] capi/geos_ts_c.cpp,
+	  include/geos/operation/polygonize/PolygonizeEdge.h,
+	  include/geos/operation/polygonize/Polygonizer.h,
+	  src/operation/polygonize/Polygonizer.cpp: Avoid heap allocation
+	  of a vector for cut edges, bits of additional documentation
 
-2010-02-22 21:29  Sandro Santilli <strk at keybit.net>
+2010-02-22 21:29  Sandro Santilli <strk at kbt.io>
 
-	* [r2921] Try to document current behaviour (very bad behaviour
-	  indeed...)
+	* [r2921] include/geos/operation/polygonize/Polygonizer.h: Try to
+	  document current behaviour (very bad behaviour indeed...)
 
 2010-02-21 17:11  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2920] Another patch from Gavin Heavyside to enable GEOS as a
-	  dependency of a project with CMake
+	* [r2920] CMakeLists.txt: Another patch from Gavin Heavyside to
+	  enable GEOS as a dependency of a project with CMake
 
-2010-02-21 17:05  Sandro Santilli <strk at keybit.net>
+2010-02-21 17:05  Sandro Santilli <strk at kbt.io>
 
-	* [r2919] Allow GEOSGetGeometryN calls against single geometries
+	* [r2919] NEWS, capi/geos_c.h.in, capi/geos_ts_c.cpp: Allow
+	  GEOSGetGeometryN calls against single geometries
 
-2010-02-21 16:27  Sandro Santilli <strk at keybit.net>
+2010-02-21 16:27  Sandro Santilli <strk at kbt.io>
 
-	* [r2918] Expose the non-reentrant version too (I know, I was
-	  against, but it's too much work on the postgis side for that
-	  right now)
+	* [r2918] capi/geos_c.cpp, capi/geos_c.h.in: Expose the
+	  non-reentrant version too (I know, I was against, but it's too
+	  much work on the postgis side for that right now)
 
-2010-02-21 15:03  Sandro Santilli <strk at keybit.net>
+2010-02-21 15:03  Sandro Santilli <strk at kbt.io>
 
-	* [r2917] GEOSGeom_extractUniquePoints [RT-SIGTA]
+	* [r2917] NEWS, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:
+	  GEOSGeom_extractUniquePoints [RT-SIGTA]
 
 2010-02-21 14:50  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2916] Patch from Gavin Heavyside that enables CMake to build
-	  GEOS as a dependency of user-defined project
+	* [r2916] CMakeLists.txt: Patch from Gavin Heavyside that enables
+	  CMake to build GEOS as a dependency of user-defined project
 
-2010-02-17 14:04  Sandro Santilli <strk at keybit.net>
+2010-02-17 14:04  Sandro Santilli <strk at kbt.io>
 
-	* [r2915] Throw an IllegalArgumentException when setOrdinate is
-	  called with unknown ordinate index
+	* [r2915] src/geom/CoordinateArraySequence.cpp: Throw an
+	  IllegalArgumentException when setOrdinate is called with unknown
+	  ordinate index
 
-2010-02-14 14:01  Sandro Santilli <strk at keybit.net>
+2010-02-14 14:01  Sandro Santilli <strk at kbt.io>
 
-	* [r2913] Add GEOSPolygonizer_getCutEdges NEWS item where it
+	* [r2913] NEWS: Add GEOSPolygonizer_getCutEdges NEWS item where it
 	  belongs
 
 2010-02-12 17:35  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2912] Fixed but in CMake configuration which installed geos_c.h
-	  in incorrect location (#330)
+	* [r2912] capi/CMakeLists.txt: Fixed but in CMake configuration
+	  which installed geos_c.h in incorrect location (#330)
 
-2010-02-11 18:15  Sandro Santilli <strk at keybit.net>
+2010-02-11 18:15  Sandro Santilli <strk at kbt.io>
 
-	* [r2911] Update
+	* [r2911] NEWS: Update
 
-2010-02-11 08:33  Sandro Santilli <strk at keybit.net>
+2010-02-11 08:33  Sandro Santilli <strk at kbt.io>
 
-	* [r2910] Complete set of typed-empty constructors and tests for
-	  them [RT-SIGTA]
+	* [r2910] capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  tests/unit/capi/GEOSGeom_create.cpp: Complete set of typed-empty
+	  constructors and tests for them [RT-SIGTA]
 
-2010-02-11 08:18  Sandro Santilli <strk at keybit.net>
+2010-02-11 08:18  Sandro Santilli <strk at kbt.io>
 
-	* [r2909] Go for consistency with reentrant interfaces [RT-SIGTA]
+	* [r2909] capi/geos_c.h.in, capi/geos_ts_c.cpp: Go for consistency
+	  with reentrant interfaces [RT-SIGTA]
 
-2010-02-11 00:10  Sandro Santilli <strk at keybit.net>
+2010-02-11 00:10  Sandro Santilli <strk at kbt.io>
 
-	* [r2908] GEOSContext_setNoticeHandler,
-	  GEOSContext_setErrorHandler, GEOSGeom_createEmptyPolygon_r (and
-	  test)
+	* [r2908] NEWS, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  tests/unit/Makefile.am, tests/unit/capi/GEOSGeom_create.cpp:
+	  GEOSContext_setNoticeHandler, GEOSContext_setErrorHandler,
+	  GEOSGeom_createEmptyPolygon_r (and test)
 
-2010-02-09 17:52  Sandro Santilli <strk at keybit.net>
+2010-02-09 17:52  Sandro Santilli <strk at kbt.io>
 
-	* [r2907] Fix to match new layout
+	* [r2907] doc/Doxyfile.in: Fix to match new layout
 
 2010-02-06 04:07  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2906] Ported list of SAVE_XMLTESTS to CMake configuration of
-	  XMLTester (#317) All tests pass on Ubuntu 9.10
+	* [r2906] tests/xmltester/CMakeLists.txt: Ported list of
+	  SAVE_XMLTESTS to CMake configuration of XMLTester (#317) All
+	  tests pass on Ubuntu 9.10
 
 2010-02-05 21:24  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2905] Fixed CMake version comparison to disable platform.h
-	  (#317)
+	* [r2905] CMakeLists.txt: Fixed CMake version comparison to disable
+	  platform.h (#317)
 
-2010-02-05 14:54  Sandro Santilli <strk at keybit.net>
+2010-02-05 14:54  Sandro Santilli <strk at kbt.io>
 
-	* [r2904] Document ownership of created types
+	* [r2904] capi/geos_c.h.in: Document ownership of created types
 
-2010-02-05 14:39  Sandro Santilli <strk at keybit.net>
+2010-02-05 14:39  Sandro Santilli <strk at kbt.io>
 
-	* [r2903] New CAPI interface: GEOSisValidDetail ( tell state,
-	  reason & location apart )
+	* [r2903] NEWS, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp: New CAPI interface: GEOSisValidDetail ( tell
+	  state, reason & location apart )
 
 2010-02-04 23:35  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2902] Fixed missing substitution of @libdir@ in geos-config
-	  generated by CMake #(317)
+	* [r2902] CMakeLists.txt, tools/CMakeLists.txt: Fixed missing
+	  substitution of @libdir@ in geos-config generated by CMake #(317)
 
 2010-02-02 18:14  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2901] Fixed problem with use of new command with file() macro
-	  for older CMake versions (#327)
+	* [r2901] CMakeLists.txt: Fixed problem with use of new command
+	  with file() macro for older CMake versions (#327)
 
 2010-01-31 03:06  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2900] Added XMLTester to CTest configuration - work in progress
-	  (#317)
+	* [r2900] tests/unit/CMakeLists.txt,
+	  tests/xmltester/CMakeLists.txt: Added XMLTester to CTest
+	  configuration - work in progress (#317)
 
 2010-01-31 03:05  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2899] Added GEOS_ENABLE_FLOATSTORE option to CMake to control
-	  GCC flag -ffloat-store (#317)
+	* [r2899] CMakeLists.txt: Added GEOS_ENABLE_FLOATSTORE option to
+	  CMake to control GCC flag -ffloat-store (#317)
 
 2010-01-31 01:26  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2898] Added platform.h.disabled to svn:ignore property
+	* [r2898] include/geos: Added platform.h.disabled to svn:ignore
+	  property
 
 2010-01-31 01:22  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2897] A minor fix to order of enable_testing() and
-	  add_subdirectories(tests) - it is important to include the former
-	  macro first so the tests are caught in
+	* [r2897] CMakeLists.txt: A minor fix to order of enable_testing()
+	  and add_subdirectories(tests) - it is important to include the
+	  former macro first so the tests are caught in
 
 2010-01-30 23:45  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2896] Updated configuration of GEOS_ENABLE_TESTS option for
-	  CMake (#317)
+	* [r2896] CMakeLists.txt: Updated configuration of
+	  GEOS_ENABLE_TESTS option for CMake (#317)
 
 2010-01-30 22:48  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2895] Configured 'make check' target for CMake as alias to
-	  'make test' to mimic GNU Autotools manner of running tests (#317)
+	* [r2895] CMakeLists.txt: Configured 'make check' target for CMake
+	  as alias to 'make test' to mimic GNU Autotools manner of running
+	  tests (#317)
 
 2010-01-29 20:30  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2894] Extend support of Apple ISNAN case to newer? compilers
+	* [r2894] include/geos/platform.h.in: Extend support of Apple ISNAN
+	  case to newer? compilers
 
 2010-01-29 17:42  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2893] Solved problem with repeated definition of
-	  getMachineByteOrder (#317). Added check if alternative platform.h
-	  is already present in the include/geos directory and deactivate
-	  it renaming to platform.h.disable, before generating
-	  CMake-specific platform.h. Tested on Windows with Visual C++ but
-	  with -DGEOS_ENABLE_INLINE=OFF otherwise DLL linking fails with
-	  many redefined symbols - to be checked.
+	* [r2893] CMakeLists.txt, include/geos/platform.h.cmake: Solved
+	  problem with repeated definition of getMachineByteOrder (#317).
+	  Added check if alternative platform.h is already present in the
+	  include/geos directory and deactivate it renaming to
+	  platform.h.disable, before generating CMake-specific platform.h.
+	  Tested on Windows with Visual C++ but with
+	  -DGEOS_ENABLE_INLINE=OFF otherwise DLL linking fails with many
+	  redefined symbols - to be checked.
 
 2010-01-29 01:43  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2892] Configured 'make test' target for CMake build (#317). Now
-	  only geos_unit is executed
+	* [r2892] CMakeLists.txt, tests/unit/CMakeLists.txt: Configured
+	  'make test' target for CMake build (#317). Now only geos_unit is
+	  executed
 
 2010-01-28 18:42  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2891] Missing includes of platform.h and <cmath>
+	* [r2891] src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:
+	  Missing includes of platform.h and <cmath>
 
 2010-01-27 22:25  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2890] Tidy up messy code in tests/unit/linearref
+	* [r2890] tests/unit/linearref/LengthIndexedLineTest.cpp: Tidy up
+	  messy code in tests/unit/linearref
 
 2010-01-27 22:09  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2889] Fixed CMake configuration for the problem about
-	  unavailable C99 features if -std=c99 is not specified for GCC
-	  4.3.3 on Ubuntu 9.04. This is inconsistent behaviour with GCC
-	  4.4.1
+	* [r2889] CMakeLists.txt,
+	  tests/unit/linearref/LengthIndexedLineTest.cpp: Fixed CMake
+	  configuration for the problem about unavailable C99 features if
+	  -std=c99 is not specified for GCC 4.3.3 on Ubuntu 9.04. This is
+	  inconsistent behaviour with GCC 4.4.1
 	  (https://bugs.launchpad.net/ubuntu/+source/gcc-4.3/+bug/512741).
 
 2010-01-23 02:43  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2888] GEOS C++ static library was missing from installation
-	  targets (#317)
+	* [r2888] src/CMakeLists.txt: GEOS C++ static library was missing
+	  from installation targets (#317)
 
 2010-01-23 02:36  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2887] CMake configuration update (#317): * Configured shared
-	  library target for C++ API. * Added library version information
-	  and TODO comment about SOVERSION.
+	* [r2887] CMakeLists.txt, capi/CMakeLists.txt, src/CMakeLists.txt:
+	  CMake configuration update (#317): * Configured shared library
+	  target for C++ API. * Added library version information and TODO
+	  comment about SOVERSION.
 
 2010-01-23 01:38  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2886] Small fix to latest commit (#317)
+	* [r2886] CMakeLists.txt: Small fix to latest commit (#317)
 
 2010-01-23 01:32  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2885] Disabled GEOS_ENABLE_ASSERT option for Visual Studio
-	  builds - not supported, no sense (#317)
+	* [r2885] CMakeLists.txt: Disabled GEOS_ENABLE_ASSERT option for
+	  Visual Studio builds - not supported, no sense (#317)
 
 2010-01-23 00:10  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2884] Tweaked detection isfinite and isnan declared as
-	  functions in C++ (#317)
+	* [r2884] CMakeLists.txt: Tweaked detection isfinite and isnan
+	  declared as functions in C++ (#317)
 
 2010-01-22 23:52  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2883] Added CheckPrototypeExists.cmake module - imported from
-	  KDE/kdelibs tree
+	* [r2883] cmake/modules/CheckPrototypeExists.cmake: Added
+	  CheckPrototypeExists.cmake module - imported from KDE/kdelibs
+	  tree
 
 2010-01-22 23:51  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2882] Added trunk/cmake directory for custom CMake modules
+	* [r2882] cmake, cmake/modules,
+	  cmake/modules/COPYING-CMAKE-SCRIPTS: Added trunk/cmake directory
+	  for custom CMake modules
 
 2010-01-21 01:23  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2881] CMake configuration update (#317): * Set default
-	  CMAKE_BUILD_TYPE to Debug * Added GEOS_ENABLE_ASSERT and
+	* [r2881] CMakeLists.txt: CMake configuration update (#317): * Set
+	  default CMAKE_BUILD_TYPE to Debug * Added GEOS_ENABLE_ASSERT and
 	  GEOS_ENABLE_INLINE options. * Renamed option ENABLE_MSVC_MP to
 	  GEOS_MSVC_ENABLE_MP.
 
 2010-01-20 23:42  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2880] Fix for addd extra test for STL classes in std namespace
-	  to CMake configuration (#317)
+	* [r2880] CMakeLists.txt: Fix for addd extra test for STL classes
+	  in std namespace to CMake configuration (#317)
 
 2010-01-20 23:37  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2879] Addd extra test for STL classes in std namespace to CMake
-	  configuration (#317)
+	* [r2879] CMakeLists.txt: Addd extra test for STL classes in std
+	  namespace to CMake configuration (#317)
 
 2010-01-20 23:21  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2878] Updated svn:keyword with Id for CMake files
+	* [r2878] CMakeLists.txt, capi/CMakeLists.txt,
+	  include/CMakeLists.txt, include/geos/platform.h.cmake,
+	  src/CMakeLists.txt, tests/CMakeLists.txt,
+	  tests/unit/CMakeLists.txt, tests/xmltester/CMakeLists.txt,
+	  tools/CMakeLists.txt: Updated svn:keyword with Id for CMake files
 
 2010-01-20 22:17  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2877] Fixed bug with not setting proper permissions to
-	  geos-config while installing with CMake build configuration
-	  (#318).
+	* [r2877] tools/CMakeLists.txt: Fixed bug with not setting proper
+	  permissions to geos-config while installing with CMake build
+	  configuration (#318).
 
 2010-01-19 00:19  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2876] #317: compiler flags can not be handled using CMake list
-	  type, reverted last change that sneaked in with Visual Studio
-	  related commit.
+	* [r2876] CMakeLists.txt: #317: compiler flags can not be handled
+	  using CMake list type, reverted last change that sneaked in with
+	  Visual Studio related commit.
 
 2010-01-19 00:03  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2875] #317: Added CXX flags specific to Visual C++ compiler.
-	  Added ENABLE_MSVC_MP option to allow setting Visual C++ /MP flag
-	  that enables multi-process compilation.
+	* [r2875] CMakeLists.txt: #317: Added CXX flags specific to Visual
+	  C++ compiler. Added ENABLE_MSVC_MP option to allow setting Visual
+	  C++ /MP flag that enables multi-process compilation.
 
 2010-01-18 21:15  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2874] Load elements of std namespace to scope of geos_ts_c.cpp
-	  file, so C99 functions are loaded even if hidden in std
-	  (non-standard extension in GCC).
+	* [r2874] capi/geos_ts_c.cpp: Load elements of std namespace to
+	  scope of geos_ts_c.cpp file, so C99 functions are loaded even if
+	  hidden in std (non-standard extension in GCC).
 
 2010-01-18 18:15  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2873] Added missing headers platform.h and <cmath> where ISNAN
-	  or FINITE macros are expanded
+	* [r2873] capi/geos_ts_c.cpp, src/geomgraph/Node.cpp,
+	  src/operation/overlay/ElevationMatrix.cpp,
+	  src/operation/overlay/ElevationMatrixCell.cpp,
+	  src/operation/overlay/LineBuilder.cpp,
+	  src/operation/overlay/OverlayOp.cpp,
+	  src/operation/valid/IsValidOp.cpp,
+	  tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp,
+	  tests/unit/geom/CoordinateTest.cpp,
+	  tests/unit/geom/TriangleTest.cpp,
+	  tests/unit/linearref/LengthIndexedLineTest.cpp,
+	  tests/unit/operation/valid/IsValidTest.cpp: Added missing headers
+	  platform.h and <cmath> where ISNAN or FINITE macros are expanded
 
 2010-01-18 18:14  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2872] Updated svn:ignore patterns
+	* [r2872] tests/geostest: Updated svn:ignore patterns
 
 2010-01-18 18:13  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2871] Cleaned redundant include for cmath and math.h from
-	  platform.h.cmake (#317)
+	* [r2871] include/geos/platform.h.cmake: Cleaned redundant include
+	  for cmath and math.h from platform.h.cmake (#317)
 
 2010-01-18 18:12  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2870] Updated svn:ignore patterns
+	* [r2870] tests/geostest, tests/thread: Updated svn:ignore patterns
 
 2010-01-18 01:25  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2869] Updated Windows elements of build configuration for CMake
-	  system (#317):
+	* [r2869] capi/CMakeLists.txt: Updated Windows elements of build
+	  configuration for CMake system (#317):
 	  * Added missing symbol GEOS_DLL_EXPORT to request generation of
 	  import library for GEOS C API DLL
 	  * All targets configured for CMake build system have been
@@ -4688,8 +9553,15 @@
 
 2010-01-18 00:59  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2868] * Successfully tested CMake configuration with Visual
-	  Studio 2010 (#317).
+	* [r2868] include/geos/platform.h.cmake,
+	  src/algorithm/CGAlgorithms.cpp,
+	  src/algorithm/locate/IndexedPointInAreaLocator.cpp,
+	  src/noding/snapround/HotPixel.cpp,
+	  src/operation/buffer/BufferOp.cpp,
+	  src/operation/overlay/snap/GeometrySnapper.cpp,
+	  src/operation/overlay/validate/OverlayResultValidator.cpp: *
+	  Successfully tested CMake configuration with Visual Studio 2010
+	  (#317).
 	  * Disable argument dependant lookup (Koenig) for min/max
 	  functions to make sure GEOS compiles in the presence of the
 	  min/max macros.
@@ -4698,109 +9570,133 @@
 
 2010-01-17 23:54  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2867] Configured 'make install' for tools to install
-	  geos-config program on Unix platforms (#317). Fixed missing
-	  prefix nad exec_prefix variables substitution during geos-config
-	  generation.
+	* [r2867] CMakeLists.txt, tools/CMakeLists.txt: Configured 'make
+	  install' for tools to install geos-config program on Unix
+	  platforms (#317). Fixed missing prefix nad exec_prefix variables
+	  substitution during geos-config generation.
 
 2010-01-17 23:40  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2866] Configured 'make install' target for GEOS C shared
-	  library and headers (#317). Install platform.h and version.h from
-	  build directory where they are installed, not from source tree.
-	  Added GEOS C API header location to include directories.
+	* [r2866] CMakeLists.txt, capi/CMakeLists.txt,
+	  include/CMakeLists.txt: Configured 'make install' target for GEOS
+	  C shared library and headers (#317). Install platform.h and
+	  version.h from build directory where they are installed, not from
+	  source tree. Added GEOS C API header location to include
+	  directories.
 
 2010-01-17 23:06  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2865] Configured 'make install' target for GEOS C++ static
-	  library archive and headers (#317)
+	* [r2865] CMakeLists.txt, include/CMakeLists.txt,
+	  src/CMakeLists.txt: Configured 'make install' target for GEOS C++
+	  static library archive and headers (#317)
 
 2010-01-17 03:21  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2864] Removed build/bjam directory with old and no longer
-	  maintained build configuration based on Boost.Build
+	* [r2864] build/bjam: Removed build/bjam directory with old and no
+	  longer maintained build configuration based on Boost.Build
 
 2010-01-17 03:12  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2863] Added simplewkttester and xmltester tests to CMake
-	  configuration (#317)
+	* [r2863] tests/CMakeLists.txt, tests/xmltester/CMakeLists.txt:
+	  Added simplewkttester and xmltester tests to CMake configuration
+	  (#317)
 
 2010-01-17 03:00  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2862] Updated CMake configuration (#317): CMake generates
-	  config headers in build tree. Added generation of geos-config
-	  script. Refined include directories settings. Added unit tests
-	  package to the configuration. Status: GEOS core + GEOS C library
-	  + unit tests build and run successfully.
+	* [r2862] CMakeLists.txt, capi/CMakeLists.txt, src/CMakeLists.txt,
+	  tests/CMakeLists.txt, tests/unit/CMakeLists.txt,
+	  tests/unit/tut/tut_console_reporter.hpp,
+	  tests/unit/tut/tut_reporter.hpp: Updated CMake configuration
+	  (#317): CMake generates config headers in build tree. Added
+	  generation of geos-config script. Refined include directories
+	  settings. Added unit tests package to the configuration. Status:
+	  GEOS core + GEOS C library + unit tests build and run
+	  successfully.
 
 2010-01-17 02:07  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2861] Now CMake can generates geos_c.h (#317). Removed
+	* [r2861] CMakeLists.txt, include/geos/version.h.cmake: Now CMake
+	  can generates geos_c.h (#317). Removed
 	  include/geos/version.h.cmake as no longer needed - CMake can
 	  subsitute variables of Autoconf-style @VAR@ very well.
 
 2010-01-17 00:46  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2860] Refined detection of isnan and isfinite features (#317)
+	* [r2860] CMakeLists.txt, include/geos/platform.h.cmake: Refined
+	  detection of isnan and isfinite features (#317)
 
 2010-01-16 22:20  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2859] Added checks of C/C++ headers and library features like
-	  64-bit integer type (#317)
+	* [r2859] CMakeLists.txt, include/geos/platform.h.cmake: Added
+	  checks of C/C++ headers and library features like 64-bit integer
+	  type (#317)
 
 2010-01-16 21:45  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2858] Added generation of build-specific platform.h file from
-	  platform.h.cmake (#317)
+	* [r2858] CMakeLists.txt: Added generation of build-specific
+	  platform.h file from platform.h.cmake (#317)
 
 2010-01-16 21:25  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2857] Set version numbers and generate version.h for CMake
-	  build (#317)
+	* [r2857] CMakeLists.txt, include/geos/version.h.cmake: Set version
+	  numbers and generate version.h for CMake build (#317)
 
 2010-01-16 20:41  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2856] Added platform.h.cmake file used by build configuration
-	  for CMake build system (#317)
+	* [r2856] include/geos/platform.h.cmake: Added platform.h.cmake
+	  file used by build configuration for CMake build system (#317)
 
 2010-01-16 20:40  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2855] Removed definition of INT64_CONST_IS_I64 - it is not
-	  checked or used anywhere
+	* [r2855] include/geos/platform.h.vc: Removed definition of
+	  INT64_CONST_IS_I64 - it is not checked or used anywhere
 
 2010-01-16 20:12  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2854] Unified detection of math features to define FINITE and
-	  ISNAN macros
+	* [r2854] include/geos/platform.h.in, include/geos/util/math.h:
+	  Unified detection of math features to define FINITE and ISNAN
+	  macros
 
 2010-01-16 18:14  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2853] Moved getMachineByteOrder from include/geos/platform.h to
+	* [r2853] capi/geos_ts_c.cpp,
+	  include/geos/io/ByteOrderDataInStream.inl,
+	  include/geos/io/WKBWriter.h, include/geos/platform.h.in,
+	  include/geos/platform.h.vc, include/geos/util/Machine.h: Moved
+	  getMachineByteOrder from include/geos/platform.h to
 	  include/geos/util/Machine.h. This function is universal for
 	  non-Windows and Windows platforms
 
 2010-01-16 17:03  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2852] Added first straps of configuration for CMake build
-	  system (#317)
+	* [r2852] CMakeLists.txt, capi/CMakeLists.txt, src/CMakeLists.txt:
+	  Added first straps of configuration for CMake build system (#317)
 
 2010-01-16 02:40  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2851] Removed tests/geostest/.deps directory
+	* [r2851] tests/geostest/.deps: Removed tests/geostest/.deps
+	  directory
 
 2010-01-16 02:14  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2850] Moved src/examples out of src directory (#315)
+	* [r2850] examples, examples/Makefile.am, src/examples: Moved
+	  src/examples out of src directory (#315)
 
 2010-01-14 00:01  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2849] Updated Visual Studio 2010 projects in build/msvc10 with
-	  new location of include and src (#315)
+	* [r2849] build/msvc10/geos_c_dll/geos_c_dll.vcxproj,
+	  build/msvc10/geos_c_dll/geos_c_dll.vcxproj.filters,
+	  build/msvc10/geos_lib/geos_lib.vcxproj,
+	  build/msvc10/geos_lib/geos_lib.vcxproj.filters,
+	  build/msvc10/geos_unit/geos_unit.vcxproj,
+	  build/msvc10/geos_xmltester/geos_xmltester.vcxproj: Updated
+	  Visual Studio 2010 projects in build/msvc10 with new location of
+	  include and src (#315)
 
 2010-01-13 21:35  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2848] * Successfully compiled with Visual C++ 8.0 after
-	  restructuring source tree.
+	* [r2848] include/geos/noding/NodedSegmentString.h: * Successfully
+	  compiled with Visual C++ 8.0 after restructuring source tree.
 	  ** NodedSegmentString class;
 	  ** Use explicit self-describing two-step casts to indicate what's
 	  really happening - C-cast is evil and hides serious interface
@@ -4809,301 +9705,542 @@
 
 2010-01-13 21:25  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2847] Updated Visual Studio 2005 projects in build/msvc80 with
-	  new location of include and src (#315)
+	* [r2847] build/msvc80/geos_c_dll/geos_c_dll.vcproj,
+	  build/msvc80/geos_lib/geos_lib.vcproj,
+	  build/msvc80/geos_python/geos_python.vcproj,
+	  build/msvc80/geos_ruby/geos_ruby.vcproj,
+	  build/msvc80/geos_unit/geos_unit.vcproj,
+	  build/msvc80/geos_xmltester/geos_xmltester.vcproj: Updated Visual
+	  Studio 2005 projects in build/msvc80 with new location of include
+	  and src (#315)
 
 2010-01-13 18:07  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2846] Updated Visual Studio 2008 projects in build/msvc90 with
-	  new location of include and src (#315)
+	* [r2846] build/msvc90/geos_c_dll/geos_c_dll.vcproj,
+	  build/msvc90/geos_lib/geos_lib.vcproj,
+	  build/msvc90/geos_python/geos_python.vcproj,
+	  build/msvc90/geos_ruby/geos_ruby.vcproj,
+	  build/msvc90/geos_unit/geos_unit.vcproj,
+	  build/msvc90/geos_xmltester/geos_xmltester.vcproj: Updated Visual
+	  Studio 2008 projects in build/msvc90 with new location of include
+	  and src (#315)
 
 2010-01-13 17:54  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2845] Updated makefile.vc, nmake.opt, src/makefile.vc files
-	  with new location of include and src (#315)
+	* [r2845] makefile.vc, nmake.opt, src/Makefile.vc: Updated
+	  makefile.vc, nmake.opt, src/makefile.vc files with new location
+	  of include and src (#315)
 
 2010-01-13 03:03  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2844] Updated remaining directories doc, macros, tools, tests,
-	  swig, capi with new src and include location (#315). Fixed
-	  previous updates. Successfull build on Linux.
+	* [r2844] Makefile.am, capi/Makefile.am, doc/Makefile.am,
+	  include/geos/index/sweepline/Makefile.am,
+	  include/geos/operation/Makefile.am, macros/Makefile.am,
+	  src/operation/Makefile.am, swig/Makefile.am,
+	  swig/python/Makefile.am, swig/python/tests/Makefile.am,
+	  swig/ruby/Makefile.am, swig/ruby/test/Makefile.am,
+	  tests/Makefile.am, tests/bigtest/Makefile.am,
+	  tests/geostest/Makefile.am, tests/perf/Makefile.am,
+	  tests/perf/operation/Makefile.am,
+	  tests/perf/operation/buffer/Makefile.am,
+	  tests/thread/Makefile.am, tests/unit/Makefile.am,
+	  tests/xmltester/Makefile.am, tools/Makefile.am: Updated remaining
+	  directories doc, macros, tools, tests, swig, capi with new src
+	  and include location (#315). Fixed previous updates. Successfull
+	  build on Linux.
 
 2010-01-13 02:08  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2843] Updated Makefile.am files in capi subtree after moved to
-	  new location (#315)
+	* [r2843] capi/Makefile.am: Updated Makefile.am files in capi
+	  subtree after moved to new location (#315)
 
 2010-01-13 02:01  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2842] Updated Makefile.am files in src subtree after moved to
-	  new location (#315)
+	* [r2842] src/Makefile.am, src/algorithm/Makefile.am,
+	  src/algorithm/distance/Makefile.am,
+	  src/algorithm/locate/Makefile.am, src/examples/Makefile.am,
+	  src/geom/Makefile.am, src/geom/prep/Makefile.am,
+	  src/geom/util/Makefile.am, src/geomgraph/Makefile.am,
+	  src/geomgraph/index/Makefile.am, src/index/Makefile.am,
+	  src/index/bintree/Makefile.am, src/index/chain/Makefile.am,
+	  src/index/intervalrtree/Makefile.am,
+	  src/index/quadtree/Makefile.am, src/index/strtree/Makefile.am,
+	  src/index/sweepline/Makefile.am, src/io/Makefile.am,
+	  src/linearref/Makefile.am, src/noding/Makefile.am,
+	  src/noding/snapround/Makefile.am, src/operation/Makefile.am,
+	  src/operation/buffer/Makefile.am,
+	  src/operation/distance/Makefile.am,
+	  src/operation/linemerge/Makefile.am,
+	  src/operation/overlay/Makefile.am,
+	  src/operation/polygonize/Makefile.am,
+	  src/operation/predicate/Makefile.am,
+	  src/operation/relate/Makefile.am,
+	  src/operation/union/Makefile.am, src/operation/valid/Makefile.am,
+	  src/planargraph/Makefile.am, src/precision/Makefile.am,
+	  src/simplify/Makefile.am, src/util/Makefile.am: Updated
+	  Makefile.am files in src subtree after moved to new location
+	  (#315)
 
 2010-01-13 00:48  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2841] Updated new source structure in configure.in and root
-	  Makefile.am - part 2 (#315)
+	* [r2841] Makefile.am, configure.in: Updated new source structure
+	  in configure.in and root Makefile.am - part 2 (#315)
 
 2010-01-13 00:45  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2840] Updated new source structure in configure.in and root
-	  Makefile.am (#315)
+	* [r2840] Makefile.am, configure.in: Updated new source structure
+	  in configure.in and root Makefile.am (#315)
 
 2010-01-13 00:43  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2839] Updated Makefile.am files in headers subtree after moved
-	  to new location in include (#315)
+	* [r2839] include/Makefile.am, include/geos/Makefile.am,
+	  include/geos/algorithm/Makefile.am,
+	  include/geos/algorithm/distance/Makefile.am,
+	  include/geos/algorithm/locate/Makefile.am,
+	  include/geos/geom/Makefile.am,
+	  include/geos/geom/prep/Makefile.am,
+	  include/geos/geom/util/Makefile.am,
+	  include/geos/geomgraph/Makefile.am,
+	  include/geos/geomgraph/index/Makefile.am,
+	  include/geos/index/Makefile.am,
+	  include/geos/index/bintree/Makefile.am,
+	  include/geos/index/chain/Makefile.am,
+	  include/geos/index/intervalrtree/Makefile.am,
+	  include/geos/index/quadtree/Makefile.am,
+	  include/geos/index/strtree/Makefile.am,
+	  include/geos/index/sweepline/Makefile.am,
+	  include/geos/io/Makefile.am, include/geos/linearref/Makefile.am,
+	  include/geos/noding/Makefile.am,
+	  include/geos/noding/snapround/Makefile.am,
+	  include/geos/operation/Makefile.am,
+	  include/geos/operation/buffer/Makefile.am,
+	  include/geos/operation/distance/Makefile.am,
+	  include/geos/operation/linemerge/Makefile.am,
+	  include/geos/operation/overlay/Makefile.am,
+	  include/geos/operation/overlay/snap/Makefile.am,
+	  include/geos/operation/polygonize/Makefile.am,
+	  include/geos/operation/predicate/Makefile.am,
+	  include/geos/operation/relate/Makefile.am,
+	  include/geos/operation/union/Makefile.am,
+	  include/geos/operation/valid/Makefile.am,
+	  include/geos/planargraph/Makefile.am,
+	  include/geos/planargraph/algorithm/Makefile.am,
+	  include/geos/precision/Makefile.am,
+	  include/geos/simplify/Makefile.am, include/geos/util/Makefile.am:
+	  Updated Makefile.am files in headers subtree after moved to new
+	  location in include (#315)
 
 2010-01-12 23:58  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2838] Moved source directory to src (#315)
+	* [r2838] source, src: Moved source directory to src (#315)
 
 2010-01-12 23:55  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2837] Moved source/headers directory to include (#315)
+	* [r2837] include, source/headers: Moved source/headers directory
+	  to include (#315)
 
 2009-12-23 12:37  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2835] Removed GNU specific printf formatter
+	* [r2835] tests/xmltester/tinyxml/tinyxml.cpp: Removed GNU specific
+	  printf formatter
 
 2009-12-22 11:38  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2834] Fixed compiler warning about extra tokens at end of
-	  #endif directive in export.h
+	* [r2834] source/headers/geos/export.h: Fixed compiler warning
+	  about extra tokens at end of #endif directive in export.h
 
 2009-12-15 17:29  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2833] Fixed missing CoordinateSequenceFactory.cpp from
-	  makefile.vc (Ticket #313)
+	* [r2833] source/Makefile.vc: Fixed missing
+	  CoordinateSequenceFactory.cpp from makefile.vc (Ticket #313)
 
 2009-12-15 14:44  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2832] * Assert precision model scale must never be negative
+	* [r2832] source/geom/PrecisionModel.cpp,
+	  source/headers/geos/geom/PrecisionModel.h,
+	  source/headers/geos/geom/PrecisionModel.inl: * Assert precision
+	  model scale must never be negative
 	  * Replaced use of operator== against float-point number with
 	  operator<=
 	  * Typos
 
 2009-12-15 14:38  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2831] In WKTWriter, initialise formatting buffer and avoid
-	  unnecessary calls to string constructor.
+	* [r2831] source/io/WKTWriter.cpp: In WKTWriter, initialise
+	  formatting buffer and avoid unnecessary calls to string
+	  constructor.
 
 2009-12-14 19:18  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2828] Update version numbers on trunk to 3.3 series
+	* [r2828] capi/geos_c.h.in, configure.in,
+	  source/headers/geos/version.h.vc: Update version numbers on trunk
+	  to 3.3 series
 
-2009-12-14 19:06  Sandro Santilli <strk at keybit.net>
+2009-12-14 19:06  Sandro Santilli <strk at kbt.io>
 
-	* [r2826] Updated
+	* [r2826] ChangeLog: Updated
 
-2009-12-14 18:58  Sandro Santilli <strk at keybit.net>
+2009-12-14 18:58  Sandro Santilli <strk at kbt.io>
 
-	* [r2825] Don't mention 'troubles' in documentation (some like it
-	  not)
+	* [r2825] source/headers/geos/geom.h: Don't mention 'troubles' in
+	  documentation (some like it not)
 
 2009-12-14 15:23  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2824] * Fixed bug in WKTWriter that was dropping geometry tag
-	  in string representation of geometry
+	* [r2824] source/headers/geos/util/TopologyException.h,
+	  source/io/WKTWriter.cpp: * Fixed bug in WKTWriter that was
+	  dropping geometry tag in string representation of geometry
 	  * Improved message carried by TopologyException
 
-2009-12-11 13:17  Sandro Santilli <strk at keybit.net>
+2009-12-11 13:17  Sandro Santilli <strk at kbt.io>
 
-	* [r2823] Updated
+	* [r2823] ChangeLog: Updated
 
-2009-12-11 13:10  Sandro Santilli <strk at keybit.net>
+2009-12-11 13:10  Sandro Santilli <strk at kbt.io>
 
-	* [r2822] Fix memory leak in
-	  BasicPreparedGeometry::isAnyTargetComponentInTest (issue #308)
-	  and drop Coordinate copies from it.
+	* [r2822] source/geom/prep/BasicPreparedGeometry.cpp: Fix memory
+	  leak in BasicPreparedGeometry::isAnyTargetComponentInTest (issue
+	  #308) and drop Coordinate copies from it.
 
 2009-12-09 11:10  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2821] Fixed generation of platform.h as pre-build step of GEOS
-	  lib project for Visual C++
+	* [r2821] build/msvc10/geos_lib/geos_lib.vcxproj: Fixed generation
+	  of platform.h as pre-build step of GEOS lib project for Visual
+	  C++
 
 2009-12-09 11:05  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2820] * Fixed generation of platform.h as pre-build step of
-	  GEOS lib project for Visual C++ 2005 and 2008
+	* [r2820] build/msvc80/geos_lib/geos_lib.vcproj,
+	  build/msvc90/geos_lib/geos_lib.vcproj: * Fixed generation of
+	  platform.h as pre-build step of GEOS lib project for Visual C++
+	  2005 and 2008
 	  * Added missing headers.
 
 2009-12-08 22:47  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2817] Prepare for RC4 release.
+	* [r2817] ChangeLog, INSTALL, configure.in: Prepare for RC4
+	  release.
 
 2009-12-08 21:40  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2816] Updated svn:ignore patterns
+	* [r2816] tests/geostest, tests/thread: Updated svn:ignore patterns
 
 2009-12-08 21:39  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2815] build/msvc10: fixed list of EXTRA_DIST files
+	* [r2815] build/msvc10/Makefile.am: build/msvc10: fixed list of
+	  EXTRA_DIST files
 
-2009-12-08 17:51  Sandro Santilli <strk at keybit.net>
+2009-12-08 17:51  Sandro Santilli <strk at kbt.io>
 
-	* [r2814] This shouldn't be in the repository !
+	* [r2814] tests/geostest/.deps/geostest.Po: This shouldn't be in
+	  the repository !
 
-2009-12-08 17:50  Sandro Santilli <strk at keybit.net>
+2009-12-08 17:50  Sandro Santilli <strk at kbt.io>
 
-	* [r2813] Remove deprecated/unused files
+	* [r2813] source/algorithm/NonRobustLineIntersector.cpp,
+	  source/algorithm/RobustLineIntersector.cpp: Remove
+	  deprecated/unused files
 
-2009-12-08 17:42  Sandro Santilli <strk at keybit.net>
+2009-12-08 17:42  Sandro Santilli <strk at kbt.io>
 
-	* [r2812] Drop useless (and leaking) heap allocation exposed by the
-	  new prepared linestring intersection test
+	* [r2812]
+	  source/headers/geos/geom/prep/PreparedLineStringIntersects.h:
+	  Drop useless (and leaking) heap allocation exposed by the new
+	  prepared linestring intersection test
 
-2009-12-08 17:42  Sandro Santilli <strk at keybit.net>
+2009-12-08 17:42  Sandro Santilli <strk at kbt.io>
 
-	* [r2811] Add missing destructor of PreparedLineString (closes
-	  ticket #305)
+	* [r2811] source/geom/prep/PreparedLineString.cpp,
+	  source/headers/geos/geom/prep/PreparedLineString.h: Add missing
+	  destructor of PreparedLineString (closes ticket #305)
 
-2009-12-08 17:39  Sandro Santilli <strk at keybit.net>
+2009-12-08 17:39  Sandro Santilli <strk at kbt.io>
 
-	* [r2810] Add test with Prepared linestrings, for the sake of
-	  testing the leak reported in ticket #305
+	* [r2810] tests/unit/capi/GEOSPreparedGeometryTest.cpp: Add test
+	  with Prepared linestrings, for the sake of testing the leak
+	  reported in ticket #305
 
 2009-12-06 01:05  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2809] Updated source code files with svn:keywords property.
+	* [r2809] source/algorithm/Angle.cpp,
+	  source/algorithm/BoundaryNodeRule.cpp,
+	  source/algorithm/distance/DiscreteHausdorffDistance.cpp,
+	  source/algorithm/distance/DistanceToPoint.cpp,
+	  source/headers/geos/algorithm/Angle.h,
+	  source/headers/geos/algorithm/BoundaryNodeRule.h,
+	  source/headers/geos/algorithm/distance/DiscreteHausdorffDistance.h,
+	  source/headers/geos/algorithm/distance/DistanceToPoint.h,
+	  source/headers/geos/algorithm/distance/PointPairDistance.h,
+	  source/headers/geos/export.h,
+	  source/headers/geos/geom/CoordinateSequenceFilter.h,
+	  source/headers/geos/linearref/ExtractLineByLocation.h,
+	  source/headers/geos/linearref/LengthIndexOfPoint.h,
+	  source/headers/geos/linearref/LengthIndexedLine.h,
+	  source/headers/geos/linearref/LengthLocationMap.h,
+	  source/headers/geos/linearref/LinearGeometryBuilder.h,
+	  source/headers/geos/linearref/LinearIterator.h,
+	  source/headers/geos/linearref/LinearLocation.h,
+	  source/headers/geos/linearref/LocationIndexOfLine.h,
+	  source/headers/geos/linearref/LocationIndexOfPoint.h,
+	  source/headers/geos/noding/BasicSegmentString.h,
+	  source/headers/geos/noding/OrientedCoordinateArray.h,
+	  source/headers/geos/operation/buffer/BufferParameters.h,
+	  source/headers/geos/operation/overlay/snap/GeometrySnapper.h,
+	  source/headers/geos/operation/overlay/snap/LineStringSnapper.h,
+	  source/headers/geos/operation/overlay/snap/SnapIfNeededOverlayOp.h,
+	  source/headers/geos/operation/overlay/snap/SnapOverlayOp.h,
+	  source/linearref/ExtractLineByLocation.cpp,
+	  source/linearref/LengthIndexOfPoint.cpp,
+	  source/linearref/LengthIndexedLine.cpp,
+	  source/linearref/LengthLocationMap.cpp,
+	  source/linearref/LinearGeometryBuilder.cpp,
+	  source/linearref/LinearIterator.cpp,
+	  source/linearref/LinearLocation.cpp,
+	  source/linearref/LocationIndexOfLine.cpp,
+	  source/linearref/LocationIndexOfPoint.cpp,
+	  source/noding/BasicSegmentString.cpp,
+	  source/noding/OrientedCoordinateArray.cpp,
+	  source/operation/buffer/BufferInputLineSimplifier.cpp,
+	  source/operation/buffer/BufferInputLineSimplifier.h,
+	  source/operation/buffer/BufferParameters.cpp,
+	  source/operation/overlay/snap/GeometrySnapper.cpp,
+	  source/operation/overlay/snap/LineStringSnapper.cpp,
+	  source/operation/overlay/snap/SnapIfNeededOverlayOp.cpp,
+	  source/operation/overlay/snap/SnapOverlayOp.cpp,
+	  source/operation/valid/IndexedNestedRingTester.cpp,
+	  source/operation/valid/IndexedNestedRingTester.h,
+	  tests/bigtest/bug234.cpp, tests/geostest/geostest.c,
+	  tests/perf/operation/buffer/IteratedBufferStressTest.cpp,
+	  tests/thread/badthreadtest.c, tests/thread/threadtest.c,
+	  tests/unit/algorithm/RobustLineIntersectionTest.cpp,
+	  tests/unit/algorithm/RobustLineIntersectorTest.cpp,
+	  tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp,
+	  tests/unit/capi/GEOSBufferTest.cpp,
+	  tests/unit/capi/GEOSGeomFromWKBTest.cpp,
+	  tests/unit/capi/GEOSPreparedGeometryTest.cpp,
+	  tests/unit/linearref/LengthIndexedLineTest.cpp,
+	  tests/unit/noding/NodedSegmentStringTest.cpp,
+	  tests/unit/operation/buffer/BufferOpTest.cpp,
+	  tests/unit/operation/valid/IsValidTest.cpp,
+	  tests/unit/operation/valid/ValidClosedRingTest.cpp,
+	  tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp,
+	  tests/unit/tut/tut.hpp, tests/unit/tut/tut_assert.hpp,
+	  tests/unit/tut/tut_console_reporter.hpp,
+	  tests/unit/tut/tut_exception.hpp, tests/unit/tut/tut_posix.hpp,
+	  tests/unit/tut/tut_reporter.hpp,
+	  tests/unit/tut/tut_restartable.hpp,
+	  tests/unit/tut/tut_result.hpp, tests/unit/tut/tut_runner.hpp,
+	  tests/xmltester/BufferResultMatcher.cpp,
+	  tests/xmltester/BufferResultMatcher.h,
+	  tests/xmltester/SingleSidedBufferResultMatcher.cpp,
+	  tests/xmltester/SingleSidedBufferResultMatcher.h,
+	  tests/xmltester/tinyxml/tinystr.cpp,
+	  tests/xmltester/tinyxml/tinystr.h,
+	  tests/xmltester/tinyxml/tinyxml.cpp,
+	  tests/xmltester/tinyxml/tinyxml.h,
+	  tests/xmltester/tinyxml/tinyxmlerror.cpp,
+	  tests/xmltester/tinyxml/tinyxmlparser.cpp: Updated source code
+	  files with svn:keywords property.
 
 2009-12-06 01:01  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2808] Updated svn:ignore patterns
+	* [r2808] build/msvc90/geos_xmltester, source: Updated svn:ignore
+	  patterns
 
 2009-12-06 00:56  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2807] Updated svn:ignore patterns
+	* [r2807] build/msvc10, build/msvc10/geos_c_dll,
+	  build/msvc10/geos_lib, build/msvc10/geos_unit,
+	  build/msvc10/geos_xmltester, build/msvc80/geos_xmltester: Updated
+	  svn:ignore patterns
 
 2009-12-06 00:51  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2806] Updated configure.in after moved non-unit tests programs
-	  out of tests/unit (Tickets #240).
+	* [r2806] configure.in: Updated configure.in after moved non-unit
+	  tests programs out of tests/unit (Tickets #240).
 
 2009-12-06 00:47  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2805] Moved non-unit tests programs out of tests/unit: geostest
-	  -> tests/geostest, threadtest -> tests/thread, badthreadtest ->
-	  tests/thread (Ticket #240).
+	* [r2805] tests/Makefile.am, tests/geostest, tests/geostest/.deps,
+	  tests/geostest/.deps/geostest.Po, tests/geostest/Makefile.am,
+	  tests/geostest/brokengrammar, tests/geostest/geostest.c,
+	  tests/geostest/test.expected, tests/geostest/test.wkt,
+	  tests/geostest/testrunner.sh, tests/thread,
+	  tests/thread/Makefile.am, tests/thread/badthreadtest.c,
+	  tests/thread/threadtest.c, tests/unit/Makefile.am,
+	  tests/unit/capi/badthreadtest.c, tests/unit/capi/brokengrammar,
+	  tests/unit/capi/geostest.c, tests/unit/capi/test.expected,
+	  tests/unit/capi/test.wkt, tests/unit/capi/testrunner.sh,
+	  tests/unit/capi/threadtest.c: Moved non-unit tests programs out
+	  of tests/unit: geostest -> tests/geostest, threadtest ->
+	  tests/thread, badthreadtest -> tests/thread (Ticket #240).
 
 2009-12-05 21:59  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2804] Added build/msvc80/geos_xmltester to configure.in
+	* [r2804] configure.in: Added build/msvc80/geos_xmltester to
+	  configure.in
 
 2009-12-05 21:28  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2803] Added geos_xmltester.vcproj project to build/msvc80
+	* [r2803] build/msvc80/Makefile.am, build/msvc80/geos.sln,
+	  build/msvc80/geos_xmltester,
+	  build/msvc80/geos_xmltester/Makefile.am,
+	  build/msvc80/geos_xmltester/geos_xmltester.vcproj: Added
+	  geos_xmltester.vcproj project to build/msvc80
 
 2009-12-05 21:20  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2802] Added GEOS_DLL_EXPORT to preprocessor definitions in
+	* [r2802] build/msvc80/geos_c_dll/geos_c_dll.vcproj: Added
+	  GEOS_DLL_EXPORT to preprocessor definitions in
 	  build/msvc80/geos_c_dll/geos_c_dll.vcproj
 
 2009-12-05 20:30  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2801] small cleanup
+	* [r2801] source/linearref/ExtractLineByLocation.cpp: small cleanup
 
 2009-12-05 20:23  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2800] Updated solution for Visual C++ 8.0 (Visual Studio 2005)
-	  (Ticket #303)
+	* [r2800] build/msvc80/geos.sln,
+	  build/msvc80/geos_c_dll/geos_c_dll.vcproj,
+	  build/msvc80/geos_lib/geos_lib.vcproj,
+	  build/msvc80/geos_unit/geos_unit.vcproj: Updated solution for
+	  Visual C++ 8.0 (Visual Studio 2005) (Ticket #303)
 
 2009-12-05 20:21  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2799] Updated information in README about build/msvcXY
-	  solutions
+	* [r2799] build/README: Updated information in README about
+	  build/msvcXY solutions
 
 2009-12-04 17:38  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2798] Updated configure.in with msvc10
+	* [r2798] configure.in: Updated configure.in with msvc10
 
 2009-12-04 17:05  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2797] Added solution and projects for Visual Studio 2010 (note
-	  msvc90 denotes 9.0 however msvc10 is 10 not 1.0)
+	* [r2797] build/Makefile.am, build/msvc10,
+	  build/msvc10/Makefile.am, build/msvc10/README,
+	  build/msvc10/geos.sln, build/msvc10/geos_c_dll,
+	  build/msvc10/geos_c_dll/Makefile.am,
+	  build/msvc10/geos_c_dll/geos_c_dll.vcxproj,
+	  build/msvc10/geos_c_dll/geos_c_dll.vcxproj.filters,
+	  build/msvc10/geos_lib, build/msvc10/geos_lib/Makefile.am,
+	  build/msvc10/geos_lib/geos_lib.vcxproj,
+	  build/msvc10/geos_lib/geos_lib.vcxproj.filters,
+	  build/msvc10/geos_unit, build/msvc10/geos_unit/Makefile.am,
+	  build/msvc10/geos_unit/geos_unit.vcxproj,
+	  build/msvc10/geos_unit/geos_unit.vcxproj.filters,
+	  build/msvc10/geos_xmltester,
+	  build/msvc10/geos_xmltester/Makefile.am,
+	  build/msvc10/geos_xmltester/geos_xmltester.vcxproj,
+	  build/msvc10/geos_xmltester/geos_xmltester.vcxproj.filters: Added
+	  solution and projects for Visual Studio 2010 (note msvc90 denotes
+	  9.0 however msvc10 is 10 not 1.0)
 
 2009-12-04 15:58  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2796] Missing svn keywords
+	* [r2796] tests/unit/geos_unit.cpp: Missing svn keywords
 
 2009-12-04 15:30  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2795] Small fixes to TUT.
+	* [r2795] tests/unit/tut/tut_exception.hpp: Small fixes to TUT.
 
 2009-12-04 15:20  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2794] Replaced long with std::streampos
+	* [r2794] source/io/WKBReader.cpp: Replaced long with
+	  std::streampos
 
 2009-12-04 15:07  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2793] std::back_inserter requires <iterator> in
-	  geom/CoordinateSequence.cpp
+	* [r2793] source/geom/CoordinateSequence.cpp: std::back_inserter
+	  requires <iterator> in geom/CoordinateSequence.cpp
 
 2009-12-04 13:57  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2792] Updated Visual C++ 9.0 project
+	* [r2792] build/msvc90/geos_lib/geos_lib.vcproj: Updated Visual C++
+	  9.0 project
 
 2009-12-03 22:51  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2791] Yet another try to fix EOL in geos/export.h
+	* [r2791] source/headers/geos/export.h: Yet another try to fix EOL
+	  in geos/export.h
 
 2009-12-03 20:29  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2790] Removed mysterious extra tokens (blanks) from
-	  geos/export.h
+	* [r2790] source/headers/geos/export.h: Removed mysterious extra
+	  tokens (blanks) from geos/export.h
 
 2009-12-03 20:16  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2789] Removed mysterious extra tokens (blanks) from
-	  geos/export.h
+	* [r2789] source/headers/geos/export.h: Removed mysterious extra
+	  tokens (blanks) from geos/export.h
 
 2009-12-03 20:01  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2788] Updated Visual C++ project geos_unit.vcproj
+	* [r2788] build/msvc90/geos_unit/geos_unit.vcproj: Updated Visual
+	  C++ project geos_unit.vcproj
 
 2009-12-03 19:59  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2787] Part 26 of larger changeset - source/headers:
+	* [r2787] source/headers/geos/platform.h.vc,
+	  source/headers/geos/timeval.h: Part 26 of larger changeset -
+	  source/headers:
 	  * Refine FINITE macro - pseudo-POSIX layer in Visual C++ does not
 	  offer long double version of finite()
 	  * Tidy up.
 
 2009-12-03 19:57  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2786] Part 25 of larger changeset - source/headers/geos/util:
+	* [r2786] source/headers/geos/util/UniqueCoordinateArrayFilter.h:
+	  Part 25 of larger changeset - source/headers/geos/util:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Tidy up.
 
 2009-12-03 19:55  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2785] Part 24 of larger changeset -
-	  source/headers/geos/simplify:
+	* [r2785]
+	  source/headers/geos/simplify/DouglasPeuckerLineSimplifier.h,
+	  source/headers/geos/simplify/DouglasPeuckerSimplifier.h,
+	  source/headers/geos/simplify/LineSegmentIndex.h,
+	  source/headers/geos/simplify/TaggedLineSegment.h,
+	  source/headers/geos/simplify/TaggedLineString.h,
+	  source/headers/geos/simplify/TaggedLineStringSimplifier.h,
+	  source/headers/geos/simplify/TaggedLinesSimplifier.h,
+	  source/headers/geos/simplify/TopologyPreservingSimplifier.h: Part
+	  24 of larger changeset - source/headers/geos/simplify:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Tidy up.
 
 2009-12-03 19:52  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2784] Part 23 of larger changeset -
-	  source/headers/geos/planargraph
+	* [r2784] source/headers/geos/planargraph/Subgraph.h: Part 23 of
+	  larger changeset - source/headers/geos/planargraph
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Tidy up.
 
 2009-12-03 19:51  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2783] Part 22 of larger changeset -
+	* [r2783]
+	  source/headers/geos/planargraph/algorithm/ConnectedSubgraphFinder.h:
+	  Part 22 of larger changeset -
 	  source/headers/geos/planargraph/algorithm:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Tidy up.
 
 2009-12-03 19:50  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2782] Part 21 of larger changeset -
+	* [r2782]
+	  source/headers/geos/operation/valid/ConnectedInteriorTester.h:
+	  Part 21 of larger changeset -
 	  source/headers/geos/operation/valid:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Tidy up.
 
 2009-12-03 19:48  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2781] Part 20 of larger changeset -
+	* [r2781]
+	  source/headers/geos/operation/predicate/RectangleContains.h,
+	  source/headers/geos/operation/predicate/RectangleIntersects.h:
+	  Part 20 of larger changeset -
 	  source/headers/geos/operation/overlay:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Unified EOL and style.
@@ -5111,7 +10248,15 @@
 
 2009-12-03 19:46  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2780] Part 19 of larger changeset -
+	* [r2780] source/headers/geos/operation/overlay/ElevationMatrix.h,
+	  source/headers/geos/operation/overlay/snap/GeometrySnapper.h,
+	  source/headers/geos/operation/overlay/snap/LineStringSnapper.h,
+	  source/headers/geos/operation/overlay/snap/SnapIfNeededOverlayOp.h,
+	  source/headers/geos/operation/overlay/snap/SnapOverlayOp.h,
+	  source/headers/geos/operation/overlay/validate/FuzzyPointLocator.h,
+	  source/headers/geos/operation/overlay/validate/OffsetPointGenerator.h,
+	  source/headers/geos/operation/overlay/validate/OverlayResultValidator.h:
+	  Part 19 of larger changeset -
 	  source/headers/geos/operation/overlay:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Tidy up.
@@ -5119,7 +10264,10 @@
 
 2009-12-03 19:45  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2779] Part 18of larger changeset -
+	* [r2779] source/headers/geos/operation/buffer/BufferBuilder.h,
+	  source/headers/geos/operation/buffer/OffsetCurveBuilder.h,
+	  source/headers/geos/operation/buffer/OffsetCurveSetBuilder.h:
+	  Part 18of larger changeset -
 	  source/headers/geos/operation/buffer:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Tidy up.
@@ -5127,7 +10275,20 @@
 
 2009-12-03 19:44  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2778] Part 17 of larger changeset -
+	* [r2778] source/headers/geos/noding/FastNodingValidator.h,
+	  source/headers/geos/noding/IntersectionAdder.h,
+	  source/headers/geos/noding/IntersectionFinderAdder.h,
+	  source/headers/geos/noding/MCIndexNoder.h,
+	  source/headers/geos/noding/MCIndexSegmentSetMutualIntersector.h,
+	  source/headers/geos/noding/NodedSegmentString.h,
+	  source/headers/geos/noding/NodingValidator.h,
+	  source/headers/geos/noding/OrientedCoordinateArray.h,
+	  source/headers/geos/noding/ScaledNoder.h,
+	  source/headers/geos/noding/SegmentNode.h,
+	  source/headers/geos/noding/SegmentNodeList.h,
+	  source/headers/geos/noding/SegmentString.h,
+	  source/headers/geos/noding/SingleInteriorIntersectionFinder.h:
+	  Part 17 of larger changeset -
 	  source/headers/geos/noding/snapround:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Added Visual C++ pragmas.
@@ -5136,8 +10297,11 @@
 
 2009-12-03 19:41  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2777] Part 16 of larger changeset -
-	  source/headers/geos/noding/snapround:
+	* [r2777] source/headers/geos/noding/snapround/HotPixel.h,
+	  source/headers/geos/noding/snapround/MCIndexPointSnapper.h,
+	  source/headers/geos/noding/snapround/MCIndexSnapRounder.h,
+	  source/headers/geos/noding/snapround/SimpleSnapRounder.h: Part 16
+	  of larger changeset - source/headers/geos/noding/snapround:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Added Visual C++ pragmas.
 	  * Tidy up.
@@ -5145,1029 +10309,1899 @@
 
 2009-12-03 19:39  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2776] Part 15 of larger changeset -
-	  source/headers/geos/linearref:
+	* [r2776] source/headers/geos/linearref/LinearIterator.h: Part 15
+	  of larger changeset - source/headers/geos/linearref:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Tidy up.
 
 2009-12-03 19:38  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2775] Part 14 of larger changeset - source/headers/geos/io:
+	* [r2775] source/headers/geos/io/StringTokenizer.h,
+	  source/headers/geos/io/WKBReader.h: Part 14 of larger changeset -
+	  source/headers/geos/io:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Tidy up.
 
 2009-12-03 19:36  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2774] Part 13 of larger changeset -
-	  source/headers/geos/index/chain:
+	* [r2774] source/headers/geos/index/chain/MonotoneChain.h: Part 13
+	  of larger changeset - source/headers/geos/index/chain:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Added Visual C++ pragmas.
 	  * Tidy up.
 
 2009-12-03 19:36  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2773] Part 12 of larger changeset -
-	  source/headers/geos/geomgraph:
+	* [r2773] source/headers/geos/geomgraph/GeometryGraph.h,
+	  source/headers/geos/geomgraph/NodeMap.h: Part 12 of larger
+	  changeset - source/headers/geos/geomgraph:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Added Visual C++ pragmas.
 	  * Tidy up.
 
 2009-12-03 19:30  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2772] Part 11 of larger changeset -
-	  source/headers/geos/geom/util:
+	* [r2772]
+	  source/headers/geos/geom/util/ComponentCoordinateExtracter.h,
+	  source/headers/geos/geom/util/GeometryCombiner.h,
+	  source/headers/geos/geom/util/GeometryTransformer.h,
+	  source/headers/geos/geom/util/LinearComponentExtracter.h,
+	  source/headers/geos/geom/util/PointExtracter.h,
+	  source/headers/geos/geom/util/PolygonExtracter.h: Part 11 of
+	  larger changeset - source/headers/geos/geom/util:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Added Visual C++ pragmas.
 	  * Tidy up.
 
 2009-12-03 19:29  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2771] Part 10of larger changeset -
-	  source/headers/geos/geom/prep:
+	* [r2771]
+	  source/headers/geos/geom/prep/PreparedLineStringIntersects.h,
+	  source/headers/geos/geom/prep/PreparedPolygonPredicate.h: Part
+	  10of larger changeset - source/headers/geos/geom/prep:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Added Visual C++ pragmas.
 	  * Tidy up.
 
 2009-12-03 19:27  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2770] Part 9 of larger changeset -
-	  source/headers/geos/algorithm:
+	* [r2770] source/headers/geos/algorithm/RayCrossingCounter.h,
+	  source/headers/geos/algorithm/distance/DiscreteHausdorffDistance.h,
+	  source/headers/geos/algorithm/locate/IndexedPointInAreaLocator.h:
+	  Part 9 of larger changeset - source/headers/geos/algorithm:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Added Visual C++ pragmas.
 	  * Tidy up.
 
 2009-12-03 19:24  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2769] Part 7 of larger changeset - source/geomgraph:
+	* [r2769] source/geomgraph/PlanarGraph.cpp: Part 7 of larger
+	  changeset - source/geomgraph:
 	  * Fixed incorrect int to string conversion.
 
 2009-12-03 19:23  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2768] Part 7 of larger changeset - source/index/intervalrtree:
+	* [r2768] source/index/intervalrtree/SortedPackedIntervalRTree.cpp:
+	  Part 7 of larger changeset - source/index/intervalrtree:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Added Visual C++ pragmas.
 	  * Tidy up.
 
 2009-12-03 19:22  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2767] Refined changeset r2766 - fix for nested classes required
-	  by GCC.
+	* [r2767] source/noding/ScaledNoder.cpp: Refined changeset r2766 -
+	  fix for nested classes required by GCC.
 
 2009-12-03 19:14  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2766] Part 6 of larger changeset - source/noding:
+	* [r2766] source/noding/OrientedCoordinateArray.cpp,
+	  source/noding/ScaledNoder.cpp: Part 6 of larger changeset -
+	  source/noding:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Added Visual C++ pragmas.
 	  * Tidy up.
 
 2009-12-03 19:11  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2765] Part 5 of larger changeset - source/noding/snapround:
+	* [r2765] source/noding/snapround/MCIndexPointSnapper.cpp: Part 5
+	  of larger changeset - source/noding/snapround:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Added Visual C++ pragmas.
 	  * Tidy up.
 
 2009-12-03 19:03  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2764] Part 4 of larger changeset - source/algorithm:
+	* [r2764] source/algorithm/RobustDeterminant.cpp: Part 4 of larger
+	  changeset - source/algorithm:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Added Visual C++ pragmas.
 	  * Tidy up.
 
 2009-12-03 19:02  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2763] Part 3 of larger changeset - source/operation:
+	* [r2763] source/operation/buffer/BufferInputLineSimplifier.h,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/linemerge/LineSequencer.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/predicate/RectangleIntersects.cpp,
+	  source/operation/valid/IsValidOp.cpp: Part 3 of larger changeset
+	  - source/operation:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Tidy up.
 
 2009-12-03 19:01  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2762] Part 2 of larger changeset - source/simplify:
+	* [r2762] source/simplify/TopologyPreservingSimplifier.cpp: Part 2
+	  of larger changeset - source/simplify:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Cleanup.
 	  * Unified EOL to LF.
 
 2009-12-03 18:56  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2761] Part 1 of larger changeset - tests/unit:
+	* [r2761] tests/unit/algorithm/RobustLineIntersectionTest.cpp,
+	  tests/unit/capi/GEOSBufferTest.cpp,
+	  tests/unit/capi/GEOSGeomFromWKBTest.cpp,
+	  tests/unit/capi/GEOSPreparedGeometryTest.cpp,
+	  tests/unit/geom/CoordinateTest.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/geom/IntersectionMatrixTest.cpp,
+	  tests/unit/geom/LinearRingTest.cpp,
+	  tests/unit/geom/MultiPointTest.cpp,
+	  tests/unit/geom/PolygonTest.cpp,
+	  tests/unit/geom/TriangleTest.cpp,
+	  tests/unit/io/ByteOrderValuesTest.cpp,
+	  tests/unit/linearref/LengthIndexedLineTest.cpp,
+	  tests/unit/noding/BasicSegmentStringTest.cpp,
+	  tests/unit/noding/NodedSegmentStringTest.cpp: Part 1 of larger
+	  changeset - tests/unit:
 	  * Declare noncopyable types as such explicitly (Ticket #304).
 	  * Cleanup.
 	  * Unified EOL to LF.
 
 2009-12-03 14:48  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2760] * Added Visual C++ pragmas.
+	* [r2760] tests/unit/operation/valid/IsValidTest.cpp,
+	  tests/unit/operation/valid/ValidClosedRingTest.cpp,
+	  tests/xmltester/XMLTester.cpp: * Added Visual C++ pragmas.
 	  * Fixed implicit pointer tests for 0 (save typing is a myth, be
 	  explicit is bless).
 
 2009-12-03 13:25  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2759] Updated C++ TUT framework.
+	* [r2759] tests/unit/geos_unit.cpp,
+	  tests/unit/tut/tut_restartable.hpp, tests/xmltester/XMLTester.h:
+	  Updated C++ TUT framework.
 
 2009-12-01 16:16  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2758] Improved WKBReader::readHEX to read WKB encoded with
-	  lower-case hex digits, useful if combined with SQL
+	* [r2758] source/geom/util/CoordinateOperation.cpp,
+	  source/io/WKBReader.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/overlay/snap/SnapIfNeededOverlayOp.cpp,
+	  tests/unit/geos_unit.cpp: Improved WKBReader::readHEX to read WKB
+	  encoded with lower-case hex digits, useful if combined with SQL
 	  encode(geometry, 'hex')
 
 2009-12-01 15:39  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2757] * More fixes for incompleteness of types required by
-	  std::auto_ptr
+	* [r2757] build/msvc90/geos_lib/geos_lib.vcproj,
+	  capi/geos_ts_c.cpp, source/geom/GeometryComponentFilter.cpp,
+	  source/geom/PrecisionModel.cpp,
+	  source/geom/util/GeometryTransformer.cpp,
+	  source/headers/geos/geom/BinaryOp.h,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/noding/Octant.h,
+	  source/headers/geos/noding/ScaledNoder.h,
+	  source/headers/geos/operation/overlay/PointBuilder.h,
+	  source/headers/geos/simplify/TaggedLinesSimplifier.h,
+	  source/headers/geos/util.h, source/index/quadtree/NodeBase.cpp,
+	  source/noding/NodedSegmentString.cpp,
+	  source/noding/ScaledNoder.cpp,
+	  source/noding/snapround/MCIndexPointSnapper.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/snap/GeometrySnapper.cpp,
+	  source/operation/overlay/snap/SnapIfNeededOverlayOp.cpp,
+	  source/operation/overlay/validate/FuzzyPointLocator.cpp,
+	  source/precision/CommonBitsRemover.cpp,
+	  source/simplify/DouglasPeuckerSimplifier.cpp,
+	  tests/unit/geom/DimensionTest.cpp,
+	  tests/unit/geom/MultiPointTest.cpp,
+	  tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp,
+	  tests/unit/operation/buffer/BufferOpTest.cpp: * More fixes for
+	  incompleteness of types required by std::auto_ptr
 	  * Replaced utility macros with disappearing ignorance template
 	  trick.
 
 2009-12-01 13:05  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2756] Tweaked projects for Visual Studio 2008
+	* [r2756] build/msvc90/geos_c_dll/geos_c_dll.vcproj,
+	  build/msvc90/geos_lib/geos_lib.vcproj,
+	  build/msvc90/geos_unit/geos_unit.vcproj,
+	  build/msvc90/geos_xmltester/geos_xmltester.vcproj: Tweaked
+	  projects for Visual Studio 2008
 
 2009-11-30 17:29  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2755] * GEOSFree_r should check context handle even if its not
-	  used - nullptr may indicate logic error.
+	* [r2755] capi/geos_ts_c.cpp, source/geomgraph/EdgeEnd.cpp,
+	  source/headers/geos/geom/CoordinateSequenceFilter.h,
+	  source/precision/EnhancedPrecisionOp.cpp: * GEOSFree_r should
+	  check context handle even if its not used - nullptr may indicate
+	  logic error.
 
 2009-11-30 13:55  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2754] * Fixed incomplete types Geometry and
-	  TaggedLinesSimplifier in TopologyPreservingSimplifier.h -
-	  required by std::auto_ptr
+	* [r2754] build/msvc90/geos_c_dll/geos_c_dll.vcproj,
+	  build/msvc90/geos_lib/geos_lib.vcproj,
+	  build/msvc90/geos_unit/geos_unit.vcproj,
+	  build/msvc90/geos_xmltester/geos_xmltester.vcproj,
+	  source/geom/GeometryCollection.cpp,
+	  source/headers/geos/simplify/TopologyPreservingSimplifier.h,
+	  source/io/WKTReader.cpp,
+	  source/linearref/ExtractLineByLocation.cpp: * Fixed incomplete
+	  types Geometry and TaggedLinesSimplifier in
+	  TopologyPreservingSimplifier.h - required by std::auto_ptr
 	  * Removed unreachable code.
 	  * Removed /Wp64 option from Visual Studio 2008 projects.
 
 2009-11-30 12:25  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2753] Missing log.
+	* [r2753] ChangeLog: Missing log.
 
 2009-11-30 10:48  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2752] * Added missing tests to Visual Studio 2008 project
+	* [r2752] build/msvc90/geos_unit/geos_unit.vcproj,
+	  tests/unit/linearref/LengthIndexedLineTest.cpp: * Added missing
+	  tests to Visual Studio 2008 project
 	  * Replaced call to isnan() missing in Visual C++ with ISNAN macro
 
-2009-11-29 10:09  Sandro Santilli <strk at keybit.net>
+2009-11-29 10:09  Sandro Santilli <strk at kbt.io>
 
-	* [r2749] updated
+	* [r2749] ChangeLog: updated
 
-2009-11-26 21:42  Sandro Santilli <strk at keybit.net>
+2009-11-26 21:42  Sandro Santilli <strk at kbt.io>
 
-	* [r2748] Add ISNAN support in platform.h.in
+	* [r2748] source/headers/geos/platform.h.in: Add ISNAN support in
+	  platform.h.in
 
-2009-11-26 21:34  Sandro Santilli <strk at keybit.net>
+2009-11-26 21:34  Sandro Santilli <strk at kbt.io>
 
-	* [r2747] Remove unreferenced files from the repository
+	* [r2747] source/geom/util/LinearComponentExtracter.cpp,
+	  source/geom/util/Makefile.am,
+	  source/geom/util/PointExtracter.cpp,
+	  source/geom/util/PolygonExtracter.cpp,
+	  source/util/AssertionFailedException.cpp,
+	  source/util/IllegalArgumentException.cpp,
+	  source/util/Makefile.am,
+	  source/util/UnsupportedOperationException.cpp: Remove
+	  unreferenced files from the repository
 
-2009-11-26 21:28  Sandro Santilli <strk at keybit.net>
+2009-11-26 21:28  Sandro Santilli <strk at kbt.io>
 
-	* [r2746] Remove reference to files not needing to go in the dll
+	* [r2746] build/msvc90/geos_lib/geos_lib.vcproj: Remove reference
+	  to files not needing to go in the dll
 
-2009-11-26 21:21  Sandro Santilli <strk at keybit.net>
+2009-11-26 21:21  Sandro Santilli <strk at kbt.io>
 
-	* [r2745] Put destructor of the CoordinateSequenceFactory in an
-	  implementation file, hopefully reducing linker confusion about
-	  RTTI (see ticket #299)
+	* [r2745] source/geom/CoordinateSequenceFactory.cpp,
+	  source/geom/Makefile.am,
+	  source/headers/geos/geom/CoordinateSequenceFactory.h: Put
+	  destructor of the CoordinateSequenceFactory in an implementation
+	  file, hopefully reducing linker confusion about RTTI (see ticket
+	  #299)
 
 2009-11-26 19:49  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2744] Add magic flags for OS/X Snow Leopard only. (#299)
+	* [r2744] configure.in: Add magic flags for OS/X Snow Leopard only.
+	  (#299)
 
 2009-11-26 19:46  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2743] Add vc90 xmltester target to Makefile build
+	* [r2743] configure.in: Add vc90 xmltester target to Makefile build
 
 2009-11-26 18:29  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2742] clarify ownership of returned buffer from wkbwriter
+	* [r2742] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp:
+	  clarify ownership of returned buffer from wkbwriter
 
 2009-11-26 16:32  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2741] Fix missing components in tarball (#300)
+	* [r2741] Makefile.am, build/msvc90/Makefile.am,
+	  build/msvc90/geos_xmltester/Makefile.am: Fix missing components
+	  in tarball (#300)
 
-2009-11-24 18:05  Sandro Santilli <strk at keybit.net>
+2009-11-24 18:05  Sandro Santilli <strk at kbt.io>
 
-	* [r2736] updated
+	* [r2736] ChangeLog: updated
 
-2009-11-23 18:17  Sandro Santilli <strk at keybit.net>
+2009-11-23 18:17  Sandro Santilli <strk at kbt.io>
 
-	* [r2735] Coordiante->Coordinate
+	* [r2735] tests/unit/geom/CoordinateArraySequenceFactoryTest.cpp:
+	  Coordiante->Coordinate
 
-2009-11-23 18:06  Sandro Santilli <strk at keybit.net>
+2009-11-23 18:06  Sandro Santilli <strk at kbt.io>
 
-	* [r2734] Avoid reallocations in Union short-circuit
+	* [r2734] source/geom/Geometry.cpp: Avoid reallocations in Union
+	  short-circuit
 
-2009-11-20 19:58  Sandro Santilli <strk at keybit.net>
+2009-11-20 19:58  Sandro Santilli <strk at kbt.io>
 
-	* [r2733] Don't force heap allocation of vectors for getting nodes
-	  of a NodeMap
+	* [r2733] source/headers/geos/planargraph/NodeMap.h,
+	  source/headers/geos/planargraph/PlanarGraph.h,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/planargraph/NodeMap.cpp: Don't force heap allocation of
+	  vectors for getting nodes of a NodeMap
 
-2009-11-19 21:30  Sandro Santilli <strk at keybit.net>
+2009-11-19 21:30  Sandro Santilli <strk at kbt.io>
 
-	* [r2732] Don't heap-allocate std::vector in
-	  MCIndexSegmentSetMutualIntersector
+	* [r2732]
+	  source/headers/geos/noding/MCIndexSegmentSetMutualIntersector.h,
+	  source/noding/MCIndexSegmentSetMutualIntersector.cpp: Don't
+	  heap-allocate std::vector in MCIndexSegmentSetMutualIntersector
 
-2009-11-19 21:06  Sandro Santilli <strk at keybit.net>
+2009-11-19 21:06  Sandro Santilli <strk at kbt.io>
 
-	* [r2731] Don't force heap allocation when building edge rings for
-	  isValidOp
+	* [r2731] source/headers/geos/operation/overlay/MaximalEdgeRing.h,
+	  source/headers/geos/operation/valid/ConnectedInteriorTester.h,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp: Don't force
+	  heap allocation when building edge rings for isValidOp
 
-2009-11-19 20:29  Sandro Santilli <strk at keybit.net>
+2009-11-19 20:29  Sandro Santilli <strk at kbt.io>
 
-	* [r2730] Don't force heap allocation of std::vector in
-	  PolygonizeGraph when deleting dangles (moved allocation higher,
-	  in Polygonizer, so needs a second pass)
+	* [r2730]
+	  source/headers/geos/operation/polygonize/PolygonizeGraph.h,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/Polygonizer.cpp: Don't force heap
+	  allocation of std::vector in PolygonizeGraph when deleting
+	  dangles (moved allocation higher, in Polygonizer, so needs a
+	  second pass)
 
-2009-11-19 20:20  Sandro Santilli <strk at keybit.net>
+2009-11-19 20:20  Sandro Santilli <strk at kbt.io>
 
-	* [r2729] don't heap-allocate vectors in findLabeledEdgeRings
+	* [r2729]
+	  source/headers/geos/operation/polygonize/PolygonizeGraph.h,
+	  source/operation/polygonize/PolygonizeGraph.cpp: don't
+	  heap-allocate vectors in findLabeledEdgeRings
 
-2009-11-19 19:57  Sandro Santilli <strk at keybit.net>
+2009-11-19 19:57  Sandro Santilli <strk at kbt.io>
 
-	* [r2728] Move heap-allocation of vector used for 'cut-lines'
-	  containment out of PolygonizeGraph (but into Polygonizer)
+	* [r2728]
+	  source/headers/geos/operation/polygonize/PolygonizeGraph.h,
+	  source/headers/geos/operation/polygonize/Polygonizer.h,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/Polygonizer.cpp: Move heap-allocation
+	  of vector used for 'cut-lines' containment out of PolygonizeGraph
+	  (but into Polygonizer)
 
-2009-11-19 19:31  Sandro Santilli <strk at keybit.net>
+2009-11-19 19:31  Sandro Santilli <strk at kbt.io>
 
-	* [r2727] Don't force heap-allocation of vectors for
-	  finding/labeling edge rings
+	* [r2727]
+	  source/headers/geos/operation/polygonize/PolygonizeGraph.h,
+	  source/operation/polygonize/PolygonizeGraph.cpp: Don't force
+	  heap-allocation of vectors for finding/labeling edge rings
 
-2009-11-19 19:19  Sandro Santilli <strk at keybit.net>
+2009-11-19 19:19  Sandro Santilli <strk at kbt.io>
 
-	* [r2726] Change PolygonizeGraph::getEdgeRings signature so not to
-	  force heap allocation of std::vector, update Polygonizer
-	  accordingly
+	* [r2726]
+	  source/headers/geos/operation/polygonize/PolygonizeGraph.h,
+	  source/headers/geos/operation/polygonize/Polygonizer.h,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/Polygonizer.cpp: Change
+	  PolygonizeGraph::getEdgeRings signature so not to force heap
+	  allocation of std::vector, update Polygonizer accordingly
 
-2009-11-19 19:06  Sandro Santilli <strk at keybit.net>
+2009-11-19 19:06  Sandro Santilli <strk at kbt.io>
 
-	* [r2725] Do not heap-allocate vector of Node when finding
-	  intersections
+	* [r2725]
+	  source/headers/geos/operation/polygonize/PolygonizeGraph.h,
+	  source/operation/polygonize/PolygonizeGraph.cpp: Do not
+	  heap-allocate vector of Node when finding intersections
 
-2009-11-19 18:52  Sandro Santilli <strk at keybit.net>
+2009-11-19 18:52  Sandro Santilli <strk at kbt.io>
 
-	* [r2724] Don not allocate the container of STRtree node childs on
-	  the heap
+	* [r2724] source/headers/geos/index/strtree/AbstractNode.h,
+	  source/index/strtree/AbstractNode.cpp: Don not allocate the
+	  container of STRtree node childs on the heap
 
 2009-11-19 16:40  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2723] Apply patch for --disable-cassert compilation (#291)
+	* [r2723] source/geomgraph/index/SegmentIntersector.cpp,
+	  tests/xmltester/XMLTester.cpp: Apply patch for --disable-cassert
+	  compilation (#291)
 
 2009-11-18 18:57  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2720] Reverse the upgrade process a bit, bump up revision
-	  numbers *after* release so that the repo version is always one
-	  higher than the release version. (#287)
+	* [r2720] HOWTO_RELEASE: Reverse the upgrade process a bit, bump up
+	  revision numbers *after* release so that the repo version is
+	  always one higher than the release version. (#287)
 
 2009-11-18 01:28  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2717] Silent warning thrown by Visual C++ about mixed class and
-	  struct keyword (#269)
+	* [r2717] ChangeLog, capi/geos_c.cpp, capi/geos_ts_c.cpp: Silent
+	  warning thrown by Visual C++ about mixed class and struct keyword
+	  (#269)
 
-2009-11-17 20:29  Sandro Santilli <strk at keybit.net>
+2009-11-17 20:29  Sandro Santilli <strk at kbt.io>
 
-	* [r2716] Include capi::GEOSGeomFromWKB test in geos_unit build
-	  (should also distribute as side-effect)
+	* [r2716] tests/unit/Makefile.am: Include capi::GEOSGeomFromWKB
+	  test in geos_unit build (should also distribute as side-effect)
 
-2009-11-11 23:05  Sandro Santilli <strk at keybit.net>
+2009-11-11 23:05  Sandro Santilli <strk at kbt.io>
 
-	* [r2713] Change ChangeLog generation rule so it doesn't mess with
-	  make dist. Reflect in HOW_TO_RELEASE
+	* [r2713] HOWTO_RELEASE, Makefile.am: Change ChangeLog generation
+	  rule so it doesn't mess with make dist. Reflect in HOW_TO_RELEASE
 
-2009-11-10 23:54  Sandro Santilli <strk at keybit.net>
+2009-11-10 23:54  Sandro Santilli <strk at kbt.io>
 
-	* [r2712] Make ChangeLog target non-phony to keep 'distcheck'
-	  happy. Reorganize HOW_TO_RELEASE steps.
+	* [r2712] HOWTO_RELEASE, Makefile.am: Make ChangeLog target
+	  non-phony to keep 'distcheck' happy. Reorganize HOW_TO_RELEASE
+	  steps.
 
-2009-11-10 22:58  Sandro Santilli <strk at keybit.net>
+2009-11-10 22:58  Sandro Santilli <strk at kbt.io>
 
-	* [r2711] Package stuff for release
+	* [r2711] ChangeLog, HOWTO_RELEASE, NEWS: Package stuff for release
 
 2009-10-29 21:06  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2710] Testing linker problem with DEFAULT_QUADRANT_SEGMENT
-	  constant
+	* [r2710] tests/unit/operation/buffer/BufferOpTest.cpp: Testing
+	  linker problem with DEFAULT_QUADRANT_SEGMENT constant
 
 2009-10-29 20:58  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2709] Testing linker problem with DEFAULT_QUADRANT_SEGMENT
-	  constant
+	* [r2709] tests/unit/operation/buffer/BufferOpTest.cpp: Testing
+	  linker problem with DEFAULT_QUADRANT_SEGMENT constant
 
 2009-10-29 20:55  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2708] Fixed CRLF to LF in BufferOpTest.cpp
+	* [r2708] tests/unit/operation/buffer/BufferOpTest.cpp: Fixed CRLF
+	  to LF in BufferOpTest.cpp
 
 2009-10-29 20:47  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2707] Missing include of BufferParameters.h header in
-	  BufferOpTest.cpp unit suite
+	* [r2707] ChangeLog, tests/unit/operation/buffer/BufferOpTest.cpp:
+	  Missing include of BufferParameters.h header in BufferOpTest.cpp
+	  unit suite
 
 2009-10-29 16:20  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2706] Added more test cases for buffer calculation based on A
-	  (input) geometries from XMLTester's buffer.xml and
+	* [r2706] ChangeLog, tests/unit/operation/buffer/BufferOpTest.cpp:
+	  Added more test cases for buffer calculation based on A (input)
+	  geometries from XMLTester's buffer.xml and
 	  TestBufferExternal2.xml tests.
 
 2009-10-29 15:11  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2705] Added test case for buffer of multipolygon from
-	  XMLTester's buffer.xml, case #25 but with custom quadrant
-	  segments
+	* [r2705] ChangeLog, tests/unit/operation/buffer/BufferOpTest.cpp:
+	  Added test case for buffer of multipolygon from XMLTester's
+	  buffer.xml, case #25 but with custom quadrant segments
 
 2009-10-29 14:24  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2704] Added test case for buffer of POINT(0 0) with distance
-	  1.0 and 32 quadrant segments.
+	* [r2704] ChangeLog, tests/unit/operation/buffer/BufferOpTest.cpp:
+	  Added test case for buffer of POINT(0 0) with distance 1.0 and 32
+	  quadrant segments.
 
 2009-10-29 12:33  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2703] * tests/unit/operation/buffer: added unit test case for
-	  BufferOp,
+	* [r2703] ChangeLog, build/msvc90/geos_unit/geos_unit.vcproj,
+	  tests/unit/Makefile.am, tests/unit/operation/buffer,
+	  tests/unit/operation/buffer/BufferOpTest.cpp: *
+	  tests/unit/operation/buffer: added unit test case for BufferOp,
 	  * tests/unit/Makefile.am: added new test case source to Makefile,
 	  * build/msvc90/geos_unit/geos_unit.vcproj: updated Visual C++
 	  project.
 
 2009-10-28 12:09  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2702] tests/xmltester/XMLTester.cpp: declare checkBufferSuccess
-	  function to take geometries by refernece to const
+	* [r2702] ChangeLog, build/msvc90/geos.sln,
+	  tests/xmltester/XMLTester.cpp: tests/xmltester/XMLTester.cpp:
+	  declare checkBufferSuccess function to take geometries by
+	  refernece to const
 
 2009-10-25 18:48  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2701] Fixed typo in getCentroid function comment in Geometry.h.
+	* [r2701] ChangeLog, source/headers/geos/geom/Geometry.h: Fixed
+	  typo in getCentroid function comment in Geometry.h.
 
-2009-10-23 13:04  Sandro Santilli <strk at keybit.net>
+2009-10-23 13:04  Sandro Santilli <strk at kbt.io>
 
-	* [r2700] Have LinearLocation::getSegment return by auto_ptr to
-	  encode ownership transfer. Fixes leak reported in #296.
+	* [r2700] source/headers/geos/linearref/LinearLocation.h,
+	  source/linearref/LinearLocation.cpp: Have
+	  LinearLocation::getSegment return by auto_ptr to encode ownership
+	  transfer. Fixes leak reported in #296.
 
-2009-10-23 12:58  Sandro Santilli <strk at keybit.net>
+2009-10-23 12:58  Sandro Santilli <strk at kbt.io>
 
-	* [r2699] Fix port info, add standard protection notes
+	* [r2699] source/headers/geos/linearref/LinearLocation.h,
+	  source/linearref/LinearLocation.cpp: Fix port info, add standard
+	  protection notes
 
-2009-10-23 10:21  Sandro Santilli <strk at keybit.net>
+2009-10-23 10:21  Sandro Santilli <strk at kbt.io>
 
-	* [r2698] Add destructor to LinearGeometryBuilder fixing memory
-	  leaks there.
+	* [r2698] source/headers/geos/linearref/LinearGeometryBuilder.h,
+	  source/linearref/LinearGeometryBuilder.cpp: Add destructor to
+	  LinearGeometryBuilder fixing memory leaks there.
 
-2009-10-23 10:13  Sandro Santilli <strk at keybit.net>
+2009-10-23 10:13  Sandro Santilli <strk at kbt.io>
 
-	* [r2697] Fix memory access error (#283)
+	* [r2697] source/linearref/LinearGeometryBuilder.cpp: Fix memory
+	  access error (#283)
 
-2009-10-23 10:03  Sandro Santilli <strk at keybit.net>
+2009-10-23 10:03  Sandro Santilli <strk at kbt.io>
 
-	* [r2696] Fix port info for LinearGeometryBuilder
+	* [r2696] source/headers/geos/linearref/LinearGeometryBuilder.h,
+	  source/linearref/LinearGeometryBuilder.cpp: Fix port info for
+	  LinearGeometryBuilder
 
-2009-10-23 09:53  Sandro Santilli <strk at keybit.net>
+2009-10-23 09:53  Sandro Santilli <strk at kbt.io>
 
-	* [r2695] Cleanup LinearGeometrybuilder defs and impl to match
-	  common code style, add note about suspicious things (not written
-	  but noted that the class seems to lack a destructor..)
+	* [r2695] source/headers/geos/linearref/LinearGeometryBuilder.h,
+	  source/linearref/LinearGeometryBuilder.cpp: Cleanup
+	  LinearGeometrybuilder defs and impl to match common code style,
+	  add note about suspicious things (not written but noted that the
+	  class seems to lack a destructor..)
 
-2009-10-23 09:43  Sandro Santilli <strk at keybit.net>
+2009-10-23 09:43  Sandro Santilli <strk at kbt.io>
 
-	* [r2694] Document ownership of return from
-	  LocationIndexOfLine::indicesOf, fix mismatch delete/delete[] in
-	  core and unit test
+	* [r2694] source/headers/geos/linearref/LocationIndexOfLine.h,
+	  source/linearref/LengthIndexedLine.cpp,
+	  source/linearref/LocationIndexOfLine.cpp,
+	  tests/unit/linearref/LengthIndexedLineTest.cpp: Document
+	  ownership of return from LocationIndexOfLine::indicesOf, fix
+	  mismatch delete/delete[] in core and unit test
 
-2009-10-23 09:34  Sandro Santilli <strk at keybit.net>
+2009-10-23 09:34  Sandro Santilli <strk at kbt.io>
 
-	* [r2693] Add virtual dtor to virtual class
+	* [r2693] source/headers/geos/algorithm/BoundaryNodeRule.h: Add
+	  virtual dtor to virtual class
 
-2009-10-23 09:33  Sandro Santilli <strk at keybit.net>
+2009-10-23 09:33  Sandro Santilli <strk at kbt.io>
 
-	* [r2692] add some parens to hush gcc warning
+	* [r2692] tests/xmltester/tinyxml/tinyxmlparser.cpp: add some
+	  parens to hush gcc warning
 
-2009-10-23 09:00  Sandro Santilli <strk at keybit.net>
+2009-10-23 09:00  Sandro Santilli <strk at kbt.io>
 
-	* [r2691] Fix static building of C-api demo/tests
+	* [r2691] tests/unit/Makefile.am: Fix static building of C-api
+	  demo/tests
 
-2009-10-23 08:34  Sandro Santilli <strk at keybit.net>
+2009-10-23 08:34  Sandro Santilli <strk at kbt.io>
 
-	* [r2690] Run the last available-but-no-automatically-run test:
-	  test.xml
+	* [r2690] tests/xmltester/Makefile.am: Run the last
+	  available-but-no-automatically-run test: test.xml
 
-2009-10-22 18:18  Sandro Santilli <strk at keybit.net>
+2009-10-22 18:18  Sandro Santilli <strk at kbt.io>
 
-	* [r2689] Merge buffer_snapround.xml into buffer.xml
+	* [r2689] tests/xmltester/tests/buffer.xml,
+	  tests/xmltester/tests/buffer_snapround.xml: Merge
+	  buffer_snapround.xml into buffer.xml
 
-2009-10-22 17:13  Sandro Santilli <strk at keybit.net>
+2009-10-22 17:13  Sandro Santilli <strk at kbt.io>
 
-	* [r2688] A quick check reveals that the tests in buffer.xml are
-	  not really duplicated elsewhere so we run that test too now as
-	  part of make check
+	* [r2688] tests/xmltester/Makefile.am: A quick check reveals that
+	  the tests in buffer.xml are not really duplicated elsewhere so we
+	  run that test too now as part of make check
 
-2009-10-22 17:07  Sandro Santilli <strk at keybit.net>
+2009-10-22 17:07  Sandro Santilli <strk at kbt.io>
 
-	* [r2687] Give buffer.xml cases a somewhat more helpful
-	  description, fix 4 expected results after eye-checking. This is
-	  still not automatically run case it might contain duplicated
-	  tests from elsewhere (to be checked).
+	* [r2687] tests/xmltester/tests/buffer.xml: Give buffer.xml cases a
+	  somewhat more helpful description, fix 4 expected results after
+	  eye-checking. This is still not automatically run case it might
+	  contain duplicated tests from elsewhere (to be checked).
 
-2009-10-22 16:30  Sandro Santilli <strk at keybit.net>
+2009-10-22 16:30  Sandro Santilli <strk at kbt.io>
 
-	* [r2686] Don't segfault on EOF inside <op> tag
+	* [r2686] tests/xmltester/XMLTester.cpp: Don't segfault on EOF
+	  inside <op> tag
 
-2009-10-20 16:59  Sandro Santilli <strk at keybit.net>
+2009-10-20 16:59  Sandro Santilli <strk at kbt.io>
 
-	* [r2685] Commit MingW bug workaround provided by sanak in ticket
-	  #293
+	* [r2685] source/headers/geos/index/strtree/AbstractSTRtree.h,
+	  source/index/strtree/STRtree.cpp: Commit MingW bug workaround
+	  provided by sanak in ticket #293
 
 2009-10-19 13:38  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2684] tests/xmltester/tests/buffer_snapround.xml: not
-	  well-formed XML, fixed missing attribute.
+	* [r2684] ChangeLog,
+	  build/msvc90/geos_xmltester/geos_xmltester.vcproj,
+	  tests/xmltester/tests/buffer_snapround.xml:
+	  tests/xmltester/tests/buffer_snapround.xml: not well-formed XML,
+	  fixed missing attribute.
 
-2009-10-17 14:47  Sandro Santilli <strk at keybit.net>
+2009-10-17 14:47  Sandro Santilli <strk at kbt.io>
 
-	* [r2683] updated
+	* [r2683] ChangeLog: updated
 
-2009-10-17 14:43  Sandro Santilli <strk at keybit.net>
+2009-10-17 14:43  Sandro Santilli <strk at kbt.io>
 
-	* [r2682] updated
+	* [r2682] NEWS: updated
 
-2009-10-17 14:35  Sandro Santilli <strk at keybit.net>
+2009-10-17 14:35  Sandro Santilli <strk at kbt.io>
 
-	* [r2681] Half the calls to the virtual CoordinateSequence::getAt
-	  when computing line distances
+	* [r2681] source/algorithm/distance/DistanceToPoint.cpp: Half the
+	  calls to the virtual CoordinateSequence::getAt when computing
+	  line distances
 
-2009-10-17 13:40  Sandro Santilli <strk at keybit.net>
+2009-10-17 13:40  Sandro Santilli <strk at kbt.io>
 
-	* [r2680] Drop pointless asserts. We'd abort anyway if vector is
-	  null. For the out-of-range case the GNU c++ lib helps debugging
-	  with an environment variable
+	* [r2680] source/geom/CoordinateArraySequence.cpp: Drop pointless
+	  asserts. We'd abort anyway if vector is null. For the
+	  out-of-range case the GNU c++ lib helps debugging with an
+	  environment variable
 
-2009-10-17 13:04  Sandro Santilli <strk at keybit.net>
+2009-10-17 13:04  Sandro Santilli <strk at kbt.io>
 
-	* [r2679] Add note of private/static nature of implemented methods
+	* [r2679] source/noding/OrientedCoordinateArray.cpp: Add note of
+	  private/static nature of implemented methods
 
-2009-10-17 12:28  Sandro Santilli <strk at keybit.net>
+2009-10-17 12:28  Sandro Santilli <strk at kbt.io>
 
-	* [r2678] Expose a usable toVector method for CoordinateSequence
-	  (ie: no memory management issues). Use it from
-	  Polygon::getCoordinates.
+	* [r2678] source/geom/CoordinateArraySequence.cpp,
+	  source/geom/Polygon.cpp,
+	  source/headers/geos/geom/CoordinateArraySequence.h,
+	  source/headers/geos/geom/CoordinateSequence.h: Expose a usable
+	  toVector method for CoordinateSequence (ie: no memory management
+	  issues). Use it from Polygon::getCoordinates.
 
-2009-10-17 12:02  Sandro Santilli <strk at keybit.net>
+2009-10-17 12:02  Sandro Santilli <strk at kbt.io>
 
-	* [r2677] Don't allocate too much space for polygon points vector.
-	  Fixes bug #294.
+	* [r2677] source/geom/Polygon.cpp: Don't allocate too much space
+	  for polygon points vector. Fixes bug #294.
 
 2009-10-16 15:27  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2676] xmltester/tests: missing double quotes around XML
-	  attribute value in fme.xml.
+	* [r2676] tests/xmltester/tests/fme.xml: xmltester/tests: missing
+	  double quotes around XML attribute value in fme.xml.
 
-2009-10-14 20:42  Sandro Santilli <strk at keybit.net>
+2009-10-14 20:42  Sandro Santilli <strk at kbt.io>
 
-	* [r2675] regenerate ChangeLog
+	* [r2675] ChangeLog: regenerate ChangeLog
 
 2009-10-14 15:32  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2674] * Optional use of GEOS_DEBUG_MSVC_USE_VLD in
-	  XMLTester.cpp
+	* [r2674] build/msvc90/geos_unit/geos_unit.vcproj,
+	  build/msvc90/geos_xmltester/geos_xmltester.vcproj,
+	  tests/xmltester/XMLTester.cpp, tests/xmltester/makefile.vc: *
+	  Optional use of GEOS_DEBUG_MSVC_USE_VLD in XMLTester.cpp
 	  * Added xmltester/makefile.vc as port of testrunner.sh for
 	  Windows to be able to run all tests in batch:
 	  ** nmake /f makefile.vc XMLTESTER=C:\path\to\xmltester.exe
 
 2009-10-14 12:05  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2673] Added msvc90/geos_xmltester to solution for Visual Studio
-	  2008.
+	* [r2673] build/msvc90/geos.sln, build/msvc90/geos_xmltester,
+	  build/msvc90/geos_xmltester/geos_xmltester.vcproj: Added
+	  msvc90/geos_xmltester to solution for Visual Studio 2008.
 
 2009-10-14 12:03  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2672] Enable use of Stalkwalker only if building with Visual
-	  C++ and GEOS_TEST_USE_STACKWALKER is defined.
+	* [r2672] tests/xmltester/XMLTester.cpp: Enable use of Stalkwalker
+	  only if building with Visual C++ and GEOS_TEST_USE_STACKWALKER is
+	  defined.
 
 2009-10-13 16:25  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2671] build/msvc90: added missing sources of linearref package.
-	  Builds with Visual C++ 9.0 (using both project and makefiles).
+	* [r2671] build/msvc90/geos_lib/geos_lib.vcproj: build/msvc90:
+	  added missing sources of linearref package. Builds with Visual
+	  C++ 9.0 (using both project and makefiles).
 
 2009-10-13 14:20  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2670] fix nmake dll export, and link test programs (#288)
+	* [r2670] ChangeLog, capi/geos_c.h.in, nmake.opt,
+	  source/Makefile.vc: fix nmake dll export, and link test programs
+	  (#288)
 
 2009-10-08 12:51  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2669] add new directories and source (#288)
+	* [r2669] source/Makefile.vc, source/dirlist.mk: add new
+	  directories and source (#288)
 
-2009-10-08 08:56  Sandro Santilli <strk at keybit.net>
+2009-10-08 08:56  Sandro Santilli <strk at kbt.io>
 
-	* [r2668] regenerate ChangeLog now that we have all names in
+	* [r2668] ChangeLog: regenerate ChangeLog now that we have all
+	  names in
 
-2009-10-08 08:47  Sandro Santilli <strk at keybit.net>
+2009-10-08 08:47  Sandro Santilli <strk at kbt.io>
 
-	* [r2667] Add other missing names/addresses
+	* [r2667] authors.svn: Add other missing names/addresses
 
-2009-10-08 08:40  Sandro Santilli <strk at keybit.net>
+2009-10-08 08:40  Sandro Santilli <strk at kbt.io>
 
-	* [r2666] Automatically generate the ChangeLog file, forget
-	  ChangeLog.svn.
+	* [r2666] ChangeLog, ChangeLog.svn, Makefile.am: Automatically
+	  generate the ChangeLog file, forget ChangeLog.svn.
 
-2009-10-08 08:38  Sandro Santilli <strk at keybit.net>
+2009-10-08 08:38  Sandro Santilli <strk at kbt.io>
 
-	* [r2665] Don't signal topology exception when it triggers snapping
+	* [r2665] source/operation/overlay/snap/SnapIfNeededOverlayOp.cpp:
+	  Don't signal topology exception when it triggers snapping
 
-2009-10-08 08:37  Sandro Santilli <strk at keybit.net>
+2009-10-08 08:37  Sandro Santilli <strk at kbt.io>
 
-	* [r2664] Add yury, fernando and sean
+	* [r2664] authors.svn: Add yury, fernando and sean
 
-2009-10-08 08:17  Sandro Santilli <strk at keybit.net>
+2009-10-08 08:17  Sandro Santilli <strk at kbt.io>
 
-	* [r2663] Distribute all of TUT
+	* [r2663] tests/unit/Makefile.am: Distribute all of TUT
 
-2009-10-08 07:56  Sandro Santilli <strk at keybit.net>
+2009-10-08 07:56  Sandro Santilli <strk at kbt.io>
 
-	* [r2662] Properly set version for win target
+	* [r2662] capi/geos_c.h.in, source/headers/geos/version.h.vc:
+	  Properly set version for win target
 
-2009-10-07 07:53  Sandro Santilli <strk at keybit.net>
+2009-10-07 07:53  Sandro Santilli <strk at kbt.io>
 
-	* [r2661] Expose single-sided buffering in C-API (see ticket #258)
+	* [r2661] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  tests/unit/capi/GEOSBufferTest.cpp: Expose single-sided buffering
+	  in C-API (see ticket #258)
 
-2009-10-05 21:36  Sandro Santilli <strk at keybit.net>
+2009-10-05 21:36  Sandro Santilli <strk at kbt.io>
 
-	* [r2659] Drop use of static data in DistanceToPoint class (for
-	  thread-safety)
+	* [r2659] source/algorithm/distance/DistanceToPoint.cpp,
+	  source/headers/geos/algorithm/distance/DistanceToPoint.h: Drop
+	  use of static data in DistanceToPoint class (for thread-safety)
 
-2009-10-05 19:29  Sandro Santilli <strk at keybit.net>
+2009-10-05 19:29  Sandro Santilli <strk at kbt.io>
 
-	* [r2658] release memory earlier, and closer to allocation
+	* [r2658] source/operation/buffer/BufferBuilder.cpp: release memory
+	  earlier, and closer to allocation
 
-2009-10-05 19:04  Sandro Santilli <strk at keybit.net>
+2009-10-05 19:04  Sandro Santilli <strk at kbt.io>
 
-	* [r2657] Finish plugging leaks. Make check runs with no leaks.
+	* [r2657] source/operation/buffer/BufferBuilder.cpp: Finish
+	  plugging leaks. Make check runs with no leaks.
 
-2009-10-05 18:42  Sandro Santilli <strk at keybit.net>
+2009-10-05 18:42  Sandro Santilli <strk at kbt.io>
 
-	* [r2656] another memory management doc
+	* [r2656]
+	  source/headers/geos/operation/buffer/OffsetCurveBuilder.h:
+	  another memory management doc
 
-2009-10-05 18:40  Sandro Santilli <strk at keybit.net>
+2009-10-05 18:40  Sandro Santilli <strk at kbt.io>
 
-	* [r2655] Document more memory management issues
+	* [r2655]
+	  source/headers/geos/operation/buffer/OffsetCurveBuilder.h,
+	  source/headers/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp: Document more
+	  memory management issues
 
-2009-10-05 17:20  Sandro Santilli <strk at keybit.net>
+2009-10-05 17:20  Sandro Santilli <strk at kbt.io>
 
-	* [r2654] More memory leak fixes in single-sided buffering
-	  implementation
+	* [r2654] source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp: More memory leak
+	  fixes in single-sided buffering implementation
 
-2009-10-05 16:58  Sandro Santilli <strk at keybit.net>
+2009-10-05 16:58  Sandro Santilli <strk at kbt.io>
 
-	* [r2653] Plug some memory leaks in single sided buffering
-	  implementation
+	* [r2653] source/operation/buffer/BufferBuilder.cpp: Plug some
+	  memory leaks in single sided buffering implementation
 
-2009-10-05 16:44  Sandro Santilli <strk at keybit.net>
+2009-10-05 16:44  Sandro Santilli <strk at kbt.io>
 
-	* [r2652] Document ownership of return from
+	* [r2652] source/headers/geos/operation/linemerge/LineMerger.h:
+	  Document ownership of return from
 	  LineMerger::getMergedLineStrings
 
-2009-10-05 16:40  Sandro Santilli <strk at keybit.net>
+2009-10-05 16:40  Sandro Santilli <strk at kbt.io>
 
-	* [r2651] Alright, there's no standard style yet so this file is
-	  made empty, but good to have for reference
+	* [r2651] .vimrc: Alright, there's no standard style yet so this
+	  file is made empty, but good to have for reference
 
-2009-10-01 10:30  Sandro Santilli <strk at keybit.net>
+2009-10-01 10:30  Sandro Santilli <strk at kbt.io>
 
-	* [r2650] Throw an exception rather than returning NULL if input to
-	  single-sided buffer code is invalid
+	* [r2650] source/operation/buffer/BufferBuilder.cpp: Throw an
+	  exception rather than returning NULL if input to single-sided
+	  buffer code is invalid
 
-2009-10-01 09:10  Sandro Santilli <strk at keybit.net>
+2009-10-01 09:10  Sandro Santilli <strk at kbt.io>
 
-	* [r2649] Have single-sided buffer constructor return a simple
-	  LINESTRING when appropriate rather than forcing a MULTI; import 2
-	  tests from the SAFE testsuite
+	* [r2649] source/operation/buffer/BufferBuilder.cpp,
+	  tests/xmltester/Makefile.am, tests/xmltester/tests/safe,
+	  tests/xmltester/tests/safe/16595.xml,
+	  tests/xmltester/tests/safe/16596.xml,
+	  tests/xmltester/tests/singlesidedbuffer.xml: Have single-sided
+	  buffer constructor return a simple LINESTRING when appropriate
+	  rather than forcing a MULTI; import 2 tests from the SAFE
+	  testsuite
 
-2009-10-01 09:01  Sandro Santilli <strk at keybit.net>
+2009-10-01 09:01  Sandro Santilli <strk at kbt.io>
 
-	* [r2648] Better parse style parameter
+	* [r2648] tests/xmltester/safe_to_xml.sh: Better parse style
+	  parameter
 
-2009-10-01 08:46  Sandro Santilli <strk at keybit.net>
+2009-10-01 08:46  Sandro Santilli <strk at kbt.io>
 
-	* [r2647] Add utility script to import tests from SAFE software
+	* [r2647] tests/xmltester/safe_to_xml.sh: Add utility script to
+	  import tests from SAFE software
 
-2009-10-01 08:42  Sandro Santilli <strk at keybit.net>
+2009-10-01 08:42  Sandro Santilli <strk at kbt.io>
 
-	* [r2646] Don't segfault on xml tests missing precision model
-	  specification
+	* [r2646] tests/xmltester/XMLTester.cpp: Don't segfault on xml
+	  tests missing precision model specification
 
-2009-10-01 07:24  Sandro Santilli <strk at keybit.net>
+2009-10-01 07:24  Sandro Santilli <strk at kbt.io>
 
-	* [r2645] Re-enable the now succeeding test for sharp edges line
-	  single sided buffering
+	* [r2645] tests/xmltester/tests/singlesidedbuffer.xml: Re-enable
+	  the now succeeding test for sharp edges line single sided
+	  buffering
 
-2009-10-01 07:23  Sandro Santilli <strk at keybit.net>
+2009-10-01 07:23  Sandro Santilli <strk at kbt.io>
 
-	* [r2644] Use FLAT/BUTT endcaps when doing single sided buffering
+	* [r2644] source/operation/buffer/BufferBuilder.cpp: Use FLAT/BUTT
+	  endcaps when doing single sided buffering
 
-2009-10-01 07:06  Sandro Santilli <strk at keybit.net>
+2009-10-01 07:06  Sandro Santilli <strk at kbt.io>
 
-	* [r2643] Fix trimming of left/right curves (ie: don't include the
-	  endcap)
+	* [r2643] source/operation/buffer/OffsetCurveBuilder.cpp: Fix
+	  trimming of left/right curves (ie: don't include the endcap)
 
-2009-10-01 06:33  Sandro Santilli <strk at keybit.net>
+2009-10-01 06:33  Sandro Santilli <strk at kbt.io>
 
-	* [r2642] Use snapped intersection between full buffer boundary and
-	  single-sided offset curves
+	* [r2642] source/operation/buffer/BufferBuilder.cpp: Use snapped
+	  intersection between full buffer boundary and single-sided offset
+	  curves
 
-2009-09-30 22:18  Sandro Santilli <strk at keybit.net>
+2009-09-30 22:18  Sandro Santilli <strk at kbt.io>
 
-	* [r2641] Check hausdorff distance in both directions, or an
-	  expected output line longer than the obtained one would be found
-	  as correct
+	* [r2641] tests/xmltester/SingleSidedBufferResultMatcher.cpp: Check
+	  hausdorff distance in both directions, or an expected output line
+	  longer than the obtained one would be found as correct
 
-2009-09-30 20:27  Sandro Santilli <strk at keybit.net>
+2009-09-30 20:27  Sandro Santilli <strk at kbt.io>
 
-	* [r2640] Some debugging for single sided buffers
+	* [r2640] source/operation/buffer/BufferBuilder.cpp: Some debugging
+	  for single sided buffers
 
-2009-09-30 19:18  Sandro Santilli <strk at keybit.net>
+2009-09-30 19:18  Sandro Santilli <strk at kbt.io>
 
-	* [r2639] Another simple test for single-sided buffer (horizontal
-	  line, both directions)
+	* [r2639] tests/xmltester/tests/singlesidedbuffer.xml: Another
+	  simple test for single-sided buffer (horizontal line, both
+	  directions)
 
-2009-09-30 19:07  Sandro Santilli <strk at keybit.net>
+2009-09-30 19:07  Sandro Santilli <strk at kbt.io>
 
-	* [r2638] Another simple test for a vertical line, opposite
-	  direction from previous
+	* [r2638] tests/xmltester/tests/singlesidedbuffer.xml: Another
+	  simple test for a vertical line, opposite direction from previous
 
-2009-09-30 19:05  Sandro Santilli <strk at keybit.net>
+2009-09-30 19:05  Sandro Santilli <strk at kbt.io>
 
-	* [r2637] Add test for single sided buffer on simple, vertical,
-	  line (this one succeeds both left and right)
+	* [r2637] tests/xmltester/tests/singlesidedbuffer.xml: Add test for
+	  single sided buffer on simple, vertical, line (this one succeeds
+	  both left and right)
 
-2009-09-30 18:57  Sandro Santilli <strk at keybit.net>
+2009-09-30 18:57  Sandro Santilli <strk at kbt.io>
 
-	* [r2636] VIM setting for GEOS source code style (3-spaces tabs)
+	* [r2636] .vimrc: VIM setting for GEOS source code style (3-spaces
+	  tabs)
 
-2009-09-30 14:14  Sandro Santilli <strk at keybit.net>
+2009-09-30 14:14  Sandro Santilli <strk at kbt.io>
 
-	* [r2635] Don't use non-standard escape sequences with 'echo'
+	* [r2635] autogen.sh: Don't use non-standard escape sequences with
+	  'echo'
 
-2009-09-28 10:35  Sandro Santilli <strk at keybit.net>
+2009-09-28 10:35  Sandro Santilli <strk at kbt.io>
 
-	* [r2634] Replace no-commercial-use licenced MarkupSTL with tinyXML
+	* [r2634] tests/xmltester/Makefile.am,
+	  tests/xmltester/XMLTester.cpp, tests/xmltester/XMLTester.h,
+	  tests/xmltester/markup, tests/xmltester/tinyxml,
+	  tests/xmltester/tinyxml/tinystr.cpp,
+	  tests/xmltester/tinyxml/tinystr.h,
+	  tests/xmltester/tinyxml/tinyxml.cpp,
+	  tests/xmltester/tinyxml/tinyxml.h,
+	  tests/xmltester/tinyxml/tinyxmlerror.cpp,
+	  tests/xmltester/tinyxml/tinyxmlparser.cpp: Replace
+	  no-commercial-use licenced MarkupSTL with tinyXML
 
-2009-09-28 10:34  Sandro Santilli <strk at keybit.net>
+2009-09-28 10:34  Sandro Santilli <strk at kbt.io>
 
-	* [r2633] Temporarly disable failing single sided buffer test
+	* [r2633] tests/xmltester/tests/singlesidedbuffer.xml: Temporarly
+	  disable failing single sided buffer test
 
-2009-09-28 10:10  Sandro Santilli <strk at keybit.net>
+2009-09-28 10:10  Sandro Santilli <strk at kbt.io>
 
-	* [r2632] Oops, it seems I just don't want a test to fail ;)
+	* [r2632] tests/xmltester/SingleSidedBufferResultMatcher.cpp: Oops,
+	  it seems I just don't want a test to fail ;)
 
-2009-09-28 10:09  Sandro Santilli <strk at keybit.net>
+2009-09-28 10:09  Sandro Santilli <strk at kbt.io>
 
-	* [r2631] Don't give a false success if one of the
-	  expected/obtained geometry is empty
+	* [r2631] tests/xmltester/SingleSidedBufferResultMatcher.cpp: Don't
+	  give a false success if one of the expected/obtained geometry is
+	  empty
 
-2009-09-28 09:03  Sandro Santilli <strk at keybit.net>
+2009-09-28 09:03  Sandro Santilli <strk at kbt.io>
 
-	* [r2630] Add offsets to PrecisionModel text output
+	* [r2630] source/geom/PrecisionModel.cpp: Add offsets to
+	  PrecisionModel text output
 
-2009-09-28 07:02  Sandro Santilli <strk at keybit.net>
+2009-09-28 07:02  Sandro Santilli <strk at kbt.io>
 
-	* [r2629] Add an hausdorff distance based result matcher for
-	  single-sided buffer tests. Enable the single sided buffer test
-	  provided by swong in ticket #215 with minor tweak (expect
-	  multilinestring).
+	* [r2629] tests/xmltester/Makefile.am,
+	  tests/xmltester/SingleSidedBufferResultMatcher.cpp,
+	  tests/xmltester/SingleSidedBufferResultMatcher.h,
+	  tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/tests/singlesidedbuffer.xml: Add an hausdorff
+	  distance based result matcher for single-sided buffer tests.
+	  Enable the single sided buffer test provided by swong in ticket
+	  #215 with minor tweak (expect multilinestring).
 
-2009-09-27 20:43  Sandro Santilli <strk at keybit.net>
+2009-09-27 20:43  Sandro Santilli <strk at kbt.io>
 
-	* [r2628] Re-introduce the singlesided buffer patch. Tests still
-	  need to be worked on.
+	* [r2628] source/headers/geos/operation/buffer/BufferBuilder.h,
+	  source/headers/geos/operation/buffer/OffsetCurveBuilder.h,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveVertexList.h,
+	  tests/xmltester/XMLTester.cpp: Re-introduce the singlesided
+	  buffer patch. Tests still need to be worked on.
 
 2009-09-21 19:47  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2626] Polygon with empty ring causes a crash in WKBReader (from
-	  Tamas Szekeres) (#290)
+	* [r2626] source/geom/Polygon.cpp: Polygon with empty ring causes a
+	  crash in WKBReader (from Tamas Szekeres) (#290)
 
 2009-09-11 18:47  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2624] Patch for #285, C api for project and interpolate, from
-	  David Turner (novalis)
+	* [r2624] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp:
+	  Patch for #285, C api for project and interpolate, from David
+	  Turner (novalis)
 
 2009-08-21 09:54  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2623] Updated svn:ignore property
+	* [r2623] source/headers/geos/linearref, source/linearref: Updated
+	  svn:ignore property
 
 2009-08-21 09:50  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2622] Cleaned compilation warnings in unit tests.
+	* [r2622] source/headers/geos/export.h,
+	  tests/unit/algorithm/RobustLineIntersectionTest.cpp,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp,
+	  tests/unit/geos_unit.cpp: Cleaned compilation warnings in unit
+	  tests.
 
 2009-08-21 09:43  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2621] Updated C++ TUT Framework to latest revision (147) of its
-	  SVN trunk
-
-2009-08-15 13:26  Sandro Santilli <strk at keybit.net>
-
-	* [r2620] Const correctness of LenghtIndexedLine port, by novalis
-	  (issue #284)
+	* [r2621] tests/unit/tut/tut.hpp, tests/unit/tut/tut_assert.hpp,
+	  tests/unit/tut/tut_console_reporter.hpp,
+	  tests/unit/tut/tut_exception.hpp, tests/unit/tut/tut_posix.hpp,
+	  tests/unit/tut/tut_reporter.hpp,
+	  tests/unit/tut/tut_restartable.hpp,
+	  tests/unit/tut/tut_result.hpp, tests/unit/tut/tut_runner.hpp:
+	  Updated C++ TUT Framework to latest revision (147) of its SVN
+	  trunk
+
+2009-08-15 13:26  Sandro Santilli <strk at kbt.io>
+
+	* [r2620] source/headers/geos/linearref/ExtractLineByLocation.h,
+	  source/headers/geos/linearref/LengthIndexOfPoint.h,
+	  source/headers/geos/linearref/LengthIndexedLine.h,
+	  source/headers/geos/linearref/LengthLocationMap.h,
+	  source/headers/geos/linearref/LinearIterator.h,
+	  source/headers/geos/linearref/LinearLocation.h,
+	  source/headers/geos/linearref/LocationIndexOfLine.h,
+	  source/headers/geos/linearref/LocationIndexOfPoint.h,
+	  source/linearref/ExtractLineByLocation.cpp,
+	  source/linearref/LengthIndexOfPoint.cpp,
+	  source/linearref/LengthIndexedLine.cpp,
+	  source/linearref/LengthLocationMap.cpp,
+	  source/linearref/LinearIterator.cpp,
+	  source/linearref/LinearLocation.cpp,
+	  source/linearref/LocationIndexOfLine.cpp,
+	  source/linearref/LocationIndexOfPoint.cpp: Const correctness of
+	  LenghtIndexedLine port, by novalis (issue #284)
 
 2009-08-12 19:01  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2619] Port of JTS linear referencing (from David Turner) (#283)
+	* [r2619] configure.in, source/Makefile.am,
+	  source/headers/geos/Makefile.am,
+	  source/headers/geos/geom/CoordinateList.h,
+	  source/headers/geos/linearref,
+	  source/headers/geos/linearref/ExtractLineByLocation.h,
+	  source/headers/geos/linearref/LengthIndexOfPoint.h,
+	  source/headers/geos/linearref/LengthIndexedLine.h,
+	  source/headers/geos/linearref/LengthLocationMap.h,
+	  source/headers/geos/linearref/LinearGeometryBuilder.h,
+	  source/headers/geos/linearref/LinearIterator.h,
+	  source/headers/geos/linearref/LinearLocation.h,
+	  source/headers/geos/linearref/LocationIndexOfLine.h,
+	  source/headers/geos/linearref/LocationIndexOfPoint.h,
+	  source/headers/geos/linearref/Makefile.am, source/linearref,
+	  source/linearref/ExtractLineByLocation.cpp,
+	  source/linearref/LengthIndexOfPoint.cpp,
+	  source/linearref/LengthIndexedLine.cpp,
+	  source/linearref/LengthLocationMap.cpp,
+	  source/linearref/LinearGeometryBuilder.cpp,
+	  source/linearref/LinearIterator.cpp,
+	  source/linearref/LinearLocation.cpp,
+	  source/linearref/LocationIndexOfLine.cpp,
+	  source/linearref/LocationIndexOfPoint.cpp,
+	  source/linearref/Makefile.am, tests/unit/Makefile.am,
+	  tests/unit/linearref,
+	  tests/unit/linearref/LengthIndexedLineTest.cpp: Port of JTS
+	  linear referencing (from David Turner) (#283)
 
 2009-08-02 23:39  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2618] Removed incomplete GEOS_DEBUG message causing compilation
-	  error because Edge type is incomplete.
+	* [r2618] source/operation/overlay/PolygonBuilder.cpp: Removed
+	  incomplete GEOS_DEBUG message causing compilation error because
+	  Edge type is incomplete.
 
 2009-08-02 23:15  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2617] Fixed broken escape sequence in debug msg.
+	* [r2617] source/geom/GeometryFactory.cpp: Fixed broken escape
+	  sequence in debug msg.
 
 2009-07-17 22:23  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2616] Remove static string in WKB reader (#232)
+	* [r2616] source/headers/geos/io/WKBReader.h,
+	  source/io/WKBReader.cpp: Remove static string in WKB reader
+	  (#232)
 
 2009-07-15 18:56  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2613] Add PreparedGeometry and STRtree support to SWIG (#279)
-	  Schuyler Erle
+	* [r2613] swig/geos.i.in, swig/ruby/ruby.i: Add PreparedGeometry
+	  and STRtree support to SWIG (#279) Schuyler Erle
 
 2009-07-15 18:55  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2612] Add STRtree support to the C API (#278) Schuyler Erle
+	* [r2612] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp:
+	  Add STRtree support to the C API (#278) Schuyler Erle
 
 2009-07-15 18:53  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2611] Add geos::index::strtree::AbstractSTRtree::iterate (#277)
-	  Schuyler Erle
+	* [r2611] source/headers/geos/index/strtree/AbstractSTRtree.h,
+	  source/index/strtree/AbstractSTRtree.cpp: Add
+	  geos::index::strtree::AbstractSTRtree::iterate (#277) Schuyler
+	  Erle
 
-2009-07-06 17:35  Sandro Santilli <strk at keybit.net>
+2009-07-06 17:35  Sandro Santilli <strk at kbt.io>
 
-	* [r2610] Add automated XML test for issue #275. Succeeds here.
+	* [r2610] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/bug275.xml: Add automated XML test for
+	  issue #275. Succeeds here.
 
-2009-07-05 15:58  Sandro Santilli <strk at keybit.net>
+2009-07-05 15:58  Sandro Santilli <strk at kbt.io>
 
-	* [r2609] Apply fix-msvc90-only2.patch by Sanak from issue #273
+	* [r2609] build/msvc90/geos_c_dll/geos_c_dll.vcproj,
+	  build/msvc90/geos_lib/geos_lib.vcproj,
+	  build/msvc90/geos_unit/geos_unit.vcproj: Apply
+	  fix-msvc90-only2.patch by Sanak from issue #273
 
-2009-07-04 16:19  Sandro Santilli <strk at keybit.net>
+2009-07-04 16:19  Sandro Santilli <strk at kbt.io>
 
-	* [r2608] Apply fix-mingw.patch by Sanak (issue #273)
+	* [r2608] source/headers/geos/export.h,
+	  source/headers/geos/platform.h.in: Apply fix-mingw.patch by Sanak
+	  (issue #273)
 
 2009-06-29 16:40  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2607] Include nmake.opt in 'dist' target (#274)
+	* [r2607] Makefile.am: Include nmake.opt in 'dist' target (#274)
 
-2009-06-26 21:59  Sandro Santilli <strk at keybit.net>
+2009-06-26 21:59  Sandro Santilli <strk at kbt.io>
 
-	* [r2605] Fix typo reported in ticket #272
+	* [r2605] source/headers/geos/operation/buffer/BufferOp.h: Fix typo
+	  reported in ticket #272
 
 2009-06-24 21:43  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2604] Expose Hausdorf distance to CAPI (#264) from Vincent
-	  Picavet
+	* [r2604] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  tests/unit/capi/geostest.c, tests/unit/capi/test.expected: Expose
+	  Hausdorf distance to CAPI (#264) from Vincent Picavet
 
 2009-06-24 21:30  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2603] Fix stoopid syntax error.
+	* [r2603] source/headers/geos/platform.h.in: Fix stoopid syntax
+	  error.
 
 2009-06-24 21:21  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2602] Remove old logging noise.
+	* [r2602] configure.in: Remove old logging noise.
 
 2009-06-24 21:19  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2601] Fix for #270, bad definition of isnan() in OS/X <cmath>.
-	  This needs to be tested on other operating systems to make sure
-	  it doesn't break them instead.
+	* [r2601] configure.in, source/headers/geos/platform.h.in: Fix for
+	  #270, bad definition of isnan() in OS/X <cmath>. This needs to be
+	  tested on other operating systems to make sure it doesn't break
+	  them instead.
 
 2009-06-23 22:20  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2599] Fix clean target for VC build (#267)
+	* [r2599] source/Makefile.vc, source/dirlist.mk: Fix clean target
+	  for VC build (#267)
 
 2009-06-23 18:22  Howard Butler <hobu.inc at gmail.com>
 
-	* [r2598] fix up syntax of the makefile related to the patch for
-	  #257
+	* [r2598] source/Makefile.vc: fix up syntax of the makefile related
+	  to the patch for #257
 
-2009-06-22 19:14  Sandro Santilli <strk at keybit.net>
+2009-06-22 19:14  Sandro Santilli <strk at kbt.io>
 
-	* [r2597] Add tests for limited mitre join (now working)
+	* [r2597] tests/unit/capi/GEOSBufferTest.cpp: Add tests for limited
+	  mitre join (now working)
 
-2009-06-22 19:02  Sandro Santilli <strk at keybit.net>
+2009-06-22 19:02  Sandro Santilli <strk at kbt.io>
 
-	* [r2596] Fix bug in BufferParameters::setMitreLimit
+	* [r2596] source/headers/geos/operation/buffer/BufferParameters.h:
+	  Fix bug in BufferParameters::setMitreLimit
 
-2009-06-20 21:29  Sandro Santilli <strk at keybit.net>
+2009-06-20 21:29  Sandro Santilli <strk at kbt.io>
 
-	* [r2595] Bump versions (core 3.2.0, capi 1.6.0, port 1.10.0)
+	* [r2595] configure.in: Bump versions (core 3.2.0, capi 1.6.0, port
+	  1.10.0)
 
-2009-06-20 08:53  Sandro Santilli <strk at keybit.net>
+2009-06-20 08:53  Sandro Santilli <strk at kbt.io>
 
-	* [r2594] Add tests for GEOSBufferWithStyle
+	* [r2594] tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSBufferTest.cpp: Add tests for
+	  GEOSBufferWithStyle
 
-2009-06-19 22:32  Sandro Santilli <strk at keybit.net>
+2009-06-19 22:32  Sandro Santilli <strk at kbt.io>
 
-	* [r2593] Extend the C-API interface to expose a
-	  GEOSBufferWithStyle (and corresponding thread-safe version) and
-	  related enums.
+	* [r2593] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp:
+	  Extend the C-API interface to expose a GEOSBufferWithStyle (and
+	  corresponding thread-safe version) and related enums.
 
-2009-06-16 15:49  Sandro Santilli <strk at keybit.net>
+2009-06-16 15:49  Sandro Santilli <strk at kbt.io>
 
-	* [r2592] Sync RobustDeterminant to JTS-1.10 (r1.15 was just
-	  commented-out code)
+	* [r2592] source/algorithm/RobustDeterminant.cpp,
+	  source/headers/geos/algorithm/RobustDeterminant.h: Sync
+	  RobustDeterminant to JTS-1.10 (r1.15 was just commented-out code)
 
-2009-06-16 15:46  Sandro Santilli <strk at keybit.net>
+2009-06-16 15:46  Sandro Santilli <strk at kbt.io>
 
-	* [r2591] Sync RobustDeterminant to revision 1.14
+	* [r2591] source/algorithm/RobustDeterminant.cpp,
+	  source/headers/geos/algorithm/RobustDeterminant.h: Sync
+	  RobustDeterminant to revision 1.14
 
-2009-06-16 15:43  Sandro Santilli <strk at keybit.net>
+2009-06-16 15:43  Sandro Santilli <strk at kbt.io>
 
-	* [r2590] Port info for RobustDeterminant
+	* [r2590] source/algorithm/RobustDeterminant.cpp,
+	  source/headers/geos/algorithm/RobustDeterminant.h: Port info for
+	  RobustDeterminant
 
-2009-06-16 15:33  Sandro Santilli <strk at keybit.net>
+2009-06-16 15:33  Sandro Santilli <strk at kbt.io>
 
-	* [r2589] Revert single-sided patch. Martin Davis is workin on it
-	  from the JTS side
+	* [r2589] source/headers/geos/operation/buffer/BufferBuilder.h,
+	  source/headers/geos/operation/buffer/OffsetCurveBuilder.h,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveVertexList.h,
+	  tests/xmltester/XMLTester.cpp: Revert single-sided patch. Martin
+	  Davis is workin on it from the JTS side
 
 2009-06-16 00:00  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2581] add reminders on bump versions in various places
+	* [r2581] HOWTO_RELEASE: add reminders on bump versions in various
+	  places
 
 2009-06-15 14:57  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2580] operation.h in Makefile.am twice. (#261)
-
-2009-06-15 14:03  Sandro Santilli <strk at keybit.net>
-
-	* [r2579] Port info in the geos::io namespace
-
-2009-06-15 13:19  Sandro Santilli <strk at keybit.net>
-
-	* [r2578] Put CLocalizer in the correct function. Fixes #260 for
-	  the writing part.
-
-2009-06-15 10:13  Sandro Santilli <strk at keybit.net>
-
-	* [r2577] Stop explicitly using the CLocalizer now that it is done
-	  within WKTReader and WKTWriter (see bug #260). Some deep testing
-	  about this would be good. Make check worked for me with
-	  comma-using locale.
-
-2009-06-15 10:06  Sandro Santilli <strk at keybit.net>
-
-	* [r2576] Use C locale while reading/writing WKT. Fixes bug #260.
-
-2009-06-15 06:57  Sandro Santilli <strk at keybit.net>
-
-	* [r2575] Add XML version of the testcase provided for bug #176
-
-2009-06-08 22:10  Sandro Santilli <strk at keybit.net>
-
-	* [r2572] JTS-1.10 port sync. The whole 'operation' namespace is
-	  complete on this.
-
-2009-06-08 21:53  Sandro Santilli <strk at keybit.net>
-
-	* [r2571] Port info for operation::union
-
-2009-06-08 17:15  Sandro Santilli <strk at keybit.net>
-
-	* [r2570] Sync to JTS-1.10 (port info in SegmentIntersectionTester
-	  was wrong, btw)
-
-2009-06-08 17:12  Sandro Santilli <strk at keybit.net>
-
-	* [r2569] Sync RectangleContains to JTS-1.10
-
-2009-06-08 17:02  Sandro Santilli <strk at keybit.net>
-
-	* [r2568] Port info for operation::predicate (we're at JTS-1.7
-	  here)
-
-2009-06-08 16:58  Sandro Santilli <strk at keybit.net>
-
-	* [r2567] Port info for polygonize operation
-
-2009-06-08 16:46  Sandro Santilli <strk at keybit.net>
-
-	* [r2566] Port info and sync for operation::overlay::validate
-
-2009-06-08 16:26  Sandro Santilli <strk at keybit.net>
-
-	* [r2565] sync LineBuilder to JTS-1.10, completing overlay port
-
-2009-06-08 16:09  Sandro Santilli <strk at keybit.net>
-
-	* [r2564] Complete port info in overlay package
-
-2009-06-08 15:43  Sandro Santilli <strk at keybit.net>
-
-	* [r2563] Add missing setMarked static methods in GraphComponent
-	  and make use of them in LineMerger making it able to be called
-	  incrementally (JTS-1.10)
-
-2009-06-08 15:28  Sandro Santilli <strk at keybit.net>
-
-	* [r2562] Port info in operation::linemerge (a single class is
-	  still at JTS-1.7, needs changes in GeometryGraphComponent.h to go
-	  up)
-
-2009-06-08 10:37  Sandro Santilli <strk at keybit.net>
-
-	* [r2561] GeometryLocation sync to JTS-1.10 (docs)
-
-2009-06-08 10:29  Sandro Santilli <strk at keybit.net>
-
-	* [r2560] DistanceOp sync to JTS-1.10 (renames, docs...)
-
-2009-06-08 10:07  Sandro Santilli <strk at keybit.net>
-
-	* [r2559] Update port info for buffer package (it's really
-	  JTS-1.10)
-
-2009-06-08 09:40  Sandro Santilli <strk at keybit.net>
-
-	* [r2558] Warn at configure time if 64bit integer type isn't found.
-	  See bug #202.
-
-2009-06-08 09:30  Sandro Santilli <strk at keybit.net>
-
-	* [r2557] Install all C++ headers to reduce maintainance costs. C++
-	  API is documented as being unstable after all so let's give users
-	  the power to hurt themselves :)
-
-2009-06-06 22:22  Sandro Santilli <strk at keybit.net>
-
-	* [r2556] Windows C++ exports by Ragi Y. Burhum. See
+	* [r2580] source/headers/geos/Makefile.am: operation.h in
+	  Makefile.am twice. (#261)
+
+2009-06-15 14:03  Sandro Santilli <strk at kbt.io>
+
+	* [r2579] source/headers/geos/io/ByteOrderDataInStream.h,
+	  source/headers/geos/io/ByteOrderDataInStream.inl,
+	  source/headers/geos/io/ByteOrderValues.h,
+	  source/headers/geos/io/CLocalizer.h,
+	  source/headers/geos/io/ParseException.h,
+	  source/headers/geos/io/StringTokenizer.h,
+	  source/headers/geos/io/WKBConstants.h,
+	  source/headers/geos/io/WKBReader.h,
+	  source/headers/geos/io/WKBWriter.h,
+	  source/headers/geos/io/WKTReader.h,
+	  source/headers/geos/io/WKTReader.inl,
+	  source/headers/geos/io/WKTWriter.h,
+	  source/headers/geos/io/Writer.h,
+	  source/io/ByteOrderDataInStream.cpp,
+	  source/io/ByteOrderValues.cpp, source/io/CLocalizer.cpp,
+	  source/io/ParseException.cpp, source/io/StringTokenizer.cpp,
+	  source/io/WKBReader.cpp, source/io/WKBWriter.cpp,
+	  source/io/WKTReader.cpp, source/io/WKTWriter.cpp,
+	  source/io/Writer.cpp: Port info in the geos::io namespace
+
+2009-06-15 13:19  Sandro Santilli <strk at kbt.io>
+
+	* [r2578] source/io/WKTWriter.cpp: Put CLocalizer in the correct
+	  function. Fixes #260 for the writing part.
+
+2009-06-15 10:13  Sandro Santilli <strk at kbt.io>
+
+	* [r2577] capi/geos_ts_c.cpp: Stop explicitly using the CLocalizer
+	  now that it is done within WKTReader and WKTWriter (see bug
+	  #260). Some deep testing about this would be good. Make check
+	  worked for me with comma-using locale.
+
+2009-06-15 10:06  Sandro Santilli <strk at kbt.io>
+
+	* [r2576] source/io/WKTReader.cpp, source/io/WKTWriter.cpp: Use C
+	  locale while reading/writing WKT. Fixes bug #260.
+
+2009-06-15 06:57  Sandro Santilli <strk at kbt.io>
+
+	* [r2575] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/bug176.xml: Add XML version of the testcase
+	  provided for bug #176
+
+2009-06-08 22:10  Sandro Santilli <strk at kbt.io>
+
+	* [r2572]
+	  source/headers/geos/operation/valid/ConnectedInteriorTester.h,
+	  source/headers/geos/operation/valid/IsValidOp.h,
+	  source/headers/geos/operation/valid/QuadtreeNestedRingTester.h,
+	  source/headers/geos/operation/valid/RepeatedPointTester.h,
+	  source/headers/geos/operation/valid/SimpleNestedRingTester.h,
+	  source/headers/geos/operation/valid/SweeplineNestedRingTester.h,
+	  source/headers/geos/operation/valid/TopologyValidationError.h,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/IndexedNestedRingTester.cpp,
+	  source/operation/valid/IndexedNestedRingTester.h,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/operation/valid/TopologyValidationError.cpp: JTS-1.10 port
+	  sync. The whole 'operation' namespace is complete on this.
+
+2009-06-08 21:53  Sandro Santilli <strk at kbt.io>
+
+	* [r2571]
+	  source/headers/geos/operation/union/CascadedPolygonUnion.h,
+	  source/operation/union/CascadedPolygonUnion.cpp: Port info for
+	  operation::union
+
+2009-06-08 17:15  Sandro Santilli <strk at kbt.io>
+
+	* [r2570]
+	  source/headers/geos/operation/predicate/RectangleIntersects.h,
+	  source/headers/geos/operation/predicate/SegmentIntersectionTester.h,
+	  source/operation/predicate/RectangleIntersects.cpp,
+	  source/operation/predicate/SegmentIntersectionTester.cpp: Sync to
+	  JTS-1.10 (port info in SegmentIntersectionTester was wrong, btw)
+
+2009-06-08 17:12  Sandro Santilli <strk at kbt.io>
+
+	* [r2569]
+	  source/headers/geos/operation/predicate/RectangleContains.h,
+	  source/operation/predicate/RectangleContains.cpp: Sync
+	  RectangleContains to JTS-1.10
+
+2009-06-08 17:02  Sandro Santilli <strk at kbt.io>
+
+	* [r2568]
+	  source/headers/geos/operation/predicate/RectangleContains.h,
+	  source/headers/geos/operation/predicate/RectangleIntersects.h,
+	  source/headers/geos/operation/predicate/SegmentIntersectionTester.h,
+	  source/operation/predicate/SegmentIntersectionTester.cpp: Port
+	  info for operation::predicate (we're at JTS-1.7 here)
+
+2009-06-08 16:58  Sandro Santilli <strk at kbt.io>
+
+	* [r2567] source/headers/geos/operation/polygonize/EdgeRing.h,
+	  source/headers/geos/operation/polygonize/PolygonizeDirectedEdge.h,
+	  source/headers/geos/operation/polygonize/PolygonizeEdge.h,
+	  source/headers/geos/operation/polygonize/PolygonizeGraph.h,
+	  source/headers/geos/operation/polygonize/Polygonizer.h,
+	  source/operation/polygonize/EdgeRing.cpp,
+	  source/operation/polygonize/PolygonizeDirectedEdge.cpp,
+	  source/operation/polygonize/PolygonizeEdge.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/Polygonizer.cpp: Port info for
+	  polygonize operation
+
+2009-06-08 16:46  Sandro Santilli <strk at kbt.io>
+
+	* [r2566]
+	  source/headers/geos/operation/overlay/validate/FuzzyPointLocator.h,
+	  source/headers/geos/operation/overlay/validate/OffsetPointGenerator.h,
+	  source/headers/geos/operation/overlay/validate/OverlayResultValidator.h,
+	  source/operation/overlay/validate/FuzzyPointLocator.cpp,
+	  source/operation/overlay/validate/OffsetPointGenerator.cpp,
+	  source/operation/overlay/validate/OverlayResultValidator.cpp:
+	  Port info and sync for operation::overlay::validate
+
+2009-06-08 16:26  Sandro Santilli <strk at kbt.io>
+
+	* [r2565] source/headers/geos/operation/overlay/LineBuilder.h,
+	  source/operation/overlay/LineBuilder.cpp: sync LineBuilder to
+	  JTS-1.10, completing overlay port
+
+2009-06-08 16:09  Sandro Santilli <strk at kbt.io>
+
+	* [r2564] source/headers/geos/operation/overlay/EdgeSetNoder.h,
+	  source/headers/geos/operation/overlay/ElevationMatrix.h,
+	  source/headers/geos/operation/overlay/ElevationMatrixCell.h,
+	  source/headers/geos/operation/overlay/LineBuilder.h,
+	  source/headers/geos/operation/overlay/MinimalEdgeRing.h,
+	  source/headers/geos/operation/overlay/MinimalEdgeRing.inl,
+	  source/headers/geos/operation/overlay/OverlayNodeFactory.h,
+	  source/headers/geos/operation/overlay/PointBuilder.h,
+	  source/operation/overlay/EdgeSetNoder.cpp,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/ElevationMatrixCell.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/overlay/OverlayNodeFactory.cpp,
+	  source/operation/overlay/PointBuilder.cpp: Complete port info in
+	  overlay package
+
+2009-06-08 15:43  Sandro Santilli <strk at kbt.io>
+
+	* [r2563] source/headers/geos/operation/linemerge/LineMerger.h,
+	  source/headers/geos/planargraph/GraphComponent.h,
+	  source/operation/linemerge/LineMerger.cpp: Add missing setMarked
+	  static methods in GraphComponent and make use of them in
+	  LineMerger making it able to be called incrementally (JTS-1.10)
+
+2009-06-08 15:28  Sandro Santilli <strk at kbt.io>
+
+	* [r2562] source/headers/geos/operation/linemerge/EdgeString.h,
+	  source/headers/geos/operation/linemerge/LineMergeDirectedEdge.h,
+	  source/headers/geos/operation/linemerge/LineMergeEdge.h,
+	  source/headers/geos/operation/linemerge/LineMergeGraph.h,
+	  source/headers/geos/operation/linemerge/LineMerger.h,
+	  source/headers/geos/operation/linemerge/LineSequencer.h,
+	  source/operation/linemerge/EdgeString.cpp,
+	  source/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  source/operation/linemerge/LineMergeEdge.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/operation/linemerge/LineSequencer.cpp: Port info in
+	  operation::linemerge (a single class is still at JTS-1.7, needs
+	  changes in GeometryGraphComponent.h to go up)
+
+2009-06-08 10:37  Sandro Santilli <strk at kbt.io>
+
+	* [r2561]
+	  source/headers/geos/operation/distance/GeometryLocation.h,
+	  source/operation/distance/GeometryLocation.cpp: GeometryLocation
+	  sync to JTS-1.10 (docs)
+
+2009-06-08 10:29  Sandro Santilli <strk at kbt.io>
+
+	* [r2560] source/headers/geos/operation/distance/DistanceOp.h,
+	  source/operation/distance/DistanceOp.cpp: DistanceOp sync to
+	  JTS-1.10 (renames, docs...)
+
+2009-06-08 10:07  Sandro Santilli <strk at kbt.io>
+
+	* [r2559] source/headers/geos/operation/buffer/BufferBuilder.h,
+	  source/headers/geos/operation/buffer/BufferOp.h,
+	  source/headers/geos/operation/buffer/BufferParameters.h,
+	  source/headers/geos/operation/buffer/BufferSubgraph.h,
+	  source/headers/geos/operation/buffer/OffsetCurveBuilder.h,
+	  source/headers/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  source/headers/geos/operation/buffer/RightmostEdgeFinder.h,
+	  source/headers/geos/operation/buffer/SubgraphDepthLocater.h,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferInputLineSimplifier.cpp,
+	  source/operation/buffer/BufferInputLineSimplifier.h,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/BufferParameters.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/OffsetCurveVertexList.h,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp: Update port
+	  info for buffer package (it's really JTS-1.10)
+
+2009-06-08 09:40  Sandro Santilli <strk at kbt.io>
+
+	* [r2558] configure.in: Warn at configure time if 64bit integer
+	  type isn't found. See bug #202.
+
+2009-06-08 09:30  Sandro Santilli <strk at kbt.io>
+
+	* [r2557] source/headers/geos/Makefile.am,
+	  source/headers/geos/algorithm/Makefile.am,
+	  source/headers/geos/algorithm/distance/Makefile.am,
+	  source/headers/geos/algorithm/locate/Makefile.am,
+	  source/headers/geos/geom/Makefile.am,
+	  source/headers/geos/geom/prep/Makefile.am,
+	  source/headers/geos/geom/util/Makefile.am,
+	  source/headers/geos/geomgraph/Depth.h,
+	  source/headers/geos/geomgraph/DirectedEdge.h,
+	  source/headers/geos/geomgraph/DirectedEdgeStar.h,
+	  source/headers/geos/geomgraph/Edge.h,
+	  source/headers/geos/geomgraph/EdgeEnd.h,
+	  source/headers/geos/geomgraph/EdgeEndStar.h,
+	  source/headers/geos/geomgraph/EdgeIntersection.h,
+	  source/headers/geos/geomgraph/EdgeIntersectionList.h,
+	  source/headers/geos/geomgraph/EdgeList.h,
+	  source/headers/geos/geomgraph/EdgeNodingValidator.h,
+	  source/headers/geos/geomgraph/EdgeRing.h,
+	  source/headers/geos/geomgraph/GeometryGraph.h,
+	  source/headers/geos/geomgraph/GeometryGraph.inl,
+	  source/headers/geos/geomgraph/GraphComponent.h,
+	  source/headers/geos/geomgraph/Label.h,
+	  source/headers/geos/geomgraph/Makefile.am,
+	  source/headers/geos/geomgraph/Node.h,
+	  source/headers/geos/geomgraph/NodeFactory.h,
+	  source/headers/geos/geomgraph/NodeMap.h,
+	  source/headers/geos/geomgraph/PlanarGraph.h,
+	  source/headers/geos/geomgraph/Position.h,
+	  source/headers/geos/geomgraph/Quadrant.h,
+	  source/headers/geos/geomgraph/TopologyLocation.h,
+	  source/headers/geos/geomgraph/index/Makefile.am,
+	  source/headers/geos/index/Makefile.am,
+	  source/headers/geos/index/bintree/Makefile.am,
+	  source/headers/geos/index/chain/Makefile.am,
+	  source/headers/geos/index/intervalrtree/Makefile.am,
+	  source/headers/geos/index/quadtree/Makefile.am,
+	  source/headers/geos/index/strtree/Makefile.am,
+	  source/headers/geos/index/sweepline/Makefile.am,
+	  source/headers/geos/io/Makefile.am,
+	  source/headers/geos/noding/Makefile.am,
+	  source/headers/geos/noding/snapround/Makefile.am,
+	  source/headers/geos/operation/Makefile.am,
+	  source/headers/geos/operation/buffer/Makefile.am,
+	  source/headers/geos/operation/distance/ConnectedElementLocationFilter.h,
+	  source/headers/geos/operation/distance/ConnectedElementPointFilter.h,
+	  source/headers/geos/operation/distance/DistanceOp.h,
+	  source/headers/geos/operation/distance/GeometryLocation.h,
+	  source/headers/geos/operation/distance/Makefile.am,
+	  source/headers/geos/operation/linemerge/Makefile.am,
+	  source/headers/geos/operation/overlay/Makefile.am,
+	  source/headers/geos/operation/overlay/MaximalEdgeRing.h,
+	  source/headers/geos/operation/overlay/OverlayOp.h,
+	  source/headers/geos/operation/overlay/snap/Makefile.am,
+	  source/headers/geos/operation/polygonize/Makefile.am,
+	  source/headers/geos/operation/predicate/Makefile.am,
+	  source/headers/geos/operation/relate/EdgeEndBuilder.h,
+	  source/headers/geos/operation/relate/EdgeEndBundle.h,
+	  source/headers/geos/operation/relate/EdgeEndBundleStar.h,
+	  source/headers/geos/operation/relate/Makefile.am,
+	  source/headers/geos/operation/relate/RelateComputer.h,
+	  source/headers/geos/operation/relate/RelateNode.h,
+	  source/headers/geos/operation/relate/RelateNodeFactory.h,
+	  source/headers/geos/operation/relate/RelateNodeGraph.h,
+	  source/headers/geos/operation/relate/RelateOp.h,
+	  source/headers/geos/operation/valid/ConsistentAreaTester.h,
+	  source/headers/geos/operation/valid/Makefile.am,
+	  source/headers/geos/planargraph/Makefile.am,
+	  source/headers/geos/planargraph/algorithm/Makefile.am,
+	  source/headers/geos/precision/Makefile.am,
+	  source/headers/geos/simplify/Makefile.am,
+	  source/headers/geos/util/Makefile.am, tests/unit/Makefile.am:
+	  Install all C++ headers to reduce maintainance costs. C++ API is
+	  documented as being unstable after all so let's give users the
+	  power to hurt themselves :)
+
+2009-06-06 22:22  Sandro Santilli <strk at kbt.io>
+
+	* [r2556] build/msvc90/geos_c_dll/geos_c_dll.vcproj,
+	  build/msvc90/geos_lib/geos_lib.vcproj,
+	  build/msvc90/geos_unit/geos_unit.vcproj, capi/geos_c.cpp,
+	  capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  source/headers/geos/Makefile.am,
+	  source/headers/geos/algorithm/CGAlgorithms.h,
+	  source/headers/geos/algorithm/CentroidArea.h,
+	  source/headers/geos/algorithm/CentroidLine.h,
+	  source/headers/geos/algorithm/CentroidPoint.h,
+	  source/headers/geos/algorithm/ConvexHull.h,
+	  source/headers/geos/algorithm/HCoordinate.h,
+	  source/headers/geos/algorithm/InteriorPointArea.h,
+	  source/headers/geos/algorithm/InteriorPointLine.h,
+	  source/headers/geos/algorithm/InteriorPointPoint.h,
+	  source/headers/geos/algorithm/LineIntersector.h,
+	  source/headers/geos/algorithm/MCPointInRing.h,
+	  source/headers/geos/algorithm/MinimumDiameter.h,
+	  source/headers/geos/algorithm/NotRepresentableException.h,
+	  source/headers/geos/algorithm/PointInRing.h,
+	  source/headers/geos/algorithm/PointLocator.h,
+	  source/headers/geos/algorithm/RayCrossingCounter.h,
+	  source/headers/geos/algorithm/RobustDeterminant.h,
+	  source/headers/geos/algorithm/SIRtreePointInRing.h,
+	  source/headers/geos/algorithm/SimplePointInRing.h,
+	  source/headers/geos/export.h,
+	  source/headers/geos/geom/Coordinate.h,
+	  source/headers/geos/geom/CoordinateArraySequence.h,
+	  source/headers/geos/geom/CoordinateArraySequenceFactory.h,
+	  source/headers/geos/geom/CoordinateFilter.h,
+	  source/headers/geos/geom/CoordinateList.h,
+	  source/headers/geos/geom/CoordinateSequence.h,
+	  source/headers/geos/geom/CoordinateSequenceFactory.h,
+	  source/headers/geos/geom/Dimension.h,
+	  source/headers/geos/geom/Envelope.h,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/GeometryCollection.h,
+	  source/headers/geos/geom/GeometryComponentFilter.h,
+	  source/headers/geos/geom/GeometryFactory.h,
+	  source/headers/geos/geom/GeometryFilter.h,
+	  source/headers/geos/geom/GeometryList.h,
+	  source/headers/geos/geom/IntersectionMatrix.h,
+	  source/headers/geos/geom/LineSegment.h,
+	  source/headers/geos/geom/LineString.h,
+	  source/headers/geos/geom/LinearRing.h,
+	  source/headers/geos/geom/Location.h,
+	  source/headers/geos/geom/MultiLineString.h,
+	  source/headers/geos/geom/MultiPoint.h,
+	  source/headers/geos/geom/MultiPolygon.h,
+	  source/headers/geos/geom/Point.h,
+	  source/headers/geos/geom/Polygon.h,
+	  source/headers/geos/geom/PrecisionModel.h,
+	  source/headers/geos/geom/Triangle.h,
+	  source/headers/geos/geom/util/CoordinateOperation.h,
+	  source/headers/geos/geom/util/GeometryEditor.h,
+	  source/headers/geos/geom/util/GeometryEditorOperation.h,
+	  source/headers/geos/geom/util/GeometryTransformer.h,
+	  source/headers/geos/geom/util/LinearComponentExtracter.h,
+	  source/headers/geos/geom/util/PointExtracter.h,
+	  source/headers/geos/geom/util/PolygonExtracter.h,
+	  source/headers/geos/geom/util/ShortCircuitedGeometryVisitor.h,
+	  source/headers/geos/geomgraph/Depth.h,
+	  source/headers/geos/geomgraph/DirectedEdge.h,
+	  source/headers/geos/geomgraph/DirectedEdgeStar.h,
+	  source/headers/geos/geomgraph/Edge.h,
+	  source/headers/geos/geomgraph/EdgeEnd.h,
+	  source/headers/geos/geomgraph/EdgeEndStar.h,
+	  source/headers/geos/geomgraph/EdgeIntersection.h,
+	  source/headers/geos/geomgraph/EdgeIntersectionList.h,
+	  source/headers/geos/geomgraph/EdgeList.h,
+	  source/headers/geos/geomgraph/EdgeNodingValidator.h,
+	  source/headers/geos/geomgraph/EdgeRing.h,
+	  source/headers/geos/geomgraph/GeometryGraph.h,
+	  source/headers/geos/geomgraph/GraphComponent.h,
+	  source/headers/geos/geomgraph/Label.h,
+	  source/headers/geos/geomgraph/Node.h,
+	  source/headers/geos/geomgraph/NodeFactory.h,
+	  source/headers/geos/geomgraph/NodeMap.h,
+	  source/headers/geos/geomgraph/PlanarGraph.h,
+	  source/headers/geos/geomgraph/Position.h,
+	  source/headers/geos/geomgraph/Quadrant.h,
+	  source/headers/geos/geomgraph/TopologyLocation.h,
+	  source/headers/geos/geomgraph/index/EdgeSetIntersector.h,
+	  source/headers/geos/geomgraph/index/MonotoneChain.h,
+	  source/headers/geos/geomgraph/index/MonotoneChainEdge.h,
+	  source/headers/geos/geomgraph/index/MonotoneChainIndexer.h,
+	  source/headers/geos/geomgraph/index/SegmentIntersector.h,
+	  source/headers/geos/geomgraph/index/SimpleEdgeSetIntersector.h,
+	  source/headers/geos/geomgraph/index/SimpleMCSweepLineIntersector.h,
+	  source/headers/geos/geomgraph/index/SimpleSweepLineIntersector.h,
+	  source/headers/geos/geomgraph/index/SweepLineEvent.h,
+	  source/headers/geos/geomgraph/index/SweepLineEventObj.h,
+	  source/headers/geos/geomgraph/index/SweepLineSegment.h,
+	  source/headers/geos/index/ItemVisitor.h,
+	  source/headers/geos/index/SpatialIndex.h,
+	  source/headers/geos/index/bintree/Bintree.h,
+	  source/headers/geos/index/bintree/Interval.h,
+	  source/headers/geos/index/bintree/Key.h,
+	  source/headers/geos/index/bintree/Node.h,
+	  source/headers/geos/index/bintree/NodeBase.h,
+	  source/headers/geos/index/bintree/Root.h,
+	  source/headers/geos/index/chain/MonotoneChain.h,
+	  source/headers/geos/index/chain/MonotoneChainBuilder.h,
+	  source/headers/geos/index/chain/MonotoneChainOverlapAction.h,
+	  source/headers/geos/index/chain/MonotoneChainSelectAction.h,
+	  source/headers/geos/index/quadtree/DoubleBits.h,
+	  source/headers/geos/index/quadtree/IntervalSize.h,
+	  source/headers/geos/index/quadtree/Key.h,
+	  source/headers/geos/index/quadtree/Node.h,
+	  source/headers/geos/index/quadtree/NodeBase.h,
+	  source/headers/geos/index/quadtree/Quadtree.h,
+	  source/headers/geos/index/quadtree/Root.h,
+	  source/headers/geos/index/strtree/AbstractNode.h,
+	  source/headers/geos/index/strtree/AbstractSTRtree.h,
+	  source/headers/geos/index/strtree/Boundable.h,
+	  source/headers/geos/index/strtree/Interval.h,
+	  source/headers/geos/index/strtree/ItemBoundable.h,
+	  source/headers/geos/index/strtree/SIRtree.h,
+	  source/headers/geos/index/strtree/STRtree.h,
+	  source/headers/geos/index/sweepline/SweepLineEvent.h,
+	  source/headers/geos/index/sweepline/SweepLineIndex.h,
+	  source/headers/geos/index/sweepline/SweepLineInterval.h,
+	  source/headers/geos/index/sweepline/SweepLineOverlapAction.h,
+	  source/headers/geos/inline.h,
+	  source/headers/geos/io/ByteOrderDataInStream.h,
+	  source/headers/geos/io/ByteOrderValues.h,
+	  source/headers/geos/io/CLocalizer.h,
+	  source/headers/geos/io/ParseException.h,
+	  source/headers/geos/io/StringTokenizer.h,
+	  source/headers/geos/io/WKBReader.h,
+	  source/headers/geos/io/WKBWriter.h,
+	  source/headers/geos/io/WKTReader.h,
+	  source/headers/geos/io/WKTWriter.h,
+	  source/headers/geos/io/Writer.h,
+	  source/headers/geos/noding/IntersectionAdder.h,
+	  source/headers/geos/noding/IntersectionFinderAdder.h,
+	  source/headers/geos/noding/IteratedNoder.h,
+	  source/headers/geos/noding/MCIndexNoder.h,
+	  source/headers/geos/noding/Noder.h,
+	  source/headers/geos/noding/NodingValidator.h,
+	  source/headers/geos/noding/Octant.h,
+	  source/headers/geos/noding/OrientedCoordinateArray.h,
+	  source/headers/geos/noding/ScaledNoder.h,
+	  source/headers/geos/noding/SegmentIntersector.h,
+	  source/headers/geos/noding/SegmentNode.h,
+	  source/headers/geos/noding/SegmentNodeList.h,
+	  source/headers/geos/noding/SegmentString.h,
+	  source/headers/geos/noding/SimpleNoder.h,
+	  source/headers/geos/noding/SinglePassNoder.h,
+	  source/headers/geos/noding/snapround/HotPixel.h,
+	  source/headers/geos/noding/snapround/MCIndexPointSnapper.h,
+	  source/headers/geos/noding/snapround/MCIndexSnapRounder.h,
+	  source/headers/geos/noding/snapround/SimpleSnapRounder.h,
+	  source/headers/geos/operation/GeometryGraphOperation.h,
+	  source/headers/geos/operation/IsSimpleOp.h,
+	  source/headers/geos/operation/buffer/BufferBuilder.h,
+	  source/headers/geos/operation/buffer/BufferOp.h,
+	  source/headers/geos/operation/buffer/BufferSubgraph.h,
+	  source/headers/geos/operation/buffer/OffsetCurveBuilder.h,
+	  source/headers/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  source/headers/geos/operation/buffer/RightmostEdgeFinder.h,
+	  source/headers/geos/operation/buffer/SubgraphDepthLocater.h,
+	  source/headers/geos/operation/distance/ConnectedElementLocationFilter.h,
+	  source/headers/geos/operation/distance/ConnectedElementPointFilter.h,
+	  source/headers/geos/operation/distance/DistanceOp.h,
+	  source/headers/geos/operation/distance/GeometryLocation.h,
+	  source/headers/geos/operation/linemerge/EdgeString.h,
+	  source/headers/geos/operation/linemerge/LineMergeDirectedEdge.h,
+	  source/headers/geos/operation/linemerge/LineMergeEdge.h,
+	  source/headers/geos/operation/linemerge/LineMergeGraph.h,
+	  source/headers/geos/operation/linemerge/LineMerger.h,
+	  source/headers/geos/operation/linemerge/LineSequencer.h,
+	  source/headers/geos/operation/overlay/EdgeSetNoder.h,
+	  source/headers/geos/operation/overlay/ElevationMatrix.h,
+	  source/headers/geos/operation/overlay/ElevationMatrixCell.h,
+	  source/headers/geos/operation/overlay/LineBuilder.h,
+	  source/headers/geos/operation/overlay/MaximalEdgeRing.h,
+	  source/headers/geos/operation/overlay/MinimalEdgeRing.h,
+	  source/headers/geos/operation/overlay/OverlayNodeFactory.h,
+	  source/headers/geos/operation/overlay/OverlayOp.h,
+	  source/headers/geos/operation/overlay/PointBuilder.h,
+	  source/headers/geos/operation/overlay/PolygonBuilder.h,
+	  source/headers/geos/operation/overlay/snap/GeometrySnapper.h,
+	  source/headers/geos/operation/overlay/snap/LineStringSnapper.h,
+	  source/headers/geos/operation/overlay/snap/SnapOverlayOp.h,
+	  source/headers/geos/operation/polygonize/EdgeRing.h,
+	  source/headers/geos/operation/polygonize/PolygonizeDirectedEdge.h,
+	  source/headers/geos/operation/polygonize/PolygonizeEdge.h,
+	  source/headers/geos/operation/polygonize/PolygonizeGraph.h,
+	  source/headers/geos/operation/polygonize/Polygonizer.h,
+	  source/headers/geos/operation/predicate/RectangleContains.h,
+	  source/headers/geos/operation/predicate/RectangleIntersects.h,
+	  source/headers/geos/operation/predicate/SegmentIntersectionTester.h,
+	  source/headers/geos/operation/relate/EdgeEndBuilder.h,
+	  source/headers/geos/operation/relate/EdgeEndBundle.h,
+	  source/headers/geos/operation/relate/EdgeEndBundleStar.h,
+	  source/headers/geos/operation/relate/RelateComputer.h,
+	  source/headers/geos/operation/relate/RelateNode.h,
+	  source/headers/geos/operation/relate/RelateNodeFactory.h,
+	  source/headers/geos/operation/relate/RelateNodeGraph.h,
+	  source/headers/geos/operation/relate/RelateOp.h,
+	  source/headers/geos/operation/valid/ConnectedInteriorTester.h,
+	  source/headers/geos/operation/valid/ConsistentAreaTester.h,
+	  source/headers/geos/operation/valid/IsValidOp.h,
+	  source/headers/geos/operation/valid/QuadtreeNestedRingTester.h,
+	  source/headers/geos/operation/valid/RepeatedPointTester.h,
+	  source/headers/geos/operation/valid/SimpleNestedRingTester.h,
+	  source/headers/geos/operation/valid/SweeplineNestedRingTester.h,
+	  source/headers/geos/operation/valid/TopologyValidationError.h,
+	  source/headers/geos/planargraph/DirectedEdge.h,
+	  source/headers/geos/planargraph/DirectedEdgeStar.h,
+	  source/headers/geos/planargraph/Edge.h,
+	  source/headers/geos/planargraph/GraphComponent.h,
+	  source/headers/geos/planargraph/Node.h,
+	  source/headers/geos/planargraph/NodeMap.h,
+	  source/headers/geos/planargraph/PlanarGraph.h,
+	  source/headers/geos/planargraph/Subgraph.h,
+	  source/headers/geos/planargraph/algorithm/ConnectedSubgraphFinder.h,
+	  source/headers/geos/precision/CommonBits.h,
+	  source/headers/geos/precision/CommonBitsOp.h,
+	  source/headers/geos/precision/CommonBitsRemover.h,
+	  source/headers/geos/precision/EnhancedPrecisionOp.h,
+	  source/headers/geos/precision/SimpleGeometryPrecisionReducer.h,
+	  source/headers/geos/profiler.h,
+	  source/headers/geos/simplify/DouglasPeuckerLineSimplifier.h,
+	  source/headers/geos/simplify/DouglasPeuckerSimplifier.h,
+	  source/headers/geos/simplify/LineSegmentIndex.h,
+	  source/headers/geos/simplify/TaggedLineSegment.h,
+	  source/headers/geos/simplify/TaggedLineString.h,
+	  source/headers/geos/simplify/TaggedLineStringSimplifier.h,
+	  source/headers/geos/simplify/TaggedLinesSimplifier.h,
+	  source/headers/geos/simplify/TopologyPreservingSimplifier.h,
+	  source/headers/geos/unload.h, source/headers/geos/util/Assert.h,
+	  source/headers/geos/util/AssertionFailedException.h,
+	  source/headers/geos/util/CoordinateArrayFilter.h,
+	  source/headers/geos/util/GEOSException.h,
+	  source/headers/geos/util/GeometricShapeFactory.h,
+	  source/headers/geos/util/IllegalArgumentException.h,
+	  source/headers/geos/util/TopologyException.h,
+	  source/headers/geos/util/UniqueCoordinateArrayFilter.h,
+	  source/headers/geos/util/UnsupportedOperationException.h,
+	  source/index/intervalrtree/SortedPackedIntervalRTree.cpp: Windows
+	  C++ exports by Ragi Y. Burhum. See
 	  http://lists.osgeo.org/pipermail/geos-devel/2009-June/004190.html
 
-2009-06-06 22:17  Sandro Santilli <strk at keybit.net>
-
-	* [r2555] fix headers inclusion warnings
-
-2009-06-06 21:14  Sandro Santilli <strk at keybit.net>
-
-	* [r2554] Use real NaNs rather than fake them. Applies patch in
-	  ticket #259. Adds autoconf checks for finite() and isfinite() and
-	  makes use of them for unix systems (platform.h)
-
-2009-06-06 00:55  Sandro Santilli <strk at keybit.net>
-
-	* [r2553] Complete port info and headers exposion for
-	  operation::distance package
-
-2009-06-05 18:18  Sandro Santilli <strk at keybit.net>
-
-	* [r2552] JTS-1.10 OverlayOp
-
-2009-06-05 18:12  Sandro Santilli <strk at keybit.net>
-
-	* [r2551] Add missing static function
-
-2009-06-05 18:02  Sandro Santilli <strk at keybit.net>
-
-	* [r2550] JTS-1.10 sync
-
-2009-06-05 17:50  Sandro Santilli <strk at keybit.net>
-
-	* [r2549] Boundary Node Rule support in relateOp. JTS-1.10.
-
-2009-06-05 13:44  Sandro Santilli <strk at keybit.net>
-
-	* [r2548] geomgraph package fully sync'ed to JTS-1.10 now
-
-2009-06-05 13:41  Sandro Santilli <strk at keybit.net>
-
-	* [r2547] added BoundaryNodeRule capability to EdgeEnds
-
-2009-06-05 12:42  Sandro Santilli <strk at keybit.net>
-
-	* [r2546] Add support for custom BoundaryNodeRule bringing
-	  GeometryGraph to JTS-1.10
-
-2009-06-05 12:07  Sandro Santilli <strk at keybit.net>
-
-	* [r2545] Complete port info in geomgraph package
-
-2009-06-05 11:03  Sandro Santilli <strk at keybit.net>
-
-	* [r2544] Port info in the geomgraph package (unfinished); fix
-	  compiler warning in GeometryGraph and make code more readable;
-
-2009-06-05 10:23  Sandro Santilli <strk at keybit.net>
-
-	* [r2543] Add port info and introduce header exposion info. Relate
-	  op results partially in JTS-1.7 still.
-
-2009-06-05 09:36  Sandro Santilli <strk at keybit.net>
-
-	* [r2542] typo in doxygen index page
-
-2009-06-05 09:35  Sandro Santilli <strk at keybit.net>
-
-	* [r2541] Fix doxygen link
-
-2009-06-05 09:28  Sandro Santilli <strk at keybit.net>
-
-	* [r2540] Fix deletion of void pointer in IntervalRTreeLeafNode,
-	  document ownership, fix callers tracking allocations to avoid
-	  leaks. Fixes bug #227.
-
-2009-06-05 09:15  Sandro Santilli <strk at keybit.net>
-
-	* [r2539] Allow generating ChangeLog from external build tree
+2009-06-06 22:17  Sandro Santilli <strk at kbt.io>
+
+	* [r2555] tests/xmltester/SimpleWKTTester.cpp: fix headers
+	  inclusion warnings
+
+2009-06-06 21:14  Sandro Santilli <strk at kbt.io>
+
+	* [r2554] build/msvc90/geos_lib/geos_lib.vcproj,
+	  capi/geos_ts_c.cpp, configure.in,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/algorithm/MinimumDiameter.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineSegment.cpp,
+	  source/headers/geos/geom/Coordinate.h,
+	  source/headers/geos/geom/Coordinate.inl,
+	  source/headers/geos/index/intervalrtree/IntervalRTreeNode.h,
+	  source/headers/geos/noding/SingleInteriorIntersectionFinder.h,
+	  source/headers/geos/platform.h.in,
+	  source/headers/geos/platform.h.vc,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/util/GeometricShapeFactory.cpp,
+	  tests/unit/geom/CoordinateTest.cpp,
+	  tests/unit/geom/TriangleTest.cpp,
+	  tests/unit/operation/distance/DistanceOpTest.cpp: Use real NaNs
+	  rather than fake them. Applies patch in ticket #259. Adds
+	  autoconf checks for finite() and isfinite() and makes use of them
+	  for unix systems (platform.h)
+
+2009-06-06 00:55  Sandro Santilli <strk at kbt.io>
+
+	* [r2553]
+	  source/headers/geos/operation/distance/ConnectedElementLocationFilter.h,
+	  source/headers/geos/operation/distance/ConnectedElementPointFilter.h,
+	  source/headers/geos/operation/distance/DistanceOp.h,
+	  source/headers/geos/operation/distance/GeometryLocation.h,
+	  source/operation/distance/ConnectedElementLocationFilter.cpp,
+	  source/operation/distance/ConnectedElementPointFilter.cpp,
+	  source/operation/distance/GeometryLocation.cpp: Complete port
+	  info and headers exposion for operation::distance package
+
+2009-06-05 18:18  Sandro Santilli <strk at kbt.io>
+
+	* [r2552] source/headers/geos/operation/overlay/OverlayOp.h,
+	  source/operation/overlay/OverlayOp.cpp: JTS-1.10 OverlayOp
+
+2009-06-05 18:12  Sandro Santilli <strk at kbt.io>
+
+	* [r2551] source/headers/geos/geomgraph/EdgeNodingValidator.h: Add
+	  missing static function
+
+2009-06-05 18:02  Sandro Santilli <strk at kbt.io>
+
+	* [r2550] source/headers/geos/operation/overlay/MaximalEdgeRing.h,
+	  source/operation/overlay/MaximalEdgeRing.cpp: JTS-1.10 sync
+
+2009-06-05 17:50  Sandro Santilli <strk at kbt.io>
+
+	* [r2549] source/headers/geos/operation/GeometryGraphOperation.h,
+	  source/headers/geos/operation/relate/RelateOp.h,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/relate/RelateOp.cpp: Boundary Node Rule support
+	  in relateOp. JTS-1.10.
+
+2009-06-05 13:44  Sandro Santilli <strk at kbt.io>
+
+	* [r2548] source/geomgraph/EdgeList.cpp, source/geomgraph/Node.cpp,
+	  source/headers/geos/geomgraph/Node.h: geomgraph package fully
+	  sync'ed to JTS-1.10 now
+
+2009-06-05 13:41  Sandro Santilli <strk at kbt.io>
+
+	* [r2547] source/geomgraph/EdgeEnd.cpp,
+	  source/geomgraph/EdgeEndStar.cpp,
+	  source/headers/geos/geomgraph/EdgeEnd.h,
+	  source/headers/geos/geomgraph/EdgeEndStar.h,
+	  source/headers/geos/operation/relate/EdgeEndBundle.h,
+	  source/headers/geos/operation/valid/ConsistentAreaTester.h,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp: added
+	  BoundaryNodeRule capability to EdgeEnds
+
+2009-06-05 12:42  Sandro Santilli <strk at kbt.io>
+
+	* [r2546] source/geomgraph/GeometryGraph.cpp,
+	  source/headers/geos/geomgraph/GeometryGraph.h,
+	  source/headers/geos/geomgraph/GeometryGraph.inl: Add support for
+	  custom BoundaryNodeRule bringing GeometryGraph to JTS-1.10
+
+2009-06-05 12:07  Sandro Santilli <strk at kbt.io>
+
+	* [r2545] source/geomgraph/DirectedEdgeStar.cpp,
+	  source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/EdgeNodingValidator.cpp,
+	  source/geomgraph/EdgeRing.cpp, source/geomgraph/Label.cpp,
+	  source/geomgraph/NodeFactory.cpp, source/geomgraph/Position.cpp,
+	  source/geomgraph/TopologyLocation.cpp,
+	  source/headers/geos/geomgraph/DirectedEdge.h,
+	  source/headers/geos/geomgraph/DirectedEdgeStar.h,
+	  source/headers/geos/geomgraph/Edge.h,
+	  source/headers/geos/geomgraph/EdgeIntersection.h,
+	  source/headers/geos/geomgraph/EdgeIntersectionList.h,
+	  source/headers/geos/geomgraph/EdgeNodingValidator.h,
+	  source/headers/geos/geomgraph/EdgeRing.h,
+	  source/headers/geos/geomgraph/Label.h,
+	  source/headers/geos/geomgraph/NodeFactory.h,
+	  source/headers/geos/geomgraph/Position.h,
+	  source/headers/geos/geomgraph/Quadrant.h,
+	  source/headers/geos/geomgraph/TopologyLocation.h: Complete port
+	  info in geomgraph package
+
+2009-06-05 11:03  Sandro Santilli <strk at kbt.io>
+
+	* [r2544] source/geomgraph/Depth.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/GraphComponent.cpp,
+	  source/geomgraph/NodeMap.cpp, source/geomgraph/PlanarGraph.cpp,
+	  source/headers/geos/geomgraph/Depth.h,
+	  source/headers/geos/geomgraph/EdgeEnd.h,
+	  source/headers/geos/geomgraph/EdgeEndStar.h,
+	  source/headers/geos/geomgraph/EdgeList.h,
+	  source/headers/geos/geomgraph/GeometryGraph.h,
+	  source/headers/geos/geomgraph/GeometryGraph.inl,
+	  source/headers/geos/geomgraph/GraphComponent.h,
+	  source/headers/geos/geomgraph/Node.h,
+	  source/headers/geos/geomgraph/NodeMap.h,
+	  source/headers/geos/geomgraph/PlanarGraph.h: Port info in the
+	  geomgraph package (unfinished); fix compiler warning in
+	  GeometryGraph and make code more readable;
+
+2009-06-05 10:23  Sandro Santilli <strk at kbt.io>
+
+	* [r2543] source/headers/geos/operation/relate/EdgeEndBuilder.h,
+	  source/headers/geos/operation/relate/EdgeEndBundle.h,
+	  source/headers/geos/operation/relate/EdgeEndBundleStar.h,
+	  source/headers/geos/operation/relate/RelateComputer.h,
+	  source/headers/geos/operation/relate/RelateNode.h,
+	  source/headers/geos/operation/relate/RelateNodeFactory.h,
+	  source/headers/geos/operation/relate/RelateNodeGraph.h,
+	  source/headers/geos/operation/relate/RelateOp.h,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNode.cpp,
+	  source/operation/relate/RelateNodeFactory.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/relate/RelateOp.cpp: Add port info and introduce
+	  header exposion info. Relate op results partially in JTS-1.7
+	  still.
+
+2009-06-05 09:36  Sandro Santilli <strk at kbt.io>
+
+	* [r2542] source/headers/geos/geom.h: typo in doxygen index page
+
+2009-06-05 09:35  Sandro Santilli <strk at kbt.io>
+
+	* [r2541] source/headers/geos/geom.h: Fix doxygen link
+
+2009-06-05 09:28  Sandro Santilli <strk at kbt.io>
+
+	* [r2540] source/algorithm/locate/IndexedPointInAreaLocator.cpp,
+	  source/headers/geos/algorithm/locate/IndexedPointInAreaLocator.h,
+	  source/headers/geos/index/intervalrtree/IntervalRTreeLeafNode.h,
+	  source/headers/geos/index/intervalrtree/SortedPackedIntervalRTree.h:
+	  Fix deletion of void pointer in IntervalRTreeLeafNode, document
+	  ownership, fix callers tracking allocations to avoid leaks. Fixes
+	  bug #227.
+
+2009-06-05 09:15  Sandro Santilli <strk at kbt.io>
+
+	* [r2539] ChangeLog.svn, Makefile.am: Allow generating ChangeLog
+	  from external build tree
 
 2009-06-04 15:01  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2538] * Applied patch for ticket #257.
+	* [r2538] build/msvc90/geos_c_dll/geos_c_dll.vcproj,
+	  build/msvc90/geos_lib/geos_lib.vcproj,
+	  build/msvc90/geos_unit/geos_unit.vcproj, source/Makefile.vc,
+	  source/geom/LinearRing.cpp,
+	  source/headers/geos/algorithm/distance/DiscreteHausdorffDistance.h,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  tests/unit/operation/valid/IsValidTest.cpp: * Applied patch for
+	  ticket #257.
 	  * Noticed that unit tests fail:
 	  1>geos::util::UniqueCoordinateArrayFilter: .
 	  1>---> group: geos::operation::valid::IsValidOp, test: test<1>
@@ -6175,1089 +12209,1750 @@
 
 2009-06-04 14:59  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2537] Fixed bug of inaccessible constructor of incomplete type
-	  NodedSegmentString - header missing.
+	* [r2537] source/operation/buffer/BufferBuilder.cpp: Fixed bug of
+	  inaccessible constructor of incomplete type NodedSegmentString -
+	  header missing.
 
-2009-06-04 13:59  Sandro Santilli <strk at keybit.net>
+2009-06-04 13:59  Sandro Santilli <strk at kbt.io>
 
-	* [r2536] Add support for testing single sided buffers
+	* [r2536] tests/xmltester/XMLTester.cpp: Add support for testing
+	  single sided buffers
 
 2009-06-01 03:34  Howard Butler <hobu.inc at gmail.com>
 
-	* [r2534] #256 finishGEOS called multiple times will segfault
+	* [r2534] capi/geos_c.cpp: #256 finishGEOS called multiple times
+	  will segfault
 
 2009-05-28 14:38  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2533] Fixed aclocal warnings for mixing cache-id's in
-	  configure.in.
+	* [r2533] configure.in, tests/bigtest: Fixed aclocal warnings for
+	  mixing cache-id's in configure.in.
 
 2009-05-27 16:57  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2516] remove error
+	* [r2516] NEWS: remove error
 
 2009-05-27 16:57  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2515] Add single-sided item
+	* [r2515] NEWS: Add single-sided item
 
-2009-05-21 10:08  Sandro Santilli <strk at keybit.net>
+2009-05-21 10:08  Sandro Santilli <strk at kbt.io>
 
-	* [r2514] Add Mat's and Paul's entries, make ChangeLog.svn rule
-	  phony
+	* [r2514] ChangeLog.svn, Makefile.am, authors.svn: Add Mat's and
+	  Paul's entries, make ChangeLog.svn rule phony
 
-2009-05-21 09:56  Sandro Santilli <strk at keybit.net>
+2009-05-21 09:56  Sandro Santilli <strk at kbt.io>
 
-	* [r2513] Add a rule to generate a ChangeLog using svn2cl. The
-	  authors.svn file will be used to map usernames and full names:
-	  please expand your own nick. The generated ChangeLog is added to
-	  repository to show you how it looks. If everybody agree we could
-	  rename this to ChangeLog and stop requiring manual edits (+1 from
-	  me:)
+	* [r2513] ChangeLog.svn, Makefile.am, authors.svn: Add a rule to
+	  generate a ChangeLog using svn2cl. The authors.svn file will be
+	  used to map usernames and full names: please expand your own
+	  nick. The generated ChangeLog is added to repository to show you
+	  how it looks. If everybody agree we could rename this to
+	  ChangeLog and stop requiring manual edits (+1 from me:)
 
 2009-05-13 11:29  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2508] refer to GEOSFree() instead of free()
+	* [r2508] capi/geos_c.h.in: refer to GEOSFree() instead of free()
 
 2009-05-13 11:26  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2507] forward GEOSFree to GEOSFree_r, use std:: prefix on
-	  free() (#249)
+	* [r2507] capi/geos_c.cpp, capi/geos_ts_c.cpp: forward GEOSFree to
+	  GEOSFree_r, use std:: prefix on free() (#249)
 
 2009-05-13 04:14  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2506] Added GEOSFree() and GEOSFree_r() (#249)
+	* [r2506] ChangeLog, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_ts_c.cpp: Added GEOSFree() and GEOSFree_r() (#249)
 
-2009-05-12 17:47  Sandro Santilli <strk at keybit.net>
+2009-05-12 17:47  Sandro Santilli <strk at kbt.io>
 
-	* [r2505] Add note about single-sided buffer
+	* [r2505] NEWS: Add note about single-sided buffer
 
-2009-05-12 16:49  Sandro Santilli <strk at keybit.net>
+2009-05-12 16:49  Sandro Santilli <strk at kbt.io>
 
-	* [r2504] Never fail bug #244 again (regression testcase added)
+	* [r2504] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/bug244.xml: Never fail bug #244 again
+	  (regression testcase added)
 
-2009-05-12 16:48  Sandro Santilli <strk at keybit.net>
+2009-05-12 16:48  Sandro Santilli <strk at kbt.io>
 
-	* [r2503] Have DepthSegment hold a real LineSegment, not a
-	  reference. SubgraphDepthLocater was passing the same LineSegment
-	  reference to multiple DepthSegments, messing everything up. This
-	  fixes bug #244.
+	* [r2503] source/operation/buffer/SubgraphDepthLocater.cpp: Have
+	  DepthSegment hold a real LineSegment, not a reference.
+	  SubgraphDepthLocater was passing the same LineSegment reference
+	  to multiple DepthSegments, messing everything up. This fixes bug
+	  #244.
 
-2009-05-12 15:38  Sandro Santilli <strk at keybit.net>
+2009-05-12 15:38  Sandro Santilli <strk at kbt.io>
 
-	* [r2502] Port info
+	* [r2502] source/geomgraph/DirectedEdge.cpp,
+	  source/headers/geos/geomgraph/DirectedEdge.h,
+	  source/headers/geos/geomgraph/DirectedEdge.inl: Port info
 
-2009-05-08 16:30  Sandro Santilli <strk at keybit.net>
+2009-05-08 16:30  Sandro Santilli <strk at kbt.io>
 
-	* [r2501] Update port info
+	* [r2501] source/headers/geos/operation/overlay/PolygonBuilder.h,
+	  source/operation/overlay/PolygonBuilder.cpp: Update port info
 
-2009-05-08 12:47  Sandro Santilli <strk at keybit.net>
+2009-05-08 12:47  Sandro Santilli <strk at kbt.io>
 
-	* [r2500] When included in a C++ environment, include <cstddef> and
-	  use std::size_t. Patch by Mateusz Loskot, ticket #252.
+	* [r2500] capi/geos_c.h.in: When included in a C++ environment,
+	  include <cstddef> and use std::size_t. Patch by Mateusz Loskot,
+	  ticket #252.
 
-2009-05-08 12:46  Sandro Santilli <strk at keybit.net>
+2009-05-08 12:46  Sandro Santilli <strk at kbt.io>
 
-	* [r2499] Oops, forgot to update the static closedPoints
-	  signature..
+	* [r2499] source/operation/distance/DistanceOp.cpp: Oops, forgot to
+	  update the static closedPoints signature..
 
-2009-05-08 12:29  Sandro Santilli <strk at keybit.net>
+2009-05-08 12:29  Sandro Santilli <strk at kbt.io>
 
-	* [r2498] Note the withinDistance addition to DistanceOp
+	* [r2498] NEWS: Note the withinDistance addition to DistanceOp
 
-2009-05-08 12:27  Sandro Santilli <strk at keybit.net>
+2009-05-08 12:27  Sandro Santilli <strk at kbt.io>
 
-	* [r2497] Add the complete set of tests for closedPoints
+	* [r2497] tests/unit/operation/distance/DistanceOpTest.cpp: Add the
+	  complete set of tests for closedPoints
 
-2009-05-08 12:11  Sandro Santilli <strk at keybit.net>
+2009-05-08 12:11  Sandro Santilli <strk at kbt.io>
 
-	* [r2496] Document semantic of a null return from closestPoints
+	* [r2496] source/headers/geos/operation/distance/DistanceOp.h:
+	  Document semantic of a null return from closestPoints
 
-2009-05-08 12:09  Sandro Santilli <strk at keybit.net>
+2009-05-08 12:09  Sandro Santilli <strk at kbt.io>
 
-	* [r2495] Don't wipe out closest locations after computing them
-	  (doh). Fixes bug #236. Takes the chance to make the
-	  GeometryLocation retrival function private as we don't install
-	  GeometryLocation.h header anyway (for future cleanups), and to
-	  rename a function to follow current JTS naming (more renames to
-	  come for proper sync)
+	* [r2495] source/headers/geos/operation/distance/DistanceOp.h,
+	  source/operation/distance/DistanceOp.cpp: Don't wipe out closest
+	  locations after computing them (doh). Fixes bug #236. Takes the
+	  chance to make the GeometryLocation retrival function private as
+	  we don't install GeometryLocation.h header anyway (for future
+	  cleanups), and to rename a function to follow current JTS naming
+	  (more renames to come for proper sync)
 
-2009-05-08 10:10  Sandro Santilli <strk at keybit.net>
+2009-05-08 10:10  Sandro Santilli <strk at kbt.io>
 
-	* [r2494] Add isWithinDistance() to DistanceOp, reaching rev 1.17
-	  of JTS
+	* [r2494] source/headers/geos/operation/distance/DistanceOp.h,
+	  source/operation/distance/DistanceOp.cpp: Add isWithinDistance()
+	  to DistanceOp, reaching rev 1.17 of JTS
 
-2009-05-08 09:39  Sandro Santilli <strk at keybit.net>
+2009-05-08 09:39  Sandro Santilli <strk at kbt.io>
 
-	* [r2493] Port info for DistanceOp
+	* [r2493] source/headers/geos/operation/distance/DistanceOp.h,
+	  source/operation/distance/DistanceOp.cpp: Port info for
+	  DistanceOp
 
-2009-05-08 08:44  Sandro Santilli <strk at keybit.net>
+2009-05-08 08:44  Sandro Santilli <strk at kbt.io>
 
-	* [r2492] Always include stddef.h. Closes bug #213
+	* [r2492] capi/geos_c.h.in: Always include stddef.h. Closes bug
+	  #213
 
-2009-05-07 16:15  Sandro Santilli <strk at keybit.net>
+2009-05-07 16:15  Sandro Santilli <strk at kbt.io>
 
-	* [r2491] Add "thread-safe" version of GEOSGeom_setSRID. Closes bug
-	  #242.
+	* [r2491] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp:
+	  Add "thread-safe" version of GEOSGeom_setSRID. Closes bug #242.
 
-2009-05-07 16:00  Sandro Santilli <strk at keybit.net>
+2009-05-07 16:00  Sandro Santilli <strk at kbt.io>
 
-	* [r2490] minor debug output improvement
+	* [r2490] tests/bigtest/bug234.cpp: minor debug output improvement
 
-2009-05-07 15:57  Sandro Santilli <strk at keybit.net>
+2009-05-07 15:57  Sandro Santilli <strk at kbt.io>
 
-	* [r2489] Skip empty components when building GeometryGraph. Fixes
-	  bug #234. Add non-automated test for it, and README file in the
-	  directory containing it...
+	* [r2489] source/geomgraph/GeometryGraph.cpp,
+	  tests/bigtest/Makefile.am, tests/bigtest/README,
+	  tests/bigtest/bug234.cpp: Skip empty components when building
+	  GeometryGraph. Fixes bug #234. Add non-automated test for it, and
+	  README file in the directory containing it...
 
-2009-05-07 15:36  Sandro Santilli <strk at keybit.net>
+2009-05-07 15:36  Sandro Santilli <strk at kbt.io>
 
-	* [r2488] Add XML testcase for bug 188
+	* [r2488] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/bug188.xml: Add XML testcase for bug 188
 
-2009-05-07 15:36  Sandro Santilli <strk at keybit.net>
+2009-05-07 15:36  Sandro Santilli <strk at kbt.io>
 
-	* [r2487] remove code duplication on buffer result validation
+	* [r2487] tests/xmltester/XMLTester.cpp: remove code duplication on
+	  buffer result validation
 
-2009-05-07 08:52  Sandro Santilli <strk at keybit.net>
+2009-05-07 08:52  Sandro Santilli <strk at kbt.io>
 
-	* [r2486] Port info, doxygen cleanups
+	* [r2486] source/geom/CoordinateSequenceFactory.cpp,
+	  source/headers/geos/geom/CoordinateSequenceFactory.h: Port info,
+	  doxygen cleanups
 
-2009-05-07 08:45  Sandro Santilli <strk at keybit.net>
+2009-05-07 08:45  Sandro Santilli <strk at kbt.io>
 
-	* [r2485] Add test for creating a CoordinateSequence with at least
-	  2 dimension
+	* [r2485] tests/unit/capi/GEOSCoordSeqTest.cpp: Add test for
+	  creating a CoordinateSequence with at least 2 dimension
 
-2009-05-06 20:47  Sandro Santilli <strk at keybit.net>
+2009-05-06 20:47  Sandro Santilli <strk at kbt.io>
 
-	* [r2484] Fix bug #135, give an hint about GEOSGeom_getDimensions
-	  being related to GEOSCoordSeq_getDimensions, fix signed vs.
-	  unsigned compiler warning.
+	* [r2484] capi/geos_c.h.in, capi/geos_ts_c.cpp: Fix bug #135, give
+	  an hint about GEOSGeom_getDimensions being related to
+	  GEOSCoordSeq_getDimensions, fix signed vs. unsigned compiler
+	  warning.
 
-2009-05-06 20:22  Sandro Santilli <strk at keybit.net>
+2009-05-06 20:22  Sandro Santilli <strk at kbt.io>
 
-	* [r2483] Fix compilation warnings thrown by GCC 4.3.x. Patch by
-	  Mateus, closes bug #92.
+	* [r2483] tests/xmltester/markup/MarkupSTL.cpp: Fix compilation
+	  warnings thrown by GCC 4.3.x. Patch by Mateus, closes bug #92.
 
 2009-05-06 20:12  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2482] Updated svn:ignore property.
-
-2009-05-06 17:54  Sandro Santilli <strk at keybit.net>
-
-	* [r2481] findCollapsesFromExistingVertices: don't choke on sets of
-	  < 2 points. Fixes bug #219.
-
-2009-05-06 17:52  Sandro Santilli <strk at keybit.net>
-
-	* [r2480] minor indentation thing
-
-2009-05-06 17:42  Sandro Santilli <strk at keybit.net>
-
-	* [r2479] Cleanup MonotoneChainOverlapAction, reduce heap
-	  allocations. Cascade changes.
-
-2009-05-06 17:14  Sandro Santilli <strk at keybit.net>
-
-	* [r2478] Port info (to be worked on for heap allocations
-	  reduction)
-
-2009-05-06 17:10  Sandro Santilli <strk at keybit.net>
-
-	* [r2477] MonotoneChainSelectAction port review, heap allocation
-	  reduced, const-corrected.
-
-2009-05-06 16:44  Sandro Santilli <strk at keybit.net>
-
-	* [r2476] MonotoneChain const-correctness and interface cleanups,
-	  cascaded changes. Possibly discovered a leak in MCPointInRing
-	  algorithm, needs some unit testing.
-
-2009-05-06 16:36  Sandro Santilli <strk at keybit.net>
+	* [r2482] source/headers/geos/operation/overlay/snap: Updated
+	  svn:ignore property.
 
-	* [r2475] Const-correctness for bintree Interval
+2009-05-06 17:54  Sandro Santilli <strk at kbt.io>
 
-2009-05-06 15:47  Sandro Santilli <strk at keybit.net>
+	* [r2481] source/headers/geos/noding/SegmentNodeList.h,
+	  source/noding/SegmentNodeList.cpp:
+	  findCollapsesFromExistingVertices: don't choke on sets of < 2
+	  points. Fixes bug #219.
 
-	* [r2474] Port MonotoneChain up to JTS-1.10, plus minor dox
-	  improvement (memory-oriented)
+2009-05-06 17:52  Sandro Santilli <strk at kbt.io>
 
-2009-05-06 15:31  Sandro Santilli <strk at keybit.net>
+	* [r2480] source/operation/buffer/BufferBuilder.cpp: minor
+	  indentation thing
 
-	* [r2473] Port MonotoneChainBuilder up to JTS-1.10. Tweak some
-	  signatures to use stricter signedness.
+2009-05-06 17:42  Sandro Santilli <strk at kbt.io>
 
-2009-05-06 14:55  Sandro Santilli <strk at keybit.net>
+	* [r2479] source/headers/geos/geom/Makefile.am,
+	  source/headers/geos/index/chain/MonotoneChain.h,
+	  source/headers/geos/index/chain/MonotoneChainOverlapAction.h,
+	  source/headers/geos/noding/MCIndexNoder.h,
+	  source/headers/geos/noding/MCIndexSegmentSetMutualIntersector.h,
+	  source/index/chain/MonotoneChain.cpp,
+	  source/index/chain/MonotoneChainOverlapAction.cpp,
+	  source/noding/MCIndexNoder.cpp,
+	  source/noding/MCIndexSegmentSetMutualIntersector.cpp: Cleanup
+	  MonotoneChainOverlapAction, reduce heap allocations. Cascade
+	  changes.
 
-	* [r2472] Port to 1.9, fixing an out of boundary access in
-	  findEdgeEnd
+2009-05-06 17:14  Sandro Santilli <strk at kbt.io>
 
-2009-05-06 14:42  Sandro Santilli <strk at keybit.net>
+	* [r2478]
+	  source/headers/geos/index/chain/MonotoneChainOverlapAction.h,
+	  source/index/chain/MonotoneChainOverlapAction.cpp: Port info (to
+	  be worked on for heap allocations reduction)
 
-	* [r2471] Add port info. We're 4 revision old (catching up next)
+2009-05-06 17:10  Sandro Santilli <strk at kbt.io>
 
-2009-05-05 14:28  Sandro Santilli <strk at keybit.net>
+	* [r2477] source/algorithm/MCPointInRing.cpp,
+	  source/headers/geos/algorithm/MCPointInRing.h,
+	  source/headers/geos/index/chain/MonotoneChainSelectAction.h,
+	  source/index/chain/MonotoneChain.cpp,
+	  source/index/chain/MonotoneChainSelectAction.cpp,
+	  source/noding/snapround/MCIndexPointSnapper.cpp:
+	  MonotoneChainSelectAction port review, heap allocation reduced,
+	  const-corrected.
 
-	* [r2470] Sync Envelope to JTS-1.10
+2009-05-06 16:44  Sandro Santilli <strk at kbt.io>
 
-2009-05-05 10:30  Sandro Santilli <strk at keybit.net>
+	* [r2476] source/algorithm/MCPointInRing.cpp,
+	  source/headers/geos/index/SpatialIndex.h,
+	  source/headers/geos/index/bintree/Bintree.h,
+	  source/headers/geos/index/bintree/Root.h,
+	  source/headers/geos/index/chain/MonotoneChain.h,
+	  source/index/bintree/Bintree.cpp,
+	  source/index/chain/MonotoneChain.cpp,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/MonotoneChainOverlapAction.cpp,
+	  source/index/chain/MonotoneChainSelectAction.cpp,
+	  source/noding/MCIndexNoder.cpp,
+	  source/noding/MCIndexSegmentSetMutualIntersector.cpp:
+	  MonotoneChain const-correctness and interface cleanups, cascaded
+	  changes. Possibly discovered a leak in MCPointInRing algorithm,
+	  needs some unit testing.
 
-	* [r2469] Add compile-time support to skip use of BinaryOp thus
-	  engaging SnapIfNeededOverlayOp used by Geometry methods. Shows
-	  that BinaryOp (GEOS-specific original work) gives better
-	  numerical stability.
+2009-05-06 16:36  Sandro Santilli <strk at kbt.io>
 
-2009-05-05 10:14  Sandro Santilli <strk at keybit.net>
+	* [r2475] source/headers/geos/index/bintree/Interval.h,
+	  source/index/bintree/Interval.cpp: Const-correctness for bintree
+	  Interval
 
-	* [r2468] Found old GeometrySnapper/LineStringSnapper classes in an
-	  unexpected directory. Move them where they belong, sync with
-	  JTS-1.10.
+2009-05-06 15:47  Sandro Santilli <strk at kbt.io>
 
-2009-05-05 00:04  Sandro Santilli <strk at keybit.net>
+	* [r2474] source/headers/geos/index/chain/MonotoneChain.h,
+	  source/index/chain/MonotoneChain.cpp: Port MonotoneChain up to
+	  JTS-1.10, plus minor dox improvement (memory-oriented)
 
-	* [r2467] Fix memory leak on exception
+2009-05-06 15:31  Sandro Santilli <strk at kbt.io>
 
-2009-05-04 23:43  Sandro Santilli <strk at keybit.net>
+	* [r2473] source/headers/geos/index/chain/MonotoneChainBuilder.h,
+	  source/index/chain/MonotoneChainBuilder.cpp: Port
+	  MonotoneChainBuilder up to JTS-1.10. Tweak some signatures to use
+	  stricter signedness.
 
-	* [r2466] Fix memory bug
+2009-05-06 14:55  Sandro Santilli <strk at kbt.io>
 
-2009-05-04 23:23  Sandro Santilli <strk at keybit.net>
+	* [r2472] source/headers/geos/index/chain/MonotoneChainBuilder.h,
+	  source/index/chain/MonotoneChainBuilder.cpp: Port to 1.9, fixing
+	  an out of boundary access in findEdgeEnd
 
-	* [r2465] Geometry up to 1.112 with a minor bugfix and performance
-	  improvement in Geometry::covers
+2009-05-06 14:42  Sandro Santilli <strk at kbt.io>
 
-2009-05-04 23:04  Sandro Santilli <strk at keybit.net>
+	* [r2471] source/headers/geos/index/chain/MonotoneChainBuilder.h,
+	  source/index/chain/MonotoneChainBuilder.cpp: Add port info. We're
+	  4 revision old (catching up next)
 
-	* [r2464] Bring Geometry port up a revision by having it use
-	  SnapIfNeededOp for overlay operations. Note that currently this
-	  doesn't affect the C-API nor the XMLTester codes, both using the
-	  BinaryOp original class (not JTS-ported) doing about the same
-	  thing as the SnapIfNeededOp class.
+2009-05-05 14:28  Sandro Santilli <strk at kbt.io>
 
-2009-05-04 22:03  Sandro Santilli <strk at keybit.net>
+	* [r2470] source/geom/Envelope.cpp,
+	  source/headers/geos/geom/Envelope.h,
+	  source/headers/geos/geom/Envelope.inl: Sync Envelope to JTS-1.10
 
-	* [r2463] Port SnapIfNeededOverlayOp
+2009-05-05 10:30  Sandro Santilli <strk at kbt.io>
 
-2009-05-04 21:28  Sandro Santilli <strk at keybit.net>
+	* [r2469] tests/xmltester/XMLTester.cpp: Add compile-time support
+	  to skip use of BinaryOp thus engaging SnapIfNeededOverlayOp used
+	  by Geometry methods. Shows that BinaryOp (GEOS-specific original
+	  work) gives better numerical stability.
 
-	* [r2462] Move overlay.validate package files where they belong
+2009-05-05 10:14  Sandro Santilli <strk at kbt.io>
 
-2009-05-04 21:02  Sandro Santilli <strk at keybit.net>
+	* [r2468] configure.in, source/headers/geos/geom/BinaryOp.h,
+	  source/headers/geos/operation/overlay/Makefile.am,
+	  source/headers/geos/operation/overlay/snap/GeometrySnapper.h,
+	  source/headers/geos/operation/overlay/snap/LineStringSnapper.h,
+	  source/headers/geos/operation/overlay/snap/Makefile.am,
+	  source/headers/geos/precision/GeometrySnapper.h,
+	  source/headers/geos/precision/LineStringSnapper.h,
+	  source/headers/geos/precision/Makefile.am,
+	  source/operation/overlay/snap/GeometrySnapper.cpp,
+	  source/operation/overlay/snap/LineStringSnapper.cpp,
+	  source/operation/overlay/snap/SnapOverlayOp.cpp,
+	  source/precision/GeometrySnapper.cpp,
+	  source/precision/LineStringSnapper.cpp,
+	  source/precision/Makefile.am, tests/unit/Makefile.am,
+	  tests/unit/operation/overlay/snap,
+	  tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp,
+	  tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp,
+	  tests/unit/precision/GeometrySnapperTest.cpp,
+	  tests/unit/precision/LineStringSnapperTest.cpp: Found old
+	  GeometrySnapper/LineStringSnapper classes in an unexpected
+	  directory. Move them where they belong, sync with JTS-1.10.
 
-	* [r2461] Port overlay.snap.SnapOverlayOp, update GeometrySnapper
-	  to be more useful
+2009-05-05 00:04  Sandro Santilli <strk at kbt.io>
 
-2009-05-04 19:54  Sandro Santilli <strk at keybit.net>
+	* [r2467] source/geom/util/GeometryTransformer.cpp: Fix memory leak
+	  on exception
 
-	* [r2460] Port overlay.snap.GeometrySnapper
+2009-05-04 23:43  Sandro Santilli <strk at kbt.io>
 
-2009-05-04 19:51  Sandro Santilli <strk at keybit.net>
+	* [r2466] source/operation/IsSimpleOp.cpp: Fix memory bug
 
-	* [r2459] Extend to accept a vector of const Coordinate pointers
-	  for snap pointers, fix typo making it clone snap points rather
-	  than source points on snapping...
+2009-05-04 23:23  Sandro Santilli <strk at kbt.io>
 
-2009-05-02 11:01  Sandro Santilli <strk at keybit.net>
+	* [r2465] source/geom/Geometry.cpp,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/Geometry.inl: Geometry up to 1.112 with
+	  a minor bugfix and performance improvement in Geometry::covers
 
-	* [r2458] Port overlay.snap.LineStringSnapper from JTS-1.10
+2009-05-04 23:04  Sandro Santilli <strk at kbt.io>
 
-2009-05-02 10:59  Sandro Santilli <strk at keybit.net>
+	* [r2464] source/geom/Geometry.cpp,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/Geometry.inl: Bring Geometry port up a
+	  revision by having it use SnapIfNeededOp for overlay operations.
+	  Note that currently this doesn't affect the C-API nor the
+	  XMLTester codes, both using the BinaryOp original class (not
+	  JTS-ported) doing about the same thing as the SnapIfNeededOp
+	  class.
 
-	* [r2457] Add an insert-like virtual method to CoordinateSequence.
-	  This comes from CoordinateList of JTS, historically bound to
-	  CoordinateSequence in GEOS. Add test for that interface.
+2009-05-04 22:03  Sandro Santilli <strk at kbt.io>
+
+	* [r2463] source/headers/geos/operation/overlay/Makefile.am,
+	  source/headers/geos/operation/overlay/snap/SnapIfNeededOverlayOp.h,
+	  source/headers/geos/operation/overlay/snap/SnapOverlayOp.h,
+	  source/operation/overlay/Makefile.am,
+	  source/operation/overlay/snap/SnapIfNeededOverlayOp.cpp: Port
+	  SnapIfNeededOverlayOp
+
+2009-05-04 21:28  Sandro Santilli <strk at kbt.io>
+
+	* [r2462]
+	  source/headers/geos/operation/overlay/FuzzyPointLocator.h,
+	  source/headers/geos/operation/overlay/Makefile.am,
+	  source/headers/geos/operation/overlay/OffsetPointGenerator.h,
+	  source/headers/geos/operation/overlay/OverlayResultValidator.h,
+	  source/headers/geos/operation/overlay/validate,
+	  source/headers/geos/operation/overlay/validate/FuzzyPointLocator.h,
+	  source/headers/geos/operation/overlay/validate/OffsetPointGenerator.h,
+	  source/headers/geos/operation/overlay/validate/OverlayResultValidator.h,
+	  source/operation/overlay/FuzzyPointLocator.cpp,
+	  source/operation/overlay/Makefile.am,
+	  source/operation/overlay/OffsetPointGenerator.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/OverlayResultValidator.cpp,
+	  source/operation/overlay/validate,
+	  source/operation/overlay/validate/FuzzyPointLocator.cpp,
+	  source/operation/overlay/validate/OffsetPointGenerator.cpp,
+	  source/operation/overlay/validate/OverlayResultValidator.cpp,
+	  tests/unit/Makefile.am,
+	  tests/unit/operation/overlay/FuzzyPointLocatorTest.cpp,
+	  tests/unit/operation/overlay/OffsetPointGeneratorTest.cpp,
+	  tests/unit/operation/overlay/OverlayResultValidatorTest.cpp,
+	  tests/unit/operation/overlay/validate,
+	  tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp,
+	  tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp,
+	  tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:
+	  Move overlay.validate package files where they belong
+
+2009-05-04 21:02  Sandro Santilli <strk at kbt.io>
+
+	* [r2461] source/headers/geos/operation/overlay/Makefile.am,
+	  source/headers/geos/operation/overlay/snap/GeometrySnapper.h,
+	  source/headers/geos/operation/overlay/snap/SnapOverlayOp.h,
+	  source/operation/overlay/Makefile.am,
+	  source/operation/overlay/snap/GeometrySnapper.cpp,
+	  source/operation/overlay/snap/SnapOverlayOp.cpp: Port
+	  overlay.snap.SnapOverlayOp, update GeometrySnapper to be more
+	  useful
+
+2009-05-04 19:54  Sandro Santilli <strk at kbt.io>
+
+	* [r2460] source/headers/geos/operation/overlay/Makefile.am,
+	  source/headers/geos/operation/overlay/snap/GeometrySnapper.h,
+	  source/operation/overlay/Makefile.am,
+	  source/operation/overlay/snap/GeometrySnapper.cpp: Port
+	  overlay.snap.GeometrySnapper
+
+2009-05-04 19:51  Sandro Santilli <strk at kbt.io>
+
+	* [r2459]
+	  source/headers/geos/operation/overlay/snap/LineStringSnapper.h,
+	  source/operation/overlay/snap/LineStringSnapper.cpp: Extend to
+	  accept a vector of const Coordinate pointers for snap pointers,
+	  fix typo making it clone snap points rather than source points on
+	  snapping...
+
+2009-05-02 11:01  Sandro Santilli <strk at kbt.io>
+
+	* [r2458] source/headers/geos/operation/overlay/Makefile.am,
+	  source/headers/geos/operation/overlay/snap,
+	  source/headers/geos/operation/overlay/snap/LineStringSnapper.h,
+	  source/operation/overlay/Makefile.am,
+	  source/operation/overlay/snap,
+	  source/operation/overlay/snap/LineStringSnapper.cpp: Port
+	  overlay.snap.LineStringSnapper from JTS-1.10
+
+2009-05-02 10:59  Sandro Santilli <strk at kbt.io>
+
+	* [r2457] source/geom/CoordinateArraySequence.cpp,
+	  source/headers/geos/geom/CoordinateArraySequence.h,
+	  source/headers/geos/geom/CoordinateSequence.h,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp: Add an
+	  insert-like virtual method to CoordinateSequence. This comes from
+	  CoordinateList of JTS, historically bound to CoordinateSequence
+	  in GEOS. Add test for that interface.
 
-2009-05-02 09:44  Sandro Santilli <strk at keybit.net>
+2009-05-02 09:44  Sandro Santilli <strk at kbt.io>
 
-	* [r2456] Copy last portable JTS general test, add a file with info
-	  about what's missing
+	* [r2456] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/general/MISSING,
+	  tests/xmltester/tests/general/TestRectanglePredicate.xml: Copy
+	  last portable JTS general test, add a file with info about what's
+	  missing
 
-2009-05-02 09:42  Sandro Santilli <strk at keybit.net>
+2009-05-02 09:42  Sandro Santilli <strk at kbt.io>
 
-	* [r2455] Drop test also found in TestFunctionPLPrec.xml
+	* [r2455] tests/xmltester/tests/testLeaksBig.xml: Drop test also
+	  found in TestFunctionPLPrec.xml
 
-2009-05-02 09:40  Sandro Santilli <strk at keybit.net>
+2009-05-02 09:40  Sandro Santilli <strk at kbt.io>
 
-	* [r2454] Add support for testing within, covers and coveredby.
-	  Properly use 'arg1' and 'arg2' for these tests.
+	* [r2454] tests/xmltester/XMLTester.cpp: Add support for testing
+	  within, covers and coveredby. Properly use 'arg1' and 'arg2' for
+	  these tests.
 
-2009-05-02 09:25  Sandro Santilli <strk at keybit.net>
+2009-05-02 09:25  Sandro Santilli <strk at kbt.io>
 
-	* [r2453] Copy TestWithinDistance.xml test, drop duplicates from
+	* [r2453] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/general/TestWithinDistance.xml,
+	  tests/xmltester/tests/testLeaksBig.xml: Copy
+	  TestWithinDistance.xml test, drop duplicates from
 	  testLeaksBig.xml
 
-2009-05-02 09:20  Sandro Santilli <strk at keybit.net>
-
-	* [r2452] More tests from JTS (TestFunction*)
-
-2009-05-02 09:17  Sandro Santilli <strk at keybit.net>
-
-	* [r2451] Boundary test
-
-2009-05-02 09:16  Sandro Santilli <strk at keybit.net>
-
-	* [r2450] ConvexHull tests
-
-2009-05-02 09:11  Sandro Santilli <strk at keybit.net>
-
-	* [r2449] Add support for testing 'contains' in XMLTester, add all
-	  Relate tests from JTS
-
-2009-05-02 09:01  Sandro Santilli <strk at keybit.net>
-
-	* [r2448] More organization of xml tests: 'general' subdir
-	  following JTS
+2009-05-02 09:20  Sandro Santilli <strk at kbt.io>
 
-2009-05-02 08:44  Sandro Santilli <strk at keybit.net>
+	* [r2452] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/general/TestFunctionAA.xml,
+	  tests/xmltester/tests/general/TestFunctionAAPrec.xml,
+	  tests/xmltester/tests/general/TestFunctionLA.xml,
+	  tests/xmltester/tests/general/TestFunctionLAPrec.xml,
+	  tests/xmltester/tests/general/TestFunctionLL.xml,
+	  tests/xmltester/tests/general/TestFunctionLLPrec.xml,
+	  tests/xmltester/tests/general/TestFunctionPA.xml,
+	  tests/xmltester/tests/general/TestFunctionPL.xml,
+	  tests/xmltester/tests/general/TestFunctionPLPrec.xml,
+	  tests/xmltester/tests/general/TestFunctionPP.xml: More tests from
+	  JTS (TestFunction*)
 
-	* [r2447] Put stml testcases under their own dir (like in JTS)
+2009-05-02 09:17  Sandro Santilli <strk at kbt.io>
 
-2009-05-02 08:37  Sandro Santilli <strk at keybit.net>
+	* [r2451] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/general/TestBoundary.xml: Boundary test
 
-	* [r2446] Add a 'split.xml' testcase to confirm 'difference' may be
-	  used to split linestrings; add TestRobustRelate.xml from JTS,
-	  organize robust-related tests as in JTS repository.
+2009-05-02 09:16  Sandro Santilli <strk at kbt.io>
 
-2009-04-30 12:42  Sandro Santilli <strk at keybit.net>
-
-	* [r2444] drop duplicated (and old) port info
-
-2009-04-30 12:33  Sandro Santilli <strk at keybit.net>
+	* [r2450] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/general/TestConvexHull-big.xml,
+	  tests/xmltester/tests/general/TestConvexHull.xml: ConvexHull
+	  tests
 
-	* [r2443] Update port info
+2009-05-02 09:11  Sandro Santilli <strk at kbt.io>
+
+	* [r2449] tests/xmltester/Makefile.am,
+	  tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/tests/general/TestRelateAA.xml,
+	  tests/xmltester/tests/general/TestRelateAC.xml,
+	  tests/xmltester/tests/general/TestRelateLA.xml,
+	  tests/xmltester/tests/general/TestRelateLC.xml,
+	  tests/xmltester/tests/general/TestRelateLL.xml,
+	  tests/xmltester/tests/general/TestRelatePA.xml,
+	  tests/xmltester/tests/general/TestRelatePL.xml,
+	  tests/xmltester/tests/general/TestRelatePP.xml: Add support for
+	  testing 'contains' in XMLTester, add all Relate tests from JTS
+
+2009-05-02 09:01  Sandro Santilli <strk at kbt.io>
+
+	* [r2448] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/TestBuffer.xml,
+	  tests/xmltester/tests/TestBufferMitredJoin.xml,
+	  tests/xmltester/tests/TestCentroid.xml,
+	  tests/xmltester/tests/TestInteriorPoint.xml,
+	  tests/xmltester/tests/TestSimple.xml,
+	  tests/xmltester/tests/TestValid.xml,
+	  tests/xmltester/tests/TestValid2-big.xml,
+	  tests/xmltester/tests/TestValid2.xml,
+	  tests/xmltester/tests/general,
+	  tests/xmltester/tests/general/TestBuffer.xml,
+	  tests/xmltester/tests/general/TestBufferMitredJoin.xml,
+	  tests/xmltester/tests/general/TestCentroid.xml,
+	  tests/xmltester/tests/general/TestInteriorPoint.xml,
+	  tests/xmltester/tests/general/TestSimple.xml,
+	  tests/xmltester/tests/general/TestValid.xml,
+	  tests/xmltester/tests/general/TestValid2-big.xml,
+	  tests/xmltester/tests/general/TestValid2.xml: More organization
+	  of xml tests: 'general' subdir following JTS
+
+2009-05-02 08:44  Sandro Santilli <strk at kbt.io>
+
+	* [r2447] tests/xmltester/Makefile.am, tests/xmltester/tests/stmlf,
+	  tests/xmltester/tests/stmlf-cases-20061020.xml,
+	  tests/xmltester/tests/stmlf-cases-20070119.xml,
+	  tests/xmltester/tests/stmlf/stmlf-cases-20061020.xml,
+	  tests/xmltester/tests/stmlf/stmlf-cases-20070119.xml: Put stml
+	  testcases under their own dir (like in JTS)
+
+2009-05-02 08:37  Sandro Santilli <strk at kbt.io>
+
+	* [r2446] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/TestRobustOverlayFixed.xml,
+	  tests/xmltester/tests/robust,
+	  tests/xmltester/tests/robust/TestRobustOverlayFixed.xml,
+	  tests/xmltester/tests/robust/TestRobustRelate.xml,
+	  tests/xmltester/tests/split.xml: Add a 'split.xml' testcase to
+	  confirm 'difference' may be used to split linestrings; add
+	  TestRobustRelate.xml from JTS, organize robust-related tests as
+	  in JTS repository.
+
+2009-04-30 12:42  Sandro Santilli <strk at kbt.io>
+
+	* [r2444] source/headers/geos/noding/snapround/SimpleSnapRounder.h:
+	  drop duplicated (and old) port info
+
+2009-04-30 12:33  Sandro Santilli <strk at kbt.io>
+
+	* [r2443] NEWS, source/geom/Geometry.cpp,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/Geometry.inl: Update port info
 
-2009-04-30 12:17  Sandro Santilli <strk at keybit.net>
+2009-04-30 12:17  Sandro Santilli <strk at kbt.io>
 
-	* [r2442] Point full up to JTS-1.0 (rev 1.37) : adds reverse()
+	* [r2442] source/geom/Point.cpp, source/headers/geos/geom/Point.h:
+	  Point full up to JTS-1.0 (rev 1.37) : adds reverse()
 
-2009-04-30 12:07  Sandro Santilli <strk at keybit.net>
+2009-04-30 12:07  Sandro Santilli <strk at kbt.io>
 
-	* [r2441] LineString to rev 1.46 : don't override isSimple, always
-	  return MultiPoint as bondary
+	* [r2441] source/geom/LineString.cpp,
+	  source/headers/geos/geom/LineString.h: LineString to rev 1.46 :
+	  don't override isSimple, always return MultiPoint as bondary
 
-2009-04-30 11:47  Sandro Santilli <strk at keybit.net>
+2009-04-30 11:47  Sandro Santilli <strk at kbt.io>
 
-	* [r2440] Polygon to rev 1.50 (getBoundary always return
-	  MultiLineString)
+	* [r2440] source/geom/Polygon.cpp,
+	  source/headers/geos/geom/Polygon.h: Polygon to rev 1.50
+	  (getBoundary always return MultiLineString)
 
-2009-04-30 11:42  Sandro Santilli <strk at keybit.net>
+2009-04-30 11:42  Sandro Santilli <strk at kbt.io>
 
-	* [r2439] MultiPoint up to rev 1.30 (drop isSimple override)
+	* [r2439] source/geom/MultiPoint.cpp,
+	  source/headers/geos/geom/MultiPoint.h: MultiPoint up to rev 1.30
+	  (drop isSimple override)
 
-2009-04-30 11:36  Sandro Santilli <strk at keybit.net>
+2009-04-30 11:36  Sandro Santilli <strk at kbt.io>
 
-	* [r2438] MultiLineString port info and sync to 1.40 (don't
-	  override isSimple)
+	* [r2438] source/geom/MultiLineString.cpp,
+	  source/headers/geos/geom/MultiLineString.h,
+	  source/headers/geos/geom/MultiLineString.inl: MultiLineString
+	  port info and sync to 1.40 (don't override isSimple)
 
-2009-04-30 11:29  Sandro Santilli <strk at keybit.net>
+2009-04-30 11:29  Sandro Santilli <strk at kbt.io>
 
-	* [r2437] MultiPolygon up to rev 1.34 (getBoundary always returns a
-	  MultiLineString now)
+	* [r2437] source/geom/MultiPolygon.cpp,
+	  source/headers/geos/geom/MultiPolygon.h,
+	  source/headers/geos/geom/MultiPolygon.inl: MultiPolygon up to rev
+	  1.34 (getBoundary always returns a MultiLineString now)
 
-2009-04-30 11:19  Sandro Santilli <strk at keybit.net>
+2009-04-30 11:19  Sandro Santilli <strk at kbt.io>
 
-	* [r2436] Oops, *now* we're at 1.14 (drop isSimple, rely on the one
-	  in base class)
+	* [r2436] source/geom/GeometryCollection.cpp,
+	  source/headers/geos/geom/GeometryCollection.h: Oops, *now* we're
+	  at 1.14 (drop isSimple, rely on the one in base class)
 
-2009-04-30 11:15  Sandro Santilli <strk at keybit.net>
+2009-04-30 11:15  Sandro Santilli <strk at kbt.io>
 
-	* [r2435] Port info. It's at 1.41 now, JTS is at 1.42
+	* [r2435] source/geom/GeometryCollection.cpp,
+	  source/headers/geos/geom/GeometryCollection.h,
+	  source/headers/geos/geom/GeometryCollection.inl: Port info. It's
+	  at 1.41 now, JTS is at 1.42
 
-2009-04-30 11:03  Sandro Santilli <strk at keybit.net>
+2009-04-30 11:03  Sandro Santilli <strk at kbt.io>
 
-	* [r2434] Geometry class up to JTS rev 1.104 (need reach 1.127...)
+	* [r2434] source/geom/Geometry.cpp,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/Geometry.inl: Geometry class up to JTS
+	  rev 1.104 (need reach 1.127...)
 
-2009-04-30 10:59  Sandro Santilli <strk at keybit.net>
+2009-04-30 10:59  Sandro Santilli <strk at kbt.io>
 
-	* [r2433] Add some info about things changed (might have missed
-	  something)
+	* [r2433] NEWS: Add some info about things changed (might have
+	  missed something)
 
-2009-04-30 10:51  Sandro Santilli <strk at keybit.net>
+2009-04-30 10:51  Sandro Santilli <strk at kbt.io>
 
-	* [r2432] Sync to rev 1.22 (JTS-1.10)
+	* [r2432] source/headers/geos/operation/IsSimpleOp.h,
+	  source/operation/IsSimpleOp.cpp: Sync to rev 1.22 (JTS-1.10)
 
-2009-04-30 10:47  Sandro Santilli <strk at keybit.net>
+2009-04-30 10:47  Sandro Santilli <strk at kbt.io>
 
-	* [r2431] EndpointInfo.h header is gone (it's always been private
-	  in JTS)
+	* [r2431] source/headers/geos/operation.h: EndpointInfo.h header is
+	  gone (it's always been private in JTS)
 
-2009-04-30 10:46  Sandro Santilli <strk at keybit.net>
+2009-04-30 10:46  Sandro Santilli <strk at kbt.io>
 
-	* [r2430] Port revision 1.9 of IsSimplOp : allow inspecting
-	  non-simple location coordinate.
+	* [r2430] source/headers/geos/operation/EndpointInfo.h,
+	  source/headers/geos/operation/IsSimpleOp.h,
+	  source/headers/geos/operation/Makefile.am,
+	  source/operation/IsSimpleOp.cpp: Port revision 1.9 of IsSimplOp :
+	  allow inspecting non-simple location coordinate.
 
-2009-04-30 10:43  Sandro Santilli <strk at keybit.net>
+2009-04-30 10:43  Sandro Santilli <strk at kbt.io>
 
-	* [r2429] Sync to revision 1.5 (JTS-1.10) : add accessors
+	* [r2429] source/geomgraph/EdgeIntersection.cpp,
+	  source/headers/geos/geomgraph/EdgeIntersection.h: Sync to
+	  revision 1.5 (JTS-1.10) : add accessors
 
-2009-04-30 09:54  Sandro Santilli <strk at keybit.net>
+2009-04-30 09:54  Sandro Santilli <strk at kbt.io>
 
-	* [r2428] port to rev 1.8 (use of BoundaryNodeRule)
+	* [r2428] source/headers/geos/operation/IsSimpleOp.h,
+	  source/operation/IsSimpleOp.cpp: port to rev 1.8 (use of
+	  BoundaryNodeRule)
 
-2009-04-30 09:49  Sandro Santilli <strk at keybit.net>
+2009-04-30 09:49  Sandro Santilli <strk at kbt.io>
 
-	* [r2427] Import TestSimple.xml from JTS, drop duplicated tests
-	  from testLeaksBig.xml
+	* [r2427] tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/TestSimple.xml,
+	  tests/xmltester/tests/testLeaksBig.xml: Import TestSimple.xml
+	  from JTS, drop duplicated tests from testLeaksBig.xml
 
-2009-04-30 09:26  Sandro Santilli <strk at keybit.net>
+2009-04-30 09:26  Sandro Santilli <strk at kbt.io>
 
-	* [r2426] Port algorithm::BoundaryNodeRule from JTS-1.10 (needed
-	  for IsSimpleOp sync)
+	* [r2426] source/algorithm/BoundaryNodeRule.cpp,
+	  source/algorithm/Makefile.am,
+	  source/headers/geos/algorithm/BoundaryNodeRule.h,
+	  source/headers/geos/algorithm/Makefile.am: Port
+	  algorithm::BoundaryNodeRule from JTS-1.10 (needed for IsSimpleOp
+	  sync)
 
-2009-04-30 08:33  Sandro Santilli <strk at keybit.net>
+2009-04-30 08:33  Sandro Santilli <strk at kbt.io>
 
-	* [r2425] Port info, and sync from 1.14 to 1.17 (more to do, need
-	  more classes)
+	* [r2425] source/headers/geos/operation/IsSimpleOp.h,
+	  source/operation/IsSimpleOp.cpp: Port info, and sync from 1.14 to
+	  1.17 (more to do, need more classes)
 
 2009-04-29 23:52  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2424] test/unit/capi: re-tab all .cpp files to use spaces.
+	* [r2424] tests/unit/capi/GEOSContainsTest.cpp,
+	  tests/unit/capi/GEOSCoordSeqTest.cpp,
+	  tests/unit/capi/GEOSGeomFromWKBTest.cpp,
+	  tests/unit/capi/GEOSGeomToWKTTest.cpp,
+	  tests/unit/capi/GEOSPolygonizer_getCutEdgesTest.cpp,
+	  tests/unit/capi/GEOSPreparedGeometryTest.cpp,
+	  tests/unit/capi/GEOSSimplifyTest.cpp,
+	  tests/unit/capi/GEOSWithinTest.cpp: test/unit/capi: re-tab all
+	  .cpp files to use spaces.
 
 2009-04-29 23:46  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2423] Removed unused <memory> header from C API tests.
+	* [r2423] tests/unit/capi/GEOSContainsTest.cpp,
+	  tests/unit/capi/GEOSWithinTest.cpp: Removed unused <memory>
+	  header from C API tests.
 
 2009-04-29 23:44  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2422] Added new unit tests for C API: GEOSWithinTest and
-	  GEOSContainsTest. This is check and response for problems
-	  reporting in Ticket #250. Running the new tests does not
-	  reproduce the problem, so it likely has been fixed or the bug is
-	  somewhere else (i.e. Django layers).
-
-2009-04-29 09:44  Sandro Santilli <strk at keybit.net>
-
-	* [r2421] Sync GeometricShapeFactory to JTS-1.10 (createArcPolygon
-	  added)
-
-2009-04-29 08:56  Sandro Santilli <strk at keybit.net>
-
-	* [r2420] Bring all geom::prep package in sync with JTS-1.10
-
-2009-04-29 08:22  Sandro Santilli <strk at keybit.net>
-
-	* [r2419] Sync BasicPreparedGeometry to JTS-1.10 (short-circuit in
+	* [r2422] tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSContainsTest.cpp,
+	  tests/unit/capi/GEOSWithinTest.cpp: Added new unit tests for C
+	  API: GEOSWithinTest and GEOSContainsTest. This is check and
+	  response for problems reporting in Ticket #250. Running the new
+	  tests does not reproduce the problem, so it likely has been fixed
+	  or the bug is somewhere else (i.e. Django layers).
+
+2009-04-29 09:44  Sandro Santilli <strk at kbt.io>
+
+	* [r2421] source/headers/geos/util/GeometricShapeFactory.h,
+	  source/util/GeometricShapeFactory.cpp: Sync GeometricShapeFactory
+	  to JTS-1.10 (createArcPolygon added)
+
+2009-04-29 08:56  Sandro Santilli <strk at kbt.io>
+
+	* [r2420] source/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  source/geom/prep/PreparedPolygonContainsProperly.cpp,
+	  source/geom/prep/PreparedPolygonCovers.cpp,
+	  source/geom/prep/PreparedPolygonIntersects.cpp,
+	  source/geom/prep/PreparedPolygonPredicate.cpp,
+	  source/headers/geos/geom/prep/AbstractPreparedPolygonContains.h,
+	  source/headers/geos/geom/prep/PreparedPolygonContainsProperly.h,
+	  source/headers/geos/geom/prep/PreparedPolygonCovers.h,
+	  source/headers/geos/geom/prep/PreparedPolygonIntersects.h,
+	  source/headers/geos/geom/prep/PreparedPolygonPredicate.h: Bring
+	  all geom::prep package in sync with JTS-1.10
+
+2009-04-29 08:22  Sandro Santilli <strk at kbt.io>
+
+	* [r2419] source/geom/prep/BasicPreparedGeometry.cpp,
+	  source/headers/geos/geom/prep/BasicPreparedGeometry.h: Sync
+	  BasicPreparedGeometry to JTS-1.10 (short-circuit in
 	  containsProperly)
 
-2009-04-29 08:15  Sandro Santilli <strk at keybit.net>
-
-	* [r2418] Add port information for geom::prep package. Next stop:
-	  sync to JTS-1.10.
+2009-04-29 08:15  Sandro Santilli <strk at kbt.io>
+
+	* [r2418] source/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  source/geom/prep/BasicPreparedGeometry.cpp,
+	  source/geom/prep/PreparedGeometry.cpp,
+	  source/geom/prep/PreparedGeometryFactory.cpp,
+	  source/geom/prep/PreparedLineString.cpp,
+	  source/geom/prep/PreparedLineStringIntersects.cpp,
+	  source/geom/prep/PreparedPoint.cpp,
+	  source/geom/prep/PreparedPolygon.cpp,
+	  source/geom/prep/PreparedPolygonContains.cpp,
+	  source/geom/prep/PreparedPolygonContainsProperly.cpp,
+	  source/geom/prep/PreparedPolygonCovers.cpp,
+	  source/geom/prep/PreparedPolygonIntersects.cpp,
+	  source/geom/prep/PreparedPolygonPredicate.cpp,
+	  source/headers/geos/geom/prep/AbstractPreparedPolygonContains.h,
+	  source/headers/geos/geom/prep/BasicPreparedGeometry.h,
+	  source/headers/geos/geom/prep/PreparedGeometry.h,
+	  source/headers/geos/geom/prep/PreparedGeometryFactory.h,
+	  source/headers/geos/geom/prep/PreparedLineString.h,
+	  source/headers/geos/geom/prep/PreparedLineStringIntersects.h,
+	  source/headers/geos/geom/prep/PreparedPoint.h,
+	  source/headers/geos/geom/prep/PreparedPolygon.h,
+	  source/headers/geos/geom/prep/PreparedPolygonContains.h,
+	  source/headers/geos/geom/prep/PreparedPolygonContainsProperly.h,
+	  source/headers/geos/geom/prep/PreparedPolygonCovers.h,
+	  source/headers/geos/geom/prep/PreparedPolygonIntersects.h,
+	  source/headers/geos/geom/prep/PreparedPolygonPredicate.h: Add
+	  port information for geom::prep package. Next stop: sync to
+	  JTS-1.10.
 
-2009-04-27 19:47  Sandro Santilli <strk at keybit.net>
+2009-04-27 19:47  Sandro Santilli <strk at kbt.io>
 
-	* [r2417] Plug last one. All heap blocks were freed -- no leaks are
-	  possible.
+	* [r2417] tests/unit/capi/GEOSGeomToWKTTest.cpp: Plug last one. All
+	  heap blocks were freed -- no leaks are possible.
 
-2009-04-27 19:42  Sandro Santilli <strk at keybit.net>
+2009-04-27 19:42  Sandro Santilli <strk at kbt.io>
 
-	* [r2416] Fix leak in testcase
+	* [r2416] tests/unit/algorithm/RobustLineIntersectorTest.cpp: Fix
+	  leak in testcase
 
-2009-04-27 19:38  Sandro Santilli <strk at keybit.net>
+2009-04-27 19:38  Sandro Santilli <strk at kbt.io>
 
-	* [r2415] Refactor signatures to make ownership transfers more
-	  explicit. Fixed another leak in Node::insertNode.
+	* [r2415] source/headers/geos/index/quadtree/Node.h,
+	  source/headers/geos/index/quadtree/Root.h,
+	  source/index/quadtree/Node.cpp, source/index/quadtree/Root.cpp:
+	  Refactor signatures to make ownership transfers more explicit.
+	  Fixed another leak in Node::insertNode.
 
-2009-04-27 19:22  Sandro Santilli <strk at keybit.net>
+2009-04-27 19:22  Sandro Santilli <strk at kbt.io>
 
-	* [r2414] Fix memory leak in NodeBase::remove, exposed by unit
-	  testing
+	* [r2414] source/index/quadtree/NodeBase.cpp: Fix memory leak in
+	  NodeBase::remove, exposed by unit testing
 
-2009-04-27 15:52  Sandro Santilli <strk at keybit.net>
+2009-04-27 15:52  Sandro Santilli <strk at kbt.io>
 
-	* [r2413] Port info for quadtree::root
+	* [r2413] source/headers/geos/index/quadtree/Root.h,
+	  source/index/quadtree/Root.cpp: Port info for quadtree::root
 
-2009-04-27 15:47  Sandro Santilli <strk at keybit.net>
+2009-04-27 15:47  Sandro Santilli <strk at kbt.io>
 
-	* [r2412] Port info for quadtree::Node
+	* [r2412] source/headers/geos/index/quadtree/Node.h,
+	  source/index/quadtree/Node.cpp: Port info for quadtree::Node
 
-2009-04-27 15:39  Sandro Santilli <strk at keybit.net>
+2009-04-27 15:39  Sandro Santilli <strk at kbt.io>
 
-	* [r2411] Port info and check, doxygen.
+	* [r2411] source/headers/geos/index/quadtree/IntervalSize.h,
+	  source/index/quadtree/IntervalSize.cpp: Port info and check,
+	  doxygen.
 
-2009-04-27 15:30  Sandro Santilli <strk at keybit.net>
+2009-04-27 15:30  Sandro Santilli <strk at kbt.io>
 
-	* [r2410] Sync to JTS-1.10, reduce heap allocations and pointers
-	  usage. Includes a bugfix in collectStats.
+	* [r2410] source/headers/geos/index/quadtree/Quadtree.h,
+	  source/index/quadtree/Quadtree.cpp: Sync to JTS-1.10, reduce heap
+	  allocations and pointers usage. Includes a bugfix in
+	  collectStats.
 
-2009-04-27 15:00  Sandro Santilli <strk at keybit.net>
+2009-04-27 15:00  Sandro Santilli <strk at kbt.io>
 
-	* [r2409] DoubleBits didn't change in JTS, update port info
-	  accordingly
+	* [r2409] source/headers/geos/index/quadtree/DoubleBits.h,
+	  source/index/quadtree/DoubleBits.cpp: DoubleBits didn't change in
+	  JTS, update port info accordingly
 
-2009-04-27 14:58  Sandro Santilli <strk at keybit.net>
+2009-04-27 14:58  Sandro Santilli <strk at kbt.io>
 
-	* [r2408] Quadtree's NodeBase: check port sync, add port info, drop
-	  unneeded pointers and virtuals, document objects ownership.
+	* [r2408] source/headers/geos/index/quadtree/Node.h,
+	  source/headers/geos/index/quadtree/NodeBase.h,
+	  source/headers/geos/index/quadtree/Root.h,
+	  source/index/quadtree/NodeBase.cpp,
+	  source/index/quadtree/Quadtree.cpp: Quadtree's NodeBase: check
+	  port sync, add port info, drop unneeded pointers and virtuals,
+	  document objects ownership.
 
-2009-04-25 00:23  Sandro Santilli <strk at keybit.net>
+2009-04-25 00:23  Sandro Santilli <strk at kbt.io>
 
-	* [r2407] Const-correctness, reduced heap allocations and port info
-	  for quadtree::Key class, a few more cleanups in user classes, to
-	  be continued.
+	* [r2407] source/headers/geos/index/SpatialIndex.h,
+	  source/headers/geos/index/quadtree/Key.h,
+	  source/headers/geos/index/quadtree/Node.h,
+	  source/index/quadtree/Key.cpp, source/index/quadtree/Node.cpp,
+	  source/index/quadtree/Root.cpp: Const-correctness, reduced heap
+	  allocations and port info for quadtree::Key class, a few more
+	  cleanups in user classes, to be continued.
 
-2009-04-24 23:44  Sandro Santilli <strk at keybit.net>
+2009-04-24 23:44  Sandro Santilli <strk at kbt.io>
 
-	* [r2406] Fix memory leak in Quadtree::remove
+	* [r2406] source/index/quadtree/Quadtree.cpp: Fix memory leak in
+	  Quadtree::remove
 
-2009-04-23 15:26  Sandro Santilli <strk at keybit.net>
+2009-04-23 15:26  Sandro Santilli <strk at kbt.io>
 
-	* [r2405] Apply Single-sided buffer patch, issue #215. UNTESTED.
+	* [r2405] source/headers/geos/operation/buffer/BufferBuilder.h,
+	  source/headers/geos/operation/buffer/OffsetCurveBuilder.h,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveVertexList.h: Apply
+	  Single-sided buffer patch, issue #215. UNTESTED.
 
-2009-04-21 16:11  Sandro Santilli <strk at keybit.net>
+2009-04-21 16:11  Sandro Santilli <strk at kbt.io>
 
-	* [r2404] Port ValidSelfTouchingRingFormingHoleTest
+	* [r2404] tests/unit/Makefile.am,
+	  tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:
+	  Port ValidSelfTouchingRingFormingHoleTest
 
-2009-04-21 15:30  Sandro Santilli <strk at keybit.net>
+2009-04-21 15:30  Sandro Santilli <strk at kbt.io>
 
-	* [r2403] Port ValidClosedRingTest
+	* [r2403] tests/unit/Makefile.am,
+	  tests/unit/operation/valid/ValidClosedRingTest.cpp: Port
+	  ValidClosedRingTest
 
-2009-04-21 15:13  Sandro Santilli <strk at keybit.net>
+2009-04-21 15:13  Sandro Santilli <strk at kbt.io>
 
-	* [r2402] ::reverse returns a Geometry now (to be available up in
-	  base class)
+	* [r2402] source/geom/LineString.cpp,
+	  source/headers/geos/geom/LineString.h: ::reverse returns a
+	  Geometry now (to be available up in base class)
 
-2009-04-21 15:12  Sandro Santilli <strk at keybit.net>
+2009-04-21 15:12  Sandro Santilli <strk at kbt.io>
 
-	* [r2401] Sync LinearRing to JTS-1.10 (fixing a bug in isClosed)
+	* [r2401] source/geom/LinearRing.cpp,
+	  source/headers/geos/geom/LinearRing.h,
+	  tests/unit/geom/LinearRingTest.cpp: Sync LinearRing to JTS-1.10
+	  (fixing a bug in isClosed)
 
-2009-04-21 14:03  Sandro Santilli <strk at keybit.net>
+2009-04-21 14:03  Sandro Santilli <strk at kbt.io>
 
-	* [r2400] Port IsValidOp unit test
+	* [r2400] tests/unit/Makefile.am, tests/unit/operation/valid,
+	  tests/unit/operation/valid/IsValidTest.cpp: Port IsValidOp unit
+	  test
 
-2009-04-21 11:14  Sandro Santilli <strk at keybit.net>
+2009-04-21 11:14  Sandro Santilli <strk at kbt.io>
 
-	* [r2399] Configure for CXX, not C. Should fix unknown tag and link
-	  issues on telascience.
+	* [r2399] configure.in: Configure for CXX, not C. Should fix
+	  unknown tag and link issues on telascience.
 
-2009-04-21 09:06  Sandro Santilli <strk at keybit.net>
+2009-04-21 09:06  Sandro Santilli <strk at kbt.io>
 
-	* [r2398] Add an AC_LIBTOOL_LANG_C_CONFIG call right before the
-	  AC_LIBTOOL_COMPILER_OPTION calls. Seems to fix compiler selection
-	  on telascience (whereas AC_LANG and AC_LANG_PUSH didn't work)
+	* [r2398] configure.in: Add an AC_LIBTOOL_LANG_C_CONFIG call right
+	  before the AC_LIBTOOL_COMPILER_OPTION calls. Seems to fix
+	  compiler selection on telascience (whereas AC_LANG and
+	  AC_LANG_PUSH didn't work)
 
-2009-04-20 20:32  Sandro Santilli <strk at keybit.net>
+2009-04-20 20:32  Sandro Santilli <strk at kbt.io>
 
-	* [r2397] Use JTS heuristic for distance-0 buffer checking
+	* [r2397] tests/xmltester/BufferResultMatcher.cpp,
+	  tests/xmltester/BufferResultMatcher.h: Use JTS heuristic for
+	  distance-0 buffer checking
 
 2009-04-20 11:04  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2396] Updated svn:ignore patterns.
+	* [r2396] tests/perf, tests/perf/operation,
+	  tests/perf/operation/buffer: Updated svn:ignore patterns.
 
-2009-04-20 10:37  Sandro Santilli <strk at keybit.net>
+2009-04-20 10:37  Sandro Santilli <strk at kbt.io>
 
-	* [r2395] Port IteratedBufferStessTest
+	* [r2395] configure.in, tests/Makefile.am, tests/perf,
+	  tests/perf/Makefile.am, tests/perf/operation,
+	  tests/perf/operation/Makefile.am, tests/perf/operation/buffer,
+	  tests/perf/operation/buffer/IteratedBufferStressTest.cpp,
+	  tests/perf/operation/buffer/Makefile.am: Port
+	  IteratedBufferStessTest
 
-2009-04-20 09:37  Sandro Santilli <strk at keybit.net>
+2009-04-20 09:37  Sandro Santilli <strk at kbt.io>
 
-	* [r2394] Add named constants, sync to JTS-1.10
+	* [r2394] source/geomgraph/Quadrant.cpp,
+	  source/headers/geos/geomgraph/Quadrant.h: Add named constants,
+	  sync to JTS-1.10
 
 2009-04-20 09:24  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2393] Updated svn:ignore patterns.
+	* [r2393] source/algorithm/distance,
+	  source/headers/geos/algorithm/distance: Updated svn:ignore
+	  patterns.
 
-2009-04-18 07:55  Sandro Santilli <strk at keybit.net>
+2009-04-18 07:55  Sandro Santilli <strk at kbt.io>
 
-	* [r2392] Use BufferResultMatcher for buffer operations. No
-	  failures.
+	* [r2392] tests/xmltester/XMLTester.cpp: Use BufferResultMatcher
+	  for buffer operations. No failures.
 
-2009-04-18 07:49  Sandro Santilli <strk at keybit.net>
+2009-04-18 07:49  Sandro Santilli <strk at kbt.io>
 
-	* [r2391] Imported cleaned-up version of fme.xml -- this one fails
-	  (the one we have is actually expecting a wrong result)
+	* [r2391] tests/xmltester/tests/TestBigNastyBuffer.xml: Imported
+	  cleaned-up version of fme.xml -- this one fails (the one we have
+	  is actually expecting a wrong result)
 
-2009-04-18 07:46  Sandro Santilli <strk at keybit.net>
+2009-04-18 07:46  Sandro Santilli <strk at kbt.io>
 
-	* [r2390] Don't densify coordinates if buffer distance is 0
+	* [r2390] tests/xmltester/BufferResultMatcher.cpp: Don't densify
+	  coordinates if buffer distance is 0
 
-2009-04-17 16:50  Sandro Santilli <strk at keybit.net>
+2009-04-17 16:50  Sandro Santilli <strk at kbt.io>
 
-	* [r2389] comment out debugging lines
+	* [r2389]
+	  tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:
+	  comment out debugging lines
 
-2009-04-17 16:49  Sandro Santilli <strk at keybit.net>
+2009-04-17 16:49  Sandro Santilli <strk at kbt.io>
 
-	* [r2388] Port DiscreteHausdorffDistance unit test
+	* [r2388] tests/unit/Makefile.am, tests/unit/algorithm/distance,
+	  tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:
+	  Port DiscreteHausdorffDistance unit test
 
-2009-04-17 16:47  Sandro Santilli <strk at keybit.net>
+2009-04-17 16:47  Sandro Santilli <strk at kbt.io>
 
-	* [r2387] Offline some more
+	* [r2387] source/algorithm/distance/DiscreteHausdorffDistance.cpp,
+	  source/headers/geos/algorithm/distance/DiscreteHausdorffDistance.h:
+	  Offline some more
 
-2009-04-17 16:46  Sandro Santilli <strk at keybit.net>
+2009-04-17 16:46  Sandro Santilli <strk at kbt.io>
 
-	* [r2386] Fix typo
+	* [r2386]
+	  source/headers/geos/algorithm/distance/PointPairDistance.h: Fix
+	  typo
 
-2009-04-17 16:26  Sandro Santilli <strk at keybit.net>
+2009-04-17 16:26  Sandro Santilli <strk at kbt.io>
 
-	* [r2385] Add missing implementation bits
+	* [r2385] source/algorithm/distance/DiscreteHausdorffDistance.cpp,
+	  source/headers/geos/algorithm/distance/DiscreteHausdorffDistance.h:
+	  Add missing implementation bits
 
-2009-04-17 15:47  Sandro Santilli <strk at keybit.net>
+2009-04-17 15:47  Sandro Santilli <strk at kbt.io>
 
-	* [r2384] Port BufferResultMatcher. Gives 31 new failures !!
+	* [r2384] tests/xmltester/BufferResultMatcher.cpp,
+	  tests/xmltester/BufferResultMatcher.h,
+	  tests/xmltester/XMLTester.cpp: Port BufferResultMatcher. Gives 31
+	  new failures !!
 
-2009-04-17 15:37  Sandro Santilli <strk at keybit.net>
+2009-04-17 15:37  Sandro Santilli <strk at kbt.io>
 
-	* [r2383] proper inline check_valid
-	  source/headers/geos/geom/BinaryOp.h
+	* [r2383] source/headers/geos/geom/BinaryOp.h,
+	  tests/xmltester/Makefile.am, tests/xmltester/XMLTester.cpp:
+	  proper inline check_valid source/headers/geos/geom/BinaryOp.h
 
-2009-04-17 15:34  Sandro Santilli <strk at keybit.net>
+2009-04-17 15:34  Sandro Santilli <strk at kbt.io>
 
-	* [r2382] Header guard
+	* [r2382] source/headers/geos/geom/BinaryOp.h: Header guard
 
-2009-04-17 13:59  Sandro Santilli <strk at keybit.net>
+2009-04-17 13:59  Sandro Santilli <strk at kbt.io>
 
-	* [r2381] renamed intersection constants
+	* [r2381] source/algorithm/LineIntersector.cpp,
+	  source/headers/geos/algorithm/LineIntersector.h,
+	  tests/unit/algorithm/RobustLineIntersectorTest.cpp: renamed
+	  intersection constants
 
-2009-04-17 09:56  Sandro Santilli <strk at keybit.net>
+2009-04-17 09:56  Sandro Santilli <strk at kbt.io>
 
-	* [r2380] Add debugging output of variables used by
+	* [r2380] configure.in: Add debugging output of variables used by
 	  AC_LIBTOOL_COMPILER_OPTION. Surprisingly, the buildbots try to
 	  use a fortran compiler there
 
-2009-04-17 07:50  Sandro Santilli <strk at keybit.net>
+2009-04-17 07:50  Sandro Santilli <strk at kbt.io>
 
-	* [r2379] Differentiate variable used in AC_LIBTOOL_COMPILE_OPTION
-	  for proper use of configuration cache
+	* [r2379] configure.in: Differentiate variable used in
+	  AC_LIBTOOL_COMPILE_OPTION for proper use of configuration cache
 
-2009-04-16 18:05  Sandro Santilli <strk at keybit.net>
+2009-04-16 18:05  Sandro Santilli <strk at kbt.io>
 
-	* [r2378] Use -ffloat-store flag when available. See
+	* [r2378] configure.in: Use -ffloat-store flag when available. See
 	  http://lists.osgeo.org/pipermail/geos-devel/2009-April/004089.html
 
-2009-04-16 12:56  Sandro Santilli <strk at keybit.net>
-
-	* [r2377] Make enum values explicit, as JTS tests rely on those..
-
-2009-04-16 12:54  Sandro Santilli <strk at keybit.net>
-
-	* [r2376] Port RobustLineIntersectorTest from JTS
-
-2009-04-16 12:08  Sandro Santilli <strk at keybit.net>
-
-	* [r2375] better isolation of test-specific functions
-
-2009-04-16 10:48  Sandro Santilli <strk at keybit.net>
-
-	* [r2374] Port RobustLineIntersectionTest (mostly failing, but
-	  reported by Martin Davis to be expected)
-
-2009-04-15 15:58  Sandro Santilli <strk at keybit.net>
-
-	* [r2373] New class rename, following JTS
-
-2009-04-15 12:56  Sandro Santilli <strk at keybit.net>
-
-	* [r2372] typo in disabled section
-
-2009-04-15 11:17  Sandro Santilli <strk at keybit.net>
-
-	* [r2371] Few more docs about memory management in quadtree
-	  indexing; fix a potential leak in quadtree::Key
-
-2009-04-15 10:43  Sandro Santilli <strk at keybit.net>
-
-	* [r2370] Document ownership of quadtree::NodeBase subnodes
-
-2009-04-15 10:18  Sandro Santilli <strk at keybit.net>
-
-	* [r2369] Fix memory leak in unit test
-
-2009-04-15 10:02  Sandro Santilli <strk at keybit.net>
+2009-04-16 12:56  Sandro Santilli <strk at kbt.io>
 
-	* [r2368] Fix leak in SimpleGeometryPrecisionReducer, improve
-	  memory management docs where topic.
+	* [r2377] source/headers/geos/algorithm/LineIntersector.h: Make
+	  enum values explicit, as JTS tests rely on those..
 
-2009-04-15 09:29  Sandro Santilli <strk at keybit.net>
+2009-04-16 12:54  Sandro Santilli <strk at kbt.io>
 
-	* [r2367] Document ownership of DistanceOp::closestPoints return,
-	  fix leak in unit test.
+	* [r2376] tests/unit/Makefile.am,
+	  tests/unit/algorithm/RobustLineIntersectorTest.cpp: Port
+	  RobustLineIntersectorTest from JTS
 
-2009-04-15 09:25  Sandro Santilli <strk at keybit.net>
+2009-04-16 12:08  Sandro Santilli <strk at kbt.io>
 
-	* [r2366] Fix leak in PolygonBuilder (overlay operation). The leak
-	  was exposed by the stmlf-cases-20061020.xml testcase. This commit
-	  also adds some doc-only throw specs related to the bug.
+	* [r2375] tests/unit/algorithm/RobustLineIntersectionTest.cpp:
+	  better isolation of test-specific functions
 
-2009-04-15 07:52  Sandro Santilli <strk at keybit.net>
+2009-04-16 10:48  Sandro Santilli <strk at kbt.io>
 
-	* [r2365] Fix memory leaks in IsValid operation
+	* [r2374] tests/unit/Makefile.am,
+	  tests/unit/algorithm/RobustLineIntersectionTest.cpp: Port
+	  RobustLineIntersectionTest (mostly failing, but reported by
+	  Martin Davis to be expected)
 
-2009-04-15 00:27  Sandro Santilli <strk at keybit.net>
+2009-04-15 15:58  Sandro Santilli <strk at kbt.io>
 
-	* [r2364] Explain why unrolled computation is turned off, and keep
-	  it off
+	* [r2373] source/algorithm/distance/DiscreteHausdorffDistance.cpp,
+	  source/algorithm/distance/DistanceToPoint.cpp,
+	  source/algorithm/distance/EuclideanDistanceToPoint.cpp,
+	  source/algorithm/distance/Makefile.am,
+	  source/headers/geos/algorithm/distance/DiscreteHausdorffDistance.h,
+	  source/headers/geos/algorithm/distance/DistanceToPoint.h,
+	  source/headers/geos/algorithm/distance/EuclideanDistanceToPoint.h,
+	  source/headers/geos/algorithm/distance/Makefile.am: New class
+	  rename, following JTS
 
-2009-04-15 00:14  Sandro Santilli <strk at keybit.net>
+2009-04-15 12:56  Sandro Santilli <strk at kbt.io>
 
-	* [r2363] Fix typo in computing angleOrientation
-
-2009-04-14 19:11  Sandro Santilli <strk at keybit.net>
-
-	* [r2362] Temporarly revert the unrolled computation in
-	  HCoordinate::intersection. Added mitred join buffer test from JTS
-	  (failed with the unrolled comp, to be further inspected).
-
-2009-04-14 16:43  Sandro Santilli <strk at keybit.net>
-
-	* [r2361] Port the algorithm::distance package from JTS 1.9
-
-2009-04-14 15:25  Sandro Santilli <strk at keybit.net>
-
-	* [r2360] Add CoordinateSequenceFilter support, fix default
-	  GeometryComponentFilter moving the logic to the correct place (a
-	  Geometry private class).
-
-2009-04-14 13:35  Sandro Santilli <strk at keybit.net>
-
-	* [r2359] Sync (Robust)LineIntersector to JTS-1.9
+	* [r2372] source/algorithm/HCoordinate.cpp: typo in disabled
+	  section
 
-2009-04-14 13:23  Sandro Santilli <strk at keybit.net>
+2009-04-15 11:17  Sandro Santilli <strk at kbt.io>
 
-	* [r2358] Sync CGAlgorithms with JTS-1.9
+	* [r2371] source/headers/geos/index/quadtree/Key.h,
+	  source/headers/geos/index/quadtree/Node.h,
+	  source/index/quadtree/Key.cpp: Few more docs about memory
+	  management in quadtree indexing; fix a potential leak in
+	  quadtree::Key
 
-2009-04-14 12:55  Sandro Santilli <strk at keybit.net>
+2009-04-15 10:43  Sandro Santilli <strk at kbt.io>
 
-	* [r2357] Fix memory leak in RayCrossingCounter; update signatures
-	  to avoid pointers when unneeded; add a locatePointInRing taking a
-	  vector of coordinate pointers, for use by CGAlgorithms
+	* [r2370] source/headers/geos/index/quadtree/NodeBase.h: Document
+	  ownership of quadtree::NodeBase subnodes
 
-2009-04-14 12:42  Sandro Santilli <strk at keybit.net>
+2009-04-15 10:18  Sandro Santilli <strk at kbt.io>
 
-	* [r2356] Update port info, checked against JTS-1.9
+	* [r2369] tests/unit/util/UniqueCoordinateArrayFilterTest.cpp: Fix
+	  memory leak in unit test
 
-2009-04-14 11:03  Sandro Santilli <strk at keybit.net>
+2009-04-15 10:02  Sandro Santilli <strk at kbt.io>
 
-	* [r2355] Move XML tests under their own directory
+	* [r2368] source/headers/geos/geom/CoordinateSequence.h,
+	  source/headers/geos/geom/util/CoordinateOperation.h,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp: Fix leak in
+	  SimpleGeometryPrecisionReducer, improve memory management docs
+	  where topic.
 
-2009-04-14 10:50  Sandro Santilli <strk at keybit.net>
+2009-04-15 09:29  Sandro Santilli <strk at kbt.io>
 
-	* [r2354] Fix memory leak in BufferBuilder (due to just-ported
-	  short-circuit)
+	* [r2367] source/headers/geos/operation/distance/DistanceOp.h,
+	  tests/unit/operation/distance/DistanceOpTest.cpp: Document
+	  ownership of DistanceOp::closestPoints return, fix leak in unit
+	  test.
 
-2009-04-14 10:27  Sandro Santilli <strk at keybit.net>
+2009-04-15 09:25  Sandro Santilli <strk at kbt.io>
 
-	* [r2353] Add support for bufferMitredJoin tests
+	* [r2366] source/geomgraph/EdgeRing.cpp,
+	  source/headers/geos/geomgraph/EdgeRing.h,
+	  source/headers/geos/operation/overlay/MaximalEdgeRing.h,
+	  source/headers/geos/operation/overlay/PolygonBuilder.h,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp: Fix leak in
+	  PolygonBuilder (overlay operation). The leak was exposed by the
+	  stmlf-cases-20061020.xml testcase. This commit also adds some
+	  doc-only throw specs related to the bug.
 
-2009-04-14 09:53  Sandro Santilli <strk at keybit.net>
+2009-04-15 07:52  Sandro Santilli <strk at kbt.io>
 
-	* [r2352] Fix XML for Buffer testing to match jts layout (arg2 for
-	  distance, arg3 for quadrant segments); copy buffer-related tests
-	  from jts: they succeed w/out editing.
+	* [r2365] source/operation/valid/IndexedNestedRingTester.cpp: Fix
+	  memory leaks in IsValid operation
 
-2009-04-14 09:22  Sandro Santilli <strk at keybit.net>
+2009-04-15 00:27  Sandro Santilli <strk at kbt.io>
 
-	* [r2351] Update port info of SubgraphDepthLocater
+	* [r2364] source/algorithm/HCoordinate.cpp: Explain why unrolled
+	  computation is turned off, and keep it off
 
-2009-04-14 09:19  Sandro Santilli <strk at keybit.net>
+2009-04-15 00:14  Sandro Santilli <strk at kbt.io>
 
-	* [r2350] Update port info for RightmostEdgeFinder (checked)
+	* [r2363] source/operation/buffer/BufferInputLineSimplifier.cpp:
+	  Fix typo in computing angleOrientation
 
-2009-04-14 09:14  Sandro Santilli <strk at keybit.net>
+2009-04-14 19:11  Sandro Santilli <strk at kbt.io>
 
-	* [r2349] Sync BufferSubgraph to JTS-1.9
+	* [r2362] source/algorithm/HCoordinate.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/tests/TestBufferMitredJoin.xml: Temporarly revert
+	  the unrolled computation in HCoordinate::intersection. Added
+	  mitred join buffer test from JTS (failed with the unrolled comp,
+	  to be further inspected).
 
-2009-04-14 08:52  Sandro Santilli <strk at keybit.net>
+2009-04-14 16:43  Sandro Santilli <strk at kbt.io>
 
-	* [r2348] Port OffsetCurveBuilder from JTS-1.9. Twenty time faster
-	  completion of fme.xml testcase !
+	* [r2361] configure.in, source/algorithm/Makefile.am,
+	  source/algorithm/distance,
+	  source/algorithm/distance/DiscreteHausdorffDistance.cpp,
+	  source/algorithm/distance/EuclideanDistanceToPoint.cpp,
+	  source/algorithm/distance/Makefile.am,
+	  source/headers/geos/algorithm/Makefile.am,
+	  source/headers/geos/algorithm/distance,
+	  source/headers/geos/algorithm/distance/DiscreteHausdorffDistance.h,
+	  source/headers/geos/algorithm/distance/EuclideanDistanceToPoint.h,
+	  source/headers/geos/algorithm/distance/Makefile.am,
+	  source/headers/geos/algorithm/distance/PointPairDistance.h,
+	  source/headers/geos/geom/CoordinateSequenceFilter.h: Port the
+	  algorithm::distance package from JTS 1.9
 
-2009-04-10 20:22  Sandro Santilli <strk at keybit.net>
+2009-04-14 15:25  Sandro Santilli <strk at kbt.io>
 
-	* [r2347] Port BufferInputLineSimplifier from JTS 1.9
+	* [r2360] source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryComponentFilter.cpp,
+	  source/geom/LineString.cpp, source/geom/Point.cpp,
+	  source/geom/Polygon.cpp,
+	  source/headers/geos/geom/CoordinateSequenceFilter.h,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/GeometryCollection.h,
+	  source/headers/geos/geom/LineString.h,
+	  source/headers/geos/geom/Makefile.am,
+	  source/headers/geos/geom/Point.h,
+	  source/headers/geos/geom/Polygon.h: Add CoordinateSequenceFilter
+	  support, fix default GeometryComponentFilter moving the logic to
+	  the correct place (a Geometry private class).
+
+2009-04-14 13:35  Sandro Santilli <strk at kbt.io>
+
+	* [r2359] source/algorithm/LineIntersector.cpp,
+	  source/headers/geos/algorithm/LineIntersector.h: Sync
+	  (Robust)LineIntersector to JTS-1.9
+
+2009-04-14 13:23  Sandro Santilli <strk at kbt.io>
+
+	* [r2358] source/algorithm/CGAlgorithms.cpp,
+	  source/headers/geos/algorithm/CGAlgorithms.h: Sync CGAlgorithms
+	  with JTS-1.9
+
+2009-04-14 12:55  Sandro Santilli <strk at kbt.io>
+
+	* [r2357] source/algorithm/RayCrossingCounter.cpp,
+	  source/algorithm/locate/IndexedPointInAreaLocator.cpp,
+	  source/headers/geos/algorithm/RayCrossingCounter.h: Fix memory
+	  leak in RayCrossingCounter; update signatures to avoid pointers
+	  when unneeded; add a locatePointInRing taking a vector of
+	  coordinate pointers, for use by CGAlgorithms
+
+2009-04-14 12:42  Sandro Santilli <strk at kbt.io>
+
+	* [r2356] source/algorithm/RayCrossingCounter.cpp,
+	  source/headers/geos/algorithm/RayCrossingCounter.h: Update port
+	  info, checked against JTS-1.9
+
+2009-04-14 11:03  Sandro Santilli <strk at kbt.io>
+
+	* [r2355] tests/xmltester/Makefile.am,
+	  tests/xmltester/TestBuffer.xml,
+	  tests/xmltester/TestBufferExternal.xml,
+	  tests/xmltester/TestBufferExternal2.xml,
+	  tests/xmltester/TestCentroid.xml,
+	  tests/xmltester/TestInteriorPoint.xml,
+	  tests/xmltester/TestIsValid.xml,
+	  tests/xmltester/TestRobustOverlayFixed.xml,
+	  tests/xmltester/TestValid.xml,
+	  tests/xmltester/TestValid2-big.xml,
+	  tests/xmltester/TestValid2.xml, tests/xmltester/badguy3.xml,
+	  tests/xmltester/buffer.xml, tests/xmltester/buffer_snapround.xml,
+	  tests/xmltester/fme.xml, tests/xmltester/heisenbugs.xml,
+	  tests/xmltester/hexwkb.xml, tests/xmltester/hole_from_shell.xml,
+	  tests/xmltester/hole_red.xml, tests/xmltester/linemerge.xml,
+	  tests/xmltester/robustness.xml,
+	  tests/xmltester/stmlf-cases-20061020.xml,
+	  tests/xmltester/stmlf-cases-20070119.xml,
+	  tests/xmltester/test.xml, tests/xmltester/testLeaksBig.xml,
+	  tests/xmltester/tests, tests/xmltester/tests/TestBuffer.xml,
+	  tests/xmltester/tests/TestBufferExternal.xml,
+	  tests/xmltester/tests/TestBufferExternal2.xml,
+	  tests/xmltester/tests/TestCentroid.xml,
+	  tests/xmltester/tests/TestInteriorPoint.xml,
+	  tests/xmltester/tests/TestIsValid.xml,
+	  tests/xmltester/tests/TestRobustOverlayFixed.xml,
+	  tests/xmltester/tests/TestValid.xml,
+	  tests/xmltester/tests/TestValid2-big.xml,
+	  tests/xmltester/tests/TestValid2.xml,
+	  tests/xmltester/tests/badguy3.xml,
+	  tests/xmltester/tests/buffer.xml,
+	  tests/xmltester/tests/buffer_snapround.xml,
+	  tests/xmltester/tests/fme.xml,
+	  tests/xmltester/tests/heisenbugs.xml,
+	  tests/xmltester/tests/hexwkb.xml,
+	  tests/xmltester/tests/hole_from_shell.xml,
+	  tests/xmltester/tests/hole_red.xml,
+	  tests/xmltester/tests/linemerge.xml,
+	  tests/xmltester/tests/robustness.xml,
+	  tests/xmltester/tests/stmlf-cases-20061020.xml,
+	  tests/xmltester/tests/stmlf-cases-20070119.xml,
+	  tests/xmltester/tests/test.xml,
+	  tests/xmltester/tests/testLeaksBig.xml: Move XML tests under
+	  their own directory
+
+2009-04-14 10:50  Sandro Santilli <strk at kbt.io>
+
+	* [r2354] source/operation/buffer/BufferBuilder.cpp: Fix memory
+	  leak in BufferBuilder (due to just-ported short-circuit)
+
+2009-04-14 10:27  Sandro Santilli <strk at kbt.io>
+
+	* [r2353] tests/xmltester/XMLTester.cpp: Add support for
+	  bufferMitredJoin tests
+
+2009-04-14 09:53  Sandro Santilli <strk at kbt.io>
+
+	* [r2352] tests/xmltester/Makefile.am,
+	  tests/xmltester/TestBuffer.xml,
+	  tests/xmltester/TestBufferExternal.xml,
+	  tests/xmltester/TestBufferExternal2.xml,
+	  tests/xmltester/XMLTester.cpp, tests/xmltester/badguy3.xml,
+	  tests/xmltester/buffer.xml, tests/xmltester/buffer_snapround.xml,
+	  tests/xmltester/fme.xml, tests/xmltester/testLeaksBig.xml: Fix
+	  XML for Buffer testing to match jts layout (arg2 for distance,
+	  arg3 for quadrant segments); copy buffer-related tests from jts:
+	  they succeed w/out editing.
+
+2009-04-14 09:22  Sandro Santilli <strk at kbt.io>
+
+	* [r2351]
+	  source/headers/geos/operation/buffer/SubgraphDepthLocater.h,
+	  source/operation/buffer/SubgraphDepthLocater.cpp: Update port
+	  info of SubgraphDepthLocater
+
+2009-04-14 09:19  Sandro Santilli <strk at kbt.io>
+
+	* [r2350]
+	  source/headers/geos/operation/buffer/RightmostEdgeFinder.h,
+	  source/operation/buffer/RightmostEdgeFinder.cpp: Update port info
+	  for RightmostEdgeFinder (checked)
+
+2009-04-14 09:14  Sandro Santilli <strk at kbt.io>
+
+	* [r2349] source/headers/geos/operation/buffer/BufferSubgraph.h,
+	  source/operation/buffer/BufferSubgraph.cpp: Sync BufferSubgraph
+	  to JTS-1.9
+
+2009-04-14 08:52  Sandro Santilli <strk at kbt.io>
+
+	* [r2348]
+	  source/headers/geos/operation/buffer/OffsetCurveBuilder.h,
+	  source/operation/buffer/OffsetCurveBuilder.cpp: Port
+	  OffsetCurveBuilder from JTS-1.9. Twenty time faster completion of
+	  fme.xml testcase !
+
+2009-04-10 20:22  Sandro Santilli <strk at kbt.io>
+
+	* [r2347] source/operation/buffer/BufferInputLineSimplifier.cpp,
+	  source/operation/buffer/BufferInputLineSimplifier.h,
+	  source/operation/buffer/Makefile.am: Port
+	  BufferInputLineSimplifier from JTS 1.9
 
 2009-04-10 15:15  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2346] Do not generate Makefile for tests/unit/tut. Fixed bug
-	  reported as #247.
+	* [r2346] configure.in: Do not generate Makefile for
+	  tests/unit/tut. Fixed bug reported as #247.
 
-2009-04-10 12:08  Sandro Santilli <strk at keybit.net>
+2009-04-10 12:08  Sandro Santilli <strk at kbt.io>
 
-	* [r2345] Sync LineSegment with JTS-1.9
+	* [r2345] source/geom/LineSegment.cpp,
+	  source/headers/geos/geom/LineSegment.h,
+	  source/headers/geos/geom/LineSegment.inl: Sync LineSegment with
+	  JTS-1.9
 
 2009-04-09 21:46  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2344] Updated tests/unit package with latest relase of C++ TUT
-	  Framework from 2008-11-30.
+	* [r2344] tests/unit/Makefile.am,
+	  tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp,
+	  tests/unit/algorithm/CGAlgorithms/isCCWTest.cpp,
+	  tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp,
+	  tests/unit/algorithm/ConvexHullTest.cpp,
+	  tests/unit/algorithm/PointLocatorTest.cpp,
+	  tests/unit/capi/GEOSCoordSeqTest.cpp,
+	  tests/unit/capi/GEOSGeomFromWKBTest.cpp,
+	  tests/unit/capi/GEOSGeomToWKTTest.cpp,
+	  tests/unit/capi/GEOSPolygonizer_getCutEdgesTest.cpp,
+	  tests/unit/capi/GEOSPreparedGeometryTest.cpp,
+	  tests/unit/capi/GEOSSimplifyTest.cpp,
+	  tests/unit/geom/CoordinateArraySequenceFactoryTest.cpp,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp,
+	  tests/unit/geom/CoordinateListTest.cpp,
+	  tests/unit/geom/CoordinateTest.cpp,
+	  tests/unit/geom/DimensionTest.cpp,
+	  tests/unit/geom/EnvelopeTest.cpp,
+	  tests/unit/geom/Geometry/coversTest.cpp,
+	  tests/unit/geom/Geometry/isRectangleTest.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/geom/IntersectionMatrixTest.cpp,
+	  tests/unit/geom/LineSegmentTest.cpp,
+	  tests/unit/geom/LineStringTest.cpp,
+	  tests/unit/geom/LinearRingTest.cpp,
+	  tests/unit/geom/LocationTest.cpp,
+	  tests/unit/geom/MultiLineStringTest.cpp,
+	  tests/unit/geom/MultiPointTest.cpp,
+	  tests/unit/geom/MultiPolygonTest.cpp,
+	  tests/unit/geom/PointTest.cpp, tests/unit/geom/PolygonTest.cpp,
+	  tests/unit/geom/TriangleTest.cpp,
+	  tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp,
+	  tests/unit/geos_unit.cpp,
+	  tests/unit/index/quadtree/DoubleBitsTest.cpp,
+	  tests/unit/io/ByteOrderValuesTest.cpp,
+	  tests/unit/io/WKBReaderTest.cpp,
+	  tests/unit/noding/BasicSegmentStringTest.cpp,
+	  tests/unit/noding/NodedSegmentStringTest.cpp,
+	  tests/unit/noding/SegmentNodeTest.cpp,
+	  tests/unit/noding/SegmentPointComparatorTest.cpp,
+	  tests/unit/operation/IsSimpleOpTest.cpp,
+	  tests/unit/operation/distance/DistanceOpTest.cpp,
+	  tests/unit/operation/overlay/FuzzyPointLocatorTest.cpp,
+	  tests/unit/operation/overlay/OffsetPointGeneratorTest.cpp,
+	  tests/unit/operation/overlay/OverlayResultValidatorTest.cpp,
+	  tests/unit/operation/union/CascadedPolygonUnionTest.cpp,
+	  tests/unit/precision/GeometrySnapperTest.cpp,
+	  tests/unit/precision/LineStringSnapperTest.cpp,
+	  tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp,
+	  tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp,
+	  tests/unit/simplify/TopologyPreservingSimplifierTest.cpp,
+	  tests/unit/tut/Makefile.am, tests/unit/tut/tut.h,
+	  tests/unit/tut/tut.hpp, tests/unit/tut/tut_assert.hpp,
+	  tests/unit/tut/tut_exception.hpp, tests/unit/tut/tut_posix.hpp,
+	  tests/unit/tut/tut_reporter.h, tests/unit/tut/tut_reporter.hpp,
+	  tests/unit/tut/tut_restartable.h,
+	  tests/unit/tut/tut_restartable.hpp,
+	  tests/unit/tut/tut_result.hpp, tests/unit/tut/tut_runner.hpp,
+	  tests/unit/util/UniqueCoordinateArrayFilterTest.cpp,
+	  tests/unit/utility.h: Updated tests/unit package with latest
+	  relase of C++ TUT Framework from 2008-11-30.
 
 2009-04-09 19:39  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2343] Moved tests/tut to tests/unit/tut. Preparing for update
-	  to latest version of C++ TUT Framework.
-
-2009-04-09 16:22  Sandro Santilli <strk at keybit.net>
-
-	* [r2342] Port algorithm.Angle from JTS-1.9
-
-2009-04-09 11:45  Sandro Santilli <strk at keybit.net>
-
-	* [r2341] Sync BufferBuilder and BufferOp classes to JTS-1.9. Adapt
+	* [r2343] configure.in, tests/Makefile.am, tests/tut,
+	  tests/unit/Makefile.am, tests/unit/tut,
+	  tests/unit/tut/Makefile.am, tests/unit/tut/tut.h,
+	  tests/unit/tut/tut_reporter.h, tests/unit/tut/tut_restartable.h:
+	  Moved tests/tut to tests/unit/tut. Preparing for update to latest
+	  version of C++ TUT Framework.
+
+2009-04-09 16:22  Sandro Santilli <strk at kbt.io>
+
+	* [r2342] source/algorithm/Angle.cpp, source/algorithm/Makefile.am,
+	  source/headers/geos/algorithm/Angle.h,
+	  source/headers/geos/algorithm/Makefile.am: Port algorithm.Angle
+	  from JTS-1.9
+
+2009-04-09 11:45  Sandro Santilli <strk at kbt.io>
+
+	* [r2341] source/headers/geos/operation/buffer/BufferBuilder.h,
+	  source/headers/geos/operation/buffer/BufferOp.h,
+	  source/headers/geos/operation/buffer/OffsetCurveBuilder.h,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp: Sync
+	  BufferBuilder and BufferOp classes to JTS-1.9. Adapt
 	  OffsetCurveBuilder to use of BufferParameter (needs more work for
 	  JTS-sync).
 
-2009-04-09 10:21  Sandro Santilli <strk at keybit.net>
+2009-04-09 10:21  Sandro Santilli <strk at kbt.io>
 
-	* [r2340] typo
+	* [r2340] source/headers/geos/operation/buffer/BufferParameters.h:
+	  typo
 
-2009-04-09 09:45  Sandro Santilli <strk at keybit.net>
+2009-04-09 09:45  Sandro Santilli <strk at kbt.io>
 
-	* [r2339] Port BufferParameters from JTS-1.9
+	* [r2339] source/headers/geos/operation/buffer/BufferParameters.h,
+	  source/headers/geos/operation/buffer/Makefile.am,
+	  source/operation/buffer/BufferParameters.cpp,
+	  source/operation/buffer/Makefile.am: Port BufferParameters from
+	  JTS-1.9
 
-2009-04-09 08:54  Sandro Santilli <strk at keybit.net>
+2009-04-09 08:54  Sandro Santilli <strk at kbt.io>
 
-	* [r2338] Sync port of OffsetCurveVertexList to JTS-1.9, improve
-	  memory management documentation (would need some
-	  refactoring/love)
+	* [r2338] source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveVertexList.h: Sync port of
+	  OffsetCurveVertexList to JTS-1.9, improve memory management
+	  documentation (would need some refactoring/love)
 
-2009-04-08 16:52  Sandro Santilli <strk at keybit.net>
+2009-04-08 16:52  Sandro Santilli <strk at kbt.io>
 
-	* [r2337] Improve duplicate edge detection performance (JTS-1.9
-	  sync) - fme.xml runs 3 times as fast now.
+	* [r2337] source/geomgraph/EdgeList.cpp,
+	  source/headers/geos/geomgraph/EdgeList.h,
+	  source/headers/geos/noding/OrientedCoordinateArray.h: Improve
+	  duplicate edge detection performance (JTS-1.9 sync) - fme.xml
+	  runs 3 times as fast now.
 
-2009-04-08 16:17  Sandro Santilli <strk at keybit.net>
+2009-04-08 16:17  Sandro Santilli <strk at kbt.io>
 
-	* [r2332] const correctness
+	* [r2332] source/noding/OrientedCoordinateArray.cpp: const
+	  correctness
 
-2009-04-08 15:38  Sandro Santilli <strk at keybit.net>
+2009-04-08 15:38  Sandro Santilli <strk at kbt.io>
 
-	* [r2329] Fix documentation for GEOSPrepare, GEOSPrepare_r
+	* [r2329] capi/geos_c.h.in: Fix documentation for GEOSPrepare,
+	  GEOSPrepare_r
 
-2009-04-08 14:54  Sandro Santilli <strk at keybit.net>
+2009-04-08 14:54  Sandro Santilli <strk at kbt.io>
 
-	* [r2328] OrientedCoordinateArray ported from JTS
+	* [r2328] source/headers/geos/noding/Makefile.am,
+	  source/headers/geos/noding/OrientedCoordinateArray.h,
+	  source/noding/Makefile.am,
+	  source/noding/OrientedCoordinateArray.cpp:
+	  OrientedCoordinateArray ported from JTS
 
-2009-04-08 14:41  Sandro Santilli <strk at keybit.net>
+2009-04-08 14:41  Sandro Santilli <strk at kbt.io>
 
-	* [r2327] Add increasingDirection static method, from JTS's
-	  CoordinateArray (GEOS puts all of them in CoordinateSequence for
-	  historical reasons)
+	* [r2327] source/geom/CoordinateSequence.cpp,
+	  source/headers/geos/geom/CoordinateSequence.h: Add
+	  increasingDirection static method, from JTS's CoordinateArray
+	  (GEOS puts all of them in CoordinateSequence for historical
+	  reasons)
 
-2009-04-08 13:16  Sandro Santilli <strk at keybit.net>
+2009-04-08 13:16  Sandro Santilli <strk at kbt.io>
 
-	* [r2326] Complete porting of SimpleSnapRounder (refactoring for
-	  adding snapped nodes)
+	* [r2326] source/headers/geos/noding/snapround/SimpleSnapRounder.h,
+	  source/noding/snapround/SimpleSnapRounder.cpp: Complete porting
+	  of SimpleSnapRounder (refactoring for adding snapped nodes)
 
-2009-04-08 13:02  Sandro Santilli <strk at keybit.net>
+2009-04-08 13:02  Sandro Santilli <strk at kbt.io>
 
-	* [r2325] Improve documentation about memory usage for
-	  SegmentStringUtil class
+	* [r2325] source/headers/geos/noding/SegmentStringUtil.h: Improve
+	  documentation about memory usage for SegmentStringUtil class
 
-2009-04-08 12:58  Sandro Santilli <strk at keybit.net>
+2009-04-08 12:58  Sandro Santilli <strk at kbt.io>
 
-	* [r2324] Stub initial unit tests for C-API's GEOSPreparedGeometry
-	  operations. Helped fixing issue 147 of postgis
+	* [r2324] tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSPreparedGeometryTest.cpp: Stub initial unit
+	  tests for C-API's GEOSPreparedGeometry operations. Helped fixing
+	  issue 147 of postgis
 
-2009-04-08 12:55  Sandro Santilli <strk at keybit.net>
+2009-04-08 12:55  Sandro Santilli <strk at kbt.io>
 
-	* [r2323] Don't access deleted memory. Fixes issue 147.
+	* [r2323] source/geom/prep/PreparedPolygonContainsProperly.cpp:
+	  Don't access deleted memory. Fixes issue 147.
 
-2009-04-08 10:53  Sandro Santilli <strk at keybit.net>
+2009-04-08 10:53  Sandro Santilli <strk at kbt.io>
 
-	* [r2322] Fix typo
+	* [r2322] source/noding/snapround/HotPixel.cpp: Fix typo
 
-2009-04-08 10:06  Sandro Santilli <strk at keybit.net>
+2009-04-08 10:06  Sandro Santilli <strk at kbt.io>
 
-	* [r2321] Add a couple more tests to SegmentNode unit test
+	* [r2321] tests/unit/noding/SegmentNodeTest.cpp: Add a couple more
+	  tests to SegmentNode unit test
 
-2009-04-08 09:42  Sandro Santilli <strk at keybit.net>
+2009-04-08 09:42  Sandro Santilli <strk at kbt.io>
 
-	* [r2320] Port SegmentNode to JTS-1.9
+	* [r2320] source/headers/geos/noding/NodableSegmentString.h,
+	  source/headers/geos/noding/NodedSegmentString.h,
+	  source/headers/geos/noding/SegmentNode.h,
+	  source/headers/geos/noding/SegmentNodeList.h,
+	  source/noding/SegmentNode.cpp, source/noding/SegmentNodeList.cpp,
+	  tests/unit/noding/SegmentNodeTest.cpp,
+	  tests/unit/noding/SegmentPointComparatorTest.cpp: Port
+	  SegmentNode to JTS-1.9
 
-2009-04-07 19:00  Sandro Santilli <strk at keybit.net>
+2009-04-07 19:00  Sandro Santilli <strk at kbt.io>
 
-	* [r2319] Refactor SegmentString to be an abstract class, to be in
-	  sync with JTS-1.9.
+	* [r2319] source/geomgraph/EdgeNodingValidator.cpp,
+	  source/headers/geos/geomgraph/EdgeNodingValidator.h,
+	  source/headers/geos/noding/BasicSegmentString.h,
+	  source/headers/geos/noding/IntersectionAdder.h,
+	  source/headers/geos/noding/IntersectionFinderAdder.h,
+	  source/headers/geos/noding/IteratedNoder.h,
+	  source/headers/geos/noding/MCIndexNoder.h,
+	  source/headers/geos/noding/MCIndexNoder.inl,
+	  source/headers/geos/noding/Makefile.am,
+	  source/headers/geos/noding/NodableSegmentString.h,
+	  source/headers/geos/noding/NodedSegmentString.h,
+	  source/headers/geos/noding/SegmentNodeList.h,
+	  source/headers/geos/noding/SegmentString.h,
+	  source/headers/geos/noding/SegmentString.inl,
+	  source/headers/geos/noding/SimpleNoder.h,
+	  source/headers/geos/noding/snapround/MCIndexPointSnapper.h,
+	  source/headers/geos/noding/snapround/MCIndexSnapRounder.h,
+	  source/headers/geos/noding/snapround/MCIndexSnapRounder.inl,
+	  source/headers/geos/noding/snapround/SimpleSnapRounder.h,
+	  source/headers/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  source/noding/BasicSegmentString.cpp,
+	  source/noding/IntersectionAdder.cpp,
+	  source/noding/IntersectionFinderAdder.cpp,
+	  source/noding/IteratedNoder.cpp, source/noding/MCIndexNoder.cpp,
+	  source/noding/Makefile.am, source/noding/NodedSegmentString.cpp,
+	  source/noding/ScaledNoder.cpp, source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp, source/noding/SimpleNoder.cpp,
+	  source/noding/snapround/MCIndexPointSnapper.cpp,
+	  source/noding/snapround/MCIndexSnapRounder.cpp,
+	  source/noding/snapround/SimpleSnapRounder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  tests/unit/Makefile.am,
+	  tests/unit/noding/BasicSegmentStringTest.cpp,
+	  tests/unit/noding/NodedSegmentStringTest.cpp,
+	  tests/unit/noding/SegmentNodeTest.cpp,
+	  tests/unit/noding/SegmentStringTest.cpp: Refactor SegmentString
+	  to be an abstract class, to be in sync with JTS-1.9.
 
-2009-04-07 12:36  Sandro Santilli <strk at keybit.net>
+2009-04-07 12:36  Sandro Santilli <strk at kbt.io>
 
-	* [r2318] update copyright notice
+	* [r2318] source/operation/valid/IndexedNestedRingTester.cpp,
+	  source/operation/valid/IndexedNestedRingTester.h: update
+	  copyright notice
 
-2009-04-07 11:11  Sandro Santilli <strk at keybit.net>
+2009-04-07 11:11  Sandro Santilli <strk at kbt.io>
 
-	* [r2317] Sync HotPixel to JTS-1.9 (rev 1.3); fix a few bugs and
-	  use standard algorithms for min/max
+	* [r2317] source/headers/geos/noding/snapround/HotPixel.h,
+	  source/headers/geos/noding/snapround/HotPixel.inl,
+	  source/noding/snapround/HotPixel.cpp: Sync HotPixel to JTS-1.9
+	  (rev 1.3); fix a few bugs and use standard algorithms for min/max
 
-2009-04-07 10:48  Sandro Santilli <strk at keybit.net>
+2009-04-07 10:48  Sandro Santilli <strk at kbt.io>
 
-	* [r2316] Fix signed vs. unsigned compiler warning
+	* [r2316] source/headers/geos/noding/NodedSegmentString.h: Fix
+	  signed vs. unsigned compiler warning
 
-2009-04-07 10:18  Sandro Santilli <strk at keybit.net>
+2009-04-07 10:18  Sandro Santilli <strk at kbt.io>
 
-	* [r2315] Port info, indenting
+	* [r2315] source/headers/geos/operation/valid/IsValidOp.h: Port
+	  info, indenting
 
-2009-04-07 09:56  Sandro Santilli <strk at keybit.net>
+2009-04-07 09:56  Sandro Santilli <strk at kbt.io>
 
-	* [r2314] Port IndexedNestedRingTester and have IsValidOp use it,
-	  syncing the operation to JTS-1.9
+	* [r2314] source/operation/valid/IndexedNestedRingTester.cpp,
+	  source/operation/valid/IndexedNestedRingTester.h,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/Makefile.am: Port IndexedNestedRingTester
+	  and have IsValidOp use it, syncing the operation to JTS-1.9
 
-2009-04-07 09:55  Sandro Santilli <strk at keybit.net>
+2009-04-07 09:55  Sandro Santilli <strk at kbt.io>
 
-	* [r2313] Update port info, minor tweaks to doxygen comments
+	* [r2313] source/headers/geos/noding/SegmentStringUtil.h: Update
+	  port info, minor tweaks to doxygen comments
 
-2009-04-07 08:14  Sandro Santilli <strk at keybit.net>
+2009-04-07 08:14  Sandro Santilli <strk at kbt.io>
 
-	* [r2312] Sync HCoordinate class to JTS-1.9 (rev 1.18)
+	* [r2312] source/algorithm/HCoordinate.cpp,
+	  source/headers/geos/algorithm/HCoordinate.h: Sync HCoordinate
+	  class to JTS-1.9 (rev 1.18)
 
 2009-04-03 15:27  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2311] Added _NMAKE_VER 9.00.21022.08 to nmake.opt. Fixed bug
-	  with using BUILD_DEBUG instead of BUILD_BATCH in nmake.opt.
+	* [r2311] nmake.opt: Added _NMAKE_VER 9.00.21022.08 to nmake.opt.
+	  Fixed bug with using BUILD_DEBUG instead of BUILD_BATCH in
+	  nmake.opt.
 
 2009-03-27 02:39  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2310] Updated build/msvc80.
+	* [r2310] build/msvc80/geos.sln,
+	  build/msvc80/geos_lib/geos_lib.vcproj: Updated build/msvc80.
 
 2009-03-27 02:38  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2309] Forgotten nmake.opt in last commit.
+	* [r2309] nmake.opt, source/Makefile.vc: Forgotten nmake.opt in
+	  last commit.
 
 2009-03-26 21:52  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2308] Refactored NMAKE makefiles. Added nmake.opt file - GDAL
-	  style. Added some auto-magic to determine version of Visual C++
-	  compiler and set version specific compilation flags. No need to
-	  specify Visual C++ version in cmd line, but just run: nmake -f
-	  makefile.vc in root dir of the tree.
+	* [r2308] build/msvc90/geos.sln,
+	  build/msvc90/geos_lib/geos_lib.vcproj, makefile.vc,
+	  source/Makefile.vc, source/dirlist.mk: Refactored NMAKE
+	  makefiles. Added nmake.opt file - GDAL style. Added some
+	  auto-magic to determine version of Visual C++ compiler and set
+	  version specific compilation flags. No need to specify Visual C++
+	  version in cmd line, but just run: nmake -f makefile.vc in root
+	  dir of the tree.
 
 2009-03-26 21:07  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2307] CascadedPolygonUnion.cpp: added missing std headers.
+	* [r2307] source/operation/union/CascadedPolygonUnion.cpp:
+	  CascadedPolygonUnion.cpp: added missing std headers.
 
 2009-03-26 01:53  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2306] Dummy commit - testing buildbot resurection.
+	* [r2306] TODO: Dummy commit - testing buildbot resurection.
 
 2009-03-24 16:49  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2304] Fixed bug introduced in recent refactoring work (r2281).
-	  This is the reason of PostGIS regression test failing (Issue 143)
+	* [r2304] capi/geos_ts_c.cpp: Fixed bug introduced in recent
+	  refactoring work (r2281). This is the reason of PostGIS
+	  regression test failing (Issue 143)
 
 2009-03-24 15:58  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2303] Allow version test to work in glibtoolize
+	* [r2303] autogen.sh: Allow version test to work in glibtoolize
 
 2009-03-24 00:48  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2302] capi/geos_ts_c.cpp: refactoring, assert() to test against
-	  nullptr where it is forbidden.
+	* [r2302] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp:
+	  capi/geos_ts_c.cpp: refactoring, assert() to test against nullptr
+	  where it is forbidden.
 
 2009-03-24 00:30  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2301] REVERTED r2299: Fixed GEOSSetSRID_r missing, GEOSSetSRID
+	* [r2301] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp:
+	  REVERTED r2299: Fixed GEOSSetSRID_r missing, GEOSSetSRID
 	  duplicated (Ticket #242). A little of refactoring.
 
 2009-03-24 00:19  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2300] Fixed GEOSSetSRID_r missing, GEOSSetSRID duplicated
-	  (Ticket #242). A little of refactoring.
+	* [r2300] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp:
+	  Fixed GEOSSetSRID_r missing, GEOSSetSRID duplicated (Ticket
+	  #242). A little of refactoring.
 
 2009-03-23 23:50  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2299] capi/geos_ts_c.cpp: refactoring, use single return
-	  expression per function, added assert() to test against nullptr
-	  where it is forbidden.
+	* [r2299] capi/geos_ts_c.cpp: capi/geos_ts_c.cpp: refactoring, use
+	  single return expression per function, added assert() to test
+	  against nullptr where it is forbidden.
 
 2009-03-23 23:29  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2298] capi/geos_ts_c.cpp: refactoring, use single return
-	  expression per function, added assert() to test against nullptr
-	  where it is forbidden, addd some comments.
+	* [r2298] capi/geos_ts_c.cpp: capi/geos_ts_c.cpp: refactoring, use
+	  single return expression per function, added assert() to test
+	  against nullptr where it is forbidden, addd some comments.
 
 2009-03-23 22:19  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2297] capi/geos_ts_c.cpp: refactoring, use single return
-	  expression per function, added assert() to test against nullptr
-	  where it is forbidden, addd some comments.
+	* [r2297] capi/geos_ts_c.cpp: capi/geos_ts_c.cpp: refactoring, use
+	  single return expression per function, added assert() to test
+	  against nullptr where it is forbidden, addd some comments.
 
 2009-03-23 21:07  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2296] capi/geos_ts_c.cpp: refactoring, replace manual strdup
-	  with gstrdup, use single return expression per function, added
-	  some comments.
+	* [r2296] capi/geos_ts_c.cpp: capi/geos_ts_c.cpp: refactoring,
+	  replace manual strdup with gstrdup, use single return expression
+	  per function, added some comments.
 
 2009-03-23 20:31  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2295] dummy commit
+	* [r2295] autogen.sh: dummy commit
 
 2009-03-23 20:03  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2294] autogen.sh: Fixed typo in tab character.
+	* [r2294] autogen.sh: autogen.sh: Fixed typo in tab character.
 
 2009-03-23 17:08  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2293] autogen.sh: be more verbose about versions, check for
-	  autoconf, check if ./configure is really generated.
+	* [r2293] autogen.sh: autogen.sh: be more verbose about versions,
+	  check for autoconf, check if ./configure is really generated.
 
 2009-03-23 16:28  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2292] configure.in: mloskot made a stupid mistake, mloskot has
-	  fixed it.
+	* [r2292] configure.in: configure.in: mloskot made a stupid
+	  mistake, mloskot has fixed it.
 
 2009-03-23 14:38  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2291] configure.in: wrap macro arguments with proper M4 quote
-	  characters.
+	* [r2291] configure.in: configure.in: wrap macro arguments with
+	  proper M4 quote characters.
 
 2009-03-23 14:08  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2290] autogen.sh: Call libtool *before* aclocal and automake
-	  (see Automake manual,8.3.9.1).
+	* [r2290] autogen.sh: autogen.sh: Call libtool *before* aclocal and
+	  automake (see Automake manual,8.3.9.1).
 
 2009-03-23 14:01  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2289] autogen.sh: verbose check if autotools versions.
+	* [r2289] autogen.sh: autogen.sh: verbose check if autotools
+	  versions.
 
 2009-03-22 20:29  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2288] Show what versions of things we're running
+	* [r2288] autogen.sh: Show what versions of things we're running
 
 2009-03-21 02:17  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2287] capi/geos_ts_c.cpp: refactoring - removed redundant
-	  return expressions, replaced bloated use of malloc + memcpy with
-	  single call to gstrdup, use of C++ cast operators, removed
-	  unnecessary allocation of std::string objects.
+	* [r2287] capi/geos_ts_c.cpp: capi/geos_ts_c.cpp: refactoring -
+	  removed redundant return expressions, replaced bloated use of
+	  malloc + memcpy with single call to gstrdup, use of C++ cast
+	  operators, removed unnecessary allocation of std::string objects.
 
 2009-03-21 01:37  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2286] capi/geos_ts_c.cpp: added gstrdup and gstrdup_s helper
-	  functions to get rid of bloated code in future. Started
-	  eliminating redundant return expressions.
+	* [r2286] capi/geos_ts_c.cpp: capi/geos_ts_c.cpp: added gstrdup and
+	  gstrdup_s helper functions to get rid of bloated code in future.
+	  Started eliminating redundant return expressions.
 
 2009-03-21 01:10  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2285] macros: Updated svn:ignore property.
+	* [r2285] macros: macros: Updated svn:ignore property.
 
 2009-03-21 01:08  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2284] capi/geos_ts_c.cpp: Use of spaces instead of tabs
-	  applied.
+	* [r2284] capi/geos_ts_c.cpp: capi/geos_ts_c.cpp: Use of spaces
+	  instead of tabs applied.
 
 2009-03-21 01:05  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2283] source/operation/polygonize/edgering.cpp: cleaned
-	  compiler warnings about mixed integral types.
+	* [r2283] source/operation/polygonize/EdgeRing.cpp:
+	  source/operation/polygonize/edgering.cpp: cleaned compiler
+	  warnings about mixed integral types.
 
 2009-03-21 01:01  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2282] Fixed deprecated conversion from string constant to char*
-	  in GEOSisValidReason_r. Small refactoring.
+	* [r2282] capi/geos_ts_c.cpp: Fixed deprecated conversion from
+	  string constant to char* in GEOSisValidReason_r. Small
+	  refactoring.
 
 2009-03-21 00:47  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2281] capi/geos_ts_c.cpp: refactoring, use c++ cast operators.
+	* [r2281] capi/geos_ts_c.cpp: capi/geos_ts_c.cpp: refactoring, use
+	  c++ cast operators.
 
 2009-03-20 23:37  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2280] Updated svn:ignore property.
+	* [r2280] source/operation/union: Updated svn:ignore property.
 
 2009-03-20 23:35  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2279] Updated build/msvc80 project.
+	* [r2279] build/msvc80/geos_unit/geos_unit.vcproj: Updated
+	  build/msvc80 project.
 
 2009-03-19 16:45  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2278] Fix spellingn mistake.
+	* [r2278] autogen.sh: Fix spellingn mistake.
 
 2009-03-19 16:19  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2277] * tests/unit/capi: added GEOSGeomFromWKBTest with test
-	  cases (see comment) reported as a bug (See
+	* [r2277] build/msvc90/geos_unit/geos_unit.vcproj,
+	  tests/unit/capi/GEOSGeomFromWKBTest.cpp, tests/unit/utility.h: *
+	  tests/unit/capi: added GEOSGeomFromWKBTest with test cases (see
+	  comment) reported as a bug (See
 	  http://postgis.refractions.net/pipermail/postgis-devel/2009-March/005199.html).
 	  TODO: Reproduce and ask the reporter to submit a ticket if
 	  necessary.
@@ -7266,7 +13961,9 @@
 
 2009-03-11 12:51  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2276] BUG in DistanceOp:
+	* [r2276] source/operation/distance/DistanceOp.cpp,
+	  tests/unit/operation/distance/DistanceOpTest.cpp: BUG in
+	  DistanceOp:
 	  * Test case and explanation of existing bug in
 	  DistanceOp::closestPoints() recently reported by Aya (Ticket
 	  #236).
@@ -7280,565 +13977,837 @@
 
 2009-03-11 12:18  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2275] Number of assertions in CoordinateArraySequence class.
+	* [r2275] source/geom/CoordinateArraySequence.cpp: Number of
+	  assertions in CoordinateArraySequence class.
 
 2009-03-10 17:29  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2274] svn:ignore
+	* [r2274] build/msvc90/geos_c_dll, build/msvc90/geos_lib,
+	  build/msvc90/geos_python, build/msvc90/geos_ruby,
+	  build/msvc90/geos_unit: svn:ignore
 
 2009-03-10 17:28  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2273] svn:ignore
+	* [r2273] build/msvc90, build/msvc90/geos_c_dll,
+	  build/msvc90/geos_lib, build/msvc90/geos_python,
+	  build/msvc90/geos_ruby, build/msvc90/geos_unit: svn:ignore
 
 2009-03-10 17:18  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2272] Update NEWS for 3.1.0
+	* [r2272] NEWS: Update NEWS for 3.1.0
 
 2009-03-10 16:23  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2271] Update ChangeLog for 3.1.0 release
+	* [r2271] ChangeLog: Update ChangeLog for 3.1.0 release
 
 2009-02-07 23:29  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2269] Include GeometrySnapper.h in distribution package.
+	* [r2269] source/headers/geos/precision/Makefile.am: Include
+	  GeometrySnapper.h in distribution package.
 
 2009-02-02 22:58  Sean Gillies <sgillies at frii.com>
 
-	* [r2268] Note lack of Python support since 3.0
+	* [r2268] swig/python/README.txt: Note lack of Python support since
+	  3.0
 
 2009-02-02 22:53  Sean Gillies <sgillies at frii.com>
 
-	* [r2267] Notes on state of scripting language bindings
+	* [r2267] README: Notes on state of scripting language bindings
 
 2009-01-30 20:01  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2266] Add new msvc targets to build
+	* [r2266] configure.in: Add new msvc targets to build
 
 2009-01-29 19:22  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2265] Added build/msvc90 with solution and project files for
-	  Microsoft Visual C++ 2009 (9.0). Successfully built and tested
-	  GEOS with Visual C++ 9.0.
+	* [r2265] build/Makefile.am, build/msvc90,
+	  build/msvc90/Makefile.am, build/msvc90/README,
+	  build/msvc90/geos.sln, build/msvc90/geos.vsprops,
+	  build/msvc90/geos_c_dll, build/msvc90/geos_c_dll/Makefile.am,
+	  build/msvc90/geos_c_dll/geos_c_dll.vcproj, build/msvc90/geos_lib,
+	  build/msvc90/geos_lib/Makefile.am,
+	  build/msvc90/geos_lib/geos_lib.vcproj, build/msvc90/geos_python,
+	  build/msvc90/geos_python/Makefile.am,
+	  build/msvc90/geos_python/geos_python.vcproj,
+	  build/msvc90/geos_ruby, build/msvc90/geos_ruby/Makefile.am,
+	  build/msvc90/geos_ruby/geos_ruby.vcproj, build/msvc90/geos_unit,
+	  build/msvc90/geos_unit/Makefile.am,
+	  build/msvc90/geos_unit/geos_unit.vcproj: Added build/msvc90 with
+	  solution and project files for Microsoft Visual C++ 2009 (9.0).
+	  Successfully built and tested GEOS with Visual C++ 9.0.
 
 2009-01-29 19:02  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2264] update autogen.bat ref
+	* [r2264] README: update autogen.bat ref
 
 2009-01-29 18:56  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2263] Fixed broken svn:keyword Id
+	* [r2263] source/headers/geos/algorithm/RayCrossingCounter.h,
+	  source/headers/geos/algorithm/locate/IndexedPointInAreaLocator.h,
+	  source/headers/geos/algorithm/locate/PointOnGeometryLocator.h,
+	  source/headers/geos/geom/util/ComponentCoordinateExtracter.h,
+	  source/headers/geos/index/intervalrtree/IntervalRTreeBranchNode.h,
+	  source/headers/geos/index/intervalrtree/IntervalRTreeLeafNode.h,
+	  source/headers/geos/index/intervalrtree/IntervalRTreeNode.h,
+	  source/headers/geos/index/intervalrtree/SortedPackedIntervalRTree.h,
+	  source/headers/geos/noding/FastSegmentSetIntersectionFinder.h,
+	  source/headers/geos/noding/NodableSegmentString.h,
+	  source/headers/geos/noding/NodedSegmentString.h,
+	  source/headers/geos/noding/SegmentIntersectionDetector.h,
+	  source/headers/geos/noding/SegmentStringUtil.h: Fixed broken
+	  svn:keyword Id
 
 2009-01-29 18:51  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2262] Renamed bootstrap.bat to autogen.bat for easier guass of
-	  the script purpose. Wiki updated.
+	* [r2262] autogen.bat, bootstrap.bat: Renamed bootstrap.bat to
+	  autogen.bat for easier guass of the script purpose. Wiki updated.
 
 2009-01-28 01:06  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2261] Add to win32 instructions
+	* [r2261] README: Add to win32 instructions
 
 2009-01-27 18:10  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2260] Add GeometryCombiner.h to include dist
+	* [r2260] source/headers/geos/geom/util/Makefile.am: Add
+	  GeometryCombiner.h to include dist
 
 2009-01-27 00:18  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2259] Revert some junk from an old commit, per issue #220
+	* [r2259] build/msvc80/geos_c_dll/geos_c_dll.vcproj: Revert some
+	  junk from an old commit, per issue #220
 
 2009-01-26 20:44  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2258] added two new files related to cascaded polygon union
-	  (#226)
+	* [r2258] source/Makefile.vc: added two new files related to
+	  cascaded polygon union (#226)
 
 2009-01-24 05:03  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2257] Update
+	* [r2257] HOWTO_RELEASE: Update
 
 2009-01-24 05:02  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2256] Update changelog
+	* [r2256] ChangeLog: Update changelog
 
 2009-01-24 01:33  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2255] Fixed mixed signed/unsigned integral types in
-	  geos_ts_c.cpp, so no compilers should flood with warnings now.
+	* [r2255] capi/geos_ts_c.cpp: Fixed mixed signed/unsigned integral
+	  types in geos_ts_c.cpp, so no compilers should flood with
+	  warnings now.
 
 2009-01-24 01:30  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2254] Updated projects for Visual Studio 2005 adding new
-	  .h/.cpp files.
+	* [r2254] build/msvc80/geos_c_dll/geos_c_dll.vcproj,
+	  build/msvc80/geos_lib/geos_lib.vcproj,
+	  build/msvc80/geos_unit/geos_unit.vcproj: Updated projects for
+	  Visual Studio 2005 adding new .h/.cpp files.
 
 2009-01-23 23:58  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2253] Updated svn:keywords property on C/C++ files.
+	* [r2253] capi/geos_ts_c.cpp,
+	  source/geom/util/GeometryCombiner.cpp,
+	  source/headers/geos/geom/util/GeometryCombiner.h,
+	  source/headers/geos/io/CLocalizer.h,
+	  source/headers/geos/operation/union/CascadedPolygonUnion.h,
+	  source/io/CLocalizer.cpp,
+	  source/operation/union/CascadedPolygonUnion.cpp,
+	  tests/unit/capi/GEOSGeomToWKTTest.cpp,
+	  tests/unit/capi/badthreadtest.c, tests/unit/capi/threadtest.c,
+	  tests/unit/operation/union/CascadedPolygonUnionTest.cpp: Updated
+	  svn:keywords property on C/C++ files.
 
 2009-01-21 22:18  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2252] Remove geometryCollection protection from
-	  Union/Relate/Intersection/Difference.
+	* [r2252] source/geom/Geometry.cpp: Remove geometryCollection
+	  protection from Union/Relate/Intersection/Difference.
 
 2009-01-20 01:01  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2251] Add GEOSUnionCascaded(*GEOSGeometry) to CAPI in
-	  preparation for PostGIS hook-up.
+	* [r2251] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_ts_c.cpp,
+	  source/headers/geos/operation/union/CascadedPolygonUnion.h,
+	  source/operation/union/CascadedPolygonUnion.cpp: Add
+	  GEOSUnionCascaded(*GEOSGeometry) to CAPI in preparation for
+	  PostGIS hook-up.
 
 2009-01-19 23:55  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2250] Formatting changes to function decls.
+	* [r2250] capi/geos_c.cpp, capi/geos_ts_c.cpp: Formatting changes
+	  to function decls.
 
 2009-01-19 20:41  Howard Butler <hobu.inc at gmail.com>
 
-	* [r2249] fixes to allow building in msvc 2003
+	* [r2249] source/Makefile.vc: fixes to allow building in msvc 2003
 
 2009-01-19 20:00  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2248] Make warning flags conditional behind a compiler test...
-	  fix to bug #192 ?
+	* [r2248] configure.in: Make warning flags conditional behind a
+	  compiler test... fix to bug #192 ?
 
 2009-01-19 16:44  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2247] Added patch from hkaiser to allow cascadedunion to be run
-	  directly on a multipolygon.
+	* [r2247]
+	  source/headers/geos/operation/union/CascadedPolygonUnion.h,
+	  source/operation/union/CascadedPolygonUnion.cpp: Added patch from
+	  hkaiser to allow cascadedunion to be run directly on a
+	  multipolygon.
 
 2009-01-19 00:12  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2246] Fix error left behind from testing.
+	* [r2246] autogen.sh: Fix error left behind from testing.
 
 2009-01-18 23:28  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2245] Add some more info on missing tools.
+	* [r2245] autogen.sh: Add some more info on missing tools.
 
 2009-01-18 23:07  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2244] Add msvc files to distribution target, and update release
-	  notes to include updating
+	* [r2244] HOWTO_RELEASE, Makefile.am, build, build/Makefile.am,
+	  build/msvc80, build/msvc80/Makefile.am, build/msvc80/geos_c_dll,
+	  build/msvc80/geos_c_dll/Makefile.am, build/msvc80/geos_lib,
+	  build/msvc80/geos_lib/Makefile.am, build/msvc80/geos_python,
+	  build/msvc80/geos_python/Makefile.am, build/msvc80/geos_ruby,
+	  build/msvc80/geos_ruby/Makefile.am, build/msvc80/geos_unit,
+	  build/msvc80/geos_unit/Makefile.am, configure.in,
+	  source/Makefile.vc, source/headers/geos/Makefile.am: Add msvc
+	  files to distribution target, and update release notes to include
+	  updating
 	  version in .vc headers.
 
 2009-01-18 22:35  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2243] Add a couple extra program checks.
+	* [r2243] configure.in: Add a couple extra program checks.
 
 2009-01-18 21:30  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2241] Add version test for aclocal and automake to allow
-	  OpenSolaris to work.
+	* [r2241] autogen.sh: Add version test for aclocal and automake to
+	  allow OpenSolaris to work.
 
 2009-01-18 20:34  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2240] Apply cascaded union patch, for issue #225
+	* [r2240] configure.in, source/geom/Envelope.cpp,
+	  source/geom/util/GeometryCombiner.cpp,
+	  source/geom/util/Makefile.am,
+	  source/headers/geos/geom/Envelope.h,
+	  source/headers/geos/geom/util/GeometryCombiner.h,
+	  source/headers/geos/index/strtree/AbstractSTRtree.h,
+	  source/headers/geos/noding/MCIndexNoder.h,
+	  source/headers/geos/operation/Makefile.am,
+	  source/headers/geos/operation/union,
+	  source/headers/geos/operation/union/CascadedPolygonUnion.h,
+	  source/headers/geos/operation/union/Makefile.am,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/operation/Makefile.am, source/operation/union,
+	  source/operation/union/CascadedPolygonUnion.cpp,
+	  source/operation/union/Makefile.am, tests/unit,
+	  tests/unit/Makefile.am, tests/unit/operation/union,
+	  tests/unit/operation/union/CascadedPolygonUnionTest.cpp: Apply
+	  cascaded union patch, for issue #225
 
 2009-01-15 01:00  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2239] Remove XMLTester from list of installed programs.
+	* [r2239] tests/xmltester/Makefile.am: Remove XMLTester from list
+	  of installed programs.
 
 2009-01-14 20:25  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2238] Remove strdup use from code for compilation in mingw
+	* [r2238] capi/geos_ts_c.cpp: Remove strdup use from code for
+	  compilation in mingw
 
 2009-01-13 20:59  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2237] Add [macros] include to configure.in directly. Seems to
-	  make more recent aclocals happy
+	* [r2237] configure.in: Add [macros] include to configure.in
+	  directly. Seems to make more recent aclocals happy
 
 2009-01-13 20:43  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2236] Change AC_SUBST to one-per-line instead of
+	* [r2236] configure.in: Change AC_SUBST to one-per-line instead of
 	  one-line-for-all. Seems to make more recent autoconf's happier.
 
 2009-01-13 19:23  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2235] Change return values for GEOSWKBWriter_getIncludeSRID_r
-	  to match function signature.
+	* [r2235] capi/geos_ts_c.cpp: Change return values for
+	  GEOSWKBWriter_getIncludeSRID_r to match function signature.
 
 2009-01-13 17:04  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2234] More files missing from commit.
+	* [r2234] tests/unit/capi/badthreadtest.c,
+	  tests/unit/capi/brokengrammar, tests/unit/capi/threadtest.c: More
+	  files missing from commit.
 
 2009-01-13 15:47  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2233] Add missing file to SVN.
+	* [r2233] capi/geos_ts_c.cpp: Add missing file to SVN.
 
 2009-01-13 01:21  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2232] Apply patch for issue #210 (thread safe c-api) submitted
-	  by Chuck Thibert.
+	* [r2232] capi/Makefile.am, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geostest.c, capi/test.expected, capi/test.wkt,
+	  capi/testrunner.sh, tests/unit/Makefile.am,
+	  tests/unit/capi/geostest.c, tests/unit/capi/test.expected,
+	  tests/unit/capi/test.wkt, tests/unit/capi/testrunner.sh: Apply
+	  patch for issue #210 (thread safe c-api) submitted by Chuck
+	  Thibert.
 
 2009-01-05 23:42  Stephen Wong <swongu at gmail.com>
 
-	* [r2231] Fixed memory leak in BufferBuilder (#218); added
-	  read-only coordinates function in OffsetCurveVertexList;
-	  explicity pass ownership in LineMerger.
+	* [r2231] source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/OffsetCurveVertexList.h,
+	  source/operation/linemerge/LineMerger.cpp: Fixed memory leak in
+	  BufferBuilder (#218); added read-only coordinates function in
+	  OffsetCurveVertexList; explicity pass ownership in LineMerger.
 
 2008-11-26 19:41  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2229] Octant.h error (#185) from Denise Macleod.
+	* [r2229] source/headers/geos/noding/Octant.h,
+	  tests/unit/noding/SegmentStringTest.cpp: Octant.h error (#185)
+	  from Denise Macleod.
 
 2008-11-26 19:27  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2228] Allow proper writing out of z ordinates. From Justin
-	  Bronn (#216)
+	* [r2228] source/io/WKBWriter.cpp: Allow proper writing out of z
+	  ordinates. From Justin Bronn (#216)
 
 2008-11-26 19:25  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2227] Allow readpoint to look at input dimension and fill
-	  higher ordinates. (#217)
+	* [r2227] source/io/WKBReader.cpp: Allow readpoint to look at input
+	  dimension and fill higher ordinates. (#217)
 
 2008-11-26 19:06  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2226] Expose GEOSIsValidReason to CAPI
+	* [r2226] capi/geos_c.cpp, capi/geos_c.h.in: Expose
+	  GEOSIsValidReason to CAPI
 
 2008-11-18 03:09  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2221] Cygwin build fix from MCA
+	* [r2221] source/inlines.cpp: Cygwin build fix from MCA
 
 2008-11-11 17:32  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2220] Memory leak on invalid polygons in intersection(). (#170)
-	  from Denise MacLeod.
+	* [r2220] source/geomgraph/EdgeList.cpp,
+	  source/headers/geos/geomgraph/EdgeList.h,
+	  source/operation/overlay/OverlayOp.cpp: Memory leak on invalid
+	  polygons in intersection(). (#170) from Denise MacLeod.
 
 2008-11-05 20:52  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2218] Another minor memory leak removed.
+	* [r2218] source/geom/prep/PreparedLineStringIntersects.cpp:
+	  Another minor memory leak removed.
 
 2008-10-28 15:47  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2217] Cygwin/Mingw patch from Mark Cave-Ayland
+	* [r2217] source/inlines.cpp: Cygwin/Mingw patch from Mark
+	  Cave-Ayland
 
 2008-10-23 17:33  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2210] set isChecked flag after checking to fix memory leak
-	  (#169)
+	* [r2210] source/operation/valid/IsValidOp.cpp: set isChecked flag
+	  after checking to fix memory leak (#169)
 
 2008-10-16 00:40  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2203] change info to point to osgeo.org
+	* [r2203] HOWTO_RELEASE: change info to point to osgeo.org
 
 2008-10-14 15:01  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2200] Consistent const declarations in c-api ($#209)
+	* [r2200] capi/geos_c.cpp, capi/geos_c.h.in: Consistent const
+	  declarations in c-api ($#209)
 
 2008-10-13 22:40  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2199] Add CLocalizer.h to build so it gets packaged in make
-	  dist
+	* [r2199] source/headers/geos/io/Makefile.am: Add CLocalizer.h to
+	  build so it gets packaged in make dist
 
 2008-10-10 17:46  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2198] One last memory leak fix.
+	* [r2198] source/geom/prep/PreparedPolygonContainsProperly.cpp: One
+	  last memory leak fix.
 
 2008-10-09 16:39  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2197] Memory leak fix for for prepared intersects. (#207)
+	* [r2197] source/geom/prep/PreparedPolygonIntersects.cpp: Memory
+	  leak fix for for prepared intersects. (#207)
 
 2008-10-04 18:14  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2196] Memory leak fix for prepared geometry, from Hartmut
-	  Kaiser. (#207)
+	* [r2196]
+	  source/headers/geos/noding/MCIndexSegmentSetMutualIntersector.h,
+	  source/noding/MCIndexSegmentSetMutualIntersector.cpp: Memory leak
+	  fix for prepared geometry, from Hartmut Kaiser. (#207)
 
 2008-09-29 19:24  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2195] Put function sig on one line
+	* [r2195] capi/geos_c.cpp: Put function sig on one line
 
 2008-09-23 23:01  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2194] Moved some ctor/dctor bodies from headers to translation
-	  units. Improved source code readability. TODO: We need to run a
-	  beast like AStyle on all GEOS code because many places are very
-	  hard to read.
+	* [r2194] source/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  source/geom/prep/PreparedPolygon.cpp,
+	  source/geom/prep/PreparedPolygonContains.cpp,
+	  source/geom/prep/PreparedPolygonPredicate.cpp,
+	  source/headers/geos/geom/prep/PreparedPolygonContains.h,
+	  source/headers/geos/index/SpatialIndex.h,
+	  source/headers/geos/index/chain/MonotoneChain.h,
+	  source/headers/geos/index/strtree/ItemBoundable.h,
+	  source/headers/geos/noding/MCIndexSegmentSetMutualIntersector.h,
+	  source/headers/geos/noding/SegmentSetMutualIntersector.h,
+	  source/index/chain/MonotoneChain.cpp,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/ItemBoundable.cpp: Moved some ctor/dctor
+	  bodies from headers to translation units. Improved source code
+	  readability. TODO: We need to run a beast like AStyle on all GEOS
+	  code because many places are very hard to read.
 
 2008-09-23 22:55  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2193] MCIndexSegmentSetMutualIntersector::addToIndex: Completed
-	  BWJ's comment on memory leaks with important observations about
-	  objects relation & lifetime. The note is a diagnosis of roots of
-	  the problem. Improved source code readability.
+	* [r2193] source/noding/MCIndexSegmentSetMutualIntersector.cpp:
+	  MCIndexSegmentSetMutualIntersector::addToIndex: Completed BWJ's
+	  comment on memory leaks with important observations about objects
+	  relation & lifetime. The note is a diagnosis of roots of the
+	  problem. Improved source code readability.
 
 2008-09-22 21:48  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2192] Use conditional operators instead of cast bool to int.
+	* [r2192] source/headers/geos/io/WKBWriter.h: Use conditional
+	  operators instead of cast bool to int.
 
 2008-09-22 20:16  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2191] Removed unnecessary std::endl from debug messages in
+	* [r2191] source/simplify/TopologyPreservingSimplifier.cpp: Removed
+	  unnecessary std::endl from debug messages in
 	  TopologyPreservingSimplifier.cpp.
 
 2008-09-21 21:32  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2190] Patched NMAKE makefiles: replaced lib.exe with link.exe
-	  /lib command to enabled compilation using Microsoft Visual C++
-	  Toolkit 2003
+	* [r2190] source/Makefile.vc: Patched NMAKE makefiles: replaced
+	  lib.exe with link.exe /lib command to enabled compilation using
+	  Microsoft Visual C++ Toolkit 2003
 
 2008-09-16 21:09  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2189] Patch fixing build problems on Solaris (Ticket #205).
+	* [r2189] source/operation/predicate/SegmentIntersectionTester.cpp,
+	  source/util/math.cpp: Patch fixing build problems on Solaris
+	  (Ticket #205).
 
 2008-09-16 21:01  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2188] Fixed EOL to LF.
+	* [r2188] tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:
+	  Fixed EOL to LF.
 
 2008-09-16 20:58  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2187] Fixed crash of Prepared Geometry construction with
-	  nullptr to Geometry object (Ticket #197).
+	* [r2187] source/geom/prep/PreparedGeometryFactory.cpp,
+	  tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp: Fixed crash
+	  of Prepared Geometry construction with nullptr to Geometry object
+	  (Ticket #197).
 
 2008-09-16 20:55  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2186] Added PreparedGeometryFactoryTest to geos_unit.vcproj.
+	* [r2186] build/msvc80/geos_unit/geos_unit.vcproj: Added
+	  PreparedGeometryFactoryTest to geos_unit.vcproj.
 
 2008-09-16 20:15  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2185] Added CLocalizer to geos_lib.vcproj project for Visual
-	  C++ 2005/2008.
+	* [r2185] build/msvc80/geos_lib/geos_lib.vcproj: Added CLocalizer
+	  to geos_lib.vcproj project for Visual C++ 2005/2008.
 
 2008-09-16 20:13  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2184] Include missing <cassert> in isPointInRingTest.cpp
+	* [r2184] tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:
+	  Include missing <cassert> in isPointInRingTest.cpp
 
 2008-09-16 20:05  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2183] Fixed undeclared std::locale in CLocalizer when building
-	  using Visual C++ (Ticket #201)
+	* [r2183] source/Makefile.vc, source/io/CLocalizer.cpp: Fixed
+	  undeclared std::locale in CLocalizer when building using Visual
+	  C++ (Ticket #201)
 
 2008-08-31 20:28  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2182] Replaced incorrect <cmath> with <cstdlib> in
-	  geos_unit.cpp.
+	* [r2182] tests/unit/geos_unit.cpp: Replaced incorrect <cmath> with
+	  <cstdlib> in geos_unit.cpp.
 
 2008-08-31 20:23  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2181] Added missing include <cmath> in geos_unit.cpp.
+	* [r2181] tests/unit/geos_unit.cpp: Added missing include <cmath>
+	  in geos_unit.cpp.
 
 2008-08-31 19:54  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2180] Removed use of strdup function to fix compilation with
-	  GCC 4.3.1 (Ticket #204).
+	* [r2180] source/headers/geos/io/CLocalizer.h,
+	  source/io/CLocalizer.cpp: Removed use of strdup function to fix
+	  compilation with GCC 4.3.1 (Ticket #204).
 
 2008-08-29 18:17  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2179] Removed redundant return expressions from geos_c.cpp.
-	  Testing changes notifications for buildbot.
+	* [r2179] capi/geos_c.cpp: Removed redundant return expressions
+	  from geos_c.cpp. Testing changes notifications for buildbot.
 
 2008-08-29 00:30  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2176] Fixed execution paths and removed redundant return expr
-	  in some C API calls.
+	* [r2176] capi/geos_c.cpp: Fixed execution paths and removed
+	  redundant return expr in some C API calls.
 
 2008-08-29 00:29  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2175] Added missing virtual destructor to WKBWriter class.
+	* [r2175] source/headers/geos/io/WKBWriter.h,
+	  source/io/WKBWriter.cpp: Added missing virtual destructor to
+	  WKBWriter class.
 
 2008-08-28 22:20  Sean Gillies <sgillies at frii.com>
 
-	* [r2174] Added CLocalizer class that switches to C locale and
-	  restores to the outer context's locale when deleted (#201)
+	* [r2174] capi/geos_c.cpp, source/headers/geos/io.h,
+	  source/headers/geos/io/CLocalizer.h, source/io/CLocalizer.cpp,
+	  source/io/Makefile.am: Added CLocalizer class that switches to C
+	  locale and restores to the outer context's locale when deleted
+	  (#201)
 
 2008-08-28 21:35  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2173] tests/unit: added GEOSGeomToWKTTest.
+	* [r2173] tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSGeomToWKTTest.cpp: tests/unit: added
+	  GEOSGeomToWKTTest.
 
 2008-08-28 19:16  Sean Gillies <sgillies at frii.com>
 
-	* [r2172] Switch to C locale while reading and writing WKT and
-	  restore to the original context's locale afterward (#201)
+	* [r2172] capi/geos_c.cpp: Switch to C locale while reading and
+	  writing WKT and restore to the original context's locale
+	  afterward (#201)
 
 2008-08-22 17:25  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2171] include cmath for std::pow() and std:log() on MSVC7.1
-	  (#199)
+	* [r2171] source/operation/buffer/BufferOp.cpp: include cmath for
+	  std::pow() and std:log() on MSVC7.1 (#199)
 
 2008-08-22 16:10  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2170] Added build/bjam/README with status note.
+	* [r2170] build/bjam/README: Added build/bjam/README with status
+	  note.
 
 2008-08-19 17:02  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2169] LineStringTest: fixed memory leak.
+	* [r2169] tests/unit/geom/LineStringTest.cpp: LineStringTest: fixed
+	  memory leak.
 
 2008-08-19 17:00  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2168] geos/geom/util: Prefer strict static_cast than C-style
-	  cast. Commented ownership transfer of coordinates object.
+	* [r2168] source/geom/util/CoordinateOperation.cpp,
+	  source/geom/util/GeometryEditor.cpp: geos/geom/util: Prefer
+	  strict static_cast than C-style cast. Commented ownership
+	  transfer of coordinates object.
 
 2008-08-19 00:18  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2167] tests/unit/algorithm/ConvexHullTest.cpp: Fixed memory
-	  leaks.
+	* [r2167] tests/unit/algorithm/ConvexHullTest.cpp:
+	  tests/unit/algorithm/ConvexHullTest.cpp: Fixed memory leaks.
 
 2008-08-19 00:05  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2166] tests/unit/algorithm/CGAlgorithms: Fixed memory leaks.
+	* [r2166] tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:
+	  tests/unit/algorithm/CGAlgorithms: Fixed memory leaks.
 
 2008-08-18 23:45  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2165] tests/unit/algorithm/CGAlgorithms: Fixed number of memory
-	  leaks.
+	* [r2165] tests/unit/algorithm/CGAlgorithms/isCCWTest.cpp:
+	  tests/unit/algorithm/CGAlgorithms: Fixed number of memory leaks.
 
 2008-08-18 23:30  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2164] tests/unit/capi: Fixed number of memory leaks.
+	* [r2164] tests/unit/capi/GEOSCoordSeqTest.cpp,
+	  tests/unit/capi/GEOSSimplifyTest.cpp: tests/unit/capi: Fixed
+	  number of memory leaks.
 
 2008-08-18 16:32  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2163] tests/bigtest: Pointed out number of memory leaks but not
-	  fixing them, waiting for comments.
+	* [r2163] tests/bigtest/GeometryTestFactory.cpp,
+	  tests/bigtest/TestSweepLineSpeed.cpp: tests/bigtest: Pointed out
+	  number of memory leaks but not fixing them, waiting for comments.
 
 2008-08-18 16:30  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2162] tests/unit: added tests cases to
+	* [r2162] tests/unit/algorithm/ConvexHullTest.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/geom/LineStringTest.cpp,
+	  tests/unit/geom/MultiLineStringTest.cpp,
+	  tests/unit/geom/MultiPointTest.cpp,
+	  tests/unit/geom/PolygonTest.cpp,
+	  tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp,
+	  tests/unit/simplify/TopologyPreservingSimplifierTest.cpp,
+	  tests/unit/utility.h: tests/unit: added tests cases to
 	  PreparedGeometryFactoryTest, refactored casting utils and
 	  geometry comparators, small cleanup.
 
 2008-08-18 16:29  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2161] Fixed svn:keywords.
+	* [r2161] source/algorithm/RayCrossingCounter.cpp,
+	  source/algorithm/locate/IndexedPointInAreaLocator.cpp,
+	  source/algorithm/locate/PointOnGeometryLocator.cpp,
+	  source/geom/util/ComponentCoordinateExtracter.cpp,
+	  source/index/intervalrtree/IntervalRTreeBranchNode.cpp,
+	  source/index/intervalrtree/IntervalRTreeLeafNode.cpp,
+	  source/index/intervalrtree/IntervalRTreeNode.cpp,
+	  source/index/intervalrtree/SortedPackedIntervalRTree.cpp,
+	  source/noding/FastSegmentSetIntersectionFinder.cpp,
+	  source/noding/MCIndexSegmentSetMutualIntersector.cpp,
+	  source/noding/NodedSegmentString.cpp,
+	  source/noding/SegmentIntersectionDetector.cpp,
+	  source/noding/SegmentStringUtil.cpp: Fixed svn:keywords.
 
 2008-08-18 16:27  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2160] Fixed UNREFERENCED_PARAMETER macro.
+	* [r2160] source/headers/geos/util.h: Fixed UNREFERENCED_PARAMETER
+	  macro.
 
 2008-08-18 16:27  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2159] Fixed svn:keywords.
+	* [r2159]
+	  source/headers/geos/geom/prep/AbstractPreparedPolygonContains.h,
+	  source/headers/geos/geom/prep/BasicPreparedGeometry.h,
+	  source/headers/geos/geom/prep/PreparedGeometry.h,
+	  source/headers/geos/geom/prep/PreparedLineString.h,
+	  source/headers/geos/geom/prep/PreparedLineStringIntersects.h,
+	  source/headers/geos/geom/prep/PreparedPoint.h,
+	  source/headers/geos/geom/prep/PreparedPolygon.h,
+	  source/headers/geos/geom/prep/PreparedPolygonContains.h,
+	  source/headers/geos/geom/prep/PreparedPolygonContainsProperly.h,
+	  source/headers/geos/geom/prep/PreparedPolygonCovers.h,
+	  source/headers/geos/geom/prep/PreparedPolygonIntersects.h,
+	  source/headers/geos/geom/prep/PreparedPolygonPredicate.h: Fixed
+	  svn:keywords.
 
 2008-08-18 16:24  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2158] geom/prep: Refactored kamikaze casts to more readable
-	  form. Fixed svn:keywords.
+	* [r2158] source/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  source/geom/prep/BasicPreparedGeometry.cpp,
+	  source/geom/prep/PreparedGeometry.cpp,
+	  source/geom/prep/PreparedGeometryFactory.cpp,
+	  source/geom/prep/PreparedLineString.cpp,
+	  source/geom/prep/PreparedLineStringIntersects.cpp,
+	  source/geom/prep/PreparedPoint.cpp,
+	  source/geom/prep/PreparedPolygon.cpp,
+	  source/geom/prep/PreparedPolygonContains.cpp,
+	  source/geom/prep/PreparedPolygonContainsProperly.cpp,
+	  source/geom/prep/PreparedPolygonCovers.cpp,
+	  source/geom/prep/PreparedPolygonIntersects.cpp,
+	  source/geom/prep/PreparedPolygonPredicate.cpp: geom/prep:
+	  Refactored kamikaze casts to more readable form. Fixed
+	  svn:keywords.
 
 2008-08-12 00:25  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2157] Fixed Id keywords.
+	* [r2157] source/headers/geos/geomPrep.h: Fixed Id keywords.
 
 2008-08-12 00:23  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2156] Fixed EOL to LF in trunk/tests.
+	* [r2156]
+	  tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp,
+	  tests/unit/algorithm/CGAlgorithms/isCCWTest.cpp,
+	  tests/unit/algorithm/ConvexHullTest.cpp,
+	  tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp,
+	  tests/unit/operation/IsSimpleOpTest.cpp: Fixed EOL to LF in
+	  trunk/tests.
 
 2008-08-12 00:09  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2155] Updated svn:keywords property.
+	* [r2155] source/headers/geos/geom/prep/PreparedGeometryFactory.h:
+	  Updated svn:keywords property.
 
 2008-08-12 00:03  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2154] Updated svn:keywords property.
+	* [r2154] tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:
+	  Updated svn:keywords property.
 
 2008-08-11 23:54  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2153] Refactored tabs vs spaces in PreparedGeometryFactoryTest.
+	* [r2153] tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:
+	  Refactored tabs vs spaces in PreparedGeometryFactoryTest.
 
 2008-08-11 23:52  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2152] PreparedGeometry must be a complete type where it is
-	  destroyed by the factory (Ticket #198).
+	* [r2152] source/headers/geos/geom/prep/PreparedGeometryFactory.h:
+	  PreparedGeometry must be a complete type where it is destroyed by
+	  the factory (Ticket #198).
 
 2008-08-11 23:42  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2151] Completed PreparedGeometryFactory class with missing
-	  named destructor for PreparedGeometry (Ticket #198)
+	* [r2151] source/headers/geos/geom/prep/PreparedGeometryFactory.h,
+	  tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp: Completed
+	  PreparedGeometryFactory class with missing named destructor for
+	  PreparedGeometry (Ticket #198)
 
 2008-08-11 23:35  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2150] Removed .PreparedGeometryFactoryTest.cpp.swp that must
-	  sneaked accidentally.
+	* [r2150]
+	  tests/unit/geom/prep/.PreparedGeometryFactoryTest.cpp.swp:
+	  Removed .PreparedGeometryFactoryTest.cpp.swp that must sneaked
+	  accidentally.
 
 2008-08-11 22:48  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2149] Added PreparedGeometryFactoryTest with first test cases
-	  included. FIXME: The test causes memory leak because we don't
-	  know how to destroy PreparedGeometry objects returned by the
-	  factory, discussing on the geos-devel list now.
+	* [r2149] tests/unit/Makefile.am, tests/unit/geom/prep,
+	  tests/unit/geom/prep/.PreparedGeometryFactoryTest.cpp.swp,
+	  tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp: Added
+	  PreparedGeometryFactoryTest with first test cases included.
+	  FIXME: The test causes memory leak because we don't know how to
+	  destroy PreparedGeometry objects returned by the factory,
+	  discussing on the geos-devel list now.
 
 2008-08-07 16:59  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2148] Added original author to main copyright block.
+	* [r2148] source/algorithm/RobustDeterminant.cpp: Added original
+	  author to main copyright block.
 
 2008-08-07 16:57  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2147] Change to standard header, with (c) credit to author.
+	* [r2147] source/headers/geos/timeval.h: Change to standard header,
+	  with (c) credit to author.
 
 2008-08-01 23:23  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2146] Updated ChangeLog with latest submissions. Hmm, should we
-	  stil maintain the ChangeLog file?
+	* [r2146] ChangeLog: Updated ChangeLog with latest submissions.
+	  Hmm, should we stil maintain the ChangeLog file?
 
 2008-07-31 17:08  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2145] Fixed tabs, hopefully. Updated svn:keywords property.
+	* [r2145] tests/unit/capi/GEOSPolygonizer_getCutEdgesTest.cpp:
+	  Fixed tabs, hopefully. Updated svn:keywords property.
 
 2008-07-31 17:01  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2144] Patch completing C API interface with wrapper on
+	* [r2144] capi/geos_c.cpp, capi/geos_c.h.in,
+	  tests/unit/Makefile.am,
+	  tests/unit/capi/GEOSPolygonizer_getCutEdgesTest.cpp: Patch
+	  completing C API interface with wrapper on
 	  Polygonizer::getCutEdges (Ticket #195). Unit test included in
 	  tests/unit/capi/GEOSPolygonizer_getCutEdgeTest.cpp. Thanks to
 	  Jurgen E. Fischer for this patch.
 
 2008-07-26 23:06  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2143] Number of fixes enabling GEOS compilation with GCC 4.3
-	  (Ticket #167).
+	* [r2143] doc/example.cpp, source/geomgraph/GeometryGraph.cpp,
+	  source/headers/geos/noding/FastNodingValidator.h,
+	  source/headers/geos/noding/IntersectionAdder.h,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/io/StringTokenizer.cpp,
+	  tests/bigtest/TestSweepLineSpeed.cpp: Number of fixes enabling
+	  GEOS compilation with GCC 4.3 (Ticket #167).
 
 2008-07-26 21:00  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2142] Guarded version macros with #ifndef conditions to avoid
-	  redefinition errors (Ticket #167).
+	* [r2142] capi/geos_c.h.in: Guarded version macros with #ifndef
+	  conditions to avoid redefinition errors (Ticket #167).
 
 2008-07-26 20:47  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2141] Guarded version macros with #ifndef conditions to avoid
-	  redefinition errors (Ticket #167).
+	* [r2141] source/headers/geos/version.h.in,
+	  source/headers/geos/version.h.vc: Guarded version macros with
+	  #ifndef conditions to avoid redefinition errors (Ticket #167).
 
 2008-07-26 20:24  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2140] Fixed problems with finding libpython on Mac Darwin
-	  (Ticket #191).
+	* [r2140] macros/ac_python_devel.m4: Fixed problems with finding
+	  libpython on Mac Darwin (Ticket #191).
 
 2008-07-26 19:57  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2139] Updated svn:keywords property.
+	* [r2139] autogen.sh: Updated svn:keywords property.
 
 2008-07-26 19:56  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2138] Fixed autogen.sh for OpenSolaris (Ticket #192).
+	* [r2138] autogen.sh: Fixed autogen.sh for OpenSolaris (Ticket
+	  #192).
 
 2008-07-25 21:00  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2137] Updated svn:keywords property
+	* [r2137] build/README, build/msvc80/README, macros/geos.m4,
+	  source/headers/geos/algorithm/CentralEndpointIntersector.h,
+	  source/headers/geos/geomPrep.h,
+	  source/headers/geos/indexIntervalRTree.h,
+	  source/headers/geos/noding/FastNodingValidator.h,
+	  source/headers/geos/noding/SingleInteriorIntersectionFinder.h,
+	  source/noding/FastNodingValidator.cpp,
+	  source/noding/SingleInteriorIntersectionFinder.cpp,
+	  source/operation/buffer/OffsetCurveVertexList.h,
+	  swig/python/tests/TESTING.txt: Updated svn:keywords property
 
 2008-07-25 20:56  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2136] Updated svn:keywords property
+	* [r2136] tests/unit/operation/IsSimpleOpTest.cpp,
+	  tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:
+	  Updated svn:keywords property
 
 2008-07-19 19:11  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2135] added manifest handling for DLLs (#193)
+	* [r2135] source/Makefile.vc: added manifest handling for DLLs
+	  (#193)
 
 2008-07-19 19:07  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2134] added rules to create platform.h, version.h and geos_c.h
-	  from templates on win32
+	* [r2134] source/Makefile.vc: added rules to create platform.h,
+	  version.h and geos_c.h from templates on win32
 
 2008-07-15 22:04  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2131] Fixed compilation on with Sun Studio compiler on Solaris
-	  x86 and Sparc (Ticket #189). Thanks to Magne Mahre for the patch.
+	* [r2131] ChangeLog, capi/geos_c.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/RobustDeterminant.cpp,
+	  source/algorithm/locate/IndexedPointInAreaLocator.cpp,
+	  source/geomgraph/EdgeEnd.cpp, source/geomgraph/GeometryGraph.cpp,
+	  source/headers/geos/geom/Coordinate.inl,
+	  source/headers/geos/geom/LineSegment.inl,
+	  source/headers/geos/io/WKBReader.h,
+	  source/headers/geos/noding/IntersectionAdder.h,
+	  source/index/bintree/Key.cpp, source/index/quadtree/Key.cpp,
+	  source/io/ByteOrderValues.cpp, source/noding/Octant.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/distance/ConnectedElementPointFilter.cpp,
+	  source/planargraph/DirectedEdge.cpp,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp,
+	  source/util/math.cpp, tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/markup/MarkupSTL.h: Fixed compilation on with Sun
+	  Studio compiler on Solaris x86 and Sparc (Ticket #189). Thanks to
+	  Magne Mahre for the patch.
 
 2008-07-15 13:35  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2130] For building with Visual C++, added new flag DEBUG=1 (see
-	  GEOS building instructions on GEOS Wiki). Added missing flags for
-	  Visual C++ compiler, in release and debug configuration.
+	* [r2130] source/Makefile.vc: For building with Visual C++, added
+	  new flag DEBUG=1 (see GEOS building instructions on GEOS Wiki).
+	  Added missing flags for Visual C++ compiler, in release and debug
+	  configuration.
 
 2008-05-20 21:34  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2129] Added missing subdirs to source/dirlist.mk
+	* [r2129] source/dirlist.mk: Added missing subdirs to
+	  source/dirlist.mk
 
 2008-05-20 21:31  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2128] Updated svn:ignore patterns.
+	* [r2128] source/geom/prep: Updated svn:ignore patterns.
 
 2008-05-20 21:25  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2127] * source\headers\geos\util.h: Add UNREFERENCED_PARAMETER
-	  macro.
+	* [r2127] ChangeLog, bootstrap.bat, build/msvc80/geos.sln,
+	  build/msvc80/geos_lib/geos_lib.vcproj,
+	  source/geom/GeometryComponentFilter.cpp,
+	  source/geom/PrecisionModel.cpp,
+	  source/geom/util/GeometryTransformer.cpp,
+	  source/headers/geos/geom/BinaryOp.h,
+	  source/headers/geos/noding/MCIndexNoder.h,
+	  source/headers/geos/noding/Octant.h,
+	  source/headers/geos/noding/ScaledNoder.h,
+	  source/headers/geos/operation/overlay/PointBuilder.h,
+	  source/headers/geos/util.h, source/index/quadtree/NodeBase.cpp,
+	  source/noding/ScaledNoder.cpp, source/noding/SegmentString.cpp,
+	  source/noding/snapround/MCIndexPointSnapper.cpp,
+	  source/operation/overlay/FuzzyPointLocator.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/precision/CommonBitsRemover.cpp,
+	  source/precision/GeometrySnapper.cpp,
+	  source/simplify/DouglasPeuckerSimplifier.cpp,
+	  tests/unit/geom/DimensionTest.cpp: * source\headers\geos\util.h:
+	  Add UNREFERENCED_PARAMETER macro.
 	  * source\geom\PrecisionModel.cpp,
 	  source\geom\GeometryComponentFilter.cpp,
 	  source\geom\util\GeometryTransformer.cpp,
@@ -7863,82 +14832,131 @@
 
 2008-05-20 20:45  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2126] source/makefile.vc: Removed non-existing file entry:
+	* [r2126] ChangeLog, source/Makefile.vc: source/makefile.vc:
+	  Removed non-existing file entry:
 	  PreparedPolygonLineIntersects.obj.
 
 2008-05-20 20:33  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2125] * bootstrap.bat: Added script generating headers for use
-	  with Visual C++ compiler. DO NOT include this script in GEOS
-	  source distribution. * source/makefile.vc: Do not make copies of
-	  3 dynamic headers but let users to use bootstrap.bat instead.
+	* [r2125] ChangeLog, bootstrap.bat, source/Makefile.vc: *
+	  bootstrap.bat: Added script generating headers for use with
+	  Visual C++ compiler. DO NOT include this script in GEOS source
+	  distribution. * source/makefile.vc: Do not make copies of 3
+	  dynamic headers but let users to use bootstrap.bat instead.
 
 2008-02-07 22:59  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2123] make sure makefile.vc gets distributed
+	* [r2123] Makefile.am: make sure makefile.vc gets distributed
 
 2008-02-06 22:17  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2122] try to fix up the files include in distribution, and
-	  remove unused files from Makefile.vc (#175)
+	* [r2122] source/Makefile.am, source/Makefile.vc,
+	  source/headers/geos/noding/Makefile.am: try to fix up the files
+	  include in distribution, and remove unused files from Makefile.vc
+	  (#175)
 
 2008-01-30 22:34  Ben Jubb <benjubb at refractions.net>
 
-	* [r2120] Added documentation, for benefit of doxygen.
+	* [r2120] source/headers/geos/algorithm/RayCrossingCounter.h,
+	  source/headers/geos/algorithm/locate/IndexedPointInAreaLocator.h,
+	  source/headers/geos/algorithm/locate/PointOnGeometryLocator.h,
+	  source/headers/geos/algorithm/locate/SimplePointInAreaLocator.h,
+	  source/headers/geos/geom/prep/AbstractPreparedPolygonContains.h,
+	  source/headers/geos/geom/prep/BasicPreparedGeometry.h,
+	  source/headers/geos/geom/prep/PreparedGeometry.h,
+	  source/headers/geos/geom/prep/PreparedGeometryFactory.h,
+	  source/headers/geos/geom/prep/PreparedLineString.h,
+	  source/headers/geos/geom/prep/PreparedLineStringIntersects.h,
+	  source/headers/geos/geom/prep/PreparedPoint.h,
+	  source/headers/geos/geom/prep/PreparedPolygon.h,
+	  source/headers/geos/geom/prep/PreparedPolygonContains.h,
+	  source/headers/geos/geom/prep/PreparedPolygonContainsProperly.h,
+	  source/headers/geos/geom/prep/PreparedPolygonCovers.h,
+	  source/headers/geos/geom/prep/PreparedPolygonIntersects.h,
+	  source/headers/geos/geom/prep/PreparedPolygonPredicate.h,
+	  source/headers/geos/geom/util/ComponentCoordinateExtracter.h,
+	  source/headers/geos/geomUtil.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/index/intervalrtree/SortedPackedIntervalRTree.h,
+	  source/headers/geos/indexIntervalRTree.h,
+	  source/headers/geos/noding/FastSegmentSetIntersectionFinder.h,
+	  source/headers/geos/noding/MCIndexSegmentSetMutualIntersector.h,
+	  source/headers/geos/noding/NodableSegmentString.h,
+	  source/headers/geos/noding/NodedSegmentString.h,
+	  source/headers/geos/noding/SegmentIntersectionDetector.h,
+	  source/headers/geos/noding/SegmentSetMutualIntersector.h,
+	  source/headers/geos/noding/SegmentStringUtil.h: Added
+	  documentation, for benefit of doxygen.
 
 2008-01-30 22:30  Ben Jubb <benjubb at refractions.net>
 
-	* [r2119] deleted out-commented line.
+	* [r2119] source/geom/prep/PreparedPolygonIntersects.cpp: deleted
+	  out-commented line.
 
 2008-01-30 22:29  Ben Jubb <benjubb at refractions.net>
 
-	* [r2118] removed ref to PreparedPolygonLineIntersection
+	* [r2118] source/geom/prep/PreparedPolygon.cpp: removed ref to
+	  PreparedPolygonLineIntersection
 
 2008-01-30 22:18  Ben Jubb <benjubb at refractions.net>
 
-	* [r2117] Removed refs to PreparedPolygonLineIntersection.
+	* [r2117] source/geom/prep/Makefile.am,
+	  source/headers/geos/geom/prep/Makefile.am: Removed refs to
+	  PreparedPolygonLineIntersection.
 
 2008-01-30 22:17  Ben Jubb <benjubb at refractions.net>
 
-	* [r2116] Deleted. not used, not needed.
+	* [r2116] source/geom/prep/PreparedPolygonLineIntersection.cpp,
+	  source/headers/geos/geom/prep/PreparedPolygonLineIntersection.h:
+	  Deleted. not used, not needed.
 	  
 	  
 
 2008-01-30 19:09  Ben Jubb <benjubb at refractions.net>
 
-	* [r2115] Added for benefit of doxygen.
+	* [r2115] source/headers/geos/geomPrep.h: Added for benefit of
+	  doxygen.
 
 2008-01-29 17:55  Ben Jubb <benjubb at refractions.net>
 
-	* [r2114] Some small changes to improve the memory management.
-	  These changes plug a few leaks, but not all.
+	* [r2114] source/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  source/geom/prep/PreparedLineString.cpp,
+	  source/geom/prep/PreparedPolygon.cpp,
+	  source/headers/geos/geom/prep/PreparedLineString.h,
+	  source/headers/geos/noding/SegmentIntersectionDetector.h,
+	  source/headers/geos/noding/SegmentIntersector.h,
+	  source/noding/MCIndexSegmentSetMutualIntersector.cpp,
+	  source/noding/SegmentIntersectionDetector.cpp: Some small changes
+	  to improve the memory management. These changes plug a few leaks,
+	  but not all.
 
 2008-01-29 17:49  Ben Jubb <benjubb at refractions.net>
 
-	* [r2113] Fix a bug in the shortcut test for containment in a
-	  rectangle. This test wasn't correctly testing for case of a point
-	  on the boundary.
+	* [r2113] source/operation/predicate/RectangleContains.cpp: Fix a
+	  bug in the shortcut test for containment in a rectangle. This
+	  test wasn't correctly testing for case of a point on the
+	  boundary.
 	  
 	  Was also a bug in JTS (now fixed).
 
 2008-01-29 17:37  Ben Jubb <benjubb at refractions.net>
 
-	* [r2112] Patch to fix bug in ticket #171
+	* [r2112] source/geom/Geometry.cpp: Patch to fix bug in ticket #171
 
 2008-01-22 19:34  Ben Jubb <benjubb at refractions.net>
 
-	* [r2111] Updated for VC to give correct version
-	  (3.1.0-CAPI-1.5.0).
+	* [r2111] capi/geos_c.h.in, source/headers/geos/version.h.vc:
+	  Updated for VC to give correct version (3.1.0-CAPI-1.5.0).
 
 2008-01-18 00:37  Ben Jubb <benjubb at refractions.net>
 
-	* [r2110] Added to CAPI interface, cleared CAPI_INTERFACE_REV,
-	  bumped AGE & CURRENT
+	* [r2110] configure.in: Added to CAPI interface, cleared
+	  CAPI_INTERFACE_REV, bumped AGE & CURRENT
 
 2008-01-18 00:35  Ben Jubb <benjubb at refractions.net>
 
-	* [r2109] Fixed a bug in the handling of line strings with repeated
-	  points.
+	* [r2109] source/index/chain/MonotoneChainBuilder.cpp: Fixed a bug
+	  in the handling of line strings with repeated points.
 	  
 	  -This line, and those below, will be ignored--
 	  
@@ -7946,283 +14964,398 @@
 
 2008-01-17 19:15  Ben Jubb <benjubb at refractions.net>
 
-	* [r2108] Fixed a misspelling, GEOSPreparedContainsProperty =>
-	  GEOSPreparedContainsProperly
+	* [r2108] capi/geos_c.cpp: Fixed a misspelling,
+	  GEOSPreparedContainsProperty => GEOSPreparedContainsProperly
 
 2008-01-16 18:36  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r2107] updated to include post 3.0 classes
+	* [r2107] source/Makefile.vc: updated to include post 3.0 classes
 
 2008-01-09 23:49  Ben Jubb <benjubb at refractions.net>
 
-	* [r2106] Added support for prepared geometry
+	* [r2106] capi/geos_c.cpp, capi/geos_c.h.in: Added support for
+	  prepared geometry
 
 2008-01-09 23:48  Ben Jubb <benjubb at refractions.net>
 
-	* [r2105] removed extraneous 'using namespace'
+	* [r2105] source/headers/geos/geom/prep/PreparedGeometryFactory.h:
+	  removed extraneous 'using namespace'
 
 2008-01-03 21:11  Ben Jubb <benjubb at refractions.net>
 
-	* [r2104] commented out some delete's in
+	* [r2104] source/noding/MCIndexSegmentSetMutualIntersector.cpp:
+	  commented out some delete's in
 	  MCIndexSegmentSetMutualIntersector::addToIndex, to fix a bug in
 	  prepared contains() predicate.
 
 2008-01-02 23:23  Sean Gillies <sgillies at frii.com>
 
-	* [r2102] Conditionally add swig/python,ruby to SUBDIRS
+	* [r2102] swig/Makefile.am: Conditionally add swig/python,ruby to
+	  SUBDIRS
 
 2007-12-22 00:04  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2101] Updated configuration of experimental builder based on
-	  Boost.Build. GEOS compiles with bjam successfully as static
-	  library.
+	* [r2101] build/bjam/geos/Jamfile, build/bjam/geos_c,
+	  build/bjam/geos_unit: Updated configuration of experimental
+	  builder based on Boost.Build. GEOS compiles with bjam
+	  successfully as static library.
 
 2007-12-21 23:50  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2100] Updated Visual C++ makefiles with new submissions from
-	  Ben. Now, new GEOS features compiles with NMAKE too.
+	* [r2100] source/Makefile.vc, source/algorithm/locate,
+	  source/index/intervalrtree: Updated Visual C++ makefiles with new
+	  submissions from Ben. Now, new GEOS features compiles with NMAKE
+	  too.
 
 2007-12-21 23:31  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2099] Removed SimplePointInAreaLocator.h from
-	  algorithm/Makefile.am (header migrated to algorithm/locate).
+	* [r2099] source/headers/geos/algorithm/Makefile.am: Removed
+	  SimplePointInAreaLocator.h from algorithm/Makefile.am (header
+	  migrated to algorithm/locate).
 
 2007-12-21 23:26  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2098] Added comment about deprecated translation units in
-	  source/algorithm.
+	* [r2098] source/algorithm/Makefile.am: Added comment about
+	  deprecated translation units in source/algorithm.
 
 2007-12-21 23:26  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2097] remove trailing backslash
+	* [r2097] source/geom/util/Makefile.am: remove trailing backslash
 
 2007-12-21 23:21  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2096] Updated svn:ignore property.
+	* [r2096] ., source/headers/geos/algorithm,
+	  source/headers/geos/algorithm/locate, tests/unit: Updated
+	  svn:ignore property.
 
 2007-12-21 23:18  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2095] Fixed extra qualifications in
+	* [r2095] source/geom/prep/PreparedPolygonContainsProperly.cpp:
+	  Fixed extra qualifications in
 	  /geom/prep/PreparedPolygonContainsProperly.
 
 2007-12-21 23:12  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2094] Fixed extra qualifications in PreparedGeometryFactory
-	  class.
+	* [r2094] source/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  source/geom/prep/PreparedGeometryFactory.cpp,
+	  source/headers/geos/geom/prep/PreparedGeometryFactory.h: Fixed
+	  extra qualifications in PreparedGeometryFactory class.
 
 2007-12-21 22:57  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2093] Fixed GeometryTypeId misused in
+	* [r2093]
+	  source/headers/geos/geom/util/ComponentCoordinateExtracter.h:
+	  Fixed GeometryTypeId misused in
 	  geos/geom/util/ComponentCoordinateExtracter.h.
 
 2007-12-21 22:49  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2092] remove .cpp files that weren't there before
+	* [r2092] source/geom/util/Makefile.am: remove .cpp files that
+	  weren't there before
 
 2007-12-21 22:49  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2091] Reverted changes appled in r2089 to three files from
-	  source/geom.
+	* [r2091] source/geom/CoordinateArraySequence.cpp,
+	  source/geom/CoordinateSequence.cpp, source/geom/LineString.cpp:
+	  Reverted changes appled in r2089 to three files from source/geom.
 
 2007-12-21 22:47  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2090] type subdir typo
+	* [r2090] source/algorithm/Makefile.am: type subdir typo
 
 2007-12-21 22:43  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2089] Updated svn:ignore property.
+	* [r2089] source/geom/CoordinateArraySequence.cpp,
+	  source/geom/CoordinateSequence.cpp, source/geom/LineString.cpp,
+	  source/geom/prep, source/headers/geos/geom/prep,
+	  source/headers/geos/index/intervalrtree,
+	  source/index/intervalrtree: Updated svn:ignore property.
 
 2007-12-21 22:41  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2088] Added missing <iostream> header to
-	  CustomPointCoordinateSequence.cpp.
+	* [r2088] source/examples/CustomPointCoordinateSequence.cpp: Added
+	  missing <iostream> header to CustomPointCoordinateSequence.cpp.
 
 2007-12-21 22:40  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2087] Removed unused SimplePointInAreaLocator.cpp. This unit
-	  migrated to algorithm/locate module.
+	* [r2087] source/algorithm/Makefile.am,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/locate: Removed unused
+	  SimplePointInAreaLocator.cpp. This unit migrated to
+	  algorithm/locate module.
 
 2007-12-21 22:21  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2086] Updated configure.in with new locations.
+	* [r2086] configure.in: Updated configure.in with new locations.
 
 2007-12-21 22:14  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2085] Updated configure.in with new locations.
+	* [r2085] configure.in: Updated configure.in with new locations.
 
 2007-12-21 22:12  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2084] Updated configure.in with new locations.
+	* [r2084] configure.in: Updated configure.in with new locations.
 
 2007-12-21 22:09  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2083] Updated configure.in with new locations.
+	* [r2083] configure.in: Updated configure.in with new locations.
 
 2007-12-21 22:07  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2082] Updated configure.in with new locations.
+	* [r2082] configure.in: Updated configure.in with new locations.
 
 2007-12-21 22:02  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2081] Add headers/geos/algorithm/locate to automake
+	* [r2081] source/headers/geos/algorithm/Makefile.am,
+	  source/headers/geos/algorithm/locate/Makefile.am,
+	  source/headers/geos/noding/Makefile.am: Add
+	  headers/geos/algorithm/locate to automake
 
 2007-12-21 22:01  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2080] Add files to automake
+	* [r2080] source/noding/Makefile.am: Add files to automake
 
 2007-12-21 21:57  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2079] Added headers/index/intervalrtree to automake
+	* [r2079] source/headers/geos/index/Makefile.am,
+	  source/headers/geos/index/intervalrtree/Makefile.am: Added
+	  headers/index/intervalrtree to automake
 
 2007-12-21 21:55  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2078] Added headers/geom/prep headers/geom/util to automake
+	* [r2078] source/headers/geos/geom/Makefile.am,
+	  source/headers/geos/geom/prep/Makefile.am,
+	  source/headers/geos/geom/util/Makefile.am: Added
+	  headers/geom/prep headers/geom/util to automake
 
 2007-12-21 21:47  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2077] Added index/intervalrtree to automake
+	* [r2077] source/index/Makefile.am,
+	  source/index/intervalrtree/Makefile.am: Added index/intervalrtree
+	  to automake
 
 2007-12-21 21:43  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2076] added geom/util/ComponentCoordinateExtracter.h
+	* [r2076] source/geom/util/Makefile.am: added
+	  geom/util/ComponentCoordinateExtracter.h
 
 2007-12-21 21:40  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2075] Add geom/prep to automake
+	* [r2075] source/geom/Makefile.am, source/geom/prep/Makefile.am:
+	  Add geom/prep to automake
 
 2007-12-21 21:36  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2074] Add algorithm/location to automake
+	* [r2074] source/algorithm/Makefile.am,
+	  source/algorithm/locate/Makefile.am: Add algorithm/location to
+	  automake
 
 2007-12-21 21:31  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2073] Added new files
+	* [r2073] source/algorithm/Makefile.am: Added new files
 
 2007-12-21 20:50  Ben Jubb <benjubb at refractions.net>
 
-	* [r2072]
+	* [r2072] source/algorithm/RayCrossingCounter.cpp:
 
 2007-12-21 20:48  Ben Jubb <benjubb at refractions.net>
 
-	* [r2071]
+	* [r2071] build/msvc80/geos_lib/geos_lib.vcproj:
 
 2007-12-21 20:47  Ben Jubb <benjubb at refractions.net>
 
-	* [r2070] Added from JTS 1.9 to support prepared geometry
+	* [r2070] source/headers/geos/index/intervalrtree,
+	  source/headers/geos/index/intervalrtree/IntervalRTreeBranchNode.h,
+	  source/headers/geos/index/intervalrtree/IntervalRTreeLeafNode.h,
+	  source/headers/geos/index/intervalrtree/IntervalRTreeNode.h,
+	  source/headers/geos/index/intervalrtree/SortedPackedIntervalRTree.h:
+	  Added from JTS 1.9 to support prepared geometry
 
 2007-12-21 20:47  Ben Jubb <benjubb at refractions.net>
 
-	* [r2069] Added from JTS 1.9 to support prepared geometry
+	* [r2069] source/algorithm/locate,
+	  source/algorithm/locate/IndexedPointInAreaLocator.cpp,
+	  source/algorithm/locate/PointOnGeometryLocator.cpp,
+	  source/algorithm/locate/SimplePointInAreaLocator.cpp: Added from
+	  JTS 1.9 to support prepared geometry
 
 2007-12-21 20:44  Ben Jubb <benjubb at refractions.net>
 
-	* [r2068] Added from JTS 1.9 to support prepared geometry
+	* [r2068] source/geom/util/ComponentCoordinateExtracter.cpp: Added
+	  from JTS 1.9 to support prepared geometry
 
 2007-12-21 20:44  Ben Jubb <benjubb at refractions.net>
 
-	* [r2067] Added from JTS 1.9 to support prepared geometry
+	* [r2067]
+	  source/headers/geos/geom/util/ComponentCoordinateExtracter.h:
+	  Added from JTS 1.9 to support prepared geometry
 
 2007-12-21 20:42  Ben Jubb <benjubb at refractions.net>
 
-	* [r2066] modified because SimplePointInAreaLocator.h moved
+	* [r2066] source/operation/predicate/RectangleIntersects.cpp:
+	  modified because SimplePointInAreaLocator.h moved
 
 2007-12-21 20:41  Ben Jubb <benjubb at refractions.net>
 
-	* [r2065] Added from JTS 1.9 to support prepared geometry
+	* [r2065] source/noding/FastSegmentSetIntersectionFinder.cpp,
+	  source/noding/MCIndexSegmentSetMutualIntersector.cpp,
+	  source/noding/NodedSegmentString.cpp,
+	  source/noding/SegmentIntersectionDetector.cpp,
+	  source/noding/SegmentStringUtil.cpp: Added from JTS 1.9 to
+	  support prepared geometry
 
 2007-12-21 20:41  Ben Jubb <benjubb at refractions.net>
 
-	* [r2064] Added from JTS 1.9 to support prepared geometry
+	* [r2064] source/index/intervalrtree,
+	  source/index/intervalrtree/IntervalRTreeBranchNode.cpp,
+	  source/index/intervalrtree/IntervalRTreeLeafNode.cpp,
+	  source/index/intervalrtree/IntervalRTreeNode.cpp,
+	  source/index/intervalrtree/SortedPackedIntervalRTree.cpp: Added
+	  from JTS 1.9 to support prepared geometry
 
 2007-12-21 20:40  Ben Jubb <benjubb at refractions.net>
 
-	* [r2063] Added from JTS 1.9 to support prepared geometry
+	* [r2063] source/geom/prep,
+	  source/geom/prep/AbstractPreparedPolygonContains.cpp,
+	  source/geom/prep/BasicPreparedGeometry.cpp,
+	  source/geom/prep/PreparedGeometry.cpp,
+	  source/geom/prep/PreparedGeometryFactory.cpp,
+	  source/geom/prep/PreparedLineString.cpp,
+	  source/geom/prep/PreparedLineStringIntersects.cpp,
+	  source/geom/prep/PreparedPoint.cpp,
+	  source/geom/prep/PreparedPolygon.cpp,
+	  source/geom/prep/PreparedPolygonContains.cpp,
+	  source/geom/prep/PreparedPolygonContainsProperly.cpp,
+	  source/geom/prep/PreparedPolygonCovers.cpp,
+	  source/geom/prep/PreparedPolygonIntersects.cpp,
+	  source/geom/prep/PreparedPolygonLineIntersection.cpp,
+	  source/geom/prep/PreparedPolygonPredicate.cpp: Added from JTS 1.9
+	  to support prepared geometry
 
 2007-12-21 20:39  Ben Jubb <benjubb at refractions.net>
 
-	* [r2062] modified because SimplePointInAreaLocator.h moved
+	* [r2062] source/geomgraph/EdgeEndStar.cpp: modified because
+	  SimplePointInAreaLocator.h moved
 
 2007-12-21 20:38  Ben Jubb <benjubb at refractions.net>
 
-	* [r2061] Moved into geos::algorithm::locate
+	* [r2061] source/headers/geos/algorithm/SimplePointInAreaLocator.h:
+	  Moved into geos::algorithm::locate
 
 2007-12-21 20:37  Ben Jubb <benjubb at refractions.net>
 
-	* [r2060] Added from JTS 1.9 to support prepared geometry
+	* [r2060] source/headers/geos/algorithm/RayCrossingCounter.h: Added
+	  from JTS 1.9 to support prepared geometry
 
 2007-12-21 20:35  Ben Jubb <benjubb at refractions.net>
 
-	* [r2059] Added from JTS 1.9 to support prepared geometry
+	* [r2059] source/headers/geos/geom/prep,
+	  source/headers/geos/geom/prep/AbstractPreparedPolygonContains.h,
+	  source/headers/geos/geom/prep/BasicPreparedGeometry.h,
+	  source/headers/geos/geom/prep/PreparedGeometry.h,
+	  source/headers/geos/geom/prep/PreparedGeometryFactory.h,
+	  source/headers/geos/geom/prep/PreparedLineString.h,
+	  source/headers/geos/geom/prep/PreparedLineStringIntersects.h,
+	  source/headers/geos/geom/prep/PreparedPoint.h,
+	  source/headers/geos/geom/prep/PreparedPolygon.h,
+	  source/headers/geos/geom/prep/PreparedPolygonContains.h,
+	  source/headers/geos/geom/prep/PreparedPolygonContainsProperly.h,
+	  source/headers/geos/geom/prep/PreparedPolygonCovers.h,
+	  source/headers/geos/geom/prep/PreparedPolygonIntersects.h,
+	  source/headers/geos/geom/prep/PreparedPolygonLineIntersection.h,
+	  source/headers/geos/geom/prep/PreparedPolygonPredicate.h: Added
+	  from JTS 1.9 to support prepared geometry
 
 2007-12-21 20:34  Ben Jubb <benjubb at refractions.net>
 
-	* [r2058] Added from JTS 1.9 to support prepared geometry
+	* [r2058]
+	  source/headers/geos/noding/FastSegmentSetIntersectionFinder.h,
+	  source/headers/geos/noding/MCIndexSegmentSetMutualIntersector.h,
+	  source/headers/geos/noding/NodableSegmentString.h,
+	  source/headers/geos/noding/NodedSegmentString.h,
+	  source/headers/geos/noding/SegmentIntersectionDetector.h,
+	  source/headers/geos/noding/SegmentSetMutualIntersector.h,
+	  source/headers/geos/noding/SegmentStringUtil.h: Added from JTS
+	  1.9 to support prepared geometry
 
 2007-12-21 20:33  Ben Jubb <benjubb at refractions.net>
 
-	* [r2057] changed destructor to be virtual
+	* [r2057] source/headers/geos/noding/SegmentString.h: changed
+	  destructor to be virtual
 
 2007-12-21 20:31  Ben Jubb <benjubb at refractions.net>
 
-	* [r2056] Added a covers() predicate, from JTS 1.9, to support
-	  prepared geometry
+	* [r2056] source/headers/geos/geom/Envelope.h: Added a covers()
+	  predicate, from JTS 1.9, to support prepared geometry
 
 2007-12-21 20:30  Ben Jubb <benjubb at refractions.net>
 
-	* [r2055] changed IsRectangle to be public
+	* [r2055] source/headers/geos/geom/Geometry.h: changed IsRectangle
+	  to be public
 
 2007-12-21 20:03  Ben Jubb <benjubb at refractions.net>
 
-	* [r2054] Added a covers() predicate, from JTS 1.9, to support
-	  prepared geometry
+	* [r2054] source/headers/geos/geom/Envelope.inl: Added a covers()
+	  predicate, from JTS 1.9, to support prepared geometry
 
 2007-12-21 20:00  Ben Jubb <benjubb at refractions.net>
 
-	* [r2053] Moved from geos::algorithm as in JTS 1.9
+	* [r2053]
+	  source/headers/geos/algorithm/locate/SimplePointInAreaLocator.h:
+	  Moved from geos::algorithm as in JTS 1.9
 
 2007-12-21 19:55  Ben Jubb <benjubb at refractions.net>
 
-	* [r2052] New namaspace geos::algorithm::locate, as in JTS 1.9..
+	* [r2052] source/headers/geos/algorithm/locate,
+	  source/headers/geos/algorithm/locate/IndexedPointInAreaLocator.h,
+	  source/headers/geos/algorithm/locate/PointOnGeometryLocator.h:
+	  New namaspace geos::algorithm::locate, as in JTS 1.9..
 
 2007-12-21 19:52  Ben Jubb <benjubb at refractions.net>
 
-	* [r2051] Added a public constructor, and a method to bring in line
-	  with JTS 1.9. Changed namespace to geos::algorithm::locate
+	* [r2051] source/headers/geos/algorithm/SimplePointInAreaLocator.h:
+	  Added a public constructor, and a method to bring in line with
+	  JTS 1.9. Changed namespace to geos::algorithm::locate
 
 2007-12-21 18:44  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2050] version numbering for next release (3.1.0)
+	* [r2050] configure.in: version numbering for next release (3.1.0)
 
 2007-12-21 18:41  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2046] 3.0.0 release
+	* [r2046] ChangeLog, configure.in: 3.0.0 release
 
 2007-12-19 20:18  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2045] Improved warning message about using DEPRECATED headers
+	* [r2045] ChangeLog, source/headers/geos/geom.h,
+	  source/headers/geos/io.h: Improved warning message about using
+	  DEPRECATED headers
 
 2007-12-17 23:09  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2044] Fixed std::tolower usage in XMLTester.cpp (Ticket #163).
+	* [r2044] tests/xmltester/XMLTester.cpp: Fixed std::tolower usage
+	  in XMLTester.cpp (Ticket #163).
 
 2007-12-17 23:05  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2043] Replaced finite function with std::numeric_limits (Ticket
-	  #162).
+	* [r2043] source/algorithm/HCoordinate.cpp: Replaced finite
+	  function with std::numeric_limits (Ticket #162).
 
 2007-12-17 21:52  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2042] source\Makefile.vc: Fixed MSVC_VER condition for
-	  Microsoft Visual C++ 2008 (9.0).
+	* [r2042] ChangeLog, source/Makefile.vc: source\Makefile.vc: Fixed
+	  MSVC_VER condition for Microsoft Visual C++ 2008 (9.0).
 
 2007-12-13 16:11  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2041] Added Id keyword at the top of ChangeLog file.
+	* [r2041] ChangeLog: Added Id keyword at the top of ChangeLog file.
 
 2007-12-13 16:09  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2040] * build\msvc80\geos_unit\geos_unit.vcproj: fixed
-	  post-build event
+	* [r2040] ChangeLog, build/msvc80/geos_unit/geos_unit.vcproj,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp: *
+	  build\msvc80\geos_unit\geos_unit.vcproj: fixed post-build event
 	  * source\geom\GeometryCollection.cpp: removed unreachable code,
 	  shorten exception message.
 	  * source\geom\Geometry.cpp: purified condition based on
@@ -8233,343 +15366,456 @@
 
 2007-12-09 00:02  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2038] Added test suite for class
+	* [r2038] ChangeLog, tests/unit/Makefile.am,
+	  tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:
+	  Added test suite for class
 	  geos::precision::SimpleGeometryPrecisionReducer.
 
 2007-12-08 22:59  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2037] Updated svn:keyword property.
+	* [r2037] .: Updated svn:keyword property.
 
 2007-11-26 16:26  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2036] Added geos.vsprops - property sheet for Visual C++
-	  projects.
+	* [r2036] build/msvc80/geos.vsprops: Added geos.vsprops - property
+	  sheet for Visual C++ projects.
 
 2007-11-26 15:19  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2035] Added common Property Sheet for Visual C++ projects where
-	  Python and Ruby macros/locations are defined. Fixed include of
-	  Python.h, see Ticket #164 for details.
+	* [r2035] ChangeLog, build/msvc80/geos_python/geos_python.vcproj,
+	  build/msvc80/geos_ruby/geos_ruby.vcproj,
+	  swig/python/geos_wrap.cxx: Added common Property Sheet for Visual
+	  C++ projects where Python and Ruby macros/locations are defined.
+	  Fixed include of Python.h, see Ticket #164 for details.
 
 2007-11-26 06:21  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2034] Updated svn:ignore patterns.
+	* [r2034] source/algorithm: Updated svn:ignore patterns.
 
 2007-11-26 06:16  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2033] Enabled target copying version.h.vc and geos_c.h.vc to
-	  headers used by Visual C++. Added test if version.h.vc is used
-	  with Visual C++.
+	* [r2033] ChangeLog, source/Makefile.vc,
+	  source/headers/geos/version.h.vc: Enabled target copying
+	  version.h.vc and geos_c.h.vc to headers used by Visual C++. Added
+	  test if version.h.vc is used with Visual C++.
 
 2007-11-23 02:33  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r2032] A bit of purification with explicit casting int to bool
-	  type.
+	* [r2032] ChangeLog, source/headers/geos/io/WKBWriter.h: A bit of
+	  purification with explicit casting int to bool type.
 
 2007-11-02 22:41  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2031] urls updated to point to osgeo locations
+	* [r2031] web/index.html: urls updated to point to osgeo locations
 
 2007-11-02 22:17  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2030] add the web site content to svn for collaborative
-	  management
+	* [r2030] web, web/index.html, web/style.css: add the web site
+	  content to svn for collaborative management
 
 2007-09-21 17:42  Charlie Savage <cfis at savagexi.com>
 
-	* [r2029] Update the CAPI and GEOS version numbers based on
-	  Reader/Writer additions to the CAPI and EWKB support for the C++
-	  api.
+	* [r2029] configure.in: Update the CAPI and GEOS version numbers
+	  based on Reader/Writer additions to the CAPI and EWKB support for
+	  the C++ api.
 
 2007-09-21 17:40  Charlie Savage <cfis at savagexi.com>
 
-	* [r2028] Updated the SWIG bindings and tests to use the new
-	  Reader/Writer classes exposed in the CAPI.
+	* [r2028] swig/geos.i.in, swig/ruby/geos_wrap.cxx,
+	  swig/ruby/ruby.i, swig/ruby/test/test_buffer.rb,
+	  swig/ruby/test/test_helper.rb, swig/ruby/test/test_io.rb,
+	  swig/ruby/test/test_operations.rb, swig/ruby/test/test_srid.rb,
+	  swig/ruby/test/test_version.rb: Updated the SWIG bindings and
+	  tests to use the new Reader/Writer classes exposed in the CAPI.
 
 2007-09-21 17:40  Charlie Savage <cfis at savagexi.com>
 
-	* [r2027] Update the CAPI to expose WKTReader/WBTWriter and
-	  WKBReader/WBKWriter in the CAPI. This is an improvement over the
-	  existing API since it avoids the use of the static variable used
-	  to control byte order and # of dimenions, and gives clients more
-	  control over the creation/destruction of readers and writers.
-	  Finally, exposed the ability to output the EWKB format (set SRID
-	  to true in the WKBWriter).
+	* [r2027] capi/geos_c.cpp, capi/geos_c.h.in: Update the CAPI to
+	  expose WKTReader/WBTWriter and WKBReader/WBKWriter in the CAPI.
+	  This is an improvement over the existing API since it avoids the
+	  use of the static variable used to control byte order and # of
+	  dimenions, and gives clients more control over the
+	  creation/destruction of readers and writers. Finally, exposed the
+	  ability to output the EWKB format (set SRID to true in the
+	  WKBWriter).
 
 2007-09-21 17:35  Charlie Savage <cfis at savagexi.com>
 
-	* [r2026] Switched back to using < because the fuzzy comparison now
-	  in use trips assertion errors in VC++. See comments in code for
-	  more information. Note this change may cause problems. Strk left
-	  a note in the code saying that the '<' comparison sometimes gives
-	  unstable results. But that seems better than an assertion
-	  failure.
+	* [r2026] source/index/strtree/STRtree.cpp: Switched back to using
+	  < because the fuzzy comparison now in use trips assertion errors
+	  in VC++. See comments in code for more information. Note this
+	  change may cause problems. Strk left a note in the code saying
+	  that the '<' comparison sometimes gives unstable results. But
+	  that seems better than an assertion failure.
 
 2007-09-21 17:32  Charlie Savage <cfis at savagexi.com>
 
-	* [r2025] Updated the WKBWriter so it can output EWKB format
-	  similar to PostGIS. Also added a few getter/setter methods that
-	  allow clients to specify the reader's number of dimensions, byte
-	  order and whether srid values should be output. These
-	  getters/setters make it easier to wrap the reader in the CAPI.
+	* [r2025] source/headers/geos/io/WKBWriter.h,
+	  source/io/WKBWriter.cpp: Updated the WKBWriter so it can output
+	  EWKB format similar to PostGIS. Also added a few getter/setter
+	  methods that allow clients to specify the reader's number of
+	  dimensions, byte order and whether srid values should be output.
+	  These getters/setters make it easier to wrap the reader in the
+	  CAPI.
 
 2007-09-14 15:34  Charlie Savage <cfis at savagexi.com>
 
-	* [r2024]
+	* [r2024] build/msvc80/geos_c_dll/geos_c_dll.vcproj,
+	  build/msvc80/geos_ruby, build/msvc80/geos_ruby/geos_ruby.vcproj:
 
 2007-09-14 15:34  Charlie Savage <cfis at savagexi.com>
 
-	* [r2023] Told SVN to ignore MSCV++ Python swig build directories.
+	* [r2023] build/msvc80/geos_python: Told SVN to ignore MSCV++
+	  Python swig build directories.
 
 2007-09-14 15:25  Charlie Savage <cfis at savagexi.com>
 
-	* [r2022] Set unknown SRID values to 0 instead of -1 to be more
-	  consistent with the rest of GEOS (srid values are initialized to
-	  0 by default).
+	* [r2022] source/io/WKBReader.cpp: Set unknown SRID values to 0
+	  instead of -1 to be more consistent with the rest of GEOS (srid
+	  values are initialized to 0 by default).
 
 2007-09-11 02:02  Charlie Savage <cfis at savagexi.com>
 
-	* [r2021] Don't include config.h for MSVC++ builds.
+	* [r2021] source/headers/geos/profiler.h: Don't include config.h
+	  for MSVC++ builds.
 
 2007-09-07 17:32  Charlie Savage <cfis at savagexi.com>
 
-	* [r2020] The test for SWIG was incorrect. Fixed by patch from Mark
-	  Cave-Ayland.
+	* [r2020] configure.in: The test for SWIG was incorrect. Fixed by
+	  patch from Mark Cave-Ayland.
 
 2007-09-06 23:24  Charlie Savage <cfis at savagexi.com>
 
-	* [r2019] Applied patch from Mark Cave-Ayland's to make older
-	  versions of MingW that don't have struct timezone defined compile
-	  again. Also fixed issues with more recent versions of MingW that
-	  don't correctly compile with the -ansi compiler switch.
+	* [r2019] source/headers/geos/profiler.h: Applied patch from Mark
+	  Cave-Ayland's to make older versions of MingW that don't have
+	  struct timezone defined compile again. Also fixed issues with
+	  more recent versions of MingW that don't correctly compile with
+	  the -ansi compiler switch.
 
 2007-09-06 23:22  Charlie Savage <cfis at savagexi.com>
 
-	* [r2018] Applied patches from Mark Cave-Ayland's that
-	  reorganize/improve the SWIG support in the generated configure
-	  file.\
+	* [r2018] configure.in, macros/ruby.m4: Applied patches from Mark
+	  Cave-Ayland's that reorganize/improve the SWIG support in the
+	  generated configure file.\
 
 2007-08-31 20:44  Charlie Savage <cfis at savagexi.com>
 
-	* [r2017] For MSVC++ builds the CAPI version was set in geos_c.cpp
-	  instead of geos_c.h and it was set incorrectly. This patch fixes
-	  the MSVC++ version number and centralizes the various versoin
-	  #defines in the geos_c.h.
+	* [r2017] capi/geos_c.cpp, capi/geos_c.h.in: For MSVC++ builds the
+	  CAPI version was set in geos_c.cpp instead of geos_c.h and it was
+	  set incorrectly. This patch fixes the MSVC++ version number and
+	  centralizes the various versoin #defines in the geos_c.h.
 
 2007-08-31 20:18  Charlie Savage <cfis at savagexi.com>
 
-	* [r2016] Update swig makefiles to make the wrappers dependent on
-	  the SWIG interface files even if SWIG is disabled. Doing this
-	  means that Make will correctly recognize that a user has modified
-	  an I file, but that the .cxx wrapper cannot be regenerated since
-	  SWIG is not available.
+	* [r2016] swig/python/Makefile.am, swig/ruby/Makefile.am: Update
+	  swig makefiles to make the wrappers dependent on the SWIG
+	  interface files even if SWIG is disabled. Doing this means that
+	  Make will correctly recognize that a user has modified an I file,
+	  but that the .cxx wrapper cannot be regenerated since SWIG is not
+	  available.
 
 2007-08-30 20:06  Charlie Savage <cfis at savagexi.com>
 
-	* [r2015] MingW now includes the gettimeofday function - so
-	  reworked includes to only use custom version when building with
-	  VC++.
+	* [r2015] source/headers/geos/profiler.h,
+	  source/headers/geos/timeval.h: MingW now includes the
+	  gettimeofday function - so reworked includes to only use custom
+	  version when building with VC++.
 
 2007-08-30 17:00  Charlie Savage <cfis at savagexi.com>
 
-	* [r2014] Added RUBY_BIN_DIR to autoconf macros - simplified auto
-	  make input file for ruby bindings.
+	* [r2014] macros/ruby.m4, swig/ruby/Makefile.am: Added RUBY_BIN_DIR
+	  to autoconf macros - simplified auto make input file for ruby
+	  bindings.
 
 2007-08-30 06:19  Charlie Savage <cfis at savagexi.com>
 
-	* [r2013] The last attempt to fix this file failed - instead keep
-	  the code that queries the swig libraries but use sed to merge
-	  multiple lines together. If this is not done, then the swig
-	  output causes ./configure to blow up on msys.
+	* [r2013] macros/ac_pkg_swig.m4: The last attempt to fix this file
+	  failed - instead keep the code that queries the swig libraries
+	  but use sed to merge multiple lines together. If this is not
+	  done, then the swig output causes ./configure to blow up on msys.
 
 2007-08-30 05:31  Charlie Savage <cfis at savagexi.com>
 
-	* [r2012] Fixes sed issue with swig on msys. For more info see:
+	* [r2012] macros/ac_pkg_swig.m4: Fixes sed issue with swig on msys.
+	  For more info see:
 	  
 	  http://lists.refractions.net/pipermail/geos-devel/2007-August/002956.html
 
 2007-08-30 03:18  Charlie Savage <cfis at savagexi.com>
 
-	* [r2011] Changed from dos to unix line feeds.
+	* [r2011] swig/geos.i.in: Changed from dos to unix line feeds.
 
 2007-08-29 01:41  Charlie Savage <cfis at savagexi.com>
 
-	* [r2010] New VC++ project for the python SWIG bindings.
+	* [r2010] build/msvc80/geos.sln, build/msvc80/geos_python,
+	  build/msvc80/geos_python/geos_python.vcproj,
+	  build/msvc80/geos_ruby/geos_ruby.vcproj: New VC++ project for the
+	  python SWIG bindings.
 
 2007-08-29 01:29  Charlie Savage <cfis at savagexi.com>
 
-	* [r2009] Ruby SWIG bindings - mapped eql? to == so that you can do
-	  point == point2 in ruby. Removed a hard-coded path from VC++
-	  project. Updated out-of-date copyright notices for no
-	  particularly good reason.
+	* [r2009] build/msvc80/geos_ruby/geos_ruby.vcproj, swig/geos.i.in,
+	  swig/python/python.i, swig/ruby/geos_wrap.cxx, swig/ruby/ruby.i:
+	  Ruby SWIG bindings - mapped eql? to == so that you can do point
+	  == point2 in ruby. Removed a hard-coded path from VC++ project.
+	  Updated out-of-date copyright notices for no particularly good
+	  reason.
 
 2007-08-28 21:29  Charlie Savage <cfis at savagexi.com>
 
-	* [r2008] Added release as an ignored directory for VC++, similar
-	  to the debug directory.
+	* [r2008] build/msvc80: Added release as an ignored directory for
+	  VC++, similar to the debug directory.
 
 2007-08-28 21:28  Charlie Savage <cfis at savagexi.com>
 
-	* [r2007] Added new ruby VC++ project to solution file.
+	* [r2007] build/msvc80/geos_ruby: Added new ruby VC++ project to
+	  solution file.
 
 2007-08-28 21:27  Charlie Savage <cfis at savagexi.com>
 
-	* [r2006] Fixed c api include for VC++ - it should be #include
-	  <geos/version.h> instead of #include <version.h>.
+	* [r2006] capi/geos_c.h.in: Fixed c api include for VC++ - it
+	  should be #include <geos/version.h> instead of #include
+	  <version.h>.
 
 2007-08-28 21:27  Charlie Savage <cfis at savagexi.com>
 
-	* [r2005] Added new ruby VC++ project to solution file.
+	* [r2005] build/msvc80/geos.sln: Added new ruby VC++ project to
+	  solution file.
 
 2007-08-28 21:26  Charlie Savage <cfis at savagexi.com>
 
-	* [r2004] Follow lead of geos_lib project - copy geos/geos_c.h.in
-	  to geos/geos_c.h when building with VC++.
+	* [r2004] build/msvc80/geos_c_dll/geos_c_dll.vcproj: Follow lead of
+	  geos_lib project - copy geos/geos_c.h.in to geos/geos_c.h when
+	  building with VC++.
 
 2007-08-28 21:25  Charlie Savage <cfis at savagexi.com>
 
-	* [r2003] Added new vc++ project for building ruby bindings. Its
-	  not perfect since it hard-codes the path to Ruby, but its enough
-	  to get one started.
+	* [r2003] build/msvc80/geos_ruby,
+	  build/msvc80/geos_ruby/geos_ruby.vcproj: Added new vc++ project
+	  for building ruby bindings. Its not perfect since it hard-codes
+	  the path to Ruby, but its enough to get one started.
 
 2007-08-28 21:22  Charlie Savage <cfis at savagexi.com>
 
-	* [r2002] Updated SWIG wrappers based on changed interface file.
-	  Also generated with SWIG 1.3.31
+	* [r2002] swig/python/geos.py, swig/python/geos_wrap.cxx,
+	  swig/ruby/geos_wrap.cxx: Updated SWIG wrappers based on changed
+	  interface file. Also generated with SWIG 1.3.31
 
 2007-08-28 20:42  Charlie Savage <cfis at savagexi.com>
 
-	* [r2001] SWIG bindings - updated Ruby tests based on name changes.
+	* [r2001] swig/ruby/test/geos_tests.rb,
+	  swig/ruby/test/test_buffer.rb,
+	  swig/ruby/test/test_combinations.rb,
+	  swig/ruby/test/test_coordinate_sequence.rb,
+	  swig/ruby/test/test_envelope.rb, swig/ruby/test/test_geometry.rb,
+	  swig/ruby/test/test_io.rb, swig/ruby/test/test_operations.rb,
+	  swig/ruby/test/test_relations.rb, swig/ruby/test/test_srid.rb,
+	  swig/ruby/test/test_version.rb: SWIG bindings - updated Ruby
+	  tests based on name changes.
 
 2007-08-28 20:41  Charlie Savage <cfis at savagexi.com>
 
-	* [r2000] Updated Ruby swig bindings to more closely match Ruby
-	  style names. So eql? instead of equals, dimensions instead of
-	  get_dimensions, etc.
+	* [r2000] swig/ruby/ruby.i: Updated Ruby swig bindings to more
+	  closely match Ruby style names. So eql? instead of equals,
+	  dimensions instead of get_dimensions, etc.
 
 2007-08-28 20:40  Charlie Savage <cfis at savagexi.com>
 
-	* [r1999] Exposed Geometry::Clone method in SWIG bindings. Added
-	  check for NULL string in geomFromWKT wrapper.
+	* [r1999] swig/geos.i.in: Exposed Geometry::Clone method in SWIG
+	  bindings. Added check for NULL string in geomFromWKT wrapper.
 
 2007-08-23 20:35  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r1998] Memory leak patches from Robert Coup
+	* [r1998] source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/OffsetCurveVertexList.h: Memory leak
+	  patches from Robert Coup
 
 2007-08-22 23:45  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1997] Cleaned compilation warnings from VC++.
+	* [r1997] source/headers/geos/io/ByteOrderDataInStream.inl,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/polygonize/Polygonizer.cpp: Cleaned compilation
+	  warnings from VC++.
 
 2007-06-11 07:43  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1996] Replaced post-increment operators with pre-increment
-	  operators where standard iterators are incremented in loops.
-	  NOTE: Prefer pre-incr. over post-inc. when working with standard
-	  iterators.
+	* [r1996] ChangeLog, source/operation/IsSimpleOp.cpp: Replaced
+	  post-increment operators with pre-increment operators where
+	  standard iterators are incremented in loops. NOTE: Prefer
+	  pre-incr. over post-inc. when working with standard iterators.
 
 2007-06-11 07:39  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1995] Added unit test for geos::operation::IsSimpleOp class.
+	* [r1995] tests/unit/Makefile.am,
+	  tests/unit/operation/IsSimpleOpTest.cpp: Added unit test for
+	  geos::operation::IsSimpleOp class.
 
 2007-06-10 13:03  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1994] Updated tests/unit/Makefile.am with new files.
+	* [r1994] ., ChangeLog, tests/unit/Makefile.am: Updated
+	  tests/unit/Makefile.am with new files.
 
 2007-06-10 11:53  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1993] Added unit test for
+	* [r1993] ChangeLog, build/msvc80/geos.sln,
+	  build/msvc80/geos_unit/geos_unit.vcproj,
+	  tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp,
+	  tests/unit/algorithm/CGAlgorithms/isCCWTest.cpp,
+	  tests/unit/algorithm/ConvexHullTest.cpp: Added unit test for
 	  geos::algorithm::CGAlgorithms::computeOrientation() function.
 
 2007-06-10 11:29  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1992] Updated svn:ignore property for the whole tree adding
-	  VC++ and Windows specific patterns.
+	* [r1992] ., capi, source, source/geom, source/geom/util,
+	  source/geomgraph, source/geomgraph/index, source/index/bintree,
+	  source/index/chain, source/index/quadtree, source/index/strtree,
+	  source/index/sweepline, source/io, source/noding,
+	  source/noding/snapround, source/operation,
+	  source/operation/buffer, source/operation/distance,
+	  source/operation/linemerge, source/operation/overlay,
+	  source/operation/polygonize, source/operation/predicate,
+	  source/operation/relate, source/operation/valid,
+	  source/planargraph, source/planargraph/algorithm,
+	  source/precision, source/simplify, source/util: Updated
+	  svn:ignore property for the whole tree adding VC++ and Windows
+	  specific patterns.
 
 2007-06-10 11:18  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1991] Added unit test for CGAlgorithms::isCCW() function.
+	* [r1991] ChangeLog, build/msvc80/geos_unit/geos_unit.vcproj,
+	  tests/unit/algorithm/CGAlgorithms/isCCWTest.cpp: Added unit test
+	  for CGAlgorithms::isCCW() function.
 
 2007-06-10 11:08  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1990] Added unit test for geos::algorithm::ConvexHull.
+	* [r1990] tests/unit/algorithm/ConvexHullTest.cpp,
+	  tests/unit/geom/LineStringTest.cpp: Added unit test for
+	  geos::algorithm::ConvexHull.
 
 2007-06-10 11:03  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1989] Added custom operators for static and dynamic casts of
-	  pointers wrapped with std::auto_ptr<T> type.
+	* [r1989] tests/unit/utility.h: Added custom operators for static
+	  and dynamic casts of pointers wrapped with std::auto_ptr<T> type.
 
 2007-06-08 17:13  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1988] Identified test case failing because of
+	* [r1988] tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:
+	  Identified test case failing because of
 	  geos::index::strtree::yComparator() instability.
 
 2007-06-08 17:10  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1987] Analysis of instability of the yComparator, there are
-	  some new important questions to answer.
+	* [r1987] ChangeLog, source/index/strtree/STRtree.cpp: Analysis of
+	  instability of the yComparator, there are some new important
+	  questions to answer.
 
 2007-06-08 15:27  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1986] Cleaned signed/unsigned types mixtures, got rid from
-	  annoying compiler warnings.
+	* [r1986] ChangeLog, build/msvc80/geos_lib/geos_lib.vcproj,
+	  source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/CentroidPoint.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/algorithm/MinimumDiameter.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/geom/CoordinateSequence.cpp, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeList.cpp,
+	  source/headers/geos/geom/CoordinateFilter.h,
+	  source/headers/geos/geomgraph/Edge.h,
+	  source/headers/geos/geomgraph/Node.h,
+	  source/headers/geos/index/bintree/Root.h,
+	  source/headers/geos/index/chain/MonotoneChainOverlapAction.h,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/index/sweepline/SweepLineIndex.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp: Cleaned
+	  signed/unsigned types mixtures, got rid from annoying compiler
+	  warnings.
 
 2007-06-08 14:50  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1985] Applied Konstantin Baumann's suggestion about including
-	  version.h in C API header for Visual C++.
+	* [r1985] ChangeLog: Applied Konstantin Baumann's suggestion about
+	  including version.h in C API header for Visual C++.
 
 2007-06-08 14:50  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1984] Applied Konstantin Baumann's suggestion about including
-	  version.h in C API header for Visual C++.
+	* [r1984] capi/geos_c.h.in: Applied Konstantin Baumann's suggestion
+	  about including version.h in C API header for Visual C++.
 
 2007-06-01 13:53  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1983] Added Boost.Build configuration for GEOS (experimental).
-	  The idea is to enable users to build GEOS with bjam tool from
-	  Boost.Build package.
+	* [r1983] ChangeLog, build/bjam, build/bjam/Jamroot,
+	  build/bjam/geos, build/bjam/geos/Jamfile, build/bjam/geos_c,
+	  build/bjam/geos_c/Jamfile, build/bjam/geos_unit,
+	  build/bjam/geos_unit/Jamfile: Added Boost.Build configuration for
+	  GEOS (experimental). The idea is to enable users to build GEOS
+	  with bjam tool from Boost.Build package.
 
 2007-06-01 13:43  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1982] Set missing svn:keywords property.
+	* [r1982] source/headers/geos/platform.h.vc,
+	  source/headers/geos/version.h.vc,
+	  tests/unit/operation/distance/DistanceOpTest.cpp,
+	  tests/unit/operation/overlay/FuzzyPointLocatorTest.cpp,
+	  tests/unit/operation/overlay/OffsetPointGeneratorTest.cpp,
+	  tests/unit/operation/overlay/OverlayResultValidatorTest.cpp: Set
+	  missing svn:keywords property.
 
 2007-06-01 13:06  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1981] Applied patch with pre-build events generating platform.h
-	  and version.h headers. Thanks to Konstantin Baumann for this
-	  patch.
+	* [r1981] ChangeLog, build/msvc80/geos_lib/geos_lib.vcproj: Applied
+	  patch with pre-build events generating platform.h and version.h
+	  headers. Thanks to Konstantin Baumann for this patch.
 
 2007-05-06 02:42  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1980] Updated svn:ignore property for build\msvc80.
+	* [r1980] build/msvc80, build/msvc80/geos_c_dll,
+	  build/msvc80/geos_lib, build/msvc80/geos_unit: Updated svn:ignore
+	  property for build\msvc80.
 
 2007-05-06 02:40  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1979] Added source/headers/geos/version.h.vc file for Visual
-	  C++ compiler.
+	* [r1979] ChangeLog, source/headers/geos/version.h.vc: Added
+	  source/headers/geos/version.h.vc file for Visual C++ compiler.
 
 2007-04-22 04:44  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1978] Added assertion validating ordinateIndex in setOrdinate()
-	  function. Extended GEOSCoordSeqTest with swapped and non-swapped
-	  calls of coordiantes assignment functions.
+	* [r1978] ., ChangeLog, capi,
+	  source/geom/CoordinateArraySequence.cpp, swig,
+	  tests/unit/capi/GEOSCoordSeqTest.cpp: Added assertion validating
+	  ordinateIndex in setOrdinate() function. Extended
+	  GEOSCoordSeqTest with swapped and non-swapped calls of
+	  coordiantes assignment functions.
 
 2007-04-15 18:02  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1977] Added detection of glibtoolize under Mac OS X.
+	* [r1977] ChangeLog, autogen.sh: Added detection of glibtoolize
+	  under Mac OS X.
 
-2007-03-05 09:58  Sandro Santilli <strk at keybit.net>
+2007-03-05 09:58  Sandro Santilli <strk at kbt.io>
 
-	* [r1976] Add new testcases by Carl Anderson
+	* [r1976] ChangeLog, tests/xmltester/Makefile.am,
+	  tests/xmltester/hole_from_shell.xml,
+	  tests/xmltester/hole_red.xml: Add new testcases by Carl Anderson
 
-2007-02-26 10:46  Sandro Santilli <strk at keybit.net>
+2007-02-26 10:46  Sandro Santilli <strk at kbt.io>
 
-	* [r1975] Patch by Tom Elwertowski:
+	* [r1975] ChangeLog, source/inlines.cpp: Patch by Tom Elwertowski:
 	  * source/inlines.cpp: fix for MingW32 builds.
 
-2007-02-21 10:14  Sandro Santilli <strk at keybit.net>
+2007-02-21 10:14  Sandro Santilli <strk at kbt.io>
 
-	* [r1974] Patch by Carl Anderson:
+	* [r1974] ChangeLog,
+	  source/operation/buffer/SubgraphDepthLocater.cpp: Patch by Carl
+	  Anderson:
 	  
 	  * source/operation/buffer/SubgraphDepthLocater.cpp
 	  (findStabbedSegments):
@@ -8578,88 +15824,127 @@
 	  
 	  Fixes badguy3.xml
 
-2007-02-21 10:12  Sandro Santilli <strk at keybit.net>
+2007-02-21 10:12  Sandro Santilli <strk at kbt.io>
 
-	* [r1973] * tests/xmltester/: Makefile.am, badguy3.xml:
+	* [r1973] ChangeLog, tests/xmltester/Makefile.am,
+	  tests/xmltester/badguy3.xml: * tests/xmltester/: Makefile.am,
+	  badguy3.xml:
 	  Added simplified version of nasty buffer bug test.
 
-2007-02-08 23:33  Sandro Santilli <strk at keybit.net>
+2007-02-08 23:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1972] Patch by Mark Cave-Ayland:
+	* [r1972] ChangeLog, configure.in: Patch by Mark Cave-Ayland:
 	  
 	  * configure.in: Allow configure to continue with use_python
 	  set to false if a python binary is not found, as per
 	  http://sources.redhat.com/automake/automake.html#Python.
 
-2007-02-07 00:34  Sandro Santilli <strk at keybit.net>
-
-	* [r1971] General refactoring aimed at making the code cleaner
+2007-02-07 00:34  Sandro Santilli <strk at kbt.io>
+
+	* [r1971] ChangeLog,
+	  source/headers/geos/index/strtree/AbstractNode.h,
+	  source/headers/geos/index/strtree/AbstractSTRtree.h,
+	  source/headers/geos/index/strtree/Boundable.h,
+	  source/headers/geos/index/strtree/ItemBoundable.h,
+	  source/headers/geos/index/strtree/SIRtree.h,
+	  source/headers/geos/index/strtree/STRtree.h,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/ItemBoundable.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp: General refactoring aimed at
+	  making the code cleaner
 	  to read and maintain; use iterators rather then random
 	  accessing containers to allow easy future switch to std::list
 	  from std::vector; use a tolerance-based strict weak ordering
 	  operator for sorting child boundables in STRtree, this
 	  fixes the heisenbug when building with inlines disabled.
 
-2007-02-06 02:05  Sandro Santilli <strk at keybit.net>
+2007-02-06 02:05  Sandro Santilli <strk at kbt.io>
 
-	* [r1970] * tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:
+	* [r1970] ChangeLog,
+	  tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp: *
+	  tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:
 	  Expect result of POLYGON simplification to always be
 	  a polygon, even if collapsed to the empty geom.
 
-2007-02-06 01:57  Sandro Santilli <strk at keybit.net>
+2007-02-06 01:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1969] * operation::buffer::BufferBuilder,
+	* [r1969] ChangeLog,
+	  source/headers/geos/operation/buffer/BufferBuilder.h,
+	  source/headers/geos/operation/buffer/BufferOp.h,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp: *
+	  operation::buffer::BufferBuilder,
 	  operation::buffer::BufferOp:
 	  Fixed buffer operation to always return polygonal
 	  geometry
 
 2007-02-03 02:18  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r1967] 3.0.0rc4 tagging
+	* [r1967] ChangeLog, configure.in: 3.0.0rc4 tagging
 
-2007-02-01 11:11  Sandro Santilli <strk at keybit.net>
+2007-02-01 11:11  Sandro Santilli <strk at kbt.io>
 
-	* [r1966] * operation::buffer::BufferOp: set MAX_PRECISION_DIGITS
+	* [r1966] ChangeLog,
+	  source/headers/geos/operation/buffer/BufferOp.h,
+	  source/operation/buffer/BufferOp.cpp: *
+	  operation::buffer::BufferOp: set MAX_PRECISION_DIGITS
 	  so to match JTS.
 
-2007-01-26 01:19  Sandro Santilli <strk at keybit.net>
+2007-01-26 01:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1965] * tests/xmltester/: Makefile.am,
-	  stmlf-cases-20070119.xml:
+	* [r1965] ChangeLog, tests/xmltester/Makefile.am,
+	  tests/xmltester/stmlf-cases-20070119.xml: * tests/xmltester/:
+	  Makefile.am, stmlf-cases-20070119.xml:
 	  New overlay test.
 
-2007-01-26 00:57  Sandro Santilli <strk at keybit.net>
+2007-01-26 00:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1964] * tests/xmltester/XMLTester.cpp: improved buffer
+	* [r1964] ChangeLog, source/operation/buffer/BufferBuilder.cpp,
+	  tests/xmltester/XMLTester.cpp: * tests/xmltester/XMLTester.cpp:
+	  improved buffer
 	  result validator.
 	  * source/operation/buffer/BufferBuilder.cpp (computeNodedEdges):
 	  remove repeated points from noded SegmentStrings, skip collapsed
 	  edges.
 
-2007-01-17 11:59  Sandro Santilli <strk at keybit.net>
+2007-01-17 11:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1963] New testcase for bug fixed by previous commit.
+	* [r1963] ChangeLog, tests/xmltester/Makefile.am,
+	  tests/xmltester/heisenbugs.xml: New testcase for bug fixed by
+	  previous commit.
 
-2007-01-17 01:05  Sandro Santilli <strk at keybit.net>
+2007-01-17 01:05  Sandro Santilli <strk at kbt.io>
 
-	* [r1962] * source/index/strtree/STRtree.cpp (yComparator):
+	* [r1962] ChangeLog, source/index/strtree/STRtree.cpp: *
+	  source/index/strtree/STRtree.cpp (yComparator):
 	  Use static_cast<> and make code more readable.
 	  A side effect seems to be fixing a segfault :!
 
-2007-01-17 00:45  Sandro Santilli <strk at keybit.net>
+2007-01-17 00:45  Sandro Santilli <strk at kbt.io>
 
-	* [r1961] * source/headers/geos/index/strtree/STRtree.h (centreY):
+	* [r1961] ChangeLog, source/headers/geos/index/strtree/STRtree.h: *
+	  source/headers/geos/index/strtree/STRtree.h (centreY):
 	  const-corrected.
 
-2007-01-16 14:12  Sandro Santilli <strk at keybit.net>
+2007-01-16 14:12  Sandro Santilli <strk at kbt.io>
 
-	* [r1960] * tests/xmltester/XMLTester.cpp: don't include catch-all
-	  headers.
+	* [r1960] ChangeLog, tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/XMLTester.h: * tests/xmltester/XMLTester.cpp:
+	  don't include catch-all headers.
 
-2007-01-09 17:34  Sandro Santilli <strk at keybit.net>
+2007-01-09 17:34  Sandro Santilli <strk at kbt.io>
 
-	* [r1959] * source/operation/buffer/: Makefile.am,
-	  OffsetCurveVertexList.h:
+	* [r1959] ChangeLog,
+	  source/headers/geos/operation/buffer/OffsetCurveBuilder.h,
+	  source/operation/buffer/Makefile.am,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveVertexList.h,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/TestBufferExternal.xml,
+	  tests/xmltester/XMLTester.cpp: * source/operation/buffer/:
+	  Makefile.am, OffsetCurveVertexList.h:
 	  New helper class for OffsetCurveBuilder
 	  * operation::buffer::OffsetCurveBuilder:
 	  Move vertexlist management to external class.
@@ -8672,9 +15957,12 @@
 	  to be smaller then 1/1000 of expected geometry
 	  area.
 
-2007-01-09 15:08  Sandro Santilli <strk at keybit.net>
+2007-01-09 15:08  Sandro Santilli <strk at kbt.io>
 
-	* [r1958] * source/geom/CoordinateArraySequence.cpp,
+	* [r1958] ChangeLog, source/geom/CoordinateArraySequence.cpp,
+	  source/headers/geos/geom/CoordinateArraySequence.h,
+	  source/headers/geos/geom/CoordinateSequence.h: *
+	  source/geom/CoordinateArraySequence.cpp,
 	  source/headers/geos/geom/CoordinateSequence.h,
 	  source/headers/geos/geom/CoordinateArraySequence.h:
 	  add(Coordinate, bool) made a virtual method and overrridden
@@ -8682,104 +15970,139 @@
 	  (single virtual call vs. multiple); added front() and
 	  back() methods.
 
-2007-01-09 10:27  Sandro Santilli <strk at keybit.net>
+2007-01-09 10:27  Sandro Santilli <strk at kbt.io>
 
-	* [r1957] * tests/xmltester/XMLTester.cpp: add areatest to buffer
-	  test handler.
+	* [r1957] ChangeLog, tests/xmltester/XMLTester.cpp: *
+	  tests/xmltester/XMLTester.cpp: add areatest to buffer test
+	  handler.
 
-2007-01-05 01:01  Sandro Santilli <strk at keybit.net>
+2007-01-05 01:01  Sandro Santilli <strk at kbt.io>
 
-	* [r1956] * configure.in: prepared for version to 3.0.0rc4,
+	* [r1956] ChangeLog, configure.in: * configure.in: prepared for
+	  version to 3.0.0rc4,
 	  fixed swig python errors as suggested by hint
 	  (AM_PATH_PYTHON).
 
-2007-01-04 22:43  Sandro Santilli <strk at keybit.net>
+2007-01-04 22:43  Sandro Santilli <strk at kbt.io>
 
-	* [r1955] * configure.in, swig/geos.i.in, swig/geos.i:
+	* [r1955] ChangeLog, configure.in, swig/geos.i, swig/geos.i.in: *
+	  configure.in, swig/geos.i.in, swig/geos.i:
 	  geos.i generated at configure time from geos.i.in
 	  (so we don't have to manually update versions there).
 
-2007-01-04 22:38  Sandro Santilli <strk at keybit.net>
+2007-01-04 22:38  Sandro Santilli <strk at kbt.io>
 
-	* [r1954] Patch by dev-zero at gentoo dot org:
+	* [r1954] ChangeLog, swig/geos.i: Patch by dev-zero at gentoo dot
+	  org:
 	  
 	  * swig/geos.i: use unsigned int when CAPI signatures
 	  expect unsigned int (not size_t).
 
-2007-01-03 20:11  Sandro Santilli <strk at keybit.net>
+2007-01-03 20:11  Sandro Santilli <strk at kbt.io>
 
-	* [r1953] * tests/xmltester/: fme.xml, Makefile.am: added buffer
-	  testcase.
+	* [r1953] ChangeLog, tests/xmltester/Makefile.am,
+	  tests/xmltester/fme.xml: * tests/xmltester/: fme.xml,
+	  Makefile.am: added buffer testcase.
 
-2007-01-03 20:06  Sandro Santilli <strk at keybit.net>
+2007-01-03 20:06  Sandro Santilli <strk at kbt.io>
 
-	* [r1952] * tests/xmltester/XMLTester.cpp: use a tolerance of 10E-6
+	* [r1952] ChangeLog, tests/xmltester/XMLTester.cpp: *
+	  tests/xmltester/XMLTester.cpp: use a tolerance of 10E-6
 	  for buffer validation (~10cm at worst when using latlong
 	  projections); create sql tables with oid to work around a
 	  bug in qgis 0.7.4.
 
-2007-01-03 19:18  Sandro Santilli <strk at keybit.net>
+2007-01-03 19:18  Sandro Santilli <strk at kbt.io>
 
-	* [r1951] Applied patch by Mark Cave-Ayland
+	* [r1951] ChangeLog, source/algorithm/HCoordinate.cpp,
+	  source/inlines.cpp: Applied patch by Mark Cave-Ayland
 	  <mark.cave-ayland at ilande.co.uk>:
 	  
 	  * source/inlines.cpp, source/algorithm/HCoordinate.cpp:
 	  Fixes for MingW builds. See geos-devel/2007-January/002766.html.
 
-2007-01-03 14:56  Sandro Santilli <strk at keybit.net>
+2007-01-03 14:56  Sandro Santilli <strk at kbt.io>
 
-	* [r1950] * source/operation/buffer/BufferOp.cpp
-	  (bufferReducedPrecision):
+	* [r1950] ChangeLog, source/operation/buffer/BufferOp.cpp: *
+	  source/operation/buffer/BufferOp.cpp (bufferReducedPrecision):
 	  Fixed computation of reduced PrecisionModel scale.
 
-2006-12-18 20:04  Sandro Santilli <strk at keybit.net>
+2006-12-18 20:04  Sandro Santilli <strk at kbt.io>
 
-	* [r1949] * tests/xmltester/robustness.xml: added
+	* [r1949] ChangeLog, tests/xmltester/robustness.xml: *
+	  tests/xmltester/robustness.xml: added
 	  testcase reported to fail with 2.2.3 on
 	  postgis-users/2006-November/014013.html.
 
-2006-12-18 18:44  Sandro Santilli <strk at keybit.net>
+2006-12-18 18:44  Sandro Santilli <strk at kbt.io>
 
-	* [r1948] Geometry snapping synced with JTS.
+	* [r1948] ChangeLog, source/headers/geos/geom/BinaryOp.h,
+	  source/headers/geos/precision/GeometrySnapper.h,
+	  source/precision/GeometrySnapper.cpp: Geometry snapping synced
+	  with JTS.
 
-2006-12-18 14:27  Sandro Santilli <strk at keybit.net>
+2006-12-18 14:27  Sandro Santilli <strk at kbt.io>
 
-	* [r1947] * HOWTO_RELEASE: add ChangeLog's release mark step.
+	* [r1947] ChangeLog, HOWTO_RELEASE: * HOWTO_RELEASE: add
+	  ChangeLog's release mark step.
 
-2006-12-18 14:19  Sandro Santilli <strk at keybit.net>
+2006-12-18 14:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1946] * source/precision/GeometrySnapper.cpp
-	  (computeSnapTolerance):
+	* [r1946] ChangeLog, source/precision/GeometrySnapper.cpp,
+	  tests/xmltester/Makefile.am,
+	  tests/xmltester/TestRobustOverlayFixed.xml: *
+	  source/precision/GeometrySnapper.cpp (computeSnapTolerance):
 	  properly compute snap tolerance for fixed precision geometries.
 	  * tests/xmltester/: Makefile.am, TestRobustOverlayFixed.xml:
 	  new test for fixed precision snapping.
 
-2006-12-15 10:50  Sandro Santilli <strk at keybit.net>
+2006-12-15 10:50  Sandro Santilli <strk at kbt.io>
 
-	* [r1945] release 3.0.0rc3 marked
+	* [r1945] ChangeLog: release 3.0.0rc3 marked
 
 2006-12-14 19:12  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r1943] bumped version numbers for 3.0.0rc3
+	* [r1943] configure.in: bumped version numbers for 3.0.0rc3
 
 2006-12-13 11:05  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1942] Updated makefile and project files for Visual C++.
-
-2006-12-13 10:55  Sandro Santilli <strk at keybit.net>
-
-	* [r1941] Updated port information.
-
-2006-12-13 10:51  Sandro Santilli <strk at keybit.net>
-
-	* [r1940] * precision::GeometrySnapper,
-	  precision::LineStringSnapper:
+	* [r1942] ChangeLog, build/msvc80/geos_lib/geos_lib.vcproj,
+	  source/Makefile.vc: Updated makefile and project files for Visual
+	  C++.
+
+2006-12-13 10:55  Sandro Santilli <strk at kbt.io>
+
+	* [r1941] ChangeLog,
+	  source/headers/geos/operation/overlay/FuzzyPointLocator.h,
+	  source/headers/geos/operation/overlay/OffsetPointGenerator.h,
+	  source/headers/geos/operation/overlay/OverlayResultValidator.h,
+	  source/operation/overlay/FuzzyPointLocator.cpp,
+	  source/operation/overlay/OffsetPointGenerator.cpp,
+	  source/operation/overlay/OverlayResultValidator.cpp: Updated port
+	  information.
+
+2006-12-13 10:51  Sandro Santilli <strk at kbt.io>
+
+	* [r1940] ChangeLog,
+	  source/headers/geos/precision/GeometrySnapper.h,
+	  source/headers/geos/precision/LineStringSnapper.h,
+	  source/precision/GeometrySnapper.cpp,
+	  source/precision/LineStringSnapper.cpp: *
+	  precision::GeometrySnapper, precision::LineStringSnapper:
 	  Updated port information.
 
-2006-12-11 17:42  Sandro Santilli <strk at keybit.net>
+2006-12-11 17:42  Sandro Santilli <strk at kbt.io>
 
-	* [r1939] * source/headers/geos/noding/SegmentIntersector.h: added
-	  virtual
+	* [r1939] ChangeLog,
+	  source/headers/geos/geomgraph/EdgeNodingValidator.h,
+	  source/headers/geos/noding/FastNodingValidator.h,
+	  source/headers/geos/noding/Makefile.am,
+	  source/headers/geos/noding/SegmentIntersector.h,
+	  source/headers/geos/noding/SingleInteriorIntersectionFinder.h,
+	  source/noding/FastNodingValidator.cpp,
+	  source/noding/MCIndexNoder.cpp, source/noding/Makefile.am,
+	  source/noding/SingleInteriorIntersectionFinder.cpp: *
+	  source/headers/geos/noding/SegmentIntersector.h: added virtual
 	  isDone() function, always returning false by default.
 	  * source/noding/MCIndexNoder.cpp (intersectChains):
 	  short-circuit from JTS-1.8, based on the new
@@ -8794,254 +16117,312 @@
 	  * source/headers/geos/geomgraph/EdgeNodingValidator.h:
 	  use a FastNodingValidator rather then a simple NodingValidator.
 
-2006-12-07 10:45  Sandro Santilli <strk at keybit.net>
+2006-12-07 10:45  Sandro Santilli <strk at kbt.io>
 
-	* [r1938] * source/headers/geos/algorithm/:
-	  CentralEndpointIntersector.h,
+	* [r1938] ChangeLog, source/algorithm/LineIntersector.cpp,
+	  source/headers/geos/algorithm/CentralEndpointIntersector.h,
+	  source/headers/geos/algorithm/LineIntersector.h,
+	  source/headers/geos/algorithm/Makefile.am: *
+	  source/headers/geos/algorithm/: CentralEndpointIntersector.h,
 	  Makefile.am: new port from JTS-1.8.
 	  * algorithm::LineIntersector: robustness improvements
 	  from JTS-1.8.
 
 2006-12-05 11:22  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1937] Fixed indentantion in tests/unit/capi.
+	* [r1937] tests/unit/capi/GEOSCoordSeqTest.cpp,
+	  tests/unit/capi/GEOSSimplifyTest.cpp: Fixed indentantion in
+	  tests/unit/capi.
 
 2006-12-05 11:10  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1936] Fixed typos in changelog.
+	* [r1936] ChangeLog: Fixed typos in changelog.
 
 2006-12-05 11:05  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1935] Set svn:keyword property on CAPI tests.
+	* [r1935] tests/unit/capi/GEOSCoordSeqTest.cpp,
+	  tests/unit/capi/GEOSSimplifyTest.cpp: Set svn:keyword property on
+	  CAPI tests.
 
 2006-12-05 11:02  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1934] Purifying CAPI unit tests.
+	* [r1934] ChangeLog, tests/unit/capi/GEOSCoordSeqTest.cpp,
+	  tests/unit/capi/GEOSSimplifyTest.cpp,
+	  tests/unit/util/UniqueCoordinateArrayFilterTest.cpp: Purifying
+	  CAPI unit tests.
 
 2006-12-05 10:59  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1933] Added CAPI tests to VC++ project.
+	* [r1933] build/msvc80/geos_unit/geos_unit.vcproj: Added CAPI tests
+	  to VC++ project.
 
-2006-12-05 10:42  Sandro Santilli <strk at keybit.net>
+2006-12-05 10:42  Sandro Santilli <strk at kbt.io>
 
-	* [r1932] * source/operation/overlay/OverlayOp.cpp: Use
-	  EdgeNodingValidator
+	* [r1932] ChangeLog, source/headers/geos/geom/BinaryOp.h,
+	  source/operation/overlay/OverlayOp.cpp: *
+	  source/operation/overlay/OverlayOp.cpp: Use EdgeNodingValidator
 	  instead of OverlayResultValidator (faster and more effective).
 	  Note that compile-time defines can select use of either or both
 	  ones.
 	  * source/headers/geos/geom/BinaryOp.h: be quiet if not in DEBUG
 	  mode.
 
-2006-12-05 09:59  Sandro Santilli <strk at keybit.net>
+2006-12-05 09:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1931] * noding::NodingValidator.h: throw TopologyException
+	* [r1931] ChangeLog, source/headers/geos/noding/NodingValidator.h,
+	  source/noding/NodingValidator.cpp: * noding::NodingValidator.h:
+	  throw TopologyException
 	  rather then a generic GEOSException.
 
-2006-12-04 12:41  Sandro Santilli <strk at keybit.net>
+2006-12-04 12:41  Sandro Santilli <strk at kbt.io>
 
-	* [r1930] * source/headers/geos/geomgraph/EdgeNodingValidator.h:
+	* [r1930] ChangeLog,
+	  source/headers/geos/geomgraph/EdgeNodingValidator.h: *
+	  source/headers/geos/geomgraph/EdgeNodingValidator.h:
 	  fix members initialization order.
 
-2006-12-04 11:38  Sandro Santilli <strk at keybit.net>
+2006-12-04 11:38  Sandro Santilli <strk at kbt.io>
 
-	* [r1929] * geomgraph::EdgeNodingValidator: minor cleanup
+	* [r1929] ChangeLog, source/geomgraph/EdgeNodingValidator.cpp,
+	  source/headers/geos/geomgraph/EdgeNodingValidator.h: *
+	  geomgraph::EdgeNodingValidator: minor cleanup
 	  to use references args instead of pointers for
 	  method that doesn't handle NULLs anyway.
 
-2006-12-04 10:31  Sandro Santilli <strk at keybit.net>
+2006-12-04 10:31  Sandro Santilli <strk at kbt.io>
 
-	* [r1928] * tests/unit/capi/: GEOSCoordSeq.cpp =>
-	  GEOSCoordSeqTest.cpp
+	* [r1928] ChangeLog,
+	  source/simplify/DouglasPeuckerLineSimplifier.cpp,
+	  tests/unit/Makefile.am, tests/unit/capi/GEOSCoordSeq.cpp,
+	  tests/unit/capi/GEOSCoordSeqTest.cpp,
+	  tests/unit/capi/GEOSSimplifyTest.cpp: * tests/unit/capi/:
+	  GEOSCoordSeq.cpp => GEOSCoordSeqTest.cpp
 	  * tests/unit/capi/GEOSSimplifyTest.cpp: new test
 	  for GEOSSimplify (just a test for bug #134).
 	  * source/simplify/DouglasPeuckerLineSimplifier.cpp (simplify):
 	  don't try to simplify empty coordinate lists. Fixes bug #134.
 
-2006-12-04 10:14  Sandro Santilli <strk at keybit.net>
+2006-12-04 10:14  Sandro Santilli <strk at kbt.io>
 
-	* [r1927] Other tests using setOrdinate instead of set{X,Y,Z}
+	* [r1927] ChangeLog, tests/unit/capi/GEOSCoordSeq.cpp: Other tests
+	  using setOrdinate instead of set{X,Y,Z}
 
-2006-12-04 10:12  Sandro Santilli <strk at keybit.net>
+2006-12-04 10:12  Sandro Santilli <strk at kbt.io>
 
-	* [r1926] * source/geom/CoordinateArraySequence.cpp (setOrdinate):
-	  fix bug #133.
+	* [r1926] ChangeLog, source/geom/CoordinateArraySequence.cpp: *
+	  source/geom/CoordinateArraySequence.cpp (setOrdinate): fix bug
+	  #133.
 
-2006-12-04 10:00  Sandro Santilli <strk at keybit.net>
+2006-12-04 10:00  Sandro Santilli <strk at kbt.io>
 
-	* [r1925] * tests/unit/capi/GEOSCoordSeq.cpp: add test for bug #133
+	* [r1925] ChangeLog, tests/unit/capi/GEOSCoordSeq.cpp: *
+	  tests/unit/capi/GEOSCoordSeq.cpp: add test for bug #133
 	  (failing).
 
-2006-12-04 09:57  Sandro Santilli <strk at keybit.net>
+2006-12-04 09:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1924] * tests/unit/geom/CoordinateArraySequenceTest.cpp: added
-	  tests for setOrdinate()
+	* [r1924] ChangeLog,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp: *
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp: added tests for
+	  setOrdinate()
 
-2006-11-30 14:49  Sandro Santilli <strk at keybit.net>
+2006-11-30 14:49  Sandro Santilli <strk at kbt.io>
 
-	* [r1923] * tests/unit/: Makefile.am, capi/GEOSCoordSeq.cpp:
+	* [r1923] ChangeLog, capi/geos_c.cpp, tests/unit/Makefile.am,
+	  tests/unit/capi, tests/unit/capi/GEOSCoordSeq.cpp: * tests/unit/:
+	  Makefile.am, capi/GEOSCoordSeq.cpp:
 	  new experimental test for C-API GEOSCoordSeq.
 	  * capi/geos_c.cpp (GEOSCoordSeq_create): removed
 	  suspicious static cast.
 
 2006-11-28 19:13  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1922] Added Visual C++ 2005 project files.
+	* [r1922] build, build/README, build/msvc80, build/msvc80/README,
+	  build/msvc80/geos.sln, build/msvc80/geos_c_dll,
+	  build/msvc80/geos_c_dll/geos_c_dll.vcproj, build/msvc80/geos_lib,
+	  build/msvc80/geos_lib/geos_lib.vcproj, build/msvc80/geos_unit,
+	  build/msvc80/geos_unit/geos_unit.vcproj: Added Visual C++ 2005
+	  project files.
 
-2006-11-23 20:17  Sandro Santilli <strk at keybit.net>
+2006-11-23 20:17  Sandro Santilli <strk at kbt.io>
 
-	* [r1921] * source/geom/Point.cpp (equalsExact): don't segfault on
-	  empty points. Fixes bug #132.
+	* [r1921] ChangeLog, source/geom/Point.cpp: * source/geom/Point.cpp
+	  (equalsExact): don't segfault on empty points. Fixes bug #132.
 
-2006-11-23 12:25  Sandro Santilli <strk at keybit.net>
+2006-11-23 12:25  Sandro Santilli <strk at kbt.io>
 
-	* [r1920] Added short descripion of testcases provenience
+	* [r1920] tests/xmltester/stmlf-cases-20061020.xml: Added short
+	  descripion of testcases provenience
 
-2006-11-22 20:29  Sandro Santilli <strk at keybit.net>
+2006-11-22 20:29  Sandro Santilli <strk at kbt.io>
 
-	* [r1919] * tests/xmltester/: stmlf-cases-20061020.xml,
-	  Makefile.am: add more robustness testcases.
+	* [r1919] ChangeLog, tests/xmltester/Makefile.am,
+	  tests/xmltester/stmlf-cases-20061020.xml: * tests/xmltester/:
+	  stmlf-cases-20061020.xml, Makefile.am: add more robustness
+	  testcases.
 
-2006-11-22 12:26  Sandro Santilli <strk at keybit.net>
+2006-11-22 12:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1918] Patch by dron at ak4719.spb.edu:
+	* [r1918] ChangeLog, autogen.sh: Patch by dron at ak4719.spb.edu:
 	  
 	  * autogen.sh: call 'autoheader' after 'aclocal'.
 	  Fixes bug #131
 
 2006-11-18 15:30  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1917] Fixed path to geos_c.h in source/makefile.vc.
+	* [r1917] source/Makefile.vc: Fixed path to geos_c.h in
+	  source/makefile.vc.
 
-2006-11-15 18:26  Sandro Santilli <strk at keybit.net>
+2006-11-15 18:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1916] * configure.in: don't generate geos_c.h.vc
+	* [r1916] ChangeLog, capi/Makefile.am, capi/geos_c.h.vc.in,
+	  configure.in, source/Makefile.vc,
+	  source/headers/geos/Makefile.am,
+	  source/headers/geos/version.h.vc: * configure.in: don't generate
+	  geos_c.h.vc
 	  * source/Makefile.vc: don't generate geos_c.h and version.h
 	  * source/headers/geos/version.h.vc, capi/geos_c.h.vc.in:
 	  removed, will NOT be needed by Makefile.vc
 	  * source/headers/geos/Makefile.am: distribute version.h
 	  * capi/Makefile.am: distribute geos_c.h
 
-2006-11-15 14:42  Sandro Santilli <strk at keybit.net>
+2006-11-15 14:42  Sandro Santilli <strk at kbt.io>
 
-	* [r1915] * capi/geos_c.h.in: hopefully fixed GEOS_DLL use.
+	* [r1915] ChangeLog, capi/geos_c.h.in: * capi/geos_c.h.in:
+	  hopefully fixed GEOS_DLL use.
 
-2006-11-15 11:28  Sandro Santilli <strk at keybit.net>
+2006-11-15 11:28  Sandro Santilli <strk at kbt.io>
 
-	* [r1914] * capi/geos_c.cpp (GEOSGeom_getDimensions): Fix a
-	  segfault on empty geometry input (fix bug #126).
+	* [r1914] ChangeLog, capi/geos_c.cpp: * capi/geos_c.cpp
+	  (GEOSGeom_getDimensions): Fix a segfault on empty geometry input
+	  (fix bug #126).
 
 2006-11-11 05:32  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r1913] Retreived original .vc file and put in MACRO
-	  substitutions. Somehow GNU version replaced .vc version during
-	  file shuffles to get macros in.
+	* [r1913] capi/geos_c.h.vc.in: Retreived original .vc file and put
+	  in MACRO substitutions. Somehow GNU version replaced .vc version
+	  during file shuffles to get macros in.
 
-2006-11-10 18:24  Sandro Santilli <strk at keybit.net>
+2006-11-10 18:24  Sandro Santilli <strk at kbt.io>
 
-	* [r1912] fixed timewarp
+	* [r1912] ChangeLog: fixed timewarp
 
 2006-11-10 17:56  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r1911] noted .vc change
+	* [r1911] ChangeLog: noted .vc change
 
 2006-11-10 17:55  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r1910] Made sure geos_c.h.vc is part of 'make dist' since VC
-	  users won't have .configure
+	* [r1910] capi/Makefile.am: Made sure geos_c.h.vc is part of 'make
+	  dist' since VC users won't have .configure
 
 2006-11-10 17:38  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r1909] Added substitution strings to .in files for .vc
-	  generation.
+	* [r1909] capi/Makefile.am, capi/geos_c.h.vc, capi/geos_c.h.vc.in:
+	  Added substitution strings to .in files for .vc generation.
 
 2006-11-10 17:35  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r1908] Changes for capi .vc generation
+	* [r1908] configure.in: Changes for capi .vc generation
 
 2006-11-10 14:50  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1907] update
+	* [r1907] capi/geos_c.h.vc: update
 
-2006-11-09 09:10  Sandro Santilli <strk at keybit.net>
+2006-11-09 09:10  Sandro Santilli <strk at kbt.io>
 
-	* [r1906] * test/xmltester/XMLTester.cpp: improved 'testarea' test.
+	* [r1906] ChangeLog, tests/xmltester/XMLTester.cpp: *
+	  test/xmltester/XMLTester.cpp: improved 'testarea' test.
 
-2006-11-08 11:54  Sandro Santilli <strk at keybit.net>
+2006-11-08 11:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1905] added 'release-separator' tag
+	* [r1905] ChangeLog: added 'release-separator' tag
 
-2006-11-08 11:51  Sandro Santilli <strk at keybit.net>
+2006-11-08 11:51  Sandro Santilli <strk at kbt.io>
 
-	* [r1904] * tests/xmltester/robustness.xml: made test safe to
+	* [r1904] ChangeLog, tests/xmltester/Makefile.am,
+	  tests/xmltester/robustness.xml: * tests/xmltester/robustness.xml:
+	  made test safe to
 	  run by using the new 'areatest' operation; added
 	  new testcases just raised on the mailing list.
 	  * tests/xmltester/Makefile.am: robustness.xml is now safe
 	  to run, so run it on make check.
 
-2006-11-08 10:40  Sandro Santilli <strk at keybit.net>
+2006-11-08 10:40  Sandro Santilli <strk at kbt.io>
 
-	* [r1903] * source/headers/geos/geom/BinaryOp.h: enable
+	* [r1903] ChangeLog, source/headers/geos/geom/BinaryOp.h: *
+	  source/headers/geos/geom/BinaryOp.h: enable
 	  COMMONBITS-removal heuristic so it is attempted
 	  before geometry snapping.
 
-2006-11-05 20:34  Sandro Santilli <strk at keybit.net>
+2006-11-05 20:34  Sandro Santilli <strk at kbt.io>
 
-	* [r1900] * capi/Makefile.am: distribute files needed for testing,
-	  proper cleanup (make distcheck works now)
+	* [r1900] ChangeLog, capi/Makefile.am: * capi/Makefile.am:
+	  distribute files needed for testing, proper cleanup (make
+	  distcheck works now)
 
 2006-11-05 00:24  Charlie Savage <cfis at savagexi.com>
 
-	* [r1899] Updated ruby swig wrapper for changes in header files.
+	* [r1899] swig/ruby/geos_wrap.cxx: Updated ruby swig wrapper for
+	  changes in header files.
 
 2006-11-05 00:24  Charlie Savage <cfis at savagexi.com>
 
-	* [r1898] Updated python swig wrapper for changes in header files.
+	* [r1898] swig/python/geos_wrap.cxx: Updated python swig wrapper
+	  for changes in header files.
 
 2006-11-05 00:23  Charlie Savage <cfis at savagexi.com>
 
-	* [r1897] Fixes for changes in header files.
+	* [r1897] swig/geos.i: Fixes for changes in header files.
 
-2006-11-03 12:35  Sandro Santilli <strk at keybit.net>
+2006-11-03 12:35  Sandro Santilli <strk at kbt.io>
 
-	* [r1896] redirect 'diff' output to stderr
+	* [r1896] capi/testrunner.sh: redirect 'diff' output to stderr
 
-2006-11-03 10:54  Sandro Santilli <strk at keybit.net>
+2006-11-03 10:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1895] hopefully fixed proper quoting
+	* [r1895] ChangeLog, capi/testrunner.sh: hopefully fixed proper
+	  quoting
 
-2006-11-03 10:30  Sandro Santilli <strk at keybit.net>
+2006-11-03 10:30  Sandro Santilli <strk at kbt.io>
 
-	* [r1894] Report non-zero return from ./geostest run
+	* [r1894] ChangeLog, capi/testrunner.sh: Report non-zero return
+	  from ./geostest run
 
-2006-11-02 10:08  Sandro Santilli <strk at keybit.net>
+2006-11-02 10:08  Sandro Santilli <strk at kbt.io>
 
-	* [r1893] * source/headers/geos/geom/BinaryOp.h: disable debugging
-	  output by default.
+	* [r1893] ChangeLog, source/headers/geos/geom/BinaryOp.h: *
+	  source/headers/geos/geom/BinaryOp.h: disable debugging output by
+	  default.
 
-2006-11-02 10:02  Sandro Santilli <strk at keybit.net>
+2006-11-02 10:02  Sandro Santilli <strk at kbt.io>
 
-	* [r1892] * capi/geostest.c: updated to use the new GEOSGeometry
-	  typedef, so to build w/out warnings and fully respecting current
-	  const specification.
+	* [r1892] ChangeLog, capi/geostest.c: * capi/geostest.c: updated to
+	  use the new GEOSGeometry typedef, so to build w/out warnings and
+	  fully respecting current const specification.
 
-2006-11-02 09:48  Sandro Santilli <strk at keybit.net>
+2006-11-02 09:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1891] * capi/geos_c.cpp, capi/geos_c.h.in: const-corrected and
-	  documented GEOSPolygonize function.
+	* [r1891] ChangeLog, capi/geos_c.cpp, capi/geos_c.h.in: *
+	  capi/geos_c.cpp, capi/geos_c.h.in: const-corrected and documented
+	  GEOSPolygonize function.
 
-2006-11-02 09:38  Sandro Santilli <strk at keybit.net>
+2006-11-02 09:38  Sandro Santilli <strk at kbt.io>
 
-	* [r1890] * capi/test.expected: updated expected version
+	* [r1890] ChangeLog, capi/test.expected, capi/testrunner.sh: *
+	  capi/test.expected: updated expected version
 	  * capi/testrunner.sh: be happy with geostest running w/out
 	  segfaulting, still run diff for reference.
 
-2006-11-02 09:33  Sandro Santilli <strk at keybit.net>
+2006-11-02 09:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1889] * configure.in: updated versions to 3.0.0rc2 / CAPI-1.3.0
+	* [r1889] ChangeLog, configure.in: * configure.in: updated versions
+	  to 3.0.0rc2 / CAPI-1.3.0
 
-2006-11-02 08:32  Sandro Santilli <strk at keybit.net>
+2006-11-02 08:32  Sandro Santilli <strk at kbt.io>
 
-	* [r1888] Patch by Markus Schaber <schabi at logix-tt.com>:
+	* [r1888] ChangeLog, capi/geos_c.cpp, capi/geos_c.h.in: Patch by
+	  Markus Schaber <schabi at logix-tt.com>:
 	  
 	  * capi/geos_c.h.in: add GEOSGeometry and GEOSCoordSequence
 	  typedef, to unhide the pointer type and allow fine-grained
@@ -9050,25 +16431,28 @@
 	  * capi/geos_c.cpp: define GEOSGeometry and GEOSCoordSequence
 	  for cross-checking of types in header.
 
-2006-10-30 15:14  Sandro Santilli <strk at keybit.net>
+2006-10-30 15:14  Sandro Santilli <strk at kbt.io>
 
-	* [r1887] Patch by Markus Schaber <schabi at logix-tt.com>
+	* [r1887] ChangeLog, capi/geos_c.cpp, capi/geos_c.h.in: Patch by
+	  Markus Schaber <schabi at logix-tt.com>
 	  
 	  * capi/geos_c.cpp: more focused 'using' directives.
 	  * capi/geos_c.h.in: let the enum visible by geos_c.cpp
 	  now that there are no more name clashes.
 
-2006-10-30 13:20  Sandro Santilli <strk at keybit.net>
+2006-10-30 13:20  Sandro Santilli <strk at kbt.io>
 
-	* [r1886] removed useless GEOSGeomTypes define
+	* [r1886] capi/geos_c.cpp: removed useless GEOSGeomTypes define
 
-2006-10-30 13:00  Sandro Santilli <strk at keybit.net>
+2006-10-30 13:00  Sandro Santilli <strk at kbt.io>
 
-	* [r1885] reduce default verbosity
+	* [r1885] ChangeLog, source/operation/overlay/OverlayOp.cpp: reduce
+	  default verbosity
 
-2006-10-30 12:49  Sandro Santilli <strk at keybit.net>
+2006-10-30 12:49  Sandro Santilli <strk at kbt.io>
 
-	* [r1884] * capi/geos_c.cpp:
+	* [r1884] ChangeLog, capi/geos_c.cpp, capi/geos_c.h.in: *
+	  capi/geos_c.cpp:
 	  Remove a typedef which is also included via Header;
 	  Use dynamic_cast instead of C cast in 2 cases to allow the RTTI
 	  type check;
@@ -9081,15 +16465,17 @@
 	  Added a comment explaining ou #ifndef magic;
 	  Unified the two #ifndef into a single one.
 
-2006-10-30 10:29  Sandro Santilli <strk at keybit.net>
+2006-10-30 10:29  Sandro Santilli <strk at kbt.io>
 
-	* [r1883] * capi/: test.expected, testrunner.sh, Makefile.am: Added
-	  a run of ./geostest as part of 'make check'
+	* [r1883] ChangeLog, capi/Makefile.am, capi/test.expected,
+	  capi/testrunner.sh: * capi/: test.expected, testrunner.sh,
+	  Makefile.am: Added a run of ./geostest as part of 'make check'
 
-2006-10-30 10:15  Sandro Santilli <strk at keybit.net>
+2006-10-30 10:15  Sandro Santilli <strk at kbt.io>
 
-	* [r1882] Patch submitted by Markus Schaber <schabi at logix-tt.com> (
-	  reviewed and fixed )
+	* [r1882] ChangeLog, capi/geos_c.cpp, capi/geos_c.h.in: Patch
+	  submitted by Markus Schaber <schabi at logix-tt.com> ( reviewed and
+	  fixed )
 	  
 	  * capi/: geos_c.cpp, geos_c.h.in:
 	  Changed the C-API implementation to actually include the header
@@ -9097,14 +16483,21 @@
 	  declarations and implementation for consistency, fixed geos_c.cpp
 	  accordingly (const-correctness, mainly).
 
-2006-10-30 09:49  Sandro Santilli <strk at keybit.net>
+2006-10-30 09:49  Sandro Santilli <strk at kbt.io>
 
-	* [r1881] * capi/geostest.c: added some checks of return from CAPI
-	  functions returning GEOSGeom (not all, just a few)
+	* [r1881] ChangeLog, capi/geostest.c: * capi/geostest.c: added some
+	  checks of return from CAPI functions returning GEOSGeom (not all,
+	  just a few)
 
-2006-10-27 11:54  Sandro Santilli <strk at keybit.net>
+2006-10-27 11:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1880] Patch by Markus Schaber <schabi at logix-tt.com>
+	* [r1880] ChangeLog, source/algorithm/InteriorPointLine.cpp,
+	  source/geom/Geometry.cpp,
+	  source/headers/geos/algorithm/InteriorPointLine.h,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/operation/polygonize/Polygonizer.h,
+	  source/operation/polygonize/Polygonizer.cpp: Patch by Markus
+	  Schaber <schabi at logix-tt.com>
 	  
 	  * algorithm::InteriorPointLine (ctor): take Geometry by
 	  const-pointer.
@@ -9113,771 +16506,1535 @@
 	  then filter_rw, as it doesn't change the Geometry, propagated
 	  change to internal interfaces (add methods)
 
-2006-10-26 09:22  Sandro Santilli <strk at keybit.net>
+2006-10-26 09:22  Sandro Santilli <strk at kbt.io>
 
-	* [r1879] * capi/geos_c.h.in: reverted all changes of 'int' types
+	* [r1879] ChangeLog, capi/geos_c.h.in: * capi/geos_c.h.in: reverted
+	  all changes of 'int' types
 	  to 'size_t' types (the lib never changed, and still expects
 	  ints)
 
-2006-10-24 16:54  Sandro Santilli <strk at keybit.net>
+2006-10-24 16:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1878] * source/headers/geos/geom/BinaryOp.h: try original geoms
-	  first by default.
+	* [r1878] ChangeLog, source/headers/geos/geom/BinaryOp.h: *
+	  source/headers/geos/geom/BinaryOp.h: try original geoms first by
+	  default.
 
-2006-10-24 16:53  Sandro Santilli <strk at keybit.net>
+2006-10-24 16:53  Sandro Santilli <strk at kbt.io>
 
-	* [r1877] * operation::overlay::OverlayResultValidator.cpp
-	  (isValid): run the test even if inputs and output are not areal.
+	* [r1877] ChangeLog,
+	  source/headers/geos/operation/overlay/OverlayResultValidator.h,
+	  source/operation/overlay/OverlayResultValidator.cpp: *
+	  operation::overlay::OverlayResultValidator.cpp (isValid): run the
+	  test even if inputs and output are not areal.
 
-2006-10-24 16:49  Sandro Santilli <strk at keybit.net>
+2006-10-24 16:49  Sandro Santilli <strk at kbt.io>
 
-	* [r1876] * operation::overlay::FuzzyPointLocator: eliminate
-	  non-polygonal components from consideration when testing the
-	  location of points.
+	* [r1876] ChangeLog,
+	  source/headers/geos/operation/overlay/FuzzyPointLocator.h,
+	  source/operation/overlay/FuzzyPointLocator.cpp: *
+	  operation::overlay::FuzzyPointLocator: eliminate non-polygonal
+	  components from consideration when testing the location of
+	  points.
 
-2006-10-24 10:16  Sandro Santilli <strk at keybit.net>
+2006-10-24 10:16  Sandro Santilli <strk at kbt.io>
 
-	* [r1875] * precision::GeometrySnapper: snapPrecisionFactor
-	  augmented from 10e-12 to 10e-10.
+	* [r1875] ChangeLog,
+	  source/headers/geos/precision/GeometrySnapper.h,
+	  source/precision/GeometrySnapper.cpp: *
+	  precision::GeometrySnapper: snapPrecisionFactor augmented from
+	  10e-12 to 10e-10.
 
-2006-10-24 09:49  Sandro Santilli <strk at keybit.net>
+2006-10-24 09:49  Sandro Santilli <strk at kbt.io>
 
-	* [r1874] * precision::LineStringSnapper (findSegmentToSnap):
+	* [r1874] ChangeLog,
+	  source/headers/geos/precision/LineStringSnapper.h,
+	  source/precision/LineStringSnapper.cpp: *
+	  precision::LineStringSnapper (findSegmentToSnap):
 	  return the *closest* segment, don't snap if the closest
 	  segment *intersects* the snap points, consider a distance
 	  of exactly snapTolerance as non-tolerated (got in sync with JTS)
 
-2006-10-23 10:23  Sandro Santilli <strk at keybit.net>
+2006-10-23 10:23  Sandro Santilli <strk at kbt.io>
 
-	* [r1873] * source/headers/geos/geom/BinaryOp.h (SnapOp): document
-	  and add optional CBR step (snap after applying common bits
-	  removal - this is the default); (check_valid): add validity
-	  checker function.
+	* [r1873] ChangeLog, source/headers/geos/geom/BinaryOp.h: *
+	  source/headers/geos/geom/BinaryOp.h (SnapOp): document and add
+	  optional CBR step (snap after applying common bits removal - this
+	  is the default); (check_valid): add validity checker function.
 
-2006-10-20 11:18  Sandro Santilli <strk at keybit.net>
+2006-10-20 11:18  Sandro Santilli <strk at kbt.io>
 
-	* [r1872] * noding::SegmentString: added notifyCoordinatesChange
-	  method.
+	* [r1872] ChangeLog, source/headers/geos/noding/SegmentString.h,
+	  source/noding/ScaledNoder.cpp, source/noding/SegmentString.cpp: *
+	  noding::SegmentString: added notifyCoordinatesChange method.
 	  * noding::ScaledNoder: notify possible coordinates change to
 	  SegmentString after removing repeated points.
 
-2006-10-19 18:26  Sandro Santilli <strk at keybit.net>
+2006-10-19 18:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1871] * configure.in: use 'expr' for arithmetics (more
-	  portable)
+	* [r1871] ChangeLog, configure.in: * configure.in: use 'expr' for
+	  arithmetics (more portable)
 
 2006-10-18 19:21  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1870] Refactored Visual C++ makefiles.
+	* [r1870] ChangeLog, makefile.vc, source/Makefile.vc: Refactored
+	  Visual C++ makefiles.
 
 2006-10-18 17:53  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1869] Updated source\makefile.vc and source\dirlist.mk files.
+	* [r1869] source/Makefile.vc, source/dirlist.mk: Updated
+	  source\makefile.vc and source\dirlist.mk files.
 
 2006-10-18 17:53  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1868] Added top-level makefile.vc.
+	* [r1868] makefile.vc: Added top-level makefile.vc.
 
-2006-10-18 14:28  Sandro Santilli <strk at keybit.net>
+2006-10-18 14:28  Sandro Santilli <strk at kbt.io>
 
-	* [r1867] fixed svn:ignore property
+	* [r1867] .: fixed svn:ignore property
 
-2006-10-18 12:08  Sandro Santilli <strk at keybit.net>
+2006-10-18 12:08  Sandro Santilli <strk at kbt.io>
 
-	* [r1866] disable non-JTS overlay result validators (to more
-	  closely track JTS at this stage)
+	* [r1866] ChangeLog, source/operation/overlay/OverlayOp.cpp:
+	  disable non-JTS overlay result validators (to more closely track
+	  JTS at this stage)
 
-2006-10-17 14:26  Sandro Santilli <strk at keybit.net>
+2006-10-17 14:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1865] * source/headers/geos/geom/BinaryOp.h (SnapOp): fixed
-	  horrible
+	* [r1865] ChangeLog, source/headers/geos/geom/BinaryOp.h: *
+	  source/headers/geos/geom/BinaryOp.h (SnapOp): fixed horrible
 	  bug applying overlay of first geom to itself :(
 
-2006-10-17 10:15  Sandro Santilli <strk at keybit.net>
+2006-10-17 10:15  Sandro Santilli <strk at kbt.io>
 
-	* [r1864] really fixed 'extra tokens at end of #endif directive'
-	  warning
+	* [r1864] capi/geos_c.h.in: really fixed 'extra tokens at end of
+	  #endif directive' warning
 
-2006-10-17 10:10  Sandro Santilli <strk at keybit.net>
+2006-10-17 10:10  Sandro Santilli <strk at kbt.io>
 
-	* [r1863] fixed 'extra tokens at end of #endif directive' warning
+	* [r1863] capi/geos_c.h.in: fixed 'extra tokens at end of #endif
+	  directive' warning
 
-2006-10-17 08:44  Sandro Santilli <strk at keybit.net>
+2006-10-17 08:44  Sandro Santilli <strk at kbt.io>
 
-	* [r1862] * capi/Makefile.am: don't directly link geostest against
+	* [r1862] ChangeLog, capi/Makefile.am: * capi/Makefile.am: don't
+	  directly link geostest against
 	  both libgeos.so and libstdc++ (should be derived by
 	  libgeos_c.so).
 
-2006-10-12 15:33  Sandro Santilli <strk at keybit.net>
+2006-10-12 15:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1861] * tests/bigtest/GeometryTestFactory.cpp,
-	  tests/bigtest/bigtest.h, tests/bigtest/TestSweepLineSpeed.cpp:
-	  fixed header inclusion, to reduce compiler noise.
+	* [r1861] ChangeLog, tests/bigtest/GeometryTestFactory.cpp,
+	  tests/bigtest/TestSweepLineSpeed.cpp, tests/bigtest/bigtest.h: *
+	  tests/bigtest/GeometryTestFactory.cpp, tests/bigtest/bigtest.h,
+	  tests/bigtest/TestSweepLineSpeed.cpp: fixed header inclusion, to
+	  reduce compiler noise.
 
-2006-10-09 16:39  Sandro Santilli <strk at keybit.net>
+2006-10-09 16:39  Sandro Santilli <strk at kbt.io>
 
-	* [r1860] * source/headers/geos/geom/BinaryOp.h: always snap geoms
-	  to each-other before applying an overlay (temp hack).
+	* [r1860] ChangeLog, source/headers/geos/geom/BinaryOp.h: *
+	  source/headers/geos/geom/BinaryOp.h: always snap geoms to
+	  each-other before applying an overlay (temp hack).
 
-2006-10-09 16:35  Sandro Santilli <strk at keybit.net>
+2006-10-09 16:35  Sandro Santilli <strk at kbt.io>
 
-	* [r1859] * source/operation/overlay/OverlayOp.cpp: enable all
-	  overlay result validators, make it disablable at compile time.
+	* [r1859] ChangeLog, source/operation/overlay/OverlayOp.cpp: *
+	  source/operation/overlay/OverlayOp.cpp: enable all overlay result
+	  validators, make it disablable at compile time.
 
 2006-10-05 10:58  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1858] Added inclusion guards to geos_c.h files.
+	* [r1858] ChangeLog, capi/geos_c.h.in, capi/geos_c.h.vc: Added
+	  inclusion guards to geos_c.h files.
 
-2006-10-05 09:46  Sandro Santilli <strk at keybit.net>
+2006-10-05 09:46  Sandro Santilli <strk at kbt.io>
 
-	* [r1857] increment areatest verbosity (needs -v -v)
+	* [r1857] ChangeLog, tests/xmltester/XMLTester.cpp: increment
+	  areatest verbosity (needs -v -v)
 
 2006-10-02 18:53  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1856] GEOSEnvelope wasn't in the PROTOTYPES section in
-	  geos_c.cpp
+	* [r1856] ChangeLog, capi/geos_c.cpp: GEOSEnvelope wasn't in the
+	  PROTOTYPES section in geos_c.cpp
 
-2006-09-27 07:48  Sandro Santilli <strk at keybit.net>
+2006-09-27 07:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1855] updated tag item
+	* [r1855] HOWTO_RELEASE: updated tag item
 
-2006-09-27 07:43  Sandro Santilli <strk at keybit.net>
+2006-09-27 07:43  Sandro Santilli <strk at kbt.io>
 
-	* [r1854] added info about svn tags
+	* [r1854] HOWTO_RELEASE: added info about svn tags
 
-2006-09-19 06:54  Sandro Santilli <strk at keybit.net>
+2006-09-19 06:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1853] Added <algorithm> include
+	* [r1853] source/operation/overlay/OffsetPointGenerator.cpp: Added
+	  <algorithm> include
 
 2006-09-08 23:13  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r1851] Added information about funders of the 3.0.0 series: Safe
-	  Software, Autodesk,
+	* [r1851] AUTHORS: Added information about funders of the 3.0.0
+	  series: Safe Software, Autodesk,
 	  Bavarian State Ministry of Agriculture and Forestry and the State
 	  Survey of Bavaria.
 
-2006-09-08 09:38  Sandro Santilli <strk at keybit.net>
+2006-09-08 09:38  Sandro Santilli <strk at kbt.io>
 
-	* [r1850] updated
+	* [r1850] TODO: updated
 
-2006-09-08 09:31  Sandro Santilli <strk at keybit.net>
+2006-09-08 09:31  Sandro Santilli <strk at kbt.io>
 
-	* [r1849] more debugging output
+	* [r1849] source/operation/overlay/OverlayResultValidator.cpp: more
+	  debugging output
 
-2006-09-08 09:21  Sandro Santilli <strk at keybit.net>
+2006-09-08 09:21  Sandro Santilli <strk at kbt.io>
 
-	* [r1848] More testcases
+	* [r1848] tests/unit/operation/overlay/FuzzyPointLocatorTest.cpp,
+	  tests/unit/operation/overlay/OverlayResultValidatorTest.cpp: More
+	  testcases
 
-2006-09-07 18:07  Sandro Santilli <strk at keybit.net>
+2006-09-07 18:07  Sandro Santilli <strk at kbt.io>
 
-	* [r1847] New unit test for OverlayResultValidator class
+	* [r1847] tests/unit/Makefile.am,
+	  tests/unit/operation/overlay/OverlayResultValidatorTest.cpp: New
+	  unit test for OverlayResultValidator class
 
-2006-09-07 18:07  Sandro Santilli <strk at keybit.net>
+2006-09-07 18:07  Sandro Santilli <strk at kbt.io>
 
-	* [r1846] more debugging output
+	* [r1846] source/operation/overlay/OverlayResultValidator.cpp: more
+	  debugging output
 
-2006-09-07 17:52  Sandro Santilli <strk at keybit.net>
+2006-09-07 17:52  Sandro Santilli <strk at kbt.io>
 
-	* [r1845] Added addVertices private method (unused, as in JTS, but
-	  possibly useful in the future)
+	* [r1845]
+	  source/headers/geos/operation/overlay/OverlayResultValidator.h,
+	  source/operation/overlay/OverlayResultValidator.cpp: Added
+	  addVertices private method (unused, as in JTS, but possibly
+	  useful in the future)
 
-2006-09-07 17:41  Sandro Santilli <strk at keybit.net>
+2006-09-07 17:41  Sandro Santilli <strk at kbt.io>
 
-	* [r1844] Added debugging code
+	* [r1844] source/operation/overlay/OverlayResultValidator.cpp:
+	  Added debugging code
 
-2006-09-07 17:35  Sandro Santilli <strk at keybit.net>
+2006-09-07 17:35  Sandro Santilli <strk at kbt.io>
 
-	* [r1843] more testcases (added test for max distance of offset
-	  points)
+	* [r1843]
+	  tests/unit/operation/overlay/OffsetPointGeneratorTest.cpp: more
+	  testcases (added test for max distance of offset points)
 
-2006-09-07 15:28  Sandro Santilli <strk at keybit.net>
+2006-09-07 15:28  Sandro Santilli <strk at kbt.io>
 
-	* [r1842] removed svn:executable prop from all .cpp files
+	* [r1842] tests/unit/algorithm/PointLocatorTest.cpp,
+	  tests/unit/geom/CoordinateArraySequenceFactoryTest.cpp,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp,
+	  tests/unit/geom/CoordinateListTest.cpp,
+	  tests/unit/geom/CoordinateTest.cpp,
+	  tests/unit/geom/DimensionTest.cpp,
+	  tests/unit/geom/EnvelopeTest.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/geom/LineSegmentTest.cpp,
+	  tests/unit/geom/LineStringTest.cpp,
+	  tests/unit/geom/LinearRingTest.cpp,
+	  tests/unit/geom/LocationTest.cpp,
+	  tests/unit/geom/MultiLineStringTest.cpp,
+	  tests/unit/geom/MultiPointTest.cpp,
+	  tests/unit/geom/MultiPolygonTest.cpp,
+	  tests/unit/geom/PointTest.cpp, tests/unit/geom/PolygonTest.cpp,
+	  tests/unit/geom/TriangleTest.cpp,
+	  tests/unit/io/WKBReaderTest.cpp,
+	  tests/unit/noding/SegmentStringTest.cpp,
+	  tests/unit/operation/distance/DistanceOpTest.cpp,
+	  tests/unit/precision/LineStringSnapperTest.cpp: removed
+	  svn:executable prop from all .cpp files
 
-2006-09-07 15:22  Sandro Santilli <strk at keybit.net>
+2006-09-07 15:22  Sandro Santilli <strk at kbt.io>
 
-	* [r1841] removed svn:executable property
+	* [r1841] tests/unit/operation/overlay/FuzzyPointLocatorTest.cpp,
+	  tests/unit/operation/overlay/OffsetPointGeneratorTest.cpp:
+	  removed svn:executable property
 
-2006-09-07 15:21  Sandro Santilli <strk at keybit.net>
+2006-09-07 15:21  Sandro Santilli <strk at kbt.io>
 
-	* [r1840] testing execute bit state
+	* [r1840] tests/unit/operation/overlay/FuzzyPointLocatorTest.cpp:
+	  testing execute bit state
 
 2006-09-07 12:17  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1839] Set svn:keyword for $ expansion.
+	* [r1839] tests/unit/operation/distance/DistanceOpTest.cpp: Set
+	  svn:keyword for $ expansion.
 
-2006-09-07 11:34  Sandro Santilli <strk at keybit.net>
+2006-09-07 11:34  Sandro Santilli <strk at kbt.io>
 
-	* [r1838] Cleaned up OverlayResultValidator call (still disabled
-	  due to bugs)
+	* [r1838] source/operation/overlay/OverlayOp.cpp: Cleaned up
+	  OverlayResultValidator call (still disabled due to bugs)
 
-2006-09-07 11:27  Sandro Santilli <strk at keybit.net>
+2006-09-07 11:27  Sandro Santilli <strk at kbt.io>
 
-	* [r1837] blindly return positive result if any input or output is
-	  not an area
+	* [r1837] source/operation/overlay/OverlayResultValidator.cpp:
+	  blindly return positive result if any input or output is not an
+	  area
 
-2006-09-07 11:08  Sandro Santilli <strk at keybit.net>
+2006-09-07 11:08  Sandro Santilli <strk at kbt.io>
 
-	* [r1836] new test for FuzzyPointLocator
+	* [r1836] tests/unit/operation/overlay/FuzzyPointLocatorTest.cpp:
+	  new test for FuzzyPointLocator
 
-2006-09-07 10:30  Sandro Santilli <strk at keybit.net>
+2006-09-07 10:30  Sandro Santilli <strk at kbt.io>
 
-	* [r1835] Explicit values to LocationValue enum items. Removed CVS
-	  Log
+	* [r1835] source/headers/geos/geom/Location.h: Explicit values to
+	  LocationValue enum items. Removed CVS Log
 
-2006-09-07 09:33  Sandro Santilli <strk at keybit.net>
+2006-09-07 09:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1834] Removed catch-all headers inclusion and use of obsoleted
-	  Unload class
+	* [r1834] doc/example.cpp: Removed catch-all headers inclusion and
+	  use of obsoleted Unload class
 
-2006-09-07 09:24  Sandro Santilli <strk at keybit.net>
+2006-09-07 09:24  Sandro Santilli <strk at kbt.io>
 
-	* [r1833] updated
+	* [r1833] README: updated
 
-2006-09-07 09:23  Sandro Santilli <strk at keybit.net>
+2006-09-07 09:23  Sandro Santilli <strk at kbt.io>
 
-	* [r1832] comment cleanup
+	* [r1832]
+	  source/headers/geos/operation/overlay/OverlayResultValidator.h:
+	  comment cleanup
 
-2006-09-07 09:01  Sandro Santilli <strk at keybit.net>
+2006-09-07 09:01  Sandro Santilli <strk at kbt.io>
 
-	* [r1831] Comments about ownership (and lifetime) of returned
-	  objects
+	* [r1831] source/headers/geos/operation/distance/DistanceOp.h:
+	  Comments about ownership (and lifetime) of returned objects
 
-2006-09-07 08:59  Sandro Santilli <strk at keybit.net>
+2006-09-07 08:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1830] New DistanceOp unit test
+	* [r1830] tests/unit/Makefile.am, tests/unit/operation/distance,
+	  tests/unit/operation/distance/DistanceOpTest.cpp: New DistanceOp
+	  unit test
 
-2006-09-07 08:57  Sandro Santilli <strk at keybit.net>
+2006-09-07 08:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1829] (computeMinDistancePoints): fixed invalid reference.
+	* [r1829] ChangeLog, source/operation/distance/DistanceOp.cpp:
+	  (computeMinDistancePoints): fixed invalid reference.
 
-2006-09-07 08:23  Sandro Santilli <strk at keybit.net>
+2006-09-07 08:23  Sandro Santilli <strk at kbt.io>
 
-	* [r1828] don't giveup on automake failures (testing)
+	* [r1828] ChangeLog, autogen.sh: don't giveup on automake failures
+	  (testing)
 
-2006-09-06 18:44  Sandro Santilli <strk at keybit.net>
+2006-09-06 18:44  Sandro Santilli <strk at kbt.io>
 
-	* [r1827] Ops, overlay result validation erroenously committed
+	* [r1827] source/operation/overlay/OverlayOp.cpp: Ops, overlay
+	  result validation erroenously committed
 
-2006-09-06 18:41  Sandro Santilli <strk at keybit.net>
+2006-09-06 18:41  Sandro Santilli <strk at kbt.io>
 
-	* [r1826] new test for OffsetPointGenerator class
+	* [r1826] ChangeLog, tests/unit/Makefile.am,
+	  tests/unit/operation/overlay/OffsetPointGeneratorTest.cpp: new
+	  test for OffsetPointGenerator class
 
-2006-09-06 18:37  Sandro Santilli <strk at keybit.net>
+2006-09-06 18:37  Sandro Santilli <strk at kbt.io>
 
-	* [r1825] Fixed uninitialized memory bug
+	* [r1825] source/operation/overlay/OffsetPointGenerator.cpp: Fixed
+	  uninitialized memory bug
 
-2006-09-06 17:59  Sandro Santilli <strk at keybit.net>
+2006-09-06 17:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1824] new test for FuzzyPointLocator class
+	* [r1824] ChangeLog, source/operation/overlay/OverlayOp.cpp,
+	  tests/unit/Makefile.am, tests/unit/operation,
+	  tests/unit/operation/overlay,
+	  tests/unit/operation/overlay/FuzzyPointLocatorTest.cpp: new test
+	  for FuzzyPointLocator class
 
-2006-09-06 17:48  Sandro Santilli <strk at keybit.net>
+2006-09-06 17:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1823] updated after GeometrySnapper interface change.
+	* [r1823] tests/unit/precision/GeometrySnapperTest.cpp: updated
+	  after GeometrySnapper interface change.
 
 2006-09-06 17:26  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1822] Set $ expansion for new files in 'overlay' module.
-
-2006-09-06 17:22  Sandro Santilli <strk at keybit.net>
-
-	* [r1821] Rest of Overlay validation classes.
+	* [r1822] ChangeLog,
+	  source/headers/geos/operation/overlay/OffsetPointGenerator.h,
+	  source/headers/geos/operation/overlay/OverlayResultValidator.h,
+	  source/operation/overlay/OffsetPointGenerator.cpp,
+	  source/operation/overlay/OverlayResultValidator.cpp: Set $
+	  expansion for new files in 'overlay' module.
+
+2006-09-06 17:22  Sandro Santilli <strk at kbt.io>
+
+	* [r1821] ChangeLog,
+	  source/headers/geos/operation/overlay/FuzzyPointLocator.h,
+	  source/headers/geos/operation/overlay/Makefile.am,
+	  source/headers/geos/operation/overlay/OffsetPointGenerator.h,
+	  source/headers/geos/operation/overlay/OverlayResultValidator.h,
+	  source/operation/overlay/FuzzyPointLocator.cpp,
+	  source/operation/overlay/Makefile.am,
+	  source/operation/overlay/OffsetPointGenerator.cpp,
+	  source/operation/overlay/OverlayResultValidator.cpp: Rest of
+	  Overlay validation classes.
 
 2006-09-06 16:54  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1820] Set svn:keyword property for Id keyword expansion.
-
-2006-09-06 15:50  Sandro Santilli <strk at keybit.net>
-
-	* [r1819] Fixed comments and includes
-
-2006-09-06 15:33  Sandro Santilli <strk at keybit.net>
-
-	* [r1818] new helper class for Overlay op validation.
-
-2006-09-06 15:21  Sandro Santilli <strk at keybit.net>
-
-	* [r1817] (getBoundary) memory allocations documented
-
-2006-09-05 16:18  Sandro Santilli <strk at keybit.net>
-
-	* [r1816] updated (last commit log was bogus, refer to ChangeLog
-	  entry)
-
-2006-09-05 16:07  Sandro Santilli <strk at keybit.net>
-
-	* [r1815] (OverlayOp::checkObviouslyWrongResult): exceptions
-	  messages rewording
+	* [r1820] ChangeLog, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_c.h.vc, capi/geostest.c, configure.in, debian/watch,
+	  doc/Doxyfile.in, doc/example.cpp, source/Makefile.vc,
+	  source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/CentroidPoint.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/MinimumDiameter.cpp,
+	  source/algorithm/NonRobustLineIntersector.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustDeterminant.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp, source/dirlist.mk,
+	  source/examples/CPCLException.cpp,
+	  source/examples/CoordinateSequencesExample.cpp,
+	  source/examples/CustomCoordinateSequenceExample.cpp,
+	  source/examples/CustomCoordinateSequenceExample.h,
+	  source/examples/CustomPointCoordinateSequence.cpp,
+	  source/geom/Coordinate.cpp,
+	  source/geom/CoordinateArraySequence.cpp,
+	  source/geom/CoordinateArraySequenceFactory.cpp,
+	  source/geom/CoordinateSequence.cpp,
+	  source/geom/CoordinateSequenceFactory.cpp,
+	  source/geom/Dimension.cpp, source/geom/Envelope.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryComponentFilter.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/GeometryList.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/Location.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/geom/PrecisionModel.cpp, source/geom/Triangle.cpp,
+	  source/geom/util/CoordinateOperation.cpp,
+	  source/geom/util/GeometryEditor.cpp,
+	  source/geom/util/GeometryTransformer.cpp,
+	  source/geom/util/LinearComponentExtracter.cpp,
+	  source/geom/util/PointExtracter.cpp,
+	  source/geom/util/PolygonExtracter.cpp,
+	  source/geom/util/ShortCircuitedGeometryVisitor.cpp,
+	  source/geomgraph/Depth.cpp, source/geomgraph/DirectedEdge.cpp,
+	  source/geomgraph/DirectedEdgeStar.cpp, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeEnd.cpp, source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/EdgeIntersection.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/EdgeList.cpp,
+	  source/geomgraph/EdgeNodingValidator.cpp,
+	  source/geomgraph/EdgeRing.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/GraphComponent.cpp, source/geomgraph/Label.cpp,
+	  source/geomgraph/Node.cpp, source/geomgraph/NodeFactory.cpp,
+	  source/geomgraph/NodeMap.cpp, source/geomgraph/PlanarGraph.cpp,
+	  source/geomgraph/Position.cpp, source/geomgraph/Quadrant.cpp,
+	  source/geomgraph/TopologyLocation.cpp,
+	  source/geomgraph/index/MonotoneChainEdge.cpp,
+	  source/geomgraph/index/MonotoneChainIndexer.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  source/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  source/geomgraph/index/SweepLineEvent.cpp,
+	  source/geomgraph/index/SweepLineSegment.cpp,
+	  source/headers/acconfig.h, source/headers/geos.h,
+	  source/headers/geos/algorithm/CGAlgorithms.h,
+	  source/headers/geos/algorithm/CentroidArea.h,
+	  source/headers/geos/algorithm/CentroidLine.h,
+	  source/headers/geos/algorithm/CentroidPoint.h,
+	  source/headers/geos/algorithm/ConvexHull.h,
+	  source/headers/geos/algorithm/ConvexHull.inl,
+	  source/headers/geos/algorithm/HCoordinate.h,
+	  source/headers/geos/algorithm/InteriorPointArea.h,
+	  source/headers/geos/algorithm/InteriorPointLine.h,
+	  source/headers/geos/algorithm/InteriorPointPoint.h,
+	  source/headers/geos/algorithm/LineIntersector.h,
+	  source/headers/geos/algorithm/MCPointInRing.h,
+	  source/headers/geos/algorithm/MinimumDiameter.h,
+	  source/headers/geos/algorithm/NotRepresentableException.h,
+	  source/headers/geos/algorithm/PointInRing.h,
+	  source/headers/geos/algorithm/PointLocator.h,
+	  source/headers/geos/algorithm/RobustDeterminant.h,
+	  source/headers/geos/algorithm/SIRtreePointInRing.h,
+	  source/headers/geos/algorithm/SimplePointInAreaLocator.h,
+	  source/headers/geos/algorithm/SimplePointInRing.h,
+	  source/headers/geos/geom.h, source/headers/geos/geom/BinaryOp.h,
+	  source/headers/geos/geom/Coordinate.h,
+	  source/headers/geos/geom/Coordinate.inl,
+	  source/headers/geos/geom/CoordinateArraySequence.h,
+	  source/headers/geos/geom/CoordinateArraySequenceFactory.h,
+	  source/headers/geos/geom/CoordinateArraySequenceFactory.inl,
+	  source/headers/geos/geom/CoordinateFilter.h,
+	  source/headers/geos/geom/CoordinateList.h,
+	  source/headers/geos/geom/CoordinateSequence.h,
+	  source/headers/geos/geom/CoordinateSequenceFactory.h,
+	  source/headers/geos/geom/Dimension.h,
+	  source/headers/geos/geom/Envelope.h,
+	  source/headers/geos/geom/Envelope.inl,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/Geometry.inl,
+	  source/headers/geos/geom/GeometryCollection.h,
+	  source/headers/geos/geom/GeometryCollection.inl,
+	  source/headers/geos/geom/GeometryComponentFilter.h,
+	  source/headers/geos/geom/GeometryFactory.h,
+	  source/headers/geos/geom/GeometryFactory.inl,
+	  source/headers/geos/geom/GeometryFilter.h,
+	  source/headers/geos/geom/GeometryList.h,
+	  source/headers/geos/geom/IntersectionMatrix.h,
+	  source/headers/geos/geom/LineSegment.h,
+	  source/headers/geos/geom/LineSegment.inl,
+	  source/headers/geos/geom/LineString.h,
+	  source/headers/geos/geom/LinearRing.h,
+	  source/headers/geos/geom/Location.h,
+	  source/headers/geos/geom/MultiLineString.h,
+	  source/headers/geos/geom/MultiLineString.inl,
+	  source/headers/geos/geom/MultiPoint.h,
+	  source/headers/geos/geom/MultiPolygon.h,
+	  source/headers/geos/geom/MultiPolygon.inl,
+	  source/headers/geos/geom/Point.h,
+	  source/headers/geos/geom/Polygon.h,
+	  source/headers/geos/geom/PrecisionModel.h,
+	  source/headers/geos/geom/PrecisionModel.inl,
+	  source/headers/geos/geom/Triangle.h,
+	  source/headers/geos/geom/util/CoordinateOperation.h,
+	  source/headers/geos/geom/util/GeometryEditor.h,
+	  source/headers/geos/geom/util/GeometryEditorOperation.h,
+	  source/headers/geos/geom/util/GeometryTransformer.h,
+	  source/headers/geos/geom/util/LinearComponentExtracter.h,
+	  source/headers/geos/geom/util/PointExtracter.h,
+	  source/headers/geos/geom/util/PolygonExtracter.h,
+	  source/headers/geos/geom/util/ShortCircuitedGeometryVisitor.h,
+	  source/headers/geos/geomUtil.h, source/headers/geos/geomgraph.h,
+	  source/headers/geos/geomgraph/Depth.h,
+	  source/headers/geos/geomgraph/DirectedEdge.h,
+	  source/headers/geos/geomgraph/DirectedEdge.inl,
+	  source/headers/geos/geomgraph/DirectedEdgeStar.h,
+	  source/headers/geos/geomgraph/Edge.h,
+	  source/headers/geos/geomgraph/EdgeEnd.h,
+	  source/headers/geos/geomgraph/EdgeEndStar.h,
+	  source/headers/geos/geomgraph/EdgeIntersection.h,
+	  source/headers/geos/geomgraph/EdgeIntersectionList.h,
+	  source/headers/geos/geomgraph/EdgeList.h,
+	  source/headers/geos/geomgraph/EdgeNodingValidator.h,
+	  source/headers/geos/geomgraph/EdgeRing.h,
+	  source/headers/geos/geomgraph/GeometryGraph.h,
+	  source/headers/geos/geomgraph/GeometryGraph.inl,
+	  source/headers/geos/geomgraph/GraphComponent.h,
+	  source/headers/geos/geomgraph/Label.h,
+	  source/headers/geos/geomgraph/Node.h,
+	  source/headers/geos/geomgraph/NodeFactory.h,
+	  source/headers/geos/geomgraph/NodeMap.h,
+	  source/headers/geos/geomgraph/PlanarGraph.h,
+	  source/headers/geos/geomgraph/Position.h,
+	  source/headers/geos/geomgraph/Quadrant.h,
+	  source/headers/geos/geomgraph/TopologyLocation.h,
+	  source/headers/geos/geomgraph/index/EdgeSetIntersector.h,
+	  source/headers/geos/geomgraph/index/MonotoneChain.h,
+	  source/headers/geos/geomgraph/index/MonotoneChainEdge.h,
+	  source/headers/geos/geomgraph/index/MonotoneChainIndexer.h,
+	  source/headers/geos/geomgraph/index/SegmentIntersector.h,
+	  source/headers/geos/geomgraph/index/SimpleEdgeSetIntersector.h,
+	  source/headers/geos/geomgraph/index/SimpleMCSweepLineIntersector.h,
+	  source/headers/geos/geomgraph/index/SimpleSweepLineIntersector.h,
+	  source/headers/geos/geomgraph/index/SweepLineEvent.h,
+	  source/headers/geos/geomgraph/index/SweepLineEventObj.h,
+	  source/headers/geos/geomgraph/index/SweepLineSegment.h,
+	  source/headers/geos/geomgraphindex.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/index/ItemVisitor.h,
+	  source/headers/geos/index/SpatialIndex.h,
+	  source/headers/geos/index/bintree/Bintree.h,
+	  source/headers/geos/index/bintree/Interval.h,
+	  source/headers/geos/index/bintree/Key.h,
+	  source/headers/geos/index/bintree/Node.h,
+	  source/headers/geos/index/bintree/NodeBase.h,
+	  source/headers/geos/index/bintree/Root.h,
+	  source/headers/geos/index/chain/MonotoneChain.h,
+	  source/headers/geos/index/chain/MonotoneChainBuilder.h,
+	  source/headers/geos/index/chain/MonotoneChainOverlapAction.h,
+	  source/headers/geos/index/chain/MonotoneChainSelectAction.h,
+	  source/headers/geos/index/quadtree/DoubleBits.h,
+	  source/headers/geos/index/quadtree/IntervalSize.h,
+	  source/headers/geos/index/quadtree/Key.h,
+	  source/headers/geos/index/quadtree/Node.h,
+	  source/headers/geos/index/quadtree/NodeBase.h,
+	  source/headers/geos/index/quadtree/Quadtree.h,
+	  source/headers/geos/index/quadtree/Root.h,
+	  source/headers/geos/index/strtree/AbstractNode.h,
+	  source/headers/geos/index/strtree/AbstractSTRtree.h,
+	  source/headers/geos/index/strtree/Boundable.h,
+	  source/headers/geos/index/strtree/Interval.h,
+	  source/headers/geos/index/strtree/ItemBoundable.h,
+	  source/headers/geos/index/strtree/SIRtree.h,
+	  source/headers/geos/index/strtree/STRtree.h,
+	  source/headers/geos/index/sweepline/SweepLineEvent.h,
+	  source/headers/geos/index/sweepline/SweepLineIndex.h,
+	  source/headers/geos/index/sweepline/SweepLineInterval.h,
+	  source/headers/geos/index/sweepline/SweepLineOverlapAction.h,
+	  source/headers/geos/indexBintree.h,
+	  source/headers/geos/indexChain.h,
+	  source/headers/geos/indexQuadtree.h,
+	  source/headers/geos/indexStrtree.h,
+	  source/headers/geos/indexSweepline.h,
+	  source/headers/geos/inline.h, source/headers/geos/io.h,
+	  source/headers/geos/io/ByteOrderDataInStream.h,
+	  source/headers/geos/io/ByteOrderDataInStream.inl,
+	  source/headers/geos/io/ByteOrderValues.h,
+	  source/headers/geos/io/ParseException.h,
+	  source/headers/geos/io/StringTokenizer.h,
+	  source/headers/geos/io/WKBConstants.h,
+	  source/headers/geos/io/WKBReader.h,
+	  source/headers/geos/io/WKBWriter.h,
+	  source/headers/geos/io/WKTReader.h,
+	  source/headers/geos/io/WKTReader.inl,
+	  source/headers/geos/io/WKTWriter.h,
+	  source/headers/geos/io/Writer.h, source/headers/geos/noding.h,
+	  source/headers/geos/noding/IntersectionAdder.h,
+	  source/headers/geos/noding/IntersectionFinderAdder.h,
+	  source/headers/geos/noding/IteratedNoder.h,
+	  source/headers/geos/noding/MCIndexNoder.h,
+	  source/headers/geos/noding/MCIndexNoder.inl,
+	  source/headers/geos/noding/Noder.h,
+	  source/headers/geos/noding/NodingValidator.h,
+	  source/headers/geos/noding/Octant.h,
+	  source/headers/geos/noding/ScaledNoder.h,
+	  source/headers/geos/noding/SegmentIntersector.h,
+	  source/headers/geos/noding/SegmentNode.h,
+	  source/headers/geos/noding/SegmentNodeList.h,
+	  source/headers/geos/noding/SegmentString.h,
+	  source/headers/geos/noding/SegmentString.inl,
+	  source/headers/geos/noding/SimpleNoder.h,
+	  source/headers/geos/noding/SinglePassNoder.h,
+	  source/headers/geos/noding/snapround/HotPixel.h,
+	  source/headers/geos/noding/snapround/HotPixel.inl,
+	  source/headers/geos/noding/snapround/MCIndexPointSnapper.h,
+	  source/headers/geos/noding/snapround/MCIndexSnapRounder.h,
+	  source/headers/geos/noding/snapround/MCIndexSnapRounder.inl,
+	  source/headers/geos/noding/snapround/SimpleSnapRounder.h,
+	  source/headers/geos/nodingSnapround.h,
+	  source/headers/geos/opBuffer.h, source/headers/geos/opDistance.h,
+	  source/headers/geos/opLinemerge.h,
+	  source/headers/geos/opOverlay.h,
+	  source/headers/geos/opPolygonize.h,
+	  source/headers/geos/opPredicate.h,
+	  source/headers/geos/opRelate.h, source/headers/geos/opValid.h,
+	  source/headers/geos/operation.h,
+	  source/headers/geos/operation/EndpointInfo.h,
+	  source/headers/geos/operation/GeometryGraphOperation.h,
+	  source/headers/geos/operation/IsSimpleOp.h,
+	  source/headers/geos/operation/buffer/BufferBuilder.h,
+	  source/headers/geos/operation/buffer/BufferOp.h,
+	  source/headers/geos/operation/buffer/BufferSubgraph.h,
+	  source/headers/geos/operation/buffer/OffsetCurveBuilder.h,
+	  source/headers/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  source/headers/geos/operation/buffer/RightmostEdgeFinder.h,
+	  source/headers/geos/operation/buffer/SubgraphDepthLocater.h,
+	  source/headers/geos/operation/distance/ConnectedElementLocationFilter.h,
+	  source/headers/geos/operation/distance/ConnectedElementPointFilter.h,
+	  source/headers/geos/operation/distance/DistanceOp.h,
+	  source/headers/geos/operation/distance/GeometryLocation.h,
+	  source/headers/geos/operation/linemerge/EdgeString.h,
+	  source/headers/geos/operation/linemerge/LineMergeDirectedEdge.h,
+	  source/headers/geos/operation/linemerge/LineMergeEdge.h,
+	  source/headers/geos/operation/linemerge/LineMergeGraph.h,
+	  source/headers/geos/operation/linemerge/LineMerger.h,
+	  source/headers/geos/operation/linemerge/LineSequencer.h,
+	  source/headers/geos/operation/overlay/EdgeSetNoder.h,
+	  source/headers/geos/operation/overlay/ElevationMatrix.h,
+	  source/headers/geos/operation/overlay/ElevationMatrixCell.h,
+	  source/headers/geos/operation/overlay/FuzzyPointLocator.h,
+	  source/headers/geos/operation/overlay/LineBuilder.h,
+	  source/headers/geos/operation/overlay/MaximalEdgeRing.h,
+	  source/headers/geos/operation/overlay/MinimalEdgeRing.h,
+	  source/headers/geos/operation/overlay/MinimalEdgeRing.inl,
+	  source/headers/geos/operation/overlay/OverlayNodeFactory.h,
+	  source/headers/geos/operation/overlay/OverlayOp.h,
+	  source/headers/geos/operation/overlay/PointBuilder.h,
+	  source/headers/geos/operation/overlay/PolygonBuilder.h,
+	  source/headers/geos/operation/polygonize/EdgeRing.h,
+	  source/headers/geos/operation/polygonize/PolygonizeDirectedEdge.h,
+	  source/headers/geos/operation/polygonize/PolygonizeEdge.h,
+	  source/headers/geos/operation/polygonize/PolygonizeGraph.h,
+	  source/headers/geos/operation/polygonize/Polygonizer.h,
+	  source/headers/geos/operation/predicate/RectangleContains.h,
+	  source/headers/geos/operation/predicate/RectangleIntersects.h,
+	  source/headers/geos/operation/predicate/SegmentIntersectionTester.h,
+	  source/headers/geos/operation/relate/EdgeEndBuilder.h,
+	  source/headers/geos/operation/relate/EdgeEndBundle.h,
+	  source/headers/geos/operation/relate/EdgeEndBundleStar.h,
+	  source/headers/geos/operation/relate/RelateComputer.h,
+	  source/headers/geos/operation/relate/RelateNode.h,
+	  source/headers/geos/operation/relate/RelateNodeFactory.h,
+	  source/headers/geos/operation/relate/RelateNodeGraph.h,
+	  source/headers/geos/operation/relate/RelateOp.h,
+	  source/headers/geos/operation/valid/ConnectedInteriorTester.h,
+	  source/headers/geos/operation/valid/ConsistentAreaTester.h,
+	  source/headers/geos/operation/valid/IsValidOp.h,
+	  source/headers/geos/operation/valid/QuadtreeNestedRingTester.h,
+	  source/headers/geos/operation/valid/RepeatedPointTester.h,
+	  source/headers/geos/operation/valid/SimpleNestedRingTester.h,
+	  source/headers/geos/operation/valid/SweeplineNestedRingTester.h,
+	  source/headers/geos/operation/valid/TopologyValidationError.h,
+	  source/headers/geos/planargraph.h,
+	  source/headers/geos/planargraph/DirectedEdge.h,
+	  source/headers/geos/planargraph/DirectedEdgeStar.h,
+	  source/headers/geos/planargraph/Edge.h,
+	  source/headers/geos/planargraph/GraphComponent.h,
+	  source/headers/geos/planargraph/Node.h,
+	  source/headers/geos/planargraph/NodeMap.h,
+	  source/headers/geos/planargraph/PlanarGraph.h,
+	  source/headers/geos/planargraph/Subgraph.h,
+	  source/headers/geos/planargraph/algorithm/ConnectedSubgraphFinder.h,
+	  source/headers/geos/platform.h.in,
+	  source/headers/geos/platform.h.vc,
+	  source/headers/geos/precision.h,
+	  source/headers/geos/precision/CommonBits.h,
+	  source/headers/geos/precision/CommonBitsOp.h,
+	  source/headers/geos/precision/CommonBitsRemover.h,
+	  source/headers/geos/precision/EnhancedPrecisionOp.h,
+	  source/headers/geos/precision/GeometrySnapper.h,
+	  source/headers/geos/precision/LineStringSnapper.h,
+	  source/headers/geos/precision/SimpleGeometryPrecisionReducer.h,
+	  source/headers/geos/profiler.h,
+	  source/headers/geos/simplify/DouglasPeuckerLineSimplifier.h,
+	  source/headers/geos/simplify/DouglasPeuckerSimplifier.h,
+	  source/headers/geos/simplify/LineSegmentIndex.h,
+	  source/headers/geos/simplify/TaggedLineSegment.h,
+	  source/headers/geos/simplify/TaggedLineString.h,
+	  source/headers/geos/simplify/TaggedLineStringSimplifier.h,
+	  source/headers/geos/simplify/TaggedLinesSimplifier.h,
+	  source/headers/geos/simplify/TopologyPreservingSimplifier.h,
+	  source/headers/geos/spatialIndex.h,
+	  source/headers/geos/timeval.h, source/headers/geos/unload.h,
+	  source/headers/geos/util.h, source/headers/geos/util/Assert.h,
+	  source/headers/geos/util/AssertionFailedException.h,
+	  source/headers/geos/util/CoordinateArrayFilter.h,
+	  source/headers/geos/util/GEOSException.h,
+	  source/headers/geos/util/GeometricShapeFactory.h,
+	  source/headers/geos/util/IllegalArgumentException.h,
+	  source/headers/geos/util/TopologyException.h,
+	  source/headers/geos/util/UniqueCoordinateArrayFilter.h,
+	  source/headers/geos/util/UnsupportedOperationException.h,
+	  source/headers/geos/util/math.h,
+	  source/headers/geos/version.h.in,
+	  source/headers/geos/version.h.vc,
+	  source/index/bintree/Bintree.cpp,
+	  source/index/bintree/Interval.cpp, source/index/bintree/Key.cpp,
+	  source/index/bintree/Node.cpp, source/index/bintree/NodeBase.cpp,
+	  source/index/bintree/Root.cpp,
+	  source/index/chain/MonotoneChain.cpp,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/MonotoneChainOverlapAction.cpp,
+	  source/index/chain/MonotoneChainSelectAction.cpp,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/index/quadtree/IntervalSize.cpp,
+	  source/index/quadtree/Key.cpp, source/index/quadtree/Node.cpp,
+	  source/index/quadtree/NodeBase.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/quadtree/Root.cpp,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/Interval.cpp,
+	  source/index/strtree/ItemBoundable.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/index/sweepline/SweepLineEvent.cpp,
+	  source/index/sweepline/SweepLineIndex.cpp,
+	  source/index/sweepline/SweepLineInterval.cpp, source/inlines.cpp,
+	  source/io/ByteOrderDataInStream.cpp,
+	  source/io/ByteOrderValues.cpp, source/io/ParseException.cpp,
+	  source/io/StringTokenizer.cpp, source/io/Unload.cpp,
+	  source/io/WKBReader.cpp, source/io/WKBWriter.cpp,
+	  source/io/WKTReader.cpp, source/io/WKTWriter.cpp,
+	  source/io/Writer.cpp, source/noding/IntersectionAdder.cpp,
+	  source/noding/IntersectionFinderAdder.cpp,
+	  source/noding/IteratedNoder.cpp, source/noding/MCIndexNoder.cpp,
+	  source/noding/NodingValidator.cpp, source/noding/Octant.cpp,
+	  source/noding/ScaledNoder.cpp, source/noding/SegmentNode.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp, source/noding/SimpleNoder.cpp,
+	  source/noding/snapround/HotPixel.cpp,
+	  source/noding/snapround/MCIndexPointSnapper.cpp,
+	  source/noding/snapround/MCIndexSnapRounder.cpp,
+	  source/noding/snapround/SimpleSnapRounder.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp,
+	  source/operation/distance/ConnectedElementLocationFilter.cpp,
+	  source/operation/distance/ConnectedElementPointFilter.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/distance/GeometryLocation.cpp,
+	  source/operation/linemerge/EdgeString.cpp,
+	  source/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  source/operation/linemerge/LineMergeEdge.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/operation/linemerge/LineSequencer.cpp,
+	  source/operation/overlay/EdgeSetNoder.cpp,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/ElevationMatrixCell.cpp,
+	  source/operation/overlay/FuzzyPointLocator.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/overlay/OverlayNodeFactory.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/polygonize/EdgeRing.cpp,
+	  source/operation/polygonize/PolygonizeDirectedEdge.cpp,
+	  source/operation/polygonize/PolygonizeEdge.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/Polygonizer.cpp,
+	  source/operation/predicate/RectangleContains.cpp,
+	  source/operation/predicate/RectangleIntersects.cpp,
+	  source/operation/predicate/SegmentIntersectionTester.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNode.cpp,
+	  source/operation/relate/RelateNodeFactory.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/operation/valid/TopologyValidationError.cpp,
+	  source/planargraph/DirectedEdge.cpp,
+	  source/planargraph/DirectedEdgeStar.cpp,
+	  source/planargraph/Edge.cpp, source/planargraph/Node.cpp,
+	  source/planargraph/NodeMap.cpp,
+	  source/planargraph/PlanarGraph.cpp,
+	  source/planargraph/Subgraph.cpp,
+	  source/planargraph/algorithm/ConnectedSubgraphFinder.cpp,
+	  source/precision/CommonBits.cpp,
+	  source/precision/CommonBitsOp.cpp,
+	  source/precision/CommonBitsRemover.cpp,
+	  source/precision/EnhancedPrecisionOp.cpp,
+	  source/precision/GeometrySnapper.cpp,
+	  source/precision/LineStringSnapper.cpp,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp,
+	  source/simplify/DouglasPeuckerLineSimplifier.cpp,
+	  source/simplify/DouglasPeuckerSimplifier.cpp,
+	  source/simplify/LineSegmentIndex.cpp,
+	  source/simplify/TaggedLineSegment.cpp,
+	  source/simplify/TaggedLineString.cpp,
+	  source/simplify/TaggedLineStringSimplifier.cpp,
+	  source/simplify/TaggedLinesSimplifier.cpp,
+	  source/simplify/TopologyPreservingSimplifier.cpp,
+	  source/util/Assert.cpp, source/util/AssertionFailedException.cpp,
+	  source/util/GeometricShapeFactory.cpp,
+	  source/util/IllegalArgumentException.cpp,
+	  source/util/Profiler.cpp,
+	  source/util/UnsupportedOperationException.cpp,
+	  source/util/math.cpp, swig/geos.i, swig/python/geos.py,
+	  swig/python/python.i, swig/python/tests/example.py,
+	  swig/python/tests/runtests.py,
+	  swig/python/tests/test_geometry.py, swig/ruby/ruby.i,
+	  tests/bigtest/GeometryTestFactory.cpp,
+	  tests/bigtest/TestSweepLineSpeed.cpp, tests/bigtest/bigtest.h,
+	  tests/tut/tut.h, tests/tut/tut_reporter.h,
+	  tests/tut/tut_restartable.h,
+	  tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp,
+	  tests/unit/algorithm/PointLocatorTest.cpp,
+	  tests/unit/geom/CoordinateArraySequenceFactoryTest.cpp,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp,
+	  tests/unit/geom/CoordinateListTest.cpp,
+	  tests/unit/geom/CoordinateTest.cpp,
+	  tests/unit/geom/DimensionTest.cpp,
+	  tests/unit/geom/EnvelopeTest.cpp,
+	  tests/unit/geom/Geometry/coversTest.cpp,
+	  tests/unit/geom/Geometry/isRectangleTest.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/geom/IntersectionMatrixTest.cpp,
+	  tests/unit/geom/LineSegmentTest.cpp,
+	  tests/unit/geom/LineStringTest.cpp,
+	  tests/unit/geom/LinearRingTest.cpp,
+	  tests/unit/geom/LocationTest.cpp,
+	  tests/unit/geom/MultiLineStringTest.cpp,
+	  tests/unit/geom/MultiPointTest.cpp,
+	  tests/unit/geom/MultiPolygonTest.cpp,
+	  tests/unit/geom/PointTest.cpp, tests/unit/geom/PolygonTest.cpp,
+	  tests/unit/geom/TriangleTest.cpp, tests/unit/geos_unit.cpp,
+	  tests/unit/index/quadtree/DoubleBitsTest.cpp,
+	  tests/unit/io/ByteOrderValuesTest.cpp,
+	  tests/unit/io/WKBReaderTest.cpp,
+	  tests/unit/noding/SegmentNodeTest.cpp,
+	  tests/unit/noding/SegmentPointComparatorTest.cpp,
+	  tests/unit/noding/SegmentStringTest.cpp,
+	  tests/unit/precision/GeometrySnapperTest.cpp,
+	  tests/unit/precision/LineStringSnapperTest.cpp,
+	  tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp,
+	  tests/unit/simplify/TopologyPreservingSimplifierTest.cpp,
+	  tests/unit/util/UniqueCoordinateArrayFilterTest.cpp,
+	  tests/unit/utility.h, tests/xmltester/CTS.cpp,
+	  tests/xmltester/SimpleWKTTester.cpp,
+	  tests/xmltester/Stackwalker.cpp, tests/xmltester/Stackwalker.h,
+	  tests/xmltester/XMLTester.cpp, tests/xmltester/XMLTester.h,
+	  tests/xmltester/markup/MarkupSTL.cpp,
+	  tests/xmltester/markup/MarkupSTL.h, tools/geos-config.in: Set
+	  svn:keyword property for Id keyword expansion.
+
+2006-09-06 15:50  Sandro Santilli <strk at kbt.io>
+
+	* [r1819]
+	  source/headers/geos/operation/overlay/FuzzyPointLocator.h,
+	  source/operation/overlay/FuzzyPointLocator.cpp: Fixed comments
+	  and includes
+
+2006-09-06 15:33  Sandro Santilli <strk at kbt.io>
+
+	* [r1818] ChangeLog,
+	  source/headers/geos/operation/overlay/FuzzyPointLocator.h,
+	  source/operation/overlay/FuzzyPointLocator.cpp: new helper class
+	  for Overlay op validation.
+
+2006-09-06 15:21  Sandro Santilli <strk at kbt.io>
+
+	* [r1817] source/headers/geos/geom/Geometry.h: (getBoundary) memory
+	  allocations documented
+
+2006-09-05 16:18  Sandro Santilli <strk at kbt.io>
+
+	* [r1816] ChangeLog: updated (last commit log was bogus, refer to
+	  ChangeLog entry)
+
+2006-09-05 16:07  Sandro Santilli <strk at kbt.io>
+
+	* [r1815] source/headers/geos/geom/BinaryOp.h,
+	  source/headers/geos/precision/GeometrySnapper.h,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/precision/GeometrySnapper.cpp:
+	  (OverlayOp::checkObviouslyWrongResult): exceptions messages
+	  rewording
 
-2006-08-31 23:13  Sandro Santilli <strk at keybit.net>
+2006-08-31 23:13  Sandro Santilli <strk at kbt.io>
 
-	* [r1814] (insertContained): fixed bug reported in
+	* [r1814] ChangeLog, source/index/quadtree/Root.cpp:
+	  (insertContained): fixed bug reported in
 	  geos-devel/2006-August/002541.html
 
-2006-08-31 23:07  Sandro Santilli <strk at keybit.net>
+2006-08-31 23:07  Sandro Santilli <strk at kbt.io>
 
-	* [r1813] Reverted last two commits. Darwin host on buildbot seems
-	  to have its own problems...
+	* [r1813] ChangeLog, configure.in: Reverted last two commits.
+	  Darwin host on buildbot seems to have its own problems...
 
-2006-08-31 22:28  Sandro Santilli <strk at keybit.net>
+2006-08-31 22:28  Sandro Santilli <strk at kbt.io>
 
-	* [r1812] Ops, it was AM_CONFIG_HEADER the old version - still
-	  testing
+	* [r1812] configure.in: Ops, it was AM_CONFIG_HEADER the old
+	  version - still testing
 
-2006-08-31 22:21  Sandro Santilli <strk at keybit.net>
+2006-08-31 22:21  Sandro Santilli <strk at kbt.io>
 
-	* [r1811] AC_CONFIG_HEADERS => AM_CONFIG_HEADER (to support older
-	  automake versions)
+	* [r1811] ChangeLog, configure.in: AC_CONFIG_HEADERS =>
+	  AM_CONFIG_HEADER (to support older automake versions)
 
 2006-08-04 20:30  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1810] version should be 3.0.0 instead of 3.3.0
+	* [r1810] capi/geos_c.h.vc: version should be 3.0.0 instead of
+	  3.3.0
 
 2006-08-04 20:29  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1809] bump patch to rc1
+	* [r1809] source/headers/geos/version.h.vc: bump patch to rc1
 
 2006-08-04 20:23  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1808] give makefile.vc some love
+	* [r1808] source/Makefile.vc: give makefile.vc some love
 
 2006-08-04 16:40  Charlie Savage <cfis at savagexi.com>
 
-	* [r1807] Updated SWIG bindings to expose the equalsExact and
-	  normalize methods.
+	* [r1807] swig/geos.i, swig/python/geos.py,
+	  swig/python/geos_wrap.cxx, swig/ruby/geos_wrap.cxx: Updated SWIG
+	  bindings to expose the equalsExact and normalize methods.
 
 2006-08-03 23:43  Charlie Savage <cfis at savagexi.com>
 
-	* [r1806] Two changes needed to include the correct definitions for
-	  compiling geos using MingW/msys on Windows.
+	* [r1806] source/headers/geos/platform.h.in,
+	  source/headers/geos/timeval.h: Two changes needed to include the
+	  correct definitions for compiling geos using MingW/msys on
+	  Windows.
 
-2006-08-03 22:46  Sandro Santilli <strk at keybit.net>
+2006-08-03 22:46  Sandro Santilli <strk at kbt.io>
 
-	* [r1805] try to keep text within 80 cols
+	* [r1805] ChangeLog: try to keep text within 80 cols
 
 2006-08-03 22:24  Charlie Savage <cfis at savagexi.com>
 
-	* [r1804] Changed configure.in to use *nix line feeds.
+	* [r1804] configure.in: Changed configure.in to use *nix line
+	  feeds.
 
 2006-08-03 22:17  Charlie Savage <cfis at savagexi.com>
 
-	* [r1803] Mistakenly used Geometry* in C api headers instead of
-	  GEOSGeom.
+	* [r1803] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_c.h.vc:
+	  Mistakenly used Geometry* in C api headers instead of GEOSGeom.
 
 2006-08-03 22:13  Charlie Savage <cfis at savagexi.com>
 
-	* [r1802] Removed native line endings for configure.in since CR/LF
-	  does not work on Windows under msys.
+	* [r1802] configure.in: Removed native line endings for
+	  configure.in since CR/LF does not work on Windows under msys.
 
 2006-08-03 22:02  Charlie Savage <cfis at savagexi.com>
 
-	* [r1801] Added equalsExact and normalize to the c api as discussed
-	  on the mailing list
+	* [r1801] ChangeLog, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geos_c.h.vc: Added equalsExact and normalize to the c api as
+	  discussed on the mailing list
 	  (http://geos.refractions.net/pipermail/geos-devel/2006-July/002452.html).
 
 2006-08-03 21:34  Charlie Savage <cfis at savagexi.com>
 
-	* [r1800] Updated build scripts so that ruby/geos_wrap.cxx,
-	  python/geos_wrap.cxx and python/geos.py are removed by make
-	  maintainer-clean but not make clean.
+	* [r1800] ChangeLog, swig/python/Makefile.am,
+	  swig/ruby/Makefile.am: Updated build scripts so that
+	  ruby/geos_wrap.cxx, python/geos_wrap.cxx and python/geos.py are
+	  removed by make maintainer-clean but not make clean.
 
 2006-08-03 16:28  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1799] Fixed Bug #90
+	* [r1799] ChangeLog, tests/unit/geos_unit.cpp: Fixed Bug #90
 
 2006-08-03 16:18  Charlie Savage <cfis at savagexi.com>
 
-	* [r1798] Added SWIG generated wrapper files for Ruby and Python
+	* [r1798] swig/python/geos.py, swig/python/geos_wrap.cxx,
+	  swig/ruby/geos_wrap.cxx: Added SWIG generated wrapper files for
+	  Ruby and Python
 
 2006-07-27 06:18  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1797] Added svn:ignore property to ignore 'geos-3.0.0rc1' dir
-	  (testing commit access to SVN).
-
-2006-07-26 19:06  Sandro Santilli <strk at keybit.net>
-
-	* [r1795] Removed .cvsignore files from repository
-
-2006-07-26 17:51  Sandro Santilli <strk at keybit.net>
-
-	* [r1794] * capi/Makefile.am: forced link of geostest against
-	  stdc++ lib
+	* [r1797] .: Added svn:ignore property to ignore 'geos-3.0.0rc1'
+	  dir (testing commit access to SVN).
+
+2006-07-26 19:06  Sandro Santilli <strk at kbt.io>
+
+	* [r1795] .cvsignore, capi/.cvsignore, doc/.cvsignore,
+	  macros/.cvsignore, source/.cvsignore,
+	  source/algorithm/.cvsignore, source/examples/.cvsignore,
+	  source/geom/.cvsignore, source/geom/util/.cvsignore,
+	  source/geomgraph/.cvsignore, source/geomgraph/index/.cvsignore,
+	  source/headers/.cvsignore, source/headers/geos/.cvsignore,
+	  source/headers/geos/algorithm/.cvsignore,
+	  source/headers/geos/geom/.cvsignore,
+	  source/headers/geos/geom/util/.cvsignore,
+	  source/headers/geos/geomgraph/.cvsignore,
+	  source/headers/geos/geomgraph/index/.cvsignore,
+	  source/headers/geos/index/.cvsignore,
+	  source/headers/geos/index/bintree/.cvsignore,
+	  source/headers/geos/index/chain/.cvsignore,
+	  source/headers/geos/index/quadtree/.cvsignore,
+	  source/headers/geos/index/strtree/.cvsignore,
+	  source/headers/geos/index/sweepline/.cvsignore,
+	  source/headers/geos/io/.cvsignore,
+	  source/headers/geos/noding/.cvsignore,
+	  source/headers/geos/noding/snapround/.cvsignore,
+	  source/headers/geos/operation/.cvsignore,
+	  source/headers/geos/operation/buffer/.cvsignore,
+	  source/headers/geos/operation/distance/.cvsignore,
+	  source/headers/geos/operation/linemerge/.cvsignore,
+	  source/headers/geos/operation/overlay/.cvsignore,
+	  source/headers/geos/operation/polygonize/.cvsignore,
+	  source/headers/geos/operation/predicate/.cvsignore,
+	  source/headers/geos/operation/relate/.cvsignore,
+	  source/headers/geos/operation/valid/.cvsignore,
+	  source/headers/geos/planargraph/.cvsignore,
+	  source/headers/geos/planargraph/algorithm/.cvsignore,
+	  source/headers/geos/precision/.cvsignore,
+	  source/headers/geos/simplify/.cvsignore,
+	  source/headers/geos/util/.cvsignore, source/index/.cvsignore,
+	  source/index/bintree/.cvsignore, source/index/chain/.cvsignore,
+	  source/index/quadtree/.cvsignore,
+	  source/index/strtree/.cvsignore,
+	  source/index/sweepline/.cvsignore, source/io/.cvsignore,
+	  source/noding/.cvsignore, source/noding/snapround/.cvsignore,
+	  source/operation/.cvsignore, source/operation/buffer/.cvsignore,
+	  source/operation/distance/.cvsignore,
+	  source/operation/linemerge/.cvsignore,
+	  source/operation/overlay/.cvsignore,
+	  source/operation/polygonize/.cvsignore,
+	  source/operation/predicate/.cvsignore,
+	  source/operation/relate/.cvsignore,
+	  source/operation/valid/.cvsignore, source/planargraph/.cvsignore,
+	  source/precision/.cvsignore, source/simplify/.cvsignore,
+	  source/util/.cvsignore, swig/.cvsignore, swig/python/.cvsignore,
+	  swig/python/tests/.cvsignore, swig/ruby/.cvsignore,
+	  swig/ruby/test/.cvsignore, tests/.cvsignore,
+	  tests/bigtest/.cvsignore, tests/tut/.cvsignore,
+	  tests/unit/.cvsignore, tests/xmltester/.cvsignore,
+	  tools/.cvsignore: Removed .cvsignore files from repository
+
+2006-07-26 17:51  Sandro Santilli <strk at kbt.io>
+
+	* [r1794] ChangeLog, capi/Makefile.am,
+	  tests/xmltester/XMLTester.cpp: * capi/Makefile.am: forced link of
+	  geostest against stdc++ lib
 	  * tests/xmltester/XMLTester.cpp: added <cmath> include (for fabs
 	  use)
 
-2006-07-26 15:28  Sandro Santilli <strk at keybit.net>
+2006-07-26 15:28  Sandro Santilli <strk at kbt.io>
 
-	* [r1776] Added geometry snapping heuristic
+	* [r1776] ChangeLog, source/headers/geos/geom/BinaryOp.h: Added
+	  geometry snapping heuristic
 
-2006-07-25 20:45  Sandro Santilli <strk at keybit.net>
+2006-07-25 20:45  Sandro Santilli <strk at kbt.io>
 
-	* [r1775] Made autogen.sh errors more visible
+	* [r1775] ChangeLog, autogen.sh: Made autogen.sh errors more
+	  visible
 
 2006-07-21 19:37  Charlie Savage <cfis at savagexi.com>
 
-	* [r1773] Added note about inclusion of version.in.vc. See
+	* [r1773] NEWS: Added note about inclusion of version.in.vc. See
 	  http://geos.refractions.net/pipermail/geos-devel/2006-July/002463.html
 	  for more info.
 
-2006-07-21 17:59  Sandro Santilli <strk at keybit.net>
+2006-07-21 17:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1772] Added test for GeometrySnapper
+	* [r1772] ChangeLog, tests/unit/Makefile.am,
+	  tests/unit/precision/GeometrySnapperTest.cpp: Added test for
+	  GeometrySnapper
 
-2006-07-21 17:59  Sandro Santilli <strk at keybit.net>
+2006-07-21 17:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1771] Fixed preprocessor directive use
+	* [r1771] source/precision/LineStringSnapper.cpp: Fixed
+	  preprocessor directive use
 
-2006-07-21 17:09  Sandro Santilli <strk at keybit.net>
+2006-07-21 17:09  Sandro Santilli <strk at kbt.io>
 
-	* [r1770] Added new precision::LineStringSnapper class + test
+	* [r1770] ChangeLog,
+	  source/headers/geos/precision/GeometrySnapper.h,
+	  source/headers/geos/precision/LineStringSnapper.h,
+	  source/headers/geos/precision/Makefile.am,
+	  source/precision/GeometrySnapper.cpp,
+	  source/precision/LineStringSnapper.cpp,
+	  source/precision/Makefile.am, tests/unit/Makefile.am,
+	  tests/unit/precision,
+	  tests/unit/precision/LineStringSnapperTest.cpp: Added new
+	  precision::LineStringSnapper class + test
 	  and precision::GeometrySnapper (w/out test)
 
-2006-07-21 17:05  Sandro Santilli <strk at keybit.net>
+2006-07-21 17:05  Sandro Santilli <strk at kbt.io>
 
-	* [r1769] added operator<< for CoordinateList class
+	* [r1769] ChangeLog, source/headers/geos/geom/CoordinateList.h:
+	  added operator<< for CoordinateList class
 
-2006-07-21 17:00  Sandro Santilli <strk at keybit.net>
+2006-07-21 17:00  Sandro Santilli <strk at kbt.io>
 
-	* [r1768] Added another distance() test
+	* [r1768] ChangeLog, tests/unit/geom/LineSegmentTest.cpp: Added
+	  another distance() test
 
 2006-07-21 16:45  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1767] Wrapped FIXME message with #warning directive to shout
-	  about potential headers removal in future.
+	* [r1767] ChangeLog, source/headers/geos/geom.h,
+	  source/headers/geos/io.h: Wrapped FIXME message with #warning
+	  directive to shout about potential headers removal in future.
 
-2006-07-21 14:53  Sandro Santilli <strk at keybit.net>
+2006-07-21 14:53  Sandro Santilli <strk at kbt.io>
 
-	* [r1766] CoordinateList class re-introduced, for list-based ops
+	* [r1766] ChangeLog, source/headers/geos/geom/CoordinateList.h,
+	  source/headers/geos/geom/Makefile.am, tests/unit/Makefile.am,
+	  tests/unit/geom/CoordinateListTest.cpp: CoordinateList class
+	  re-introduced, for list-based ops
 	  (not strictly mapped to JTS version, not yet at least)
 
-2006-07-21 14:49  Sandro Santilli <strk at keybit.net>
+2006-07-21 14:49  Sandro Santilli <strk at kbt.io>
 
-	* [r1765] Fixed typo in comment
+	* [r1765] source/headers/geos/geom/LineSegment.h: Fixed typo in
+	  comment
 
-2006-07-21 08:33  Sandro Santilli <strk at keybit.net>
+2006-07-21 08:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1764] Removed blank space after backslash (automake complained)
+	* [r1764] swig/ruby/test/Makefile.am: Removed blank space after
+	  backslash (automake complained)
 
 2006-07-19 02:43  Charlie Savage <cfis at savagexi.com>
 
-	* [r1763] Added veresion.h.vc as EXTRA_DIST to ensure it is
-	  packaged when doing make dist.
+	* [r1763] source/headers/geos/Makefile.am: Added veresion.h.vc as
+	  EXTRA_DIST to ensure it is packaged when doing make dist.
 
 2006-07-15 19:36  Charlie Savage <cfis at savagexi.com>
 
-	* [r1762] Removed python test/cases directory (tests are now just
-	  in tests directory).
+	* [r1762] configure.in: Removed python test/cases directory (tests
+	  are now just in tests directory).
 
 2006-07-13 08:02  Charlie Savage <cfis at savagexi.com>
 
-	* [r1761] Updated ChangeLog to note additional SWIG tests and
-	  integration with the GEOS build system.
+	* [r1761] ChangeLog: Updated ChangeLog to note additional SWIG
+	  tests and integration with the GEOS build system.
 
 2006-07-13 07:49  Charlie Savage <cfis at savagexi.com>
 
-	* [r1760] Updated version number to 3.0.0rc1-CAPI-1.1.1 to match
-	  the autoconf generated files.
+	* [r1760] capi/geos_c.h.vc: Updated version number to
+	  3.0.0rc1-CAPI-1.1.1 to match the autoconf generated files.
 
 2006-07-13 07:38  Charlie Savage <cfis at savagexi.com>
 
-	* [r1759] Fixed spelling mistake in test task.
+	* [r1759] swig/ruby/test/Makefile.am: Fixed spelling mistake in
+	  test task.
 
 2006-07-13 07:36  Charlie Savage <cfis at savagexi.com>
 
-	* [r1758] Removed dependency on README.txt since it has been
-	  removed.
+	* [r1758] swig/Makefile.am: Removed dependency on README.txt since
+	  it has been removed.
 
 2006-07-13 07:35  Charlie Savage <cfis at savagexi.com>
 
-	* [r1757] New tests for the buffer operation.
+	* [r1757] swig/ruby/test/test_buffer.rb: New tests for the buffer
+	  operation.
 
 2006-07-13 07:29  Charlie Savage <cfis at savagexi.com>
 
-	* [r1756] Added SWIG Python and Ruby bindings back into the main
-	  GEOS build system.
+	* [r1756] configure.in: Added SWIG Python and Ruby bindings back
+	  into the main GEOS build system.
 
 2006-07-13 07:27  Charlie Savage <cfis at savagexi.com>
 
-	* [r1755] Updated extra_dist for test directories.
+	* [r1755] swig/python/tests/Makefile.am,
+	  swig/ruby/test/Makefile.am: Updated extra_dist for test
+	  directories.
 
 2006-07-13 07:20  Charlie Savage <cfis at savagexi.com>
 
-	* [r1754] Remove the dependency on the cases subdirectory which is
-	  no longer needed.
+	* [r1754] swig/python/tests/Makefile.am: Remove the dependency on
+	  the cases subdirectory which is no longer needed.
 
 2006-07-13 07:19  Charlie Savage <cfis at savagexi.com>
 
-	* [r1753] Updated test suite to use the correct tests.
+	* [r1753] swig/python/tests/runtests.py: Updated test suite to use
+	  the correct tests.
 
 2006-07-13 07:16  Charlie Savage <cfis at savagexi.com>
 
-	* [r1752] Removed old tests cases which are no longer valid (worked
-	  using the C++ api).
+	* [r1752] swig/python/tests/cases: Removed old tests cases which
+	  are no longer valid (worked using the C++ api).
 
 2006-07-13 07:14  Charlie Savage <cfis at savagexi.com>
 
-	* [r1751] New Python test case to ensure creating coordinate
-	  sequences and geometries works correctly.
+	* [r1751] swig/python/tests/test_geometry.py: New Python test case
+	  to ensure creating coordinate sequences and geometries works
+	  correctly.
 
 2006-07-13 07:14  Charlie Savage <cfis at savagexi.com>
 
-	* [r1750] Removed README.txt files which are no longer applicable
-	  now that the SWIG bindings have been intergrated into the GEOS
-	  build system.
+	* [r1750] swig/README.txt, swig/python/Makefile.am,
+	  swig/python/README.txt, swig/ruby/Makefile.am,
+	  swig/ruby/README.txt: Removed README.txt files which are no
+	  longer applicable now that the SWIG bindings have been
+	  intergrated into the GEOS build system.
 
 2006-07-13 07:13  Charlie Savage <cfis at savagexi.com>
 
-	* [r1749] Renamed test class.
+	* [r1749] swig/ruby/test/test_geometry.rb: Renamed test class.
 
 2006-07-13 07:09  Charlie Savage <cfis at savagexi.com>
 
-	* [r1748] Removed old, unused code.
+	* [r1748] swig/python/Makefile.am: Removed old, unused code.
 
 2006-07-13 07:09  Charlie Savage <cfis at savagexi.com>
 
-	* [r1747] Added tyepmap to support creating polygons with holes.
+	* [r1747] swig/python/python.i: Added tyepmap to support creating
+	  polygons with holes.
 
 2006-07-13 07:08  Charlie Savage <cfis at savagexi.com>
 
-	* [r1746] Added default value for quadsegs parmeter in buffer
-	  operation.
+	* [r1746] swig/geos.i: Added default value for quadsegs parmeter in
+	  buffer operation.
 
 2006-07-13 04:47  Charlie Savage <cfis at savagexi.com>
 
-	* [r1745] Manually moved from parent directory.
+	* [r1745] swig/python/tests/example.py: Manually moved from parent
+	  directory.
 
 2006-07-13 04:46  Charlie Savage <cfis at savagexi.com>
 
-	* [r1744] Updated EXTRA_DIST to include python.i and geos.pth
+	* [r1744] swig/python/Makefile.am: Updated EXTRA_DIST to include
+	  python.i and geos.pth
 
 2006-07-13 04:46  Charlie Savage <cfis at savagexi.com>
 
-	* [r1743] Moved file to tests subdirectory.
+	* [r1743] swig/python/example.py: Moved file to tests subdirectory.
 
 2006-07-13 04:45  Charlie Savage <cfis at savagexi.com>
 
-	* [r1742] Installation is now done by autoconf macros instead of
-	  setup.py
+	* [r1742] swig/python/setup.py: Installation is now done by
+	  autoconf macros instead of setup.py
 
 2006-07-13 04:39  Charlie Savage <cfis at savagexi.com>
 
-	* [r1741] Cleaned up ruby.i, added licenxe to python.i, commented
-	  back in python.i into geos.i.
+	* [r1741] swig/geos.i, swig/python/python.i, swig/ruby/ruby.i:
+	  Cleaned up ruby.i, added licenxe to python.i, commented back in
+	  python.i into geos.i.
 
 2006-07-13 04:09  Charlie Savage <cfis at savagexi.com>
 
-	* [r1740] Added code to read xml test cases.
+	* [r1740] swig/ruby/test/test_helper.rb: Added code to read xml
+	  test cases.
 
 2006-07-13 04:08  Charlie Savage <cfis at savagexi.com>
 
-	* [r1739] Added exception handling for results that return
-	  geometries. Added normalize and equalsExact, but for the moment
-	  they are commented out.
+	* [r1739] swig/geos.i: Added exception handling for results that
+	  return geometries. Added normalize and equalsExact, but for the
+	  moment they are commented out.
 
 2006-07-13 03:59  Charlie Savage <cfis at savagexi.com>
 
-	* [r1738] Changes to compile on VC++ - fully qualified polygon
-	  name. Should also work on MingW, will test next.
+	* [r1738] tests/xmltester/XMLTester.cpp: Changes to compile on VC++
+	  - fully qualified polygon name. Should also work on MingW, will
+	  test next.
 
 2006-07-12 23:17  Charlie Savage <cfis at savagexi.com>
 
-	* [r1737] Disabled test_combinations.rb for the moment since it
-	  fails.
+	* [r1737] swig/ruby/test/geos_tests.rb: Disabled
+	  test_combinations.rb for the moment since it fails.
 
 2006-07-12 23:16  Charlie Savage <cfis at savagexi.com>
 
-	* [r1736] Fixed serious bug in geom_to_hex and geom_to_wkb type
-	  maps. Was using temporary variable instead of passed in variable.
+	* [r1736] swig/geos.i: Fixed serious bug in geom_to_hex and
+	  geom_to_wkb type maps. Was using temporary variable instead of
+	  passed in variable.
 
 2006-07-12 22:55  Charlie Savage <cfis at savagexi.com>
 
-	* [r1735] Switched GeosBytesOrder to int in api signatures.
+	* [r1735] capi/geos_c.h.vc: Switched GeosBytesOrder to int in api
+	  signatures.
 
 2006-07-12 22:11  Charlie Savage <cfis at savagexi.com>
 
-	* [r1734] A number of changes to fix warning generated by gcc and
-	  to make sure the bindings compile for Python.
+	* [r1734] swig/geos.i: A number of changes to fix warning generated
+	  by gcc and to make sure the bindings compile for Python.
 
 2006-07-12 22:11  Charlie Savage <cfis at savagexi.com>
 
-	* [r1733] Updated Python SWIG makefile to build with the c api.
+	* [r1733] swig/python/Makefile.am: Updated Python SWIG makefile to
+	  build with the c api.
 
 2006-07-12 22:10  Charlie Savage <cfis at savagexi.com>
 
-	* [r1732] Minor change to fix gcc warning.
+	* [r1732] swig/ruby/ruby.i: Minor change to fix gcc warning.
 
 2006-07-12 22:10  Charlie Savage <cfis at savagexi.com>
 
-	* [r1731] Updated Ruby SWIG makefile to build with the c api.
+	* [r1731] swig/ruby/Makefile.am: Updated Ruby SWIG makefile to
+	  build with the c api.
 
 2006-07-12 21:03  Charlie Savage <cfis at savagexi.com>
 
-	* [r1730] Fixed an error in the way GEOSByteOrder was declared. It
-	  is now an enum in geos_c.h
+	* [r1730] capi/geos_c.cpp, capi/geos_c.h.in, capi/geos_c.h.vc:
+	  Fixed an error in the way GEOSByteOrder was declared. It is now
+	  an enum in geos_c.h
 
 2006-07-12 19:10  Charlie Savage <cfis at savagexi.com>
 
-	* [r1729] Added %rename directive so that GeomUnion is exposed as
-	  union is SWIG languages.
+	* [r1729] swig/geos.i: Added %rename directive so that GeomUnion is
+	  exposed as union is SWIG languages.
 
 2006-07-12 19:08  Charlie Savage <cfis at savagexi.com>
 
-	* [r1728] Updated tests for combinatins (union, intersection, etc.)
-	  and operaptions (buffer, centroid, etc.).
+	* [r1728] swig/ruby/test/geos_tests.rb,
+	  swig/ruby/test/test_combinations.rb,
+	  swig/ruby/test/test_operations.rb: Updated tests for combinatins
+	  (union, intersection, etc.) and operaptions (buffer, centroid,
+	  etc.).
 
 2006-07-12 19:07  Charlie Savage <cfis at savagexi.com>
 
-	* [r1727] These tests are no longer needed.
+	* [r1727] swig/ruby/test/test_simple.rb: These tests are no longer
+	  needed.
 
 2006-07-12 17:51  Charlie Savage <cfis at savagexi.com>
 
-	* [r1726] Ported old tests for relations, such as intersects,
-	  touches, etc., to new swig bindings.
+	* [r1726] swig/ruby/test/geos_tests.rb,
+	  swig/ruby/test/test_helper.rb, swig/ruby/test/test_relations.rb:
+	  Ported old tests for relations, such as intersects, touches,
+	  etc., to new swig bindings.
 
 2006-07-12 08:30  Charlie Savage <cfis at savagexi.com>
 
-	* [r1725] Added type map needed to create polygons with holes.
-	  Unfortunately, this is Ruby specific. It needs to be ported to
-	  Python next.
+	* [r1725] swig/ruby/ruby.i: Added type map needed to create
+	  polygons with holes. Unfortunately, this is Ruby specific. It
+	  needs to be ported to Python next.
 
 2006-07-12 08:29  Charlie Savage <cfis at savagexi.com>
 
-	* [r1724] Removed wrapper classes and replace them with SWIG "fake"
-	  classes. This makes the interface cleaner, and makes memory
-	  management much easier. Also added area, dimension, length,
-	  getExteriorRing, getInteriorRingN methods.
+	* [r1724] swig/geos.i: Removed wrapper classes and replace them
+	  with SWIG "fake" classes. This makes the interface cleaner, and
+	  makes memory management much easier. Also added area, dimension,
+	  length, getExteriorRing, getInteriorRingN methods.
 
 2006-07-12 08:27  Charlie Savage <cfis at savagexi.com>
 
-	* [r1723] Added test to read from wkb geometry - currently fails,
-	  needs more investigation.
+	* [r1723] swig/ruby/test/test_srid.rb: Added test to read from wkb
+	  geometry - currently fails, needs more investigation.
 
 2006-07-12 08:27  Charlie Savage <cfis at savagexi.com>
 
-	* [r1722] Added tests for invalid geometries.
+	* [r1722] swig/ruby/test/test_io.rb: Added tests for invalid
+	  geometries.
 
 2006-07-12 08:27  Charlie Savage <cfis at savagexi.com>
 
-	* [r1721] Updated ruby test suite.
+	* [r1721] swig/ruby/test/geos_tests.rb: Updated ruby test suite.
 
 2006-07-12 08:24  Charlie Savage <cfis at savagexi.com>
 
-	* [r1720] New tests for area, length, distance.
+	* [r1720] swig/ruby/test/test_geometry.rb: New tests for area,
+	  length, distance.
 
 2006-07-12 05:21  Charlie Savage <cfis at savagexi.com>
 
-	* [r1719] Converted line feeds to Unix style.
+	* [r1719] swig/ruby/test/test_coordinate_sequence.rb,
+	  swig/ruby/test/test_version.rb: Converted line feeds to Unix
+	  style.
 
 2006-07-12 05:21  Charlie Savage <cfis at savagexi.com>
 
-	* [r1718] New tests for creating geometries and calling various
-	  functions such as numGeometries, isValid, etc.
+	* [r1718] swig/ruby/test/test_geometry.rb: New tests for creating
+	  geometries and calling various functions such as numGeometries,
+	  isValid, etc.
 
 2006-07-12 05:20  Charlie Savage <cfis at savagexi.com>
 
-	* [r1717] Tests for srid handling.
+	* [r1717] swig/ruby/test/test_srid.rb: Tests for srid handling.
 
 2006-07-12 05:20  Charlie Savage <cfis at savagexi.com>
 
-	* [r1716] Merged tests from test_wkb_reader.rb
+	* [r1716] swig/ruby/test/test_io.rb: Merged tests from
+	  test_wkb_reader.rb
 
 2006-07-12 05:18  Charlie Savage <cfis at savagexi.com>
 
-	* [r1715] Merging into test_io.rb
+	* [r1715] swig/ruby/test/test_wkb_reader.rb: Merging into
+	  test_io.rb
 
 2006-07-12 04:46  Charlie Savage <cfis at savagexi.com>
 
-	* [r1714] Tests to verify returned version numbers from C api.
+	* [r1714] swig/ruby/test/test_version.rb: Tests to verify returned
+	  version numbers from C api.
 
 2006-07-11 18:48  Charlie Savage <cfis at savagexi.com>
 
-	* [r1713] Fixes for coordinate sequences. Fixed bug in range
-	  checking, chaned clone to be a method instead of copy
+	* [r1713] swig/geos.i: Fixes for coordinate sequences. Fixed bug in
+	  range checking, chaned clone to be a method instead of copy
 	  constructor, marked clone as creating a new object.
 
 2006-07-11 18:44  Charlie Savage <cfis at savagexi.com>
 
-	* [r1712] Tests for SWIG coordinate sequence class.
+	* [r1712] swig/ruby/test/test_coordinate_sequence.rb: Tests for
+	  SWIG coordinate sequence class.
 
 2006-07-11 09:07  Charlie Savage <cfis at savagexi.com>
 
-	* [r1711] Added reference to new enum called GEOSByteOrders. The
-	  enum has two values, GEOS_WKB_NDR and GEOS_WKB_XDR which signify
-	  big endian and little endian byte orders.
+	* [r1711] capi/geos_c.h.in, capi/geos_c.h.vc: Added reference to
+	  new enum called GEOSByteOrders. The enum has two values,
+	  GEOS_WKB_NDR and GEOS_WKB_XDR which signify big endian and little
+	  endian byte orders.
 
 2006-07-11 09:05  Charlie Savage <cfis at savagexi.com>
 
-	* [r1710] Added 5 methods to the C API as documented in the
-	  changelong. The new methods are read/write WKB Hex values,
-	  read/write WKB byte order and read wkb output dimensions.
+	* [r1710] capi/geos_c.h.in, capi/geos_c.h.vc: Added 5 methods to
+	  the C API as documented in the changelong. The new methods are
+	  read/write WKB Hex values, read/write WKB byte order and read wkb
+	  output dimensions.
 
 2006-07-11 08:55  Charlie Savage <cfis at savagexi.com>
 
-	* [r1709] Test cases for reading and writing geometries to WKT, WKB
-	  and hex encoded WKB formats via the SWIG bindings.
+	* [r1709] swig/ruby/test/test_wkb_reader.rb: Test cases for reading
+	  and writing geometries to WKT, WKB and hex encoded WKB formats
+	  via the SWIG bindings.
 
 2006-07-11 08:54  Charlie Savage <cfis at savagexi.com>
 
-	* [r1708] Updated visual studio header file to match geos_c.h.in
+	* [r1708] capi/geos_c.h.vc: Updated visual studio header file to
+	  match geos_c.h.in
 
 2006-07-11 08:53  Charlie Savage <cfis at savagexi.com>
 
-	* [r1707] Added 5 methods to the C API as documented in the
-	  changelong. The new methods are read/write WKB Hex values,
-	  read/write WKB byte order and read wkb output dimensions.
+	* [r1707] capi/geos_c.cpp: Added 5 methods to the C API as
+	  documented in the changelong. The new methods are read/write WKB
+	  Hex values, read/write WKB byte order and read wkb output
+	  dimensions.
 
 2006-07-11 08:52  Charlie Savage <cfis at savagexi.com>
 
-	* [r1706] Noted additions to the C API and porting of SWIG to use
-	  the C api.
+	* [r1706] ChangeLog: Noted additions to the C API and porting of
+	  SWIG to use the C api.
 
 2006-07-11 08:44  Charlie Savage <cfis at savagexi.com>
 
-	* [r1705] Ported SWIG bindings to use c-api.
+	* [r1705] swig/geos.i, swig/ruby/ruby.i: Ported SWIG bindings to
+	  use c-api.
 
-2006-07-10 22:29  Sandro Santilli <strk at keybit.net>
+2006-07-10 22:29  Sandro Santilli <strk at kbt.io>
 
-	* [r1704] Added .cvsignore file
+	* [r1704] tests/tut, tests/tut/.cvsignore: Added .cvsignore file
 
-2006-07-10 21:51  Sandro Santilli <strk at keybit.net>
+2006-07-10 21:51  Sandro Santilli <strk at kbt.io>
 
-	* [r1703] don't use dynamic strings as format arg the formatted
-	  message callbacks.
+	* [r1703] ChangeLog, capi/geos_c.cpp: don't use dynamic strings as
+	  format arg the formatted message callbacks.
 
-2006-07-10 10:16  Sandro Santilli <strk at keybit.net>
+2006-07-10 10:16  Sandro Santilli <strk at kbt.io>
 
-	* [r1702] changed vector<bool> to vector<short int> (see bug#101)
+	* [r1702] ChangeLog,
+	  source/headers/geos/simplify/DouglasPeuckerLineSimplifier.h:
+	  changed vector<bool> to vector<short int> (see bug#101)
 
 2006-07-09 03:37  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1701] Added 'testrunner' pattern to tests/xmltester/.cvsignore.
+	* [r1701] tests/xmltester, tests/xmltester/.cvsignore: Added
+	  'testrunner' pattern to tests/xmltester/.cvsignore.
 
 2006-07-09 03:21  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1700] Added 'testrunner' to .cvsignore patterns.
+	* [r1700] ., .cvsignore: Added 'testrunner' to .cvsignore patterns.
 
 2006-07-09 03:21  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1699] Updated ChangeLog with details about new unit tests.
+	* [r1699] ChangeLog: Updated ChangeLog with details about new unit
+	  tests.
 
 2006-07-09 03:16  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1698] Added new tests to tests/unit/Makefile.am.
+	* [r1698] tests/unit/Makefile.am: Added new tests to
+	  tests/unit/Makefile.am.
 
 2006-07-09 03:15  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1697] Added new tests cases to tests/unit/noding. Removed
-	  zero-to-pointer casts.
+	* [r1697] tests/unit/noding/SegmentNodeTest.cpp,
+	  tests/unit/noding/SegmentPointComparatorTest.cpp,
+	  tests/unit/noding/SegmentStringTest.cpp: Added new tests cases to
+	  tests/unit/noding. Removed zero-to-pointer casts.
 
-2006-07-09 00:24  Sandro Santilli <strk at keybit.net>
+2006-07-09 00:24  Sandro Santilli <strk at kbt.io>
 
-	* [r1696] Added testrunner to CLEANFILES. make distcheck now
-	  succeeds.
+	* [r1696] tests/xmltester/Makefile.am: Added testrunner to
+	  CLEANFILES. make distcheck now succeeds.
 
-2006-07-08 00:33  Sandro Santilli <strk at keybit.net>
+2006-07-08 00:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1693] * configure.in: incremented CAPI minor version, to avoid
-	  falling behind any future version from the 2.2. branch.
+	* [r1693] ChangeLog, configure.in, source/geom/Geometry.cpp,
+	  source/geom/GeometryFactory.cpp, source/geomgraph/EdgeRing.cpp,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/GeometryFactory.h,
+	  source/headers/geos/geom/GeometryFactory.inl,
+	  source/headers/geos/geomgraph/EdgeRing.h,
+	  source/headers/geos/platform.h.in: * configure.in: incremented
+	  CAPI minor version, to avoid falling behind any future version
+	  from the 2.2. branch.
 	  * source/geom/Geometry.cpp, source/geom/GeometryFactory.cpp,
 	  source/geomgraph/EdgeRing.cpp,
 	  source/headers/geos/geom/Geometry.h,
@@ -9890,444 +18047,711 @@
 
 2006-07-07 20:02  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1691] Updated ChangeLog with version comparison fix in
-	  GEOS_UNIT.
+	* [r1691] ChangeLog: Updated ChangeLog with version comparison fix
+	  in GEOS_UNIT.
 
 2006-07-07 20:00  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1690] Fixed versions comparison in the GEOS_UNIT macro.
+	* [r1690] macros/geos.m4: Fixed versions comparison in the
+	  GEOS_UNIT macro.
 
-2006-07-07 19:33  Sandro Santilli <strk at keybit.net>
+2006-07-07 19:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1689] * acsite.m4: include <inttypes.h> rather then <stdint.h>
+	* [r1689] ChangeLog, acsite.m4, configure.in: * acsite.m4: include
+	  <inttypes.h> rather then <stdint.h>
 	  (the latter is not available on Solaris 9)
 	  * configure.in: make sure CFLAGS is set before compiling
 	  using the 64bit integer detection macro.
 
 2006-07-06 16:39  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1688] Fixed version query regexp with escaped dots. Removed
-	  -lpq from GEOS_LIBS flags.
+	* [r1688] ChangeLog, macros/geos.m4: Fixed version query regexp
+	  with escaped dots. Removed -lpq from GEOS_LIBS flags.
 
 2006-07-05 23:27  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1687] Removed redundant -L and -I from GEOS_LIBS and
-	  GEOS_CFLAGS.
+	* [r1687] ChangeLog, macros/geos.m4: Removed redundant -L and -I
+	  from GEOS_LIBS and GEOS_CFLAGS.
 
 2006-07-05 23:10  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1686] Fixed GEOS_INIT to support full paths to geos-config
-	  passed to --with-geos. Fixed version decoding.
+	* [r1686] ChangeLog, macros/geos.m4: Fixed GEOS_INIT to support
+	  full paths to geos-config passed to --with-geos. Fixed version
+	  decoding.
 
-2006-07-05 22:54  Sandro Santilli <strk at keybit.net>
+2006-07-05 22:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1685] distribute utility.h
+	* [r1685] ChangeLog, tests/unit/Makefile.am: distribute utility.h
 
-2006-07-05 22:19  Sandro Santilli <strk at keybit.net>
+2006-07-05 22:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1684] distribute the TUT framework.
+	* [r1684] ChangeLog, configure.in, tests/Makefile.am,
+	  tests/tut/Makefile.am: distribute the TUT framework.
 
-2006-07-05 21:47  Sandro Santilli <strk at keybit.net>
+2006-07-05 21:47  Sandro Santilli <strk at kbt.io>
 
-	* [r1683] Distribute XML tests and tester.
+	* [r1683] ChangeLog, tests/xmltester/Makefile.am: Distribute XML
+	  tests and tester.
 
-2006-07-05 21:18  Sandro Santilli <strk at keybit.net>
+2006-07-05 21:18  Sandro Santilli <strk at kbt.io>
 
-	* [r1682] Fixed missing SweeplineNestedRingTester.cpp file.
+	* [r1682] ChangeLog, source/operation/valid/Makefile.am: Fixed
+	  missing SweeplineNestedRingTester.cpp file.
 
-2006-07-05 20:52  Sandro Santilli <strk at keybit.net>
+2006-07-05 20:52  Sandro Santilli <strk at kbt.io>
 
-	* [r1681] Fixed missing backslash, dropping headers from
-	  distribution.
+	* [r1681] ChangeLog,
+	  source/headers/geos/operation/linemerge/Makefile.am: Fixed
+	  missing backslash, dropping headers from distribution.
 
-2006-07-05 20:20  Sandro Santilli <strk at keybit.net>
+2006-07-05 20:20  Sandro Santilli <strk at kbt.io>
 
-	* [r1680] updated
+	* [r1680] TODO: updated
 
-2006-07-05 20:19  Sandro Santilli <strk at keybit.net>
+2006-07-05 20:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1679] added checks for obviously wrong result of difference and
-	  intersection ops
+	* [r1679] ChangeLog,
+	  source/headers/geos/operation/overlay/OverlayOp.h,
+	  source/operation/overlay/OverlayOp.cpp: added checks for
+	  obviously wrong result of difference and intersection ops
 
-2006-06-27 15:59  Sandro Santilli <strk at keybit.net>
+2006-06-27 15:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1677] * source/algorithm/HCoordinate.cpp: added support for
-	  MingW -ansi builds.
+	* [r1677] ChangeLog, source/algorithm/HCoordinate.cpp: *
+	  source/algorithm/HCoordinate.cpp: added support for MingW -ansi
+	  builds.
 
-2006-06-27 15:26  Sandro Santilli <strk at keybit.net>
+2006-06-27 15:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1676] * capi/geos_c.cpp: fixed forward declaration of
+	* [r1676] ChangeLog, capi/geos_c.cpp, capi/geos_c.h.in: *
+	  capi/geos_c.cpp: fixed forward declaration of
 	  GEOSCoordSeq_getOrdinate.
 	  * capi/geos_c.h.in: renamed GEOSGeomTypeId enum to GEOSGeomTypes,
 	  to make VC++ 2005 happy.
 
-2006-06-19 23:33  Sandro Santilli <strk at keybit.net>
+2006-06-19 23:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1675] Don't *require* CoordinateFilters to define both
-	  read-only and read-write methods.
+	* [r1675] ChangeLog, source/headers/geos/geom/CoordinateFilter.h,
+	  source/headers/geos/noding/ScaledNoder.h,
+	  source/headers/geos/util/CoordinateArrayFilter.h,
+	  source/headers/geos/util/UniqueCoordinateArrayFilter.h,
+	  source/noding/ScaledNoder.cpp: Don't *require* CoordinateFilters
+	  to define both read-only and read-write methods.
 
-2006-06-19 22:52  Sandro Santilli <strk at keybit.net>
+2006-06-19 22:52  Sandro Santilli <strk at kbt.io>
 
-	* [r1674] optimized loops
+	* [r1674] ChangeLog, source/geom/Polygon.cpp: optimized loops
 
-2006-06-19 21:20  Sandro Santilli <strk at keybit.net>
+2006-06-19 21:20  Sandro Santilli <strk at kbt.io>
 
-	* [r1673] updated port info
+	* [r1673] ChangeLog, source/geom/util/GeometryTransformer.cpp,
+	  source/headers/geos/geom/util/GeometryTransformer.h: updated port
+	  info
 
-2006-06-19 21:17  Sandro Santilli <strk at keybit.net>
+2006-06-19 21:17  Sandro Santilli <strk at kbt.io>
 
-	* [r1672] port info and doxygen dox.
+	* [r1672] ChangeLog, source/geom/GeometryFactory.cpp,
+	  source/headers/geos/geom/GeometryFactory.h,
+	  source/headers/geos/geom/GeometryFactory.inl: port info and
+	  doxygen dox.
 
-2006-06-19 20:48  Sandro Santilli <strk at keybit.net>
+2006-06-19 20:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1671] parseCase(): make sure to exit the <case> tag before
-	  returning
+	* [r1671] ChangeLog, tests/xmltester/XMLTester.cpp: parseCase():
+	  make sure to exit the <case> tag before returning
 
-2006-06-14 19:27  Sandro Santilli <strk at keybit.net>
+2006-06-14 19:27  Sandro Santilli <strk at kbt.io>
 
-	* [r1670] Let the compiler synthetize copy ctor and assignment op
-	  for Coordinate class to obtain better numerical stability.
+	* [r1670] ChangeLog, source/geom/Coordinate.cpp,
+	  source/headers/geos/geom/Coordinate.h,
+	  source/headers/geos/geom/Coordinate.inl: Let the compiler
+	  synthetize copy ctor and assignment op for Coordinate class to
+	  obtain better numerical stability.
 
-2006-06-14 19:19  Sandro Santilli <strk at keybit.net>
+2006-06-14 19:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1669] Added support for "AreaTest" operations.
+	* [r1669] ChangeLog, tests/xmltester/XMLTester.cpp: Added support
+	  for "AreaTest" operations.
 
-2006-06-14 19:17  Sandro Santilli <strk at keybit.net>
+2006-06-14 19:17  Sandro Santilli <strk at kbt.io>
 
-	* [r1668] Fixed bug in findShell() needlessly erasing vector
-	  elements
+	* [r1668] ChangeLog, source/operation/overlay/PolygonBuilder.cpp:
+	  Fixed bug in findShell() needlessly erasing vector elements
 
-2006-06-14 15:38  Sandro Santilli <strk at keybit.net>
+2006-06-14 15:38  Sandro Santilli <strk at kbt.io>
 
-	* [r1667] Fixed just-introduced bug
+	* [r1667] source/operation/overlay/OverlayOp.cpp: Fixed
+	  just-introduced bug
 
-2006-06-14 15:03  Sandro Santilli <strk at keybit.net>
+2006-06-14 15:03  Sandro Santilli <strk at kbt.io>
 
-	* [r1666] * source/operation/overlay/OverlayOp.cpp: use
-	  NodeMap::container and related typedefs, removed (int) casts,
-	  optimized loops.
+	* [r1666] ChangeLog, source/operation/overlay/OverlayOp.cpp: *
+	  source/operation/overlay/OverlayOp.cpp: use NodeMap::container
+	  and related typedefs, removed (int) casts, optimized loops.
 
-2006-06-14 14:32  Sandro Santilli <strk at keybit.net>
+2006-06-14 14:32  Sandro Santilli <strk at kbt.io>
 
-	* [r1665] EdgeEnd::getEdge() made non-virtual and inlined.
+	* [r1665] ChangeLog, source/geomgraph/EdgeEnd.cpp,
+	  source/headers/geos/geomgraph/DirectedEdge.h,
+	  source/headers/geos/geomgraph/DirectedEdge.inl,
+	  source/headers/geos/geomgraph/EdgeEnd.h: EdgeEnd::getEdge() made
+	  non-virtual and inlined.
 
-2006-06-14 13:59  Sandro Santilli <strk at keybit.net>
+2006-06-14 13:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1664] Fixed bug in PolygonBuilder::placePolygonHoles,
-	  performance improved as a side effect.
+	* [r1664] ChangeLog, source/operation/overlay/PolygonBuilder.cpp:
+	  Fixed bug in PolygonBuilder::placePolygonHoles, performance
+	  improved as a side effect.
 
-2006-06-13 23:26  Sandro Santilli <strk at keybit.net>
+2006-06-13 23:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1663] cleanups
+	* [r1663] ChangeLog,
+	  source/headers/geos/operation/overlay/PolygonBuilder.h,
+	  source/operation/overlay/PolygonBuilder.cpp: cleanups
 
-2006-06-13 22:50  Sandro Santilli <strk at keybit.net>
+2006-06-13 22:50  Sandro Santilli <strk at kbt.io>
 
-	* [r1662] * source/headers/geos/io/WKTReader.inl: added missing
-	  include for GEOS_DEBUG set case, use stderr for debugging output.
+	* [r1662] ChangeLog, source/headers/geos/io/WKTReader.inl: *
+	  source/headers/geos/io/WKTReader.inl: added missing include for
+	  GEOS_DEBUG set case, use stderr for debugging output.
 
-2006-06-13 22:19  Sandro Santilli <strk at keybit.net>
+2006-06-13 22:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1661] fixed unused parameter warning
+	* [r1661] ChangeLog, source/operation/overlay/LineBuilder.cpp:
+	  fixed unused parameter warning
 
-2006-06-13 22:00  Sandro Santilli <strk at keybit.net>
+2006-06-13 22:00  Sandro Santilli <strk at kbt.io>
 
-	* [r1660] Changed GeometryGraph::lineEdgeMap set comparison
-	  function to be pointer-based. Should be safe and much faster.
-	  Available tests all succeed.
+	* [r1660] ChangeLog, source/headers/geos/geomgraph/GeometryGraph.h:
+	  Changed GeometryGraph::lineEdgeMap set comparison function to be
+	  pointer-based. Should be safe and much faster. Available tests
+	  all succeed.
 
-2006-06-13 21:42  Sandro Santilli <strk at keybit.net>
+2006-06-13 21:42  Sandro Santilli <strk at kbt.io>
 
-	* [r1659] trimmed cvs log, cleanups
+	* [r1659] source/operation/overlay/OverlayOp.cpp: trimmed cvs log,
+	  cleanups
 
-2006-06-13 21:40  Sandro Santilli <strk at keybit.net>
+2006-06-13 21:40  Sandro Santilli <strk at kbt.io>
 
-	* [r1658] Cleanups and some more debugging lines
+	* [r1658] source/geomgraph/GeometryGraph.cpp: Cleanups and some
+	  more debugging lines
 
-2006-06-13 21:38  Sandro Santilli <strk at keybit.net>
+2006-06-13 21:38  Sandro Santilli <strk at kbt.io>
 
-	* [r1657] Added self comparison check in Geometry::compareTo().
+	* [r1657] ChangeLog, source/geom/Geometry.cpp: Added self
+	  comparison check in Geometry::compareTo().
 
-2006-06-13 19:16  Sandro Santilli <strk at keybit.net>
+2006-06-13 19:16  Sandro Santilli <strk at kbt.io>
 
-	* [r1656] fixed mis-assigned commit
+	* [r1656] ChangeLog: fixed mis-assigned commit
 
-2006-06-12 17:18  Sandro Santilli <strk at keybit.net>
+2006-06-12 17:18  Sandro Santilli <strk at kbt.io>
 
-	* [r1655] LineSegmentIndex: explicitly initialized parent class in
+	* [r1655] ChangeLog, source/simplify/LineSegmentIndex.cpp:
+	  LineSegmentIndex: explicitly initialized parent class in
 	  constructors.
 
-2006-06-12 17:15  Sandro Santilli <strk at keybit.net>
-
-	* [r1654] Removed unused parameters warning
-
-2006-06-12 17:14  Sandro Santilli <strk at keybit.net>
-
-	* [r1653] added assert(0) version of filter_ro() and filter_rw() to
-	  allow implementations to only defined the required one.
-
-2006-06-12 16:59  Sandro Santilli <strk at keybit.net>
+2006-06-12 17:15  Sandro Santilli <strk at kbt.io>
 
-	* [r1652] Removed unused parameter warnings
+	* [r1654] ChangeLog, source/headers/geos/index/quadtree/Root.h,
+	  source/headers/geos/operation/distance/ConnectedElementPointFilter.h,
+	  source/headers/geos/operation/polygonize/Polygonizer.h: Removed
+	  unused parameters warning
 
-2006-06-12 16:57  Sandro Santilli <strk at keybit.net>
+2006-06-12 17:14  Sandro Santilli <strk at kbt.io>
 
-	* [r1651] Added note about ownership of return from
-	  getEdgesBetween()
+	* [r1653] ChangeLog, source/headers/geos/geom/GeometryFilter.h:
+	  added assert(0) version of filter_ro() and filter_rw() to allow
+	  implementations to only defined the required one.
 
-2006-06-12 16:55  Sandro Santilli <strk at keybit.net>
+2006-06-12 16:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1650] fixed compiler warnings, fixed some methods to omit
-	  unused parameters.
+	* [r1652] tests/bigtest/TestSweepLineSpeed.cpp,
+	  tests/xmltester/SimpleWKTTester.cpp: Removed unused parameter
+	  warnings
 
-2006-06-12 16:51  Sandro Santilli <strk at keybit.net>
+2006-06-12 16:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1649] Added equality and inequality operators and tests
+	* [r1651] source/headers/geos/planargraph/Node.h: Added note about
+	  ownership of return from getEdgesBetween()
 
-2006-06-12 16:36  Sandro Santilli <strk at keybit.net>
+2006-06-12 16:55  Sandro Santilli <strk at kbt.io>
 
-	* [r1648] indentation, notes about things to be fixed.
+	* [r1650] ChangeLog, source/headers/geos/io/WKTWriter.h,
+	  source/io/WKTWriter.cpp: fixed compiler warnings, fixed some
+	  methods to omit unused parameters.
 
-2006-06-12 15:47  Sandro Santilli <strk at keybit.net>
+2006-06-12 16:51  Sandro Santilli <strk at kbt.io>
 
-	* [r1647] implemented missing getEdgesBetween() method (untested).
-
-2006-06-12 15:46  Sandro Santilli <strk at keybit.net>
-
-	* [r1646] provided a memory friendly version of toEdges() method.
+	* [r1649] ChangeLog, source/geom/CoordinateSequence.cpp,
+	  source/headers/geos/geom/CoordinateSequence.h,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp: Added equality
+	  and inequality operators and tests
 
-2006-06-12 15:07  Sandro Santilli <strk at keybit.net>
+2006-06-12 16:36  Sandro Santilli <strk at kbt.io>
 
-	* [r1645] explicitly invoked CoordinateSequence (copy) ctor -
-	  suggested by GCC warning.
+	* [r1648] ChangeLog, source/geom/CoordinateSequence.cpp,
+	  source/headers/geos/geom/CoordinateSequence.h: indentation, notes
+	  about things to be fixed.
 
-2006-06-12 15:06  Sandro Santilli <strk at keybit.net>
+2006-06-12 15:47  Sandro Santilli <strk at kbt.io>
 
-	* [r1644] Added default ctor and copy ctor (protected)
+	* [r1647] ChangeLog, source/planargraph/Node.cpp: implemented
+	  missing getEdgesBetween() method (untested).
 
-2006-06-12 13:57  Sandro Santilli <strk at keybit.net>
+2006-06-12 15:46  Sandro Santilli <strk at kbt.io>
 
-	* [r1643] Check for int64_t type for int64 typedef.
+	* [r1646] source/headers/geos/planargraph/DirectedEdge.h,
+	  source/planargraph/DirectedEdge.cpp: provided a memory friendly
+	  version of toEdges() method.
 
-2006-06-12 11:29  Sandro Santilli <strk at keybit.net>
+2006-06-12 15:07  Sandro Santilli <strk at kbt.io>
 
-	* [r1642] unsigned int => size_t
+	* [r1645] ChangeLog, source/geom/CoordinateArraySequence.cpp:
+	  explicitly invoked CoordinateSequence (copy) ctor - suggested by
+	  GCC warning.
 
-2006-06-12 10:49  Sandro Santilli <strk at keybit.net>
+2006-06-12 15:06  Sandro Santilli <strk at kbt.io>
 
-	* [r1641] unsigned int => size_t
+	* [r1644] source/headers/geos/geom/CoordinateSequence.h: Added
+	  default ctor and copy ctor (protected)
 
-2006-06-12 10:39  Sandro Santilli <strk at keybit.net>
+2006-06-12 13:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1640] don't print test file precision model if verbosity level
-	  < 2.
+	* [r1643] ChangeLog, acsite.m4, configure.in,
+	  source/headers/geos/platform.h.in: Check for int64_t type for
+	  int64 typedef.
 
-2006-06-12 10:10  Sandro Santilli <strk at keybit.net>
+2006-06-12 11:29  Sandro Santilli <strk at kbt.io>
 
-	* [r1639] Fixed getGeometryN() to take size_t rather then int,
-	  changed unsigned int parameters to size_t.
+	* [r1642] ChangeLog, source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/geomgraph/EdgeNodingValidator.cpp,
+	  source/geomgraph/EdgeRing.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/PlanarGraph.cpp,
+	  source/geomgraph/TopologyLocation.cpp,
+	  source/geomgraph/index/MonotoneChainEdge.cpp,
+	  source/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  source/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/headers/geos/geom/CoordinateArraySequenceFactory.h,
+	  source/headers/geos/geom/CoordinateArraySequenceFactory.inl,
+	  source/headers/geos/geom/LineSegment.inl,
+	  source/headers/geos/geom/Location.h,
+	  source/headers/geos/geomgraph/TopologyLocation.h,
+	  source/headers/geos/noding/SegmentNodeList.h,
+	  source/headers/geos/profiler.h,
+	  source/headers/geos/simplify/DouglasPeuckerLineSimplifier.h,
+	  source/headers/geos/simplify/TaggedLineString.h,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/sweepline/SweepLineIndex.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/predicate/SegmentIntersectionTester.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/simplify/DouglasPeuckerLineSimplifier.cpp,
+	  source/simplify/LineSegmentIndex.cpp,
+	  source/simplify/TaggedLineString.cpp, source/util/Profiler.cpp:
+	  unsigned int => size_t
+
+2006-06-12 10:49  Sandro Santilli <strk at kbt.io>
+
+	* [r1641] ChangeLog, source/algorithm/ConvexHull.cpp,
+	  source/algorithm/PointLocator.cpp, source/geom/Envelope.cpp,
+	  source/geom/LineString.cpp,
+	  source/headers/geos/geom/LineString.h,
+	  source/headers/geos/geomgraph/EdgeEndStar.h,
+	  source/headers/geos/index/strtree/AbstractSTRtree.h,
+	  source/headers/geos/index/strtree/SIRtree.h,
+	  source/headers/geos/index/strtree/STRtree.h,
+	  source/headers/geos/planargraph/DirectedEdgeStar.h,
+	  source/headers/geos/planargraph/Node.h,
+	  source/headers/geos/planargraph/PlanarGraph.h,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/operation/linemerge/LineSequencer.cpp,
+	  source/planargraph/PlanarGraph.cpp: unsigned int => size_t
+
+2006-06-12 10:39  Sandro Santilli <strk at kbt.io>
+
+	* [r1640] ChangeLog, tests/xmltester/XMLTester.cpp: don't print
+	  test file precision model if verbosity level < 2.
+
+2006-06-12 10:10  Sandro Santilli <strk at kbt.io>
+
+	* [r1639] ChangeLog, NEWS, capi/geos_c.h.in,
+	  source/algorithm/CGAlgorithms.cpp,
+	  source/geom/CoordinateArraySequence.cpp,
+	  source/geom/CoordinateSequence.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineString.cpp,
+	  source/geom/LinearRing.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPolygon.cpp, source/geom/Polygon.cpp,
+	  source/headers/geos/geom/CoordinateArraySequence.h,
+	  source/headers/geos/geom/CoordinateArraySequenceFactory.h,
+	  source/headers/geos/geom/CoordinateSequence.h,
+	  source/headers/geos/geom/CoordinateSequenceFactory.h,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/GeometryCollection.h,
+	  source/headers/geos/geom/LineSegment.h,
+	  source/headers/geos/util/UniqueCoordinateArrayFilter.h: Fixed
+	  getGeometryN() to take size_t rather then int, changed unsigned
+	  int parameters to size_t.
 
-2006-06-09 08:28  Sandro Santilli <strk at keybit.net>
+2006-06-09 08:28  Sandro Santilli <strk at kbt.io>
 
-	* [r1638] Removed compiler warning
+	* [r1638] tests/xmltester/SimpleWKTTester.cpp: Removed compiler
+	  warning
 
-2006-06-09 08:17  Sandro Santilli <strk at keybit.net>
+2006-06-09 08:17  Sandro Santilli <strk at kbt.io>
 
-	* [r1637] removed signed/unsigned comparison warnings.
+	* [r1637] ChangeLog, tests/unit/noding/SegmentStringTest.cpp:
+	  removed signed/unsigned comparison warnings.
 
-2006-06-09 08:09  Sandro Santilli <strk at keybit.net>
+2006-06-09 08:09  Sandro Santilli <strk at kbt.io>
 
-	* [r1636] removed signed/unsigned comparison warnings.
+	* [r1636] ChangeLog, tests/unit/geom/LinearRingTest.cpp,
+	  tests/unit/geom/MultiPointTest.cpp,
+	  tests/unit/geom/PolygonTest.cpp: removed signed/unsigned
+	  comparison warnings.
 
-2006-06-09 08:02  Sandro Santilli <strk at keybit.net>
+2006-06-09 08:02  Sandro Santilli <strk at kbt.io>
 
-	* [r1635] Fixed signed/unsigned comparison tests
+	* [r1635] ChangeLog, tests/unit/geom/LineStringTest.cpp: Fixed
+	  signed/unsigned comparison tests
 
-2006-06-09 07:42  Sandro Santilli <strk at keybit.net>
+2006-06-09 07:42  Sandro Santilli <strk at kbt.io>
 
-	* [r1634] * source/geomgraph/GeometryGraph.cpp,
+	* [r1634] ChangeLog, source/geomgraph/GeometryGraph.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp: *
+	  source/geomgraph/GeometryGraph.cpp,
 	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
 	  source/operation/overlay/OverlayOp.cpp,
 	  source/operation/valid/RepeatedPointTester.cpp: Fixed warning
 	  after Polygon ring accessor methods changed to work with size_t.
 	  Small optimizations in loops.
 
-2006-06-09 06:41  Sandro Santilli <strk at keybit.net>
+2006-06-09 06:41  Sandro Santilli <strk at kbt.io>
 
-	* [r1633] Added missing log for mloskot change
+	* [r1633] ChangeLog: Added missing log for mloskot change
 
 2006-06-08 18:50  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1632] Fixed no-effect warning in test<1> from
-	  DimensionTest.cpp.
+	* [r1632] tests/unit/geom/DimensionTest.cpp: Fixed no-effect
+	  warning in test<1> from DimensionTest.cpp.
 
-2006-06-08 18:18  Sandro Santilli <strk at keybit.net>
+2006-06-08 18:18  Sandro Santilli <strk at kbt.io>
 
-	* [r1631] * tests/unit/geom/GeometryFactoryTest.cpp: fixed compiler
-	  warnings about signed/unsigned comparisons.
+	* [r1631] ChangeLog, tests/unit/geom/GeometryFactoryTest.cpp: *
+	  tests/unit/geom/GeometryFactoryTest.cpp: fixed compiler warnings
+	  about signed/unsigned comparisons.
 
-2006-06-08 17:58  Sandro Santilli <strk at keybit.net>
+2006-06-08 17:58  Sandro Santilli <strk at kbt.io>
 
-	* [r1630] Polygon::getNumInteriorRing() return size_t,
+	* [r1630] ChangeLog, NEWS, source/algorithm/CentroidArea.cpp,
+	  source/geom/Polygon.cpp, source/geom/util/GeometryEditor.cpp,
+	  source/headers/geos/geom/Polygon.h, source/io/WKTWriter.cpp:
+	  Polygon::getNumInteriorRing() return size_t,
 	  Polygon::interiorRingN() takes size_t.
 
-2006-06-08 17:46  Sandro Santilli <strk at keybit.net>
+2006-06-08 17:46  Sandro Santilli <strk at kbt.io>
 
-	* [r1629] * tests/unit/geom/CoordinateArraySequenceTest.cpp: fix
+	* [r1629] ChangeLog,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp: *
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp: fix
 	  signed/unsigned comparison warning.
 
-2006-06-08 15:55  Sandro Santilli <strk at keybit.net>
+2006-06-08 15:55  Sandro Santilli <strk at kbt.io>
 
-	* [r1628] * tests/xmltester/markup/MarkupSTL.cpp: removed use of
+	* [r1628] ChangeLog, tests/xmltester/markup/MarkupSTL.cpp: *
+	  tests/xmltester/markup/MarkupSTL.cpp: removed use of
 	  allocator<char>, which brings in some incompatibilities with
 	  libstdc++ 6.0.7 (gcc 4.0.2).
 
-2006-06-08 13:19  Sandro Santilli <strk at keybit.net>
+2006-06-08 13:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1627] Commented out ruby and python detection
+	* [r1627] configure.in: Commented out ruby and python detection
 
-2006-06-08 12:58  Sandro Santilli <strk at keybit.net>
+2006-06-08 12:58  Sandro Santilli <strk at kbt.io>
 
-	* [r1626] Fixed xml testrunner rule
+	* [r1626] tests/xmltester/Makefile.am,
+	  tests/xmltester/testrunner.sh: Fixed xml testrunner rule
 
-2006-06-08 12:16  Sandro Santilli <strk at keybit.net>
+2006-06-08 12:16  Sandro Santilli <strk at kbt.io>
 
-	* [r1625] added XML tests run to the 'make check' rule.
+	* [r1625] ChangeLog, tests/xmltester/Makefile.am,
+	  tests/xmltester/testrunner.sh: added XML tests run to the 'make
+	  check' rule.
 
-2006-06-08 11:20  Sandro Santilli <strk at keybit.net>
+2006-06-08 11:20  Sandro Santilli <strk at kbt.io>
 
-	* [r1624] Added missing virtual destructor to abstract classes.
+	* [r1624] ChangeLog,
+	  source/headers/geos/geom/CoordinateSequenceFactory.h,
+	  source/headers/geos/geom/GeometryComponentFilter.h,
+	  source/headers/geos/geom/GeometryFilter.h,
+	  source/headers/geos/geom/util/CoordinateOperation.h,
+	  source/headers/geos/geom/util/GeometryEditorOperation.h,
+	  source/headers/geos/geom/util/ShortCircuitedGeometryVisitor.h,
+	  source/headers/geos/geomgraph/NodeFactory.h,
+	  source/headers/geos/index/ItemVisitor.h,
+	  source/headers/geos/index/strtree/AbstractSTRtree.h,
+	  source/headers/geos/index/sweepline/SweepLineOverlapAction.h:
+	  Added missing virtual destructor to abstract classes.
 
-2006-06-07 20:04  Sandro Santilli <strk at keybit.net>
+2006-06-07 20:04  Sandro Santilli <strk at kbt.io>
 
-	* [r1623] * configure.in: enforce -Wall -ansi -pedantic
-	  -Wno-long-long to C and CXX flags.
+	* [r1623] ChangeLog, configure.in: * configure.in: enforce -Wall
+	  -ansi -pedantic -Wno-long-long to C and CXX flags.
 
-2006-06-07 19:45  Sandro Santilli <strk at keybit.net>
+2006-06-07 19:45  Sandro Santilli <strk at kbt.io>
 
-	* [r1622] Renamed (reserved) TESTS variable to RUBY_TESTS
+	* [r1622] swig/ruby/test/Makefile.am: Renamed (reserved) TESTS
+	  variable to RUBY_TESTS
 
-2006-06-07 19:26  Sandro Santilli <strk at keybit.net>
+2006-06-07 19:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1621] Fixed SUBDIRS order, and added a NOTE about maintaining
-	  it.
+	* [r1621] Makefile.am: Fixed SUBDIRS order, and added a NOTE about
+	  maintaining it.
 
-2006-06-07 17:03  Sandro Santilli <strk at keybit.net>
+2006-06-07 17:03  Sandro Santilli <strk at kbt.io>
 
-	* [r1620] * Makefile.am, configure.in, swig/python/Makefile.am,
-	  swig/ruby/Makefile.am, swig/ruby/test/Makefile.am: swig removed
-	  from automatic build process.
+	* [r1620] ChangeLog, Makefile.am, configure.in,
+	  swig/python/Makefile.am, swig/ruby/Makefile.am,
+	  swig/ruby/test/Makefile.am: * Makefile.am, configure.in,
+	  swig/python/Makefile.am, swig/ruby/Makefile.am,
+	  swig/ruby/test/Makefile.am: swig removed from automatic build
+	  process.
 	  * configure.in: removed check for boost availability.
 
-2006-06-07 16:07  Sandro Santilli <strk at keybit.net>
+2006-06-07 16:07  Sandro Santilli <strk at kbt.io>
 
-	* [r1619] Set release version to 3.0.0rc1
+	* [r1619] configure.in: Set release version to 3.0.0rc1
 
 2006-06-07 14:10  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1618] Update ChangeLog with info about new test case
-	  isPointInRingTest.cpp.
+	* [r1618] ChangeLog, tests/unit/Makefile.am: Update ChangeLog with
+	  info about new test case isPointInRingTest.cpp.
 
 2006-06-07 14:06  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1617] Renamed file isPointInRing.cpp to isPointInRingTest.cpp
-	  to follow GEOS Unit Test convention.
+	* [r1617] tests/unit/algorithm/CGAlgorithms/isPointInRing.cpp,
+	  tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp: Renamed
+	  file isPointInRing.cpp to isPointInRingTest.cpp to follow GEOS
+	  Unit Test convention.
 
 2006-06-07 13:52  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1616] Added new test: CGAlgorithms/isPointInRing.cpp.
-
-2006-06-07 13:10  Sandro Santilli <strk at keybit.net>
+	* [r1616] tests/unit/Makefile.am,
+	  tests/unit/algorithm/CGAlgorithms,
+	  tests/unit/algorithm/CGAlgorithms/isPointInRing.cpp: Added new
+	  test: CGAlgorithms/isPointInRing.cpp.
 
-	* [r1615] Removed Triangle.h include from geom.h
+2006-06-07 13:10  Sandro Santilli <strk at kbt.io>
 
-2006-06-07 13:08  Sandro Santilli <strk at keybit.net>
+	* [r1615] ChangeLog, source/headers/geos/geom.h: Removed Triangle.h
+	  include from geom.h
 
-	* [r1614] * source/headers/geos/geom/Makefile.am: removed
-	  Triangle.h from installed header set.
+2006-06-07 13:08  Sandro Santilli <strk at kbt.io>
 
-2006-06-05 19:42  Sandro Santilli <strk at keybit.net>
-
-	* [r1613] Fixed noinst_geos_HEADERS => noinst_HEADERS.
-
-2006-06-05 15:36  Sandro Santilli <strk at keybit.net>
-
-	* [r1612] Given OverlayOp funx code enum a name and renamed values
-	  to have a lowercase prefix. Drop all of noding headers from
+	* [r1614] ChangeLog, source/headers/geos/geom/Makefile.am: *
+	  source/headers/geos/geom/Makefile.am: removed Triangle.h from
 	  installed header set.
 
+2006-06-05 19:42  Sandro Santilli <strk at kbt.io>
+
+	* [r1613] ChangeLog, source/headers/geos/Makefile.am,
+	  source/headers/geos/algorithm/Makefile.am,
+	  source/headers/geos/geom/Makefile.am,
+	  source/headers/geos/geom/util/Makefile.am,
+	  source/headers/geos/geomgraph/Makefile.am,
+	  source/headers/geos/geomgraph/index/Makefile.am,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/index/Makefile.am,
+	  source/headers/geos/index/bintree/Makefile.am,
+	  source/headers/geos/index/chain/Makefile.am,
+	  source/headers/geos/index/quadtree/Makefile.am,
+	  source/headers/geos/index/strtree/Makefile.am,
+	  source/headers/geos/index/sweepline/Makefile.am,
+	  source/headers/geos/indexSweepline.h,
+	  source/headers/geos/io/Makefile.am,
+	  source/headers/geos/noding/Makefile.am,
+	  source/headers/geos/noding/snapround/Makefile.am,
+	  source/headers/geos/nodingSnapround.h,
+	  source/headers/geos/opDistance.h,
+	  source/headers/geos/opOverlay.h,
+	  source/headers/geos/opPolygonize.h,
+	  source/headers/geos/opPredicate.h,
+	  source/headers/geos/opRelate.h,
+	  source/headers/geos/operation/Makefile.am,
+	  source/headers/geos/operation/buffer/Makefile.am,
+	  source/headers/geos/operation/distance/Makefile.am,
+	  source/headers/geos/operation/linemerge/Makefile.am,
+	  source/headers/geos/operation/overlay/Makefile.am,
+	  source/headers/geos/operation/polygonize/Makefile.am,
+	  source/headers/geos/operation/predicate/Makefile.am,
+	  source/headers/geos/operation/relate/Makefile.am,
+	  source/headers/geos/operation/valid/Makefile.am,
+	  source/headers/geos/planargraph.h,
+	  source/headers/geos/planargraph/Makefile.am,
+	  source/headers/geos/planargraph/algorithm/Makefile.am,
+	  source/headers/geos/precision/Makefile.am,
+	  source/headers/geos/util.h, source/headers/geos/util/Makefile.am:
+	  Fixed noinst_geos_HEADERS => noinst_HEADERS.
+
+2006-06-05 15:36  Sandro Santilli <strk at kbt.io>
+
+	* [r1612] ChangeLog, NEWS, capi/geos_c.cpp,
+	  source/geom/Geometry.cpp, source/headers/geos/noding.h,
+	  source/headers/geos/noding/Makefile.am,
+	  source/headers/geos/operation/overlay/LineBuilder.h,
+	  source/headers/geos/operation/overlay/OverlayOp.h,
+	  source/headers/geos/operation/overlay/PointBuilder.h,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  tests/xmltester/XMLTester.cpp: Given OverlayOp funx code enum a
+	  name and renamed values to have a lowercase prefix. Drop all of
+	  noding headers from installed header set.
+
 2006-06-03 22:31  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1611] update to track latest removals
+	* [r1611] source/Makefile.vc: update to track latest removals
 
 2006-06-03 22:29  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1610] Use a fully qualified namespace for LineSegment because
-	  we're inside of geos::simplify at the time
-
-2006-06-01 11:49  Sandro Santilli <strk at keybit.net>
-
-	* [r1609] Reduced installed headers form geomgraph namespace
-
-2006-06-01 10:28  Sandro Santilli <strk at keybit.net>
-
-	* [r1608] Reduced number of installed headers for the geos::index
-	  namespace
-
-2006-05-25 18:44  Sandro Santilli <strk at keybit.net>
-
-	* [r1607] * tests/unit/geom/TriangleTest.cpp: take floating-point
-	  rounding error into account.
+	* [r1610] source/simplify/DouglasPeuckerLineSimplifier.cpp: Use a
+	  fully qualified namespace for LineSegment because we're inside of
+	  geos::simplify at the time
+
+2006-06-01 11:49  Sandro Santilli <strk at kbt.io>
+
+	* [r1609] ChangeLog, source/headers/geos/geomgraph.h,
+	  source/headers/geos/geomgraph/Makefile.am,
+	  source/headers/geos/geomgraph/Node.h,
+	  source/headers/geos/geomgraph/PlanarGraph.h,
+	  source/headers/geos/io.h, source/headers/geos/io/Makefile.am,
+	  source/headers/geos/io/WKBReader.h,
+	  source/headers/geos/opValid.h,
+	  source/headers/geos/operation/buffer/Makefile.am,
+	  source/headers/geos/operation/distance/Makefile.am,
+	  source/headers/geos/operation/predicate/Makefile.am,
+	  source/headers/geos/operation/valid/Makefile.am,
+	  source/headers/geos/precision.h,
+	  source/headers/geos/precision/Makefile.am,
+	  source/io/WKTWriter.cpp, source/io/Writer.cpp: Reduced installed
+	  headers form geomgraph namespace
+
+2006-06-01 10:28  Sandro Santilli <strk at kbt.io>
+
+	* [r1608] ChangeLog, source/headers/geos/index/bintree/Makefile.am,
+	  source/headers/geos/index/chain/Makefile.am,
+	  source/headers/geos/index/quadtree/Makefile.am,
+	  source/headers/geos/index/strtree/Makefile.am,
+	  source/headers/geos/index/sweepline/Makefile.am,
+	  source/headers/geos/indexBintree.h,
+	  source/headers/geos/indexChain.h,
+	  source/headers/geos/indexQuadtree.h,
+	  source/headers/geos/indexStrtree.h,
+	  source/headers/geos/indexSweepline.h,
+	  source/headers/geos/operation/valid/SweeplineNestedRingTester.h,
+	  source/operation/valid/Makefile.am: Reduced number of installed
+	  headers for the geos::index namespace
+
+2006-05-25 18:44  Sandro Santilli <strk at kbt.io>
+
+	* [r1607] ChangeLog, tests/unit/geom/TriangleTest.cpp: *
+	  tests/unit/geom/TriangleTest.cpp: take floating-point rounding
+	  error into account.
 
 2006-05-25 16:11  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1606] Changed precision constant with epsilon() from
-	  std::numeric_limits.
+	* [r1606] tests/tut/tut.h: Changed precision constant with
+	  epsilon() from std::numeric_limits.
 
 2006-05-25 15:54  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1605] Added specialization of ensure_equals for double type.
+	* [r1605] tests/tut/tut.h: Added specialization of ensure_equals
+	  for double type.
 
-2006-05-24 16:29  Sandro Santilli <strk at keybit.net>
+2006-05-24 16:29  Sandro Santilli <strk at kbt.io>
 
-	* [r1604] * source/index/quadtree/DoubleBits.cpp: handled negative
-	  or zero values in getExponent().
+	* [r1604] ChangeLog, source/index/quadtree/DoubleBits.cpp: *
+	  source/index/quadtree/DoubleBits.cpp: handled negative or zero
+	  values in getExponent().
 
-2006-05-24 16:01  Sandro Santilli <strk at keybit.net>
+2006-05-24 16:01  Sandro Santilli <strk at kbt.io>
 
-	* [r1603] * tests/unit/utility.h: fixed missing return from
-	  isSameStructure's specialization on GeometryCollection, also
-	  fixed a signed/unsigned mismatch warning there.
+	* [r1603] ChangeLog, tests/unit/utility.h: * tests/unit/utility.h:
+	  fixed missing return from isSameStructure's specialization on
+	  GeometryCollection, also fixed a signed/unsigned mismatch warning
+	  there.
 
-2006-05-24 15:42  Sandro Santilli <strk at keybit.net>
+2006-05-24 15:42  Sandro Santilli <strk at kbt.io>
 
-	* [r1602] * source/util/Makefile.am,
-	  source/util/CoordinateArrayFiter.cpp,
+	* [r1602] ChangeLog, source/util/CoordinateArrayFiter.cpp,
+	  source/util/GEOSException.cpp, source/util/Makefile.am,
+	  source/util/UniqueCoordinateArrayFilter.cpp: *
+	  source/util/Makefile.am, source/util/CoordinateArrayFiter.cpp,
 	  source/util/GEOSException.cpp,
 	  source/util/UniqueCoordinateArrayFilter.cpp: removed empty
 	  implementation files.
 
-2006-05-24 15:32  Sandro Santilli <strk at keybit.net>
+2006-05-24 15:32  Sandro Santilli <strk at kbt.io>
 
-	* [r1601] * source/headers/geos/simplify/TaggedLinesSimplifier.h:
-	  added LineSegmentIndex.h include so that every use of the
-	  templated simplify() function get all the required definitions.
+	* [r1601] ChangeLog,
+	  source/headers/geos/simplify/TaggedLinesSimplifier.h: *
+	  source/headers/geos/simplify/TaggedLinesSimplifier.h: added
+	  LineSegmentIndex.h include so that every use of the templated
+	  simplify() function get all the required definitions.
 
-2006-05-24 15:17  Sandro Santilli <strk at keybit.net>
+2006-05-24 15:17  Sandro Santilli <strk at kbt.io>
 
-	* [r1600] Reduced number of installed headers in geos/operation/
-	  subdir
+	* [r1600] ChangeLog, source/headers/geos/algorithm/Makefile.am,
+	  source/headers/geos/geom/Makefile.am,
+	  source/headers/geos/geomgraph/Makefile.am,
+	  source/headers/geos/opLinemerge.h,
+	  source/headers/geos/operation/Makefile.am,
+	  source/headers/geos/operation/distance/Makefile.am,
+	  source/headers/geos/operation/linemerge/Makefile.am,
+	  source/headers/geos/operation/overlay/Makefile.am,
+	  source/headers/geos/operation/overlay/OverlayOp.h,
+	  source/headers/geos/operation/polygonize/Makefile.am,
+	  source/headers/geos/operation/relate/Makefile.am,
+	  source/headers/geos/planargraph/Makefile.am: Reduced number of
+	  installed headers in geos/operation/ subdir
 
-2006-05-24 13:44  Sandro Santilli <strk at keybit.net>
+2006-05-24 13:44  Sandro Santilli <strk at kbt.io>
 
-	* [r1599] Added a note about unit tests being introduced
+	* [r1599] NEWS: Added a note about unit tests being introduced
 
 2006-05-24 11:44  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1598] Added missing entries to ChangeLog.
+	* [r1598] ChangeLog: Added missing entries to ChangeLog.
 
-2006-05-24 11:41  Sandro Santilli <strk at keybit.net>
+2006-05-24 11:41  Sandro Santilli <strk at kbt.io>
 
-	* [r1597] * source/headers/geos/simplify/TaggedLinesSimplifier.h,
+	* [r1597] ChangeLog,
+	  source/headers/geos/simplify/TaggedLinesSimplifier.h,
+	  source/simplify/TaggedLinesSimplifier.cpp,
+	  source/simplify/TopologyPreservingSimplifier.cpp: *
+	  source/headers/geos/simplify/TaggedLinesSimplifier.h,
 	  source/simplify/TaggedLinesSimplifier.cpp,
 	  source/simplify/TopologyPreservingSimplifier.cpp:
 	  fixed bug in TopologyPreservingSimplifier failing to
@@ -10335,2334 +18759,4166 @@
 	  class to more closely match JTS and use templated
 	  functions.
 
-2006-05-24 08:32  Sandro Santilli <strk at keybit.net>
+2006-05-24 08:32  Sandro Santilli <strk at kbt.io>
 
-	* [r1596] * capi/geos_c.h.in: #include <stddef.h> to get size_t
-	  definition (only #ifndef __cplusplus)
+	* [r1596] ChangeLog, capi/geos_c.h.in: * capi/geos_c.h.in: #include
+	  <stddef.h> to get size_t definition (only #ifndef __cplusplus)
 
 2006-05-24 05:53  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1595] Added new test: TopologyPreservingSimplifierTest.cpp.
-	  Added new utility.cpp helper for Unit Tests (implementes utils
-	  from JTS Unit Tests).
+	* [r1595] tests/unit/Makefile.am,
+	  tests/unit/simplify/TopologyPreservingSimplifierTest.cpp,
+	  tests/unit/utility.h: Added new test:
+	  TopologyPreservingSimplifierTest.cpp. Added new utility.cpp
+	  helper for Unit Tests (implementes utils from JTS Unit Tests).
 
-2006-05-23 15:06  Sandro Santilli <strk at keybit.net>
+2006-05-23 15:06  Sandro Santilli <strk at kbt.io>
 
-	* [r1594] * source/headers/geos/geom/Coordinate.h: added missing
-	  <string> include.
+	* [r1594] ChangeLog, source/headers/geos/geom/Coordinate.h: *
+	  source/headers/geos/geom/Coordinate.h: added missing <string>
+	  include.
 
-2006-05-23 14:44  Sandro Santilli <strk at keybit.net>
+2006-05-23 14:44  Sandro Santilli <strk at kbt.io>
 
-	* [r1593] * source/headers/geos/config.h: removed file which is not
-	  supposed to be in the repository.
+	* [r1593] ChangeLog, source/headers/geos/config.h: *
+	  source/headers/geos/config.h: removed file which is not supposed
+	  to be in the repository.
 
-2006-05-23 14:29  Sandro Santilli <strk at keybit.net>
+2006-05-23 14:29  Sandro Santilli <strk at kbt.io>
 
-	* [r1592] * source/headers/geos/index/quadtree/DoubleBits.h,
+	* [r1592] ChangeLog,
+	  source/headers/geos/index/quadtree/DoubleBits.h,
+	  source/index/quadtree/DoubleBits.cpp: *
+	  source/headers/geos/index/quadtree/DoubleBits.h,
 	  source/index/quadtree/DoubleBits.cpp: const correctness and
 	  documentation.
 
-2006-05-23 13:21  Sandro Santilli <strk at keybit.net>
+2006-05-23 13:21  Sandro Santilli <strk at kbt.io>
 
-	* [r1591] Added test for put/get Long values
+	* [r1591] tests/unit/io/ByteOrderValuesTest.cpp: Added test for
+	  put/get Long values
 
-2006-05-23 13:16  Sandro Santilli <strk at keybit.net>
+2006-05-23 13:16  Sandro Santilli <strk at kbt.io>
 
-	* [r1590] Fixed a bug in WKBWriter::writeByteOrder() failing to
-	  consider machine's byte order
+	* [r1590] ChangeLog, source/io/WKBWriter.cpp: Fixed a bug in
+	  WKBWriter::writeByteOrder() failing to consider machine's byte
+	  order
 
-2006-05-23 12:57  Sandro Santilli <strk at keybit.net>
+2006-05-23 12:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1589] Fixed small typo in label
+	* [r1589] tests/unit/geom/CoordinateTest.cpp: Fixed small typo in
+	  label
 
-2006-05-23 12:33  Sandro Santilli <strk at keybit.net>
+2006-05-23 12:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1588] * source/io/ByteOrderValues.cpp: fixed bug in putLong()
-	  also affecting putDouble()
+	* [r1588] ChangeLog, source/io/ByteOrderValues.cpp: *
+	  source/io/ByteOrderValues.cpp: fixed bug in putLong() also
+	  affecting putDouble()
 
-2006-05-23 12:23  Sandro Santilli <strk at keybit.net>
+2006-05-23 12:23  Sandro Santilli <strk at kbt.io>
 
-	* [r1587] * tests/unit/Makefile.am,
+	* [r1587] ChangeLog, tests/unit/Makefile.am,
+	  tests/unit/io/ByteOrderValuesTest.cpp: * tests/unit/Makefile.am,
 	  tests/unit/io/ByteOrderValuesTest.cpp: unit test for
 	  ByteOrderValues class.
 
-2006-05-23 11:07  Sandro Santilli <strk at keybit.net>
+2006-05-23 11:07  Sandro Santilli <strk at kbt.io>
 
-	* [r1586] * source/io/WKBWriter.cpp: fixed bug in ::writeInt
-	  missing to honour the requested byte order.
+	* [r1586] ChangeLog, source/io/WKBWriter.cpp: *
+	  source/io/WKBWriter.cpp: fixed bug in ::writeInt missing to
+	  honour the requested byte order.
 
-2006-05-23 10:56  Sandro Santilli <strk at keybit.net>
+2006-05-23 10:56  Sandro Santilli <strk at kbt.io>
 
-	* [r1585] Fixed top comment
+	* [r1585] tests/unit/io/WKBReaderTest.cpp: Fixed top comment
 
-2006-05-23 10:48  Sandro Santilli <strk at keybit.net>
+2006-05-23 10:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1584] * tests/unit/io/WKBReaderTest.cpp: cleaned up and added
-	  both XDR and NDR tests.
+	* [r1584] ChangeLog, tests/unit/io/WKBReaderTest.cpp: *
+	  tests/unit/io/WKBReaderTest.cpp: cleaned up and added both XDR
+	  and NDR tests.
 
-2006-05-23 09:24  Sandro Santilli <strk at keybit.net>
+2006-05-23 09:24  Sandro Santilli <strk at kbt.io>
 
-	* [r1583] * source/io/ByteOrderValues.cpp: changed ENDIAN_BIG and
-	  ENDIAN_LITTLE values to match WKBConstants::XDR and
-	  WKBConstants::NDR respectively.
+	* [r1583] ChangeLog, source/headers/geos/io/WKBConstants.h,
+	  source/io/ByteOrderValues.cpp: * source/io/ByteOrderValues.cpp:
+	  changed ENDIAN_BIG and ENDIAN_LITTLE values to match
+	  WKBConstants::XDR and WKBConstants::NDR respectively.
 	  * source/headers/geos/io/WKBConstants.h: added comments about
 	  meaning of XDR/NDR.
 
-2006-05-22 15:08  Sandro Santilli <strk at keybit.net>
+2006-05-22 15:08  Sandro Santilli <strk at kbt.io>
 
-	* [r1582] Print colon after exception name (as it has always been)
+	* [r1582] source/headers/geos/util/GEOSException.h: Print colon
+	  after exception name (as it has always been)
 
-2006-05-19 17:44  Sandro Santilli <strk at keybit.net>
+2006-05-19 17:44  Sandro Santilli <strk at kbt.io>
 
-	* [r1581] * source/simplify/TopologyPreservingSimplifier.cpp:
+	* [r1581] ChangeLog,
+	  source/simplify/TopologyPreservingSimplifier.cpp: *
+	  source/simplify/TopologyPreservingSimplifier.cpp:
 	  removed friend specification in
 	  TopologyPreservingSimplifier helper class
 	  (no more needed)
 
-2006-05-19 17:39  Sandro Santilli <strk at keybit.net>
+2006-05-19 17:39  Sandro Santilli <strk at kbt.io>
 
-	* [r1580] * tests/unit/geom/Geometry/coversTest.cpp:
+	* [r1580] ChangeLog, tests/unit/geom/Geometry/coversTest.cpp: *
+	  tests/unit/geom/Geometry/coversTest.cpp:
 	  keep tests in 'tut' namespace.
 
-2006-05-19 16:38  Sandro Santilli <strk at keybit.net>
+2006-05-19 16:38  Sandro Santilli <strk at kbt.io>
 
-	* [r1579] * tests/xmltester/XMLTester.cpp: report
+	* [r1579] ChangeLog, tests/xmltester/XMLTester.cpp: *
+	  tests/xmltester/XMLTester.cpp: report
 	  error on load of requested tests.
 
-2006-05-18 10:19  Sandro Santilli <strk at keybit.net>
+2006-05-18 10:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1578] * source/headers/geos/geom.h: fixed doxygen header for
-	  mainpage.
+	* [r1578] ChangeLog, source/headers/geos/geom.h: *
+	  source/headers/geos/geom.h: fixed doxygen header for mainpage.
 
-2006-05-18 10:16  Sandro Santilli <strk at keybit.net>
+2006-05-18 10:16  Sandro Santilli <strk at kbt.io>
 
-	* [r1577] Added note about the new BinaryOp class and its uses.
+	* [r1577] NEWS: Added note about the new BinaryOp class and its
+	  uses.
 
-2006-05-18 10:13  Sandro Santilli <strk at keybit.net>
+2006-05-18 10:13  Sandro Santilli <strk at kbt.io>
 
-	* [r1576] * source/headers/geos/geom/BinaryOp.h: added compile-time
-	  defines to avoid precision-reduction and simplify based policies
-	  (default to enabled).
+	* [r1576] ChangeLog, source/headers/geos/geom/BinaryOp.h: *
+	  source/headers/geos/geom/BinaryOp.h: added compile-time defines
+	  to avoid precision-reduction and simplify based policies (default
+	  to enabled).
 
-2006-05-18 09:32  Sandro Santilli <strk at keybit.net>
+2006-05-18 09:32  Sandro Santilli <strk at kbt.io>
 
-	* [r1575] added note about new Geometry predicates
+	* [r1575] NEWS: added note about new Geometry predicates
 
-2006-05-18 09:00  Sandro Santilli <strk at keybit.net>
+2006-05-18 09:00  Sandro Santilli <strk at kbt.io>
 
-	* [r1574] Added tests for coveredBy(), fixed ChangeLog entry
+	* [r1574] ChangeLog, tests/unit/geom/Geometry/coversTest.cpp: Added
+	  tests for coveredBy(), fixed ChangeLog entry
 
-2006-05-18 08:56  Sandro Santilli <strk at keybit.net>
+2006-05-18 08:56  Sandro Santilli <strk at kbt.io>
 
-	* [r1573] * source/geom/Geometry.cpp,
+	* [r1573] ChangeLog, source/geom/Geometry.cpp,
+	  source/headers/geos/geom/Geometry.h, tests/unit/Makefile.am,
+	  tests/unit/geom/Geometry/coversTest.cpp: *
+	  source/geom/Geometry.cpp,
 	  source/headers/geos/geom/Geometry.h: added
 	  covers() and isCoveredBy() predicates.
 	  * tests/unit/Makefile.am,
 	  tests/unit/geom/Geometry/coversTest.cpp:
 	  added test for covers() predicates.
 
-2006-05-17 17:41  Sandro Santilli <strk at keybit.net>
+2006-05-17 17:41  Sandro Santilli <strk at kbt.io>
 
-	* [r1572] Added output operator + test
+	* [r1572] source/geom/IntersectionMatrix.cpp,
+	  source/headers/geos/geom/IntersectionMatrix.h,
+	  tests/unit/geom/IntersectionMatrixTest.cpp: Added output operator
+	  + test
 
-2006-05-17 17:24  Sandro Santilli <strk at keybit.net>
+2006-05-17 17:24  Sandro Santilli <strk at kbt.io>
 
-	* [r1571] Added port info, fixed isCoveredBy() comment.
+	* [r1571] ChangeLog, source/geom/IntersectionMatrix.cpp,
+	  source/headers/geos/geom/IntersectionMatrix.h: Added port info,
+	  fixed isCoveredBy() comment.
 
-2006-05-17 17:20  Sandro Santilli <strk at keybit.net>
+2006-05-17 17:20  Sandro Santilli <strk at kbt.io>
 
-	* [r1570] added isCovers() and isCoveredBy() public methods to
-	  IntersectionMatrix and associated tests.
+	* [r1570] ChangeLog, source/geom/IntersectionMatrix.cpp,
+	  source/headers/geos/geom/IntersectionMatrix.h,
+	  tests/unit/geom/IntersectionMatrixTest.cpp: added isCovers() and
+	  isCoveredBy() public methods to IntersectionMatrix and associated
+	  tests.
 
-2006-05-17 08:40  Sandro Santilli <strk at keybit.net>
+2006-05-17 08:40  Sandro Santilli <strk at kbt.io>
 
-	* [r1569] typo fixed to make description more clear
+	* [r1569] source/headers/geos/geom/BinaryOp.h: typo fixed to make
+	  description more clear
 
 2006-05-13 10:42  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1563] Fixed line-ends in PointLocatorTest.cpp file.
+	* [r1563] tests/unit/algorithm/PointLocatorTest.cpp: Fixed
+	  line-ends in PointLocatorTest.cpp file.
 
 2006-05-13 08:26  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1562] Fixed line-ends in isRectangleTest.cpp. Added new
-	  patterns to .cvsignore.
+	* [r1562] ., .cvsignore, tests/unit, tests/unit/.cvsignore,
+	  tests/unit/geom/Geometry/isRectangleTest.cpp: Fixed line-ends in
+	  isRectangleTest.cpp. Added new patterns to .cvsignore.
 
-2006-05-05 15:40  Sandro Santilli <strk at keybit.net>
+2006-05-05 15:40  Sandro Santilli <strk at kbt.io>
 
-	* [r1561] Had nodind validation error throw an exception for
-	  SimpleSnapRounder
+	* [r1561] ChangeLog,
+	  source/noding/snapround/MCIndexSnapRounder.cpp,
+	  source/noding/snapround/SimpleSnapRounder.cpp: Had nodind
+	  validation error throw an exception for SimpleSnapRounder
 	  and MCIndexSnapRounder
 
-2006-05-05 14:34  Sandro Santilli <strk at keybit.net>
+2006-05-05 14:34  Sandro Santilli <strk at kbt.io>
 
-	* [r1560] New SegmentString unit test
+	* [r1560] ChangeLog, tests/unit/Makefile.am, tests/unit/noding,
+	  tests/unit/noding/SegmentStringTest.cpp: New SegmentString unit
+	  test
 
-2006-05-05 14:25  Sandro Santilli <strk at keybit.net>
+2006-05-05 14:25  Sandro Santilli <strk at kbt.io>
 
-	* [r1559] moved getSegmentOctant out of .inl into .cpp, renamed
-	  private eiList to nodeList as in JTS, added more assertion
-	  checking and fixed doxygen comments
+	* [r1559] source/headers/geos/noding/SegmentString.h,
+	  source/headers/geos/noding/SegmentString.inl,
+	  source/noding/SegmentString.cpp: moved getSegmentOctant out of
+	  .inl into .cpp, renamed private eiList to nodeList as in JTS,
+	  added more assertion checking and fixed doxygen comments
 
-2006-05-05 10:19  Sandro Santilli <strk at keybit.net>
+2006-05-05 10:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1558] droppped SegmentString::getContext(), new name is
-	  getData() to reflect change in JTS
+	* [r1558] ChangeLog, source/headers/geos/noding/SegmentString.h,
+	  source/headers/geos/noding/SegmentString.inl,
+	  source/noding/SegmentNodeList.cpp: droppped
+	  SegmentString::getContext(), new name is getData() to reflect
+	  change in JTS
 
-2006-05-05 09:37  Sandro Santilli <strk at keybit.net>
+2006-05-05 09:37  Sandro Santilli <strk at kbt.io>
 
-	* [r1557] * source/headers/geos/geom.h: fixed namespace
-	  qualification in doxygen page about C++ interface.
+	* [r1557] ChangeLog, source/headers/geos/geom.h: *
+	  source/headers/geos/geom.h: fixed namespace qualification in
+	  doxygen page about C++ interface.
 
-2006-05-04 15:49  Sandro Santilli <strk at keybit.net>
+2006-05-04 15:49  Sandro Santilli <strk at kbt.io>
 
-	* [r1556] updated all Geometry::getDimension() methods to return
+	* [r1556] ChangeLog, source/geom/GeometryCollection.cpp,
+	  source/geom/LineString.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/headers/geos/geom/Dimension.h,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/GeometryCollection.h,
+	  source/headers/geos/geom/LineString.h,
+	  source/headers/geos/geom/MultiLineString.h,
+	  source/headers/geos/geom/MultiPoint.h,
+	  source/headers/geos/geom/MultiPolygon.h,
+	  source/headers/geos/geom/Point.h,
+	  source/headers/geos/geom/Polygon.h,
+	  source/operation/buffer/BufferOp.cpp: updated all
+	  Geometry::getDimension() methods to return
 	  Dimension::DimensionType (closes bug#93)
 
-2006-05-04 14:05  Sandro Santilli <strk at keybit.net>
+2006-05-04 14:05  Sandro Santilli <strk at kbt.io>
 
-	* [r1555] * source/headers/geos/util/math.h: provided an
-	  util::round() method being an inline proxy to call appropriate
-	  default rounding function for the whole GEOS codebase. Currently
-	  pointing at util::java_math_round() being the last being used.
+	* [r1555] ChangeLog, source/geom/PrecisionModel.cpp,
+	  source/headers/geos/noding/snapround/HotPixel.inl,
+	  source/headers/geos/util/math.h, source/noding/ScaledNoder.cpp: *
+	  source/headers/geos/util/math.h: provided an util::round() method
+	  being an inline proxy to call appropriate default rounding
+	  function for the whole GEOS codebase. Currently pointing at
+	  util::java_math_round() being the last being used.
 
-2006-05-04 13:38  Sandro Santilli <strk at keybit.net>
+2006-05-04 13:38  Sandro Santilli <strk at kbt.io>
 
-	* [r1554] doxygen comments cleanup
+	* [r1554] source/headers/geos/geomgraph/DirectedEdge.h: doxygen
+	  comments cleanup
 
-2006-05-04 12:54  Sandro Santilli <strk at keybit.net>
+2006-05-04 12:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1553] Added invariant tester for NodeMap class, fixed comment
-	  about ownership of NodeFactory
+	* [r1553] ChangeLog, source/headers/geos/geomgraph/NodeMap.h: Added
+	  invariant tester for NodeMap class, fixed comment about ownership
+	  of NodeFactory
 
-2006-05-04 12:33  Sandro Santilli <strk at keybit.net>
+2006-05-04 12:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1552] Added some comments about RightmostEdgeFinder only
-	  considering forward DirectedEdge
+	* [r1552] source/operation/buffer/BufferSubgraph.cpp: Added some
+	  comments about RightmostEdgeFinder only considering forward
+	  DirectedEdge
 
-2006-05-04 12:19  Sandro Santilli <strk at keybit.net>
+2006-05-04 12:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1551] Added note about findEdge() only scanning for forward
-	  DirectedEdges
+	* [r1551]
+	  source/headers/geos/operation/buffer/RightmostEdgeFinder.h: Added
+	  note about findEdge() only scanning for forward DirectedEdges
 
-2006-05-04 12:17  Sandro Santilli <strk at keybit.net>
+2006-05-04 12:17  Sandro Santilli <strk at kbt.io>
 
-	* [r1550] Added comment about management of newly created
-	  DirectedEdges
+	* [r1550] source/geomgraph/PlanarGraph.cpp: Added comment about
+	  management of newly created DirectedEdges
 
-2006-05-04 10:15  Sandro Santilli <strk at keybit.net>
+2006-05-04 10:15  Sandro Santilli <strk at kbt.io>
 
-	* [r1549] Doxygen comments
+	* [r1549] ChangeLog,
+	  source/headers/geos/operation/buffer/OffsetCurveSetBuilder.h:
+	  Doxygen comments
 
-2006-05-04 09:16  Sandro Santilli <strk at keybit.net>
+2006-05-04 09:16  Sandro Santilli <strk at kbt.io>
 
-	* [r1548] Added JTS debugging, for comparison with JTS
+	* [r1548] source/operation/buffer/BufferBuilder.cpp: Added JTS
+	  debugging, for comparison with JTS
 
-2006-05-04 08:42  Sandro Santilli <strk at keybit.net>
+2006-05-04 08:42  Sandro Santilli <strk at kbt.io>
 
-	* [r1547] Added note about the CoordinateSequence::toVector()
-	  method.
+	* [r1547] ChangeLog, source/headers/geos/geom/CoordinateSequence.h:
+	  Added note about the CoordinateSequence::toVector() method.
 
-2006-05-04 08:35  Sandro Santilli <strk at keybit.net>
+2006-05-04 08:35  Sandro Santilli <strk at kbt.io>
 
-	* [r1546] noding/SegmentNodeList.cpp: cleanups, changed output
-	  operator to be more similar to JTS
+	* [r1546] ChangeLog, source/noding/SegmentNodeList.cpp:
+	  noding/SegmentNodeList.cpp: cleanups, changed output operator to
+	  be more similar to JTS
 
-2006-05-04 08:30  Sandro Santilli <strk at keybit.net>
+2006-05-04 08:30  Sandro Santilli <strk at kbt.io>
 
-	* [r1545] removed use of SegmentString::setCoordinates() [dropped]
+	* [r1545] source/noding/ScaledNoder.cpp: removed use of
+	  SegmentString::setCoordinates() [dropped]
 
-2006-05-04 08:29  Sandro Santilli <strk at keybit.net>
+2006-05-04 08:29  Sandro Santilli <strk at kbt.io>
 
-	* [r1544] * source/noding/ScaledNoder.cpp: removed use of
+	* [r1544] ChangeLog, source/headers/geos/noding/SegmentString.h,
+	  source/headers/geos/noding/SegmentString.inl: *
+	  source/noding/ScaledNoder.cpp: removed use of
 	  SegmentString::setCoordinates().
 	  * source/headers/geos/noding/SegmentStrign.{h,inl}: removed new
 	  setCoordinates() interface.
 
-2006-05-04 07:43  Sandro Santilli <strk at keybit.net>
+2006-05-04 07:43  Sandro Santilli <strk at kbt.io>
 
-	* [r1543] output operator for SegmentString class
+	* [r1543] ChangeLog, source/headers/geos/noding/SegmentString.h,
+	  source/noding/SegmentString.cpp: output operator for
+	  SegmentString class
 
-2006-05-04 07:41  Sandro Santilli <strk at keybit.net>
+2006-05-04 07:41  Sandro Santilli <strk at kbt.io>
 
-	* [r1542] const-correct size() method for SegmentNodeList
+	* [r1542] ChangeLog, source/headers/geos/noding/SegmentNodeList.h:
+	  const-correct size() method for SegmentNodeList
 
-2006-05-04 06:36  Sandro Santilli <strk at keybit.net>
+2006-05-04 06:36  Sandro Santilli <strk at kbt.io>
 
-	* [r1541] Extended definition to take new CoordinateSequence
-	  tracking into account
+	* [r1541] source/headers/geos/noding/ScaledNoder.h: Extended
+	  definition to take new CoordinateSequence tracking into account
 
-2006-05-03 20:05  Sandro Santilli <strk at keybit.net>
+2006-05-03 20:05  Sandro Santilli <strk at kbt.io>
 
-	* [r1540] Added SQL debugging output
+	* [r1540] ChangeLog, source/noding/ScaledNoder.cpp: Added SQL
+	  debugging output
 
-2006-05-03 19:47  Sandro Santilli <strk at keybit.net>
+2006-05-03 19:47  Sandro Santilli <strk at kbt.io>
 
-	* [r1539] added operator<< for CoordinateSequence
+	* [r1539] ChangeLog, source/geom/CoordinateSequence.cpp,
+	  source/headers/geos/geom/CoordinateSequence.h: added operator<<
+	  for CoordinateSequence
 
-2006-05-03 18:04  Sandro Santilli <strk at keybit.net>
+2006-05-03 18:04  Sandro Santilli <strk at kbt.io>
 
-	* [r1538] added SegmentString::setCoordinates() interface
+	* [r1538] ChangeLog, source/headers/geos/noding/SegmentString.h,
+	  source/headers/geos/noding/SegmentString.inl: added
+	  SegmentString::setCoordinates() interface
 
-2006-05-03 17:54  Sandro Santilli <strk at keybit.net>
+2006-05-03 17:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1537] Uncommented correctness checker
+	* [r1537] source/noding/snapround/SimpleSnapRounder.cpp:
+	  Uncommented correctness checker
 
-2006-05-03 17:51  Sandro Santilli <strk at keybit.net>
+2006-05-03 17:51  Sandro Santilli <strk at kbt.io>
 
-	* [r1536] system headers included after package headers
+	* [r1536] source/noding/snapround/HotPixel.cpp: system headers
+	  included after package headers
 
-2006-05-03 17:50  Sandro Santilli <strk at keybit.net>
+2006-05-03 17:50  Sandro Santilli <strk at kbt.io>
 
-	* [r1535] Doxygen comments
+	* [r1535] ChangeLog,
+	  source/headers/geos/noding/snapround/HotPixel.h: Doxygen comments
 
-2006-05-03 17:48  Sandro Santilli <strk at keybit.net>
+2006-05-03 17:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1534] Forgot a slash
+	* [r1534] source/headers/geos/nodingSnapround.h: Forgot a slash
 
-2006-05-03 17:48  Sandro Santilli <strk at keybit.net>
+2006-05-03 17:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1533] Doxygen brief
+	* [r1533] ChangeLog, source/headers/geos/nodingSnapround.h: Doxygen
+	  brief
 
 2006-05-03 16:22  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1532] tweak clean target
+	* [r1532] source/Makefile.vc: tweak clean target
 
 2006-05-03 16:21  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1531] Build the C API and shared lib separate from the normal
-	  lib
+	* [r1531] source/Makefile.vc: Build the C API and shared lib
+	  separate from the normal lib
 	  Add missing files
 
-2006-05-03 16:19  Sandro Santilli <strk at keybit.net>
+2006-05-03 16:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1530] fit in 80 columns
+	* [r1530] source/headers/geos/noding/SegmentString.h: fit in 80
+	  columns
 
 2006-05-03 16:09  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1529] Maintain a geos_c.h.vc until we come up with a better
-	  solution
+	* [r1529] capi/geos_c.h.vc: Maintain a geos_c.h.vc until we come up
+	  with a better solution
 
 2006-05-03 15:50  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1528] *** empty log message ***
+	* [r1528] ChangeLog: *** empty log message ***
 
-2006-05-03 15:49  Sandro Santilli <strk at keybit.net>
+2006-05-03 15:49  Sandro Santilli <strk at kbt.io>
 
-	* [r1527] fixed bug in SimpleSnapRounder::computeSnaps, trying to
-	  access out-of-bound vector element.
+	* [r1527] ChangeLog, source/noding/snapround/SimpleSnapRounder.cpp:
+	  fixed bug in SimpleSnapRounder::computeSnaps, trying to access
+	  out-of-bound vector element.
 
 2006-05-03 15:49  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1526] add additional files and change names where necessary
+	* [r1526] source/Makefile.vc: add additional files and change names
+	  where necessary
 
-2006-05-03 15:40  Sandro Santilli <strk at keybit.net>
+2006-05-03 15:40  Sandro Santilli <strk at kbt.io>
 
-	* [r1525] test SegmentString invariant before and after scaling
+	* [r1525] source/noding/ScaledNoder.cpp: test SegmentString
+	  invariant before and after scaling
 
-2006-05-03 15:37  Sandro Santilli <strk at keybit.net>
+2006-05-03 15:37  Sandro Santilli <strk at kbt.io>
 
-	* [r1524] Tabs for indent
+	* [r1524] ChangeLog: Tabs for indent
 
 2006-05-03 15:32  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1523] *** empty log message ***
+	* [r1523] ChangeLog: *** empty log message ***
 
 2006-05-03 15:30  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1522] Maintain a version.h.vc until we come up with a better
-	  solution
+	* [r1522] source/headers/geos/version.h.vc: Maintain a version.h.vc
+	  until we come up with a better solution
 
-2006-05-03 15:28  Sandro Santilli <strk at keybit.net>
+2006-05-03 15:28  Sandro Santilli <strk at kbt.io>
 
-	* [r1521] updated JTS_PORT to 1.7.1
+	* [r1521] ChangeLog, configure.in: updated JTS_PORT to 1.7.1
 
-2006-05-03 15:26  Sandro Santilli <strk at keybit.net>
+2006-05-03 15:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1520] testInvariant made public and always inlined
+	* [r1520] ChangeLog, source/headers/geos/noding/SegmentString.h,
+	  source/headers/geos/noding/SegmentString.inl: testInvariant made
+	  public and always inlined
 
-2006-05-03 15:19  Sandro Santilli <strk at keybit.net>
+2006-05-03 15:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1519] Changed sym_round() to java_math_round()
+	* [r1519] ChangeLog,
+	  source/headers/geos/noding/snapround/HotPixel.inl: Changed
+	  sym_round() to java_math_round()
 
-2006-05-03 15:12  Sandro Santilli <strk at keybit.net>
+2006-05-03 15:12  Sandro Santilli <strk at kbt.io>
 
-	* [r1518] Oops, uninitialized value fix
+	* [r1518] source/noding/ScaledNoder.cpp: Oops, uninitialized value
+	  fix
 
-2006-05-03 15:06  Sandro Santilli <strk at keybit.net>
+2006-05-03 15:06  Sandro Santilli <strk at kbt.io>
 
-	* [r1517] Updated
+	* [r1517] ChangeLog: Updated
 
-2006-05-03 15:06  Sandro Santilli <strk at keybit.net>
+2006-05-03 15:06  Sandro Santilli <strk at kbt.io>
 
-	* [r1516] Better doxygen comment
+	* [r1516] source/headers/geos/noding/IntersectionFinderAdder.h:
+	  Better doxygen comment
 
-2006-05-03 15:05  Sandro Santilli <strk at keybit.net>
+2006-05-03 15:05  Sandro Santilli <strk at kbt.io>
 
-	* [r1515] Assertions checking
+	* [r1515] source/operation/buffer/RightmostEdgeFinder.cpp:
+	  Assertions checking
 
-2006-05-03 15:04  Sandro Santilli <strk at keybit.net>
+2006-05-03 15:04  Sandro Santilli <strk at kbt.io>
 
-	* [r1514] removed reduntant port info
+	* [r1514] source/headers/geos/noding/ScaledNoder.h: removed
+	  reduntant port info
 
-2006-05-03 15:02  Sandro Santilli <strk at keybit.net>
+2006-05-03 15:02  Sandro Santilli <strk at kbt.io>
 
-	* [r1513] moved some implementations from header to .cpp file
-	  (taken out of inline)
+	* [r1513] source/headers/geos/noding/snapround/SimpleSnapRounder.h,
+	  source/noding/snapround/SimpleSnapRounder.cpp: moved some
+	  implementations from header to .cpp file (taken out of inline)
 
-2006-05-03 15:00  Sandro Santilli <strk at keybit.net>
+2006-05-03 15:00  Sandro Santilli <strk at kbt.io>
 
-	* [r1512] Fixed scale() function to remove repeated points *after*
-	  rounding. Added brief doxygen class description.
+	* [r1512] source/headers/geos/noding/ScaledNoder.h,
+	  source/noding/ScaledNoder.cpp: Fixed scale() function to remove
+	  repeated points *after* rounding. Added brief doxygen class
+	  description.
 
-2006-05-03 10:26  Sandro Santilli <strk at keybit.net>
+2006-05-03 10:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1511] Fixed misuse of precision model in noder
-	  (bufferFixedPrecision)
+	* [r1511] ChangeLog, source/operation/buffer/BufferOp.cpp: Fixed
+	  misuse of precision model in noder (bufferFixedPrecision)
 
-2006-05-03 09:46  Sandro Santilli <strk at keybit.net>
+2006-05-03 09:46  Sandro Santilli <strk at kbt.io>
 
-	* [r1510] buffer headers reduction item
+	* [r1510] ChangeLog: buffer headers reduction item
 
-2006-05-03 09:45  Sandro Santilli <strk at keybit.net>
+2006-05-03 09:45  Sandro Santilli <strk at kbt.io>
 
-	* [r1509] Do not install following buffer headers: BufferBuilder.h,
+	* [r1509] source/headers/geos/opBuffer.h,
+	  source/headers/geos/operation/buffer/Makefile.am: Do not install
+	  following buffer headers: BufferBuilder.h,
 	  OffsetCurveSetBuilder.h, BufferSubgraph.h,
 	  SubgraphDepthLocater.h,
 	  RightmostEdgeFinder.h
 
-2006-05-03 09:14  Sandro Santilli <strk at keybit.net>
+2006-05-03 09:14  Sandro Santilli <strk at kbt.io>
 
-	* [r1508] * source/operation/buffer/OffsetCurveSetBuilder.cpp: used
-	  auto_ptr to protect leaks of CoordinateSequence
+	* [r1508] ChangeLog, source/headers/geos/noding/ScaledNoder.h,
+	  source/noding/ScaledNoder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp: *
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp: used auto_ptr
+	  to protect leaks of CoordinateSequence
 	  * source/noding/ScaledNoder.cpp,
 	  source/headers/geos/noding/ScaledNoder.h: ported JTS bugfix in
 	  scale method.
 
-2006-05-03 08:58  Sandro Santilli <strk at keybit.net>
+2006-05-03 08:58  Sandro Santilli <strk at kbt.io>
 
-	* [r1507] added new non-static
-	  CoordinateSequence::removeRepeatedPoints() mutator.
+	* [r1507] ChangeLog, source/geom/CoordinateArraySequence.cpp,
+	  source/headers/geos/geom/CoordinateArraySequence.h,
+	  source/headers/geos/geom/CoordinateSequence.h,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp: added new
+	  non-static CoordinateSequence::removeRepeatedPoints() mutator.
 
-2006-05-02 16:22  Sandro Santilli <strk at keybit.net>
+2006-05-02 16:22  Sandro Santilli <strk at kbt.io>
 
-	* [r1506] * source/noding/ScaledNoder.cpp: use java_math_round
-	  instead of sym_round.
+	* [r1506] ChangeLog, source/noding/ScaledNoder.cpp: *
+	  source/noding/ScaledNoder.cpp: use java_math_round instead of
+	  sym_round.
 
-2006-05-02 14:51  Sandro Santilli <strk at keybit.net>
+2006-05-02 14:51  Sandro Santilli <strk at kbt.io>
 
-	* [r1505] Added port info and fixed doxygen comments for
-	  CGAlgorithms class
+	* [r1505] source/algorithm/CGAlgorithms.cpp,
+	  source/headers/geos/algorithm/CGAlgorithms.h: Added port info and
+	  fixed doxygen comments for CGAlgorithms class
 
-2006-05-02 14:32  Sandro Santilli <strk at keybit.net>
+2006-05-02 14:32  Sandro Santilli <strk at kbt.io>
 
-	* [r1503] Added port info for polygonize/EdgeRing class,
-	  polygonize/EdgeRing.h header
+	* [r1503] ChangeLog, source/headers/geos/opPolygonize.h,
+	  source/headers/geos/operation/polygonize/EdgeRing.h,
+	  source/headers/geos/operation/polygonize/Makefile.am,
+	  source/operation/polygonize/EdgeRing.cpp: Added port info for
+	  polygonize/EdgeRing class, polygonize/EdgeRing.h header
 	  not installed.
 
-2006-05-02 14:22  Sandro Santilli <strk at keybit.net>
+2006-05-02 14:22  Sandro Santilli <strk at kbt.io>
 
-	* [r1502] * source/operation/polygonize/: polygonizeEdgeRing.cpp
-	  renamed to EdgeRing.cpp, to follow JTS naming.
+	* [r1502] ChangeLog, source/operation/polygonize/EdgeRing.cpp,
+	  source/operation/polygonize/Makefile.am,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp: *
+	  source/operation/polygonize/: polygonizeEdgeRing.cpp renamed to
+	  EdgeRing.cpp, to follow JTS naming.
 
-2006-05-02 14:01  Sandro Santilli <strk at keybit.net>
+2006-05-02 14:01  Sandro Santilli <strk at kbt.io>
 
-	* [r1500] * source/io/WKBReader.cpp: fixed reads of XDR WKB.
+	* [r1500] ChangeLog, source/io/WKBReader.cpp: *
+	  source/io/WKBReader.cpp: fixed reads of XDR WKB.
 
-2006-04-28 12:09  Sandro Santilli <strk at keybit.net>
+2006-04-28 12:09  Sandro Santilli <strk at kbt.io>
 
-	* [r1497] Added 'verbose-test' rule
+	* [r1497] tests/xmltester/Makefile.am: Added 'verbose-test' rule
 
-2006-04-28 12:08  Sandro Santilli <strk at keybit.net>
+2006-04-28 12:08  Sandro Santilli <strk at kbt.io>
 
-	* [r1496] Added note about Geometry constructors
+	* [r1496] NEWS: Added note about Geometry constructors
 
-2006-04-28 11:56  Sandro Santilli <strk at keybit.net>
+2006-04-28 11:56  Sandro Santilli <strk at kbt.io>
 
-	* [r1495] * source/geom/GeometryFactory.cpp,
+	* [r1495] ChangeLog, source/geom/GeometryFactory.cpp,
+	  source/geom/Polygon.cpp,
+	  source/headers/geos/geom/GeometryFactory.h: *
+	  source/geom/GeometryFactory.cpp,
 	  source/headers/geos/geom/GeometryFactory.h: added LineString copy
 	  constructor.
 	  * source/geom/Polygon.cpp: fixed getBoundary method to always
 	  return a geometry composed by LineStrings (not LinearRings)
 
-2006-04-28 11:12  Sandro Santilli <strk at keybit.net>
+2006-04-28 11:12  Sandro Santilli <strk at kbt.io>
 
-	* [r1494] removed warnings related to change in getNumPoints()
-	  return type.
+	* [r1494] ChangeLog,
+	  source/headers/geos/operation/predicate/RectangleIntersects.h,
+	  source/io/WKTWriter.cpp,
+	  source/operation/predicate/RectangleIntersects.cpp: removed
+	  warnings related to change in getNumPoints() return type.
 
-2006-04-28 10:55  Sandro Santilli <strk at keybit.net>
+2006-04-28 10:55  Sandro Santilli <strk at kbt.io>
 
-	* [r1493] Geometry constructors made protected, to ensure all
-	  constructions use GeometryFactory,
+	* [r1493] ChangeLog, source/geom/GeometryCollection.cpp,
+	  source/geom/LineString.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/GeometryCollection.h,
+	  source/headers/geos/geom/LineString.h,
+	  source/headers/geos/geom/MultiLineString.h,
+	  source/headers/geos/geom/MultiPoint.h,
+	  source/headers/geos/geom/MultiPolygon.h,
+	  source/headers/geos/geom/Point.h,
+	  source/headers/geos/geom/Polygon.h: Geometry constructors made
+	  protected, to ensure all constructions use GeometryFactory,
 	  which has been made friend of all Geometry derivates.
 	  getNumPoints() changed to return
 	  size_t.
 
-2006-04-28 10:51  Sandro Santilli <strk at keybit.net>
+2006-04-28 10:51  Sandro Santilli <strk at kbt.io>
 
-	* [r1492] Unit tests: only construct Geoms using GeometryFactory.
+	* [r1492] ChangeLog, tests/unit/geom/LineStringTest.cpp,
+	  tests/unit/geom/MultiPointTest.cpp,
+	  tests/unit/geom/PointTest.cpp, tests/unit/geom/PolygonTest.cpp:
+	  Unit tests: only construct Geoms using GeometryFactory.
 
-2006-04-27 15:15  Sandro Santilli <strk at keybit.net>
+2006-04-27 15:15  Sandro Santilli <strk at kbt.io>
 
-	* [r1491] Z check removed from invariant tester to avoid aborts due
-	  to differences in FP computations.
+	* [r1491] ChangeLog, source/headers/geos/geomgraph/Node.h: Z check
+	  removed from invariant tester to avoid aborts due to differences
+	  in FP computations.
 
-2006-04-27 15:07  Sandro Santilli <strk at keybit.net>
+2006-04-27 15:07  Sandro Santilli <strk at kbt.io>
 
-	* [r1490] use output operators in debugging lines
+	* [r1490] source/geomgraph/PlanarGraph.cpp: use output operators in
+	  debugging lines
 
-2006-04-27 15:06  Sandro Santilli <strk at keybit.net>
+2006-04-27 15:06  Sandro Santilli <strk at kbt.io>
 
-	* [r1489] (addNode): always use the Node Coordinate as a key in the
-	  map to reduce likeliness of a premature deletion.
+	* [r1489] ChangeLog, source/geomgraph/NodeMap.cpp: (addNode):
+	  always use the Node Coordinate as a key in the map to reduce
+	  likeliness of a premature deletion.
 
-2006-04-27 15:03  Sandro Santilli <strk at keybit.net>
+2006-04-27 15:03  Sandro Santilli <strk at kbt.io>
 
-	* [r1488] standard algorithm used in addZ() for vector seek
+	* [r1488] source/geomgraph/Node.cpp: standard algorithm used in
+	  addZ() for vector seek
 
-2006-04-26 16:35  Sandro Santilli <strk at keybit.net>
+2006-04-26 16:35  Sandro Santilli <strk at kbt.io>
 
-	* [r1485] Had WKTReader accept correct form for MultiPoint
+	* [r1485] ChangeLog, source/io/StringTokenizer.cpp,
+	  source/io/WKTReader.cpp, tests/xmltester/testLeaksBig.xml: Had
+	  WKTReader accept correct form for MultiPoint
 
-2006-04-26 10:39  Sandro Santilli <strk at keybit.net>
+2006-04-26 10:39  Sandro Santilli <strk at kbt.io>
 
-	* [r1482] Added mloskot item (bug#100)
+	* [r1482] ChangeLog: Added mloskot item (bug#100)
 
-2006-04-26 10:26  Sandro Santilli <strk at keybit.net>
+2006-04-26 10:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1481] tools/geos-config.in: fixed library path to use layout
-	  detected by autoconf
+	* [r1481] ChangeLog, tools/geos-config.in: tools/geos-config.in:
+	  fixed library path to use layout detected by autoconf
 
-2006-04-24 15:47  Sandro Santilli <strk at keybit.net>
+2006-04-24 15:47  Sandro Santilli <strk at kbt.io>
 
-	* [r1480] Public constructors change made permanent
+	* [r1480] source/simplify/TopologyPreservingSimplifier.cpp: Public
+	  constructors change made permanent
 
 2006-04-23 11:58  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1479] Small refactoring of DouglasPeuckerSimplifierTest (prefer
-	  to use ctor instead of operator= to create objects). Added new
-	  patterns to .cvsignore.
+	* [r1479] ., .cvsignore,
+	  tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp: Small
+	  refactoring of DouglasPeuckerSimplifierTest (prefer to use ctor
+	  instead of operator= to create objects). Added new patterns to
+	  .cvsignore.
 
 2006-04-23 11:29  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1478] Added new patterns to .cvsignore file.
+	* [r1478] ., .cvsignore: Added new patterns to .cvsignore file.
 
 2006-04-22 17:16  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1477] Temporar fix of Bug #100. This report requires deeper
-	  analysis!.
+	* [r1477] source/simplify/TopologyPreservingSimplifier.cpp:
+	  Temporar fix of Bug #100. This report requires deeper analysis!.
 
-2006-04-21 17:04  Sandro Santilli <strk at keybit.net>
+2006-04-21 17:04  Sandro Santilli <strk at kbt.io>
 
-	* [r1476] Fixed constructor by type to always initialize scale
-	  factor
+	* [r1476] ChangeLog, source/geom/PrecisionModel.cpp: Fixed
+	  constructor by type to always initialize scale factor
 
-2006-04-20 16:21  Sandro Santilli <strk at keybit.net>
+2006-04-20 16:21  Sandro Santilli <strk at kbt.io>
 
-	* [r1475] Added missing debugging output
+	* [r1475] ChangeLog, source/headers/geos/geom/BinaryOp.h: Added
+	  missing debugging output
 
-2006-04-20 14:27  Sandro Santilli <strk at keybit.net>
+2006-04-20 14:27  Sandro Santilli <strk at kbt.io>
 
-	* [r1474] HCoordinate class changed to use long double types
-	  internally, in order to improve computation precision
+	* [r1474] ChangeLog, source/algorithm/HCoordinate.cpp,
+	  source/headers/geos/algorithm/HCoordinate.h: HCoordinate class
+	  changed to use long double types internally, in order to improve
+	  computation precision
 
-2006-04-20 14:16  Sandro Santilli <strk at keybit.net>
+2006-04-20 14:16  Sandro Santilli <strk at kbt.io>
 
-	* [r1473] Added some more doxygen comments
+	* [r1473] source/headers/geos/algorithm/LineIntersector.h: Added
+	  some more doxygen comments
 
-2006-04-20 11:11  Sandro Santilli <strk at keybit.net>
+2006-04-20 11:11  Sandro Santilli <strk at kbt.io>
 
-	* [r1472] source/algorithm/HCoordinate.cpp: added compile time
-	  define to force storage of intermediate computation values to
-	  variables (in order to make the -ffloat-store gcc switch
-	  effective). Disabled by default.
+	* [r1472] ChangeLog, source/algorithm/HCoordinate.cpp:
+	  source/algorithm/HCoordinate.cpp: added compile time define to
+	  force storage of intermediate computation values to variables (in
+	  order to make the -ffloat-store gcc switch effective). Disabled
+	  by default.
 
-2006-04-19 09:21  Sandro Santilli <strk at keybit.net>
+2006-04-19 09:21  Sandro Santilli <strk at kbt.io>
 
-	* [r1471] Added snapround and simplify tests items
+	* [r1471] TODO: Added snapround and simplify tests items
 
-2006-04-19 09:20  Sandro Santilli <strk at keybit.net>
+2006-04-19 09:20  Sandro Santilli <strk at kbt.io>
 
-	* [r1470] updated
+	* [r1470] NEWS: updated
 
-2006-04-14 15:34  Sandro Santilli <strk at keybit.net>
+2006-04-14 15:34  Sandro Santilli <strk at kbt.io>
 
-	* [r1469] Had CAPI use new BinaryOp class in an aim to reduce
-	  robustness problems
+	* [r1469] ChangeLog, capi/geos_c.cpp: Had CAPI use new BinaryOp
+	  class in an aim to reduce robustness problems
 
-2006-04-14 15:25  Sandro Santilli <strk at keybit.net>
+2006-04-14 15:25  Sandro Santilli <strk at kbt.io>
 
-	* [r1468] updated, somehow
+	* [r1468] TODO: updated, somehow
 
-2006-04-14 15:19  Sandro Santilli <strk at keybit.net>
+2006-04-14 15:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1467] removed precision reduction code (use BinaryOp for that)
+	* [r1467] ChangeLog, source/operation/overlay/OverlayOp.cpp:
+	  removed precision reduction code (use BinaryOp for that)
 
-2006-04-14 15:06  Sandro Santilli <strk at keybit.net>
+2006-04-14 15:06  Sandro Santilli <strk at kbt.io>
 
-	* [r1466] Added BinaryOp.h header
+	* [r1466] source/headers/geos/geom/Makefile.am: Added BinaryOp.h
+	  header
 
-2006-04-14 15:04  Sandro Santilli <strk at keybit.net>
+2006-04-14 15:04  Sandro Santilli <strk at kbt.io>
 
-	* [r1465] fixed missing namespace qualification in
-	  overlay::overlayOp
+	* [r1465] source/headers/geos/operation/overlay/OverlayOp.h: fixed
+	  missing namespace qualification in overlay::overlayOp
 
-2006-04-14 14:57  Sandro Santilli <strk at keybit.net>
+2006-04-14 14:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1464] XMLTester binary ops invoked using the new BinaryOp
-	  template function.
+	* [r1464] ChangeLog, tests/xmltester/XMLTester.cpp: XMLTester
+	  binary ops invoked using the new BinaryOp template function.
 
-2006-04-14 14:38  Sandro Santilli <strk at keybit.net>
+2006-04-14 14:38  Sandro Santilli <strk at kbt.io>
 
-	* [r1463] new geos::Geom::BinaryOp template function implementing
-	  various heuristics aimed at making binary geometry ops work
-	  around robustness issues.
+	* [r1463] ChangeLog, source/headers/geos/geom/BinaryOp.h: new
+	  geos::Geom::BinaryOp template function implementing various
+	  heuristics aimed at making binary geometry ops work around
+	  robustness issues.
 
-2006-04-14 14:35  Sandro Santilli <strk at keybit.net>
+2006-04-14 14:35  Sandro Santilli <strk at kbt.io>
 
-	* [r1462] Added overlayOp() adapter for use in templates expecting
-	  binary ops
+	* [r1462] ChangeLog,
+	  source/headers/geos/operation/overlay/OverlayOp.h: Added
+	  overlayOp() adapter for use in templates expecting binary ops
 
-2006-04-14 09:02  Sandro Santilli <strk at keybit.net>
+2006-04-14 09:02  Sandro Santilli <strk at kbt.io>
 
-	* [r1461] Hadded output operator and debugging prints for
-	  HCoordinate.
+	* [r1461] ChangeLog, source/algorithm/HCoordinate.cpp,
+	  source/headers/geos/algorithm/HCoordinate.h: Hadded output
+	  operator and debugging prints for HCoordinate.
 
-2006-04-13 23:57  Sandro Santilli <strk at keybit.net>
+2006-04-13 23:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1460] Disables reduced precision overlayOp (is broken)
+	* [r1460] source/operation/overlay/OverlayOp.cpp: Disables reduced
+	  precision overlayOp (is broken)
 
-2006-04-13 23:42  Sandro Santilli <strk at keybit.net>
+2006-04-13 23:42  Sandro Santilli <strk at kbt.io>
 
-	* [r1459] Plugged CommonBitsOp attempts in overlay op, before brute
-	  force precision
+	* [r1459] source/operation/overlay/OverlayOp.cpp: Plugged
+	  CommonBitsOp attempts in overlay op, before brute force precision
 	  reduction (this is likely going to change)
 
-2006-04-13 23:28  Sandro Santilli <strk at keybit.net>
-
-	* [r1458] "always build before commit" (forgot a closing paren)
+2006-04-13 23:28  Sandro Santilli <strk at kbt.io>
 
-2006-04-13 23:23  Sandro Santilli <strk at keybit.net>
+	* [r1458] source/precision/CommonBitsOp.cpp: "always build before
+	  commit" (forgot a closing paren)
 
-	* [r1457] fixed bug in binary ops failing to consistently reduce
-	  operands.
+2006-04-13 23:23  Sandro Santilli <strk at kbt.io>
 
-2006-04-13 21:53  Sandro Santilli <strk at keybit.net>
+	* [r1457] ChangeLog, source/headers/geos/precision/CommonBitsOp.h,
+	  source/precision/CommonBitsOp.cpp: fixed bug in binary ops
+	  failing to consistently reduce operands.
 
-	* [r1456] fixed bug introduced by previous commit
+2006-04-13 21:53  Sandro Santilli <strk at kbt.io>
 
-2006-04-13 21:52  Sandro Santilli <strk at keybit.net>
+	* [r1456] capi/geostest.c: fixed bug introduced by previous commit
 
-	* [r1455] Many debugging lines and assertions added. Fixed bug in
-	  TaggedLineString class.
+2006-04-13 21:52  Sandro Santilli <strk at kbt.io>
 
-2006-04-13 17:09  Sandro Santilli <strk at keybit.net>
+	* [r1455] source/headers/geos/simplify/TaggedLineString.h,
+	  source/headers/geos/simplify/TaggedLineStringSimplifier.h,
+	  source/simplify/TaggedLineString.cpp,
+	  source/simplify/TaggedLineStringSimplifier.cpp,
+	  source/simplify/TopologyPreservingSimplifier.cpp: Many debugging
+	  lines and assertions added. Fixed bug in TaggedLineString class.
 
-	* [r1454] Use default GeometryFactory instance (finishGEOS() is a
-	  no-op now)
+2006-04-13 17:09  Sandro Santilli <strk at kbt.io>
 
-2006-04-13 16:48  Sandro Santilli <strk at keybit.net>
+	* [r1454] ChangeLog, capi/geos_c.cpp: Use default GeometryFactory
+	  instance (finishGEOS() is a no-op now)
 
-	* [r1453] Added GEOSSimplify and GEOSTopologyPreserveSimplify
-	  interfaces. Removed compiler warnings in geostest
+2006-04-13 16:48  Sandro Santilli <strk at kbt.io>
 
-2006-04-13 16:44  Sandro Santilli <strk at keybit.net>
+	* [r1453] ChangeLog, capi/geos_c.cpp, capi/geos_c.h.in,
+	  capi/geostest.c: Added GEOSSimplify and
+	  GEOSTopologyPreserveSimplify interfaces. Removed compiler
+	  warnings in geostest
 
-	* [r1452] Fixed a bug in DPTransformer handling of MultiPolygons
+2006-04-13 16:44  Sandro Santilli <strk at kbt.io>
 
-2006-04-13 16:04  Sandro Santilli <strk at keybit.net>
+	* [r1452] source/simplify/DouglasPeuckerSimplifier.cpp: Fixed a bug
+	  in DPTransformer handling of MultiPolygons
 
-	* [r1451] Made TopologyPreservingSimplifier implementation
-	  successfully build
+2006-04-13 16:04  Sandro Santilli <strk at kbt.io>
 
-2006-04-13 14:51  Sandro Santilli <strk at keybit.net>
+	* [r1451] source/headers/geos/simplify/TaggedLineString.h,
+	  source/headers/geos/simplify/TopologyPreservingSimplifier.h,
+	  source/simplify/Makefile.am,
+	  source/simplify/TopologyPreservingSimplifier.cpp: Made
+	  TopologyPreservingSimplifier implementation successfully build
 
-	* [r1450] Forced NDR output (to not rely on architecture). Removed
-	  CRs endings.
+2006-04-13 14:51  Sandro Santilli <strk at kbt.io>
 
-2006-04-13 14:25  Sandro Santilli <strk at keybit.net>
+	* [r1450] ChangeLog, tests/unit/io/WKBReaderTest.cpp: Forced NDR
+	  output (to not rely on architecture). Removed CRs endings.
 
-	* [r1449] TopologyPreservingSimplifier initial port
+2006-04-13 14:25  Sandro Santilli <strk at kbt.io>
 
-2006-04-13 10:39  Sandro Santilli <strk at keybit.net>
-
-	* [r1448] Initial implementation of TaggedLinesSimplifier class
+	* [r1449] ChangeLog, source/geom/GeometryComponentFilter.cpp,
+	  source/headers/geos/geom/GeometryComponentFilter.h,
+	  source/headers/geos/geom/util/GeometryTransformer.h,
+	  source/headers/geos/simplify/TaggedLinesSimplifier.h,
+	  source/headers/geos/simplify/TopologyPreservingSimplifier.h,
+	  source/simplify/Makefile.am,
+	  source/simplify/TaggedLinesSimplifier.cpp,
+	  source/simplify/TopologyPreservingSimplifier.cpp:
+	  TopologyPreservingSimplifier initial port
+
+2006-04-13 10:39  Sandro Santilli <strk at kbt.io>
+
+	* [r1448] ChangeLog,
+	  source/headers/geos/simplify/DouglasPeuckerLineSimplifier.h,
+	  source/headers/geos/simplify/DouglasPeuckerSimplifier.h,
+	  source/headers/geos/simplify/Makefile.am,
+	  source/headers/geos/simplify/TaggedLineStringSimplifier.h,
+	  source/headers/geos/simplify/TaggedLinesSimplifier.h,
+	  source/headers/geos/simplify/TopologyPreservingSimplifier.h,
+	  source/simplify/Makefile.am,
+	  source/simplify/TaggedLinesSimplifier.cpp,
+	  source/simplify/TopologyPreservingSimplifier.cpp: Initial
+	  implementation of TaggedLinesSimplifier class
 
 2006-04-13 09:28  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1447] Removed definition of copy ctor and assignment operator
-	  for LineSegmentString class.
+	* [r1447] source/headers/geos/simplify/LineSegmentIndex.h,
+	  source/simplify/LineSegmentIndex.cpp: Removed definition of copy
+	  ctor and assignment operator for LineSegmentString class.
 
 2006-04-13 09:21  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1446] Removed definition of copy ctor and assignment operator
-	  for TaggedLineString class.
+	* [r1446] source/headers/geos/simplify/TaggedLineString.h,
+	  source/simplify/TaggedLineString.cpp: Removed definition of copy
+	  ctor and assignment operator for TaggedLineString class.
 	  According to following rule: Declaring, but not defining, private
 	  copy operations has
 	  the effect of "turning off" copying for the class.
 
-2006-04-12 17:24  Sandro Santilli <strk at keybit.net>
+2006-04-12 17:24  Sandro Santilli <strk at kbt.io>
 
-	* [r1445] Added note about reduction of installed headers in
-	  simplify namespace
+	* [r1445] ChangeLog: Added note about reduction of installed
+	  headers in simplify namespace
 
-2006-04-12 17:19  Sandro Santilli <strk at keybit.net>
+2006-04-12 17:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1444] Ported TaggedLineStringSimplifier class, made LineSegment
-	  class
+	* [r1444] ChangeLog, source/headers/geos/geom/LineSegment.h,
+	  source/headers/geos/simplify/Makefile.am,
+	  source/headers/geos/simplify/TaggedLineSegment.h,
+	  source/headers/geos/simplify/TaggedLineString.h,
+	  source/headers/geos/simplify/TaggedLineStringSimplifier.h,
+	  source/simplify/Makefile.am,
+	  source/simplify/TaggedLineSegment.cpp,
+	  source/simplify/TaggedLineStringSimplifier.cpp: Ported
+	  TaggedLineStringSimplifier class, made LineSegment class
 	  polymorphic to fix derivation of TaggedLineSegment
 
-2006-04-12 15:20  Sandro Santilli <strk at keybit.net>
+2006-04-12 15:20  Sandro Santilli <strk at kbt.io>
 
-	* [r1443] LineSegmentIndex class
+	* [r1443] ChangeLog,
+	  source/headers/geos/simplify/LineSegmentIndex.h,
+	  source/headers/geos/simplify/Makefile.am,
+	  source/headers/geos/simplify/TaggedLineString.h,
+	  source/simplify/LineSegmentIndex.cpp,
+	  source/simplify/Makefile.am,
+	  source/simplify/TaggedLineString.cpp: LineSegmentIndex class
 
-2006-04-12 14:22  Sandro Santilli <strk at keybit.net>
+2006-04-12 14:22  Sandro Santilli <strk at kbt.io>
 
-	* [r1442] Initial implementation of TaggedLineSegment and
-	  TaggedLineString classes
+	* [r1442] ChangeLog, source/headers/geos/simplify/Makefile.am,
+	  source/headers/geos/simplify/TaggedLineSegment.h,
+	  source/headers/geos/simplify/TaggedLineString.h,
+	  source/simplify/Makefile.am,
+	  source/simplify/TaggedLineSegment.cpp,
+	  source/simplify/TaggedLineString.cpp: Initial implementation of
+	  TaggedLineSegment and TaggedLineString classes
 
-2006-04-12 12:20  Sandro Santilli <strk at keybit.net>
+2006-04-12 12:20  Sandro Santilli <strk at kbt.io>
 
-	* [r1441] Added support for use of CommonBitsOp in reduced
-	  precision attempts
+	* [r1441] source/operation/overlay/OverlayOp.cpp: Added support for
+	  use of CommonBitsOp in reduced precision attempts
 	  (compile-time option)
 
-2006-04-12 11:57  Sandro Santilli <strk at keybit.net>
+2006-04-12 11:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1440] Fixed debugging line
+	* [r1440] source/algorithm/LineIntersector.cpp: Fixed debugging
+	  line
 
-2006-04-12 11:39  Sandro Santilli <strk at keybit.net>
+2006-04-12 11:39  Sandro Santilli <strk at kbt.io>
 
-	* [r1439] Removed Geometry.h and CoordinateSequence.h includes.
+	* [r1439] source/headers/geos/geom/GeometryFactory.h: Removed
+	  Geometry.h and CoordinateSequence.h includes.
 	  The former created a circular dependency.
 
-2006-04-12 11:17  Sandro Santilli <strk at keybit.net>
+2006-04-12 11:17  Sandro Santilli <strk at kbt.io>
 
-	* [r1438] Fixed exceptions constructors (were using operator+ with
-	  strings and const char*)
+	* [r1438] ChangeLog, source/io/WKBReader.cpp: Fixed exceptions
+	  constructors (were using operator+ with strings and const char*)
 
-2006-04-12 10:57  Sandro Santilli <strk at keybit.net>
+2006-04-12 10:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1437] Added WKBReader default ctor using default
-	  GeometryFactory instance
+	* [r1437] ChangeLog, source/headers/geos/io/WKBReader.h,
+	  source/io/WKBReader.cpp: Added WKBReader default ctor using
+	  default GeometryFactory instance
 
-2006-04-11 16:04  Sandro Santilli <strk at keybit.net>
+2006-04-11 16:04  Sandro Santilli <strk at kbt.io>
 
-	* [r1436] geos::simplify::DouglasPeukerSimplifier class + unit test
+	* [r1436] ChangeLog, source/geom/util/GeometryTransformer.cpp,
+	  source/headers/geos/simplify/DouglasPeuckerSimplifier.h,
+	  source/headers/geos/simplify/Makefile.am,
+	  source/simplify/DouglasPeuckerSimplifier.cpp,
+	  source/simplify/Makefile.am, tests/unit/Makefile.am,
+	  tests/unit/simplify,
+	  tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:
+	  geos::simplify::DouglasPeukerSimplifier class + unit test
 
-2006-04-11 12:56  Sandro Santilli <strk at keybit.net>
+2006-04-11 12:56  Sandro Santilli <strk at kbt.io>
 
-	* [r1435] used typedef for auto_ptr<CoordinateSequence>
+	* [r1435] source/headers/geos/geom/util/GeometryTransformer.h: used
+	  typedef for auto_ptr<CoordinateSequence>
 
-2006-04-11 12:21  Sandro Santilli <strk at keybit.net>
+2006-04-11 12:21  Sandro Santilli <strk at kbt.io>
 
-	* [r1434] GeometryTransformer class ported
+	* [r1434] ChangeLog, source/geom/util/GeometryTransformer.cpp,
+	  source/geom/util/Makefile.am,
+	  source/headers/geos/geom/util/GeometryTransformer.h,
+	  source/headers/geos/geom/util/Makefile.am: GeometryTransformer
+	  class ported
 
-2006-04-11 11:55  Sandro Santilli <strk at keybit.net>
+2006-04-11 11:55  Sandro Santilli <strk at kbt.io>
 
-	* [r1433] Added CoordinateSequence::AutoPtr typedef
+	* [r1433] source/headers/geos/geom/CoordinateSequence.h: Added
+	  CoordinateSequence::AutoPtr typedef
 
-2006-04-11 11:16  Sandro Santilli <strk at keybit.net>
+2006-04-11 11:16  Sandro Santilli <strk at kbt.io>
 
-	* [r1432] Added LineString and LinearRing constructors by auto_ptr
+	* [r1432] ChangeLog, source/geom/GeometryFactory.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/headers/geos/geom/GeometryFactory.h,
+	  source/headers/geos/geom/LineString.h,
+	  source/headers/geos/geom/LinearRing.h: Added LineString and
+	  LinearRing constructors by auto_ptr
 
-2006-04-11 09:53  Sandro Santilli <strk at keybit.net>
+2006-04-11 09:53  Sandro Santilli <strk at kbt.io>
 
-	* [r1431] Added missing duplicated include sentinel
+	* [r1431] source/headers/geos/geom/GeometryList.h: Added missing
+	  duplicated include sentinel
 
-2006-04-11 09:41  Sandro Santilli <strk at keybit.net>
+2006-04-11 09:41  Sandro Santilli <strk at kbt.io>
 
-	* [r1430] Initial implementation of a GeometryList class, to be
-	  used to manage
+	* [r1430] source/geom/GeometryList.cpp, source/geom/Makefile.am,
+	  source/headers/geos/geom/GeometryList.h,
+	  source/headers/geos/geom/Makefile.am: Initial implementation of a
+	  GeometryList class, to be used to manage
 	  lists of Geometry pointers.
 
-2006-04-11 09:31  Sandro Santilli <strk at keybit.net>
+2006-04-11 09:31  Sandro Santilli <strk at kbt.io>
 
-	* [r1429] Added Geometry::AutoPtr typedef
+	* [r1429] source/headers/geos/geom/Geometry.h: Added
+	  Geometry::AutoPtr typedef
 
-2006-04-11 09:29  Sandro Santilli <strk at keybit.net>
+2006-04-11 09:29  Sandro Santilli <strk at kbt.io>
 
-	* [r1428] Fixed initialization list (removed compiler warning)
+	* [r1428] source/geom/Geometry.cpp: Fixed initialization list
+	  (removed compiler warning)
 
-2006-04-10 18:15  Sandro Santilli <strk at keybit.net>
+2006-04-10 18:15  Sandro Santilli <strk at kbt.io>
 
-	* [r1427] Changed Geometry::envelope member to be of type
-	  auto_ptr<Envelope>.
+	* [r1427] ChangeLog, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp, source/geom/LineString.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/headers/geos/geom/Envelope.h,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/GeometryCollection.h,
+	  source/headers/geos/geom/LineString.h,
+	  source/headers/geos/geom/Point.h,
+	  source/headers/geos/geom/Polygon.h: Changed Geometry::envelope
+	  member to be of type auto_ptr<Envelope>.
 	  Changed computeEnvelopeInternal() signater to return
 	  auto_ptr<Envelope>
 
-2006-04-10 17:35  Sandro Santilli <strk at keybit.net>
+2006-04-10 17:35  Sandro Santilli <strk at kbt.io>
 
-	* [r1426] Changed LineString::points and Point::coordinates to be
-	  wrapped
+	* [r1426] ChangeLog, source/geom/LineString.cpp,
+	  source/geom/LinearRing.cpp, source/geom/Point.cpp,
+	  source/headers/geos/geom/LineString.h,
+	  source/headers/geos/geom/LinearRing.h,
+	  source/headers/geos/geom/Point.h,
+	  tests/unit/geom/LineStringTest.cpp,
+	  tests/unit/geom/PointTest.cpp: Changed LineString::points and
+	  Point::coordinates to be wrapped
 	  in an auto_ptr<>. This should close bugs #86 and #89
 
-2006-04-10 15:11  Sandro Santilli <strk at keybit.net>
+2006-04-10 15:11  Sandro Santilli <strk at kbt.io>
 
-	* [r1425] First manual edit (will likely update later tonight...
-	  with changes grouped
+	* [r1425] ChangeLog: First manual edit (will likely update later
+	  tonight... with changes grouped
 	  by date)
 
-2006-04-10 15:05  Sandro Santilli <strk at keybit.net>
+2006-04-10 15:05  Sandro Santilli <strk at kbt.io>
 
-	* [r1424] Re-synced with JTS version (so this actually *was* a bug
-	  :)
+	* [r1424] tests/xmltester/TestInteriorPoint.xml: Re-synced with JTS
+	  version (so this actually *was* a bug :)
 
-2006-04-10 15:05  Sandro Santilli <strk at keybit.net>
+2006-04-10 15:05  Sandro Santilli <strk at kbt.io>
 
-	* [r1423] Fixed a bug introduced by previous commit in
-	  getCentroid()
+	* [r1423] source/geom/Geometry.cpp: Fixed a bug introduced by
+	  previous commit in getCentroid()
 
-2006-04-10 14:18  Sandro Santilli <strk at keybit.net>
+2006-04-10 14:18  Sandro Santilli <strk at kbt.io>
 
-	* [r1422] Fixed getCentroid(Coordinate&) to round using
-	  PrecisionModel
+	* [r1422] source/geom/Geometry.cpp: Fixed getCentroid(Coordinate&)
+	  to round using PrecisionModel
 	  all unit tests succeed.
 
-2006-04-10 13:40  Sandro Santilli <strk at keybit.net>
+2006-04-10 13:40  Sandro Santilli <strk at kbt.io>
 
-	* [r1421] Added default ctor for WKTReader (using GeometryFactory's
-	  default instance)
+	* [r1421] source/headers/geos/io/WKTReader.h,
+	  source/headers/geos/io/WKTReader.inl: Added default ctor for
+	  WKTReader (using GeometryFactory's default instance)
 
-2006-04-10 13:13  Sandro Santilli <strk at keybit.net>
+2006-04-10 13:13  Sandro Santilli <strk at kbt.io>
 
-	* [r1420] Removed INLINE flags from geos-config --libs
+	* [r1420] tools/geos-config.in: Removed INLINE flags from
+	  geos-config --libs
 
-2006-04-10 13:09  Sandro Santilli <strk at keybit.net>
+2006-04-10 13:09  Sandro Santilli <strk at kbt.io>
 
-	* [r1419] Added GeometryFactory::defaultInstance()
+	* [r1419] source/geom/Geometry.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/headers/geos/geom/GeometryFactory.h, source/io/Unload.cpp:
+	  Added GeometryFactory::defaultInstance()
 	  Made Geometry::INTERNAL_GEOMETRY_FACTORY an alias for it
 	  removed last deletion from Unload::Release class
 
-2006-04-10 12:05  Sandro Santilli <strk at keybit.net>
-
-	* [r1418] Added inline-replicator implementation files to make sure
+2006-04-10 12:05  Sandro Santilli <strk at kbt.io>
+
+	* [r1418] source/Makefile.am, source/geom/LineSegment.cpp,
+	  source/headers/geos/geom/LineSegment.inl,
+	  source/headers/geos/io/WKTReader.h,
+	  source/headers/geos/io/WKTReader.inl,
+	  source/headers/geos/noding/MCIndexNoder.inl,
+	  source/headers/geos/noding/SegmentString.inl,
+	  source/headers/geos/noding/snapround/HotPixel.inl,
+	  source/headers/geos/noding/snapround/MCIndexSnapRounder.inl,
+	  source/inlines.cpp, source/io/ByteOrderDataInStream.cpp,
+	  source/io/WKTReader.cpp, source/operation/overlay/OverlayOp.cpp:
+	  Added inline-replicator implementation files to make sure
 	  functions in .inl files are still available out-of-line.
 	  A side effect is this should fix MingW build.
 
-2006-04-10 11:34  Sandro Santilli <strk at keybit.net>
+2006-04-10 11:34  Sandro Santilli <strk at kbt.io>
 
-	* [r1417] Uncommented required Geometry.h include (for use in
-	  auto_ptr)
+	* [r1417] tests/unit/algorithm/PointLocatorTest.cpp: Uncommented
+	  required Geometry.h include (for use in auto_ptr)
 
 2006-04-10 09:21  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1416] Added new test for UniqueCoordinateArrayFilter class.
-	  Small fixes related to signed/unsigned comparison.
+	* [r1416] source/headers/geos/util/UniqueCoordinateArrayFilter.h,
+	  tests/unit/Makefile.am,
+	  tests/unit/geom/CoordinateArraySequenceFactoryTest.cpp,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/geom/LineStringTest.cpp,
+	  tests/unit/geom/LinearRingTest.cpp,
+	  tests/unit/geom/MultiPointTest.cpp, tests/unit/util,
+	  tests/unit/util/UniqueCoordinateArrayFilterTest.cpp: Added new
+	  test for UniqueCoordinateArrayFilter class. Small fixes related
+	  to signed/unsigned comparison.
 
 2006-04-09 11:07  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1413] Small fixes in doc/example.cpp.
+	* [r1413] doc/example.cpp: Small fixes in doc/example.cpp.
 
 2006-04-09 04:56  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1412] Removed redundant semicolons from xmltester sources.
+	* [r1412] tests/xmltester/markup/MarkupSTL.cpp: Removed redundant
+	  semicolons from xmltester sources.
 
 2006-04-09 04:26  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1411] Removed redundant semicolon reported by g++ -pedantic.
+	* [r1411] tests/xmltester/markup/MarkupSTL.cpp: Removed redundant
+	  semicolon reported by g++ -pedantic.
 
 2006-04-09 04:09  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1410] Removed redundant semicolon reported by g++ -pedantic.
+	* [r1410] source/operation/valid/SweeplineNestedRingTester.cpp:
+	  Removed redundant semicolon reported by g++ -pedantic.
 
 2006-04-09 01:48  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1409] Added Unit Test for IntersectionMatrix class.
+	* [r1409] tests/unit/Makefile.am,
+	  tests/unit/geom/IntersectionMatrixTest.cpp: Added Unit Test for
+	  IntersectionMatrix class.
 
 2006-04-09 01:46  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1408] [SORRY] Added comments for doxygen based on JTS docs.
-	  Added row/col dimension consts. Added asserts in functions to
-	  check if given row/col is in range.
+	* [r1408] source/headers/geos/geom/IntersectionMatrix.h: [SORRY]
+	  Added comments for doxygen based on JTS docs. Added row/col
+	  dimension consts. Added asserts in functions to check if given
+	  row/col is in range.
 
 2006-04-09 01:41  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1407] Added comments for doxygen based on JTS docs. Added
-	  row/col dimension consts. Added asserts in functions to check if
-	  given row/col is in range.
+	* [r1407] source/geom/IntersectionMatrix.cpp: Added comments for
+	  doxygen based on JTS docs. Added row/col dimension consts. Added
+	  asserts in functions to check if given row/col is in range.
 
 2006-04-08 15:57  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1406] Added copyright notice to TUT files. Small cleaning.
+	* [r1406] tests/tut/tut.h, tests/tut/tut_reporter.h,
+	  tests/tut/tut_restartable.h: Added copyright notice to TUT files.
+	  Small cleaning.
 
-2006-04-08 13:05  Sandro Santilli <strk at keybit.net>
+2006-04-08 13:05  Sandro Santilli <strk at kbt.io>
 
-	* [r1405] Added assertion
+	* [r1405] source/geomgraph/EdgeEnd.cpp: Added assertion
 
-2006-04-08 13:00  Sandro Santilli <strk at keybit.net>
+2006-04-08 13:00  Sandro Santilli <strk at kbt.io>
 
-	* [r1404] assertion checking, mergeLabel() call fix (bug#91)
+	* [r1404] source/geomgraph/NodeMap.cpp: assertion checking,
+	  mergeLabel() call fix (bug#91)
 
-2006-04-07 16:52  Sandro Santilli <strk at keybit.net>
+2006-04-07 16:52  Sandro Santilli <strk at kbt.io>
 
-	* [r1403] Port info, doxygen comments, assertion checking
+	* [r1403] source/geomgraph/PlanarGraph.cpp,
+	  source/headers/geos/geomgraph/PlanarGraph.h: Port info, doxygen
+	  comments, assertion checking
 
-2006-04-07 16:01  Sandro Santilli <strk at keybit.net>
+2006-04-07 16:01  Sandro Santilli <strk at kbt.io>
 
-	* [r1402] Port info, doxygen comments, testInvariant(), many
-	  assertionss, handling of
+	* [r1402] source/geomgraph/Node.cpp,
+	  source/headers/geos/geomgraph/Node.h: Port info, doxygen
+	  comments, testInvariant(), many assertionss, handling of
 	  the NULL EdgeEndStar member
 
-2006-04-07 13:26  Sandro Santilli <strk at keybit.net>
+2006-04-07 13:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1401] Use of auto_ptr<> to prevent confusing leaks in tester
+	* [r1401] tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/XMLTester.h: Use of auto_ptr<> to prevent
+	  confusing leaks in tester
 
 2006-04-07 13:14  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1400] Fixed annoying warnings from TUT.
+	* [r1400] tests/tut/tut_reporter.h: Fixed annoying warnings from
+	  TUT.
 
 2006-04-07 13:01  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1399] Fixed line-ends to LF.
+	* [r1399] tests/unit/geos_unit.cpp: Fixed line-ends to LF.
 
 2006-04-07 12:55  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1398] Uncommented test nr 38 in PolygonTest.cpp.
+	* [r1398] tests/unit/geom/PolygonTest.cpp: Uncommented test nr 38
+	  in PolygonTest.cpp.
 
 2006-04-07 12:37  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1397] Added java_math_round() function for Asymmetric
-	  Arithmetic Rounding. Small fixes in Unit Tests.
+	* [r1397] source/geom/PrecisionModel.cpp,
+	  source/headers/geos/util/math.h, source/util/math.cpp,
+	  tests/tut/tut_reporter.h,
+	  tests/unit/geom/MultiLineStringTest.cpp,
+	  tests/unit/geom/MultiPolygonTest.cpp,
+	  tests/unit/geom/PointTest.cpp, tests/unit/geom/PolygonTest.cpp,
+	  tests/unit/geos_unit.cpp: Added java_math_round() function for
+	  Asymmetric Arithmetic Rounding. Small fixes in Unit Tests.
 
 2006-04-07 10:42  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1396] Added test nr 29 to PointTest (JTS conformance). Removed
-	  inform() calls from GeometryFactoryTest.
+	* [r1396] tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/geom/PointTest.cpp: Added test nr 29 to PointTest (JTS
+	  conformance). Removed inform() calls from GeometryFactoryTest.
 
-2006-04-07 09:54  Sandro Santilli <strk at keybit.net>
+2006-04-07 09:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1395] Geometry::getNumGeometries() changed to return 'unsigned
-	  int'
+	* [r1395] source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidPoint.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/PointLocator.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/util/GeometryEditor.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/GeometryCollection.h,
+	  source/io/WKTWriter.cpp, source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp:
+	  Geometry::getNumGeometries() changed to return 'unsigned int'
 	  rather then 'int'
 
-2006-04-07 09:12  Sandro Santilli <strk at keybit.net>
+2006-04-07 09:12  Sandro Santilli <strk at kbt.io>
 
-	* [r1394] kept isInSegmentEnvelopes() check even when not debugging
+	* [r1394] source/algorithm/LineIntersector.cpp: kept
+	  isInSegmentEnvelopes() check even when not debugging
 
-2006-04-07 08:31  Sandro Santilli <strk at keybit.net>
+2006-04-07 08:31  Sandro Santilli <strk at kbt.io>
 
-	* [r1393] Debugging lines
+	* [r1393] source/precision/EnhancedPrecisionOp.cpp: Debugging lines
 
-2006-04-07 08:30  Sandro Santilli <strk at keybit.net>
+2006-04-07 08:30  Sandro Santilli <strk at kbt.io>
 
-	* [r1392] made addCommonBits/removeCommonBits interface consistent,
-	  doxygen comments
+	* [r1392] source/headers/geos/precision/CommonBitsRemover.h: made
+	  addCommonBits/removeCommonBits interface consistent, doxygen
+	  comments
 
-2006-04-07 08:28  Sandro Santilli <strk at keybit.net>
+2006-04-07 08:28  Sandro Santilli <strk at kbt.io>
 
-	* [r1391] debugging lines, assertions
+	* [r1391] source/precision/CommonBitsRemover.cpp: debugging lines,
+	  assertions
 
-2006-04-07 08:27  Sandro Santilli <strk at keybit.net>
+2006-04-07 08:27  Sandro Santilli <strk at kbt.io>
 
-	* [r1390] debugging blocks
+	* [r1390] source/precision/CommonBitsOp.cpp: debugging blocks
 
 2006-04-07 07:21  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1389] Add new-line at the EOF some files.
+	* [r1389] tests/unit/Makefile.am,
+	  tests/unit/geom/CoordinateTest.cpp: Add new-line at the EOF some
+	  files.
 
 2006-04-07 05:55  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1388] Added new objects to .cvsignore.
+	* [r1388] ., .cvsignore: Added new objects to .cvsignore.
 
 2006-04-07 05:44  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1387] Added name for anonymous enum in Dimension class (bug).
-	  Added missing new-line at the end of source files. Removed CR
-	  from line ends.
+	* [r1387] source/headers/geos/geom/Dimension.h,
+	  tests/unit/geom/CoordinateArraySequenceFactoryTest.cpp,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp,
+	  tests/unit/geom/CoordinateTest.cpp,
+	  tests/unit/geom/DimensionTest.cpp,
+	  tests/unit/geom/EnvelopeTest.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/geom/LineSegmentTest.cpp,
+	  tests/unit/geom/LineStringTest.cpp,
+	  tests/unit/geom/LinearRingTest.cpp,
+	  tests/unit/geom/LocationTest.cpp,
+	  tests/unit/geom/MultiLineStringTest.cpp,
+	  tests/unit/geom/MultiPointTest.cpp,
+	  tests/unit/geom/MultiPolygonTest.cpp,
+	  tests/unit/geom/PointTest.cpp, tests/unit/geom/PolygonTest.cpp,
+	  tests/unit/geom/TriangleTest.cpp: Added name for anonymous enum
+	  in Dimension class (bug). Added missing new-line at the end of
+	  source files. Removed CR from line ends.
 
 2006-04-07 00:05  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1386] Adding missing isRectangleTest.cpp
+	* [r1386] tests/unit/geom/Geometry,
+	  tests/unit/geom/Geometry/isRectangleTest.cpp: Adding missing
+	  isRectangleTest.cpp
 
 2006-04-06 23:50  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1385] Adding new Unit Tests.
-
-2006-04-06 23:35  Sandro Santilli <strk at keybit.net>
-
-	* [r1384] Added Mateusz Loskot
+	* [r1385] tests/unit/Makefile.am, tests/unit/geom,
+	  tests/unit/geom/CoordinateArraySequenceFactoryTest.cpp,
+	  tests/unit/geom/CoordinateArraySequenceTest.cpp,
+	  tests/unit/geom/CoordinateTest.cpp,
+	  tests/unit/geom/DimensionTest.cpp,
+	  tests/unit/geom/EnvelopeTest.cpp,
+	  tests/unit/geom/GeometryFactoryTest.cpp,
+	  tests/unit/geom/LineSegmentTest.cpp,
+	  tests/unit/geom/LineStringTest.cpp,
+	  tests/unit/geom/LinearRingTest.cpp,
+	  tests/unit/geom/LocationTest.cpp,
+	  tests/unit/geom/MultiLineStringTest.cpp,
+	  tests/unit/geom/MultiPointTest.cpp,
+	  tests/unit/geom/MultiPolygonTest.cpp,
+	  tests/unit/geom/PointTest.cpp, tests/unit/geom/PolygonTest.cpp,
+	  tests/unit/geom/TriangleTest.cpp, tests/unit/io,
+	  tests/unit/io/WKBReaderTest.cpp: Adding new Unit Tests.
+
+2006-04-06 23:35  Sandro Santilli <strk at kbt.io>
+
+	* [r1384] AUTHORS: Added Mateusz Loskot
 
 2006-04-06 23:31  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1383] [UT Files Renaming] Add PointLocatorTest.cpp
+	* [r1383] tests/unit/algorithm,
+	  tests/unit/algorithm/PointLocatorTest.cpp: [UT Files Renaming]
+	  Add PointLocatorTest.cpp
 
 2006-04-06 23:28  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1382] [UT Files Renaming] Remove 'io' tests.
+	* [r1382] tests/unit/io: [UT Files Renaming] Remove 'io' tests.
 
 2006-04-06 23:26  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1381] [UT Files Renaming] Remove 'geom' tests.
+	* [r1381] tests/unit/geom: [UT Files Renaming] Remove 'geom' tests.
 
 2006-04-06 23:25  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1380] [UT Files Renaming] Remove file PointLocator.cpp
+	* [r1380] tests/unit/algorithm: [UT Files Renaming] Remove file
+	  PointLocator.cpp
 
 2006-04-06 23:20  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1379] New version of Unit Test runner. Now, it's more GNU style
-	  compatible
+	* [r1379] tests/unit/geos_unit.cpp: New version of Unit Test
+	  runner. Now, it's more GNU style compatible
 
 2006-04-06 22:30  Mateusz Loskot <mateusz at loskot.net>
 
-	* [r1378] Add inform() target in tut.h and new callbacks in
-	  tut_reporter.h
+	* [r1378] tests/tut/tut.h, tests/tut/tut_reporter.h: Add inform()
+	  target in tut.h and new callbacks in tut_reporter.h
 
-2006-04-06 21:31  Sandro Santilli <strk at keybit.net>
+2006-04-06 21:31  Sandro Santilli <strk at kbt.io>
 
-	* [r1377] Const correctness for debugging function
+	* [r1377] source/algorithm/LineIntersector.cpp,
+	  source/headers/geos/algorithm/LineIntersector.h: Const
+	  correctness for debugging function
 
-2006-04-06 21:30  Sandro Santilli <strk at keybit.net>
+2006-04-06 21:30  Sandro Santilli <strk at kbt.io>
 
-	* [r1376] Added missing rint_vc() forward declaration
+	* [r1376] source/headers/geos/util/math.h: Added missing rint_vc()
+	  forward declaration
 
-2006-04-06 17:33  Sandro Santilli <strk at keybit.net>
+2006-04-06 17:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1375] Added unit test for DoubleBits
+	* [r1375] tests/unit/Makefile.am, tests/unit/index,
+	  tests/unit/index/quadtree,
+	  tests/unit/index/quadtree/DoubleBitsTest.cpp: Added unit test for
+	  DoubleBits
 
-2006-04-06 14:36  Sandro Santilli <strk at keybit.net>
+2006-04-06 14:36  Sandro Santilli <strk at kbt.io>
 
-	* [r1374] Cleanup in geos::precision namespace (leaks plugged,
-	  auto_ptr use, ...)
+	* [r1374] source/headers/geos/precision/CommonBitsOp.h,
+	  source/headers/geos/precision/CommonBitsRemover.h,
+	  source/headers/geos/precision/EnhancedPrecisionOp.h,
+	  source/precision/CommonBitsOp.cpp,
+	  source/precision/CommonBitsRemover.cpp,
+	  source/precision/EnhancedPrecisionOp.cpp: Cleanup in
+	  geos::precision namespace (leaks plugged, auto_ptr use, ...)
 
-2006-04-06 12:58  Sandro Santilli <strk at keybit.net>
+2006-04-06 12:58  Sandro Santilli <strk at kbt.io>
 
-	* [r1373] Added printing of EdgeRing if available
+	* [r1373] source/geomgraph/DirectedEdge.cpp: Added printing of
+	  EdgeRing if available
 
-2006-04-06 12:48  Sandro Santilli <strk at keybit.net>
+2006-04-06 12:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1372] Added private vector to keep track of allocated
-	  MaximalEdgeRings objects
+	* [r1372]
+	  source/headers/geos/operation/valid/ConnectedInteriorTester.h:
+	  Added private vector to keep track of allocated MaximalEdgeRings
+	  objects
 
-2006-04-06 12:47  Sandro Santilli <strk at keybit.net>
+2006-04-06 12:47  Sandro Santilli <strk at kbt.io>
 
-	* [r1371] Fixed output function
+	* [r1371] source/geomgraph/EdgeEnd.cpp: Fixed output function
 
-2006-04-06 12:45  Sandro Santilli <strk at keybit.net>
+2006-04-06 12:45  Sandro Santilli <strk at kbt.io>
 
-	* [r1370] Delayed deletion of newly allocated MaximalEdgeRings.
+	* [r1370] source/operation/valid/ConnectedInteriorTester.cpp:
+	  Delayed deletion of newly allocated MaximalEdgeRings.
 	  Existing 'valid' operation tests don't should instability with
 	  this patch.
 
-2006-04-06 12:36  Sandro Santilli <strk at keybit.net>
+2006-04-06 12:36  Sandro Santilli <strk at kbt.io>
 
-	* [r1369] removed spurious lines from previous commi
+	* [r1369] source/geom/PrecisionModel.cpp: removed spurious lines
+	  from previous commi
 
-2006-04-06 12:34  Sandro Santilli <strk at keybit.net>
+2006-04-06 12:34  Sandro Santilli <strk at kbt.io>
 
-	* [r1368] Port info, more debugging lines, doxygen comments
+	* [r1368] source/geom/PrecisionModel.cpp,
+	  source/headers/geos/geom/PrecisionModel.h,
+	  source/headers/geos/geom/PrecisionModel.inl: Port info, more
+	  debugging lines, doxygen comments
 
-2006-04-06 12:33  Sandro Santilli <strk at keybit.net>
+2006-04-06 12:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1367] More debugging lines
+	* [r1367] source/geom/GeometryFactory.cpp: More debugging lines
 
-2006-04-06 12:29  Sandro Santilli <strk at keybit.net>
+2006-04-06 12:29  Sandro Santilli <strk at kbt.io>
 
-	* [r1366] Fixed bogus static PrecisionModel variable in
-	  ::readCoordinate().
+	* [r1366] source/io/WKBReader.cpp: Fixed bogus static
+	  PrecisionModel variable in ::readCoordinate().
 
-2006-04-06 09:41  Sandro Santilli <strk at keybit.net>
+2006-04-06 09:41  Sandro Santilli <strk at kbt.io>
 
-	* [r1365] Added operator<<, added pts!=NULL assertion in
-	  testInvariant() function
+	* [r1365] source/geomgraph/EdgeRing.cpp,
+	  source/headers/geos/geomgraph/EdgeRing.h: Added operator<<, added
+	  pts!=NULL assertion in testInvariant() function
 
-2006-04-06 09:39  Sandro Santilli <strk at keybit.net>
+2006-04-06 09:39  Sandro Santilli <strk at kbt.io>
 
-	* [r1364] Added operator<<
+	* [r1364] source/geomgraph/EdgeEnd.cpp,
+	  source/headers/geos/geomgraph/EdgeEnd.h: Added operator<<
 
-2006-04-06 09:01  Sandro Santilli <strk at keybit.net>
+2006-04-06 09:01  Sandro Santilli <strk at kbt.io>
 
-	* [r1363] Doxygen comments, port info, operator<<, assertion
-	  checking
+	* [r1363] source/geomgraph/Label.cpp,
+	  source/geomgraph/TopologyLocation.cpp,
+	  source/headers/geos/geomgraph/Label.h,
+	  source/headers/geos/geomgraph/TopologyLocation.h: Doxygen
+	  comments, port info, operator<<, assertion checking
 
-2006-04-06 07:52  Sandro Santilli <strk at keybit.net>
+2006-04-06 07:52  Sandro Santilli <strk at kbt.io>
 
-	* [r1362] Fixed bug in ::print() function
+	* [r1362] source/geomgraph/DirectedEdge.cpp: Fixed bug in ::print()
+	  function
 
-2006-04-05 18:28  Sandro Santilli <strk at keybit.net>
+2006-04-05 18:28  Sandro Santilli <strk at kbt.io>
 
-	* [r1361] Moved testInvariant() methods from private to public,
-	  added
+	* [r1361] source/headers/geos/geomgraph/Edge.h,
+	  source/headers/geos/geomgraph/EdgeRing.h: Moved testInvariant()
+	  methods from private to public, added
 	  some comments about them.
 
-2006-04-05 15:59  Sandro Santilli <strk at keybit.net>
+2006-04-05 15:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1360] Removed dead code
+	* [r1360] source/operation/overlay/OverlayOp.cpp: Removed dead code
 
-2006-04-05 14:33  Sandro Santilli <strk at keybit.net>
+2006-04-05 14:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1359] Removed annoying warnings from external source
+	* [r1359] tests/xmltester/markup/MarkupSTL.cpp,
+	  tests/xmltester/markup/MarkupSTL.h: Removed annoying warnings
+	  from external source
 
-2006-04-05 14:04  Sandro Santilli <strk at keybit.net>
+2006-04-05 14:04  Sandro Santilli <strk at kbt.io>
 
-	* [r1358] Fixed copy ctor to support "Null" Envelope copies.
+	* [r1358] source/geom/Envelope.cpp,
+	  source/headers/geos/geom/Envelope.h,
+	  source/headers/geos/geom/Envelope.inl: Fixed copy ctor to support
+	  "Null" Envelope copies.
 	  Drop init(Envelope&) method.
 	  Port info and various cleanups.
 
-2006-04-05 10:25  Sandro Santilli <strk at keybit.net>
+2006-04-05 10:25  Sandro Santilli <strk at kbt.io>
 
-	* [r1357] Fixed LineString constructor to ensure deletion of
-	  CoordinateSequence
+	* [r1357] source/geom/LineString.cpp,
+	  source/headers/geos/geom/LineString.h: Fixed LineString
+	  constructor to ensure deletion of CoordinateSequence
 	  argument on exception throw
 
-2006-04-05 09:34  Sandro Santilli <strk at keybit.net>
+2006-04-05 09:34  Sandro Santilli <strk at kbt.io>
 
-	* [r1356] GEOSException derived from std::exception again,
-	  hopefully the correct way now
+	* [r1356] source/headers/geos/util/GEOSException.h: GEOSException
+	  derived from std::exception again, hopefully the correct way now
 
-2006-04-05 09:20  Sandro Santilli <strk at keybit.net>
+2006-04-05 09:20  Sandro Santilli <strk at kbt.io>
 
-	* [r1355] Added port informations and many assertion checking.
+	* [r1355]
+	  source/headers/geos/operation/buffer/RightmostEdgeFinder.h,
+	  source/operation/buffer/RightmostEdgeFinder.cpp: Added port
+	  informations and many assertion checking.
 	  Fixed bug in getRightmostSide() method ( a "testing-only" corner
 	  case )
 
-2006-04-04 16:07  Sandro Santilli <strk at keybit.net>
+2006-04-04 16:07  Sandro Santilli <strk at kbt.io>
 
-	* [r1353] More assertion checking, less overhead when built with
-	  NDEBUG defined
+	* [r1353] source/geomgraph/DirectedEdgeStar.cpp: More assertion
+	  checking, less overhead when built with NDEBUG defined
 
-2006-04-04 13:35  Sandro Santilli <strk at keybit.net>
+2006-04-04 13:35  Sandro Santilli <strk at kbt.io>
 
-	* [r1352] Port info, assertion checking, indentation
+	* [r1352] source/geomgraph/EdgeEndStar.cpp,
+	  source/headers/geos/geomgraph/EdgeEndStar.h: Port info, assertion
+	  checking, indentation
 
-2006-04-04 12:39  Sandro Santilli <strk at keybit.net>
+2006-04-04 12:39  Sandro Santilli <strk at kbt.io>
 
-	* [r1351] Changed NotRepresentableCoordinate exception handler to
-	  throw
+	* [r1351] source/algorithm/LineIntersector.cpp: Changed
+	  NotRepresentableCoordinate exception handler to throw
 	  a TopologyException. This allows further handling.
 
-2006-04-04 11:37  Sandro Santilli <strk at keybit.net>
+2006-04-04 11:37  Sandro Santilli <strk at kbt.io>
 
-	* [r1350] Port information + initialization lists in ctors
+	* [r1350] source/algorithm/HCoordinate.cpp,
+	  source/headers/geos/algorithm/HCoordinate.h: Port information +
+	  initialization lists in ctors
 
-2006-04-04 11:28  Sandro Santilli <strk at keybit.net>
+2006-04-04 11:28  Sandro Santilli <strk at kbt.io>
 
-	* [r1349] NotRepresentable condition detected using finite() from
-	  <cmath>
+	* [r1349] source/algorithm/HCoordinate.cpp: NotRepresentable
+	  condition detected using finite() from <cmath>
 	  rather then using FINITE() macro. Made ::intersection() body
 	  more readable.
 
-2006-04-04 09:53  Sandro Santilli <strk at keybit.net>
-
-	* [r1348] Fixed applyCoordinateFilter() templated function body
-
-2006-04-04 08:16  Sandro Santilli <strk at keybit.net>
-
-	* [r1345] Changed GEOSException hierarchy to be derived from
-	  std::runtime_exception.
+2006-04-04 09:53  Sandro Santilli <strk at kbt.io>
+
+	* [r1348] source/headers/geos/geom/CoordinateSequence.h: Fixed
+	  applyCoordinateFilter() templated function body
+
+2006-04-04 08:16  Sandro Santilli <strk at kbt.io>
+
+	* [r1345] NEWS, doc/example.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/examples/CPCLException.cpp,
+	  source/examples/CustomCoordinateSequenceExample.cpp,
+	  source/examples/CustomCoordinateSequenceExample.h,
+	  source/headers/geos/io/ParseException.h,
+	  source/headers/geos/util/GEOSException.h,
+	  source/headers/geos/util/IllegalArgumentException.h,
+	  source/io/ParseException.cpp,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/util/GEOSException.cpp: Changed GEOSException hierarchy to
+	  be derived from std::runtime_exception.
 	  Removed the GEOSException::toString redundant method (use
 	  ::what() instead)
 
 2006-04-04 01:54  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1344] Add in changes/missing from previous rearranging.
+	* [r1344] source/Makefile.vc: Add in changes/missing from previous
+	  rearranging.
 
 2006-04-04 01:29  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1343] GEOS_JTS_PORT is in version.h not platform.h
+	* [r1343] capi/geos_c.cpp: GEOS_JTS_PORT is in version.h not
+	  platform.h
 
 2006-04-04 01:28  Howard Butler <hobu.inc at gmail.com>
 
-	* [r1342] remove objects that no longer exist
+	* [r1342] source/Makefile.vc: remove objects that no longer exist
 	  default to MSVC_VER=1310
 
-2006-04-03 17:05  Sandro Santilli <strk at keybit.net>
+2006-04-03 17:05  Sandro Santilli <strk at kbt.io>
 
-	* [r1341] Assertion checking, port info, cleanups
+	* [r1341] source/geomgraph/DirectedEdge.cpp,
+	  source/geomgraph/EdgeEnd.cpp, source/geomgraph/Label.cpp,
+	  source/headers/geos/geomgraph/EdgeEnd.h: Assertion checking, port
+	  info, cleanups
 
-2006-04-03 15:54  Sandro Santilli <strk at keybit.net>
+2006-04-03 15:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1340] - getArgGeometry() parameter type changed from 'int' to
-	  'unsigned int'
+	* [r1340] source/headers/geos/operation/GeometryGraphOperation.h,
+	  source/operation/GeometryGraphOperation.cpp: - getArgGeometry()
+	  parameter type changed from 'int' to 'unsigned int'
 	  - Added port informations
 	  - minor assertions checking
 	  - minor cleanups
 
-2006-04-03 14:07  Sandro Santilli <strk at keybit.net>
+2006-04-03 14:07  Sandro Santilli <strk at kbt.io>
 
-	* [r1339] Commented out obsoleted toInternal() method
+	* [r1339] source/headers/geos/geom/PrecisionModel.h: Commented out
+	  obsoleted toInternal() method
 
-2006-04-03 13:58  Sandro Santilli <strk at keybit.net>
+2006-04-03 13:58  Sandro Santilli <strk at kbt.io>
 
-	* [r1337] Applied patch by Charlie Savage:
+	* [r1337] macros/ac_pkg_swig.m4, macros/ac_python_devel.m4,
+	  swig/geos.i, swig/python/Makefile.am, swig/python/python.i,
+	  swig/ruby/ruby.i, swig/ruby/test/geos_tests.rb,
+	  swig/ruby/test/test_helper.rb: Applied patch by Charlie Savage:
 	  - Fixes up the SWIG bindings to use the new GEOS namespaces
 	  - Fixes a bug in the Python m4 macro
 	  - Adds the -modern flag for SWIG when compiling a Python
 	  extension
 
-2006-04-03 13:56  Sandro Santilli <strk at keybit.net>
+2006-04-03 13:56  Sandro Santilli <strk at kbt.io>
 
-	* [r1336] Made externally-owned PrecisionModel const
+	* [r1336]
+	  source/headers/geos/precision/SimpleGeometryPrecisionReducer.h,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp: Made
+	  externally-owned PrecisionModel const
 
-2006-04-03 10:56  Sandro Santilli <strk at keybit.net>
+2006-04-03 10:56  Sandro Santilli <strk at kbt.io>
 
-	* [r1334] Removed implementation files build spec for fully-inlined
-	  classes
+	* [r1334] source/geom/CoordinateSequenceFactory.cpp,
+	  source/geom/Makefile.am,
+	  source/geom/util/LinearComponentExtracter.cpp,
+	  source/geom/util/Makefile.am,
+	  source/geom/util/PointExtracter.cpp,
+	  source/geom/util/PolygonExtracter.cpp,
+	  source/util/AssertionFailedException.cpp,
+	  source/util/IllegalArgumentException.cpp,
+	  source/util/Makefile.am,
+	  source/util/UnsupportedOperationException.cpp: Removed
+	  implementation files build spec for fully-inlined classes
 
-2006-04-03 10:44  Sandro Santilli <strk at keybit.net>
+2006-04-03 10:44  Sandro Santilli <strk at kbt.io>
 
-	* [r1333] Added missing headers
+	* [r1333] source/index/strtree/STRtree.cpp,
+	  source/noding/snapround/MCIndexSnapRounder.cpp: Added missing
+	  headers
 
-2006-04-03 10:16  Sandro Santilli <strk at keybit.net>
+2006-04-03 10:16  Sandro Santilli <strk at kbt.io>
 
-	* [r1332] DouglasPeuckerLineSimplifier class port
+	* [r1332] configure.in, source/Makefile.am,
+	  source/headers/geos/Makefile.am, source/headers/geos/simplify,
+	  source/headers/geos/simplify/.cvsignore,
+	  source/headers/geos/simplify/DouglasPeuckerLineSimplifier.h,
+	  source/headers/geos/simplify/Makefile.am, source/simplify,
+	  source/simplify/.cvsignore,
+	  source/simplify/DouglasPeuckerLineSimplifier.cpp,
+	  source/simplify/Makefile.am: DouglasPeuckerLineSimplifier class
+	  port
 
-2006-04-03 08:43  Sandro Santilli <strk at keybit.net>
+2006-04-03 08:43  Sandro Santilli <strk at kbt.io>
 
-	* [r1331] Added port info, minor cleanups
+	* [r1331] source/headers/geos/index/strtree/STRtree.h,
+	  source/index/strtree/STRtree.cpp: Added port info, minor cleanups
 
-2006-04-03 08:29  Sandro Santilli <strk at keybit.net>
+2006-04-03 08:29  Sandro Santilli <strk at kbt.io>
 
-	* [r1330] Added port info, cleaned up log message, minor assertion
-	  checking.
+	* [r1330] source/headers/geos/index/quadtree/Quadtree.h,
+	  source/index/quadtree/Quadtree.cpp: Added port info, cleaned up
+	  log message, minor assertion checking.
 
-2006-03-31 17:51  Sandro Santilli <strk at keybit.net>
+2006-03-31 17:51  Sandro Santilli <strk at kbt.io>
 
-	* [r1329] A few assertion checking, comments cleanup, use of
-	  initialization lists
+	* [r1329] source/geom/GeometryFactory.cpp,
+	  source/headers/geos/geom/GeometryFactory.h: A few assertion
+	  checking, comments cleanup, use of initialization lists
 	  in constructors, handled NULL parameters.
 
-2006-03-31 16:55  Sandro Santilli <strk at keybit.net>
+2006-03-31 16:55  Sandro Santilli <strk at kbt.io>
 
-	* [r1328] Added many assertions checking in LineString
-	  implementation.
+	* [r1328] NEWS, source/geom/LineString.cpp,
+	  source/headers/geos/geom/LineString.h: Added many assertions
+	  checking in LineString implementation.
 	  Changed ::getCoordinate() to return NULL on empty geom.
 	  Changed ::get{Start,End}Point() to return NULL on empty geom.
 
-2006-03-31 16:53  Sandro Santilli <strk at keybit.net>
+2006-03-31 16:53  Sandro Santilli <strk at kbt.io>
 
-	* [r1327] Added comment about possible NULL return from
-	  getCoordinate()
+	* [r1327] source/headers/geos/geom/Geometry.h: Added comment about
+	  possible NULL return from getCoordinate()
 
-2006-03-31 11:03  Sandro Santilli <strk at keybit.net>
+2006-03-31 11:03  Sandro Santilli <strk at kbt.io>
 
-	* [r1325] Fixed NULL-GeometryFactory constructor to use
-	  INTERNAL_GEOMETRY_FACTORY
+	* [r1325] source/geom/Geometry.cpp: Fixed NULL-GeometryFactory
+	  constructor to use INTERNAL_GEOMETRY_FACTORY
 	  (should fix bug #81)
 
-2006-03-30 09:26  Sandro Santilli <strk at keybit.net>
+2006-03-30 09:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1324] minor cleanup
+	* [r1324] source/headers/geos/io/WKTReader.h: minor cleanup
 
-2006-03-29 15:48  Sandro Santilli <strk at keybit.net>
+2006-03-29 15:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1323] Added missing 'const' in catch std::exception statements
+	* [r1323] capi/geos_c.cpp: Added missing 'const' in catch
+	  std::exception statements
 
-2006-03-29 15:23  Sandro Santilli <strk at keybit.net>
+2006-03-29 15:23  Sandro Santilli <strk at kbt.io>
 
-	* [r1322] Moved GeometryGraph inlines from .h to .inl file
+	* [r1322] source/geomgraph/DirectedEdge.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/headers/geos/geomgraph/GeometryGraph.h,
+	  source/headers/geos/geomgraph/GeometryGraph.inl,
+	  source/headers/geos/geomgraph/Makefile.am: Moved GeometryGraph
+	  inlines from .h to .inl file
 
-2006-03-29 14:34  Sandro Santilli <strk at keybit.net>
+2006-03-29 14:34  Sandro Santilli <strk at kbt.io>
 
-	* [r1321] Sync'ed testfile with JTS head
+	* [r1321] tests/xmltester/TestValid.xml: Sync'ed testfile with JTS
+	  head
 
-2006-03-29 14:31  Sandro Santilli <strk at keybit.net>
+2006-03-29 14:31  Sandro Santilli <strk at kbt.io>
 
-	* [r1320] Added PointLocator unit test
+	* [r1320] tests/unit/Makefile.am, tests/unit/algorithm,
+	  tests/unit/algorithm/PointLocator.cpp,
+	  tests/unit/io/WKBReader.cpp: Added PointLocator unit test
 
-2006-03-29 13:53  Sandro Santilli <strk at keybit.net>
+2006-03-29 13:53  Sandro Santilli <strk at kbt.io>
 
-	* [r1319] EdgeRing equipped with Invariant testing function and
-	  lots of exceptional assertions. Removed useless heap allocations,
-	  and pointers usages.
+	* [r1319] source/geomgraph/EdgeRing.cpp,
+	  source/headers/geos/geomgraph/EdgeRing.h,
+	  source/headers/geos/operation/valid/IsValidOp.h,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/IsValidOp.cpp: EdgeRing equipped with
+	  Invariant testing function and lots of exceptional assertions.
+	  Removed useless heap allocations, and pointers usages.
 
-2006-03-29 11:52  Sandro Santilli <strk at keybit.net>
+2006-03-29 11:52  Sandro Santilli <strk at kbt.io>
 
-	* [r1318] const correctness, useless heap allocations removal
+	* [r1318] source/algorithm/MCPointInRing.cpp,
+	  source/headers/geos/algorithm/MCPointInRing.h: const correctness,
+	  useless heap allocations removal
 
-2006-03-29 11:48  Sandro Santilli <strk at keybit.net>
+2006-03-29 11:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1317] Removed useless heap allocations in construction,
-	  enforced const correctness
+	* [r1317]
+	  source/headers/geos/operation/valid/QuadtreeNestedRingTester.h,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp: Removed
+	  useless heap allocations in construction, enforced const
+	  correctness
 
-2006-03-28 16:49  Sandro Santilli <strk at keybit.net>
+2006-03-28 16:49  Sandro Santilli <strk at kbt.io>
 
-	* [r1316] Reintroduced rewind of input parameter in printHEX()
-	  [dropped by prev commit]
+	* [r1316] source/io/WKBReader.cpp: Reintroduced rewind of input
+	  parameter in printHEX() [dropped by prev commit]
 
-2006-03-28 16:33  Sandro Santilli <strk at keybit.net>
+2006-03-28 16:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1315] Added note about args responsibility in GeometryFactory
-	  constructor
+	* [r1315] source/headers/geos/geom/GeometryFactory.h: Added note
+	  about args responsibility in GeometryFactory constructor
 
-2006-03-28 16:11  Sandro Santilli <strk at keybit.net>
+2006-03-28 16:11  Sandro Santilli <strk at kbt.io>
 
-	* [r1314] swapped assert_equals() args to get obtained/expected the
-	  right way.
+	* [r1314] tests/unit/io/WKBReader.cpp: swapped assert_equals() args
+	  to get obtained/expected the right way.
 
-2006-03-28 15:27  Sandro Santilli <strk at keybit.net>
+2006-03-28 15:27  Sandro Santilli <strk at kbt.io>
 
-	* [r1313] Simplified printHEX() implementation
+	* [r1313] source/io/WKBReader.cpp: Simplified printHEX()
+	  implementation
 
-2006-03-28 15:19  Sandro Santilli <strk at keybit.net>
+2006-03-28 15:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1312] Added macros for sections skip (useful in debugging)
+	* [r1312] doc/example.cpp: Added macros for sections skip (useful
+	  in debugging)
 
-2006-03-28 14:45  Sandro Santilli <strk at keybit.net>
+2006-03-28 14:45  Sandro Santilli <strk at kbt.io>
 
-	* [r1311] Added simple test for WKB reader.
+	* [r1311] tests/unit/Makefile.am, tests/unit/io,
+	  tests/unit/io/WKBReader.cpp: Added simple test for WKB reader.
 
-2006-03-28 14:02  Sandro Santilli <strk at keybit.net>
+2006-03-28 14:02  Sandro Santilli <strk at kbt.io>
 
-	* [r1310] added missing header for non-inlined builds
+	* [r1310] source/io/WKBReader.cpp: added missing header for
+	  non-inlined builds
 
-2006-03-28 14:01  Sandro Santilli <strk at keybit.net>
+2006-03-28 14:01  Sandro Santilli <strk at kbt.io>
 
-	* [r1309] forgot to add in previous commit
+	* [r1309] source/io/ByteOrderDataInStream.cpp: forgot to add in
+	  previous commit
 
-2006-03-28 11:26  Sandro Santilli <strk at keybit.net>
+2006-03-28 11:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1308] ByteOrderDataInStream inlines moved to .inl file, updated
+	* [r1308] source/headers/geos/io/ByteOrderDataInStream.h,
+	  source/headers/geos/io/ByteOrderDataInStream.inl,
+	  source/headers/geos/io/Makefile.am,
+	  source/headers/geos/io/WKBWriter.h, source/io/Makefile.am:
+	  ByteOrderDataInStream inlines moved to .inl file, updated
 	  implementation files includes.
 
-2006-03-28 11:25  Sandro Santilli <strk at keybit.net>
+2006-03-28 11:25  Sandro Santilli <strk at kbt.io>
 
-	* [r1307] Assertion checking
+	* [r1307] source/io/WKBWriter.cpp: Assertion checking
 
-2006-03-28 09:14  Sandro Santilli <strk at keybit.net>
+2006-03-28 09:14  Sandro Santilli <strk at kbt.io>
 
-	* [r1306] Headers inclusion fix.
+	* [r1306] source/headers/geos/geom/LineSegment.h,
+	  source/headers/geos/geom/LineSegment.inl: Headers inclusion fix.
 
-2006-03-28 08:57  Sandro Santilli <strk at keybit.net>
+2006-03-28 08:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1305] Comments cleanup, system headers included after project
-	  headers
+	* [r1305] source/headers/geos/geom/PrecisionModel.h,
+	  source/headers/geos/geom/PrecisionModel.inl: Comments cleanup,
+	  system headers included after project headers
 
-2006-03-28 08:40  Sandro Santilli <strk at keybit.net>
+2006-03-28 08:40  Sandro Santilli <strk at kbt.io>
 
-	* [r1304] C-API lib version bumped to 1.1.1 (release 2.2.2 will
-	  ship 1.1.0)
+	* [r1304] configure.in: C-API lib version bumped to 1.1.1 (release
+	  2.2.2 will ship 1.1.0)
 
-2006-03-27 17:59  Sandro Santilli <strk at keybit.net>
+2006-03-27 17:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1302] Fixed small leak.
+	* [r1302] source/operation/buffer/OffsetCurveBuilder.cpp: Fixed
+	  small leak.
 
-2006-03-27 17:04  Sandro Santilli <strk at keybit.net>
+2006-03-27 17:04  Sandro Santilli <strk at kbt.io>
 
-	* [r1301] Cleanups and explicit initializations
+	* [r1301]
+	  source/headers/geos/operation/buffer/OffsetCurveBuilder.h,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp: Cleanups and
+	  explicit initializations
 
-2006-03-27 16:02  Sandro Santilli <strk at keybit.net>
+2006-03-27 16:02  Sandro Santilli <strk at kbt.io>
 
-	* [r1300] Added INL file for MinimalEdgeRing, added many debugging
-	  blocks,
+	* [r1300] source/geomgraph/EdgeRing.cpp,
+	  source/headers/geos/geomgraph/EdgeRing.h,
+	  source/headers/geos/operation/overlay/Makefile.am,
+	  source/headers/geos/operation/overlay/MaximalEdgeRing.h,
+	  source/headers/geos/operation/overlay/MinimalEdgeRing.h,
+	  source/headers/geos/operation/overlay/MinimalEdgeRing.inl,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp: Added INL
+	  file for MinimalEdgeRing, added many debugging blocks,
 	  fixed memory leak in ConnectedInteriorTester (bug #59)
 
-2006-03-27 15:57  Sandro Santilli <strk at keybit.net>
+2006-03-27 15:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1299] Commented need for platform.h include
+	* [r1299] source/headers/geos/geom/Coordinate.h,
+	  source/headers/geos/geom/Coordinate.inl: Commented need for
+	  platform.h include
 
-2006-03-27 15:56  Sandro Santilli <strk at keybit.net>
+2006-03-27 15:56  Sandro Santilli <strk at kbt.io>
 
-	* [r1298] Added missing platform.h include (for ISNAN macro)
+	* [r1298] source/geom/Coordinate.cpp: Added missing platform.h
+	  include (for ISNAN macro)
 
-2006-03-27 14:20  Sandro Santilli <strk at keybit.net>
+2006-03-27 14:20  Sandro Santilli <strk at kbt.io>
 
-	* [r1297] Added paranoid assertion checking and a note in header
-	  about responsibility of return from buildMaximalEdgeRings()
+	* [r1297]
+	  source/headers/geos/operation/valid/ConnectedInteriorTester.h,
+	  source/operation/valid/ConnectedInteriorTester.cpp: Added
+	  paranoid assertion checking and a note in header about
+	  responsibility of return from buildMaximalEdgeRings()
 
-2006-03-27 10:37  Sandro Santilli <strk at keybit.net>
+2006-03-27 10:37  Sandro Santilli <strk at kbt.io>
 
-	* [r1296] Reduced heap allocations and probability of error by
-	  making LineIntersector
+	* [r1296]
+	  source/headers/geos/operation/valid/ConsistentAreaTester.h,
+	  source/operation/valid/ConsistentAreaTester.cpp: Reduced heap
+	  allocations and probability of error by making LineIntersector
 	  and RelateNodeGraph part of ConsistentAreaTester class .
 
-2006-03-27 10:36  Sandro Santilli <strk at keybit.net>
+2006-03-27 10:36  Sandro Santilli <strk at kbt.io>
 
-	* [r1295] added missing space in exception message
+	* [r1295] source/operation/valid/TopologyValidationError.cpp: added
+	  missing space in exception message
 
-2006-03-27 10:34  Sandro Santilli <strk at keybit.net>
+2006-03-27 10:34  Sandro Santilli <strk at kbt.io>
 
-	* [r1294] moved external includes after internal ones
+	* [r1294] source/headers/geos/geom/Coordinate.inl: moved external
+	  includes after internal ones
 
-2006-03-27 09:50  Sandro Santilli <strk at keybit.net>
+2006-03-27 09:50  Sandro Santilli <strk at kbt.io>
 
-	* [r1293] Added final isValid test from JTS (floating version)
+	* [r1293] tests/xmltester/Makefile.am,
+	  tests/xmltester/TestValid2-big.xml: Added final isValid test from
+	  JTS (floating version)
 
-2006-03-27 09:48  Sandro Santilli <strk at keybit.net>
+2006-03-27 09:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1292] Extracted TestValid2.xml from testLeaksBig.xml (target
-	  file is taken from JTS source tree)
+	* [r1292] tests/xmltester/Makefile.am,
+	  tests/xmltester/TestValid2.xml, tests/xmltester/testLeaksBig.xml:
+	  Extracted TestValid2.xml from testLeaksBig.xml (target file is
+	  taken from JTS source tree)
 
-2006-03-27 09:45  Sandro Santilli <strk at keybit.net>
+2006-03-27 09:45  Sandro Santilli <strk at kbt.io>
 
-	* [r1291] Added TestValid.xml test, taken from JTS source tree,
-	  already present in testLeaksBig (from which tests were removed)
+	* [r1291] tests/xmltester/Makefile.am,
+	  tests/xmltester/TestValid.xml, tests/xmltester/testLeaksBig.xml:
+	  Added TestValid.xml test, taken from JTS source tree, already
+	  present in testLeaksBig (from which tests were removed)
 
-2006-03-27 09:28  Sandro Santilli <strk at keybit.net>
+2006-03-27 09:28  Sandro Santilli <strk at kbt.io>
 
-	* [r1290] added namespaces use and headers split
+	* [r1290] NEWS: added namespaces use and headers split
 
-2006-03-27 09:05  Sandro Santilli <strk at keybit.net>
+2006-03-27 09:05  Sandro Santilli <strk at kbt.io>
 
-	* [r1289] Added note about responsibility of return from
-	  GEOSGeomType()
+	* [r1289] capi/geos_c.h.in: Added note about responsibility of
+	  return from GEOSGeomType()
 
-2006-03-27 09:00  Sandro Santilli <strk at keybit.net>
+2006-03-27 09:00  Sandro Santilli <strk at kbt.io>
 
-	* [r1288] Bug #79 - Small fix in
-	  CoordinateArraySequence::toString()
+	* [r1288] source/geom/CoordinateArraySequence.cpp: Bug #79 - Small
+	  fix in CoordinateArraySequence::toString()
 
-2006-03-24 11:42  Sandro Santilli <strk at keybit.net>
+2006-03-24 11:42  Sandro Santilli <strk at kbt.io>
 
-	* [r1287] reverted default of assertion checking
+	* [r1287] configure.in: reverted default of assertion checking
 
-2006-03-24 11:11  Sandro Santilli <strk at keybit.net>
+2006-03-24 11:11  Sandro Santilli <strk at kbt.io>
 
-	* [r1286] Inlining enabled by default, assertion checking disabled
-	  by default.
+	* [r1286] TODO, configure.in, tools/geos-config.in: Inlining
+	  enabled by default, assertion checking disabled by default.
 	  Added --enable-cassert and --disable-inline configure switches.
 	  Had geos-config --cflags output appropriate inline flag if
 	  required (-DGEOS_INLINE)
 
-2006-03-24 11:04  Sandro Santilli <strk at keybit.net>
-
-	* [r1285] Changed assert() with Assert::isTrue in addReverseSubpath
-
-2006-03-24 10:44  Sandro Santilli <strk at keybit.net>
-
-	* [r1284] Fixed to build with -DNDEBUG
-
-2006-03-24 09:52  Sandro Santilli <strk at keybit.net>
-
-	* [r1283] USE_INLINE => GEOS_INLINE
-
-2006-03-24 09:26  Sandro Santilli <strk at keybit.net>
-
-	* [r1282] Bug #77 - Missing platform.h
-
-2006-03-24 09:25  Sandro Santilli <strk at keybit.net>
+2006-03-24 11:04  Sandro Santilli <strk at kbt.io>
 
-	* [r1281] Bugs #77 and #76: missing <algorithm>
+	* [r1285] source/operation/linemerge/LineSequencer.cpp: Changed
+	  assert() with Assert::isTrue in addReverseSubpath
 
-2006-03-24 09:23  Sandro Santilli <strk at keybit.net>
+2006-03-24 10:44  Sandro Santilli <strk at kbt.io>
 
-	* [r1280] Bug #78 - Small fixes and cleaning
+	* [r1284] source/operation/linemerge/LineSequencer.cpp: Fixed to
+	  build with -DNDEBUG
 
-2006-03-23 15:10  Sandro Santilli <strk at keybit.net>
+2006-03-24 09:52  Sandro Santilli <strk at kbt.io>
 
-	* [r1278] Dropped by-pointer TopologyException constructor, various
-	  small cleanups
-
-2006-03-23 13:31  Sandro Santilli <strk at keybit.net>
-
-	* [r1277] Fixed to allow build with GEOS_DEBUG
-
-2006-03-23 12:12  Sandro Santilli <strk at keybit.net>
-
-	* [r1276] Fixes to allow build with -DUSE_INLINE
-
-2006-03-23 10:55  Sandro Santilli <strk at keybit.net>
-
-	* [r1275] Temporarly excluded 'swig' extension from distribution,
-	  to allow for
+	* [r1283] TODO, capi/geos_c.cpp.bak,
+	  source/algorithm/ConvexHull.cpp, source/geom/Coordinate.cpp,
+	  source/geom/CoordinateArraySequenceFactory.cpp,
+	  source/geom/Envelope.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineSegment.cpp,
+	  source/geom/MultiLineString.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/PrecisionModel.cpp,
+	  source/geomgraph/DirectedEdge.cpp,
+	  source/headers/geos/algorithm/ConvexHull.h,
+	  source/headers/geos/geom/Coordinate.h,
+	  source/headers/geos/geom/CoordinateArraySequence.h,
+	  source/headers/geos/geom/CoordinateArraySequenceFactory.h,
+	  source/headers/geos/geom/CoordinateFilter.h,
+	  source/headers/geos/geom/CoordinateSequence.h,
+	  source/headers/geos/geom/CoordinateSequenceFactory.h,
+	  source/headers/geos/geom/Dimension.h,
+	  source/headers/geos/geom/Envelope.h,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/GeometryCollection.h,
+	  source/headers/geos/geom/GeometryComponentFilter.h,
+	  source/headers/geos/geom/GeometryFactory.h,
+	  source/headers/geos/geom/GeometryFilter.h,
+	  source/headers/geos/geom/IntersectionMatrix.h,
+	  source/headers/geos/geom/LineSegment.h,
+	  source/headers/geos/geom/LineString.h,
+	  source/headers/geos/geom/LinearRing.h,
+	  source/headers/geos/geom/Location.h,
+	  source/headers/geos/geom/MultiLineString.h,
+	  source/headers/geos/geom/MultiPoint.h,
+	  source/headers/geos/geom/MultiPolygon.h,
+	  source/headers/geos/geom/Point.h,
+	  source/headers/geos/geom/Polygon.h,
+	  source/headers/geos/geom/PrecisionModel.h,
+	  source/headers/geos/geom/Triangle.h,
+	  source/headers/geos/geom/util/CoordinateOperation.h,
+	  source/headers/geos/geom/util/GeometryEditor.h,
+	  source/headers/geos/geom/util/GeometryEditorOperation.h,
+	  source/headers/geos/geom/util/ShortCircuitedGeometryVisitor.h,
+	  source/headers/geos/geomgraph/Depth.h,
+	  source/headers/geos/geomgraph/DirectedEdge.h,
+	  source/headers/geos/geomgraph/DirectedEdgeStar.h,
+	  source/headers/geos/geomgraph/Edge.h,
+	  source/headers/geos/geomgraph/EdgeEnd.h,
+	  source/headers/geos/geomgraph/EdgeEndStar.h,
+	  source/headers/geos/geomgraph/EdgeIntersection.h,
+	  source/headers/geos/geomgraph/EdgeIntersectionList.h,
+	  source/headers/geos/geomgraph/EdgeList.h,
+	  source/headers/geos/geomgraph/EdgeNodingValidator.h,
+	  source/headers/geos/geomgraph/EdgeRing.h,
+	  source/headers/geos/geomgraph/GeometryGraph.h,
+	  source/headers/geos/geomgraph/GraphComponent.h,
+	  source/headers/geos/geomgraph/Label.h,
+	  source/headers/geos/geomgraph/Node.h,
+	  source/headers/geos/geomgraph/NodeFactory.h,
+	  source/headers/geos/geomgraph/NodeMap.h,
+	  source/headers/geos/geomgraph/PlanarGraph.h,
+	  source/headers/geos/geomgraph/Position.h,
+	  source/headers/geos/geomgraph/Quadrant.h,
+	  source/headers/geos/geomgraph/TopologyLocation.h,
+	  source/headers/geos/inline.h, source/headers/geos/io/WKTReader.h,
+	  source/headers/geos/noding/IntersectionAdder.h,
+	  source/headers/geos/noding/IntersectionFinderAdder.h,
+	  source/headers/geos/noding/IteratedNoder.h,
+	  source/headers/geos/noding/MCIndexNoder.h,
+	  source/headers/geos/noding/Noder.h,
+	  source/headers/geos/noding/NodingValidator.h,
+	  source/headers/geos/noding/Octant.h,
+	  source/headers/geos/noding/ScaledNoder.h,
+	  source/headers/geos/noding/SegmentIntersector.h,
+	  source/headers/geos/noding/SegmentNode.h,
+	  source/headers/geos/noding/SegmentNodeList.h,
+	  source/headers/geos/noding/SegmentString.h,
+	  source/headers/geos/noding/SimpleNoder.h,
+	  source/headers/geos/noding/SinglePassNoder.h,
+	  source/headers/geos/noding/snapround/HotPixel.h,
+	  source/headers/geos/noding/snapround/MCIndexPointSnapper.h,
+	  source/headers/geos/noding/snapround/MCIndexSnapRounder.h,
+	  source/headers/geos/noding/snapround/SimpleSnapRounder.h,
+	  source/io/WKTReader.cpp, source/noding/MCIndexNoder.cpp,
+	  source/noding/SegmentString.cpp,
+	  source/noding/snapround/HotPixel.cpp,
+	  source/noding/snapround/MCIndexSnapRounder.cpp,
+	  source/operation/distance/DistanceOp.cpp: USE_INLINE =>
+	  GEOS_INLINE
+
+2006-03-24 09:26  Sandro Santilli <strk at kbt.io>
+
+	* [r1282] capi/geos_c.cpp: Bug #77 - Missing platform.h
+
+2006-03-24 09:25  Sandro Santilli <strk at kbt.io>
+
+	* [r1281] source/noding/snapround/MCIndexPointSnapper.cpp,
+	  source/operation/buffer/BufferBuilder.cpp: Bugs #77 and #76:
+	  missing <algorithm>
+
+2006-03-24 09:23  Sandro Santilli <strk at kbt.io>
+
+	* [r1280] tests/unit/geos_unit.cpp: Bug #78 - Small fixes and
+	  cleaning
+
+2006-03-23 15:10  Sandro Santilli <strk at kbt.io>
+
+	* [r1278] source/geom/Coordinate.cpp,
+	  source/geomgraph/DirectedEdge.cpp,
+	  source/geomgraph/DirectedEdgeStar.cpp,
+	  source/geomgraph/EdgeEndStar.cpp, source/geomgraph/EdgeRing.cpp,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geomgraph/DirectedEdge.inl,
+	  source/headers/geos/geomgraph/DirectedEdgeStar.h,
+	  source/headers/geos/util/TopologyException.h,
+	  source/operation/overlay/OverlayOp.cpp: Dropped by-pointer
+	  TopologyException constructor, various small cleanups
+
+2006-03-23 13:31  Sandro Santilli <strk at kbt.io>
+
+	* [r1277] source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/quadtree/Node.cpp,
+	  source/index/quadtree/NodeBase.cpp,
+	  source/index/quadtree/Quadtree.cpp: Fixed to allow build with
+	  GEOS_DEBUG
+
+2006-03-23 12:12  Sandro Santilli <strk at kbt.io>
+
+	* [r1276] source/geom/Geometry.cpp,
+	  source/geom/MultiLineString.cpp, source/geom/MultiPolygon.cpp,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/Geometry.inl,
+	  source/headers/geos/geom/GeometryCollection.h,
+	  source/headers/geos/geom/GeometryCollection.inl,
+	  source/headers/geos/geom/LineSegment.inl,
+	  source/headers/geos/geom/MultiLineString.h,
+	  source/headers/geos/geom/MultiLineString.inl,
+	  source/headers/geos/geom/MultiPolygon.inl,
+	  source/operation/distance/DistanceOp.cpp: Fixes to allow build
+	  with -DUSE_INLINE
+
+2006-03-23 10:55  Sandro Santilli <strk at kbt.io>
+
+	* [r1275] Makefile.am, configure.in: Temporarly excluded 'swig'
+	  extension from distribution, to allow for
 	  successufull 'dist' rule and distributed testing.
 
-2006-03-23 10:41  Sandro Santilli <strk at keybit.net>
-
-	* [r1274] Fixed automake files
-
-2006-03-23 10:09  Sandro Santilli <strk at keybit.net>
-
-	* [r1273] Fixed missing backslash
-
-2006-03-23 09:17  Sandro Santilli <strk at keybit.net>
-
-	* [r1272] precision.h header split, minor optimizations
+2006-03-23 10:41  Sandro Santilli <strk at kbt.io>
 
-2006-03-22 18:12  Sandro Santilli <strk at keybit.net>
+	* [r1274] source/headers/geos/Makefile.am,
+	  source/headers/geos/operation/relate/Makefile.am: Fixed automake
+	  files
 
-	* [r1271] indexChain.h header split.
+2006-03-23 10:09  Sandro Santilli <strk at kbt.io>
 
-2006-03-22 16:59  Sandro Santilli <strk at keybit.net>
+	* [r1273] source/headers/geos/operation/predicate/Makefile.am:
+	  Fixed missing backslash
 
-	* [r1270] cleaned up
+2006-03-23 09:17  Sandro Santilli <strk at kbt.io>
 
-2006-03-22 16:58  Sandro Santilli <strk at keybit.net>
-
-	* [r1269] Removed (almost) all inclusions of geom.h.
+	* [r1272] configure.in, source/headers/geos/Makefile.am,
+	  source/headers/geos/precision, source/headers/geos/precision.h,
+	  source/headers/geos/precision/.cvsignore,
+	  source/headers/geos/precision/CommonBits.h,
+	  source/headers/geos/precision/CommonBitsOp.h,
+	  source/headers/geos/precision/CommonBitsRemover.h,
+	  source/headers/geos/precision/EnhancedPrecisionOp.h,
+	  source/headers/geos/precision/Makefile.am,
+	  source/headers/geos/precision/SimpleGeometryPrecisionReducer.h,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/precision/CommonBits.cpp,
+	  source/precision/CommonBitsOp.cpp,
+	  source/precision/CommonBitsRemover.cpp,
+	  source/precision/EnhancedPrecisionOp.cpp,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp: precision.h
+	  header split, minor optimizations
+
+2006-03-22 18:12  Sandro Santilli <strk at kbt.io>
+
+	* [r1271] configure.in, source/algorithm/MCPointInRing.cpp,
+	  source/geom/LineSegment.cpp,
+	  source/headers/geos/algorithm/MCPointInRing.h,
+	  source/headers/geos/index/Makefile.am,
+	  source/headers/geos/index/chain,
+	  source/headers/geos/index/chain/.cvsignore,
+	  source/headers/geos/index/chain/Makefile.am,
+	  source/headers/geos/index/chain/MonotoneChain.h,
+	  source/headers/geos/index/chain/MonotoneChainBuilder.h,
+	  source/headers/geos/index/chain/MonotoneChainOverlapAction.h,
+	  source/headers/geos/index/chain/MonotoneChainSelectAction.h,
+	  source/headers/geos/indexChain.h,
+	  source/headers/geos/noding/MCIndexNoder.h,
+	  source/headers/geos/noding/snapround/MCIndexPointSnapper.h,
+	  source/index/bintree/NodeBase.cpp,
+	  source/index/chain/Makefile.am,
+	  source/index/chain/MonotoneChain.cpp,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/MonotoneChainOverlapAction.cpp,
+	  source/index/chain/MonotoneChainSelectAction.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/noding/MCIndexNoder.cpp,
+	  source/noding/snapround/MCIndexPointSnapper.cpp,
+	  source/noding/snapround/MCIndexSnapRounder.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/valid/IsValidOp.cpp: indexChain.h header split.
+
+2006-03-22 16:59  Sandro Santilli <strk at kbt.io>
+
+	* [r1270] source/headers/geos/geosAlgorithm.h: cleaned up
+
+2006-03-22 16:58  Sandro Santilli <strk at kbt.io>
+
+	* [r1269] source/geom/CoordinateArraySequence.cpp,
+	  source/geom/CoordinateList.cpp,
+	  source/geom/CoordinateSequence.cpp, source/geom/Dimension.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/geom/GeometryComponentFilter.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/Location.cpp,
+	  source/geom/Makefile.am, source/geom/MultiPoint.cpp,
+	  source/geom/MultiPolygon.cpp, source/geom/Point.cpp,
+	  source/geom/PrecisionModel.cpp,
+	  source/geom/TopologyException.cpp, source/geom/Triangle.cpp,
+	  source/geom/util/ShortCircuitedGeometryVisitor.cpp,
+	  source/headers/geos/geom/PrecisionModel.h,
+	  source/headers/geos/io/WKTReader.h,
+	  source/headers/geos/io/WKTReader.inl,
+	  source/headers/geos/io/WKTWriter.h, source/io/WKBReader.cpp,
+	  source/io/WKBWriter.cpp, source/io/WKTReader.cpp,
+	  source/io/WKTWriter.cpp, source/util/CoordinateArrayFiter.cpp,
+	  source/util/GeometricShapeFactory.cpp,
+	  source/util/UniqueCoordinateArrayFilter.cpp: Removed (almost) all
+	  inclusions of geom.h.
 	  Removed obsoleted .cpp files.
 	  Fixed a bug in WKTReader not using the provided
 	  CoordinateSequence
 	  implementation, optimized out some memory allocations.
 
-2006-03-22 16:01  Sandro Santilli <strk at keybit.net>
-
-	* [r1268] indexBintree.h header split, classes renamed to match JTS
-
-2006-03-22 14:28  Sandro Santilli <strk at keybit.net>
-
-	* [r1267] Filenames renamed to match class names (matching JTS)
-
-2006-03-22 12:22  Sandro Santilli <strk at keybit.net>
-
-	* [r1266] indexQuadtree.h split
-
-2006-03-22 11:19  Sandro Santilli <strk at keybit.net>
-
-	* [r1265] opPolygonize.h headers split.
-
-2006-03-22 11:18  Sandro Santilli <strk at keybit.net>
-
-	* [r1264] Changed back 'unable to find edge to compute depths' from
-	  assertion to TopologyException
-
-2006-03-22 10:13  Sandro Santilli <strk at keybit.net>
-
-	* [r1263] opLinemerge.h split
-
-2006-03-21 21:42  Sandro Santilli <strk at keybit.net>
-
-	* [r1262] planargraph.h header split, planargraph:: classes renamed
-	  to match JTS symbols
-
-2006-03-21 17:55  Sandro Santilli <strk at keybit.net>
-
-	* [r1261] opDistance.h header split
-
-2006-03-21 17:11  Sandro Santilli <strk at keybit.net>
-
-	* [r1260] opPredicate.h header split
-
-2006-03-21 13:11  Sandro Santilli <strk at keybit.net>
-
-	* [r1259] opRelate.h header split
-
-2006-03-21 11:20  Sandro Santilli <strk at keybit.net>
-
-	* [r1258] Changed expected result to the obtained one :)
+2006-03-22 16:01  Sandro Santilli <strk at kbt.io>
+
+	* [r1268] configure.in, source/algorithm/MCPointInRing.cpp,
+	  source/headers/geos/algorithm/MCPointInRing.h,
+	  source/headers/geos/index/bintree,
+	  source/headers/geos/index/bintree/.cvsignore,
+	  source/headers/geos/index/bintree/Bintree.h,
+	  source/headers/geos/index/bintree/Interval.h,
+	  source/headers/geos/index/bintree/Key.h,
+	  source/headers/geos/index/bintree/Makefile.am,
+	  source/headers/geos/index/bintree/Node.h,
+	  source/headers/geos/index/bintree/NodeBase.h,
+	  source/headers/geos/index/bintree/Root.h,
+	  source/headers/geos/indexBintree.h,
+	  source/index/bintree/BinTreeInterval.cpp,
+	  source/index/bintree/BinTreeNode.cpp,
+	  source/index/bintree/Bintree.cpp,
+	  source/index/bintree/Interval.cpp, source/index/bintree/Key.cpp,
+	  source/index/bintree/Makefile.am, source/index/bintree/Node.cpp,
+	  source/index/bintree/NodeBase.cpp, source/index/bintree/Root.cpp,
+	  tests/xmltester/XMLTester.cpp: indexBintree.h header split,
+	  classes renamed to match JTS
+
+2006-03-22 14:28  Sandro Santilli <strk at kbt.io>
+
+	* [r1267] source/index/quadtree/Key.cpp,
+	  source/index/quadtree/Makefile.am,
+	  source/index/quadtree/Node.cpp,
+	  source/index/quadtree/NodeBase.cpp,
+	  source/index/quadtree/QuadTreeKey.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/index/quadtree/Root.cpp: Filenames renamed to match class
+	  names (matching JTS)
+
+2006-03-22 12:22  Sandro Santilli <strk at kbt.io>
+
+	* [r1266] configure.in, source/geomgraph/EdgeList.cpp,
+	  source/headers/geos/index/Makefile.am,
+	  source/headers/geos/index/quadtree,
+	  source/headers/geos/index/quadtree/.cvsignore,
+	  source/headers/geos/index/quadtree/DoubleBits.h,
+	  source/headers/geos/index/quadtree/IntervalSize.h,
+	  source/headers/geos/index/quadtree/Key.h,
+	  source/headers/geos/index/quadtree/Makefile.am,
+	  source/headers/geos/index/quadtree/Node.h,
+	  source/headers/geos/index/quadtree/NodeBase.h,
+	  source/headers/geos/index/quadtree/Quadtree.h,
+	  source/headers/geos/index/quadtree/Root.h,
+	  source/headers/geos/indexQuadtree.h,
+	  source/index/bintree/Key.cpp, source/index/bintree/Root.cpp,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/index/quadtree/IntervalSize.cpp,
+	  source/index/quadtree/QuadTreeKey.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp:
+	  indexQuadtree.h split
+
+2006-03-22 11:19  Sandro Santilli <strk at kbt.io>
+
+	* [r1265] capi/geos_c.cpp, configure.in,
+	  source/headers/geos/opPolygonize.h,
+	  source/headers/geos/operation/Makefile.am,
+	  source/headers/geos/operation/polygonize,
+	  source/headers/geos/operation/polygonize/.cvsignore,
+	  source/headers/geos/operation/polygonize/EdgeRing.h,
+	  source/headers/geos/operation/polygonize/Makefile.am,
+	  source/headers/geos/operation/polygonize/PolygonizeDirectedEdge.h,
+	  source/headers/geos/operation/polygonize/PolygonizeEdge.h,
+	  source/headers/geos/operation/polygonize/PolygonizeGraph.h,
+	  source/headers/geos/operation/polygonize/Polygonizer.h,
+	  source/headers/geos/util/TopologyException.h,
+	  source/operation/polygonize/PolygonizeDirectedEdge.cpp,
+	  source/operation/polygonize/PolygonizeEdge.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/Polygonizer.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp:
+	  opPolygonize.h headers split.
+
+2006-03-22 11:18  Sandro Santilli <strk at kbt.io>
+
+	* [r1264] source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp: Changed back
+	  'unable to find edge to compute depths' from assertion to
+	  TopologyException
+
+2006-03-22 10:13  Sandro Santilli <strk at kbt.io>
+
+	* [r1263] capi/geos_c.cpp, configure.in,
+	  source/headers/geos/opLinemerge.h,
+	  source/headers/geos/operation/linemerge,
+	  source/headers/geos/operation/linemerge/.cvsignore,
+	  source/headers/geos/operation/linemerge/EdgeString.h,
+	  source/headers/geos/operation/linemerge/LineMergeDirectedEdge.h,
+	  source/headers/geos/operation/linemerge/LineMergeEdge.h,
+	  source/headers/geos/operation/linemerge/LineMergeGraph.h,
+	  source/headers/geos/operation/linemerge/LineMerger.h,
+	  source/headers/geos/operation/linemerge/LineSequencer.h,
+	  source/headers/geos/operation/linemerge/Makefile.am,
+	  source/operation/linemerge/EdgeString.cpp,
+	  source/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  source/operation/linemerge/LineMergeEdge.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/operation/linemerge/LineSequencer.cpp: opLinemerge.h split
+
+2006-03-21 21:42  Sandro Santilli <strk at kbt.io>
+
+	* [r1262] configure.in, source/headers/geos/Makefile.am,
+	  source/headers/geos/planargraph,
+	  source/headers/geos/planargraph.h,
+	  source/headers/geos/planargraph/.cvsignore,
+	  source/headers/geos/planargraph/DirectedEdge.h,
+	  source/headers/geos/planargraph/DirectedEdgeStar.h,
+	  source/headers/geos/planargraph/Edge.h,
+	  source/headers/geos/planargraph/GraphComponent.h,
+	  source/headers/geos/planargraph/Makefile.am,
+	  source/headers/geos/planargraph/Node.h,
+	  source/headers/geos/planargraph/NodeMap.h,
+	  source/headers/geos/planargraph/PlanarGraph.h,
+	  source/headers/geos/planargraph/Subgraph.h,
+	  source/headers/geos/planargraph/algorithm,
+	  source/headers/geos/planargraph/algorithm/.cvsignore,
+	  source/headers/geos/planargraph/algorithm/ConnectedSubgraphFinder.h,
+	  source/headers/geos/planargraph/algorithm/Makefile.am,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/operation/linemerge/LineSequencer.cpp,
+	  source/operation/polygonize/PolygonizeDirectedEdge.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp,
+	  source/planargraph/DirectedEdge.cpp,
+	  source/planargraph/DirectedEdgeStar.cpp,
+	  source/planargraph/Edge.cpp, source/planargraph/Makefile.am,
+	  source/planargraph/Node.cpp, source/planargraph/NodeMap.cpp,
+	  source/planargraph/PlanarGraph.cpp,
+	  source/planargraph/Subgraph.cpp,
+	  source/planargraph/algorithm/ConnectedSubgraphFinder.cpp,
+	  source/planargraph/planarDirectedEdge.cpp,
+	  source/planargraph/planarDirectedEdgeStar.cpp,
+	  source/planargraph/planarEdge.cpp,
+	  source/planargraph/planarGraphComponent.cpp,
+	  source/planargraph/planarNode.cpp,
+	  source/planargraph/planarNodeMap.cpp,
+	  source/planargraph/planarPlanarGraph.cpp,
+	  source/planargraph/planarSubgraph.cpp: planargraph.h header
+	  split, planargraph:: classes renamed to match JTS symbols
+
+2006-03-21 17:55  Sandro Santilli <strk at kbt.io>
+
+	* [r1261] configure.in, source/geom/Geometry.cpp,
+	  source/headers/geos/opDistance.h,
+	  source/headers/geos/opOverlay.h, source/headers/geos/opRelate.h,
+	  source/headers/geos/opValid.h, source/headers/geos/operation.h,
+	  source/headers/geos/operation/Makefile.am,
+	  source/headers/geos/operation/distance,
+	  source/headers/geos/operation/distance/.cvsignore,
+	  source/headers/geos/operation/distance/ConnectedElementLocationFilter.h,
+	  source/headers/geos/operation/distance/ConnectedElementPointFilter.h,
+	  source/headers/geos/operation/distance/DistanceOp.h,
+	  source/headers/geos/operation/distance/GeometryLocation.h,
+	  source/headers/geos/operation/distance/Makefile.am,
+	  source/operation/distance/ConnectedElementLocationFilter.cpp,
+	  source/operation/distance/ConnectedElementPointFilter.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/distance/GeometryLocation.cpp: opDistance.h
+	  header split
+
+2006-03-21 17:11  Sandro Santilli <strk at kbt.io>
+
+	* [r1260] configure.in, source/geom/Geometry.cpp,
+	  source/headers/geos/opPredicate.h,
+	  source/headers/geos/operation/Makefile.am,
+	  source/headers/geos/operation/predicate,
+	  source/headers/geos/operation/predicate/.cvsignore,
+	  source/headers/geos/operation/predicate/Makefile.am,
+	  source/headers/geos/operation/predicate/RectangleContains.h,
+	  source/headers/geos/operation/predicate/RectangleIntersects.h,
+	  source/headers/geos/operation/predicate/SegmentIntersectionTester.h,
+	  source/operation/predicate/RectangleContains.cpp,
+	  source/operation/predicate/RectangleIntersects.cpp,
+	  source/operation/predicate/SegmentIntersectionTester.cpp:
+	  opPredicate.h header split
+
+2006-03-21 13:11  Sandro Santilli <strk at kbt.io>
+
+	* [r1259] configure.in, source/geom/Geometry.cpp,
+	  source/headers/geos/opRelate.h,
+	  source/headers/geos/operation/Makefile.am,
+	  source/headers/geos/operation/relate,
+	  source/headers/geos/operation/relate/.cvsignore,
+	  source/headers/geos/operation/relate/EdgeEndBuilder.h,
+	  source/headers/geos/operation/relate/EdgeEndBundle.h,
+	  source/headers/geos/operation/relate/EdgeEndBundleStar.h,
+	  source/headers/geos/operation/relate/Makefile.am,
+	  source/headers/geos/operation/relate/RelateComputer.h,
+	  source/headers/geos/operation/relate/RelateNode.h,
+	  source/headers/geos/operation/relate/RelateNodeFactory.h,
+	  source/headers/geos/operation/relate/RelateNodeGraph.h,
+	  source/headers/geos/operation/relate/RelateOp.h,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNode.cpp,
+	  source/operation/relate/RelateNodeFactory.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp: opRelate.h
+	  header split
+
+2006-03-21 11:20  Sandro Santilli <strk at kbt.io>
+
+	* [r1258] tests/xmltester/TestInteriorPoint.xml: Changed expected
+	  result to the obtained one :)
 	  We're not cheating, it's a 2-vertex linestring for
 	  which an InteriorPoint is requested, both vertexes
 	  are correct answer (equidistant from centroid).
 
-2006-03-21 11:12  Sandro Santilli <strk at keybit.net>
-
-	* [r1257] Cleanups: headers inclusion and Log section
-
-2006-03-21 10:47  Sandro Santilli <strk at keybit.net>
-
-	* [r1256] indexStrtree.h split
-
-2006-03-21 10:46  Sandro Santilli <strk at keybit.net>
-
-	* [r1255] streamlined header inclusion, put original copyright on
-	  top
-
-2006-03-21 10:01  Sandro Santilli <strk at keybit.net>
-
-	* [r1254] indexSweepline.h header split
-
-2006-03-20 18:18  Sandro Santilli <strk at keybit.net>
-
-	* [r1253] io.h header split
-
-2006-03-20 17:40  Sandro Santilli <strk at keybit.net>
-
-	* [r1252] <cmath> included when appropriate
-
-2006-03-20 17:27  Sandro Santilli <strk at keybit.net>
-
-	* [r1251] Bug #72 - Missing <vector> header
-
-2006-03-20 17:17  Sandro Santilli <strk at keybit.net>
-
-	* [r1250] Fixed geosdir
-
-2006-03-20 16:57  Sandro Santilli <strk at keybit.net>
-
-	* [r1249] spatialindex.h and opValid.h headers split
-
-2006-03-20 16:08  Sandro Santilli <strk at keybit.net>
-
-	* [r1248] redirected find stderr to /dev/null
-
-2006-03-20 13:20  Sandro Santilli <strk at keybit.net>
-
-	* [r1247] Changed assertion to TopologyException for the "orphaned"
-	  hole case
+2006-03-21 11:12  Sandro Santilli <strk at kbt.io>
+
+	* [r1257] source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/CentroidPoint.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/MinimumDiameter.cpp,
+	  source/algorithm/NonRobustLineIntersector.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustDeterminant.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/headers/geos/algorithm/SIRtreePointInRing.h: Cleanups:
+	  headers inclusion and Log section
+
+2006-03-21 10:47  Sandro Santilli <strk at kbt.io>
+
+	* [r1256] configure.in, source/headers/geos/index/Makefile.am,
+	  source/headers/geos/index/strtree,
+	  source/headers/geos/index/strtree/.cvsignore,
+	  source/headers/geos/index/strtree/AbstractNode.h,
+	  source/headers/geos/index/strtree/AbstractSTRtree.h,
+	  source/headers/geos/index/strtree/Boundable.h,
+	  source/headers/geos/index/strtree/Interval.h,
+	  source/headers/geos/index/strtree/ItemBoundable.h,
+	  source/headers/geos/index/strtree/Makefile.am,
+	  source/headers/geos/index/strtree/SIRtree.h,
+	  source/headers/geos/index/strtree/STRtree.h,
+	  source/headers/geos/indexStrtree.h,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/Interval.cpp,
+	  source/index/strtree/ItemBoundable.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp: indexStrtree.h split
+
+2006-03-21 10:46  Sandro Santilli <strk at kbt.io>
+
+	* [r1255] source/algorithm/RobustDeterminant.cpp: streamlined
+	  header inclusion, put original copyright on top
+
+2006-03-21 10:01  Sandro Santilli <strk at kbt.io>
+
+	* [r1254] configure.in, source/headers/geos/index/Makefile.am,
+	  source/headers/geos/index/sweepline,
+	  source/headers/geos/index/sweepline/.cvsignore,
+	  source/headers/geos/index/sweepline/Makefile.am,
+	  source/headers/geos/index/sweepline/SweepLineEvent.h,
+	  source/headers/geos/index/sweepline/SweepLineIndex.h,
+	  source/headers/geos/index/sweepline/SweepLineInterval.h,
+	  source/headers/geos/index/sweepline/SweepLineOverlapAction.h,
+	  source/headers/geos/indexSweepline.h,
+	  source/index/sweepline/Makefile.am,
+	  source/index/sweepline/SweepLineEvent.cpp,
+	  source/index/sweepline/SweepLineIndex.cpp,
+	  source/index/sweepline/SweepLineInterval.cpp,
+	  source/index/sweepline/indexSweepLineEvent.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp:
+	  indexSweepline.h header split
+
+2006-03-20 18:18  Sandro Santilli <strk at kbt.io>
+
+	* [r1253] capi/geos_c.cpp, configure.in,
+	  source/headers/geos/Makefile.am, source/headers/geos/io,
+	  source/headers/geos/io.h, source/headers/geos/io/.cvsignore,
+	  source/headers/geos/io/ByteOrderDataInStream.h,
+	  source/headers/geos/io/ByteOrderValues.h,
+	  source/headers/geos/io/Makefile.am,
+	  source/headers/geos/io/ParseException.h,
+	  source/headers/geos/io/StringTokenizer.h,
+	  source/headers/geos/io/WKBConstants.h,
+	  source/headers/geos/io/WKBReader.h,
+	  source/headers/geos/io/WKBWriter.h,
+	  source/headers/geos/io/WKTReader.h,
+	  source/headers/geos/io/WKTReader.inl,
+	  source/headers/geos/io/WKTWriter.h,
+	  source/headers/geos/io/Writer.h, source/io/ByteOrderValues.cpp,
+	  source/io/ParseException.cpp, source/io/StringTokenizer.cpp,
+	  source/io/WKBReader.cpp, source/io/WKBWriter.cpp,
+	  source/io/WKTReader.cpp, source/io/WKTWriter.cpp,
+	  source/io/Writer.cpp, source/operation/buffer/BufferSubgraph.cpp:
+	  io.h header split
+
+2006-03-20 17:40  Sandro Santilli <strk at kbt.io>
+
+	* [r1252] source/index/quadtree/DoubleBits.cpp: <cmath> included
+	  when appropriate
+
+2006-03-20 17:27  Sandro Santilli <strk at kbt.io>
+
+	* [r1251] source/headers/geos/geom/CoordinateSequence.h,
+	  source/headers/geos/geom/GeometryFactory.h: Bug #72 - Missing
+	  <vector> header
+
+2006-03-20 17:17  Sandro Santilli <strk at kbt.io>
+
+	* [r1250] source/headers/geos/geomgraph/index/Makefile.am,
+	  source/headers/geos/index/Makefile.am,
+	  source/headers/geos/noding/snapround/Makefile.am,
+	  source/headers/geos/operation/buffer/Makefile.am,
+	  source/headers/geos/operation/overlay/Makefile.am,
+	  source/headers/geos/operation/valid/Makefile.am: Fixed geosdir
+
+2006-03-20 16:57  Sandro Santilli <strk at kbt.io>
+
+	* [r1249] configure.in, source/geom/Geometry.cpp,
+	  source/headers/geos/Makefile.am, source/headers/geos/index,
+	  source/headers/geos/index/.cvsignore,
+	  source/headers/geos/index/ItemVisitor.h,
+	  source/headers/geos/index/Makefile.am,
+	  source/headers/geos/index/SpatialIndex.h,
+	  source/headers/geos/indexQuadtree.h,
+	  source/headers/geos/opValid.h,
+	  source/headers/geos/operation/Makefile.am,
+	  source/headers/geos/operation/valid,
+	  source/headers/geos/operation/valid/.cvsignore,
+	  source/headers/geos/operation/valid/ConnectedInteriorTester.h,
+	  source/headers/geos/operation/valid/ConsistentAreaTester.h,
+	  source/headers/geos/operation/valid/IsValidOp.h,
+	  source/headers/geos/operation/valid/Makefile.am,
+	  source/headers/geos/operation/valid/QuadtreeNestedRingTester.h,
+	  source/headers/geos/operation/valid/RepeatedPointTester.h,
+	  source/headers/geos/operation/valid/SimpleNestedRingTester.h,
+	  source/headers/geos/operation/valid/SweeplineNestedRingTester.h,
+	  source/headers/geos/operation/valid/TopologyValidationError.h,
+	  source/headers/geos/spatialIndex.h,
+	  source/index/quadtree/QuadTreeKey.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/STRtree.cpp, source/io/Unload.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNode.cpp,
+	  source/operation/relate/RelateNodeFactory.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/TopologyValidationError.cpp:
+	  spatialindex.h and opValid.h headers split
+
+2006-03-20 16:08  Sandro Santilli <strk at kbt.io>
+
+	* [r1248] macros/ac_python_devel.m4: redirected find stderr to
+	  /dev/null
+
+2006-03-20 13:20  Sandro Santilli <strk at kbt.io>
+
+	* [r1247] source/operation/overlay/PolygonBuilder.cpp: Changed
+	  assertion to TopologyException for the "orphaned" hole case
 	  in order to allow for reduced precision ops to catch the case.
 
-2006-03-20 12:33  Sandro Santilli <strk at keybit.net>
+2006-03-20 12:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1246] Simplified some privat methods to use refs instead of
-	  pointers, added
+	* [r1246] source/headers/geos/operation/overlay/PolygonBuilder.h,
+	  source/operation/overlay/PolygonBuilder.cpp: Simplified some
+	  privat methods to use refs instead of pointers, added
 	  debugging section for failiures of holes/shells associations
 
-2006-03-20 12:32  Sandro Santilli <strk at keybit.net>
+2006-03-20 12:32  Sandro Santilli <strk at kbt.io>
 
-	* [r1245] Added note about responsibility of return from
-	  ::toPolygon
+	* [r1245] source/headers/geos/geomgraph/EdgeRing.h: Added note
+	  about responsibility of return from ::toPolygon
 
-2006-03-20 12:03  Sandro Santilli <strk at keybit.net>
+2006-03-20 12:03  Sandro Santilli <strk at kbt.io>
 
-	* [r1244] Added operator<< for Geometry, writing HEXWKB
+	* [r1244] source/geom/Geometry.cpp,
+	  source/headers/geos/geom/Geometry.h: Added operator<< for
+	  Geometry, writing HEXWKB
 
-2006-03-20 11:42  Sandro Santilli <strk at keybit.net>
+2006-03-20 11:42  Sandro Santilli <strk at kbt.io>
 
-	* [r1243] Added missing <cmath> include
+	* [r1243] source/noding/Octant.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp: Added missing
+	  <cmath> include
 
-2006-03-20 10:42  Sandro Santilli <strk at keybit.net>
+2006-03-20 10:42  Sandro Santilli <strk at kbt.io>
 
-	* [r1242] Bug #61 - Disambiguated geom::Polygon use
+	* [r1242] source/operation/predicate/RectangleContains.cpp,
+	  source/operation/predicate/RectangleIntersects.cpp: Bug #61 -
+	  Disambiguated geom::Polygon use
 
-2006-03-20 10:14  Sandro Santilli <strk at keybit.net>
+2006-03-20 10:14  Sandro Santilli <strk at kbt.io>
 
-	* [r1241] Bug #69 - Check for macro WIN32_LEAN_AND_MEAN
+	* [r1241] source/headers/geos/timeval.h: Bug #69 - Check for macro
+	  WIN32_LEAN_AND_MEAN
 
-2006-03-20 10:13  Sandro Santilli <strk at keybit.net>
+2006-03-20 10:13  Sandro Santilli <strk at kbt.io>
 
-	* [r1240] Bug #71 - Missing <algorithm>
+	* [r1240] source/operation/buffer/SubgraphDepthLocater.cpp: Bug #71
+	  - Missing <algorithm>
 
-2006-03-20 10:12  Sandro Santilli <strk at keybit.net>
+2006-03-20 10:12  Sandro Santilli <strk at kbt.io>
 
-	* [r1239] Bug #70 - Small fix in fwd decl. of CoordinateLessThen
+	* [r1239] source/headers/geos/geom/Coordinate.h: Bug #70 - Small
+	  fix in fwd decl. of CoordinateLessThen
 
-2006-03-20 10:11  Sandro Santilli <strk at keybit.net>
+2006-03-20 10:11  Sandro Santilli <strk at kbt.io>
 
-	* [r1238] Bug #67 - Debugging helpers in GeometryFactory class
+	* [r1238] source/geom/GeometryFactory.cpp: Bug #67 - Debugging
+	  helpers in GeometryFactory class
 
-2006-03-17 16:48  Sandro Santilli <strk at keybit.net>
+2006-03-17 16:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1237] LineIntersector and PointLocator made complete components
-	  of RelateComputer
+	* [r1237] source/headers/geos/opRelate.h,
+	  source/headers/geos/opValid.h, source/io/Unload.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp:
+	  LineIntersector and PointLocator made complete components of
+	  RelateComputer
 	  (were statics const pointers before). Reduced inclusions from
 	  opRelate.h
 	  and opValid.h, updated .cpp files to allow build.
 
-2006-03-17 14:56  Sandro Santilli <strk at keybit.net>
-
-	* [r1236] Fixed filename normalizer for sql output
-
-2006-03-17 13:24  Sandro Santilli <strk at keybit.net>
-
-	* [r1235] opOverlay.h header splitted. Reduced header inclusions in
-	  operation/overlay implementation files. ElevationMatrixFilter
-	  code moved from own file to ElevationMatrix.cpp (ideally a
-	  class-private).
+2006-03-17 14:56  Sandro Santilli <strk at kbt.io>
+
+	* [r1236] tests/xmltester/XMLTester.cpp: Fixed filename normalizer
+	  for sql output
+
+2006-03-17 13:24  Sandro Santilli <strk at kbt.io>
+
+	* [r1235] configure.in, source/geom/Geometry.cpp,
+	  source/headers/geos/opOverlay.h,
+	  source/headers/geos/operation/Makefile.am,
+	  source/headers/geos/operation/overlay,
+	  source/headers/geos/operation/overlay/.cvsignore,
+	  source/headers/geos/operation/overlay/EdgeSetNoder.h,
+	  source/headers/geos/operation/overlay/ElevationMatrix.h,
+	  source/headers/geos/operation/overlay/ElevationMatrixCell.h,
+	  source/headers/geos/operation/overlay/LineBuilder.h,
+	  source/headers/geos/operation/overlay/Makefile.am,
+	  source/headers/geos/operation/overlay/MaximalEdgeRing.h,
+	  source/headers/geos/operation/overlay/MinimalEdgeRing.h,
+	  source/headers/geos/operation/overlay/OverlayNodeFactory.h,
+	  source/headers/geos/operation/overlay/OverlayOp.h,
+	  source/headers/geos/operation/overlay/PointBuilder.h,
+	  source/headers/geos/operation/overlay/PolygonBuilder.h,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp,
+	  source/operation/overlay/EdgeSetNoder.cpp,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/ElevationMatrixCell.cpp,
+	  source/operation/overlay/ElevationMatrixFilter.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/Makefile.am,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/overlay/OverlayNodeFactory.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp: opOverlay.h header
+	  splitted. Reduced header inclusions in operation/overlay
+	  implementation files. ElevationMatrixFilter code moved from own
+	  file to ElevationMatrix.cpp (ideally a class-private).
 
-2006-03-16 13:30  Sandro Santilli <strk at keybit.net>
+2006-03-16 13:30  Sandro Santilli <strk at kbt.io>
 
-	* [r1234] Added missing testfile
+	* [r1234] tests/xmltester/linemerge.xml: Added missing testfile
 
-2006-03-16 13:29  Sandro Santilli <strk at keybit.net>
+2006-03-16 13:29  Sandro Santilli <strk at kbt.io>
 
-	* [r1233] new unit test for LineSegment (adding tests would be
-	  helpful)
+	* [r1233] tests/unit/Makefile.am, tests/unit/geom/LineSegment.cpp:
+	  new unit test for LineSegment (adding tests would be helpful)
 
-2006-03-16 13:28  Sandro Santilli <strk at keybit.net>
+2006-03-16 13:28  Sandro Santilli <strk at kbt.io>
 
-	* [r1232] obsoleted getCoordinate(), replaced by operator[]
+	* [r1232] source/geom/LineSegment.cpp,
+	  source/headers/geos/geom/LineSegment.h,
+	  source/headers/geos/geom/LineSegment.inl: obsoleted
+	  getCoordinate(), replaced by operator[]
 
-2006-03-16 13:27  Sandro Santilli <strk at keybit.net>
+2006-03-16 13:27  Sandro Santilli <strk at kbt.io>
 
-	* [r1231] Added notes about testing
+	* [r1231] README: Added notes about testing
 
-2006-03-16 10:47  Sandro Santilli <strk at keybit.net>
+2006-03-16 10:47  Sandro Santilli <strk at kbt.io>
 
-	* [r1230] Bug #65 - Command line changes and EOL fixes Unit Test
+	* [r1230] tests/tut/tut.h, tests/tut/tut_reporter.h,
+	  tests/tut/tut_restartable.h, tests/unit/geom/Envelope.cpp,
+	  tests/unit/geom/Geometry/isRectangle.cpp,
+	  tests/unit/geos_unit.cpp: Bug #65 - Command line changes and EOL
+	  fixes Unit Test
 
-2006-03-16 10:42  Sandro Santilli <strk at keybit.net>
+2006-03-16 10:42  Sandro Santilli <strk at kbt.io>
 
-	* [r1229] Bug #64 - Not all control paths return a value in
-	  geos::geom::Geometry::getClassSortIndex
+	* [r1229] source/geom/Geometry.cpp: Bug #64 - Not all control paths
+	  return a value in geos::geom::Geometry::getClassSortIndex
 
-2006-03-16 10:38  Sandro Santilli <strk at keybit.net>
+2006-03-16 10:38  Sandro Santilli <strk at kbt.io>
 
-	* [r1228] Bug #63 - Remove unreferenced local variable warning
+	* [r1228] source/algorithm/LineIntersector.cpp: Bug #63 - Remove
+	  unreferenced local variable warning
 
-2006-03-16 09:37  Sandro Santilli <strk at keybit.net>
+2006-03-16 09:37  Sandro Santilli <strk at kbt.io>
 
-	* [r1227] Initial unit tests
+	* [r1227] tests/tut, tests/tut/tut.h, tests/tut/tut_reporter.h,
+	  tests/tut/tut_restartable.h, tests/unit/Makefile.am,
+	  tests/unit/envelope_class_test.cpp, tests/unit/geom,
+	  tests/unit/geom/Envelope.cpp, tests/unit/geom/Geometry,
+	  tests/unit/geom/Geometry/isRectangle.cpp,
+	  tests/unit/geos_unit.cpp: Initial unit tests
 
-2006-03-15 18:59  Sandro Santilli <strk at keybit.net>
+2006-03-15 18:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1226] Bug #62: 'struct' CoordinateLessThen in forward
-	  declaration
+	* [r1226] source/headers/geos/operation/IsSimpleOp.h: Bug #62:
+	  'struct' CoordinateLessThen in forward declaration
 
-2006-03-15 18:57  Sandro Santilli <strk at keybit.net>
+2006-03-15 18:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1225] small cleanup
+	* [r1225] source/operation/buffer/SubgraphDepthLocater.cpp: small
+	  cleanup
 
-2006-03-15 18:57  Sandro Santilli <strk at keybit.net>
+2006-03-15 18:57  Sandro Santilli <strk at kbt.io>
 
-	* [r1224] cleanups in DEBUG lines
+	* [r1224] source/operation/buffer/BufferBuilder.cpp: cleanups in
+	  DEBUG lines
 
-2006-03-15 18:56  Sandro Santilli <strk at keybit.net>
+2006-03-15 18:56  Sandro Santilli <strk at kbt.io>
 
-	* [r1223] Temporary hack to avoid snapround:: Noders (still using
-	  ScaledNoder wrapper)
+	* [r1223] source/operation/buffer/BufferOp.cpp: Temporary hack to
+	  avoid snapround:: Noders (still using ScaledNoder wrapper)
 	  to allow for buffer_snapround.xml test to succeed
 
-2006-03-15 18:55  Sandro Santilli <strk at keybit.net>
+2006-03-15 18:55  Sandro Santilli <strk at kbt.io>
 
-	* [r1222] Added xml testfile showing bug in snapround:: noders
+	* [r1222] tests/xmltester/buffer_snapround.xml: Added xml testfile
+	  showing bug in snapround:: noders
 
-2006-03-15 18:44  Sandro Santilli <strk at keybit.net>
+2006-03-15 18:44  Sandro Santilli <strk at kbt.io>
 
-	* [r1221] Bug #60 - Missing <cmath> header in some files
+	* [r1221] doc/example.cpp, source/geom/Envelope.cpp,
+	  source/geom/LineSegment.cpp, source/geom/PrecisionModel.cpp,
+	  source/headers/geos/geom/Coordinate.inl,
+	  source/index/bintree/Key.cpp,
+	  source/index/quadtree/IntervalSize.cpp,
+	  source/index/quadtree/QuadTreeKey.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/util/GeometricShapeFactory.cpp: Bug #60 - Missing <cmath>
+	  header in some files
 
-2006-03-15 17:33  Sandro Santilli <strk at keybit.net>
+2006-03-15 17:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1220] Changed operator<< to use operator<< for Nodes
+	* [r1220] source/operation/buffer/BufferSubgraph.cpp: Changed
+	  operator<< to use operator<< for Nodes
 
-2006-03-15 17:17  Sandro Santilli <strk at keybit.net>
+2006-03-15 17:17  Sandro Santilli <strk at kbt.io>
 
-	* [r1219] Added missing forward declarations
+	* [r1219] source/headers/geos/geomgraph/DirectedEdgeStar.h,
+	  source/headers/geos/geomgraph/EdgeRing.h,
+	  source/headers/geos/geomgraph/index/SweepLineEvent.h: Added
+	  missing forward declarations
 
-2006-03-15 17:16  Sandro Santilli <strk at keybit.net>
+2006-03-15 17:16  Sandro Santilli <strk at kbt.io>
 
-	* [r1218] streamlined headers inclusion
+	* [r1218] source/geomgraph/Depth.cpp,
+	  source/geomgraph/DirectedEdge.cpp,
+	  source/geomgraph/DirectedEdgeStar.cpp, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeEnd.cpp, source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/EdgeIntersection.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/EdgeNodingValidator.cpp,
+	  source/geomgraph/EdgeRing.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/GraphComponent.cpp,
+	  source/geomgraph/NodeFactory.cpp,
+	  source/geomgraph/PlanarGraph.cpp, source/geomgraph/Position.cpp,
+	  source/geomgraph/Quadrant.cpp,
+	  source/geomgraph/TopologyLocation.cpp,
+	  source/geomgraph/index/MonotoneChainEdge.cpp,
+	  source/geomgraph/index/MonotoneChainIndexer.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  source/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  source/geomgraph/index/SweepLineEvent.cpp,
+	  source/geomgraph/index/SweepLineSegment.cpp: streamlined headers
+	  inclusion
 
-2006-03-15 16:27  Sandro Santilli <strk at keybit.net>
+2006-03-15 16:27  Sandro Santilli <strk at kbt.io>
 
-	* [r1217] operator<< for Node class
+	* [r1217] source/geomgraph/Node.cpp,
+	  source/headers/geos/geomgraph/Node.h: operator<< for Node class
 
-2006-03-15 15:50  Sandro Santilli <strk at keybit.net>
+2006-03-15 15:50  Sandro Santilli <strk at kbt.io>
 
-	* [r1216] const correctness, cleanups
+	* [r1216]
+	  source/headers/geos/operation/buffer/SubgraphDepthLocater.h,
+	  source/operation/buffer/SubgraphDepthLocater.cpp: const
+	  correctness, cleanups
 
-2006-03-15 15:27  Sandro Santilli <strk at keybit.net>
+2006-03-15 15:27  Sandro Santilli <strk at kbt.io>
 
-	* [r1215] cleanups
+	* [r1215] source/headers/geos/geomgraph/DirectedEdge.h,
+	  source/headers/geos/geomgraph/EdgeEnd.h: cleanups
 
-2006-03-15 15:26  Sandro Santilli <strk at keybit.net>
+2006-03-15 15:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1214] Cleanups
+	* [r1214] source/geomgraph/DirectedEdge.cpp,
+	  source/geomgraph/EdgeRing.cpp: Cleanups
 
-2006-03-15 13:03  Sandro Santilli <strk at keybit.net>
+2006-03-15 13:03  Sandro Santilli <strk at kbt.io>
 
-	* [r1213] removed leftover debugging line
+	* [r1213] source/operation/buffer/BufferBuilder.cpp: removed
+	  leftover debugging line
 
-2006-03-15 12:54  Sandro Santilli <strk at keybit.net>
+2006-03-15 12:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1212] Removed DepthSegment.h include
+	* [r1212] source/headers/geos/opBuffer.h: Removed DepthSegment.h
+	  include
 
-2006-03-15 12:54  Sandro Santilli <strk at keybit.net>
+2006-03-15 12:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1211] Removed public DepthSegment definition (moved inside
-	  SubgraphDepthLocater implementation)
+	* [r1211] source/headers/geos/operation/buffer/DepthSegment.h,
+	  source/headers/geos/operation/buffer/Makefile.am: Removed public
+	  DepthSegment definition (moved inside SubgraphDepthLocater
+	  implementation)
 
-2006-03-15 12:52  Sandro Santilli <strk at keybit.net>
+2006-03-15 12:52  Sandro Santilli <strk at kbt.io>
 
-	* [r1210] DepthSegment class moved inside SubgraphDepthLocator
-	  implementaion
+	* [r1210] source/operation/buffer/DepthSegment.cpp,
+	  source/operation/buffer/Makefile.am,
+	  source/operation/buffer/SubgraphDepthLocater.cpp: DepthSegment
+	  class moved inside SubgraphDepthLocator implementaion
 	  as it was private to this file in JTS. Also, changed to reduce
 	  copies of LineSegment copies.
 
-2006-03-15 11:45  Sandro Santilli <strk at keybit.net>
-
-	* [r1209] doxygen comments
-
-2006-03-15 11:44  Sandro Santilli <strk at keybit.net>
-
-	* [r1208] debug blocks, dumping SQL when GEOS_DEBUG > 1
-
-2006-03-15 11:42  Sandro Santilli <strk at keybit.net>
-
-	* [r1207] more debugging lines, with two levels of debugging
-	  handled
-
-2006-03-15 11:39  Sandro Santilli <strk at keybit.net>
-
-	* [r1206] comments cleanup, changed computeDepths to use a list<>
-	  rather then a vector (performance related)
+2006-03-15 11:45  Sandro Santilli <strk at kbt.io>
 
-2006-03-15 10:40  Sandro Santilli <strk at keybit.net>
-
-	* [r1205] Fixed to allow doxygen runs from external builddir
+	* [r1209] source/headers/geos/operation/buffer/BufferSubgraph.h:
+	  doxygen comments
 
-2006-03-15 09:51  Sandro Santilli <strk at keybit.net>
+2006-03-15 11:44  Sandro Santilli <strk at kbt.io>
 
-	* [r1204] streamlined header usage
+	* [r1208] source/operation/overlay/PolygonBuilder.cpp: debug
+	  blocks, dumping SQL when GEOS_DEBUG > 1
 
-2006-03-15 09:51  Sandro Santilli <strk at keybit.net>
+2006-03-15 11:42  Sandro Santilli <strk at kbt.io>
 
-	* [r1203] streamlined headers usage
+	* [r1207] source/operation/buffer/BufferBuilder.cpp: more debugging
+	  lines, with two levels of debugging handled
 
-2006-03-15 09:13  Sandro Santilli <strk at keybit.net>
+2006-03-15 11:39  Sandro Santilli <strk at kbt.io>
 
-	* [r1202] updated port info
+	* [r1206] source/operation/buffer/BufferSubgraph.cpp: comments
+	  cleanup, changed computeDepths to use a list<> rather then a
+	  vector (performance related)
 
-2006-03-15 09:12  Sandro Santilli <strk at keybit.net>
+2006-03-15 10:40  Sandro Santilli <strk at kbt.io>
 
-	* [r1201] isSimple doc
+	* [r1205] doc/Doxyfile.in: Fixed to allow doxygen runs from
+	  external builddir
 
-2006-03-14 17:46  Sandro Santilli <strk at keybit.net>
+2006-03-15 09:51  Sandro Santilli <strk at kbt.io>
 
-	* [r1200] Removed unrequired include
+	* [r1204] source/headers/geos/noding/SegmentString.inl,
+	  source/headers/geos/noding/SimpleNoder.h: streamlined header
+	  usage
 
-2006-03-14 17:10  Sandro Santilli <strk at keybit.net>
+2006-03-15 09:51  Sandro Santilli <strk at kbt.io>
 
-	* [r1199] cleanups
+	* [r1203] source/noding/IntersectionAdder.cpp,
+	  source/noding/IntersectionFinderAdder.cpp,
+	  source/noding/IteratedNoder.cpp, source/noding/MCIndexNoder.cpp,
+	  source/noding/NodingValidator.cpp, source/noding/Octant.cpp,
+	  source/noding/ScaledNoder.cpp, source/noding/SegmentNode.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp, source/noding/SimpleNoder.cpp,
+	  source/noding/snapround/MCIndexPointSnapper.cpp,
+	  source/noding/snapround/SimpleSnapRounder.cpp: streamlined
+	  headers usage
 
-2006-03-14 17:08  Sandro Santilli <strk at keybit.net>
+2006-03-15 09:13  Sandro Santilli <strk at kbt.io>
 
-	* [r1198] comments cleanup, integrity checks
+	* [r1202] source/geom/Polygon.cpp: updated port info
 
-2006-03-14 16:55  Sandro Santilli <strk at keybit.net>
+2006-03-15 09:12  Sandro Santilli <strk at kbt.io>
 
-	* [r1197] oops, GEOS_DEBUG default to 0
+	* [r1201] source/headers/geos/geom/Polygon.h: isSimple doc
 
-2006-03-14 16:55  Sandro Santilli <strk at keybit.net>
+2006-03-14 17:46  Sandro Santilli <strk at kbt.io>
 
-	* [r1196] comments cleanup
+	* [r1200] source/headers/geos/util/Assert.h: Removed unrequired
+	  include
 
-2006-03-14 16:53  Sandro Santilli <strk at keybit.net>
+2006-03-14 17:10  Sandro Santilli <strk at kbt.io>
 
-	* [r1195] removed endline from printing funx
+	* [r1199] source/operation/buffer/BufferSubgraph.cpp: cleanups
 
-2006-03-14 16:08  Sandro Santilli <strk at keybit.net>
+2006-03-14 17:08  Sandro Santilli <strk at kbt.io>
 
-	* [r1194] changed buildSubgraphs signature to use refs rather then
-	  pointers, made it const-correct. Reduced heap allocations in
-	  createSubgraphs()
+	* [r1198] source/headers/geos/opOverlay.h,
+	  source/operation/overlay/MaximalEdgeRing.cpp: comments cleanup,
+	  integrity checks
 
-2006-03-14 15:46  Sandro Santilli <strk at keybit.net>
+2006-03-14 16:55  Sandro Santilli <strk at kbt.io>
 
-	* [r1193] Added PlanarGraph::getNodes(vector&) func, to reduce
-	  useless heap allocations
+	* [r1197] source/operation/overlay/PolygonBuilder.cpp: oops,
+	  GEOS_DEBUG default to 0
 
-2006-03-14 15:32  Sandro Santilli <strk at keybit.net>
+2006-03-14 16:55  Sandro Santilli <strk at kbt.io>
 
-	* [r1192] Cleaned up toString funx (more WKT friendly)
+	* [r1196] source/headers/geos/opOverlay.h,
+	  source/operation/overlay/PolygonBuilder.cpp: comments cleanup
 
-2006-03-14 14:16  Sandro Santilli <strk at keybit.net>
+2006-03-14 16:53  Sandro Santilli <strk at kbt.io>
 
-	* [r1191] operator<< for BufferSubgraph, more debugging calls
+	* [r1195] source/geomgraph/Edge.cpp: removed endline from printing
+	  funx
 
-2006-03-14 12:55  Sandro Santilli <strk at keybit.net>
+2006-03-14 16:08  Sandro Santilli <strk at kbt.io>
 
-	* [r1190] Headers split: geomgraphindex.h, nodingSnapround.h
+	* [r1194] source/headers/geos/operation/buffer/BufferBuilder.h,
+	  source/operation/buffer/BufferBuilder.cpp: changed buildSubgraphs
+	  signature to use refs rather then pointers, made it
+	  const-correct. Reduced heap allocations in createSubgraphs()
 
-2006-03-14 11:03  Sandro Santilli <strk at keybit.net>
+2006-03-14 15:46  Sandro Santilli <strk at kbt.io>
 
-	* [r1189] Added operator<< for Edge and EdgeList
+	* [r1193] source/geomgraph/PlanarGraph.cpp,
+	  source/headers/geos/geomgraph/PlanarGraph.h: Added
+	  PlanarGraph::getNodes(vector&) func, to reduce useless heap
+	  allocations
 
-2006-03-14 00:37  Sandro Santilli <strk at keybit.net>
+2006-03-14 15:32  Sandro Santilli <strk at kbt.io>
 
-	* [r1188] Fixed include filenames
+	* [r1192] source/geom/Coordinate.cpp,
+	  source/geom/CoordinateArraySequence.cpp,
+	  source/geomgraph/DirectedEdge.cpp, source/geomgraph/Edge.cpp,
+	  source/geomgraph/Node.cpp: Cleaned up toString funx (more WKT
+	  friendly)
 
-2006-03-14 00:36  Sandro Santilli <strk at keybit.net>
+2006-03-14 14:16  Sandro Santilli <strk at kbt.io>
 
-	* [r1187] Reduced 'buffer' headers inclusion
+	* [r1191] source/headers/geos/operation/buffer/BufferSubgraph.h,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp: operator<< for
+	  BufferSubgraph, more debugging calls
 
-2006-03-14 00:19  Sandro Santilli <strk at keybit.net>
+2006-03-14 12:55  Sandro Santilli <strk at kbt.io>
 
-	* [r1186] opBuffer.h split, streamlined headers in some (not all)
-	  files in operation/buffer/
+	* [r1190] configure.in, source/geom/Geometry.cpp,
+	  source/geomgraph/Label.cpp, source/geomgraph/Node.cpp,
+	  source/geomgraph/NodeMap.cpp,
+	  source/headers/geos/geomgraph/Makefile.am,
+	  source/headers/geos/geomgraph/index,
+	  source/headers/geos/geomgraph/index/.cvsignore,
+	  source/headers/geos/geomgraph/index/EdgeSetIntersector.h,
+	  source/headers/geos/geomgraph/index/Makefile.am,
+	  source/headers/geos/geomgraph/index/MonotoneChain.h,
+	  source/headers/geos/geomgraph/index/MonotoneChainEdge.h,
+	  source/headers/geos/geomgraph/index/MonotoneChainIndexer.h,
+	  source/headers/geos/geomgraph/index/SegmentIntersector.h,
+	  source/headers/geos/geomgraph/index/SimpleEdgeSetIntersector.h,
+	  source/headers/geos/geomgraph/index/SimpleMCSweepLineIntersector.h,
+	  source/headers/geos/geomgraph/index/SimpleSweepLineIntersector.h,
+	  source/headers/geos/geomgraph/index/SweepLineEvent.h,
+	  source/headers/geos/geomgraph/index/SweepLineEventObj.h,
+	  source/headers/geos/geomgraph/index/SweepLineSegment.h,
+	  source/headers/geos/geomgraphindex.h,
+	  source/headers/geos/noding/IntersectionFinderAdder.h,
+	  source/headers/geos/noding/MCIndexNoder.h,
+	  source/headers/geos/noding/MCIndexNoder.inl,
+	  source/headers/geos/noding/Makefile.am,
+	  source/headers/geos/noding/snapround,
+	  source/headers/geos/noding/snapround/.cvsignore,
+	  source/headers/geos/noding/snapround/HotPixel.h,
+	  source/headers/geos/noding/snapround/HotPixel.inl,
+	  source/headers/geos/noding/snapround/MCIndexPointSnapper.h,
+	  source/headers/geos/noding/snapround/MCIndexSnapRounder.h,
+	  source/headers/geos/noding/snapround/MCIndexSnapRounder.inl,
+	  source/headers/geos/noding/snapround/Makefile.am,
+	  source/headers/geos/noding/snapround/SimpleSnapRounder.h,
+	  source/headers/geos/nodingSnapround.h,
+	  source/headers/geos/operation/Makefile.am,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/noding/MCIndexNoder.cpp,
+	  source/noding/snapround/HotPixel.cpp,
+	  source/noding/snapround/MCIndexPointSnapper.cpp,
+	  source/noding/snapround/MCIndexSnapRounder.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp: Headers split:
+	  geomgraphindex.h, nodingSnapround.h
+
+2006-03-14 11:03  Sandro Santilli <strk at kbt.io>
+
+	* [r1189] source/geomgraph/Edge.cpp, source/geomgraph/EdgeList.cpp,
+	  source/headers/geos/geomgraph/Edge.h,
+	  source/headers/geos/geomgraph/EdgeList.h: Added operator<< for
+	  Edge and EdgeList
+
+2006-03-14 00:37  Sandro Santilli <strk at kbt.io>
+
+	* [r1188] source/headers/geos/operation/buffer/Makefile.am: Fixed
+	  include filenames
+
+2006-03-14 00:36  Sandro Santilli <strk at kbt.io>
+
+	* [r1187] source/operation/buffer/BufferOp.cpp: Reduced 'buffer'
+	  headers inclusion
+
+2006-03-14 00:19  Sandro Santilli <strk at kbt.io>
+
+	* [r1186] source/headers/geos/opBuffer.h,
+	  source/headers/geos/operation/buffer,
+	  source/headers/geos/operation/buffer/.cvsignore,
+	  source/headers/geos/operation/buffer/BufferBuilder.h,
+	  source/headers/geos/operation/buffer/BufferOp.h,
+	  source/headers/geos/operation/buffer/BufferSubgraph.h,
+	  source/headers/geos/operation/buffer/DepthSegment.h,
+	  source/headers/geos/operation/buffer/Makefile.am,
+	  source/headers/geos/operation/buffer/OffsetCurveBuilder.h,
+	  source/headers/geos/operation/buffer/OffsetCurveSetBuilder.h,
+	  source/headers/geos/operation/buffer/RightmostEdgeFinder.h,
+	  source/headers/geos/operation/buffer/SubgraphDepthLocater.h,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/DepthSegment.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp: opBuffer.h
+	  split, streamlined headers in some (not all) files in
+	  operation/buffer/
 
-2006-03-13 22:33  Sandro Santilli <strk at keybit.net>
+2006-03-13 22:33  Sandro Santilli <strk at kbt.io>
 
-	* [r1185] Added missing forward declarations
+	* [r1185] source/headers/geos/geom/LineSegment.h: Added missing
+	  forward declarations
 
-2006-03-13 21:54  Sandro Santilli <strk at keybit.net>
+2006-03-13 21:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1184] Streamlined headers inclusion.
+	* [r1184] source/geom/Coordinate.cpp,
+	  source/geom/CoordinateSequence.cpp,
+	  source/geom/CoordinateSequenceFactory.cpp,
+	  source/geom/Geometry.cpp,
+	  source/geom/GeometryComponentFilter.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/Triangle.cpp: Streamlined headers inclusion.
 
-2006-03-13 21:19  Sandro Santilli <strk at keybit.net>
+2006-03-13 21:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1183] Fixed bug in ScaledNoder scaling mechanism (hugly code,
-	  due to CoordinateSequence visitor pattern design). Tests are
-	  still failing so this possibly needs some other fix. Streamlined
-	  includes by implementation file.
+	* [r1183] source/headers/geos/noding/ScaledNoder.h,
+	  source/noding/ScaledNoder.cpp: Fixed bug in ScaledNoder scaling
+	  mechanism (hugly code, due to CoordinateSequence visitor pattern
+	  design). Tests are still failing so this possibly needs some
+	  other fix. Streamlined includes by implementation file.
 
-2006-03-13 21:14  Sandro Santilli <strk at keybit.net>
+2006-03-13 21:14  Sandro Santilli <strk at kbt.io>
 
-	* [r1182] Added missing forward declarations
+	* [r1182] source/headers/geos/noding/SegmentString.h: Added missing
+	  forward declarations
 
-2006-03-13 21:13  Sandro Santilli <strk at keybit.net>
+2006-03-13 21:13  Sandro Santilli <strk at kbt.io>
 
-	* [r1181] Added comment about possible refactoring
+	* [r1181] source/headers/geos/geom/CoordinateFilter.h: Added
+	  comment about possible refactoring
 
-2006-03-11 16:58  Sandro Santilli <strk at keybit.net>
+2006-03-11 16:58  Sandro Santilli <strk at kbt.io>
 
-	* [r1180] Fixed bug in OffsetCurveBuilder::getCoordinates.
+	* [r1180] source/headers/geos/opBuffer.h,
+	  source/operation/buffer/OffsetCurveBuilder.cpp: Fixed bug in
+	  OffsetCurveBuilder::getCoordinates.
 
-2006-03-10 15:50  Sandro Santilli <strk at keybit.net>
+2006-03-10 15:50  Sandro Santilli <strk at kbt.io>
 
-	* [r1179] Changed 'found null Directed Edge' from an Assertion to a
-	  TopologyException, to give 'precision-reducing' overlay operation
-	  a chance to handle it (it seems to work)
+	* [r1179] source/geomgraph/EdgeRing.cpp: Changed 'found null
+	  Directed Edge' from an Assertion to a TopologyException, to give
+	  'precision-reducing' overlay operation a chance to handle it (it
+	  seems to work)
 
-2006-03-10 13:07  Sandro Santilli <strk at keybit.net>
+2006-03-10 13:07  Sandro Santilli <strk at kbt.io>
 
-	* [r1178] fine-tuned includes, reverted Assert=>assert due to
-	  user-input based failure
+	* [r1178] source/geomgraph/EdgeRing.cpp: fine-tuned includes,
+	  reverted Assert=>assert due to user-input based failure
 
-2006-03-10 12:50  Sandro Santilli <strk at keybit.net>
+2006-03-10 12:50  Sandro Santilli <strk at kbt.io>
 
-	* [r1177] boost detection code fix, first UTF source for testing
-	  purposes
+	* [r1177] configure.in, tests/unit/Makefile.am,
+	  tests/unit/envelope_class_test.cpp: boost detection code fix,
+	  first UTF source for testing purposes
 
-2006-03-10 12:43  Sandro Santilli <strk at keybit.net>
+2006-03-10 12:43  Sandro Santilli <strk at kbt.io>
 
-	* [r1176] updated
+	* [r1176] TODO: updated
 
-2006-03-10 12:09  Sandro Santilli <strk at keybit.net>
+2006-03-10 12:09  Sandro Santilli <strk at kbt.io>
 
-	* [r1175] Update configure script to work with new boost.m4 file
+	* [r1175] configure.in: Update configure script to work with new
+	  boost.m4 file
 
-2006-03-10 11:49  Sandro Santilli <strk at keybit.net>
+2006-03-10 11:49  Sandro Santilli <strk at kbt.io>
 
-	* [r1174] Updated boost detection macro
+	* [r1174] macros/boost.m4: Updated boost detection macro
 
-2006-03-10 11:41  Sandro Santilli <strk at keybit.net>
+2006-03-10 11:41  Sandro Santilli <strk at kbt.io>
 
-	* [r1173] Added missing <algorithm> include (bug#56)
+	* [r1173] source/index/quadtree/QuadTreeNodeBase.cpp: Added missing
+	  <algorithm> include (bug#56)
 
-2006-03-10 11:10  Sandro Santilli <strk at keybit.net>
+2006-03-10 11:10  Sandro Santilli <strk at kbt.io>
 
-	* [r1172] Initial boost detection code
+	* [r1172] configure.in, macros/boost.m4, tests/Makefile.am,
+	  tests/unit, tests/unit/.cvsignore, tests/unit/Makefile.am:
+	  Initial boost detection code
 
-2006-03-10 11:09  Sandro Santilli <strk at keybit.net>
+2006-03-10 11:09  Sandro Santilli <strk at kbt.io>
 
-	* [r1171] Comments cleanup
+	* [r1171] source/operation/valid/ConnectedInteriorTester.cpp:
+	  Comments cleanup
 
-2006-03-10 10:48  Sandro Santilli <strk at keybit.net>
+2006-03-10 10:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1170] Bug #58 - Patch to makefile.vc after big refactoring
-	  commit
+	* [r1170] source/Makefile.vc: Bug #58 - Patch to makefile.vc after
+	  big refactoring commit
 
-2006-03-10 10:44  Sandro Santilli <strk at keybit.net>
+2006-03-10 10:44  Sandro Santilli <strk at kbt.io>
 
-	* [r1169] Unreferenced exception objects cleanup (#52)
+	* [r1169] source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/overlay/ElevationMatrixFilter.cpp,
+	  source/precision/EnhancedPrecisionOp.cpp: Unreferenced exception
+	  objects cleanup (#52)
 
-2006-03-10 10:37  Sandro Santilli <strk at keybit.net>
+2006-03-10 10:37  Sandro Santilli <strk at kbt.io>
 
-	* [r1168] Added missing <algorithm> include (#55)
+	* [r1168] source/geomgraph/index/SimpleSweepLineIntersector.cpp:
+	  Added missing <algorithm> include (#55)
 
-2006-03-10 10:34  Sandro Santilli <strk at keybit.net>
+2006-03-10 10:34  Sandro Santilli <strk at kbt.io>
 
-	* [r1167] Added missing <algorithm> include (#54)
+	* [r1167] source/geom/Polygon.cpp: Added missing <algorithm>
+	  include (#54)
 
-2006-03-09 18:22  Sandro Santilli <strk at keybit.net>
+2006-03-09 18:22  Sandro Santilli <strk at kbt.io>
 
-	* [r1166] Added isvalid test for latest validop patch
+	* [r1166] tests/xmltester/Makefile.am,
+	  tests/xmltester/TestIsValid.xml: Added isvalid test for latest
+	  validop patch
 
-2006-03-09 18:18  Sandro Santilli <strk at keybit.net>
+2006-03-09 18:18  Sandro Santilli <strk at kbt.io>
 
-	* [r1165] Added memory-friendly
-	  MaximalEdgeRing::buildMinimalRings() implementation.
+	* [r1165] source/headers/geos/opOverlay.h,
+	  source/headers/geos/opValid.h,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp: Added
+	  memory-friendly MaximalEdgeRing::buildMinimalRings()
+	  implementation.
 	  Applied patch to IsValid operation from JTS-1.7.1
 
-2006-03-09 17:40  Sandro Santilli <strk at keybit.net>
-
-	* [r1164] Fixed bug#33 (hopefully)
-
-2006-03-09 16:46  Sandro Santilli <strk at keybit.net>
-
-	* [r1163] geos::geom namespace definition, first pass at headers
-	  split
-
-2006-03-09 16:18  Sandro Santilli <strk at keybit.net>
-
-	* [r1162] Fixed to allow tests from external build tree (thanks
-	  Norman:)
-
-2006-03-09 16:01  Sandro Santilli <strk at keybit.net>
-
-	* [r1161] Fixed debugging lines
-
-2006-03-09 15:50  Sandro Santilli <strk at keybit.net>
-
-	* [r1160] Fixed debugging lines, added missing header
-
-2006-03-09 15:47  Sandro Santilli <strk at keybit.net>
-
-	* [r1159] Fixed debugging lines
-
-2006-03-09 15:39  Sandro Santilli <strk at keybit.net>
-
-	* [r1158] Fixed debugging lines
-
-2006-03-09 14:48  Sandro Santilli <strk at keybit.net>
-
-	* [r1157] Added missing INCLUDES line
-
-2006-03-07 14:21  Sandro Santilli <strk at keybit.net>
-
-	* [r1156] Leak plugged, tweeked output to be nice with --sql-output
-
-2006-03-07 14:20  Sandro Santilli <strk at keybit.net>
-
-	* [r1155] Big deal of heap allocations reduction
-
-2006-03-07 14:18  Sandro Santilli <strk at keybit.net>
-
-	* [r1154] Profiler singleton implemented with a function-static
-	  Profiler instance
-
-2006-03-07 12:42  Sandro Santilli <strk at keybit.net>
-
-	* [r1153] addedvalidity test for a case with invalid input
-
-2006-03-07 12:41  Sandro Santilli <strk at keybit.net>
-
-	* [r1152] Added --wkb-output and made --sql-output compatible with
-	  -v
-
-2006-03-07 11:22  Sandro Santilli <strk at keybit.net>
-
-	* [r1151] table name for sqlOutput normalized
-
-2006-03-07 11:06  Sandro Santilli <strk at keybit.net>
-
-	* [r1150] Added --sql-output switch for debugging
-
-2006-03-07 10:46  Sandro Santilli <strk at keybit.net>
-
-	* [r1149] verbose validity errors
-
-2006-03-06 21:27  Sandro Santilli <strk at keybit.net>
-
-	* [r1148] Cascading fixed after Unload definition moved to geos::io
-	  namespace
-
-2006-03-06 19:43  Sandro Santilli <strk at keybit.net>
-
-	* [r1147] Fixed Unload class definition namespace (geos::io)
-
-2006-03-06 19:40  Sandro Santilli <strk at keybit.net>
-
-	* [r1146] geos::util namespace. New GeometryCollection::iterator
-	  interface, many cleanups.
-
-2006-03-06 15:23  Sandro Santilli <strk at keybit.net>
-
-	* [r1145] geos::io namespace
-
-2006-03-06 14:30  Sandro Santilli <strk at keybit.net>
-
-	* [r1143] Validity error include Coordinate
-
-2006-03-06 13:27  Sandro Santilli <strk at keybit.net>
-
-	* [r1142] Cleaned up equalsExact
-
-2006-03-06 13:26  Sandro Santilli <strk at keybit.net>
-
-	* [r1141] Fixed equalsExact check, and also reduced tolerance
-
-2006-03-06 12:47  Sandro Santilli <strk at keybit.net>
+2006-03-09 17:40  Sandro Santilli <strk at kbt.io>
+
+	* [r1164] source/headers/geos/opBuffer.h,
+	  source/operation/buffer/OffsetCurveBuilder.cpp: Fixed bug#33
+	  (hopefully)
+
+2006-03-09 16:46  Sandro Santilli <strk at kbt.io>
+
+	* [r1163] configure.in, source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/CentroidPoint.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/MinimumDiameter.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/geom/Coordinate.cpp,
+	  source/geom/CoordinateArraySequence.cpp,
+	  source/geom/CoordinateArraySequenceFactory.cpp,
+	  source/geom/CoordinateList.cpp,
+	  source/geom/CoordinateSequence.cpp,
+	  source/geom/CoordinateSequenceFactory.cpp,
+	  source/geom/Dimension.cpp, source/geom/Envelope.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/geom/GeometryComponentFilter.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/Location.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/geom/PrecisionModel.cpp,
+	  source/geom/TopologyException.cpp, source/geom/Triangle.cpp,
+	  source/geom/util/CoordinateOperation.cpp,
+	  source/geom/util/GeometryEditor.cpp,
+	  source/geom/util/Makefile.am, source/geomgraph/DirectedEdge.cpp,
+	  source/geomgraph/Edge.cpp, source/geomgraph/EdgeEnd.cpp,
+	  source/geomgraph/EdgeEndStar.cpp, source/geomgraph/EdgeRing.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/PlanarGraph.cpp, source/geomgraph/Quadrant.cpp,
+	  source/geomgraph/index/MonotoneChainEdge.cpp,
+	  source/geomgraph/index/MonotoneChainIndexer.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  source/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  source/geomgraph/index/SweepLineSegment.cpp,
+	  source/headers/geos.h, source/headers/geos/Makefile.am,
+	  source/headers/geos/algorithm,
+	  source/headers/geos/algorithm/.cvsignore,
+	  source/headers/geos/algorithm/CGAlgorithms.h,
+	  source/headers/geos/algorithm/CentroidArea.h,
+	  source/headers/geos/algorithm/CentroidLine.h,
+	  source/headers/geos/algorithm/CentroidPoint.h,
+	  source/headers/geos/algorithm/ConvexHull.h,
+	  source/headers/geos/algorithm/ConvexHull.inl,
+	  source/headers/geos/algorithm/HCoordinate.h,
+	  source/headers/geos/algorithm/InteriorPointArea.h,
+	  source/headers/geos/algorithm/InteriorPointLine.h,
+	  source/headers/geos/algorithm/InteriorPointPoint.h,
+	  source/headers/geos/algorithm/LineIntersector.h,
+	  source/headers/geos/algorithm/MCPointInRing.h,
+	  source/headers/geos/algorithm/Makefile.am,
+	  source/headers/geos/algorithm/MinimumDiameter.h,
+	  source/headers/geos/algorithm/NotRepresentableException.h,
+	  source/headers/geos/algorithm/PointInRing.h,
+	  source/headers/geos/algorithm/PointLocator.h,
+	  source/headers/geos/algorithm/RobustDeterminant.h,
+	  source/headers/geos/algorithm/SIRtreePointInRing.h,
+	  source/headers/geos/algorithm/SimplePointInAreaLocator.h,
+	  source/headers/geos/algorithm/SimplePointInRing.h,
+	  source/headers/geos/geom, source/headers/geos/geom.h,
+	  source/headers/geos/geom/.cvsignore,
+	  source/headers/geos/geom/Coordinate.h,
+	  source/headers/geos/geom/Coordinate.inl,
+	  source/headers/geos/geom/CoordinateArraySequence.h,
+	  source/headers/geos/geom/CoordinateArraySequenceFactory.h,
+	  source/headers/geos/geom/CoordinateArraySequenceFactory.inl,
+	  source/headers/geos/geom/CoordinateFilter.h,
+	  source/headers/geos/geom/CoordinateSequence.h,
+	  source/headers/geos/geom/CoordinateSequenceFactory.h,
+	  source/headers/geos/geom/Dimension.h,
+	  source/headers/geos/geom/Envelope.h,
+	  source/headers/geos/geom/Envelope.inl,
+	  source/headers/geos/geom/Geometry.h,
+	  source/headers/geos/geom/Geometry.inl,
+	  source/headers/geos/geom/GeometryCollection.h,
+	  source/headers/geos/geom/GeometryCollection.inl,
+	  source/headers/geos/geom/GeometryComponentFilter.h,
+	  source/headers/geos/geom/GeometryFactory.h,
+	  source/headers/geos/geom/GeometryFactory.inl,
+	  source/headers/geos/geom/GeometryFilter.h,
+	  source/headers/geos/geom/IntersectionMatrix.h,
+	  source/headers/geos/geom/LineSegment.h,
+	  source/headers/geos/geom/LineSegment.inl,
+	  source/headers/geos/geom/LineString.h,
+	  source/headers/geos/geom/LinearRing.h,
+	  source/headers/geos/geom/Location.h,
+	  source/headers/geos/geom/Makefile.am,
+	  source/headers/geos/geom/MultiLineString.h,
+	  source/headers/geos/geom/MultiLineString.inl,
+	  source/headers/geos/geom/MultiPoint.h,
+	  source/headers/geos/geom/MultiPolygon.h,
+	  source/headers/geos/geom/MultiPolygon.inl,
+	  source/headers/geos/geom/Point.h,
+	  source/headers/geos/geom/Polygon.h,
+	  source/headers/geos/geom/PrecisionModel.h,
+	  source/headers/geos/geom/PrecisionModel.inl,
+	  source/headers/geos/geom/Triangle.h,
+	  source/headers/geos/geom/util,
+	  source/headers/geos/geom/util/.cvsignore,
+	  source/headers/geos/geom/util/CoordinateOperation.h,
+	  source/headers/geos/geom/util/GeometryEditor.h,
+	  source/headers/geos/geom/util/GeometryEditorOperation.h,
+	  source/headers/geos/geom/util/LinearComponentExtracter.h,
+	  source/headers/geos/geom/util/Makefile.am,
+	  source/headers/geos/geom/util/PointExtracter.h,
+	  source/headers/geos/geom/util/PolygonExtracter.h,
+	  source/headers/geos/geom/util/ShortCircuitedGeometryVisitor.h,
+	  source/headers/geos/geomUtil.h, source/headers/geos/geomgraph,
+	  source/headers/geos/geomgraph.h,
+	  source/headers/geos/geomgraph/.cvsignore,
+	  source/headers/geos/geomgraph/Depth.h,
+	  source/headers/geos/geomgraph/DirectedEdge.h,
+	  source/headers/geos/geomgraph/DirectedEdge.inl,
+	  source/headers/geos/geomgraph/DirectedEdgeStar.h,
+	  source/headers/geos/geomgraph/Edge.h,
+	  source/headers/geos/geomgraph/EdgeEnd.h,
+	  source/headers/geos/geomgraph/EdgeEndStar.h,
+	  source/headers/geos/geomgraph/EdgeIntersection.h,
+	  source/headers/geos/geomgraph/EdgeIntersectionList.h,
+	  source/headers/geos/geomgraph/EdgeList.h,
+	  source/headers/geos/geomgraph/EdgeNodingValidator.h,
+	  source/headers/geos/geomgraph/EdgeRing.h,
+	  source/headers/geos/geomgraph/GeometryGraph.h,
+	  source/headers/geos/geomgraph/GraphComponent.h,
+	  source/headers/geos/geomgraph/Label.h,
+	  source/headers/geos/geomgraph/Makefile.am,
+	  source/headers/geos/geomgraph/Node.h,
+	  source/headers/geos/geomgraph/NodeFactory.h,
+	  source/headers/geos/geomgraph/NodeMap.h,
+	  source/headers/geos/geomgraph/PlanarGraph.h,
+	  source/headers/geos/geomgraph/Position.h,
+	  source/headers/geos/geomgraph/Quadrant.h,
+	  source/headers/geos/geomgraph/TopologyLocation.h,
+	  source/headers/geos/geomgraphindex.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/indexChain.h,
+	  source/headers/geos/indexQuadtree.h,
+	  source/headers/geos/indexStrtree.h, source/headers/geos/io.h,
+	  source/headers/geos/noding, source/headers/geos/noding.h,
+	  source/headers/geos/noding/.cvsignore,
+	  source/headers/geos/noding/IntersectionAdder.h,
+	  source/headers/geos/noding/IntersectionFinderAdder.h,
+	  source/headers/geos/noding/IteratedNoder.h,
+	  source/headers/geos/noding/MCIndexNoder.h,
+	  source/headers/geos/noding/Makefile.am,
+	  source/headers/geos/noding/Noder.h,
+	  source/headers/geos/noding/NodingValidator.h,
+	  source/headers/geos/noding/Octant.h,
+	  source/headers/geos/noding/ScaledNoder.h,
+	  source/headers/geos/noding/SegmentIntersector.h,
+	  source/headers/geos/noding/SegmentNode.h,
+	  source/headers/geos/noding/SegmentNodeList.h,
+	  source/headers/geos/noding/SegmentString.h,
+	  source/headers/geos/noding/SegmentString.inl,
+	  source/headers/geos/noding/SimpleNoder.h,
+	  source/headers/geos/noding/SinglePassNoder.h,
+	  source/headers/geos/nodingSnapround.h,
+	  source/headers/geos/opBuffer.h, source/headers/geos/opDistance.h,
+	  source/headers/geos/opOverlay.h, source/headers/geos/opRelate.h,
+	  source/headers/geos/opValid.h, source/headers/geos/operation,
+	  source/headers/geos/operation.h,
+	  source/headers/geos/operation/.cvsignore,
+	  source/headers/geos/operation/EndpointInfo.h,
+	  source/headers/geos/operation/GeometryGraphOperation.h,
+	  source/headers/geos/operation/IsSimpleOp.h,
+	  source/headers/geos/operation/Makefile.am,
+	  source/headers/geos/spatialIndex.h, source/headers/geos/util,
+	  source/headers/geos/util.h, source/headers/geos/util/.cvsignore,
+	  source/headers/geos/util/Assert.h,
+	  source/headers/geos/util/AssertionFailedException.h,
+	  source/headers/geos/util/CoordinateArrayFilter.h,
+	  source/headers/geos/util/GEOSException.h,
+	  source/headers/geos/util/GeometricShapeFactory.h,
+	  source/headers/geos/util/IllegalArgumentException.h,
+	  source/headers/geos/util/Makefile.am,
+	  source/headers/geos/util/TopologyException.h,
+	  source/headers/geos/util/UniqueCoordinateArrayFilter.h,
+	  source/headers/geos/util/UnsupportedOperationException.h,
+	  source/headers/geos/util/math.h, source/io/WKBReader.cpp,
+	  source/io/WKBWriter.cpp, source/io/WKTReader.cpp,
+	  source/io/WKTWriter.cpp, source/noding/SegmentString.cpp,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp,
+	  source/operation/overlay/EdgeSetNoder.cpp,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/ElevationMatrixFilter.cpp,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/util/Assert.cpp, tests/xmltester/SimpleWKTTester.cpp,
+	  tests/xmltester/XMLTester.cpp, tests/xmltester/buffer.xml:
+	  geos::geom namespace definition, first pass at headers split
 
-	* [r1140] TopologyValidationError error names (enum) renamed to
-	  avoid conflicts.
+2006-03-09 16:18  Sandro Santilli <strk at kbt.io>
 
-2006-03-06 12:16  Sandro Santilli <strk at keybit.net>
+	* [r1162] tests/xmltester/Makefile.am: Fixed to allow tests from
+	  external build tree (thanks Norman:)
 
-	* [r1139] Added second case for Union
+2006-03-09 16:01  Sandro Santilli <strk at kbt.io>
 
-2006-03-06 12:11  Sandro Santilli <strk at keybit.net>
+	* [r1161] source/geomgraph/Position.cpp,
+	  source/operation/overlay/ElevationMatrixFilter.cpp: Fixed
+	  debugging lines
 
-	* [r1138] precision.h => geos/precision.h (#48)
+2006-03-09 15:50  Sandro Santilli <strk at kbt.io>
 
-2006-03-06 11:39  Sandro Santilli <strk at keybit.net>
+	* [r1160] source/operation/overlay/OverlayOp.cpp: Fixed debugging
+	  lines, added missing header
 
-	* [r1137] Added test extracted from data provided by Guillaume
-	  Sueur
+2006-03-09 15:47  Sandro Santilli <strk at kbt.io>
 
-2006-03-06 11:34  Sandro Santilli <strk at keybit.net>
+	* [r1159] source/operation/linemerge/LineMergeGraph.cpp: Fixed
+	  debugging lines
 
-	* [r1136] Dropped unused/unmaintained/platform-problematic serial
-	  version info for classes (#47)
+2006-03-09 15:39  Sandro Santilli <strk at kbt.io>
 
-2006-03-06 11:17  Sandro Santilli <strk at keybit.net>
+	* [r1158] source/index/quadtree/QuadTreeKey.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/noding/SegmentNodeList.cpp: Fixed debugging lines
 
-	* [r1135] added a compile-time option to get VERBOSE_EXCEPTION
-	  (print args on exceptions)
+2006-03-09 14:48  Sandro Santilli <strk at kbt.io>
 
-2006-03-06 11:17  Sandro Santilli <strk at keybit.net>
+	* [r1157] capi/Makefile.am: Added missing INCLUDES line
 
-	* [r1134] precision reducing overlayOp made compile-time optional
+2006-03-07 14:21  Sandro Santilli <strk at kbt.io>
 
-2006-03-06 11:05  Sandro Santilli <strk at keybit.net>
+	* [r1156] tests/xmltester/XMLTester.cpp: Leak plugged, tweeked
+	  output to be nice with --sql-output
 
-	* [r1133] Added input and output validity test facilities
+2006-03-07 14:20  Sandro Santilli <strk at kbt.io>
 
-2006-03-03 14:01  Sandro Santilli <strk at keybit.net>
+	* [r1155] source/headers/geos/opBuffer.h,
+	  source/operation/buffer/OffsetCurveBuilder.cpp: Big deal of heap
+	  allocations reduction
 
-	* [r1132] Experimental precision-reducing overlayOp
+2006-03-07 14:18  Sandro Santilli <strk at kbt.io>
 
-2006-03-03 13:50  Sandro Santilli <strk at keybit.net>
+	* [r1154] source/util/Profiler.cpp: Profiler singleton implemented
+	  with a function-static Profiler instance
 
-	* [r1131] Cleaned up InteriorPointLine class
+2006-03-07 12:42  Sandro Santilli <strk at kbt.io>
 
-2006-03-03 10:46  Sandro Santilli <strk at keybit.net>
+	* [r1153] tests/xmltester/buffer.xml: addedvalidity test for a case
+	  with invalid input
 
-	* [r1130] Removed 'using namespace' from headers, added missing
-	  headers in .cpp files, removed useless includes in headers
-	  (bug#46)
+2006-03-07 12:41  Sandro Santilli <strk at kbt.io>
 
-2006-03-02 18:17  Sandro Santilli <strk at keybit.net>
+	* [r1152] tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/XMLTester.h: Added --wkb-output and made
+	  --sql-output compatible with -v
 
-	* [r1129] Added robustness testcases
+2006-03-07 11:22  Sandro Santilli <strk at kbt.io>
 
-2006-03-02 16:22  Sandro Santilli <strk at keybit.net>
+	* [r1151] tests/xmltester/XMLTester.cpp: table name for sqlOutput
+	  normalized
 
-	* [r1128] Updated copyright notice
+2006-03-07 11:06  Sandro Santilli <strk at kbt.io>
 
-2006-03-02 16:21  Sandro Santilli <strk at keybit.net>
+	* [r1150] tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/XMLTester.h: Added --sql-output switch for
+	  debugging
 
-	* [r1127] geos::precision namespace added
+2006-03-07 10:46  Sandro Santilli <strk at kbt.io>
 
-2006-03-02 14:53  Sandro Santilli <strk at keybit.net>
+	* [r1149] tests/xmltester/XMLTester.cpp: verbose validity errors
 
-	* [r1126] SweepLineEvent::DELETE=>DELETE_EVENT,
-	  INSERT=>INSERT_EVENT (#45)
+2006-03-06 21:27  Sandro Santilli <strk at kbt.io>
 
-2006-03-02 14:34  Sandro Santilli <strk at keybit.net>
+	* [r1148] doc/example.cpp, source/headers/geos/geom.h,
+	  source/headers/geos/opRelate.h, tests/xmltester/XMLTester.cpp:
+	  Cascading fixed after Unload definition moved to geos::io
+	  namespace
 
-	* [r1125] GeometryGraphOperation::li made a non-static member, and
-	  not more a pointer
+2006-03-06 19:43  Sandro Santilli <strk at kbt.io>
+
+	* [r1147] source/headers/geos/unload.h: Fixed Unload class
+	  definition namespace (geos::io)
+
+2006-03-06 19:40  Sandro Santilli <strk at kbt.io>
+
+	* [r1146] capi/geos_c.cpp, doc/example.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/geom/Dimension.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryComponentFilter.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/Location.cpp, source/geom/Makefile.am,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/geom/PrecisionModel.cpp,
+	  source/geom/util/GeometryEditor.cpp,
+	  source/geomgraph/DirectedEdge.cpp,
+	  source/geomgraph/DirectedEdgeStar.cpp,
+	  source/geomgraph/EdgeEnd.cpp, source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/EdgeRing.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/GraphComponent.cpp,
+	  source/geomgraph/PlanarGraph.cpp, source/geomgraph/Quadrant.cpp,
+	  source/headers/geos/LineSegment.inl,
+	  source/headers/geos/Makefile.am, source/headers/geos/geom,
+	  source/headers/geos/geom.h,
+	  source/headers/geos/geom/GeometryCollection.inl,
+	  source/headers/geos/geom/LineSegment.inl,
+	  source/headers/geos/geomgraph.h,
+	  source/headers/geos/geosAlgorithm.h, source/headers/geos/io.h,
+	  source/headers/geos/opBuffer.h, source/headers/geos/profiler.h,
+	  source/headers/geos/util.h, source/index/bintree/BinTreeNode.cpp,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/Interval.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp, source/io/Unload.cpp,
+	  source/io/WKBWriter.cpp, source/io/WKTReader.cpp,
+	  source/io/WKTWriter.cpp, source/noding/IteratedNoder.cpp,
+	  source/noding/NodingValidator.cpp, source/noding/Octant.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  source/operation/linemerge/LineSequencer.cpp,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/ElevationMatrixFilter.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/precision/CommonBitsRemover.cpp,
+	  source/precision/EnhancedPrecisionOp.cpp, source/util/Assert.cpp,
+	  source/util/AssertionFailedException.cpp,
+	  source/util/CoordinateArrayFiter.cpp,
+	  source/util/GEOSException.cpp,
+	  source/util/GeometricShapeFactory.cpp,
+	  source/util/IllegalArgumentException.cpp,
+	  source/util/Profiler.cpp,
+	  source/util/UniqueCoordinateArrayFilter.cpp,
+	  source/util/UnsupportedOperationException.cpp,
+	  tests/xmltester/SimpleWKTTester.cpp,
+	  tests/xmltester/XMLTester.cpp: geos::util namespace. New
+	  GeometryCollection::iterator interface, many cleanups.
 
-2006-03-02 14:21  Sandro Santilli <strk at keybit.net>
+2006-03-06 15:23  Sandro Santilli <strk at kbt.io>
 
-	* [r1124] DEBUG => GEOS_DEBUG [#44]
+	* [r1145] capi/geos_c.cpp, doc/example.cpp,
+	  source/geom/Geometry.cpp, source/headers/geos/io.h,
+	  source/io/ByteOrderValues.cpp, source/io/ParseException.cpp,
+	  source/io/StringTokenizer.cpp, source/io/Unload.cpp,
+	  source/io/WKBReader.cpp, source/io/WKBWriter.cpp,
+	  source/io/WKTReader.cpp, source/io/WKTWriter.cpp,
+	  source/io/Writer.cpp, tests/xmltester/SimpleWKTTester.cpp,
+	  tests/xmltester/XMLTester.cpp, tests/xmltester/XMLTester.h,
+	  tests/xmltester/buffer.xml: geos::io namespace
 
-2006-03-02 12:12  Sandro Santilli <strk at keybit.net>
+2006-03-06 14:30  Sandro Santilli <strk at kbt.io>
 
-	* [r1123] Renamed DEBUG macros to GEOS_DEBUG, all wrapped in
-	  #ifndef block to allow global override (bug#43)
+	* [r1143] capi/geos_c.cpp: Validity error include Coordinate
+
+2006-03-06 13:27  Sandro Santilli <strk at kbt.io>
+
+	* [r1142] source/geom/Polygon.cpp: Cleaned up equalsExact
+
+2006-03-06 13:26  Sandro Santilli <strk at kbt.io>
+
+	* [r1141] tests/xmltester/XMLTester.cpp: Fixed equalsExact check,
+	  and also reduced tolerance
+
+2006-03-06 12:47  Sandro Santilli <strk at kbt.io>
+
+	* [r1140] source/headers/geos/opValid.h,
+	  source/operation/valid/IsValidOp.cpp: TopologyValidationError
+	  error names (enum) renamed to avoid conflicts.
+
+2006-03-06 12:16  Sandro Santilli <strk at kbt.io>
+
+	* [r1139] tests/xmltester/robustness.xml: Added second case for
+	  Union
+
+2006-03-06 12:11  Sandro Santilli <strk at kbt.io>
+
+	* [r1138] source/operation/overlay/OverlayOp.cpp: precision.h =>
+	  geos/precision.h (#48)
+
+2006-03-06 11:39  Sandro Santilli <strk at kbt.io>
+
+	* [r1137] tests/xmltester/robustness.xml: Added test extracted from
+	  data provided by Guillaume Sueur
+
+2006-03-06 11:34  Sandro Santilli <strk at kbt.io>
+
+	* [r1136] source/headers/geos/geom.h: Dropped
+	  unused/unmaintained/platform-problematic serial version info for
+	  classes (#47)
+
+2006-03-06 11:17  Sandro Santilli <strk at kbt.io>
+
+	* [r1135] capi/geos_c.cpp: added a compile-time option to get
+	  VERBOSE_EXCEPTION (print args on exceptions)
+
+2006-03-06 11:17  Sandro Santilli <strk at kbt.io>
+
+	* [r1134] source/operation/overlay/OverlayOp.cpp: precision
+	  reducing overlayOp made compile-time optional
+
+2006-03-06 11:05  Sandro Santilli <strk at kbt.io>
+
+	* [r1133] tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/XMLTester.h: Added input and output validity test
+	  facilities
+
+2006-03-03 14:01  Sandro Santilli <strk at kbt.io>
+
+	* [r1132] source/operation/overlay/OverlayOp.cpp: Experimental
+	  precision-reducing overlayOp
+
+2006-03-03 13:50  Sandro Santilli <strk at kbt.io>
+
+	* [r1131] source/algorithm/InteriorPointLine.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/geosAlgorithm.h:
+	  Cleaned up InteriorPointLine class
+
+2006-03-03 10:46  Sandro Santilli <strk at kbt.io>
+
+	* [r1130] capi/geos_c.cpp, doc/example.cpp,
+	  source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/geom/Coordinate.cpp,
+	  source/geom/CoordinateArraySequence.cpp,
+	  source/geom/CoordinateSequence.cpp, source/geom/Dimension.cpp,
+	  source/geom/Envelope.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/Location.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/geom/PrecisionModel.cpp,
+	  source/geom/TopologyException.cpp,
+	  source/geom/util/GeometryEditor.cpp, source/geomgraph/Depth.cpp,
+	  source/geomgraph/DirectedEdge.cpp,
+	  source/geomgraph/DirectedEdgeStar.cpp, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeEnd.cpp, source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/EdgeIntersection.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/EdgeList.cpp, source/geomgraph/EdgeRing.cpp,
+	  source/geomgraph/GeometryGraph.cpp, source/geomgraph/Label.cpp,
+	  source/geomgraph/Node.cpp, source/geomgraph/NodeMap.cpp,
+	  source/geomgraph/PlanarGraph.cpp, source/geomgraph/Quadrant.cpp,
+	  source/geomgraph/TopologyLocation.cpp,
+	  source/geomgraph/index/MonotoneChainEdge.cpp,
+	  source/geomgraph/index/MonotoneChainIndexer.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  source/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  source/geomgraph/index/SweepLineEvent.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/geomUtil.h,
+	  source/headers/geos/geomgraph.h,
+	  source/headers/geos/geomgraphindex.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/indexChain.h,
+	  source/headers/geos/indexQuadtree.h,
+	  source/headers/geos/indexStrtree.h, source/headers/geos/io.h,
+	  source/headers/geos/noding.h,
+	  source/headers/geos/nodingSnapround.h,
+	  source/headers/geos/opBuffer.h, source/headers/geos/opDistance.h,
+	  source/headers/geos/opLinemerge.h,
+	  source/headers/geos/opOverlay.h,
+	  source/headers/geos/opPolygonize.h,
+	  source/headers/geos/opRelate.h, source/headers/geos/opValid.h,
+	  source/headers/geos/operation.h,
+	  source/headers/geos/planargraph.h,
+	  source/headers/geos/profiler.h, source/headers/geos/util.h,
+	  source/index/bintree/Bintree.cpp,
+	  source/index/bintree/NodeBase.cpp,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/index/quadtree/IntervalSize.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/Interval.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp, source/io/ByteOrderValues.cpp,
+	  source/io/ParseException.cpp, source/io/StringTokenizer.cpp,
+	  source/io/Unload.cpp, source/io/WKBReader.cpp,
+	  source/io/WKBWriter.cpp, source/io/WKTReader.cpp,
+	  source/io/WKTWriter.cpp, source/io/Writer.cpp,
+	  source/noding/IteratedNoder.cpp, source/noding/MCIndexNoder.cpp,
+	  source/noding/NodingValidator.cpp, source/noding/Octant.cpp,
+	  source/noding/SegmentNode.cpp, source/noding/SegmentNodeList.cpp,
+	  source/noding/snapround/HotPixel.cpp,
+	  source/noding/snapround/MCIndexSnapRounder.cpp,
+	  source/noding/snapround/SimpleSnapRounder.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp,
+	  source/operation/distance/ConnectedElementLocationFilter.cpp,
+	  source/operation/distance/ConnectedElementPointFilter.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/linemerge/EdgeString.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/operation/linemerge/LineSequencer.cpp,
+	  source/operation/overlay/EdgeSetNoder.cpp,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/ElevationMatrixCell.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/Polygonizer.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/TopologyValidationError.cpp,
+	  source/planargraph/algorithm/ConnectedSubgraphFinder.cpp,
+	  source/planargraph/planarDirectedEdge.cpp,
+	  source/planargraph/planarDirectedEdgeStar.cpp,
+	  source/planargraph/planarNode.cpp,
+	  source/planargraph/planarNodeMap.cpp,
+	  source/planargraph/planarPlanarGraph.cpp,
+	  source/planargraph/planarSubgraph.cpp,
+	  source/precision/CommonBitsOp.cpp,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp,
+	  source/util/Assert.cpp, source/util/GEOSException.cpp,
+	  source/util/GeometricShapeFactory.cpp, source/util/Profiler.cpp,
+	  tests/xmltester/XMLTester.cpp, tests/xmltester/XMLTester.h:
+	  Removed 'using namespace' from headers, added missing headers in
+	  .cpp files, removed useless includes in headers (bug#46)
+
+2006-03-02 18:17  Sandro Santilli <strk at kbt.io>
+
+	* [r1129] tests/xmltester/Makefile.am,
+	  tests/xmltester/robustness.xml: Added robustness testcases
+
+2006-03-02 16:22  Sandro Santilli <strk at kbt.io>
+
+	* [r1128] tests/xmltester/XMLTester.cpp: Updated copyright notice
+
+2006-03-02 16:21  Sandro Santilli <strk at kbt.io>
+
+	* [r1127] source/geomgraph/PlanarGraph.cpp,
+	  source/headers/geos/geomUtil.h, source/headers/geos/precision.h,
+	  source/precision/CommonBits.cpp,
+	  source/precision/CommonBitsOp.cpp,
+	  source/precision/CommonBitsRemover.cpp,
+	  source/precision/EnhancedPrecisionOp.cpp,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp:
+	  geos::precision namespace added
+
+2006-03-02 14:53  Sandro Santilli <strk at kbt.io>
+
+	* [r1126] source/geomgraph/index/SweepLineEvent.cpp,
+	  source/headers/geos/geomgraphindex.h,
+	  source/headers/geos/indexSweepline.h,
+	  source/index/sweepline/indexSweepLineEvent.cpp:
+	  SweepLineEvent::DELETE=>DELETE_EVENT, INSERT=>INSERT_EVENT (#45)
+
+2006-03-02 14:34  Sandro Santilli <strk at kbt.io>
+
+	* [r1125] source/headers/geos/geomgraph.h,
+	  source/headers/geos/operation.h, source/io/Unload.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp:
+	  GeometryGraphOperation::li made a non-static member, and not more
+	  a pointer
+
+2006-03-02 14:21  Sandro Santilli <strk at kbt.io>
+
+	* [r1124] capi/geos_c.cpp: DEBUG => GEOS_DEBUG [#44]
+
+2006-03-02 12:12  Sandro Santilli <strk at kbt.io>
+
+	* [r1123] source/algorithm/LineIntersector.cpp,
+	  source/geomgraph/DirectedEdgeStar.cpp, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/EdgeList.cpp,
+	  source/geomgraph/GeometryGraph.cpp, source/geomgraph/Node.cpp,
+	  source/geomgraph/NodeMap.cpp, source/geomgraph/PlanarGraph.cpp,
+	  source/geomgraph/Position.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/index/bintree/Bintree.cpp,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/quadtree/QuadTreeKey.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/noding/IteratedNoder.cpp, source/noding/MCIndexNoder.cpp,
+	  source/noding/SegmentNode.cpp, source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/ElevationMatrixFilter.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/polygonize/Polygonizer.cpp: Renamed DEBUG macros
+	  to GEOS_DEBUG, all wrapped in #ifndef block to allow global
+	  override (bug#43)
 
-2006-03-02 11:03  Sandro Santilli <strk at keybit.net>
+2006-03-02 11:03  Sandro Santilli <strk at kbt.io>
 
-	* [r1122] Added assertion in relate test handler
+	* [r1122] tests/xmltester/XMLTester.cpp: Added assertion in relate
+	  test handler
 
-2006-03-02 11:00  Sandro Santilli <strk at keybit.net>
+2006-03-02 11:00  Sandro Santilli <strk at kbt.io>
 
-	* [r1121] Changed IntersectionMatrix funx taking strings to take
-	  const string& instead
+	* [r1121] source/geom/IntersectionMatrix.cpp,
+	  source/headers/geos/geom.h: Changed IntersectionMatrix funx
+	  taking strings to take const string& instead
 
-2006-03-02 10:25  Sandro Santilli <strk at keybit.net>
+2006-03-02 10:25  Sandro Santilli <strk at kbt.io>
 
-	* [r1120] Added support for FLOATING_SINGLE precisionmodel in XML
-	  tests
+	* [r1120] tests/xmltester/XMLTester.cpp,
+	  tests/xmltester/buffer.xml: Added support for FLOATING_SINGLE
+	  precisionmodel in XML tests
 
-2006-03-02 10:03  Sandro Santilli <strk at keybit.net>
+2006-03-02 10:03  Sandro Santilli <strk at kbt.io>
 
-	* [r1119] Removed use of strdup, changed GEOSjtsport() to return
-	  const char* instead of char* (is not advertised in headerfile, so
-	  no compatibility problems)
+	* [r1119] capi/Makefile.am, capi/geos_c.cpp: Removed use of strdup,
+	  changed GEOSjtsport() to return const char* instead of char* (is
+	  not advertised in headerfile, so no compatibility problems)
 
-2006-03-02 09:51  Sandro Santilli <strk at keybit.net>
+2006-03-02 09:51  Sandro Santilli <strk at kbt.io>
 
-	* [r1118] Fixes in DEBUG lines (bug#42)
+	* [r1118] source/operation/overlay/OverlayOp.cpp: Fixes in DEBUG
+	  lines (bug#42)
 
-2006-03-02 09:49  Sandro Santilli <strk at keybit.net>
+2006-03-02 09:49  Sandro Santilli <strk at kbt.io>
 
-	* [r1117] Changed LineSegment output to use 'LINESEGMENT' label
-	  rather then 'LINESTRING'
+	* [r1117] source/headers/geos/LineSegment.inl: Changed LineSegment
+	  output to use 'LINESEGMENT' label rather then 'LINESTRING'
 
-2006-03-02 09:49  Sandro Santilli <strk at keybit.net>
+2006-03-02 09:49  Sandro Santilli <strk at kbt.io>
 
-	* [r1116] WINCE implmentation of gettimeofday (bug#40)
+	* [r1116] source/headers/geos/timeval.h: WINCE implmentation of
+	  gettimeofday (bug#40)
 
-2006-03-02 09:46  Sandro Santilli <strk at keybit.net>
+2006-03-02 09:46  Sandro Santilli <strk at kbt.io>
 
-	* [r1115] cleaned up debugging lines
+	* [r1115] source/operation/buffer/SubgraphDepthLocater.cpp: cleaned
+	  up debugging lines
 
-2006-03-01 18:44  Sandro Santilli <strk at keybit.net>
+2006-03-01 18:44  Sandro Santilli <strk at kbt.io>
 
-	* [r1114] added note about getInteriorPoint() possibly returning
-	  NULL
+	* [r1114] NEWS: added note about getInteriorPoint() possibly
+	  returning NULL
 
-2006-03-01 18:43  Sandro Santilli <strk at keybit.net>
+2006-03-01 18:43  Sandro Santilli <strk at kbt.io>
 
-	* [r1113] Handled new NULL return from Geometry::getInteriorPoint()
+	* [r1113] capi/geos_c.cpp: Handled new NULL return from
+	  Geometry::getInteriorPoint()
 
-2006-03-01 18:37  Sandro Santilli <strk at keybit.net>
+2006-03-01 18:37  Sandro Santilli <strk at kbt.io>
 
-	* [r1112] Geometry::createPointFromInternalCoord dropped (it's a
+	* [r1112] source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryFactory.cpp,
+	  source/headers/geos/geom.h:
+	  Geometry::createPointFromInternalCoord dropped (it's a
 	  duplication of GeometryFactory::createPointFromInternalCoord).
 	  Fixed bugs in InteriorPoint* and getCentroid() inserted by
 	  previous commits.
 
-2006-03-01 18:19  Sandro Santilli <strk at keybit.net>
-
-	* [r1111] getCentroid() test moved from testLeaksBig.xml to
-	  TestCentroid.xml (synced with JTS-1.7)
-
-2006-03-01 18:15  Sandro Santilli <strk at keybit.net>
-
-	* [r1110] Extracted getInteriorPoint() tests out of
-	  testLeaksBig.xml and into TestInteriorPoint.xml (synced with
-	  JTS-1.7).
-
-2006-03-01 18:14  Sandro Santilli <strk at keybit.net>
-
-	* [r1109] Handled NULL return from Geometry::getInteriorPoint()
-
-2006-03-01 17:16  Sandro Santilli <strk at keybit.net>
-
-	* [r1108] LineSegment class made final and optionally
-	  (compile-time) inlined.
+2006-03-01 18:19  Sandro Santilli <strk at kbt.io>
+
+	* [r1111] tests/xmltester/Makefile.am,
+	  tests/xmltester/TestCentroid.xml,
+	  tests/xmltester/testLeaksBig.xml: getCentroid() test moved from
+	  testLeaksBig.xml to TestCentroid.xml (synced with JTS-1.7)
+
+2006-03-01 18:15  Sandro Santilli <strk at kbt.io>
+
+	* [r1110] tests/xmltester/Makefile.am,
+	  tests/xmltester/TestInteriorPoint.xml,
+	  tests/xmltester/testLeaksBig.xml: Extracted getInteriorPoint()
+	  tests out of testLeaksBig.xml and into TestInteriorPoint.xml
+	  (synced with JTS-1.7).
+
+2006-03-01 18:14  Sandro Santilli <strk at kbt.io>
+
+	* [r1109] tests/xmltester/XMLTester.cpp: Handled NULL return from
+	  Geometry::getInteriorPoint()
+
+2006-03-01 17:16  Sandro Santilli <strk at kbt.io>
+
+	* [r1108] source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/CentroidPoint.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/algorithm/MinimumDiameter.cpp, source/geom/Geometry.cpp,
+	  source/geom/LineSegment.cpp, source/headers/geos/LineSegment.inl,
+	  source/headers/geos/Makefile.am, source/headers/geos/geom.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/inline.h, source/headers/geos/opBuffer.h,
+	  source/operation/buffer/SubgraphDepthLocater.cpp,
+	  source/operation/distance/DistanceOp.cpp: LineSegment class made
+	  final and optionally (compile-time) inlined.
 	  Reduced heap allocations in Centroid{Area,Line,Point} and
 	  InteriorPoint{Area,Line,Point}.
 
-2006-03-01 16:42  Sandro Santilli <strk at keybit.net>
+2006-03-01 16:42  Sandro Santilli <strk at kbt.io>
 
-	* [r1107] Fixed include name (Bug#41)
+	* [r1107] source/Makefile.vc: Fixed include name (Bug#41)
 
-2006-03-01 16:01  Sandro Santilli <strk at keybit.net>
+2006-03-01 16:01  Sandro Santilli <strk at kbt.io>
 
-	* [r1106] Fixed const correctness of operator<<(ostream&,
-	  SegmentNodeList&) [bug#37]
+	* [r1106] source/noding/SegmentNodeList.cpp: Fixed const
+	  correctness of operator<<(ostream&, SegmentNodeList&) [bug#37]
 
-2006-03-01 13:49  Sandro Santilli <strk at keybit.net>
+2006-03-01 13:49  Sandro Santilli <strk at kbt.io>
 
-	* [r1105] Fixed debug lines (bug#36)
+	* [r1105] source/index/quadtree/Quadtree.cpp: Fixed debug lines
+	  (bug#36)
 
-2006-03-01 13:48  Sandro Santilli <strk at keybit.net>
+2006-03-01 13:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1104] Fixed missing type specifier (bug#35)
+	* [r1104] tests/xmltester/Stackwalker.cpp: Fixed missing type
+	  specifier (bug#35)
 
-2006-03-01 13:06  Sandro Santilli <strk at keybit.net>
+2006-03-01 13:06  Sandro Santilli <strk at kbt.io>
 
-	* [r1103] Used FLOATING precision model in buffer.xml test, added
-	  expected results,
+	* [r1103] tests/xmltester/Makefile.am,
+	  tests/xmltester/XMLTester.cpp, tests/xmltester/buffer.xml: Used
+	  FLOATING precision model in buffer.xml test, added expected
+	  results,
 	  changed XMLTester.cpp to use a tolerance when comparing expected
 	  and obtained
 	  results from buffer operations.
 
-2006-03-01 12:12  Sandro Santilli <strk at keybit.net>
+2006-03-01 12:12  Sandro Santilli <strk at kbt.io>
 
-	* [r1102] Fixed a bug in verbose output preventing geometry arg 'A'
-	  from being properly printed
+	* [r1102] tests/xmltester/XMLTester.cpp: Fixed a bug in verbose
+	  output preventing geometry arg 'A' from being properly printed
 
-2006-03-01 11:47  Sandro Santilli <strk at keybit.net>
+2006-03-01 11:47  Sandro Santilli <strk at kbt.io>
 
-	* [r1101] Applied patch by Mateusz Loskot (Bug #39)
+	* [r1101] source/Makefile.vc: Applied patch by Mateusz Loskot (Bug
+	  #39)
 
-2006-03-01 10:48  Sandro Santilli <strk at keybit.net>
+2006-03-01 10:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1100] Changed static TopologyValidationError::errMsg[] from
-	  'string' to 'const char*'
+	* [r1100] source/headers/geos/opValid.h,
+	  source/operation/valid/TopologyValidationError.cpp: Changed
+	  static TopologyValidationError::errMsg[] from 'string' to 'const
+	  char*'
 	  to reduce dynamic memory allocations.
 
-2006-03-01 10:39  Sandro Santilli <strk at keybit.net>
+2006-03-01 10:39  Sandro Santilli <strk at kbt.io>
 
-	* [r1099] ctor and dtor made private and inlined
+	* [r1099] source/headers/geos/unload.h, source/io/Unload.cpp: ctor
+	  and dtor made private and inlined
 
-2006-03-01 09:56  Sandro Santilli <strk at keybit.net>
+2006-03-01 09:56  Sandro Santilli <strk at kbt.io>
 
-	* [r1098] Case insensitive operation names and geometry arguments
-	  names (a/b)
+	* [r1098] tests/xmltester/XMLTester.cpp: Case insensitive operation
+	  names and geometry arguments names (a/b)
 
-2006-03-01 09:43  Sandro Santilli <strk at keybit.net>
+2006-03-01 09:43  Sandro Santilli <strk at kbt.io>
 
-	* [r1097] Unrecognized tests always printed (was only printed when
-	  verbose before)
+	* [r1097] tests/xmltester/XMLTester.cpp: Unrecognized tests always
+	  printed (was only printed when verbose before)
 
-2006-03-01 08:52  Sandro Santilli <strk at keybit.net>
+2006-03-01 08:52  Sandro Santilli <strk at kbt.io>
 
-	* [r1096] File to be included by Makefile.vc
+	* [r1096] source/dirlist.mk: File to be included by Makefile.vc
 
-2006-02-28 19:22  Sandro Santilli <strk at keybit.net>
+2006-02-28 19:22  Sandro Santilli <strk at kbt.io>
 
-	* [r1095] Fixed in-place definition of static members in
-	  OffsetCurveBuilder (bug#33)
+	* [r1095] source/headers/geos/opBuffer.h,
+	  source/operation/buffer/OffsetCurveBuilder.cpp: Fixed in-place
+	  definition of static members in OffsetCurveBuilder (bug#33)
 
-2006-02-28 19:18  Sandro Santilli <strk at keybit.net>
+2006-02-28 19:18  Sandro Santilli <strk at kbt.io>
 
-	* [r1094] Added cctype include (bug #34)
+	* [r1094] tests/xmltester/XMLTester.cpp: Added cctype include (bug
+	  #34)
 
-2006-02-28 17:44  Sandro Santilli <strk at keybit.net>
+2006-02-28 17:44  Sandro Santilli <strk at kbt.io>
 
-	* [r1093] Added a check in SegmentNode::addSplitEdge to prevent
-	  attempts
+	* [r1093] source/geom/Coordinate.cpp, source/headers/geos/geom.h,
+	  source/headers/geos/noding.h, source/noding/SegmentNode.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp,
+	  source/operation/buffer/BufferBuilder.cpp: Added a check in
+	  SegmentNode::addSplitEdge to prevent attempts
 	  to build SegmentString with less then 2 points.
 	  This is a temporary fix for the buffer.xml assertion failure,
 	  temporary
 	  as Martin Davis review would really be needed there.
 
-2006-02-28 15:34  Sandro Santilli <strk at keybit.net>
-
-	* [r1092] Fix for VC++ builds (Bug #32)
-
-2006-02-28 14:34  Sandro Santilli <strk at keybit.net>
-
-	* [r1091] Added many assertions and debugging output hunting for a
-	  bug in BufferOp
+2006-02-28 15:34  Sandro Santilli <strk at kbt.io>
+
+	* [r1092] tests/xmltester/XMLTester.cpp: Fix for VC++ builds (Bug
+	  #32)
+
+2006-02-28 14:34  Sandro Santilli <strk at kbt.io>
+
+	* [r1091] source/geom/Coordinate.cpp,
+	  source/geom/CoordinateArraySequence.cpp,
+	  source/geom/PrecisionModel.cpp,
+	  source/geomgraph/DirectedEdge.cpp, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeEnd.cpp, source/geomgraph/EdgeList.cpp,
+	  source/geomgraph/PlanarGraph.cpp,
+	  source/geomgraph/index/MonotoneChainEdge.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/geomgraph.h,
+	  source/headers/geos/noding.h, source/headers/geos/opBuffer.h,
+	  source/noding/MCIndexNoder.cpp, source/noding/SegmentNode.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  tests/xmltester/buffer.xml: Added many assertions and debugging
+	  output hunting for a bug in BufferOp
 
-2006-02-28 14:05  Sandro Santilli <strk at keybit.net>
+2006-02-28 14:05  Sandro Santilli <strk at kbt.io>
 
-	* [r1090] Fixed a bug in a debugging line
+	* [r1090] source/geomgraph/Edge.cpp: Fixed a bug in a debugging
+	  line
 
-2006-02-28 13:08  Sandro Santilli <strk at keybit.net>
+2006-02-28 13:08  Sandro Santilli <strk at kbt.io>
 
-	* [r1089] Added missing definition of IteratedNoder::MAX_ITER,
-	  moving it to private access level
+	* [r1089] source/headers/geos/noding.h: Added missing definition of
+	  IteratedNoder::MAX_ITER, moving it to private access level
 
-2006-02-28 11:15  Sandro Santilli <strk at keybit.net>
+2006-02-28 11:15  Sandro Santilli <strk at kbt.io>
 
-	* [r1088] Fixed strchr use (Bug #30)
+	* [r1088] tests/xmltester/markup/MarkupSTL.cpp: Fixed strchr use
+	  (Bug #30)
 
-2006-02-28 11:11  Sandro Santilli <strk at keybit.net>
+2006-02-28 11:11  Sandro Santilli <strk at kbt.io>
 
-	* [r1087] Fixed typo in GEOSLenght function
+	* [r1087] capi/geos_c.cpp: Fixed typo in GEOSLenght function
 
 2006-02-28 05:03  Sean Gillies <sgillies at frii.com>
 
-	* [r1085] added GEOSLength(), GEOSEnvelope() to the C API
+	* [r1085] NEWS, capi/geos_c.cpp, capi/geos_c.h.in: added
+	  GEOSLength(), GEOSEnvelope() to the C API
 
-2006-02-27 14:41  Sandro Santilli <strk at keybit.net>
+2006-02-27 14:41  Sandro Santilli <strk at kbt.io>
 
-	* [r1076] More verbose handling of exceptions
+	* [r1076] tests/xmltester/XMLTester.cpp: More verbose handling of
+	  exceptions
 
-2006-02-27 11:53  Sandro Santilli <strk at keybit.net>
+2006-02-27 11:53  Sandro Santilli <strk at kbt.io>
 
-	* [r1075] DirectedEdgeStar made more safe trough assert(), use of
-	  standard iterator and
+	* [r1075] source/geomgraph/DirectedEdgeStar.cpp,
+	  source/headers/geos/geomgraph.h: DirectedEdgeStar made more safe
+	  trough assert(), use of standard iterator and
 	  dynamic casts substituting static ones.
 
-2006-02-27 09:05  Sandro Santilli <strk at keybit.net>
-
-	* [r1074] Doxygen comments, a few inlines and general cleanups
-
-2006-02-24 16:20  Sandro Santilli <strk at keybit.net>
-
-	* [r1073] Added Mateusz implementation of round() in a new math.cpp
-	  file
+2006-02-27 09:05  Sandro Santilli <strk at kbt.io>
+
+	* [r1074] source/algorithm/LineIntersector.cpp,
+	  source/geom/PrecisionModel.cpp,
+	  source/geomgraph/DirectedEdgeStar.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/geomgraph.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/opOverlay.h, source/headers/geos/operation.h,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/overlay/OverlayOp.cpp: Doxygen comments, a few
+	  inlines and general cleanups
+
+2006-02-24 16:20  Sandro Santilli <strk at kbt.io>
+
+	* [r1073] source/geom/PrecisionModel.cpp,
+	  source/headers/geos/nodingSnapround.h,
+	  source/headers/geos/util.h, source/util/Makefile.am,
+	  source/util/math.cpp, tests/xmltester/testLeaksBig.xml: Added
+	  Mateusz implementation of round() in a new math.cpp file
 	  named sym_round(). Changed use of rint_vc to sym_round in
 	  PrecisionModel.
 	  Moved rint_vc to math.cpp (geos::util namespace), to be renamed
 	  to something more meaningful
 
-2006-02-24 15:39  Sandro Santilli <strk at keybit.net>
+2006-02-24 15:39  Sandro Santilli <strk at kbt.io>
 
-	* [r1072] - operator>> for Coordinate, planarNode and planarEdge
+	* [r1072] source/geom/Coordinate.cpp, source/headers/geos/geom.h,
+	  source/headers/geos/opLinemerge.h,
+	  source/headers/geos/planargraph.h,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/planargraph/planarEdge.cpp,
+	  source/planargraph/planarNode.cpp, tests/xmltester/Makefile.am: -
+	  operator>> for Coordinate, planarNode and planarEdge
 	  - Fixed bug in planarGraphComponent::setMarked
 	  - Added linemerge.xml test (single test, should grow a bit)
 
-2006-02-24 12:19  Sandro Santilli <strk at keybit.net>
-
-	* [r1071] Fixed typo in config file
-
-2006-02-23 23:17  Sandro Santilli <strk at keybit.net>
-
-	* [r1070] - Coordinate::nullCoordinate made private
+2006-02-24 12:19  Sandro Santilli <strk at kbt.io>
+
+	* [r1071] doc/Doxyfile.in: Fixed typo in config file
+
+2006-02-23 23:17  Sandro Santilli <strk at kbt.io>
+
+	* [r1070] source/geom/Coordinate.cpp, source/geom/Envelope.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineSegment.cpp,
+	  source/geom/PrecisionModel.cpp, source/headers/geos/geom.h,
+	  source/headers/geos/indexSweepline.h,
+	  source/headers/geos/opLinemerge.h,
+	  source/noding/MCIndexNoder.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp,
+	  source/operation/valid/TopologyValidationError.cpp,
+	  source/planargraph/planarDirectedEdgeStar.cpp,
+	  source/util/GeometricShapeFactory.cpp: -
+	  Coordinate::nullCoordinate made private
 	  - Simplified Coordinate inline definitions
 	  - LMGeometryComponentFilter definition moved to LineMerger.cpp
 	  file
 	  - Misc cleanups
 
-2006-02-23 20:32  Sandro Santilli <strk at keybit.net>
+2006-02-23 20:32  Sandro Santilli <strk at kbt.io>
 
-	* [r1069] Added support for LineMerge tests. Exception printed on
-	  stderr.
+	* [r1069] tests/xmltester/XMLTester.cpp: Added support for
+	  LineMerge tests. Exception printed on stderr.
 
-2006-02-23 20:05  Sandro Santilli <strk at keybit.net>
+2006-02-23 20:05  Sandro Santilli <strk at kbt.io>
 
-	* [r1068] Fixed bug in MCIndexNoder constructor making memory
-	  checker go crazy, more
+	* [r1068] source/headers/geos/noding.h,
+	  source/headers/geos/nodingSnapround.h,
+	  source/headers/geos/opBuffer.h, source/noding/MCIndexNoder.cpp,
+	  source/noding/SimpleNoder.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp: Fixed bug in MCIndexNoder
+	  constructor making memory checker go crazy, more
 	  doxygen-friendly comments, miscellaneous cleanups
 
-2006-02-23 20:03  Sandro Santilli <strk at keybit.net>
-
-	* [r1067] updated to also show undocumented methods
+2006-02-23 20:03  Sandro Santilli <strk at kbt.io>
 
-2006-02-23 11:54  Sandro Santilli <strk at keybit.net>
+	* [r1067] doc/Doxyfile.in: updated to also show undocumented
+	  methods
 
-	* [r1066] - MCIndexPointSnapper
+2006-02-23 11:54  Sandro Santilli <strk at kbt.io>
+
+	* [r1066] source/geom/MultiLineString.cpp,
+	  source/geom/TopologyException.cpp, source/geom/Triangle.cpp,
+	  source/geomgraph/Edge.cpp, source/geomgraph/EdgeList.cpp,
+	  source/geomgraph/GeometryGraph.cpp, source/geomgraph/NodeMap.cpp,
+	  source/geomgraph/PlanarGraph.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/geomgraph.h,
+	  source/headers/geos/geomgraphindex.h,
+	  source/headers/geos/indexQuadtree.h,
+	  source/headers/geos/indexStrtree.h, source/headers/geos/noding.h,
+	  source/headers/geos/nodingSnapround.h,
+	  source/headers/geos/opBuffer.h,
+	  source/headers/geos/spatialIndex.h, source/headers/geos/util.h,
+	  source/index/bintree/BinTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp, source/io/Unload.cpp,
+	  source/noding/MCIndexNoder.cpp, source/noding/ScaledNoder.cpp,
+	  source/noding/snapround/MCIndexSnapRounder.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/util/Assert.cpp, source/util/AssertionFailedException.cpp,
+	  source/util/GEOSException.cpp,
+	  source/util/IllegalArgumentException.cpp,
+	  source/util/Makefile.am,
+	  source/util/UnsupportedOperationException.cpp,
+	  tests/xmltester/buffer.xml: - MCIndexPointSnapper
 	  - MCIndexSnapRounder
 	  - SnapRounding BufferOp
 	  - ScaledNoder
@@ -12674,30 +22930,253 @@
 	  - Added an XML test for snaprounding buffer (shows leaks, working
 	  on it)
 
-2006-02-21 16:53  Sandro Santilli <strk at keybit.net>
-
-	* [r1065] MCIndexPointSnapper, MCIndexSnapRounder
-
-2006-02-20 21:04  Sandro Santilli <strk at keybit.net>
-
-	* [r1064] - namespace geos::index
+2006-02-21 16:53  Sandro Santilli <strk at kbt.io>
+
+	* [r1065] source/algorithm/MCPointInRing.cpp,
+	  source/headers/geos/indexChain.h, source/headers/geos/noding.h,
+	  source/headers/geos/nodingSnapround.h,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/MonotoneChainSelectAction.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/noding/MCIndexNoder.cpp,
+	  source/noding/snapround/HotPixel.cpp,
+	  source/noding/snapround/MCIndexPointSnapper.cpp,
+	  source/noding/snapround/MCIndexSnapRounder.cpp,
+	  source/noding/snapround/SimpleSnapRounder.cpp:
+	  MCIndexPointSnapper, MCIndexSnapRounder
+
+2006-02-20 21:04  Sandro Santilli <strk at kbt.io>
+
+	* [r1064] source/headers/geos/geomgraph.h,
+	  source/headers/geos/indexQuadtree.h,
+	  source/headers/geos/indexStrtree.h, source/headers/geos/noding.h,
+	  source/headers/geos/spatialIndex.h,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/STRtree.cpp: - namespace geos::index
 	  - SpatialIndex interface synced
 
-2006-02-20 10:14  Sandro Santilli <strk at keybit.net>
-
-	* [r1063] - namespaces geos::index::*
+2006-02-20 10:14  Sandro Santilli <strk at kbt.io>
+
+	* [r1063] ChangeLog, doc/Doxyfile.in,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/geom/Geometry.cpp, source/geomgraph/EdgeList.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/geomgraph.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/indexBintree.h,
+	  source/headers/geos/indexChain.h,
+	  source/headers/geos/indexQuadtree.h,
+	  source/headers/geos/indexStrtree.h,
+	  source/headers/geos/indexSweepline.h, source/headers/geos/io.h,
+	  source/headers/geos/noding.h, source/headers/geos/opBuffer.h,
+	  source/headers/geos/opDistance.h,
+	  source/headers/geos/opOverlay.h, source/headers/geos/opRelate.h,
+	  source/headers/geos/opValid.h, source/headers/geos/operation.h,
+	  source/headers/geos/planargraph.h,
+	  source/index/bintree/BinTreeInterval.cpp,
+	  source/index/bintree/BinTreeNode.cpp,
+	  source/index/bintree/Bintree.cpp, source/index/bintree/Key.cpp,
+	  source/index/bintree/NodeBase.cpp, source/index/bintree/Root.cpp,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/MonotoneChainOverlapAction.cpp,
+	  source/index/chain/MonotoneChainSelectAction.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/index/quadtree/IntervalSize.cpp,
+	  source/index/quadtree/QuadTreeKey.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/Interval.cpp,
+	  source/index/strtree/ItemBoundable.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/index/sweepline/SweepLineIndex.cpp,
+	  source/index/sweepline/SweepLineInterval.cpp,
+	  source/index/sweepline/indexSweepLineEvent.cpp,
+	  source/io/Unload.cpp, source/noding/MCIndexNoder.cpp,
+	  source/noding/snapround/MCIndexPointSnapper.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp: -
+	  namespaces geos::index::*
 	  - Doxygen documentation cleanup
 
-2006-02-19 19:46  Sandro Santilli <strk at keybit.net>
-
-	* [r1062] Packages <-> namespaces mapping for most GEOS internal
-	  code (uncomplete, but working). Dir-level libs for index/
-	  subdirs.
-
-2006-02-18 21:08  Sandro Santilli <strk at keybit.net>
-
-	* [r1061] - new CoordinateSequence::applyCoordinateFilter method
-	  (slow but useful)
+2006-02-19 19:46  Sandro Santilli <strk at kbt.io>
+
+	* [r1062] NEWS, capi/geos_c.cpp, configure.in, doc/example.cpp,
+	  source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/CentroidPoint.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/MinimumDiameter.cpp,
+	  source/algorithm/NonRobustLineIntersector.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustDeterminant.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/geom/Coordinate.cpp, source/geom/Geometry.cpp,
+	  source/geom/LineSegment.cpp, source/geom/LineString.cpp,
+	  source/geom/MultiLineString.cpp, source/geom/MultiPoint.cpp,
+	  source/geom/Polygon.cpp, source/geomgraph/Depth.cpp,
+	  source/geomgraph/DirectedEdge.cpp,
+	  source/geomgraph/DirectedEdgeStar.cpp, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeEnd.cpp, source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/EdgeIntersection.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/EdgeList.cpp,
+	  source/geomgraph/EdgeNodingValidator.cpp,
+	  source/geomgraph/EdgeRing.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/GraphComponent.cpp, source/geomgraph/Label.cpp,
+	  source/geomgraph/Node.cpp, source/geomgraph/NodeFactory.cpp,
+	  source/geomgraph/NodeMap.cpp, source/geomgraph/PlanarGraph.cpp,
+	  source/geomgraph/Position.cpp, source/geomgraph/Quadrant.cpp,
+	  source/geomgraph/TopologyLocation.cpp,
+	  source/geomgraph/index/Makefile.am,
+	  source/geomgraph/index/MonotoneChain.cpp,
+	  source/geomgraph/index/MonotoneChainEdge.cpp,
+	  source/geomgraph/index/MonotoneChainIndexer.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  source/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  source/geomgraph/index/SweepLineEvent.cpp,
+	  source/geomgraph/index/SweepLineSegment.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/geomgraph.h,
+	  source/headers/geos/geomgraphindex.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/noding.h,
+	  source/headers/geos/nodingSnapround.h,
+	  source/headers/geos/opBuffer.h, source/headers/geos/opDistance.h,
+	  source/headers/geos/opLinemerge.h,
+	  source/headers/geos/opOverlay.h,
+	  source/headers/geos/opPolygonize.h,
+	  source/headers/geos/opPredicate.h,
+	  source/headers/geos/opRelate.h, source/headers/geos/opValid.h,
+	  source/headers/geos/operation.h,
+	  source/headers/geos/planargraph.h, source/index/Makefile.am,
+	  source/index/bintree, source/index/bintree/.cvsignore,
+	  source/index/bintree/Makefile.am, source/index/chain,
+	  source/index/chain/.cvsignore, source/index/chain/Makefile.am,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/quadtree, source/index/quadtree/.cvsignore,
+	  source/index/quadtree/Makefile.am, source/index/strtree,
+	  source/index/strtree/.cvsignore,
+	  source/index/strtree/Makefile.am, source/index/sweepline,
+	  source/index/sweepline/.cvsignore,
+	  source/index/sweepline/Makefile.am, source/io/Unload.cpp,
+	  source/noding/IntersectionAdder.cpp,
+	  source/noding/IntersectionFinderAdder.cpp,
+	  source/noding/IteratedNoder.cpp, source/noding/MCIndexNoder.cpp,
+	  source/noding/NodingValidator.cpp, source/noding/Octant.cpp,
+	  source/noding/ScaledNoder.cpp, source/noding/SegmentNode.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp, source/noding/SimpleNoder.cpp,
+	  source/noding/snapround/HotPixel.cpp,
+	  source/noding/snapround/MCIndexPointSnapper.cpp,
+	  source/noding/snapround/MCIndexSnapRounder.cpp,
+	  source/noding/snapround/SimpleSnapRounder.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/DepthSegment.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp,
+	  source/operation/distance/ConnectedElementLocationFilter.cpp,
+	  source/operation/distance/ConnectedElementPointFilter.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/distance/GeometryLocation.cpp,
+	  source/operation/linemerge/EdgeString.cpp,
+	  source/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  source/operation/linemerge/LineMergeEdge.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/operation/linemerge/LineSequencer.cpp,
+	  source/operation/overlay/EdgeSetNoder.cpp,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/ElevationMatrixCell.cpp,
+	  source/operation/overlay/ElevationMatrixFilter.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/overlay/OverlayNodeFactory.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/polygonize/PolygonizeDirectedEdge.cpp,
+	  source/operation/polygonize/PolygonizeEdge.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/Polygonizer.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp,
+	  source/operation/predicate/RectangleIntersects.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNode.cpp,
+	  source/operation/relate/RelateNodeFactory.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/operation/valid/TopologyValidationError.cpp,
+	  source/planargraph/algorithm/ConnectedSubgraphFinder.cpp,
+	  source/planargraph/planarDirectedEdge.cpp,
+	  source/planargraph/planarDirectedEdgeStar.cpp,
+	  source/planargraph/planarEdge.cpp,
+	  source/planargraph/planarGraphComponent.cpp,
+	  source/planargraph/planarNode.cpp,
+	  source/planargraph/planarNodeMap.cpp,
+	  source/planargraph/planarPlanarGraph.cpp,
+	  source/planargraph/planarSubgraph.cpp,
+	  tests/xmltester/XMLTester.cpp: Packages <-> namespaces mapping
+	  for most GEOS internal code (uncomplete, but working). Dir-level
+	  libs for index/ subdirs.
+
+2006-02-18 21:08  Sandro Santilli <strk at kbt.io>
+
+	* [r1061] NEWS, source/geom/Geometry.cpp,
+	  source/geomgraph/EdgeNodingValidator.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/geomgraph.h,
+	  source/headers/geos/noding.h,
+	  source/headers/geos/nodingSnapround.h,
+	  source/headers/geos/opBuffer.h, source/noding/MCIndexNoder.cpp,
+	  source/noding/Makefile.am, source/noding/NodingValidator.cpp,
+	  source/noding/ScaledNoder.cpp, source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp, source/noding/SimpleNoder.cpp,
+	  source/noding/snapround/HotPixel.cpp,
+	  source/noding/snapround/MCIndexPointSnapper.cpp,
+	  source/noding/snapround/MCIndexSnapRounder.cpp,
+	  source/noding/snapround/SimpleSnapRounder.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp: - new
+	  CoordinateSequence::applyCoordinateFilter method (slow but
+	  useful)
 	  - SegmentString::getCoordinates() doesn't return a clone anymore.
 	  - SegmentString::getCoordinatesRO() obsoleted.
 	  - SegmentString constructor does not promises constness of passed
@@ -12707,79 +23186,170 @@
 	  - Simplified internal interaces of OffsetCurveBuilder and
 	  OffsetCurveSetBuilder
 
-2006-02-16 08:41  Sandro Santilli <strk at keybit.net>
+2006-02-16 08:41  Sandro Santilli <strk at kbt.io>
 
-	* [r1060] Fixed include: "util.h" => "geos/util.h"
+	* [r1060] source/noding/NodingValidator.cpp: Fixed include:
+	  "util.h" => "geos/util.h"
 
-2006-02-16 08:41  Sandro Santilli <strk at keybit.net>
+2006-02-16 08:41  Sandro Santilli <strk at kbt.io>
 
-	* [r1059] added <cmath> include for round()
+	* [r1059] source/headers/geos/nodingSnapround.h: added <cmath>
+	  include for round()
 
-2006-02-16 08:19  Sandro Santilli <strk at keybit.net>
+2006-02-16 08:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1058] Missed from last commit
+	* [r1058] source/noding/IntersectionAdder.cpp: Missed from last
+	  commit
 
 2006-02-15 22:48  Sean Gillies <sgillies at frii.com>
 
-	* [r1057] added GEOSGeomType
+	* [r1057] capi/geos_c.h.in: added GEOSGeomType
 
-2006-02-15 17:19  Sandro Santilli <strk at keybit.net>
+2006-02-15 17:19  Sandro Santilli <strk at kbt.io>
 
-	* [r1056] NodingValidator synced with JTS-1.7, added
-	  CoordinateSequence::operator[]
+	* [r1056] NEWS, source/geomgraph/EdgeNodingValidator.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/geomgraph.h,
+	  source/headers/geos/noding.h, source/noding/NodingValidator.cpp,
+	  source/noding/snapround/SimpleSnapRounder.cpp: NodingValidator
+	  synced with JTS-1.7, added CoordinateSequence::operator[]
 	  and size() to easy port maintainance.
 
-2006-02-15 14:59  Sandro Santilli <strk at keybit.net>
+2006-02-15 14:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1055] JTS-1.7 sync for:
+	* [r1055] source/headers/geos/noding.h,
+	  source/noding/SegmentNode.cpp, source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp: JTS-1.7 sync for:
 	  noding/SegmentNode.cpp
 	  noding/SegmentNodeList.cpp
 	  noding/SegmentString.cpp
 
-2006-02-14 13:28  Sandro Santilli <strk at keybit.net>
-
-	* [r1054] New SnapRounding code ported from JTS-1.7 (not complete
-	  yet).
+2006-02-14 13:28  Sandro Santilli <strk at kbt.io>
+
+	* [r1054] NEWS, configure.in, source/algorithm/LineIntersector.cpp,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/indexChain.h, source/headers/geos/noding.h,
+	  source/headers/geos/nodingSnapround.h,
+	  source/headers/geos/opBuffer.h,
+	  source/headers/geos/spatialIndex.h,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/noding/IntersectionFinderAdder.cpp,
+	  source/noding/IteratedNoder.cpp, source/noding/MCIndexNoder.cpp,
+	  source/noding/MCQuadtreeNoder.cpp, source/noding/Makefile.am,
+	  source/noding/Noder.cpp, source/noding/NodingValidator.cpp,
+	  source/noding/Octant.cpp, source/noding/SegmentNode.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp, source/noding/SimpleNoder.cpp,
+	  source/noding/nodingSegmentIntersector.cpp,
+	  source/noding/snapround, source/noding/snapround/.cvsignore,
+	  source/noding/snapround/HotPixel.cpp,
+	  source/noding/snapround/MCIndexPointSnapper.cpp,
+	  source/noding/snapround/MCIndexSnapRounder.cpp,
+	  source/noding/snapround/Makefile.am,
+	  source/noding/snapround/SegmentSnapper.cpp,
+	  source/noding/snapround/SimpleSegmentStringsSnapper.cpp,
+	  source/noding/snapround/SimpleSnapRounder.cpp,
+	  source/noding/snapround/SnapRounder.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  tests/xmltester/XMLTester.cpp: New SnapRounding code ported from
+	  JTS-1.7 (not complete yet).
 	  Buffer op optimized by using new snaprounding code.
 	  Leaks fixed in XMLTester.
 
-2006-02-09 15:52  Sandro Santilli <strk at keybit.net>
-
-	* [r1053] GEOSException derived from std::exception; always thrown
-	  and cought by const ref.
+2006-02-09 15:52  Sandro Santilli <strk at kbt.io>
+
+	* [r1053] capi/geos_c.cpp, capi/geos_c.cpp.bak, configure.in,
+	  doc/example.cpp, source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/examples/CoordinateSequencesExample.cpp,
+	  source/examples/CustomCoordinateSequenceExample.cpp,
+	  source/examples/CustomPointCoordinateSequence.cpp,
+	  source/geom/Dimension.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/geom/GeometryComponentFilter.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineString.cpp,
+	  source/geom/LinearRing.cpp, source/geom/Location.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/geom/PrecisionModel.cpp,
+	  source/geom/TopologyException.cpp,
+	  source/geomgraph/DirectedEdge.cpp,
+	  source/geomgraph/DirectedEdgeStar.cpp,
+	  source/geomgraph/EdgeEndStar.cpp, source/geomgraph/EdgeRing.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/Quadrant.cpp,
+	  source/headers/geos/geosAlgorithm.h, source/headers/geos/io.h,
+	  source/headers/geos/opBuffer.h, source/headers/geos/util.h,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/io/ParseException.cpp, source/io/WKBReader.cpp,
+	  source/io/WKBWriter.cpp, source/io/WKTReader.cpp,
+	  source/io/WKTWriter.cpp, source/noding/IteratedNoder.cpp,
+	  source/noding/NodingValidator.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/ElevationMatrixFilter.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/precision/CommonBitsRemover.cpp,
+	  source/precision/EnhancedPrecisionOp.cpp, source/util/Assert.cpp,
+	  source/util/AssertionFailedException.cpp,
+	  source/util/GEOSException.cpp,
+	  source/util/IllegalArgumentException.cpp,
+	  source/util/UnsupportedOperationException.cpp,
+	  tests/xmltester/CTS.cpp, tests/xmltester/SimpleWKTTester.cpp,
+	  tests/xmltester/XMLTester.cpp: GEOSException derived from
+	  std::exception; always thrown and cought by const ref.
 
 2006-02-09 15:41  Sean Gillies <sgillies at frii.com>
 
-	* [r1052] incrementing C API patch level
+	* [r1052] configure.in: incrementing C API patch level
 
 2006-02-09 14:49  Sean Gillies <sgillies at frii.com>
 
-	* [r1051] added GEOSArea() to the C API
+	* [r1051] capi/geos_c.cpp, capi/geos_c.h.in, capi/geostest.c: added
+	  GEOSArea() to the C API
 
-2006-02-09 13:44  Sandro Santilli <strk at keybit.net>
+2006-02-09 13:44  Sandro Santilli <strk at kbt.io>
 
-	* [r1050] Added support for SRID in input WKB, undeprecated
-	  Geometry::setSRID
+	* [r1050] source/geom/Geometry.cpp, source/headers/geos/geom.h,
+	  source/io/WKBReader.cpp: Added support for SRID in input WKB,
+	  undeprecated Geometry::setSRID
 	  and Geometry::getSRID
 
 2006-02-09 01:47  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r1049] Botched last fix. Hopefully this is better.
+	* [r1049] source/io/WKBReader.cpp: Botched last fix. Hopefully this
+	  is better.
 
-2006-02-09 01:13  Sandro Santilli <strk at keybit.net>
+2006-02-09 01:13  Sandro Santilli <strk at kbt.io>
 
-	* [r1048] Added missing <limits> include
+	* [r1048] ChangeLog, source/operation/linemerge/LineSequencer.cpp:
+	  Added missing <limits> include
 
 2006-02-09 00:06  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r1047] Fixed support for consuming WKB for 'POLYGON EMPTY' with
-	  numRings==0.
+	* [r1047] ChangeLog, source/io/WKBReader.cpp: Fixed support for
+	  consuming WKB for 'POLYGON EMPTY' with numRings==0.
 	  http://bugzilla.remotesensing.org/show_bug.cgi?id=1064
 
-2006-02-08 17:18  Sandro Santilli <strk at keybit.net>
-
-	* [r1046] - New WKTWriter::toLineString and ::toPoint convenience
-	  methods
+2006-02-08 17:18  Sandro Santilli <strk at kbt.io>
+
+	* [r1046] NEWS, source/geom/Envelope.cpp, source/geom/Geometry.cpp,
+	  source/geom/LineString.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/headers/geos/geom.h,
+	  source/headers/geos/io.h, source/headers/geos/opBuffer.h,
+	  source/headers/geos/opValid.h, source/io/WKTWriter.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/valid/IsValidOp.cpp: - New
+	  WKTWriter::toLineString and ::toPoint convenience methods
 	  - New IsValidOp::setSelfTouchingRingFormingHoleValid method
 	  - New Envelope::centre()
 	  - New Envelope::intersection(Envelope)
@@ -12790,13 +23360,21 @@
 	  - Obsoleted toInternalGeometry/fromInternalGeometry
 	  - More const-correctness in Buffer "package"
 
-2006-02-08 13:07  Sandro Santilli <strk at keybit.net>
+2006-02-08 13:07  Sandro Santilli <strk at kbt.io>
 
-	* [r1045] Added note about new LineSequencer class
+	* [r1045] NEWS: Added note about new LineSequencer class
 
-2006-02-08 12:59  Sandro Santilli <strk at keybit.net>
+2006-02-08 12:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1044] - NEW Geometry::applyComponentFilter() templated method
+	* [r1044] source/headers/geos/geom.h,
+	  source/headers/geos/opLinemerge.h,
+	  source/headers/geos/planargraph.h,
+	  source/operation/linemerge/LineSequencer.cpp,
+	  source/operation/linemerge/Makefile.am,
+	  source/planargraph/algorithm/ConnectedSubgraphFinder.cpp,
+	  source/planargraph/planarDirectedEdgeStar.cpp,
+	  source/planargraph/planarSubgraph.cpp: - NEW
+	  Geometry::applyComponentFilter() templated method
 	  - Changed Geometry::getGeometryN() to take unsigned int and
 	  getNumGeometries
 	  to return unsigned int.
@@ -12810,80 +23388,240 @@
 	  - Added const versions of some planarDirectedEdgeStar methods.
 	  - Added containers typedefs for planarDirectedEdgeStar
 
-2006-02-07 13:26  Sandro Santilli <strk at keybit.net>
+2006-02-07 13:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1043] Added missing geomgraph SUBDIR
+	* [r1043] source/Makefile.am: Added missing geomgraph SUBDIR
 
-2006-02-07 12:02  Sandro Santilli <strk at keybit.net>
+2006-02-07 12:02  Sandro Santilli <strk at kbt.io>
 
-	* [r1042] Removed TestConvexHull.xml file (already included in
-	  testLeaksBig.xml
+	* [r1042] tests/xmltester/Makefile.am: Removed TestConvexHull.xml
+	  file (already included in testLeaksBig.xml
 
-2006-02-06 11:27  Sandro Santilli <strk at keybit.net>
+2006-02-06 11:27  Sandro Santilli <strk at kbt.io>
 
-	* [r1041] new entry
+	* [r1041] tests, tests/.cvsignore: new entry
 
-2006-02-05 17:14  Sandro Santilli <strk at keybit.net>
+2006-02-05 17:14  Sandro Santilli <strk at kbt.io>
 
-	* [r1040] - New ConnectedSubgraphFinder class.
+	* [r1040] NEWS, source/headers/geos/planargraph.h,
+	  source/planargraph/Makefile.am, source/planargraph/algorithm,
+	  source/planargraph/algorithm/ConnectedSubgraphFinder.cpp,
+	  source/planargraph/planarDirectedEdgeStar.cpp,
+	  source/planargraph/planarNode.cpp,
+	  source/planargraph/planarNodeMap.cpp,
+	  source/planargraph/planarPlanarGraph.cpp: - New
+	  ConnectedSubgraphFinder class.
 	  - More iterators returning methods, inlining and cleanups
 	  in planargraph.
 
-2006-02-04 00:54  Sandro Santilli <strk at keybit.net>
+2006-02-04 00:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1039] - Doxygen dox updated
+	* [r1039] ChangeLog, NEWS, source/headers/geos/geom.h,
+	  source/headers/geos/geomgraph.h,
+	  source/headers/geos/planargraph.h,
+	  source/planargraph/planarSubgraph.cpp, swig/ruby/Makefile.am,
+	  tests/xmltester/Makefile.am: - Doxygen dox updated
 	  - LineStringLT struct moved from geomgraph.h to geom.h
 	  - New planarSubgraph class
 	  - Fixed ruby Makefiles to avoid running tests when disabled
 	  - Renamed TESTS variable to XMLTESTS to not confuse 'make check'
 	  rule
 
-2006-02-03 09:26  Sandro Santilli <strk at keybit.net>
+2006-02-03 09:26  Sandro Santilli <strk at kbt.io>
 
-	* [r1038] Added missing file
+	* [r1038] source/geom/util/ShortCircuitedGeometryVisitor.cpp: Added
+	  missing file
 
-2006-02-02 02:20  Sandro Santilli <strk at keybit.net>
+2006-02-02 02:20  Sandro Santilli <strk at kbt.io>
 
-	* [r1037] Fixed bug in isRectangle() failing to detect rectangles.
+	* [r1037] source/geom/Polygon.cpp: Fixed bug in isRectangle()
+	  failing to detect rectangles.
 
-2006-02-01 22:22  Sandro Santilli <strk at keybit.net>
+2006-02-01 22:22  Sandro Santilli <strk at kbt.io>
 
-	* [r1036] updated
+	* [r1036] NEWS: updated
 
-2006-02-01 22:21  Sandro Santilli <strk at keybit.net>
+2006-02-01 22:21  Sandro Santilli <strk at kbt.io>
 
-	* [r1035] - Added rectangle-based optimizations of intersects() and
-	  contains() ops
+	* [r1035] source/geom/Geometry.cpp, source/geom/Polygon.cpp,
+	  source/geom/util/Makefile.am, source/headers/geos/geom.h,
+	  source/headers/geos/geomUtil.h,
+	  source/headers/geos/opPredicate.h,
+	  source/headers/geos/planargraph.h, source/operation/Makefile.am,
+	  source/operation/predicate/Makefile.am,
+	  source/planargraph/planarGraphComponent.cpp: - Added
+	  rectangle-based optimizations of intersects() and contains() ops
 	  - Inlined all planarGraphComponent class
 
-2006-01-31 21:42  Sandro Santilli <strk at keybit.net>
-
-	* [r1034] Added DepthSegment object
-
-2006-01-31 21:36  Sandro Santilli <strk at keybit.net>
-
-	* [r1033] Fixes error in calling read_hex from scripting languages.
-
-2006-01-31 21:35  Sandro Santilli <strk at keybit.net>
-
-	* [r1032] Erroneusly ended in CVS
-
-2006-01-31 21:17  Sandro Santilli <strk at keybit.net>
-
-	* [r1031] Added missing file from last commits
-
-2006-01-31 19:11  Sandro Santilli <strk at keybit.net>
-
-	* [r1030] Another left-over from cleanups
-
-2006-01-31 19:10  Sandro Santilli <strk at keybit.net>
-
-	* [r1029] Removed leftover files in obsoleted dirs
-
-2006-01-31 19:07  Sandro Santilli <strk at keybit.net>
-
-	* [r1028] - Renamed DefaultCoordinateSequence to
-	  CoordinateArraySequence.
+2006-01-31 21:42  Sandro Santilli <strk at kbt.io>
+
+	* [r1034] source/Makefile.vc: Added DepthSegment object
+
+2006-01-31 21:36  Sandro Santilli <strk at kbt.io>
+
+	* [r1033] swig/geos.i: Fixes error in calling read_hex from
+	  scripting languages.
+
+2006-01-31 21:35  Sandro Santilli <strk at kbt.io>
+
+	* [r1032] capi/Makefile.in: Erroneusly ended in CVS
+
+2006-01-31 21:17  Sandro Santilli <strk at kbt.io>
+
+	* [r1031] source/operation/predicate/RectangleContains.cpp: Added
+	  missing file from last commits
+
+2006-01-31 19:11  Sandro Santilli <strk at kbt.io>
+
+	* [r1030] source/bigtest: Another left-over from cleanups
+
+2006-01-31 19:10  Sandro Santilli <strk at kbt.io>
+
+	* [r1029] source/capi, source/test: Removed leftover files in
+	  obsoleted dirs
+
+2006-01-31 19:07  Sandro Santilli <strk at kbt.io>
+
+	* [r1028] Makefile.am, NEWS, README, capi, capi/.cvsignore,
+	  capi/Makefile.am, capi/Makefile.in, capi/geos_c.cpp,
+	  capi/geos_c.cpp.bak, capi/geos_c.h.in, capi/geostest.c,
+	  capi/test.wkt, configure.in, doc/Doxyfile.in, doc/Makefile.am,
+	  doc/example.cpp, source, source/.cvsignore, source/Makefile.am,
+	  source/algorithm, source/algorithm/.cvsignore,
+	  source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/MCPointInRing.cpp, source/algorithm/Makefile.am,
+	  source/algorithm/MinimumDiameter.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/bigtest/GeometryTestFactory.cpp,
+	  source/bigtest/Makefile.am,
+	  source/bigtest/TestSweepLineSpeed.cpp, source/bigtest/bigtest.h,
+	  source/capi/Makefile.am, source/capi/geos_c.cpp,
+	  source/capi/geos_c.h.in, source/capi/geostest.c,
+	  source/capi/test.wkt, source/examples/CPCLException.cpp,
+	  source/examples/CoordinateSequencesExample.cpp,
+	  source/geom/Coordinate.cpp,
+	  source/geom/CoordinateArraySequence.cpp,
+	  source/geom/CoordinateArraySequenceFactory.cpp,
+	  source/geom/CoordinateList.cpp,
+	  source/geom/CoordinateSequence.cpp,
+	  source/geom/DefaultCoordinateSequence.cpp,
+	  source/geom/DefaultCoordinateSequenceFactory.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/Makefile.am, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp, source/geom/util,
+	  source/geom/util/.cvsignore, source/geom/util/GeometryEditor.cpp,
+	  source/geom/util/LinearComponentExtracter.cpp,
+	  source/geom/util/Makefile.am,
+	  source/geom/util/PointExtracter.cpp,
+	  source/geom/util/PolygonExtracter.cpp, source/geomgraph,
+	  source/geomgraph/.cvsignore, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/EdgeList.cpp, source/geomgraph/EdgeRing.cpp,
+	  source/geomgraph/GeometryGraph.cpp, source/geomgraph/Makefile.am,
+	  source/geomgraph/PlanarGraph.cpp, source/geomgraph/index,
+	  source/geomgraph/index/.cvsignore,
+	  source/geomgraph/index/Makefile.am,
+	  source/geomgraph/index/MonotoneChainEdge.cpp,
+	  source/geomgraph/index/MonotoneChainIndexer.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  source/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  source/headers/geos/Makefile.am, source/headers/geos/geom.h,
+	  source/headers/geos/geomUtil.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/opDistance.h,
+	  source/headers/geos/opPredicate.h,
+	  source/headers/geos/precision.h, source/headers/geos/util.h,
+	  source/index, source/index/.cvsignore, source/index/Makefile.am,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/indexMonotoneChain.cpp, source/io,
+	  source/io/.cvsignore, source/io/Makefile.am,
+	  source/io/Unload.cpp, source/io/WKTReader.cpp, source/io/markup,
+	  source/noding, source/noding/.cvsignore,
+	  source/noding/MCQuadtreeNoder.cpp, source/noding/Makefile.am,
+	  source/noding/NodingValidator.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp, source/noding/SimpleNoder.cpp,
+	  source/noding/nodingSegmentIntersector.cpp,
+	  source/noding/snapround/SimpleSegmentStringsSnapper.cpp,
+	  source/operation, source/operation/.cvsignore,
+	  source/operation/Makefile.am, source/operation/buffer,
+	  source/operation/buffer/.cvsignore,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/Makefile.am,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp,
+	  source/operation/distance, source/operation/distance/.cvsignore,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/distance/Makefile.am,
+	  source/operation/linemerge,
+	  source/operation/linemerge/.cvsignore,
+	  source/operation/linemerge/EdgeString.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/Makefile.am, source/operation/overlay,
+	  source/operation/overlay/.cvsignore,
+	  source/operation/overlay/Makefile.am,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/polygonize,
+	  source/operation/polygonize/.cvsignore,
+	  source/operation/polygonize/Makefile.am,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp,
+	  source/operation/predicate,
+	  source/operation/predicate/.cvsignore,
+	  source/operation/predicate/Makefile.am,
+	  source/operation/predicate/RectangleIntersects.cpp,
+	  source/operation/predicate/SegmentIntersectionTester.cpp,
+	  source/operation/relate, source/operation/relate/.cvsignore,
+	  source/operation/relate/Makefile.am, source/operation/valid,
+	  source/operation/valid/.cvsignore,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/Makefile.am,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/planargraph, source/planargraph/.cvsignore,
+	  source/planargraph/Makefile.am, source/precision,
+	  source/precision/.cvsignore, source/precision/Makefile.am,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp,
+	  source/test/CTS.cpp, source/test/Makefile.am,
+	  source/test/SimpleWKTTester.cpp, source/test/Stackwalker.cpp,
+	  source/test/Stackwalker.h, source/test/WKTIn, source/test/WKTOut,
+	  source/test/XMLTester.cpp, source/test/XMLTester.h,
+	  source/test/hexwkb.xml, source/test/test.xml,
+	  source/test/testLeaksBig.xml, source/util,
+	  source/util/.cvsignore, source/util/CoordinateArrayFiter.cpp,
+	  source/util/GeometricShapeFactory.cpp, source/util/Makefile.am,
+	  source/util/UniqueCoordinateArrayFilter.cpp, tests,
+	  tests/Makefile.am, tests/bigtest, tests/bigtest/.cvsignore,
+	  tests/bigtest/GeometryTestFactory.cpp, tests/bigtest/Makefile.am,
+	  tests/bigtest/TestSweepLineSpeed.cpp, tests/bigtest/bigtest.h,
+	  tests/xmltester, tests/xmltester/.cvsignore,
+	  tests/xmltester/CTS.cpp, tests/xmltester/Makefile.am,
+	  tests/xmltester/SimpleWKTTester.cpp,
+	  tests/xmltester/Stackwalker.cpp, tests/xmltester/Stackwalker.h,
+	  tests/xmltester/WKTIn, tests/xmltester/WKTOut,
+	  tests/xmltester/XMLTester.cpp, tests/xmltester/XMLTester.h,
+	  tests/xmltester/hexwkb.xml, tests/xmltester/markup,
+	  tests/xmltester/markup/MarkupSTL.cpp,
+	  tests/xmltester/markup/MarkupSTL.h, tests/xmltester/test.xml,
+	  tests/xmltester/testLeaksBig.xml: - Renamed
+	  DefaultCoordinateSequence to CoordinateArraySequence.
 	  - Moved GetNumGeometries() and GetGeometryN() interfaces
 	  from GeometryCollection to Geometry class.
 	  - Added getAt(int pos, Coordinate &to) funtion to
@@ -12909,25 +23647,31 @@
 
 2006-01-30 21:59  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r1027] yikes! comment out debug define again
+	* [r1027] source/algorithm/LineIntersector.cpp: yikes! comment out
+	  debug define again
 
 2006-01-30 21:58  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r1026] fixed up some debug messages
+	* [r1026] ChangeLog, source/algorithm/LineIntersector.cpp: fixed up
+	  some debug messages
 
-2006-01-30 16:55  Sandro Santilli <strk at keybit.net>
+2006-01-30 16:55  Sandro Santilli <strk at kbt.io>
 
-	* [r1025] More patches from Charlie Savage
+	* [r1025] macros/ac_python_devel.m4, swig/python/Makefile.am,
+	  swig/python/example.py, swig/python/geos.pth,
+	  swig/python/python.i, swig/ruby/test/geos_tests.rb: More patches
+	  from Charlie Savage
 
-2006-01-27 08:58  Sandro Santilli <strk at keybit.net>
+2006-01-27 08:58  Sandro Santilli <strk at kbt.io>
 
-	* [r1024] Python and Ruby build disable by default (until we've
-	  properly tested it)
+	* [r1024] configure.in: Python and Ruby build disable by default
+	  (until we've properly tested it)
 
-2006-01-27 08:25  Sandro Santilli <strk at keybit.net>
+2006-01-27 08:25  Sandro Santilli <strk at kbt.io>
 
-	* [r1023] * Ruby - removes dependency on renames.i file which is no
-	  longer deleted
+	* [r1023] macros/ac_python_devel.m4, swig/python/Makefile.am,
+	  swig/ruby/ruby.i: * Ruby - removes dependency on renames.i file
+	  which is no longer deleted
 	  and was removed from CVS last week
 	  * Python - fixes autoconf search for Python include path
 	  * Python - fixes autoconf search for Python lib directory on
@@ -12936,410 +23680,559 @@
 	  extension can
 	  be built
 
-2006-01-22 22:48  Sandro Santilli <strk at keybit.net>
+2006-01-22 22:48  Sandro Santilli <strk at kbt.io>
 
-	* [r1022] Added Safe's performance improvement idea for
+	* [r1022] TODO: Added Safe's performance improvement idea for
 	  CoordinateSequence
 
-2006-01-21 16:11  Sandro Santilli <strk at keybit.net>
+2006-01-21 16:11  Sandro Santilli <strk at kbt.io>
 
-	* [r1021] updated
+	* [r1021] NEWS: updated
 
-2006-01-21 16:08  Sandro Santilli <strk at keybit.net>
+2006-01-21 16:08  Sandro Santilli <strk at kbt.io>
 
-	* [r1020] Fixed integer conversion bug (ported from JTS-1.7).
+	* [r1020] source/io/ByteOrderValues.cpp: Fixed integer conversion
+	  bug (ported from JTS-1.7).
 	  Added last port information.
 
-2006-01-21 16:04  Sandro Santilli <strk at keybit.net>
+2006-01-21 16:04  Sandro Santilli <strk at kbt.io>
 
-	* [r1019] Added endian specification to case descriptions.
+	* [r1019] source/test/hexwkb.xml: Added endian specification to
+	  case descriptions.
 	  All tests are Little Endian, should add the same
 	  tests with Big Endian format.
 
-2006-01-20 19:28  Sandro Santilli <strk at keybit.net>
+2006-01-20 19:28  Sandro Santilli <strk at kbt.io>
 
-	* [r1018] Updated port information
+	* [r1018] source/operation/overlay/PolygonBuilder.cpp: Updated port
+	  information
 
-2006-01-20 19:21  Sandro Santilli <strk at keybit.net>
+2006-01-20 19:21  Sandro Santilli <strk at kbt.io>
 
-	* [r1017] Fixed bug #13
+	* [r1017] source/operation/overlay/PolygonBuilder.cpp: Fixed bug
+	  #13
 
-2006-01-20 19:11  Sandro Santilli <strk at keybit.net>
+2006-01-20 19:11  Sandro Santilli <strk at kbt.io>
 
-	* [r1016] Updated last port info
+	* [r1016] source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/TopologyValidationError.cpp: Updated last
+	  port info
 
-2006-01-20 17:20  Sandro Santilli <strk at keybit.net>
+2006-01-20 17:20  Sandro Santilli <strk at kbt.io>
 
-	* [r1015] More SWIG/python/ruby patches
+	* [r1015] configure.in, macros/ruby.m4, swig/python/Makefile.am,
+	  swig/ruby/Makefile.am, swig/ruby/example.rb, swig/ruby/renames.i,
+	  swig/ruby/test/Makefile.am, swig/ruby/test/example.rb,
+	  swig/ruby/test/test_envelope.rb: More SWIG/python/ruby patches
 
-2006-01-20 00:59  Sandro Santilli <strk at keybit.net>
+2006-01-20 00:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1014] Better debugging
+	* [r1014] source/io/WKBReader.cpp: Better debugging
 
-2006-01-20 00:59  Sandro Santilli <strk at keybit.net>
+2006-01-20 00:59  Sandro Santilli <strk at kbt.io>
 
-	* [r1013] PrecisionModel made FLOATING
+	* [r1013] source/test/hexwkb.xml: PrecisionModel made FLOATING
 
-2006-01-18 17:49  Sandro Santilli <strk at keybit.net>
+2006-01-18 17:49  Sandro Santilli <strk at kbt.io>
 
-	* [r1012] Reworked XMLTester to be quiet by default. Use -v switch
-	  to make it verbose.
+	* [r1012] source/test/XMLTester.cpp, source/test/XMLTester.h:
+	  Reworked XMLTester to be quiet by default. Use -v switch to make
+	  it verbose.
 
-2006-01-18 17:47  Sandro Santilli <strk at keybit.net>
+2006-01-18 17:47  Sandro Santilli <strk at kbt.io>
 
-	* [r1011] Added GEOMETRYCOLLECTION test
+	* [r1011] source/test/hexwkb.xml: Added GEOMETRYCOLLECTION test
 
-2006-01-18 17:47  Sandro Santilli <strk at keybit.net>
+2006-01-18 17:47  Sandro Santilli <strk at kbt.io>
 
-	* [r1010] Added another local test to the test rule
+	* [r1010] source/test/Makefile.am: Added another local test to the
+	  test rule
 
-2006-01-18 17:46  Sandro Santilli <strk at keybit.net>
+2006-01-18 17:46  Sandro Santilli <strk at kbt.io>
 
-	* [r1009] Fixed leak in ::writeFormatted(Geometry *)
+	* [r1009] source/io/WKTWriter.cpp: Fixed leak in
+	  ::writeFormatted(Geometry *)
 
-2006-01-18 17:45  Sandro Santilli <strk at keybit.net>
+2006-01-18 17:45  Sandro Santilli <strk at kbt.io>
 
-	* [r1008] more debugging lines
+	* [r1008] source/io/WKBReader.cpp: more debugging lines
 
-2006-01-18 13:23  Sandro Santilli <strk at keybit.net>
+2006-01-18 13:23  Sandro Santilli <strk at kbt.io>
 
-	* [r1007] Set binary flag for stringstream used in ::readHEX()
+	* [r1007] source/io/WKBReader.cpp: Set binary flag for stringstream
+	  used in ::readHEX()
 
-2006-01-18 12:54  Sandro Santilli <strk at keybit.net>
+2006-01-18 12:54  Sandro Santilli <strk at kbt.io>
 
-	* [r1006] Added HEXWKB support in XMLTester. Added a simple test in
-	  HEXWKB form
+	* [r1006] source/test/Makefile.am, source/test/XMLTester.cpp,
+	  source/test/XMLTester.h, source/test/hexwkb.xml: Added HEXWKB
+	  support in XMLTester. Added a simple test in HEXWKB form
 	  and a 'test' rule running the locally-available tests and showing
 	  result summay.
 
-2006-01-18 10:02  Sandro Santilli <strk at keybit.net>
+2006-01-18 10:02  Sandro Santilli <strk at kbt.io>
 
-	* [r1005] Added missing macro file
+	* [r1005] macros/ac_python_devel.m4: Added missing macro file
 
-2006-01-17 12:03  Sandro Santilli <strk at keybit.net>
+2006-01-17 12:03  Sandro Santilli <strk at kbt.io>
 
-	* [r1004] Modified AC_PROG_SWIG macro to set SWIG to the empty
-	  string
+	* [r1004] configure.in, macros/ac_pkg_swig.m4: Modified
+	  AC_PROG_SWIG macro to set SWIG to the empty string
 	  on error (rather then making it echo an error and return false).
 	  SWIG version 1.3.28 or up required in order to build SWIG-based
 	  extensions.
 
-2006-01-16 18:34  Sandro Santilli <strk at keybit.net>
+2006-01-16 18:34  Sandro Santilli <strk at kbt.io>
 
-	* [r1003] Added initial conditional build of python and ruby
-	  wrappers
+	* [r1003] autogen.sh, configure.in, macros/ac_pkg_swig.m4,
+	  macros/python.m4, swig/python, swig/python/.cvsignore,
+	  swig/python/Makefile.am, swig/python/python.i,
+	  swig/ruby/Makefile.am: Added initial conditional build of python
+	  and ruby wrappers
 
-2006-01-15 23:01  Sandro Santilli <strk at keybit.net>
+2006-01-15 23:01  Sandro Santilli <strk at kbt.io>
 
-	* [r1001] Added bare build/install/dist scripts support for ruby
-	  interface
+	* [r1001] NEWS, configure.in, swig/Makefile.am, swig/geos.i,
+	  swig/ruby, swig/ruby/.cvsignore, swig/ruby/Makefile,
+	  swig/ruby/Makefile.am, swig/ruby/renames.i, swig/ruby/ruby.i,
+	  swig/ruby/test, swig/ruby/test/.cvsignore,
+	  swig/ruby/test/Makefile.am: Added bare build/install/dist scripts
+	  support for ruby interface
 
-2006-01-15 21:23  Sandro Santilli <strk at keybit.net>
+2006-01-15 21:23  Sandro Santilli <strk at kbt.io>
 
-	* [r1000] Initial import of ruby unit tests
+	* [r1000] swig/ruby/test, swig/ruby/test/geos_tests.rb,
+	  swig/ruby/test/test_combinations.rb,
+	  swig/ruby/test/test_helper.rb, swig/ruby/test/test_io.rb,
+	  swig/ruby/test/test_operations.rb,
+	  swig/ruby/test/test_relations.rb, swig/ruby/test/test_simple.rb:
+	  Initial import of ruby unit tests
 
-2006-01-15 21:22  Sandro Santilli <strk at keybit.net>
+2006-01-15 21:22  Sandro Santilli <strk at kbt.io>
 
-	* [r999] Added Envelope constructor by string (accepting what's
-	  returned by ::toString)
+	* [r999] source/geom/Envelope.cpp, source/headers/geos/geom.h:
+	  Added Envelope constructor by string (accepting what's returned
+	  by ::toString)
 
-2006-01-15 21:19  Sandro Santilli <strk at keybit.net>
+2006-01-15 21:19  Sandro Santilli <strk at kbt.io>
 
-	* [r998] Added WKBWriter::writeHEX() and WKBReader::readHEX()
+	* [r998] source/headers/geos/io.h, source/io/WKBReader.cpp,
+	  source/io/WKBWriter.cpp: Added WKBWriter::writeHEX() and
+	  WKBReader::readHEX()
 
-2006-01-12 11:44  Sandro Santilli <strk at keybit.net>
+2006-01-12 11:44  Sandro Santilli <strk at kbt.io>
 
-	* [r997] synced after 2.2.1 release
+	* [r997] NEWS: synced after 2.2.1 release
 
-2006-01-12 11:44  Sandro Santilli <strk at keybit.net>
+2006-01-12 11:44  Sandro Santilli <strk at kbt.io>
 
-	* [r996] Removed double call to ::isValid
+	* [r996] source/capi/geos_c.cpp: Removed double call to ::isValid
 
-2006-01-08 15:39  Sandro Santilli <strk at keybit.net>
+2006-01-08 15:39  Sandro Santilli <strk at kbt.io>
 
-	* [r994] Changed finite() function call with FINITE() macro.
+	* [r994] source/capi/geos_c.cpp: Changed finite() function call
+	  with FINITE() macro.
 
-2006-01-08 15:24  Sandro Santilli <strk at keybit.net>
+2006-01-08 15:24  Sandro Santilli <strk at kbt.io>
 
-	* [r993] Changed container-related typedef to class-scoped STL-like
-	  typedefs.
+	* [r993] source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/GeometryGraph.cpp, source/geomgraph/NodeMap.cpp,
+	  source/geomgraph/PlanarGraph.cpp,
+	  source/headers/geos/geomgraph.h, source/operation/IsSimpleOp.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/util/GeometricShapeFactory.cpp: Changed container-related
+	  typedef to class-scoped STL-like typedefs.
 	  Fixed const correctness of EdgeIntersectionList::begin() and
 	  ::end() consts;
 	  defined M_PI when undef as suggested by Charlie Savage.
 	  Removed <stdio.h> include from GeometricShapeFactory.cpp.
 
-2005-12-22 12:46  Sandro Santilli <strk at keybit.net>
+2005-12-22 12:46  Sandro Santilli <strk at kbt.io>
 
-	* [r992] Imported Charlie Savage new ruby wrapper and swig changes
+	* [r992] swig/README.txt, swig/geos.i, swig/ruby,
+	  swig/ruby/Makefile, swig/ruby/README.txt, swig/ruby/example.rb,
+	  swig/ruby/renames.i, swig/ruby/ruby.i: Imported Charlie Savage
+	  new ruby wrapper and swig changes
 
-2005-12-14 11:22  Sandro Santilli <strk at keybit.net>
+2005-12-14 11:22  Sandro Santilli <strk at kbt.io>
 
-	* [r991] Added a note about the need to *always* increment CAPI
-	  version
+	* [r991] HOWTO_RELEASE: Added a note about the need to *always*
+	  increment CAPI version
 
-2005-12-14 02:32  Sandro Santilli <strk at keybit.net>
+2005-12-14 02:32  Sandro Santilli <strk at kbt.io>
 
-	* [r990] New entry
+	* [r990] HOWTO_RELEASE, source/algorithm/ConvexHull.cpp: New entry
 
-2005-12-13 23:59  Sandro Santilli <strk at keybit.net>
+2005-12-13 23:59  Sandro Santilli <strk at kbt.io>
 
-	* [r989] Removed INTERFACE_* defines (obsoleted).
+	* [r989] source/capi/geos_c.h.in: Removed INTERFACE_* defines
+	  (obsoleted).
 	  Made GEOSCoordSeq_clone() arg const (won't change ABI, it's C
 	  world, lucky ;)
 
-2005-12-13 23:03  Sandro Santilli <strk at keybit.net>
+2005-12-13 23:03  Sandro Santilli <strk at kbt.io>
 
-	* [r988] Removed conditional blocks based on GEOS version (we're
-	  always
+	* [r988] source/capi/geos_c.cpp: Removed conditional blocks based
+	  on GEOS version (we're always
 	  in sync). This fixed an annoying problem introduced since
 	  INTERFACE_LAST
 	  and INTERFACE_CURREN were taken off geos/version.h
 
-2005-12-12 09:32  Sandro Santilli <strk at keybit.net>
+2005-12-12 09:32  Sandro Santilli <strk at kbt.io>
 
-	* [r987] Switched to -release mode for C++ library versioning.
+	* [r987] configure.in, source/geom/Makefile.am,
+	  source/headers/geos/version.h.in: Switched to -release mode for
+	  C++ library versioning.
 	  Every release will be binary-incompatible with previous.
 	  Removed GEOS_FIRST_INTERFACE and GEOS_LAST_INTERFACE defines
 	  from geos/version.h.
 
-2005-12-11 10:41  Sandro Santilli <strk at keybit.net>
+2005-12-11 10:41  Sandro Santilli <strk at kbt.io>
 
-	* [r984] Fixed premature initialization of average Z value in
+	* [r984] source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/ElevationMatrixFilter.cpp: Fixed
+	  premature initialization of average Z value in
 	  ElevationMatrixFilter
 
-2005-12-11 10:38  Sandro Santilli <strk at keybit.net>
+2005-12-11 10:38  Sandro Santilli <strk at kbt.io>
 
-	* [r983] Fixed mungled versions (1.0.0/3.0.1 => 1.0.1/3.0.0)
+	* [r983] configure.in: Fixed mungled versions (1.0.0/3.0.1 =>
+	  1.0.1/3.0.0)
 
-2005-12-10 16:07  Sandro Santilli <strk at keybit.net>
+2005-12-10 16:07  Sandro Santilli <strk at kbt.io>
 
-	* [r981] Unkown -> Unknown typo fix
+	* [r981] source/capi/geos_c.cpp: Unkown -> Unknown typo fix
 
-2005-12-09 13:24  Sandro Santilli <strk at keybit.net>
+2005-12-09 13:24  Sandro Santilli <strk at kbt.io>
 
-	* [r980] Capi lib version set to 1.0.1 (due to leak fix in
-	  GEOSHasZ)
+	* [r980] configure.in: Capi lib version set to 1.0.1 (due to leak
+	  fix in GEOSHasZ)
 
-2005-12-09 11:36  Sandro Santilli <strk at keybit.net>
+2005-12-09 11:36  Sandro Santilli <strk at kbt.io>
 
-	* [r977] Small leak plugged in CAPI::GEOSHasZ() and in
+	* [r977] NEWS, source/capi/geos_c.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp: Small leak
+	  plugged in CAPI::GEOSHasZ() and in
 	  invalid input to PolygonizeGraph (again)
 
-2005-12-09 10:32  Sandro Santilli <strk at keybit.net>
+2005-12-09 10:32  Sandro Santilli <strk at kbt.io>
 
-	* [r974] Cleaned up debugging line left over from previous commit
+	* [r974] source/operation/polygonize/Polygonizer.cpp: Cleaned up
+	  debugging line left over from previous commit
 
-2005-12-09 10:03  Sandro Santilli <strk at keybit.net>
+2005-12-09 10:03  Sandro Santilli <strk at kbt.io>
 
-	* [r972] Fixed a bug making PolygonizeGraph choking on invalid
-	  LineStrings.
+	* [r972] NEWS, source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/Polygonizer.cpp: Fixed a bug making
+	  PolygonizeGraph choking on invalid LineStrings.
 	  Minor optimizations in Polygonizer loops.
 
-2005-12-08 14:14  Sandro Santilli <strk at keybit.net>
+2005-12-08 14:14  Sandro Santilli <strk at kbt.io>
 
-	* [r971] ElevationMatrixFilter used for both elevation and Matrix
-	  fill,
+	* [r971] NEWS, source/geom/DefaultCoordinateSequence.cpp,
+	  source/geom/GeometryCollection.cpp, source/geom/LineString.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/opOverlay.h,
+	  source/headers/geos/precision.h, source/headers/geos/util.h,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/ElevationMatrixFilter.cpp,
+	  source/precision/CommonBitsRemover.cpp,
+	  source/util/CoordinateArrayFiter.cpp,
+	  source/util/UniqueCoordinateArrayFilter.cpp:
+	  ElevationMatrixFilter used for both elevation and Matrix fill,
 	  thus removing CoordinateSequence copy in
 	  ElevetaionMatrix::add(Geometry *).
 	  Changed CoordinateFilter::filter_rw to be a const method: updated
 	  all apply_rw() methods to take a const CoordinateFilter.
 
-2005-12-08 01:39  Sandro Santilli <strk at keybit.net>
+2005-12-08 01:39  Sandro Santilli <strk at kbt.io>
 
-	* [r970] SegmentString::eiList made a real object rather then a
-	  pointer.
+	* [r970] NEWS, source/headers/geos/noding.h,
+	  source/noding/Noder.cpp, source/noding/SegmentString.cpp:
+	  SegmentString::eiList made a real object rather then a pointer.
 	  Adde getter for const and non-const references of it (dropping
 	  get by pointer)
 
-2005-12-08 01:11  Sandro Santilli <strk at keybit.net>
+2005-12-08 01:11  Sandro Santilli <strk at kbt.io>
 
-	* [r969] minor optimizations in loops
+	* [r969] source/geomgraph/EdgeIntersectionList.cpp: minor
+	  optimizations in loops
 
-2005-12-08 00:24  Sandro Santilli <strk at keybit.net>
+2005-12-08 00:24  Sandro Santilli <strk at kbt.io>
 
-	* [r968] Reduced coordinate assignments in ::createSplitEdge
+	* [r968] source/geomgraph/EdgeIntersectionList.cpp: Reduced
+	  coordinate assignments in ::createSplitEdge
 
-2005-12-08 00:03  Sandro Santilli <strk at keybit.net>
+2005-12-08 00:03  Sandro Santilli <strk at kbt.io>
 
-	* [r967] LineBuilder::lineEdgesList made a real vector, rather then
+	* [r967] NEWS, source/headers/geos/opOverlay.h,
+	  source/operation/overlay/LineBuilder.cpp:
+	  LineBuilder::lineEdgesList made a real vector, rather then
 	  pointer (private member).
 	  Small optimizations in LineBuilder loops, cleanups in LineBuilder
 	  class dox.
 
-2005-12-07 23:36  Sandro Santilli <strk at keybit.net>
+2005-12-07 23:36  Sandro Santilli <strk at kbt.io>
 
-	* [r966] standard indentation
+	* [r966] source/geomgraph/EdgeIntersection.cpp: standard
+	  indentation
 
-2005-12-07 22:52  Sandro Santilli <strk at keybit.net>
+2005-12-07 22:52  Sandro Santilli <strk at kbt.io>
 
-	* [r965] Added CoordinateSequence::apply_rw(CoordinateFilter *) and
+	* [r965] NEWS, source/geom/DefaultCoordinateSequence.cpp,
+	  source/geom/LineString.cpp, source/headers/geos/geom.h: Added
+	  CoordinateSequence::apply_rw(CoordinateFilter *) and
 	  CoordinateSequence::apply_ro(CoordinateFilter *) const
 	  to reduce coordinate copies on read-write CoordinateFilter
 	  applications (previously required getAt()/setAt() calls).
 	  Undefined PROFILE_COORDINATE_COPIES (erroneously left defined by
 	  previous commit)
 
-2005-12-07 21:55  Sandro Santilli <strk at keybit.net>
+2005-12-07 21:55  Sandro Santilli <strk at kbt.io>
 
-	* [r964] Optimized memory allocations in ::removeRepeatedPoints
+	* [r964] source/geom/CoordinateSequence.cpp: Optimized memory
+	  allocations in ::removeRepeatedPoints
 
-2005-12-07 20:52  Sandro Santilli <strk at keybit.net>
+2005-12-07 20:52  Sandro Santilli <strk at kbt.io>
 
-	* [r963] minor container methods call reduction
+	* [r963] source/geomgraph/GeometryGraph.cpp: minor container
+	  methods call reduction
 
-2005-12-07 20:51  Sandro Santilli <strk at keybit.net>
+2005-12-07 20:51  Sandro Santilli <strk at kbt.io>
 
-	* [r962] removed dead code
+	* [r962] source/geomgraph/EdgeEndStar.cpp: removed dead code
 
-2005-12-07 20:51  Sandro Santilli <strk at keybit.net>
+2005-12-07 20:51  Sandro Santilli <strk at kbt.io>
 
-	* [r961] minor cleanups
+	* [r961] source/geomgraph/DirectedEdgeStar.cpp: minor cleanups
 
-2005-12-07 20:49  Sandro Santilli <strk at keybit.net>
+2005-12-07 20:49  Sandro Santilli <strk at kbt.io>
 
-	* [r960] Oops, removed Coordinate copies introduced by recent code
-	  cleanups
+	* [r960] source/geomgraph/Edge.cpp: Oops, removed Coordinate copies
+	  introduced by recent code cleanups
 
-2005-12-07 19:18  Sandro Santilli <strk at keybit.net>
+2005-12-07 19:18  Sandro Santilli <strk at kbt.io>
 
-	* [r959] Changed PlanarGraph::addEdges and EdgeList::addAll to take
+	* [r959] NEWS, source/geomgraph/EdgeList.cpp,
+	  source/geomgraph/PlanarGraph.cpp, source/headers/geos/geom.h,
+	  source/headers/geos/geomgraph.h,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp: Changed
+	  PlanarGraph::addEdges and EdgeList::addAll to take
 	  a const vector by reference rather then a non-const vector by
 	  pointer.
 	  Optimized polygon vector allocations in
 	  OverlayOp::computeOverlay.
 
-2005-12-06 10:24  Sandro Santilli <strk at keybit.net>
+2005-12-06 10:24  Sandro Santilli <strk at kbt.io>
 
-	* [r958] Added acsite.m4 to distribution.
+	* [r958] Makefile.am, NEWS, configure.in, source/capi/Makefile.am,
+	  source/geom/Makefile.am: Added acsite.m4 to distribution.
 	  Added macros and flags required to build on mingw arch.
 
-2005-11-30 16:07  Sandro Santilli <strk at keybit.net>
+2005-11-30 16:07  Sandro Santilli <strk at kbt.io>
 
-	* [r955] Added geos_c.h
+	* [r955] source/capi, source/capi/.cvsignore: Added geos_c.h
 
-2005-11-30 16:03  Sandro Santilli <strk at keybit.net>
+2005-11-30 16:03  Sandro Santilli <strk at kbt.io>
 
-	* [r951] Added --ldflags
+	* [r951] tools/geos-config.in: Added --ldflags
 
-2005-11-30 16:01  Sandro Santilli <strk at keybit.net>
+2005-11-30 16:01  Sandro Santilli <strk at kbt.io>
 
-	* [r949] Updated with C-API usage
+	* [r949] README: Updated with C-API usage
 
-2005-11-30 11:27  Sandro Santilli <strk at keybit.net>
+2005-11-30 11:27  Sandro Santilli <strk at kbt.io>
 
-	* [r945] catch std::exception by ref
+	* [r945] doc/example.cpp: catch std::exception by ref
 
-2005-11-30 11:25  Sandro Santilli <strk at keybit.net>
+2005-11-30 11:25  Sandro Santilli <strk at kbt.io>
 
-	* [r944] includes cleanup
+	* [r944] doc/example.cpp: includes cleanup
 
-2005-11-29 23:01  Sandro Santilli <strk at keybit.net>
+2005-11-29 23:01  Sandro Santilli <strk at kbt.io>
 
-	* [r942] updated moving some items to 2.2.0
+	* [r942] NEWS: updated moving some items to 2.2.0
 
-2005-11-29 15:45  Sandro Santilli <strk at keybit.net>
+2005-11-29 15:45  Sandro Santilli <strk at kbt.io>
 
-	* [r936] Fixed signedness of TopologyLocation methods, cleanups.
+	* [r936] source/geomgraph/TopologyLocation.cpp,
+	  source/headers/geos/geomgraph.h: Fixed signedness of
+	  TopologyLocation methods, cleanups.
 
-2005-11-29 15:16  Sandro Santilli <strk at keybit.net>
+2005-11-29 15:16  Sandro Santilli <strk at kbt.io>
 
-	* [r935] Fixed sign-related warnings and signatures.
+	* [r935] ChangeLog, source/algorithm/MinimumDiameter.cpp,
+	  source/headers/geos/geosAlgorithm.h: Fixed sign-related warnings
+	  and signatures.
 
-2005-11-29 14:49  Sandro Santilli <strk at keybit.net>
+2005-11-29 14:49  Sandro Santilli <strk at kbt.io>
 
-	* [r934] More info
+	* [r934] NEWS: More info
 
-2005-11-29 14:44  Sandro Santilli <strk at keybit.net>
+2005-11-29 14:44  Sandro Santilli <strk at kbt.io>
 
-	* [r933] Updated
+	* [r933] NEWS: Updated
 
-2005-11-29 14:39  Sandro Santilli <strk at keybit.net>
+2005-11-29 14:39  Sandro Santilli <strk at kbt.io>
 
-	* [r932] Removed number of points cache in Edge, replaced with
-	  local caches.
+	* [r932] source/geomgraph/Edge.cpp,
+	  source/headers/geos/geomgraph.h: Removed number of points cache
+	  in Edge, replaced with local caches.
 
-2005-11-29 14:39  Sandro Santilli <strk at keybit.net>
+2005-11-29 14:39  Sandro Santilli <strk at kbt.io>
 
-	* [r931] More signed/unsigned fixes
+	* [r931] source/geom/CoordinateSequence.cpp,
+	  source/geom/DefaultCoordinateSequence.cpp: More signed/unsigned
+	  fixes
 
-2005-11-29 13:39  Sandro Santilli <strk at keybit.net>
+2005-11-29 13:39  Sandro Santilli <strk at kbt.io>
 
-	* [r930] Moved byte typedef from geom.h to io.h.
+	* [r930] source/headers/geos/geom.h, source/headers/geos/io.h:
+	  Moved byte typedef from geom.h to io.h.
 	  Removed useless commas at inlined funx end.
 	  Changed CoordinateSequenceFactory::create(siz,dims) to use
 	  unsigned for dims.
 
-2005-11-29 11:18  Sandro Santilli <strk at keybit.net>
+2005-11-29 11:18  Sandro Santilli <strk at kbt.io>
 
-	* [r929] organized changes info
+	* [r929] NEWS: organized changes info
 
-2005-11-29 00:48  Sandro Santilli <strk at keybit.net>
+2005-11-29 00:48  Sandro Santilli <strk at kbt.io>
 
-	* [r928] Removed edgeList cache from EdgeEndRing. edgeMap is
-	  enough.
+	* [r928] source/geomgraph/DirectedEdgeStar.cpp,
+	  source/geomgraph/EdgeEndStar.cpp, source/geomgraph/Node.cpp,
+	  source/headers/geos/geomgraph.h,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp: Removed edgeList
+	  cache from EdgeEndRing. edgeMap is enough.
 	  Restructured iterated access by use of standard ::iterator
 	  abstraction
 	  with scoped typedefs.
 
-2005-11-28 18:37  Sandro Santilli <strk at keybit.net>
+2005-11-28 18:37  Sandro Santilli <strk at kbt.io>
 
-	* [r927] Minor warning removal
+	* [r927] source/geom/LineString.cpp: Minor warning removal
 
-2005-11-25 12:22  Sandro Santilli <strk at keybit.net>
+2005-11-25 12:22  Sandro Santilli <strk at kbt.io>
 
-	* [r926] Made XMLTester able to run multiple test files and keep
-	  overall
+	* [r926] NEWS, source/test/XMLTester.cpp, source/test/XMLTester.h:
+	  Made XMLTester able to run multiple test files and keep overall
 	  counters.
 
-2005-11-25 11:40  Sandro Santilli <strk at keybit.net>
+2005-11-25 11:40  Sandro Santilli <strk at kbt.io>
 
-	* [r925] Another getSize in for loop, another int-unsigned int
-	  warning
+	* [r925] source/precision/SimpleGeometryPrecisionReducer.cpp:
+	  Another getSize in for loop, another int-unsigned int warning
 
-2005-11-25 11:31  Sandro Santilli <strk at keybit.net>
+2005-11-25 11:31  Sandro Santilli <strk at kbt.io>
 
-	* [r924] Removed all CoordinateSequence::getSize() calls embedded
-	  in for loops.
+	* [r924] source/algorithm/InteriorPointArea.cpp,
+	  source/noding/NodingValidator.cpp, source/noding/SimpleNoder.cpp,
+	  source/noding/snapround/SimpleSegmentStringsSnapper.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp: Removed all
+	  CoordinateSequence::getSize() calls embedded in for loops.
 
-2005-11-25 11:30  Sandro Santilli <strk at keybit.net>
+2005-11-25 11:30  Sandro Santilli <strk at kbt.io>
 
-	* [r923] Fix in ::equals() - this finally passes testLeaksBig.xml
-	  tests
+	* [r923] source/geomgraph/Edge.cpp: Fix in ::equals() - this
+	  finally passes testLeaksBig.xml tests
 
-2005-11-25 09:57  Sandro Santilli <strk at keybit.net>
+2005-11-25 09:57  Sandro Santilli <strk at kbt.io>
 
-	* [r922] Fixed bug in getCoordinates() [ introduced by previous
-	  commit ]
+	* [r922] source/geom/GeometryCollection.cpp: Fixed bug in
+	  getCoordinates() [ introduced by previous commit ]
 
-2005-11-24 23:43  Sandro Santilli <strk at keybit.net>
+2005-11-24 23:43  Sandro Santilli <strk at kbt.io>
 
-	* [r921] Yes another fix, sorry. Missing const-correctness.
+	* [r921] source/geomgraph/Edge.cpp,
+	  source/headers/geos/geomgraph.h: Yes another fix, sorry. Missing
+	  const-correctness.
 
-2005-11-24 23:24  Sandro Santilli <strk at keybit.net>
+2005-11-24 23:24  Sandro Santilli <strk at kbt.io>
 
-	* [r920] Fixed equals() function [ optimized in previous commit,
-	  but unchecked ]
+	* [r920] source/geomgraph/Edge.cpp,
+	  source/headers/geos/geomgraph.h: Fixed equals() function [
+	  optimized in previous commit, but unchecked ]
 
-2005-11-24 23:24  Sandro Santilli <strk at keybit.net>
+2005-11-24 23:24  Sandro Santilli <strk at kbt.io>
 
-	* [r919] Added note about CoordinateSequence signed->unsigned
+	* [r919] NEWS: Added note about CoordinateSequence signed->unsigned
 	  change in API
 
-2005-11-24 23:09  Sandro Santilli <strk at keybit.net>
-
-	* [r918] CoordinateSequence indexes switched from int to the more
+2005-11-24 23:09  Sandro Santilli <strk at kbt.io>
+
+	* [r918] source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/CentroidArea.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/MinimumDiameter.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/geom/CoordinateSequence.cpp,
+	  source/geom/DefaultCoordinateSequence.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineString.cpp,
+	  source/geom/Polygon.cpp, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeRing.cpp,
+	  source/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  source/headers/geos/geom.h,
+	  source/noding/snapround/SimpleSegmentStringsSnapper.cpp:
+	  CoordinateSequence indexes switched from int to the more
 	  the correct unsigned int. Optimizations here and there
 	  to avoid calling getSize() in loops.
 	  Update of all callers is not complete yet.
 
-2005-11-24 23:07  Sandro Santilli <strk at keybit.net>
-
-	* [r917] CentroidLine made concrete class (only destructor was
-	  virtual) - avoided heap allocation for owned Coordinate centSum
-
-2005-11-21 16:03  Sandro Santilli <strk at keybit.net>
-
-	* [r916] Coordinate interface change:
+2005-11-24 23:07  Sandro Santilli <strk at kbt.io>
+
+	* [r917] source/algorithm/CentroidLine.cpp,
+	  source/headers/geos/geosAlgorithm.h: CentroidLine made concrete
+	  class (only destructor was virtual) - avoided heap allocation for
+	  owned Coordinate centSum
+
+2005-11-21 16:03  Sandro Santilli <strk at kbt.io>
+
+	* [r916] source/algorithm/CentroidArea.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/LineIntersector.cpp, source/geom/Coordinate.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/LineSegment.cpp, source/geom/Polygon.cpp,
+	  source/geomgraph/DirectedEdgeStar.cpp,
+	  source/geomgraph/EdgeEnd.cpp, source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/Node.cpp, source/geomgraph/NodeFactory.cpp,
+	  source/geomgraph/NodeMap.cpp, source/geomgraph/PlanarGraph.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/geomgraph.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/opOverlay.h, source/headers/geos/opRelate.h,
+	  source/headers/geos/opValid.h, source/headers/geos/operation.h,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/overlay/OverlayNodeFactory.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNode.cpp,
+	  source/operation/relate/RelateNodeFactory.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/IsValidOp.cpp: Coordinate interface
+	  change:
 	  Removed setCoordinate call, use assignment operator
 	  instead. Provided a compile-time switch to
 	  make copy ctor and assignment operators non-inline
@@ -13375,9 +24268,14 @@
 	  storage. LineIntersector changed to reflect
 	  the above change.
 
-2005-11-18 00:55  Sandro Santilli <strk at keybit.net>
+2005-11-18 00:55  Sandro Santilli <strk at kbt.io>
 
-	* [r915] Fixed a bug in EdgeRing::containsPoint().
+	* [r915] source/geomgraph/EdgeRing.cpp,
+	  source/headers/geos/geomgraph.h, source/headers/geos/opOverlay.h,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp: Fixed a bug in
+	  EdgeRing::containsPoint().
 	  Changed EdgeRing::getLinearRing() to avoid LinearRing copy and
 	  updated
 	  usages from PolygonBuilder.
@@ -13387,627 +24285,840 @@
 	  Removed heap allocations for EdgeRing containers.
 	  Initialization lists and cleanups.
 
-2005-11-16 22:21  Sandro Santilli <strk at keybit.net>
-
-	* [r913] enforced const-correctness and use of initializer lists.
-
-2005-11-16 15:49  Sandro Santilli <strk at keybit.net>
-
-	* [r912] Reduced gratuitous heap allocations.
-
-2005-11-15 18:30  Sandro Santilli <strk at keybit.net>
-
-	* [r911] Removed dead code
-
-2005-11-15 12:14  Sandro Santilli <strk at keybit.net>
-
-	* [r909] Reduced heap allocations, made use of references when
-	  appropriate,
+2005-11-16 22:21  Sandro Santilli <strk at kbt.io>
+
+	* [r913] source/geomgraph/EdgeEnd.cpp,
+	  source/geomgraph/EdgeIntersection.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/PlanarGraph.cpp,
+	  source/headers/geos/geomgraph.h,
+	  source/operation/valid/IsValidOp.cpp: enforced const-correctness
+	  and use of initializer lists.
+
+2005-11-16 15:49  Sandro Santilli <strk at kbt.io>
+
+	* [r912] source/geomgraph/Edge.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/GraphComponent.cpp,
+	  source/geomgraph/PlanarGraph.cpp,
+	  source/headers/geos/geomgraph.h, source/headers/geos/opValid.h,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/overlay/EdgeSetNoder.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/valid/IsValidOp.cpp: Reduced gratuitous heap
+	  allocations.
+
+2005-11-15 18:30  Sandro Santilli <strk at kbt.io>
+
+	* [r911] source/algorithm/LineIntersector.cpp,
+	  source/geomgraph/Label.cpp,
+	  source/geomgraph/TopologyLocation.cpp,
+	  source/headers/geos/geomgraph.h,
+	  source/headers/geos/geosAlgorithm.h: Removed dead code
+
+2005-11-15 12:14  Sandro Santilli <strk at kbt.io>
+
+	* [r909] source/headers/geos/opOverlay.h,
+	  source/headers/geos/opPolygonize.h,
+	  source/headers/geos/planargraph.h,
+	  source/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/planargraph/planarDirectedEdgeStar.cpp,
+	  source/planargraph/planarNodeMap.cpp,
+	  source/planargraph/planarPlanarGraph.cpp: Reduced heap
+	  allocations, made use of references when appropriate,
 	  small optimizations here and there.
 
-2005-11-15 10:04  Sandro Santilli <strk at keybit.net>
-
-	* [r908] Reduced heap allocations (vectors, mostly).
+2005-11-15 10:04  Sandro Santilli <strk at kbt.io>
+
+	* [r908] source/geomgraph/index/MonotoneChain.cpp,
+	  source/geomgraph/index/MonotoneChainEdge.cpp,
+	  source/geomgraph/index/MonotoneChainIndexer.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  source/geomgraph/index/SweepLineSegment.cpp,
+	  source/headers/geos/geomgraphindex.h: Reduced heap allocations
+	  (vectors, mostly).
 	  Enforced const-correctness, changed some interfaces
 	  to use references rather then pointers when appropriate.
 
-2005-11-15 10:02  Sandro Santilli <strk at keybit.net>
+2005-11-15 10:02  Sandro Santilli <strk at kbt.io>
 
-	* [r907] optimized envelope computation reducing virtual calls
+	* [r907] source/geom/LineString.cpp: optimized envelope computation
+	  reducing virtual calls
 
-2005-11-14 18:14  Sandro Santilli <strk at keybit.net>
+2005-11-14 18:14  Sandro Santilli <strk at kbt.io>
 
-	* [r906] Reduced heap allocations made by TopologyLocation and
-	  Label objects.
+	* [r906] source/geomgraph/Depth.cpp,
+	  source/geomgraph/DirectedEdge.cpp,
+	  source/geomgraph/DirectedEdgeStar.cpp, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/GraphComponent.cpp, source/geomgraph/Label.cpp,
+	  source/geomgraph/Node.cpp, source/geomgraph/TopologyLocation.cpp,
+	  source/headers/geos/geomgraph.h,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp: Reduced heap
+	  allocations made by TopologyLocation and Label objects.
 	  Enforced const-correctness on GraphComponent.
 	  Cleanups.
 
-2005-11-10 16:26  Sandro Santilli <strk at keybit.net>
+2005-11-10 16:26  Sandro Santilli <strk at kbt.io>
 
-	* [r904] Fixed printHEX (was printing one char past the WKB)
+	* [r904] source/io/WKBReader.cpp: Fixed printHEX (was printing one
+	  char past the WKB)
 
-2005-11-10 15:20  Sandro Santilli <strk at keybit.net>
+2005-11-10 15:20  Sandro Santilli <strk at kbt.io>
 
-	* [r903] Made virtual overloads explicit.
+	* [r903] source/headers/geos/geomUtil.h,
+	  source/headers/geos/geomgraph.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/indexStrtree.h, source/headers/geos/noding.h,
+	  source/headers/geos/precision.h: Made virtual overloads explicit.
 
-2005-11-10 10:47  Sandro Santilli <strk at keybit.net>
+2005-11-10 10:47  Sandro Santilli <strk at kbt.io>
 
-	* [r902] Renamed MultiPoint::getCoordinate(int) to
+	* [r902] source/geom/MultiPoint.cpp, source/headers/geos/geom.h:
+	  Renamed MultiPoint::getCoordinate(int) to
 	  MultiPoint::getCoordinateN(int)
 	  to avoid hiding of Geometry::getCoordinate().
 
-2005-11-10 10:24  Sandro Santilli <strk at keybit.net>
+2005-11-10 10:24  Sandro Santilli <strk at kbt.io>
 
-	* [r901] Fixed virtual overload of CoordinateArrayFilter::filter*
+	* [r901] source/headers/geos/util.h,
+	  source/util/CoordinateArrayFiter.cpp: Fixed virtual overload of
+	  CoordinateArrayFilter::filter*
 
-2005-11-10 09:33  Sandro Santilli <strk at keybit.net>
+2005-11-10 09:33  Sandro Santilli <strk at kbt.io>
 
-	* [r900] Removed virtual overloading
-	  LineString::compareTo(LineString *)
+	* [r900] source/geom/LineString.cpp, source/headers/geos/geom.h:
+	  Removed virtual overloading LineString::compareTo(LineString *)
 
-2005-11-09 15:14  Sandro Santilli <strk at keybit.net>
+2005-11-09 15:14  Sandro Santilli <strk at kbt.io>
 
-	* [r899] Forgot to add this
+	* [r899] source/operation/buffer/DepthSegment.cpp: Forgot to add
+	  this
 
-2005-11-09 13:44  Sandro Santilli <strk at keybit.net>
+2005-11-09 13:44  Sandro Santilli <strk at kbt.io>
 
-	* [r898] Cleanups in Node and NodeMap.
+	* [r898] source/geomgraph/Node.cpp, source/geomgraph/NodeMap.cpp,
+	  source/headers/geos/geomgraph.h: Cleanups in Node and NodeMap.
 	  Optimization of EdgeIntersectionLessThen.
 
-2005-11-09 08:57  Sandro Santilli <strk at keybit.net>
+2005-11-09 08:57  Sandro Santilli <strk at kbt.io>
 
-	* [r897] IntersectionMatrix made a concrete and final type.
+	* [r897] source/geom/IntersectionMatrix.cpp,
+	  source/headers/geos/geom.h: IntersectionMatrix made a concrete
+	  and final type.
 	  Cleanups in class definition.
 
-2005-11-08 20:12  Sandro Santilli <strk at keybit.net>
+2005-11-08 20:12  Sandro Santilli <strk at kbt.io>
 
-	* [r896] Memory overhead reductions in buffer operations.
+	* [r896] NEWS, source/geom/Makefile.am, source/headers/geos/geom.h,
+	  source/headers/geos/opBuffer.h,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp: Memory overhead
+	  reductions in buffer operations.
 
-2005-11-08 12:32  Sandro Santilli <strk at keybit.net>
+2005-11-08 12:32  Sandro Santilli <strk at kbt.io>
 
-	* [r895] Cleanups, ::setPoint small improvement
+	* [r895] source/geom/DefaultCoordinateSequence.cpp: Cleanups,
+	  ::setPoint small improvement
 
-2005-11-08 11:33  Sandro Santilli <strk at keybit.net>
+2005-11-08 11:33  Sandro Santilli <strk at kbt.io>
 
-	* [r894] comments cleanup
+	* [r894] source/operation/overlay/OverlayOp.cpp: comments cleanup
 
-2005-11-08 10:26  Sandro Santilli <strk at keybit.net>
+2005-11-08 10:26  Sandro Santilli <strk at kbt.io>
 
-	* [r893] Library versioning took back to 3.0.0
+	* [r893] configure.in: Library versioning took back to 3.0.0
 
-2005-11-08 10:03  Sandro Santilli <strk at keybit.net>
+2005-11-08 10:03  Sandro Santilli <strk at kbt.io>
 
-	* [r892] Set library version to 2.2.0.
+	* [r892] configure.in, doc/Doxyfile.in, source/geom/Envelope.cpp,
+	  source/geom/Geometry.cpp, source/headers/geos/geom.h: Set library
+	  version to 2.2.0.
 	  Cleaned up Doxygen warnings.
 	  Inlined more Envelope methods.
 	  Dropped deprecated Envelope::overlaps methods.
 
-2005-11-07 18:07  Sandro Santilli <strk at keybit.net>
+2005-11-07 18:07  Sandro Santilli <strk at kbt.io>
 
-	* [r890] Removed VisualStudio knowledge from configure script
+	* [r890] configure.in: Removed VisualStudio knowledge from
+	  configure script
 
-2005-11-07 18:05  Sandro Santilli <strk at keybit.net>
+2005-11-07 18:05  Sandro Santilli <strk at kbt.io>
 
-	* [r889] Reduced set<> lookups
+	* [r889] source/geomgraph/EdgeIntersectionList.cpp,
+	  source/headers/geos/noding.h, source/noding/SegmentNodeList.cpp:
+	  Reduced set<> lookups
 
 2005-11-07 13:17  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r888] no longer used
+	* [r888] VisualStudio: no longer used
 
 2005-11-07 13:17  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r887] removed VisualStudio, no longer distributed
+	* [r887] Makefile.am: removed VisualStudio, no longer distributed
 
 2005-11-07 13:16  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r886] obsolete
+	* [r886] VisualStudio/.cvsignore: obsolete
 
-2005-11-07 12:31  Sandro Santilli <strk at keybit.net>
+2005-11-07 12:31  Sandro Santilli <strk at kbt.io>
 
-	* [r885] Changed EdgeIntersectionList to use a set<> rathern then a
-	  vector<>, and
+	* [r885] NEWS, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeIntersection.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/index/SweepLineEvent.cpp,
+	  source/headers/geos/geomgraph.h,
+	  source/headers/geos/geomgraphindex.h,
+	  source/headers/geos/opValid.h, source/operation/IsSimpleOp.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/valid/IsValidOp.cpp: Changed
+	  EdgeIntersectionList to use a set<> rathern then a vector<>, and
 	  to avoid dynamic allocation of initial header.
 	  Inlined short SweepLineEvent methods.
 
-2005-11-07 11:32  Sandro Santilli <strk at keybit.net>
+2005-11-07 11:32  Sandro Santilli <strk at kbt.io>
 
-	* [r884] Added const qualifiers to function to reflect paradigm of
-	  immutable
+	* [r884] source/capi/geos_c.h.in: Added const qualifiers to
+	  function to reflect paradigm of immutable
 	  Geometry objects.
 
-2005-11-04 15:42  Sandro Santilli <strk at keybit.net>
+2005-11-04 15:42  Sandro Santilli <strk at kbt.io>
 
-	* [r883] Fixed bug in SweepLineEventLessThen functor
+	* [r883] source/geomgraph/index/SweepLineEvent.cpp: Fixed bug in
+	  SweepLineEventLessThen functor
 	  (didn't conform to strict weak ordering).
 	  Note: this was introduced by previous commit.
 
-2005-11-04 11:06  Sandro Santilli <strk at keybit.net>
+2005-11-04 11:06  Sandro Santilli <strk at kbt.io>
 
-	* [r882] updated
+	* [r882] NEWS: updated
 
-2005-11-04 11:04  Sandro Santilli <strk at keybit.net>
+2005-11-04 11:04  Sandro Santilli <strk at kbt.io>
 
-	* [r881] Ported revision 1.38 of IsValidOp.java (adding closed Ring
-	  checks).
+	* [r881] source/headers/geos/opValid.h,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/operation/valid/TopologyValidationError.cpp: Ported
+	  revision 1.38 of IsValidOp.java (adding closed Ring checks).
 	  Changed NestedRingTester classes to use Coorinate pointers
 	  rather then actual objects, to speedup NULL tests.
 	  Added JTS port revision when applicable.
 
-2005-11-04 08:28  Sandro Santilli <strk at keybit.net>
+2005-11-04 08:28  Sandro Santilli <strk at kbt.io>
 
-	* [r880] Ported speedup of OverlayOp::insertUniqueEdge() from
-	  JTS-1.7 (rev 1.23)
+	* [r880] NEWS, source/operation/overlay/OverlayOp.cpp: Ported
+	  speedup of OverlayOp::insertUniqueEdge() from JTS-1.7 (rev 1.23)
 	  Updated NEWS file.
 
-2005-11-03 21:28  Sandro Santilli <strk at keybit.net>
+2005-11-03 21:28  Sandro Santilli <strk at kbt.io>
 
-	* [r878] Fixed constructors broke by previous commit
+	* [r878] source/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/geomgraph/index/SimpleSweepLineIntersector.cpp: Fixed
+	  constructors broke by previous commit
 
-2005-11-03 19:51  Sandro Santilli <strk at keybit.net>
+2005-11-03 19:51  Sandro Santilli <strk at kbt.io>
 
-	* [r877] Indentation changes, small vector memory allocation
-	  optimization.
+	* [r877] source/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  source/headers/geos/geomgraphindex.h: Indentation changes, small
+	  vector memory allocation optimization.
 
-2005-11-03 09:15  Sandro Santilli <strk at keybit.net>
+2005-11-03 09:15  Sandro Santilli <strk at kbt.io>
 
-	* [r876] Removed declaration of PointCoordinateSequence and
-	  PointCoordinateSequenceFactory
+	* [r876] source/headers/geos/geom.h: Removed declaration of
+	  PointCoordinateSequence and PointCoordinateSequenceFactory
 
-2005-11-01 09:40  Sandro Santilli <strk at keybit.net>
+2005-11-01 09:40  Sandro Santilli <strk at kbt.io>
 
-	* [r875] Replaced finite() with FINITE() calls.
+	* [r875] source/operation/valid/IsValidOp.cpp: Replaced finite()
+	  with FINITE() calls.
 
-2005-10-27 14:05  Sandro Santilli <strk at keybit.net>
+2005-10-27 14:05  Sandro Santilli <strk at kbt.io>
 
-	* [r873] Added a SweepLineEventLessThen functor to be used by sort
-	  algorithm.
+	* [r873] source/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/geomgraph/index/SweepLineEvent.cpp,
+	  source/headers/geos/geomgraphindex.h: Added a
+	  SweepLineEventLessThen functor to be used by sort algorithm.
 
-2005-10-24 13:28  Sandro Santilli <strk at keybit.net>
+2005-10-24 13:28  Sandro Santilli <strk at kbt.io>
 
-	* [r872] Changed constructors to take ownership of GEOSGeom and
-	  GEOSCoordSeq objects.
+	* [r872] source/capi/geos_c.cpp, source/capi/geos_c.h.in,
+	  source/capi/geostest.c: Changed constructors to take ownership of
+	  GEOSGeom and GEOSCoordSeq objects.
 	  Changed inspectors to retain ownership of GEOSGeom and
 	  GEOSCoordSeq objects.
 	  Added GEOSGeom_clone() method.
 
-2005-10-21 15:13  Sandro Santilli <strk at keybit.net>
+2005-10-21 15:13  Sandro Santilli <strk at kbt.io>
 
-	* [r871] Added GEOSGeom_clone() function
+	* [r871] source/capi/geos_c.cpp, source/capi/geos_c.h.in: Added
+	  GEOSGeom_clone() function
 
-2005-10-21 12:14  Sandro Santilli <strk at keybit.net>
+2005-10-21 12:14  Sandro Santilli <strk at kbt.io>
 
-	* [r870] Added missing GEOS_DLL specifiers
+	* [r870] source/capi/geos_c.h.in: Added missing GEOS_DLL specifiers
 
-2005-10-21 12:07  Sandro Santilli <strk at keybit.net>
+2005-10-21 12:07  Sandro Santilli <strk at kbt.io>
 
-	* [r869] Added fine-grained geometry constructors and GEOSCoordSeq
-	  abstract data type.
+	* [r869] source/capi/geos_c.cpp, source/capi/geos_c.h.in,
+	  source/capi/geostest.c: Added fine-grained geometry constructors
+	  and GEOSCoordSeq abstract data type.
 	  Renamed GEOSmakeCollection to GEOSGeom_createCollection
 
-2005-10-21 09:02  Sandro Santilli <strk at keybit.net>
+2005-10-21 09:02  Sandro Santilli <strk at kbt.io>
 
-	* [r868] typo fixed
+	* [r868] configure.in: typo fixed
 
 2005-10-21 02:46  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r867] added myself to authors - isn't that cheeky!
+	* [r867] AUTHORS: added myself to authors - isn't that cheeky!
 
 2005-10-21 02:45  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r866] added note on source\makefile.vc
+	* [r866] README: added note on source\makefile.vc
 
 2005-10-21 02:44  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r865] added a wee readme
+	* [r865] source/Makefile.vc: added a wee readme
 
 2005-10-21 02:41  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r864] added DLL building, and geostest.exe
+	* [r864] source/Makefile.vc: added DLL building, and geostest.exe
 
 2005-10-21 02:41  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r863] need to DLL export C API
+	* [r863] source/capi/geos_c.h.in: need to DLL export C API
 
 2005-10-21 02:37  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r862] DLL Export functions
+	* [r862] source/capi/geos_c.cpp: DLL Export functions
 
 2005-10-21 02:37  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r861] avoid non-portable vasprintf, make big buffer static
+	* [r861] source/capi/geostest.c: avoid non-portable vasprintf, make
+	  big buffer static
 
 2005-10-21 01:57  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r860] updated for 3.0.0 and added C API
+	* [r860] source/Makefile.vc: updated for 3.0.0 and added C API
 
 2005-10-20 20:37  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r859] added getMachineByteOrder(), convert to unix text mode
+	* [r859] source/headers/geos/platform.h.vc: added
+	  getMachineByteOrder(), convert to unix text mode
 
-2005-10-19 13:07  Sandro Santilli <strk at keybit.net>
+2005-10-19 13:07  Sandro Santilli <strk at kbt.io>
 
-	* [r858] Added support for SRID flag in WKB (full EWKB is accepted
-	  now)
+	* [r858] source/io/WKBReader.cpp: Added support for SRID flag in
+	  WKB (full EWKB is accepted now)
 
-2005-10-19 12:59  Sandro Santilli <strk at keybit.net>
+2005-10-19 12:59  Sandro Santilli <strk at kbt.io>
 
-	* [r857] Added input stream checks in ByteOrderDataInStream,
-	  throwing ParseException on unexpected EOF
+	* [r857] source/headers/geos/io.h: Added input stream checks in
+	  ByteOrderDataInStream, throwing ParseException on unexpected EOF
 
-2005-10-17 15:55  Sandro Santilli <strk at keybit.net>
+2005-10-17 15:55  Sandro Santilli <strk at kbt.io>
 
-	* [r856] Added GetGeometryN, GetInteriorRingN, GetExteriorRing
+	* [r856] source/capi/geos_c.cpp, source/capi/geos_c.h.in: Added
+	  GetGeometryN, GetInteriorRingN, GetExteriorRing
 
-2005-10-17 14:37  Sandro Santilli <strk at keybit.net>
+2005-10-17 14:37  Sandro Santilli <strk at kbt.io>
 
-	* [r855] Added comments on exception returns for Geometry info
-	  functions
+	* [r855] source/capi/geos_c.h.in: Added comments on exception
+	  returns for Geometry info functions
 
-2005-10-17 14:33  Sandro Santilli <strk at keybit.net>
+2005-10-17 14:33  Sandro Santilli <strk at kbt.io>
 
-	* [r854] Added missing exception handlers from previous commit.
+	* [r854] source/capi/geos_c.cpp: Added missing exception handlers
+	  from previous commit.
 	  Fixed GEOSGeomTypeId signatures.
 
-2005-10-17 12:56  Sandro Santilli <strk at keybit.net>
+2005-10-17 12:56  Sandro Santilli <strk at kbt.io>
 
-	* [r853] Removed GEOS_VERSION define (Geometry.cpp, the only file
-	  using this will use the one in version.h)
+	* [r853] source/geom/Makefile.am: Removed GEOS_VERSION define
+	  (Geometry.cpp, the only file using this will use the one in
+	  version.h)
 
-2005-10-17 12:55  Sandro Santilli <strk at keybit.net>
+2005-10-17 12:55  Sandro Santilli <strk at kbt.io>
 
-	* [r852] Fixed GEOSGeom typedef to be accepted by C++ compilers,
-	  added extern "C" namespace for inclusion by C++ code (really
-	  needed?)
+	* [r852] source/capi/geos_c.h.in: Fixed GEOSGeom typedef to be
+	  accepted by C++ compilers, added extern "C" namespace for
+	  inclusion by C++ code (really needed?)
 
-2005-10-17 09:38  Sandro Santilli <strk at keybit.net>
+2005-10-17 09:38  Sandro Santilli <strk at kbt.io>
 
-	* [r851] Added GEOSDistance() function.
+	* [r851] source/capi/geos_c.cpp, source/capi/geos_c.h.in,
+	  source/capi/geostest.c: Added GEOSDistance() function.
 	  Trapped all exceptions and reported using ERROR_MESSAGE rather
 	  then NOTICE_MESSAGE.
 	  Changed WKB functions to use 'unsigned char' rather then 'char'
 	  Added missing GEOS_setWKBOutputDims() function in header file.
 
-2005-09-28 16:33  Sandro Santilli <strk at keybit.net>
+2005-09-28 16:33  Sandro Santilli <strk at kbt.io>
 
-	* [r850] Added GEOS_setWKBOutputDims(int) function to specify
-	  coordinate
+	* [r850] source/capi/geos_c.cpp: Added GEOS_setWKBOutputDims(int)
+	  function to specify coordinate
 	  dimension in WKB output.
 
-2005-09-28 10:15  Sandro Santilli <strk at keybit.net>
+2005-09-28 10:15  Sandro Santilli <strk at kbt.io>
 
-	* [r849] WKBWriter ctor out-lined (will require changes in the near
+	* [r849] source/headers/geos/io.h, source/io/WKBWriter.cpp:
+	  WKBWriter ctor out-lined (will require changes in the near
 	  future, for higher dimensions support), added support for 3d WKB
 	  output
 
-2005-09-28 09:36  Sandro Santilli <strk at keybit.net>
+2005-09-28 09:36  Sandro Santilli <strk at kbt.io>
 
-	* [r848] Cleanups in the printHEX function
+	* [r848] source/io/WKBReader.cpp: Cleanups in the printHEX function
 
-2005-09-27 16:29  Sandro Santilli <strk at keybit.net>
+2005-09-27 16:29  Sandro Santilli <strk at kbt.io>
 
-	* [r847] Ported JTS-1.7 use of PrecisionModel in WKBReader
+	* [r847] source/io/WKBReader.cpp: Ported JTS-1.7 use of
+	  PrecisionModel in WKBReader
 
-2005-09-27 16:20  Sandro Santilli <strk at keybit.net>
+2005-09-27 16:20  Sandro Santilli <strk at kbt.io>
 
-	* [r846] Reverted previous change, fixed the bug by turning
-	  WKBReader.factory
+	* [r846] doc/example.cpp, source/capi/geos_c.cpp,
+	  source/headers/geos/io.h, source/io/WKBReader.cpp: Reverted
+	  previous change, fixed the bug by turning WKBReader.factory
 	  into a reference rather then a real object. ABI still breaks, but
 	  API
 	  at least is safe (we didn't release any WKB-aware package so
 	  breaking
 	  ABI is not a big deal at this stage).
 
-2005-09-27 16:00  Sandro Santilli <strk at keybit.net>
+2005-09-27 16:00  Sandro Santilli <strk at kbt.io>
 
-	* [r845] Fixed bug in WKBReader destroying the GeometryFactory used
-	  in Geometry
+	* [r845] doc/example.cpp, source/capi/geos_c.cpp,
+	  source/headers/geos/io.h, source/io/WKBReader.cpp: Fixed bug in
+	  WKBReader destroying the GeometryFactory used in Geometry
 	  construction. Changed it's definition to *require* a
 	  GeometryFactory
 	  pointer parameter.
 
-2005-09-27 08:51  Sandro Santilli <strk at keybit.net>
+2005-09-27 08:51  Sandro Santilli <strk at kbt.io>
 
-	* [r844] Added XMLTester.h in XMLTester_SOURCES list
+	* [r844] source/test/Makefile.am: Added XMLTester.h in
+	  XMLTester_SOURCES list
 
-2005-09-26 14:40  Sandro Santilli <strk at keybit.net>
+2005-09-26 14:40  Sandro Santilli <strk at kbt.io>
 
-	* [r843] Fixed handling of higher dimensional WKB streams
+	* [r843] source/io/WKBReader.cpp: Fixed handling of higher
+	  dimensional WKB streams
 
-2005-09-26 13:46  Sandro Santilli <strk at keybit.net>
+2005-09-26 13:46  Sandro Santilli <strk at kbt.io>
 
-	* [r842] Modified GEOS_CAPI_VERSION to include underlying GEOS
-	  version
+	* [r842] source/capi/Makefile.am: Modified GEOS_CAPI_VERSION to
+	  include underlying GEOS version
 
-2005-09-26 13:42  Sandro Santilli <strk at keybit.net>
+2005-09-26 13:42  Sandro Santilli <strk at kbt.io>
 
-	* [r841] Moved C-api versioning to top-level configure.in
+	* [r841] configure.in, source/capi/Makefile.am,
+	  source/capi/geos_c.cpp, source/capi/geos_c.h,
+	  source/capi/geos_c.h.in: Moved C-api versioning to top-level
+	  configure.in
 	  Added version info in geos_c.h
 
-2005-09-26 12:25  Sandro Santilli <strk at keybit.net>
+2005-09-26 12:25  Sandro Santilli <strk at kbt.io>
 
-	* [r840] Changed LineMerge interface to accept a single Geometry
-	  and return the simpler Geometry obtainable with the set of merger
-	  LineStrings. Fixed leaks in geostest, fixed a leak in
-	  GEOSRelate().
+	* [r840] source/capi/geos_c.cpp, source/capi/geos_c.h,
+	  source/capi/geostest.c: Changed LineMerge interface to accept a
+	  single Geometry and return the simpler Geometry obtainable with
+	  the set of merger LineStrings. Fixed leaks in geostest, fixed a
+	  leak in GEOSRelate().
 
-2005-09-26 12:23  Sandro Santilli <strk at keybit.net>
+2005-09-26 12:23  Sandro Santilli <strk at kbt.io>
 
-	* [r839] Initializzation lists in PrecisionModel ctors
+	* [r839] source/geom/PrecisionModel.cpp: Initializzation lists in
+	  PrecisionModel ctors
 
-2005-09-26 11:04  Sandro Santilli <strk at keybit.net>
+2005-09-26 11:04  Sandro Santilli <strk at kbt.io>
 
-	* [r838] Added changes in LineMerger
+	* [r838] NEWS: Added changes in LineMerger
 
-2005-09-26 11:01  Sandro Santilli <strk at keybit.net>
+2005-09-26 11:01  Sandro Santilli <strk at kbt.io>
 
-	* [r837] Const correctness changes in LineMerger package, and a few
-	  speedups.
+	* [r837] source/headers/geos/opLinemerge.h,
+	  source/operation/linemerge/EdgeString.cpp,
+	  source/operation/linemerge/LineMergeEdge.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/LineMerger.cpp: Const correctness
+	  changes in LineMerger package, and a few speedups.
 
-2005-09-26 08:18  Sandro Santilli <strk at keybit.net>
+2005-09-26 08:18  Sandro Santilli <strk at kbt.io>
 
-	* [r836] Added .lo, .la and geostest
+	* [r836] source/capi, source/capi/.cvsignore: Added .lo, .la and
+	  geostest
 
-2005-09-26 08:17  Sandro Santilli <strk at keybit.net>
+2005-09-26 08:17  Sandro Santilli <strk at kbt.io>
 
-	* [r835] Removed memory leak from WKB tester
+	* [r835] doc/example.cpp: Removed memory leak from WKB tester
 
-2005-09-23 17:20  Sandro Santilli <strk at keybit.net>
+2005-09-23 17:20  Sandro Santilli <strk at kbt.io>
 
-	* [r834] Made LineMerger graph be a real object (rather then a
-	  pointer to it)
+	* [r834] source/headers/geos/opLinemerge.h,
+	  source/operation/linemerge/LineMerger.cpp: Made LineMerger graph
+	  be a real object (rather then a pointer to it)
 
-2005-09-23 16:07  Sandro Santilli <strk at keybit.net>
+2005-09-23 16:07  Sandro Santilli <strk at kbt.io>
 
-	* [r833] Fixed export of GEOSPolygonize() and GEOSMakeCollection()
+	* [r833] source/capi/geos_c.cpp: Fixed export of GEOSPolygonize()
+	  and GEOSMakeCollection()
 
-2005-09-23 09:49  Sandro Santilli <strk at keybit.net>
+2005-09-23 09:49  Sandro Santilli <strk at kbt.io>
 
-	* [r832] Added GEOSMakeCollection.
+	* [r832] source/capi/geos_c.cpp, source/capi/geos_c.h: Added
+	  GEOSMakeCollection.
 	  Changed GEOSGetCentroid to return an EmptyGeometry when no
 	  Centroid can be
 	  computed (Empty input, for example).
 
-2005-09-19 08:16  Sandro Santilli <strk at keybit.net>
+2005-09-19 08:16  Sandro Santilli <strk at kbt.io>
 
-	* [r831] Added C api
+	* [r831] NEWS: Added C api
 
-2005-09-14 15:11  Sandro Santilli <strk at keybit.net>
+2005-09-14 15:11  Sandro Santilli <strk at kbt.io>
 
-	* [r830] Removed functions returning not-new GEOSGeom objects to
-	  avoid ambiguity
+	* [r830] source/capi/geos_c.h: Removed functions returning not-new
+	  GEOSGeom objects to avoid ambiguity
 	  whereas when to destroy returns. Added not about memory
 	  management.
 
-2005-09-14 14:55  Sandro Santilli <strk at keybit.net>
+2005-09-14 14:55  Sandro Santilli <strk at kbt.io>
 
-	* [r829] Added copyright notices and usage notes
+	* [r829] source/capi/geos_c.cpp, source/capi/geos_c.h,
+	  source/capi/geostest.c: Added copyright notices and usage notes
 
-2005-09-14 14:28  Sandro Santilli <strk at keybit.net>
+2005-09-14 14:28  Sandro Santilli <strk at kbt.io>
 
-	* [r828] Fixed bug writing WKB for all Multi* geoms as Collections.
+	* [r828] source/io/WKBWriter.cpp: Fixed bug writing WKB for all
+	  Multi* geoms as Collections.
 
-2005-09-14 13:58  Sandro Santilli <strk at keybit.net>
+2005-09-14 13:58  Sandro Santilli <strk at kbt.io>
 
-	* [r827] Initial abstract C api.
+	* [r827] configure.in, source/Makefile.am, source/capi,
+	  source/capi/.cvsignore, source/capi/Makefile.am,
+	  source/capi/geos_c.cpp, source/capi/geos_c.h,
+	  source/capi/geostest.c, source/capi/test.wkt: Initial abstract C
+	  api.
 
-2005-09-14 13:56  Sandro Santilli <strk at keybit.net>
+2005-09-14 13:56  Sandro Santilli <strk at kbt.io>
 
-	* [r826] Typo fixed
+	* [r826] source/io/WKBReader.cpp: Typo fixed
 
-2005-09-03 21:26  Sandro Santilli <strk at keybit.net>
+2005-09-03 21:26  Sandro Santilli <strk at kbt.io>
 
-	* [r825] Reworked WKB I/O to avoid use of templates and make better
-	  use of STL
+	* [r825] doc/example.cpp, source/geom/Makefile.am,
+	  source/headers/geos/ByteOrderDataInStreamT.h,
+	  source/headers/geos/Makefile.am,
+	  source/headers/geos/WKBReaderT.h,
+	  source/headers/geos/WKBWriterT.h, source/headers/geos/io.h,
+	  source/io/WKBReader.cpp, source/io/WKBWriter.cpp: Reworked WKB
+	  I/O to avoid use of templates and make better use of STL
 
-2005-08-22 13:34  Sandro Santilli <strk at keybit.net>
+2005-08-22 13:34  Sandro Santilli <strk at kbt.io>
 
-	* [r822] Added 2.1.4 section
+	* [r822] NEWS: Added 2.1.4 section
 
-2005-08-22 13:31  Sandro Santilli <strk at keybit.net>
+2005-08-22 13:31  Sandro Santilli <strk at kbt.io>
 
-	* [r821] Fixed comparator functions used with STL sort() algorithm
-	  to
+	* [r821] source/geom/Geometry.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/planargraph/planarDirectedEdgeStar.cpp: Fixed comparator
+	  functions used with STL sort() algorithm to
 	  implement StrictWeakOrdering semantic.
 
-2005-07-12 14:33  Sandro Santilli <strk at keybit.net>
+2005-07-12 14:33  Sandro Santilli <strk at kbt.io>
 
-	* [r819] updated
+	* [r819] NEWS: updated
 
-2005-07-11 16:21  Sandro Santilli <strk at keybit.net>
+2005-07-11 16:21  Sandro Santilli <strk at kbt.io>
 
-	* [r818] Removed '_' prefix from header guards
+	* [r818] source/headers/geos/ByteOrderDataInStreamT.h,
+	  source/headers/geos/WKBReaderT.h,
+	  source/headers/geos/WKBWriterT.h: Removed '_' prefix from header
+	  guards
 
-2005-07-11 12:17  Sandro Santilli <strk at keybit.net>
+2005-07-11 12:17  Sandro Santilli <strk at kbt.io>
 
-	* [r817] Cleaned up syntax
+	* [r817] source/headers/geos/io.h, source/headers/geos/opOverlay.h,
+	  source/headers/geos/platform.h.in: Cleaned up syntax
 
-2005-07-11 12:17  Sandro Santilli <strk at keybit.net>
+2005-07-11 12:17  Sandro Santilli <strk at kbt.io>
 
-	* [r816] Commented out useless include
+	* [r816] doc/example.cpp: Commented out useless include
 
-2005-07-11 10:50  Sandro Santilli <strk at keybit.net>
+2005-07-11 10:50  Sandro Santilli <strk at kbt.io>
 
-	* [r815] Added parens suggested by compiler
+	* [r815] source/geom/Geometry.cpp: Added parens suggested by
+	  compiler
 
-2005-07-11 10:27  Sandro Santilli <strk at keybit.net>
+2005-07-11 10:27  Sandro Santilli <strk at kbt.io>
 
-	* [r814] Cleaned up signed/unsigned mismatches
+	* [r814] source/geomgraph/Edge.cpp,
+	  source/headers/geos/WKBReaderT.h: Cleaned up signed/unsigned
+	  mismatches
 
-2005-07-11 10:27  Sandro Santilli <strk at keybit.net>
+2005-07-11 10:27  Sandro Santilli <strk at kbt.io>
 
-	* [r813] Fixed initializzazion lists
+	* [r813] source/geomgraph/DirectedEdge.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp: Fixed
+	  initializzazion lists
 
-2005-07-11 10:26  Sandro Santilli <strk at keybit.net>
+2005-07-11 10:26  Sandro Santilli <strk at kbt.io>
 
-	* [r812] Made CoordinateSequence::getDimension return unsigned int
-	  instead of int
+	* [r812] source/headers/geos/geom.h: Made
+	  CoordinateSequence::getDimension return unsigned int instead of
+	  int
 
-2005-07-11 10:23  Sandro Santilli <strk at keybit.net>
+2005-07-11 10:23  Sandro Santilli <strk at kbt.io>
 
-	* [r811] removed useless assignment
+	* [r811] source/geom/Geometry.cpp: removed useless assignment
 
-2005-06-30 18:31  Sandro Santilli <strk at keybit.net>
+2005-06-30 18:31  Sandro Santilli <strk at kbt.io>
 
-	* [r807] Ported SubgraphDepthLocator optimizations from JTS code
+	* [r807] source/headers/geos/opBuffer.h,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp: Ported
+	  SubgraphDepthLocator optimizations from JTS code
 
-2005-06-28 21:13  Sandro Santilli <strk at keybit.net>
+2005-06-28 21:13  Sandro Santilli <strk at kbt.io>
 
-	* [r803] Fixed a bug introduced by LineSegment skip - made
-	  LineSegment skip a compile-time optione
+	* [r803] source/operation/buffer/SubgraphDepthLocater.cpp: Fixed a
+	  bug introduced by LineSegment skip - made LineSegment skip a
+	  compile-time optione
 
-2005-06-28 16:52  Sandro Santilli <strk at keybit.net>
+2005-06-28 16:52  Sandro Santilli <strk at kbt.io>
 
-	* [r802] Added number of points count as a debugging aid
+	* [r802] source/test/XMLTester.cpp: Added number of points count as
+	  a debugging aid
 
-2005-06-28 11:22  Sandro Santilli <strk at keybit.net>
+2005-06-28 11:22  Sandro Santilli <strk at kbt.io>
 
-	* [r801] Added DepthSegmentLT bugfix
+	* [r801] NEWS: Added DepthSegmentLT bugfix
 
-2005-06-28 01:07  Sandro Santilli <strk at keybit.net>
+2005-06-28 01:07  Sandro Santilli <strk at kbt.io>
 
-	* [r796] improved extraction of result points in overlay op
+	* [r796] source/headers/geos/opOverlay.h,
+	  source/operation/overlay/PointBuilder.cpp: improved extraction of
+	  result points in overlay op
 
-2005-06-28 00:04  Sandro Santilli <strk at keybit.net>
+2005-06-28 00:04  Sandro Santilli <strk at kbt.io>
 
-	* [r794] improved ::isIncidentEdgeInResult() method
+	* [r794] source/geomgraph/Node.cpp: improved
+	  ::isIncidentEdgeInResult() method
 
-2005-06-27 21:58  Sandro Santilli <strk at keybit.net>
+2005-06-27 21:58  Sandro Santilli <strk at kbt.io>
 
-	* [r793] Bugfix in DepthSegmentLT as suggested by Graeme Hiebert
+	* [r793] source/operation/buffer/SubgraphDepthLocater.cpp: Bugfix
+	  in DepthSegmentLT as suggested by Graeme Hiebert
 
-2005-06-27 21:24  Sandro Santilli <strk at keybit.net>
+2005-06-27 21:24  Sandro Santilli <strk at kbt.io>
 
-	* [r790] Fixed bug just-introduced with optimization.
+	* [r790] source/operation/buffer/SubgraphDepthLocater.cpp: Fixed
+	  bug just-introduced with optimization.
 
-2005-06-27 21:21  Sandro Santilli <strk at keybit.net>
+2005-06-27 21:21  Sandro Santilli <strk at kbt.io>
 
-	* [r789] Reduced Coordinate copies due to LineSegment overuse
+	* [r789] NEWS, source/operation/buffer/SubgraphDepthLocater.cpp:
+	  Reduced Coordinate copies due to LineSegment overuse
 
-2005-06-25 10:20  Sandro Santilli <strk at keybit.net>
+2005-06-25 10:20  Sandro Santilli <strk at kbt.io>
 
-	* [r787] OverlayOp speedup (JTS port)
+	* [r787] NEWS, source/geomgraph/Node.cpp,
+	  source/headers/geos/geomgraph.h,
+	  source/operation/overlay/PointBuilder.cpp: OverlayOp speedup (JTS
+	  port)
 
-2005-06-24 11:12  Sandro Santilli <strk at keybit.net>
+2005-06-24 11:12  Sandro Santilli <strk at kbt.io>
 
-	* [r786] Added LineIntersector concrete type note
+	* [r786] NEWS: Added LineIntersector concrete type note
 
-2005-06-24 11:09  Sandro Santilli <strk at keybit.net>
+2005-06-24 11:09  Sandro Santilli <strk at kbt.io>
 
-	* [r785] Dropped RobustLineIntersector, made LineIntersector a
-	  concrete class.
+	* [r785] source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/PointLocator.cpp, source/geom/LineSegment.cpp,
+	  source/geom/Makefile.am, source/geomgraph/PlanarGraph.cpp,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/noding.h, source/noding/IteratedNoder.cpp,
+	  source/noding/NodingValidator.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/IsValidOp.cpp: Dropped
+	  RobustLineIntersector, made LineIntersector a concrete class.
 	  Added
 	  LineIntersector::hasIntersection(Coordinate&,Coordinate&,Coordinate&)
 	  to avoid computing intersection point (Z) when it's not
 	  necessary.
 
-2005-06-23 14:22  Sandro Santilli <strk at keybit.net>
+2005-06-23 14:22  Sandro Santilli <strk at kbt.io>
 
-	* [r784] Inlined and added missing ::clone() for Geometry
-	  subclasses
+	* [r784] NEWS, source/geom/GeometryCollection.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/headers/geos/geom.h: Inlined and added missing ::clone()
+	  for Geometry subclasses
 
-2005-06-23 11:23  Sandro Santilli <strk at keybit.net>
+2005-06-23 11:23  Sandro Santilli <strk at kbt.io>
 
-	* [r782] performance improvement for CGAlgorithms::isOnLine()
+	* [r782] NEWS, source/algorithm/CGAlgorithms.cpp: performance
+	  improvement for CGAlgorithms::isOnLine()
 
-2005-06-22 00:46  Sandro Santilli <strk at keybit.net>
+2005-06-22 00:46  Sandro Santilli <strk at kbt.io>
 
-	* [r779] Shortcircuit tests for Union
+	* [r779] NEWS, source/geom/Geometry.cpp: Shortcircuit tests for
+	  Union
 
-2005-06-22 00:46  Sandro Santilli <strk at keybit.net>
+2005-06-22 00:46  Sandro Santilli <strk at kbt.io>
 
-	* [r777] Fixed bugus handling of collections in ::buildGeometry
+	* [r777] source/geom/GeometryFactory.cpp: Fixed bugus handling of
+	  collections in ::buildGeometry
 
-2005-06-21 12:22  Sandro Santilli <strk at keybit.net>
+2005-06-21 12:22  Sandro Santilli <strk at kbt.io>
 
-	* [r773] XMLTester code cleanups
+	* [r773] NEWS, source/test/XMLTester.cpp, source/test/XMLTester.h:
+	  XMLTester code cleanups
 
-2005-06-20 10:23  Sandro Santilli <strk at keybit.net>
+2005-06-20 10:23  Sandro Santilli <strk at kbt.io>
 
-	* [r772] XMLTester installed by default
+	* [r772] NEWS, source/test/Makefile.am: XMLTester installed by
+	  default
 
-2005-06-17 15:17  Sandro Santilli <strk at keybit.net>
+2005-06-17 15:17  Sandro Santilli <strk at kbt.io>
 
-	* [r770] Removed ltmain.sh from repository, will be created by
-	  autogen.sh
+	* [r770] ., .cvsignore, ltmain.sh: Removed ltmain.sh from
+	  repository, will be created by autogen.sh
 
-2005-06-17 15:08  Sandro Santilli <strk at keybit.net>
+2005-06-17 15:08  Sandro Santilli <strk at kbt.io>
 
-	* [r766] Polygonizer segfault fix
+	* [r766] NEWS, source/operation/polygonize/Polygonizer.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp: Polygonizer
+	  segfault fix
 
-2005-06-17 14:58  Sandro Santilli <strk at keybit.net>
+2005-06-17 14:58  Sandro Santilli <strk at kbt.io>
 
-	* [r764] Fixed segfault in LinearRing and LineString constructors
+	* [r764] source/geom/GeometryFactory.cpp: Fixed segfault in
+	  LinearRing and LineString constructors
 
-2005-06-14 11:57  Sandro Santilli <strk at keybit.net>
+2005-06-14 11:57  Sandro Santilli <strk at kbt.io>
 
-	* [r761] Added workaround for mingw Polygon name clash
+	* [r761] NEWS, source/test/XMLTester.cpp: Added workaround for
+	  mingw Polygon name clash
 
-2005-06-10 14:04  Sandro Santilli <strk at keybit.net>
+2005-06-10 14:04  Sandro Santilli <strk at kbt.io>
 
-	* [r760] Added libtoolize call
+	* [r760] autogen.sh: Added libtoolize call
 
-2005-06-10 13:24  Sandro Santilli <strk at keybit.net>
+2005-06-10 13:24  Sandro Santilli <strk at kbt.io>
 
-	* [r758] Added use declaration to make MingW build work
+	* [r758] source/test/XMLTester.cpp: Added use declaration to make
+	  MingW build work
 
-2005-06-08 09:38  Sandro Santilli <strk at keybit.net>
+2005-06-08 09:38  Sandro Santilli <strk at kbt.io>
 
-	* [r754] Added GCC version requirement note
+	* [r754] INSTALL: Added GCC version requirement note
 
-2005-06-05 10:41  Sandro Santilli <strk at keybit.net>
+2005-06-05 10:41  Sandro Santilli <strk at kbt.io>
 
-	* [r752] Changes file renamed back to NEWS, automake insists on
-	  finding it.
+	* [r752] CHANGES, NEWS: Changes file renamed back to NEWS, automake
+	  insists on finding it.
 
 2005-05-30 16:20  No Body <no at body.net>
 
-	* [r750] Blank news file to molfify new versions of autoconf
+	* [r750] NEWS: Blank news file to molfify new versions of autoconf
 
-2005-05-24 08:42  Sandro Santilli <strk at keybit.net>
+2005-05-24 08:42  Sandro Santilli <strk at kbt.io>
 
-	* [r749] Info moved into CHANGES file
+	* [r749] NEWS: Info moved into CHANGES file
 
-2005-05-24 08:42  Sandro Santilli <strk at keybit.net>
+2005-05-24 08:42  Sandro Santilli <strk at kbt.io>
 
-	* [r748] Filled in section from 2.0.0 to 2.1.1
+	* [r748] CHANGES: Filled in section from 2.0.0 to 2.1.1
 
-2005-05-24 07:48  Sandro Santilli <strk at keybit.net>
+2005-05-24 07:48  Sandro Santilli <strk at kbt.io>
 
-	* [r744] Initial import
+	* [r744] CHANGES: Initial import
 
-2005-05-23 16:42  Sandro Santilli <strk at keybit.net>
+2005-05-23 16:42  Sandro Santilli <strk at kbt.io>
 
-	* [r728] Added Refractions copyright
+	* [r728] source/geom/Point.cpp: Added Refractions copyright
 
-2005-05-23 15:13  Sandro Santilli <strk at keybit.net>
+2005-05-23 15:13  Sandro Santilli <strk at kbt.io>
 
-	* [r717] Added debugging output
+	* [r717] source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp: Added debugging
+	  output
 
-2005-05-23 15:04  Sandro Santilli <strk at keybit.net>
+2005-05-23 15:04  Sandro Santilli <strk at kbt.io>
 
-	* [r716] Fixed bug in ::reverse()
+	* [r716] source/geom/LineSegment.cpp: Fixed bug in ::reverse()
 
-2005-05-22 17:45  Sandro Santilli <strk at keybit.net>
+2005-05-22 17:45  Sandro Santilli <strk at kbt.io>
 
-	* [r715] Fixed initialization list order
+	* [r715] source/operation/buffer/BufferSubgraph.cpp: Fixed
+	  initialization list order
 
-2005-05-22 17:42  Sandro Santilli <strk at keybit.net>
+2005-05-22 17:42  Sandro Santilli <strk at kbt.io>
 
-	* [r714] Added missing WKBWriterT.h
+	* [r714] ChangeLog, source/headers/geos/Makefile.am: Added missing
+	  WKBWriterT.h
 
-2005-05-20 16:15  Sandro Santilli <strk at keybit.net>
+2005-05-20 16:15  Sandro Santilli <strk at kbt.io>
 
-	* [r713] Code cleanups
+	* [r713] source/geomgraph/Position.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp: Code cleanups
 
-2005-05-20 16:14  Sandro Santilli <strk at keybit.net>
+2005-05-20 16:14  Sandro Santilli <strk at kbt.io>
 
-	* [r712] Fixed a bug in addPolygonRing setting wrong depths on
-	  Edges
+	* [r712] source/operation/buffer/OffsetCurveSetBuilder.cpp: Fixed a
+	  bug in addPolygonRing setting wrong depths on Edges
 
-2005-05-19 10:29  Sandro Santilli <strk at keybit.net>
+2005-05-19 10:29  Sandro Santilli <strk at kbt.io>
 
-	* [r711] Removed some CGAlgorithms instances substituting them with
-	  direct calls
+	* [r711] source/algorithm/CentroidArea.cpp,
+	  source/geomgraph/DirectedEdge.cpp, source/geomgraph/EdgeEnd.cpp,
+	  source/geomgraph/EdgeRing.cpp, source/headers/geos/geomgraph.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/opBuffer.h, source/headers/geos/opOverlay.h,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp: Removed some
+	  CGAlgorithms instances substituting them with direct calls
 	  to the static functions. Interfaces accepting CGAlgorithms
 	  pointers kept
 	  for backward compatibility but modified to make the argument
@@ -14016,885 +25127,1340 @@
 	  Inlined some smaller functions encountered during bug hunting.
 	  Updated Copyright notices in the touched files.
 
-2005-05-19 10:26  Sandro Santilli <strk at keybit.net>
+2005-05-19 10:26  Sandro Santilli <strk at kbt.io>
 
-	* [r710] Added bogus multipolygon buffering test
+	* [r710] source/test/testLeaksBig.xml: Added bogus multipolygon
+	  buffering test
 
-2005-05-13 18:06  Sandro Santilli <strk at keybit.net>
+2005-05-13 18:06  Sandro Santilli <strk at kbt.io>
 
-	* [r709] Added default tolerance parameter for equalsExact
+	* [r709] source/headers/geos/geom.h: Added default tolerance
+	  parameter for equalsExact
 
-2005-05-13 17:15  Sandro Santilli <strk at keybit.net>
+2005-05-13 17:15  Sandro Santilli <strk at kbt.io>
 
-	* [r708] cleanups and indentations
+	* [r708] source/geom/Point.cpp: cleanups and indentations
 
-2005-05-13 17:14  Sandro Santilli <strk at keybit.net>
+2005-05-13 17:14  Sandro Santilli <strk at kbt.io>
 
-	* [r707] Added comment about 2D-only comparison of
-	  ::equal(Coordinate, Coordinate, double)
+	* [r707] source/geom/Geometry.cpp: Added comment about 2D-only
+	  comparison of ::equal(Coordinate, Coordinate, double)
 
-2005-05-09 21:17  Sandro Santilli <strk at keybit.net>
+2005-05-09 21:17  Sandro Santilli <strk at kbt.io>
 
-	* [r706] Second argument to ::write made mandatory.
+	* [r706] source/headers/geos/WKBWriterT.h: Second argument to
+	  ::write made mandatory.
 
-2005-05-09 10:35  Sandro Santilli <strk at keybit.net>
+2005-05-09 10:35  Sandro Santilli <strk at kbt.io>
 
-	* [r705] Ported JTS robustness patches made by Martin on
-	  suggestions by Kevin.
+	* [r705] source/algorithm/RobustLineIntersector.cpp,
+	  source/headers/geos/geosAlgorithm.h: Ported JTS robustness
+	  patches made by Martin on suggestions by Kevin.
 
-2005-05-03 15:30  Sandro Santilli <strk at keybit.net>
+2005-05-03 15:30  Sandro Santilli <strk at kbt.io>
 
-	* [r704] Added WKB TODOs
+	* [r704] TODO: Added WKB TODOs
 
-2005-04-29 17:40  Sandro Santilli <strk at keybit.net>
+2005-04-29 17:40  Sandro Santilli <strk at kbt.io>
 
-	* [r703] Updated Doxygen documentation and some Copyright headers.
+	* [r703] source/geom/Geometry.cpp, source/headers/geos.h,
+	  source/headers/geos/WKBReaderT.h,
+	  source/headers/geos/WKBWriterT.h, source/headers/geos/geom.h,
+	  source/headers/geos/io.h, source/headers/geos/opOverlay.h,
+	  source/io/ByteOrderValues.cpp,
+	  source/operation/overlay/OverlayOp.cpp: Updated Doxygen
+	  documentation and some Copyright headers.
 
-2005-04-29 16:36  Sandro Santilli <strk at keybit.net>
+2005-04-29 16:36  Sandro Santilli <strk at kbt.io>
 
-	* [r702] Fixed biostringstream stream output.
+	* [r702] source/headers/geos/io.h: Fixed biostringstream stream
+	  output.
 
-2005-04-29 16:36  Sandro Santilli <strk at keybit.net>
+2005-04-29 16:36  Sandro Santilli <strk at kbt.io>
 
-	* [r701] Made WKBReader use global_factory, for having WKB reads
-	  produce
+	* [r701] doc/example.cpp: Made WKBReader use global_factory, for
+	  having WKB reads produce
 	  same context of input geoms.
 
-2005-04-29 15:34  Sandro Santilli <strk at keybit.net>
+2005-04-29 15:34  Sandro Santilli <strk at kbt.io>
 
-	* [r700] Typedef'ed biostringstream, preferred parameter for
+	* [r700] doc/example.cpp, source/headers/geos/WKBReaderT.h,
+	  source/headers/geos/WKBWriterT.h, source/headers/geos/io.h,
+	  source/io/ByteOrderValues.cpp: Typedef'ed biostringstream,
+	  preferred parameter for
 	  WKB parser templates.
 	  Added << operator for biostringstream.
 	  Typedef'ed WKBWriter and WKBReader to be parametrized by
 	  biostringstream.
 	  Added WKBtest in doc/example.cpp
 
-2005-04-29 11:52  Sandro Santilli <strk at keybit.net>
-
-	* [r699] Added new JTS interfaces for CoordinateSequence and
-	  factories,
+2005-04-29 11:52  Sandro Santilli <strk at kbt.io>
+
+	* [r699] source/geom/CoordinateSequence.cpp,
+	  source/geom/DefaultCoordinateSequence.cpp,
+	  source/geom/DefaultCoordinateSequenceFactory.cpp,
+	  source/geom/Makefile.am, source/geom/PointCoordinateSequence.cpp,
+	  source/geom/PointCoordinateSequenceFactory.cpp,
+	  source/headers/geos/ByteOrderDataInStreamT.h,
+	  source/headers/geos/WKBReaderT.h,
+	  source/headers/geos/WKBWriterT.h, source/headers/geos/geom.h,
+	  source/headers/geos/io.h: Added new JTS interfaces for
+	  CoordinateSequence and factories,
 	  removed example implementations to reduce maintainance costs.
 	  Added first implementation of WKBWriter, made
 	  ByteOrderDataInStream
 	  a template class.
 
-2005-04-29 11:50  Sandro Santilli <strk at keybit.net>
+2005-04-29 11:50  Sandro Santilli <strk at kbt.io>
 
-	* [r698] Added machine byte order extractor
+	* [r698] source/headers/geos/platform.h.in: Added machine byte
+	  order extractor
 
-2005-04-21 15:13  Sandro Santilli <strk at keybit.net>
+2005-04-21 15:13  Sandro Santilli <strk at kbt.io>
 
-	* [r697] library version bumped to 3.0.0
+	* [r697] configure.in: library version bumped to 3.0.0
 
-2005-04-21 13:43  Sandro Santilli <strk at keybit.net>
+2005-04-21 13:43  Sandro Santilli <strk at kbt.io>
 
-	* [r696] Updated chage logs
+	* [r696] ChangeLog, NEWS: Updated chage logs
 
-2005-04-21 11:16  Sandro Santilli <strk at keybit.net>
+2005-04-21 11:16  Sandro Santilli <strk at kbt.io>
 
-	* [r695] Removed useless Coordinate copies in mergeZ() - patch by
-	  Safe Software
+	* [r695] source/operation/overlay/OverlayOp.cpp: Removed useless
+	  Coordinate copies in mergeZ() - patch by Safe Software
 
-2005-04-20 17:56  Sandro Santilli <strk at keybit.net>
+2005-04-20 17:56  Sandro Santilli <strk at kbt.io>
 
-	* [r694] Removed NonRobustCGAlgorithms and RobustCGAlgorithms,
-	  already
+	* [r694] source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp, source/geom/Makefile.am:
+	  Removed NonRobustCGAlgorithms and RobustCGAlgorithms, already
 	  unused (CGAlgorithms replaces both with robust implementation).
 
-2005-04-20 17:22  Sandro Santilli <strk at keybit.net>
+2005-04-20 17:22  Sandro Santilli <strk at kbt.io>
 
-	* [r693] Added initial implementation of WKBReaderT and
-	  ByteOrderDataInStreamT
+	* [r693] source/geom/Makefile.am,
+	  source/headers/geos/ByteOrderDataInStreamT.h,
+	  source/headers/geos/Makefile.am,
+	  source/headers/geos/WKBReaderT.h, source/headers/geos/geom.h,
+	  source/headers/geos/io.h, source/io/ByteOrderValues.cpp,
+	  source/io/WKBReader.cpp: Added initial implementation of
+	  WKBReaderT and ByteOrderDataInStreamT
 	  class templates and ByteOrderValues class.
 	  Work is unfinished as WKBReader requires new interface of
 	  CoordinateSequence
 	  taking higher dimensions into account.
 
-2005-04-20 17:18  Sandro Santilli <strk at keybit.net>
+2005-04-20 17:18  Sandro Santilli <strk at kbt.io>
 
-	* [r692] Added standard copyright header
+	* [r692] source/headers/geos.h: Added standard copyright header
 
-2005-04-19 11:49  Sandro Santilli <strk at keybit.net>
+2005-04-19 11:49  Sandro Santilli <strk at kbt.io>
 
-	* [r691] Fixed segfault in ::isEmpty
+	* [r691] source/geom/Point.cpp: Fixed segfault in ::isEmpty
 
-2005-04-14 11:49  Sandro Santilli <strk at keybit.net>
+2005-04-14 11:49  Sandro Santilli <strk at kbt.io>
 
-	* [r690] Applied slightly modified patch by Cheng Shan to speedup
-	  WKT parsing.
+	* [r690] source/headers/geos/io.h, source/io/StringTokenizer.cpp,
+	  source/io/WKTReader.cpp: Applied slightly modified patch by Cheng
+	  Shan to speedup WKT parsing.
 
-2005-04-07 18:43  Sandro Santilli <strk at keybit.net>
+2005-04-07 18:43  Sandro Santilli <strk at kbt.io>
 
-	* [r689] Fixed bug throwing an exception when a result could be
-	  returned instead
+	* [r689] source/operation/valid/IsValidOp.cpp: Fixed bug throwing
+	  an exception when a result could be returned instead
 	  (ported JTS patch)
 
-2005-04-06 11:09  Sandro Santilli <strk at keybit.net>
+2005-04-06 11:09  Sandro Santilli <strk at kbt.io>
 
-	* [r688] Applied patch from Jon Schlueter (math.h => cmath;
-	  ieeefp.h in "C" block)
+	* [r688] ChangeLog, ltmain.sh, source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/NonRobustLineIntersector.cpp,
+	  source/algorithm/RobustDeterminant.cpp,
+	  source/bigtest/GeometryTestFactory.cpp,
+	  source/geomgraph/DirectedEdge.cpp, source/geomgraph/EdgeEnd.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/headers/geos/platform.h.in,
+	  source/noding/snapround/SegmentSnapper.cpp,
+	  source/planargraph/planarDirectedEdge.cpp: Applied patch from Jon
+	  Schlueter (math.h => cmath; ieeefp.h in "C" block)
 
 2005-04-02 17:07  Sean Gillies <sgillies at frii.com>
 
-	* [r687] now supporting the win32 platform, thanks to Howard Butler
+	* [r687] swig/python/setup.py: now supporting the win32 platform,
+	  thanks to Howard Butler
 
-2005-03-26 08:19  Sandro Santilli <strk at keybit.net>
+2005-03-26 08:19  Sandro Santilli <strk at kbt.io>
 
-	* [r686] Commented out Polygonizer::LineStringAdder friendship
+	* [r686] source/headers/geos/opPolygonize.h: Commented out
+	  Polygonizer::LineStringAdder friendship
 
-2005-03-10 17:27  Sandro Santilli <strk at keybit.net>
+2005-03-10 17:27  Sandro Santilli <strk at kbt.io>
 
-	* [r685] ported from current JTS
+	* [r685] source/io/WKBReader.cpp: ported from current JTS
 
-2005-03-04 07:48  Sandro Santilli <strk at keybit.net>
+2005-03-04 07:48  Sandro Santilli <strk at kbt.io>
 
-	* [r684] Removed useless copy from ::isOnLine() - suggested by Dale
-	  Lutz
+	* [r684] source/algorithm/CGAlgorithms.cpp: Removed useless copy
+	  from ::isOnLine() - suggested by Dale Lutz
 
-2005-03-02 08:14  Sandro Santilli <strk at keybit.net>
+2005-03-02 08:14  Sandro Santilli <strk at kbt.io>
 
-	* [r683] Removed commented line, cousing strange behaviours with
-	  autotools.
+	* [r683] source/headers/Makefile.am: Removed commented line,
+	  cousing strange behaviours with autotools.
 
-2005-02-22 18:21  Sandro Santilli <strk at keybit.net>
+2005-02-22 18:21  Sandro Santilli <strk at kbt.io>
 
-	* [r682] Changed SegmentNode to contain a *real* Coordinate (not a
-	  pointer) to reduce
+	* [r682] source/headers/geos/noding.h,
+	  source/index/strtree/STRtree.cpp, source/noding/SegmentNode.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp: Changed SegmentNode to contain a
+	  *real* Coordinate (not a pointer) to reduce
 	  construction costs.
 
-2005-02-22 17:10  Sandro Santilli <strk at keybit.net>
+2005-02-22 17:10  Sandro Santilli <strk at kbt.io>
 
-	* [r681] Reduced CoordinateSequence::getSize() calls.
+	* [r681] source/geom/CoordinateSequence.cpp,
+	  source/geom/LineString.cpp, source/noding/MCQuadtreeNoder.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp: Reduced
+	  CoordinateSequence::getSize() calls.
 
-2005-02-22 16:24  Sandro Santilli <strk at keybit.net>
+2005-02-22 16:24  Sandro Santilli <strk at kbt.io>
 
-	* [r680] cached number of points in Edge
+	* [r680] source/geomgraph/Edge.cpp,
+	  source/headers/geos/geomgraph.h: cached number of points in Edge
 
-2005-02-22 16:23  Sandro Santilli <strk at keybit.net>
+2005-02-22 16:23  Sandro Santilli <strk at kbt.io>
 
-	* [r679] Cached number of points in CoordinateSequence.
+	* [r679] source/headers/geos/noding.h,
+	  source/noding/SegmentString.cpp: Cached number of points in
+	  CoordinateSequence.
 
-2005-02-22 15:49  Sandro Santilli <strk at keybit.net>
+2005-02-22 15:49  Sandro Santilli <strk at kbt.io>
 
-	* [r678] Reduced calls to DefaultCoordinateSequence->getSize().
+	* [r678] source/noding/SegmentString.cpp: Reduced calls to
+	  DefaultCoordinateSequence->getSize().
 
-2005-02-22 15:16  Sandro Santilli <strk at keybit.net>
+2005-02-22 15:16  Sandro Santilli <strk at kbt.io>
 
-	* [r677] STRtree::avg() and STRtree::centreY() inlined.
+	* [r677] source/headers/geos/indexStrtree.h,
+	  source/index/strtree/STRtree.cpp: STRtree::avg() and
+	  STRtree::centreY() inlined.
 
-2005-02-22 10:55  Sandro Santilli <strk at keybit.net>
+2005-02-22 10:55  Sandro Santilli <strk at kbt.io>
 
-	* [r676] Optimized Edge::equals(Edge *e)
+	* [r676] source/geomgraph/Edge.cpp: Optimized Edge::equals(Edge *e)
 
-2005-02-18 08:20  Sandro Santilli <strk at keybit.net>
+2005-02-18 08:20  Sandro Santilli <strk at kbt.io>
 
-	* [r675] Added support for point-per-quadrant argument in buffer
-	  tests (using arg2).
+	* [r675] source/test/XMLTester.cpp: Added support for
+	  point-per-quadrant argument in buffer tests (using arg2).
 
-2005-02-17 09:56  Sandro Santilli <strk at keybit.net>
+2005-02-17 09:56  Sandro Santilli <strk at kbt.io>
 
-	* [r674] Commented out unused variable.
+	* [r674] source/operation/buffer/OffsetCurveBuilder.cpp: Commented
+	  out unused variable.
 
-2005-02-17 09:56  Sandro Santilli <strk at keybit.net>
+2005-02-17 09:56  Sandro Santilli <strk at kbt.io>
 
-	* [r673] Applied patch from Jon Schlueter using <cmath> instead of
-	  <math.h>
+	* [r673] source/headers/geos/geom.h: Applied patch from Jon
+	  Schlueter using <cmath> instead of <math.h>
 
-2005-02-15 17:15  Sandro Santilli <strk at keybit.net>
+2005-02-15 17:15  Sandro Santilli <strk at kbt.io>
 
-	* [r672] Inlined most Envelope methods, reserved() memory for some
-	  vectors when
+	* [r672] source/algorithm/RobustLineIntersector.cpp,
+	  source/geom/Envelope.cpp, source/geom/LineSegment.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/indexChain.h,
+	  source/headers/geos/indexStrtree.h,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/noding/MCQuadtreeNoder.cpp: Inlined most Envelope methods,
+	  reserved() memory for some vectors when
 	  the usage was known a priori.
 
-2005-02-11 08:58  Sandro Santilli <strk at keybit.net>
+2005-02-11 08:58  Sandro Santilli <strk at kbt.io>
 
-	* [r671] Applied patch from Curtis Barrett handling --includedir
-	  and --libdir
+	* [r671] source/geom/Makefile.am, source/headers/Makefile.am,
+	  source/headers/geos/Makefile.am: Applied patch from Curtis
+	  Barrett handling --includedir and --libdir
 	  params for configure.
 
-2005-02-05 05:44  Sandro Santilli <strk at keybit.net>
-
-	* [r670] Changed geomgraph nodeMap to use Coordinate pointers as
-	  keys, reduces
+2005-02-05 05:44  Sandro Santilli <strk at kbt.io>
+
+	* [r670] source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/GeometryGraph.cpp, source/geomgraph/NodeMap.cpp,
+	  source/geomgraph/PlanarGraph.cpp, source/geomgraph/Quadrant.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/geomgraph.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/opRelate.h, source/headers/geos/operation.h,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/noding/MCQuadtreeNoder.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp, source/operation/IsSimpleOp.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/IsValidOp.cpp: Changed geomgraph nodeMap
+	  to use Coordinate pointers as keys, reduces
 	  lots of other Coordinate copies.
 
-2005-02-04 23:55  Sandro Santilli <strk at keybit.net>
+2005-02-04 23:55  Sandro Santilli <strk at kbt.io>
 
-	* [r669] Envelope destructor made non-virtual to give compiler more
-	  static
+	* [r669] source/headers/geos/geom.h: Envelope destructor made
+	  non-virtual to give compiler more static
 	  binding options.
 
-2005-02-04 18:49  Sandro Santilli <strk at keybit.net>
+2005-02-04 18:49  Sandro Santilli <strk at kbt.io>
 
-	* [r668] Changed ::computeDepths to use a set instead of a vector
-	  for checking
+	* [r668] source/headers/geos/opBuffer.h,
+	  source/operation/buffer/BufferSubgraph.cpp: Changed
+	  ::computeDepths to use a set instead of a vector for checking
 	  visited Edges.
 
-2005-02-04 14:49  Sandro Santilli <strk at keybit.net>
+2005-02-04 14:49  Sandro Santilli <strk at kbt.io>
 
-	* [r667] Added rule to build staticXMLTester (for profiling with
-	  gprof)
+	* [r667] source/test/Makefile.am: Added rule to build
+	  staticXMLTester (for profiling with gprof)
 
-2005-02-03 09:17  Sandro Santilli <strk at keybit.net>
+2005-02-03 09:17  Sandro Santilli <strk at kbt.io>
 
-	* [r666] more profiling label
+	* [r666] source/geom/CoordinateSequence.cpp: more profiling label
 
-2005-02-01 16:09  Sandro Santilli <strk at keybit.net>
+2005-02-01 16:09  Sandro Santilli <strk at kbt.io>
 
-	* [r665] more profiling labels
+	* [r665] source/noding/MCQuadtreeNoder.cpp,
+	  source/noding/Noder.cpp: more profiling labels
 
-2005-02-01 16:06  Sandro Santilli <strk at keybit.net>
+2005-02-01 16:06  Sandro Santilli <strk at kbt.io>
 
-	* [r664] Small optimizations.
+	* [r664] source/geom/Envelope.cpp,
+	  source/index/chain/indexMonotoneChain.cpp: Small optimizations.
 
-2005-02-01 14:18  Sandro Santilli <strk at keybit.net>
+2005-02-01 14:18  Sandro Santilli <strk at kbt.io>
 
-	* [r663] More profiler labels
+	* [r663] source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp: More profiler labels
 
-2005-02-01 14:18  Sandro Santilli <strk at keybit.net>
+2005-02-01 14:18  Sandro Santilli <strk at kbt.io>
 
-	* [r662] Made profiler start/stop inline
+	* [r662] source/headers/geos/profiler.h, source/util/Profiler.cpp:
+	  Made profiler start/stop inline
 
-2005-02-01 13:44  Sandro Santilli <strk at keybit.net>
+2005-02-01 13:44  Sandro Santilli <strk at kbt.io>
 
-	* [r661] More profiling labels.
+	* [r661] source/geom/LineSegment.cpp,
+	  source/geomgraph/EdgeList.cpp,
+	  source/index/chain/MonotoneChainOverlapAction.cpp,
+	  source/noding/IteratedNoder.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/util/Profiler.cpp: More profiling labels.
 
-2005-01-31 15:41  Sandro Santilli <strk at keybit.net>
+2005-01-31 15:41  Sandro Santilli <strk at kbt.io>
 
-	* [r660] Small optimizations.
+	* [r660] source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/noding/MCQuadtreeNoder.cpp: Small optimizations.
 
-2005-01-28 10:01  Sandro Santilli <strk at keybit.net>
+2005-01-28 10:01  Sandro Santilli <strk at kbt.io>
 
-	* [r659] substituted sprintf calls with use of ostringstream
+	* [r659] source/io/ParseException.cpp: substituted sprintf calls
+	  with use of ostringstream
 
-2005-01-28 09:47  Sandro Santilli <strk at keybit.net>
+2005-01-28 09:47  Sandro Santilli <strk at kbt.io>
 
-	* [r658] Replaced sprintf uses with ostringstream.
+	* [r658] source/examples/CustomPointCoordinateSequence.cpp,
+	  source/geom/Dimension.cpp, source/geom/Envelope.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/Location.cpp,
+	  source/geom/PointCoordinateSequence.cpp,
+	  source/geom/PrecisionModel.cpp, source/geomgraph/Depth.cpp,
+	  source/geomgraph/EdgeEnd.cpp,
+	  source/geomgraph/EdgeIntersection.cpp,
+	  source/geomgraph/Quadrant.cpp,
+	  source/geomgraph/index/SweepLineEvent.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/noding/SegmentNode.cpp,
+	  source/planargraph/planarDirectedEdge.cpp: Replaced sprintf uses
+	  with ostringstream.
 
-2005-01-28 08:47  Sandro Santilli <strk at keybit.net>
+2005-01-28 08:47  Sandro Santilli <strk at kbt.io>
 
-	* [r657] Removed sprintf usage, replaced with sstream
+	* [r657] source/geom/Coordinate.cpp: Removed sprintf usage,
+	  replaced with sstream
 
-2005-01-28 07:58  Sandro Santilli <strk at keybit.net>
+2005-01-28 07:58  Sandro Santilli <strk at kbt.io>
 
-	* [r656] removed sprintf usage, ad ::toString call
-	  Coordinate::toString
+	* [r656] source/geom/DefaultCoordinateSequence.cpp: removed sprintf
+	  usage, ad ::toString call Coordinate::toString
 
-2005-01-18 17:22  Sandro Santilli <strk at keybit.net>
+2005-01-18 17:22  Sandro Santilli <strk at kbt.io>
 
-	* [r655] reverted previous change, sign was actually stored in zgap
+	* [r655] source/algorithm/LineIntersector.cpp: reverted previous
+	  change, sign was actually stored in zgap
 
-2005-01-18 17:09  Sandro Santilli <strk at keybit.net>
+2005-01-18 17:09  Sandro Santilli <strk at kbt.io>
 
-	* [r654] Fixed interpolateZ call using final intersection point
-	  instead of HCoordinate.
+	* [r654] source/algorithm/RobustLineIntersector.cpp: Fixed
+	  interpolateZ call using final intersection point instead of
+	  HCoordinate.
 
-2005-01-14 08:04  Sandro Santilli <strk at keybit.net>
+2005-01-14 08:04  Sandro Santilli <strk at kbt.io>
 
-	* [r653] Fixed Z interpolation to use the correct sign
+	* [r653] source/algorithm/LineIntersector.cpp: Fixed Z
+	  interpolation to use the correct sign
 
-2005-01-03 16:06  Sandro Santilli <strk at keybit.net>
+2005-01-03 16:06  Sandro Santilli <strk at kbt.io>
 
-	* [r652] Changed polygonize op to return a GeometryCollection
+	* [r652] source/test/XMLTester.cpp: Changed polygonize op to return
+	  a GeometryCollection
 
-2005-01-03 15:56  Sandro Santilli <strk at keybit.net>
+2005-01-03 15:56  Sandro Santilli <strk at kbt.io>
 
-	* [r651] Fixed memory leaks just introduced for Polygonizer test
-	  case.
+	* [r651] source/test/XMLTester.cpp: Fixed memory leaks just
+	  introduced for Polygonizer test case.
 
-2005-01-03 15:49  Sandro Santilli <strk at keybit.net>
+2005-01-03 15:49  Sandro Santilli <strk at kbt.io>
 
-	* [r650] Added Polygonize test handling
+	* [r650] source/test/XMLTester.cpp: Added Polygonize test handling
 
-2004-12-30 13:32  Sandro Santilli <strk at keybit.net>
+2004-12-30 13:32  Sandro Santilli <strk at kbt.io>
 
-	* [r649] Handled NULL result from getCentroid()
+	* [r649] source/test/XMLTester.cpp: Handled NULL result from
+	  getCentroid()
 
-2004-12-30 13:31  Sandro Santilli <strk at keybit.net>
+2004-12-30 13:31  Sandro Santilli <strk at kbt.io>
 
-	* [r648] Fixed a segfault on EMPTYGEOM->getCeontroid()
+	* [r648] source/geom/Geometry.cpp: Fixed a segfault on
+	  EMPTYGEOM->getCeontroid()
 
-2004-12-30 10:14  Sandro Santilli <strk at keybit.net>
+2004-12-30 10:14  Sandro Santilli <strk at kbt.io>
 
-	* [r647] never return LinearRing or MultiLinearRing from
-	  getBoundary
+	* [r647] source/geom/Polygon.cpp: never return LinearRing or
+	  MultiLinearRing from getBoundary
 
-2004-12-30 10:14  Sandro Santilli <strk at keybit.net>
+2004-12-30 10:14  Sandro Santilli <strk at kbt.io>
 
-	* [r646] input checking and class promoting in
-	  createMultiLineString()
+	* [r646] source/geom/GeometryFactory.cpp: input checking and class
+	  promoting in createMultiLineString()
 
-2004-12-22 09:42  Sandro Santilli <strk at keybit.net>
+2004-12-22 09:42  Sandro Santilli <strk at kbt.io>
 
-	* [r645] Fixed a premature Geometry destruction, Avoided
-	  CoordinateSequence copies
+	* [r645] source/geom/util/GeometryEditor.cpp: Fixed a premature
+	  Geometry destruction, Avoided CoordinateSequence copies
 	  when possible.
 
 2004-12-16 18:29  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r644] Bumped minor version number for 2.1.1 release.
+	* [r644] configure.in: Bumped minor version number for 2.1.1
+	  release.
 
-2004-12-16 16:27  Sandro Santilli <strk at keybit.net>
+2004-12-16 16:27  Sandro Santilli <strk at kbt.io>
 
-	* [r643] Fixed LinearRing::clone() to return LinearRing instead of
+	* [r643] source/geom/LinearRing.cpp, source/headers/geos/geom.h:
+	  Fixed LinearRing::clone() to return LinearRing instead of
 	  LineString
 
-2004-12-16 16:08  Sandro Santilli <strk at keybit.net>
+2004-12-16 16:08  Sandro Santilli <strk at kbt.io>
 
-	* [r642] New patches from Niki Spahiev <niki.spahiev at gmail.com>
+	* [r642] swig/geos.i, swig/python/example.py: New patches from Niki
+	  Spahiev <niki.spahiev at gmail.com>
 	  (still unstable)
 
-2004-12-16 09:05  Sandro Santilli <strk at keybit.net>
+2004-12-16 09:05  Sandro Santilli <strk at kbt.io>
 
-	* [r641] Added python example by Niki Spahiev
-	  <niki.spahiev at gmail.com>
+	* [r641] swig/python/example.py: Added python example by Niki
+	  Spahiev <niki.spahiev at gmail.com>
 
-2004-12-16 08:56  Sandro Santilli <strk at keybit.net>
+2004-12-16 08:56  Sandro Santilli <strk at kbt.io>
 
-	* [r640] Applyed patches by Niki Spahiev <niki.spahiev at gmail.com>
+	* [r640] swig/geos.i: Applyed patches by Niki Spahiev
+	  <niki.spahiev at gmail.com>
 
-2004-12-14 10:35  Sandro Santilli <strk at keybit.net>
+2004-12-14 10:35  Sandro Santilli <strk at kbt.io>
 
-	* [r638] Comments cleanup. PolygonizeGraph keeps track of generated
-	  CoordinateSequence
+	* [r638] source/headers/geos/opPolygonize.h,
+	  source/headers/geos/planargraph.h,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/planargraph/planarDirectedEdge.cpp,
+	  source/planargraph/planarDirectedEdgeStar.cpp: Comments cleanup.
+	  PolygonizeGraph keeps track of generated CoordinateSequence
 	  for delayed destruction.
 
-2004-12-13 13:54  Sandro Santilli <strk at keybit.net>
+2004-12-13 13:54  Sandro Santilli <strk at kbt.io>
 
-	* [r637] Added a not about gcc 2.95.4 required friendship
+	* [r637] source/headers/geos/opPolygonize.h: Added a not about gcc
+	  2.95.4 required friendship
 
-2004-12-13 13:53  Sandro Santilli <strk at keybit.net>
+2004-12-13 13:53  Sandro Santilli <strk at kbt.io>
 
-	* [r636] Fixed uninitialized Coordinate.
+	* [r636] source/geom/TopologyException.cpp: Fixed uninitialized
+	  Coordinate.
 
-2004-12-12 17:22  Sandro Santilli <strk at keybit.net>
+2004-12-12 17:22  Sandro Santilli <strk at kbt.io>
 
-	* [r635] version.h and platform.h installed again (missed when
-	  removed from dist)
+	* [r635] source/headers/geos/Makefile.am: version.h and platform.h
+	  installed again (missed when removed from dist)
 
-2004-12-08 14:33  Sandro Santilli <strk at keybit.net>
+2004-12-08 14:33  Sandro Santilli <strk at kbt.io>
 
-	* [r634] Checked inner polys getBoundary return for the single
-	  LineString case.
+	* [r634] source/geom/MultiPolygon.cpp: Checked inner polys
+	  getBoundary return for the single LineString case.
 
-2004-12-08 14:32  Sandro Santilli <strk at keybit.net>
+2004-12-08 14:32  Sandro Santilli <strk at kbt.io>
 
-	* [r633] cleanups
+	* [r633] source/geom/GeometryCollection.cpp: cleanups
 
-2004-12-08 14:31  Sandro Santilli <strk at keybit.net>
+2004-12-08 14:31  Sandro Santilli <strk at kbt.io>
 
-	* [r632] adjusted getBoundary expected returns to match OGC specs
+	* [r632] source/test/testLeaksBig.xml: adjusted getBoundary
+	  expected returns to match OGC specs
 
-2004-12-08 14:31  Sandro Santilli <strk at keybit.net>
+2004-12-08 14:31  Sandro Santilli <strk at kbt.io>
 
-	* [r631] elevationMatrix deleted by destructor
+	* [r631] source/operation/overlay/OverlayOp.cpp: elevationMatrix
+	  deleted by destructor
 
-2004-12-08 14:30  Sandro Santilli <strk at keybit.net>
+2004-12-08 14:30  Sandro Santilli <strk at kbt.io>
 
-	* [r630] Added default profiler instance cleanup
+	* [r630] source/io/Unload.cpp: Added default profiler instance
+	  cleanup
 
-2004-12-08 13:54  Sandro Santilli <strk at keybit.net>
+2004-12-08 13:54  Sandro Santilli <strk at kbt.io>
 
-	* [r629] gcc warnings checked and fixed, general cleanups.
+	* [r629] doc/example.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/bigtest/GeometryTestFactory.cpp, source/geom/Polygon.cpp,
+	  source/geom/util/GeometryEditor.cpp,
+	  source/geomgraph/DirectedEdgeStar.cpp, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/Node.cpp, source/headers/geos/opBuffer.h,
+	  source/headers/geos/opOverlay.h,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/MonotoneChainOverlapAction.cpp,
+	  source/index/chain/MonotoneChainSelectAction.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/index/sweepline/SweepLineIndex.cpp,
+	  source/io/WKTReader.cpp, source/io/WKTWriter.cpp,
+	  source/noding/SegmentString.cpp,
+	  source/noding/snapround/SegmentSnapper.cpp,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/Polygonizer.cpp,
+	  source/operation/valid/IsValidOp.cpp, source/test/XMLTester.cpp,
+	  source/util/GeometricShapeFactory.cpp: gcc warnings checked and
+	  fixed, general cleanups.
 
-2004-12-06 10:54  Sandro Santilli <strk at keybit.net>
+2004-12-06 10:54  Sandro Santilli <strk at kbt.io>
 
-	* [r628] Added timeval.h in distribution.
+	* [r628] source/headers/geos/Makefile.am: Added timeval.h in
+	  distribution.
 
-2004-12-05 10:54  Sandro Santilli <strk at keybit.net>
+2004-12-05 10:54  Sandro Santilli <strk at kbt.io>
 
-	* [r627] initial revision
+	* [r627] VisualStudio, VisualStudio/.cvsignore: initial revision
 
-2004-12-05 10:50  Sandro Santilli <strk at keybit.net>
+2004-12-05 10:50  Sandro Santilli <strk at kbt.io>
 
-	* [r626] forgot to add
+	* [r626] VisualStudio/Makefile.am: forgot to add
 
-2004-12-05 10:48  Sandro Santilli <strk at keybit.net>
+2004-12-05 10:48  Sandro Santilli <strk at kbt.io>
 
-	* [r625] Modifications by Alex Bodnaru
+	* [r625] debian/control, debian/libgeos-doc.doc-base, debian/rules:
+	  Modifications by Alex Bodnaru
 
-2004-12-05 10:44  Sandro Santilli <strk at keybit.net>
+2004-12-05 10:44  Sandro Santilli <strk at kbt.io>
 
-	* [r624] Applied Norman Vine patches for cleaner win32 build.
+	* [r624] configure.in, doc/Makefile.am, source/bigtest/Makefile.am,
+	  source/examples/Makefile.am, source/test/Makefile.am: Applied
+	  Norman Vine patches for cleaner win32 build.
 
-2004-12-04 15:56  Sandro Santilli <strk at keybit.net>
+2004-12-04 15:56  Sandro Santilli <strk at kbt.io>
 
-	* [r623] Added source/Makefile.vc and
-	  source/headers/geos/platform.h.in in distribution
+	* [r623] source/Makefile.am, source/headers/geos/Makefile.am: Added
+	  source/Makefile.vc and source/headers/geos/platform.h.in in
+	  distribution
 
-2004-12-04 15:31  Sandro Santilli <strk at keybit.net>
+2004-12-04 15:31  Sandro Santilli <strk at kbt.io>
 
-	* [r622] Added VisualStudio dir in distribution, removed platform.h
-	  and version.h from it.
+	* [r622] Makefile.am, configure.in,
+	  source/headers/geos/Makefile.am: Added VisualStudio dir in
+	  distribution, removed platform.h and version.h from it.
 
 2004-12-04 01:20  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r621] removed dll delete
+	* [r621] source/Makefile.vc: removed dll delete
 
-2004-12-03 22:52  Sandro Santilli <strk at keybit.net>
+2004-12-03 22:52  Sandro Santilli <strk at kbt.io>
 
-	* [r620] enforced const return of CoordinateSequence::toVector()
-	  method to derivate classes.
+	* [r620] source/geom/CoordinateSequence.cpp,
+	  source/geom/DefaultCoordinateSequence.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/PointCoordinateSequence.cpp,
+	  source/headers/geos/geom.h, source/util/Profiler.cpp: enforced
+	  const return of CoordinateSequence::toVector() method to derivate
+	  classes.
 
 2004-12-03 16:26  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r619] added headers
+	* [r619] source/headers/geos/platform.h.vc: added headers
 
 2004-12-03 16:25  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r618] New
+	* [r618] source/Makefile.vc: New
 
 2004-12-03 16:22  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r617] update to use I64 on MSVC for 64 bit integer constants,
-	  also toVector chg.
+	* [r617] source/headers/geos/geom.h: update to use I64 on MSVC for
+	  64 bit integer constants, also toVector chg.
 
 2004-12-03 16:21  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r616] dont try for sys/time.h with MSVC
+	* [r616] source/headers/geos/profiler.h: dont try for sys/time.h
+	  with MSVC
 
 2004-12-03 16:19  Frank Warmerdam <warmerdam at pobox.com>
 
-	* [r615] New
+	* [r615] source/headers/geos/platform.h.vc: New
 
-2004-11-30 16:44  Sandro Santilli <strk at keybit.net>
+2004-11-30 16:44  Sandro Santilli <strk at kbt.io>
 
-	* [r614] Added gettimeofday implementation for win32, curtesy of Wu
-	  Yongwei.
+	* [r614] source/headers/geos/profiler.h,
+	  source/headers/geos/timeval.h: Added gettimeofday implementation
+	  for win32, curtesy of Wu Yongwei.
 
-2004-11-30 13:05  Sandro Santilli <strk at keybit.net>
+2004-11-30 13:05  Sandro Santilli <strk at kbt.io>
 
-	* [r613] Removed inclusion of stdio.h, which should now be useless.
+	* [r613] source/headers/geos/platform.h.in: Removed inclusion of
+	  stdio.h, which should now be useless.
 
-2004-11-30 13:04  Sandro Santilli <strk at keybit.net>
+2004-11-30 13:04  Sandro Santilli <strk at kbt.io>
 
-	* [r612] Added optional inclusion of ieeefp.h on platform providing
-	  it.
+	* [r612] configure.in, source/headers/geos/platform.h.in: Added
+	  optional inclusion of ieeefp.h on platform providing it.
 
-2004-11-29 16:05  Sandro Santilli <strk at keybit.net>
+2004-11-29 16:05  Sandro Santilli <strk at kbt.io>
 
-	* [r611] Fixed a bug in LineIntersector::interpolateZ causing NaN
-	  values
+	* [r611] source/algorithm/HCoordinate.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/geom/Coordinate.cpp, source/geomgraph/Node.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/platform.h.in,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/ElevationMatrixCell.cpp,
+	  source/operation/overlay/ElevationMatrixFilter.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp: Fixed a bug in
+	  LineIntersector::interpolateZ causing NaN values
 	  to come out.
 	  Handled dimensional collapses in ElevationMatrix.
 	  Added ISNAN macro and changed ISNAN/FINITE macros to avoid
 	  dispendious isnan() and finite() calls.
 
-2004-11-27 11:36  Sandro Santilli <strk at keybit.net>
+2004-11-27 11:36  Sandro Santilli <strk at kbt.io>
 
-	* [r610] Updated scripts by Alex Bodnaru, added Makefile
+	* [r610] debian/Makefile, debian/README.Debian, debian/changelog,
+	  debian/control, debian/libgeos-dev.install,
+	  debian/libgeos-dev.manpages, debian/rules, debian/shlibs.local:
+	  Updated scripts by Alex Bodnaru, added Makefile
 
-2004-11-26 09:53  Sandro Santilli <strk at keybit.net>
+2004-11-26 09:53  Sandro Santilli <strk at kbt.io>
 
-	* [r609] Added more FINITE calls, and added inf and -inf to FINITE
-	  checks
+	* [r609] source/algorithm/LineIntersector.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/geomgraph/Node.cpp, source/headers/geos/platform.h.in:
+	  Added more FINITE calls, and added inf and -inf to FINITE checks
 
-2004-11-26 09:22  Sandro Santilli <strk at keybit.net>
+2004-11-26 09:22  Sandro Santilli <strk at kbt.io>
 
-	* [r608] Added FINITE(x) macro and its use.
+	* [r608] source/headers/geos/platform.h.in,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/ElevationMatrixCell.cpp,
+	  source/operation/overlay/ElevationMatrixFilter.cpp,
+	  source/operation/overlay/OverlayOp.cpp: Added FINITE(x) macro and
+	  its use.
 	  Made input geoms average Z computation optional in OverlayOp.
 
-2004-11-24 18:10  Sandro Santilli <strk at keybit.net>
-
-	* [r607] Stricter handling of USE_ELEVATION_MATRIX define
-
-2004-11-24 18:10  Sandro Santilli <strk at keybit.net>
+2004-11-24 18:10  Sandro Santilli <strk at kbt.io>
 
-	* [r606] Cleanup of interpolateZ
+	* [r607] source/operation/overlay/OverlayOp.cpp: Stricter handling
+	  of USE_ELEVATION_MATRIX define
 
-2004-11-24 12:29  Sandro Santilli <strk at keybit.net>
+2004-11-24 18:10  Sandro Santilli <strk at kbt.io>
 
-	* [r605] Handled boundary cases in ::getCell
+	* [r606] source/algorithm/LineIntersector.cpp: Cleanup of
+	  interpolateZ
 
-2004-11-24 11:32  Sandro Santilli <strk at keybit.net>
+2004-11-24 12:29  Sandro Santilli <strk at kbt.io>
 
-	* [r604] Re-enabled Z propagation in output lines.
+	* [r605] source/operation/overlay/ElevationMatrix.cpp: Handled
+	  boundary cases in ::getCell
 
-2004-11-23 19:53  Sandro Santilli <strk at keybit.net>
+2004-11-24 11:32  Sandro Santilli <strk at kbt.io>
 
-	* [r603] Had LineIntersector compute Z by interpolation.
+	* [r604] source/operation/overlay/LineBuilder.cpp: Re-enabled Z
+	  propagation in output lines.
 
-2004-11-23 16:22  Sandro Santilli <strk at keybit.net>
+2004-11-23 19:53  Sandro Santilli <strk at kbt.io>
 
-	* [r602] Added ElevationMatrix class and components to do
-	  post-processing draping of overlayed geometries.
+	* [r603] source/algorithm/LineIntersector.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/geomgraph/Edge.cpp, source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/index/MonotoneChainEdge.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp: Had LineIntersector
+	  compute Z by interpolation.
 
-2004-11-22 15:51  Sandro Santilli <strk at keybit.net>
+2004-11-23 16:22  Sandro Santilli <strk at kbt.io>
 
-	* [r601] Added interpolation of containing geometry's average Z for
-	  point_in_poly case.
+	* [r602] source/geom/DefaultCoordinateSequence.cpp,
+	  source/geom/LineString.cpp, source/geom/Makefile.am,
+	  source/geom/Point.cpp, source/headers/geos/geom.h,
+	  source/headers/geos/opOverlay.h,
+	  source/operation/overlay/ElevationMatrix.cpp,
+	  source/operation/overlay/ElevationMatrixCell.cpp,
+	  source/operation/overlay/ElevationMatrixFilter.cpp,
+	  source/operation/overlay/OverlayOp.cpp: Added ElevationMatrix
+	  class and components to do post-processing draping of overlayed
+	  geometries.
 
-2004-11-22 13:02  Sandro Santilli <strk at keybit.net>
+2004-11-22 15:51  Sandro Santilli <strk at kbt.io>
 
-	* [r600] Fixed a bug in Collinear intersection Z computation
+	* [r601] source/headers/geos/opOverlay.h,
+	  source/operation/overlay/OverlayOp.cpp: Added interpolation of
+	  containing geometry's average Z for point_in_poly case.
 
-2004-11-22 13:02  Sandro Santilli <strk at keybit.net>
+2004-11-22 13:02  Sandro Santilli <strk at kbt.io>
 
-	* [r599] Forced use if computed intersection point in
-	  ::createSplitEdge (for Z computation)
+	* [r600] source/algorithm/RobustLineIntersector.cpp: Fixed a bug in
+	  Collinear intersection Z computation
 
-2004-11-22 12:59  Sandro Santilli <strk at keybit.net>
+2004-11-22 13:02  Sandro Santilli <strk at kbt.io>
 
-	* [r598] Added debugging lines
+	* [r599] source/geomgraph/EdgeIntersectionList.cpp: Forced use if
+	  computed intersection point in ::createSplitEdge (for Z
+	  computation)
 
-2004-11-22 11:34  Sandro Santilli <strk at keybit.net>
+2004-11-22 12:59  Sandro Santilli <strk at kbt.io>
 
-	* [r597] More debugging lines and comments/indentation cleanups
+	* [r598] source/geomgraph/Edge.cpp: Added debugging lines
 
-2004-11-22 11:34  Sandro Santilli <strk at keybit.net>
+2004-11-22 11:34  Sandro Santilli <strk at kbt.io>
 
-	* [r596] Added Z computation for CollinearIntersections
+	* [r597] source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/EdgeList.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/operation/overlay/OverlayOp.cpp: More debugging lines and
+	  comments/indentation cleanups
 
-2004-11-20 18:54  Sandro Santilli <strk at keybit.net>
+2004-11-22 11:34  Sandro Santilli <strk at kbt.io>
 
-	* [r595] Scripts updates from Alex Bodnaru
+	* [r596] source/algorithm/RobustLineIntersector.cpp: Added Z
+	  computation for CollinearIntersections
 
-2004-11-20 18:17  Sandro Santilli <strk at keybit.net>
+2004-11-20 18:54  Sandro Santilli <strk at kbt.io>
 
-	* [r594] Added Z propagation for overlay lines output.
+	* [r595] debian/README.Debian, debian/control,
+	  debian/libgeos-dev.install, debian/rules: Scripts updates from
+	  Alex Bodnaru
 
-2004-11-20 17:16  Sandro Santilli <strk at keybit.net>
+2004-11-20 18:17  Sandro Santilli <strk at kbt.io>
 
-	* [r593] Handled Z merging for point on polygon boundary case.
+	* [r594] source/headers/geos/opOverlay.h,
+	  source/operation/overlay/LineBuilder.cpp: Added Z propagation for
+	  overlay lines output.
 
-2004-11-20 16:25  Sandro Santilli <strk at keybit.net>
+2004-11-20 17:16  Sandro Santilli <strk at kbt.io>
 
-	* [r592] Added Z computation for point on line case.
+	* [r593] source/headers/geos/opOverlay.h,
+	  source/operation/overlay/OverlayOp.cpp: Handled Z merging for
+	  point on polygon boundary case.
 
-2004-11-20 15:46  Sandro Santilli <strk at keybit.net>
+2004-11-20 16:25  Sandro Santilli <strk at kbt.io>
 
-	* [r591] Added composing Z management functions and elements for
-	  class Node
+	* [r592] source/operation/overlay/OverlayOp.cpp: Added Z
+	  computation for point on line case.
 
-2004-11-20 15:45  Sandro Santilli <strk at keybit.net>
+2004-11-20 15:46  Sandro Santilli <strk at kbt.io>
 
-	* [r590] Fixed Z merging in addNode(Node *)
+	* [r591] source/headers/geos/geomgraph.h: Added composing Z
+	  management functions and elements for class Node
 
-2004-11-20 15:41  Sandro Santilli <strk at keybit.net>
+2004-11-20 15:45  Sandro Santilli <strk at kbt.io>
 
-	* [r589] Added Z merging in ::addNode
+	* [r590] source/geomgraph/NodeMap.cpp: Fixed Z merging in
+	  addNode(Node *)
 
-2004-11-20 15:41  Sandro Santilli <strk at keybit.net>
+2004-11-20 15:41  Sandro Santilli <strk at kbt.io>
 
-	* [r588] Added management of vector of composing Z values.
+	* [r589] source/geomgraph/NodeMap.cpp: Added Z merging in ::addNode
 
-2004-11-20 15:40  Sandro Santilli <strk at keybit.net>
+2004-11-20 15:41  Sandro Santilli <strk at kbt.io>
 
-	* [r587] Added Z computation in point-segment intersection.
+	* [r588] source/geomgraph/Node.cpp: Added management of vector of
+	  composing Z values.
 
-2004-11-20 15:39  Sandro Santilli <strk at keybit.net>
+2004-11-20 15:40  Sandro Santilli <strk at kbt.io>
 
-	* [r586] Reduced HEAP allocations.
+	* [r587] source/algorithm/RobustLineIntersector.cpp: Added Z
+	  computation in point-segment intersection.
 
-2004-11-19 16:35  Sandro Santilli <strk at keybit.net>
+2004-11-20 15:39  Sandro Santilli <strk at kbt.io>
 
-	* [r585] Added debian package builder scripts.
+	* [r586] source/algorithm/CGAlgorithms.cpp: Reduced HEAP
+	  allocations.
 
-2004-11-19 16:15  Sandro Santilli <strk at keybit.net>
+2004-11-19 16:35  Sandro Santilli <strk at kbt.io>
 
-	* [r584] Completely removed sprintf usage, substituted by
-	  stringstream.
+	* [r585] debian, debian/changelog, debian/compat, debian/control,
+	  debian/copyright, debian/geos-config.1, debian/libgeos-dev.dirs,
+	  debian/libgeos-dev.docs, debian/libgeos-dev.install,
+	  debian/libgeos-doc.doc-base, debian/libgeos-doc.docs,
+	  debian/libgeos.dirs, debian/libgeos.docs, debian/libgeos.install,
+	  debian/makedoc, debian/rules, debian/shlibs.local, debian/watch:
+	  Added debian package builder scripts.
 
-2004-11-19 16:09  Sandro Santilli <strk at keybit.net>
+2004-11-19 16:15  Sandro Santilli <strk at kbt.io>
 
-	* [r583] Added <stdio.h> include for sprintf recognition.
+	* [r584] source/index/quadtree/QuadTreeNode.cpp: Completely removed
+	  sprintf usage, substituted by stringstream.
 
-2004-11-19 10:10  Sandro Santilli <strk at keybit.net>
+2004-11-19 16:09  Sandro Santilli <strk at kbt.io>
 
-	* [r582] COMPUTE_Z re-enabled by default
+	* [r583] source/index/quadtree/QuadTreeNode.cpp: Added <stdio.h>
+	  include for sprintf recognition.
 
-2004-11-19 09:33  Sandro Santilli <strk at keybit.net>
+2004-11-19 10:10  Sandro Santilli <strk at kbt.io>
 
-	* [r581] removed useless CoordinateSequence copy in ::addLineString
+	* [r582] source/geomgraph/Node.cpp: COMPUTE_Z re-enabled by default
 
-2004-11-17 15:09  Sandro Santilli <strk at keybit.net>
+2004-11-19 09:33  Sandro Santilli <strk at kbt.io>
 
-	* [r580] Changed COMPUTE_Z defaults to be more conservative
+	* [r581] source/geomgraph/GeometryGraph.cpp: removed useless
+	  CoordinateSequence copy in ::addLineString
 
-2004-11-17 08:41  Sandro Santilli <strk at keybit.net>
+2004-11-17 15:09  Sandro Santilli <strk at kbt.io>
 
-	* [r579] Fixed a bug in Z computation and removed debugging output
-	  by default.
-
-2004-11-17 08:13  Sandro Santilli <strk at keybit.net>
-
-	* [r578] Indentation changes.
+	* [r580] source/algorithm/RobustLineIntersector.cpp,
+	  source/geomgraph/Node.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp: Changed COMPUTE_Z
+	  defaults to be more conservative
+
+2004-11-17 08:41  Sandro Santilli <strk at kbt.io>
+
+	* [r579] source/algorithm/RobustLineIntersector.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp: Fixed a bug in Z
+	  computation and removed debugging output by default.
+
+2004-11-17 08:13  Sandro Santilli <strk at kbt.io>
+
+	* [r578] source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/geom/Geometry.cpp, source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/Label.cpp, source/geomgraph/Node.cpp,
+	  source/geomgraph/PlanarGraph.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/geomgraph.h,
+	  source/headers/geos/indexQuadtree.h,
+	  source/headers/geos/operation.h,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp: Indentation changes.
 	  Some Z_COMPUTATION activated by default.
 
-2004-11-12 18:12  Sandro Santilli <strk at keybit.net>
+2004-11-12 18:12  Sandro Santilli <strk at kbt.io>
 
-	* [r576] Changed ::getBoundary() to return LineString if polygon
-	  has no holes.
+	* [r576] source/geom/Polygon.cpp: Changed ::getBoundary() to return
+	  LineString if polygon has no holes.
 	  (has required to pass OGC conformance test T20)
 
-2004-11-09 20:22  Sandro Santilli <strk at keybit.net>
+2004-11-09 20:22  Sandro Santilli <strk at kbt.io>
 
-	* [r575] Removed -g -O2 from geos-config --cflags output
+	* [r575] tools/geos-config.in: Removed -g -O2 from geos-config
+	  --cflags output
 
-2004-11-08 18:33  Sandro Santilli <strk at keybit.net>
+2004-11-08 18:33  Sandro Santilli <strk at kbt.io>
 
-	* [r574] Just another small improvement.
+	* [r574] source/index/strtree/STRtree.cpp: Just another small
+	  improvement.
 
-2004-11-08 15:58  Sandro Santilli <strk at keybit.net>
+2004-11-08 15:58  Sandro Santilli <strk at kbt.io>
 
-	* [r573] More performance tuning.
+	* [r573] source/headers/geos/indexStrtree.h,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/noding/MCQuadtreeNoder.cpp,
+	  source/operation/buffer/BufferOp.cpp: More performance tuning.
 
-2004-11-08 13:12  Sandro Santilli <strk at keybit.net>
+2004-11-08 13:12  Sandro Santilli <strk at kbt.io>
 
-	* [r572] Added profiler.h
+	* [r572] source/headers/geos/Makefile.am: Added profiler.h
 
-2004-11-08 12:15  Sandro Santilli <strk at keybit.net>
+2004-11-08 12:15  Sandro Santilli <strk at kbt.io>
 
-	* [r571] Added number of gathered timings in output.
+	* [r571] source/util/Profiler.cpp: Added number of gathered timings
+	  in output.
 
-2004-11-08 11:19  Sandro Santilli <strk at keybit.net>
+2004-11-08 11:19  Sandro Santilli <strk at kbt.io>
 
-	* [r570] Profiler::get() always return a Profile (new if not
-	  existant).
+	* [r570] source/util/Profiler.cpp: Profiler::get() always return a
+	  Profile (new if not existant).
 
-2004-11-08 10:58  Sandro Santilli <strk at keybit.net>
+2004-11-08 10:58  Sandro Santilli <strk at kbt.io>
 
-	* [r569] Optimized the ::intersect function to avoid nested
-	  function calls.
+	* [r569] source/geom/Envelope.cpp: Optimized the ::intersect
+	  function to avoid nested function calls.
 
-2004-11-08 10:57  Sandro Santilli <strk at keybit.net>
+2004-11-08 10:57  Sandro Santilli <strk at kbt.io>
 
-	* [r568] Moved Log lines at the bottom, and cut oldest
+	* [r568] source/headers/geos/geom.h: Moved Log lines at the bottom,
+	  and cut oldest
 
-2004-11-06 08:16  Sandro Santilli <strk at keybit.net>
+2004-11-06 08:16  Sandro Santilli <strk at kbt.io>
 
-	* [r567] Fixed CGAlgorithms::isCCW from JTS port.
+	* [r567] source/algorithm/CGAlgorithms.cpp,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/operation/valid/IsValidOp.cpp: Fixed CGAlgorithms::isCCW
+	  from JTS port.
 	  Code cleanup in IsValidOp.
 
-2004-11-05 12:18  Sandro Santilli <strk at keybit.net>
+2004-11-05 12:18  Sandro Santilli <strk at kbt.io>
 
-	* [r566] updated
+	* [r566] TODO: updated
 
-2004-11-05 11:41  Sandro Santilli <strk at keybit.net>
+2004-11-05 11:41  Sandro Santilli <strk at kbt.io>
 
-	* [r565] Made IsValidOp handle IllegalArgumentException throw from
+	* [r565] source/algorithm/CGAlgorithms.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/headers/geos/opValid.h,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/TopologyValidationError.cpp: Made
+	  IsValidOp handle IllegalArgumentException throw from
 	  GeometryGraph
 	  as a sign of invalidity (just for Polygon geometries).
 	  Removed leaks generated by this specific exception.
 
-2004-11-04 19:08  Sandro Santilli <strk at keybit.net>
-
-	* [r564] Cleanups, initializers list, profiling.
+2004-11-04 19:08  Sandro Santilli <strk at kbt.io>
+
+	* [r564] source/algorithm/MinimumDiameter.cpp,
+	  source/geom/CoordinateSequence.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/headers/geos/indexChain.h,
+	  source/headers/geos/indexStrtree.h, source/headers/geos/noding.h,
+	  source/headers/geos/opBuffer.h,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/noding/IteratedNoder.cpp,
+	  source/noding/MCQuadtreeNoder.cpp, source/noding/Noder.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/test/XMLTester.cpp: Cleanups, initializers list,
+	  profiling.
 
-2004-11-04 08:49  Sandro Santilli <strk at keybit.net>
+2004-11-04 08:49  Sandro Santilli <strk at kbt.io>
 
-	* [r563] Unlinked new documentation.
+	* [r563] source/headers/geos/indexQuadtree.h,
+	  source/headers/geos/profiler.h,
+	  source/index/quadtree/DoubleBits.cpp: Unlinked new documentation.
 
-2004-11-03 08:22  Sandro Santilli <strk at keybit.net>
+2004-11-03 08:22  Sandro Santilli <strk at kbt.io>
 
-	* [r562] Slightly modified log/log2 based algo to better handle
-	  numbers in the
+	* [r562] source/index/quadtree/DoubleBits.cpp: Slightly modified
+	  log/log2 based algo to better handle numbers in the
 	  range 0-1.
 
-2004-11-02 16:38  Sandro Santilli <strk at keybit.net>
+2004-11-02 16:38  Sandro Santilli <strk at kbt.io>
 
-	* [r561] Fixed ieee-754 detection switch
+	* [r561] source/headers/geos/indexQuadtree.h: Fixed ieee-754
+	  detection switch
 
-2004-11-02 16:31  Sandro Santilli <strk at keybit.net>
+2004-11-02 16:31  Sandro Santilli <strk at kbt.io>
 
-	* [r560] updated
+	* [r560] TODO: updated
 
-2004-11-02 16:05  Sandro Santilli <strk at keybit.net>
+2004-11-02 16:05  Sandro Santilli <strk at kbt.io>
 
-	* [r559] Autodetect availability of IEEE-754 FP
+	* [r559] source/headers/geos/indexQuadtree.h: Autodetect
+	  availability of IEEE-754 FP
 
-2004-11-02 15:49  Sandro Santilli <strk at keybit.net>
+2004-11-02 15:49  Sandro Santilli <strk at kbt.io>
 
-	* [r558] Moved ASSUME_IEEE_DOUBLE define from DoubleBits.cpp to
-	  indexQuadtree.h.
+	* [r558] source/headers/geos/indexQuadtree.h,
+	  source/index/quadtree/DoubleBits.cpp: Moved ASSUME_IEEE_DOUBLE
+	  define from DoubleBits.cpp to indexQuadtree.h.
 	  Fixed a bug in powerOf2(). Made the !IEEE version less prone to
 	  round-offs (still has approximation errors).
 
-2004-11-02 14:13  Sandro Santilli <strk at keybit.net>
+2004-11-02 14:13  Sandro Santilli <strk at kbt.io>
 
-	* [r557] Fixed bug in IEEE-based exponent and PowerOf2 computation,
-	  but disabled
+	* [r557] source/index/quadtree/DoubleBits.cpp: Fixed bug in
+	  IEEE-based exponent and PowerOf2 computation, but disabled
 	  at compile time.
 
-2004-11-02 14:11  Sandro Santilli <strk at keybit.net>
-
-	* [r556] Added more profiling.
-
-2004-11-02 09:38  Sandro Santilli <strk at keybit.net>
-
-	* [r555] Added timer for buffer test.
-
-2004-11-01 16:43  Sandro Santilli <strk at keybit.net>
-
-	* [r554] Added Profiler code.
+2004-11-02 14:11  Sandro Santilli <strk at kbt.io>
+
+	* [r556] source/noding/MCQuadtreeNoder.cpp: Added more profiling.
+
+2004-11-02 09:38  Sandro Santilli <strk at kbt.io>
+
+	* [r555] source/test/XMLTester.cpp: Added timer for buffer test.
+
+2004-11-01 16:43  Sandro Santilli <strk at kbt.io>
+
+	* [r554] source/geom/Coordinate.cpp, source/geom/Envelope.cpp,
+	  source/geom/Makefile.am, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeEndStar.cpp, source/geomgraph/EdgeList.cpp,
+	  source/geomgraph/PlanarGraph.cpp,
+	  source/headers/geos/indexQuadtree.h,
+	  source/headers/geos/noding.h, source/headers/geos/opBuffer.h,
+	  source/headers/geos/profiler.h, source/headers/geos/util.h,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/index/quadtree/QuadTreeKey.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/noding/IteratedNoder.cpp,
+	  source/noding/MCQuadtreeNoder.cpp, source/noding/Noder.cpp,
+	  source/noding/NodingValidator.cpp, source/noding/SegmentNode.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp,
+	  source/noding/nodingSegmentIntersector.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp, source/util/Profiler.cpp:
+	  Added Profiler code.
 	  Temporarly patched a bug in DoubleBits (must check drawbacks).
 	  Various cleanups and speedups.
 
-2004-10-27 13:57  Sandro Santilli <strk at keybit.net>
+2004-10-27 13:57  Sandro Santilli <strk at kbt.io>
 
-	* [r553] Added some debugging lines (disabled by default)
+	* [r553] source/operation/polygonize/Polygonizer.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp: Added some
+	  debugging lines (disabled by default)
 
-2004-10-27 11:05  Sandro Santilli <strk at keybit.net>
+2004-10-27 11:05  Sandro Santilli <strk at kbt.io>
 
-	* [r552] updated
+	* [r552] TODO: updated
 
-2004-10-26 17:46  Sandro Santilli <strk at keybit.net>
+2004-10-26 17:46  Sandro Santilli <strk at kbt.io>
 
-	* [r551] Removed slash-stars in comments to remove annoying
-	  compiler warnings.
+	* [r551] source/headers/geos/indexBintree.h,
+	  source/headers/geos/indexChain.h,
+	  source/headers/geos/indexStrtree.h,
+	  source/headers/geos/spatialIndex.h: Removed slash-stars in
+	  comments to remove annoying compiler warnings.
 
-2004-10-26 17:14  Sandro Santilli <strk at keybit.net>
+2004-10-26 17:14  Sandro Santilli <strk at kbt.io>
 
-	* [r550] current:revision:age set to 3.0.1 (will be release 2.1.0).
+	* [r550] NEWS, configure.in: current:revision:age set to 3.0.1
+	  (will be release 2.1.0).
 	  added news.
 
-2004-10-26 16:22  Sandro Santilli <strk at keybit.net>
+2004-10-26 16:22  Sandro Santilli <strk at kbt.io>
 
-	* [r549] updated
+	* [r549] TODO: updated
 
-2004-10-26 16:09  Sandro Santilli <strk at keybit.net>
+2004-10-26 16:09  Sandro Santilli <strk at kbt.io>
 
-	* [r548] Some more intentation and envelope equality check fix.
+	* [r548] source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/Polygonizer.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp: Some more
+	  intentation and envelope equality check fix.
 
-2004-10-21 22:29  Sandro Santilli <strk at keybit.net>
+2004-10-21 22:29  Sandro Santilli <strk at kbt.io>
 
-	* [r547] Indentation changes and some more COMPUTE_Z rules
-
-2004-10-21 17:13  Sandro Santilli <strk at keybit.net>
-
-	* [r546] Fixed bug introduced by previous patch.
-
-2004-10-21 07:03  Sandro Santilli <strk at keybit.net>
-
-	* [r545] Removed leak in ::readPolygonText reported by Carlos A.
-	  Rueda
-
-2004-10-20 17:32  Sandro Santilli <strk at keybit.net>
-
-	* [r544] Initial approach to 2.5d intersection()
-
-2004-10-19 21:04  Sandro Santilli <strk at keybit.net>
+	* [r547] source/algorithm/LineIntersector.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/geom/Coordinate.cpp, source/geomgraph/EdgeEnd.cpp,
+	  source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/GeometryGraph.cpp, source/geomgraph/Node.cpp,
+	  source/geomgraph/NodeMap.cpp, source/geomgraph/PlanarGraph.cpp,
+	  source/headers/geos/geomgraph.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/opOverlay.h, source/io/WKTWriter.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp: Indentation changes
+	  and some more COMPUTE_Z rules
 
-	* [r543] updated
+2004-10-21 17:13  Sandro Santilli <strk at kbt.io>
 
-2004-10-19 19:51  Sandro Santilli <strk at keybit.net>
+	* [r546] source/io/WKTReader.cpp: Fixed bug introduced by previous
+	  patch.
 
-	* [r542] Fixed many leaks and bugs in Polygonizer.
+2004-10-21 07:03  Sandro Santilli <strk at kbt.io>
+
+	* [r545] source/io/WKTReader.cpp: Removed leak in ::readPolygonText
+	  reported by Carlos A. Rueda
+
+2004-10-20 17:32  Sandro Santilli <strk at kbt.io>
+
+	* [r544] source/algorithm/HCoordinate.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/PlanarGraph.cpp,
+	  source/geomgraph/index/MonotoneChain.cpp,
+	  source/geomgraph/index/MonotoneChainEdge.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/io/WKTWriter.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp: Initial approach to
+	  2.5d intersection()
+
+2004-10-19 21:04  Sandro Santilli <strk at kbt.io>
+
+	* [r543] TODO: updated
+
+2004-10-19 19:51  Sandro Santilli <strk at kbt.io>
+
+	* [r542] source/geomgraph/GeometryGraph.cpp,
+	  source/headers/geos/opPolygonize.h,
+	  source/headers/geos/planargraph.h,
+	  source/operation/polygonize/PolygonizeDirectedEdge.cpp,
+	  source/operation/polygonize/PolygonizeEdge.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/Polygonizer.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/planargraph/planarDirectedEdge.cpp,
+	  source/planargraph/planarNode.cpp,
+	  source/planargraph/planarNodeMap.cpp: Fixed many leaks and bugs
+	  in Polygonizer.
 	  Output still bogus.
 
-2004-10-18 12:43  Sandro Santilli <strk at keybit.net>
+2004-10-18 12:43  Sandro Santilli <strk at kbt.io>
 
-	* [r541] swig interface added to distribution.
-
-2004-10-13 10:03  Sandro Santilli <strk at keybit.net>
+	* [r541] Makefile.am, configure.in, swig, swig/.cvsignore,
+	  swig/Makefile.am, swig/python, swig/python/.cvsignore,
+	  swig/python/Makefile.am, swig/python/tests,
+	  swig/python/tests/.cvsignore, swig/python/tests/Makefile.am,
+	  swig/python/tests/cases, swig/python/tests/cases/.cvsignore,
+	  swig/python/tests/cases/Makefile.am: swig interface added to
+	  distribution.
 
-	* [r540] Added missing linemerge and polygonize operation.
+2004-10-13 10:03  Sandro Santilli <strk at kbt.io>
+
+	* [r540] doc/example.cpp, source/geom/CoordinateSequence.cpp,
+	  source/geom/Makefile.am, source/geomgraph/PlanarGraph.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/opLinemerge.h,
+	  source/headers/geos/opPolygonize.h,
+	  source/headers/geos/planargraph.h, source/io/Unload.cpp,
+	  source/operation/linemerge/EdgeString.cpp,
+	  source/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  source/operation/linemerge/LineMergeEdge.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/operation/polygonize/PolygonizeDirectedEdge.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp,
+	  source/planargraph/planarDirectedEdge.cpp,
+	  source/planargraph/planarDirectedEdgeStar.cpp,
+	  source/planargraph/planarEdge.cpp,
+	  source/planargraph/planarGraphComponent.cpp,
+	  source/planargraph/planarNode.cpp,
+	  source/planargraph/planarNodeMap.cpp,
+	  source/planargraph/planarPlanarGraph.cpp: Added missing linemerge
+	  and polygonize operation.
 	  Bug fixes and leaks removal from the newly added modules and
 	  planargraph (used by them).
 	  Some comments and indentation changes.
 
-2004-09-23 21:36  Sandro Santilli <strk at keybit.net>
+2004-09-23 21:36  Sandro Santilli <strk at kbt.io>
 
-	* [r539] Fixed a bug in ::reverse (thanks to Elliott Edwards)
+	* [r539] source/geom/CoordinateSequence.cpp: Fixed a bug in
+	  ::reverse (thanks to Elliott Edwards)
 
 2004-09-23 21:28  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r538] Back minor version back to 2.0.1
+	* [r538] configure.in: Back minor version back to 2.0.1
 
 2004-09-23 04:30  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r537] Bumped minor version to 2.0.2 after 2.0.1 release.
+	* [r537] configure.in: Bumped minor version to 2.0.2 after 2.0.1
+	  release.
 
-2004-09-21 09:47  Sandro Santilli <strk at keybit.net>
+2004-09-21 09:47  Sandro Santilli <strk at kbt.io>
 
-	* [r536] fixed a mis-initialization bug in ::reduce
+	* [r536] source/precision/SimpleGeometryPrecisionReducer.cpp: fixed
+	  a mis-initialization bug in ::reduce
 
-2004-09-21 09:47  Sandro Santilli <strk at keybit.net>
+2004-09-21 09:47  Sandro Santilli <strk at kbt.io>
 
-	* [r535] Removed useless auto_ptr usage in ::exponent
+	* [r535] source/index/quadtree/DoubleBits.cpp: Removed useless
+	  auto_ptr usage in ::exponent
 
-2004-09-16 09:50  Sandro Santilli <strk at keybit.net>
+2004-09-16 09:50  Sandro Santilli <strk at kbt.io>
 
-	* [r534] updated
+	* [r534] TODO: updated
 
-2004-09-16 09:48  Sandro Santilli <strk at keybit.net>
+2004-09-16 09:48  Sandro Santilli <strk at kbt.io>
 
-	* [r533] Finer short-circuit tests for equals, within, contains.
+	* [r533] source/geom/Geometry.cpp: Finer short-circuit tests for
+	  equals, within, contains.
 
-2004-09-16 09:48  Sandro Santilli <strk at keybit.net>
+2004-09-16 09:48  Sandro Santilli <strk at kbt.io>
 
-	* [r532] Added Envelope::equals
+	* [r532] source/geom/Envelope.cpp, source/headers/geos/geom.h:
+	  Added Envelope::equals
 
-2004-09-16 07:32  Sandro Santilli <strk at keybit.net>
+2004-09-16 07:32  Sandro Santilli <strk at kbt.io>
 
-	* [r531] updated
+	* [r531] TODO: updated
 
-2004-09-16 07:32  Sandro Santilli <strk at keybit.net>
+2004-09-16 07:32  Sandro Santilli <strk at kbt.io>
 
-	* [r530] Added short-circuit tests. Can be disabled at compile-time
+	* [r530] source/geom/Geometry.cpp: Added short-circuit tests. Can
+	  be disabled at compile-time
 
-2004-09-13 12:50  Sandro Santilli <strk at keybit.net>
+2004-09-13 12:50  Sandro Santilli <strk at kbt.io>
 
-	* [r529] comments cleanup
+	* [r529] source/operation/valid/IsValidOp.cpp: comments cleanup
 
-2004-09-13 12:40  Sandro Santilli <strk at keybit.net>
+2004-09-13 12:40  Sandro Santilli <strk at kbt.io>
 
-	* [r528] updated
+	* [r528] TODO: updated
 
-2004-09-13 12:40  Sandro Santilli <strk at keybit.net>
+2004-09-13 12:40  Sandro Santilli <strk at kbt.io>
 
-	* [r527] Updated version number
+	* [r527] configure.in: Updated version number
 
-2004-09-13 12:39  Sandro Santilli <strk at keybit.net>
+2004-09-13 12:39  Sandro Santilli <strk at kbt.io>
 
-	* [r526] Added missing newline at end of output
+	* [r526] source/test/XMLTester.cpp: Added missing newline at end of
+	  output
 
-2004-09-13 12:39  Sandro Santilli <strk at keybit.net>
+2004-09-13 12:39  Sandro Santilli <strk at kbt.io>
 
-	* [r525] Made Point and MultiPoint subject to Validity tests.
+	* [r525] source/geom/MultiPoint.cpp, source/geom/Point.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/opValid.h,
+	  source/operation/valid/IsValidOp.cpp: Made Point and MultiPoint
+	  subject to Validity tests.
 
-2004-09-13 10:14  Sandro Santilli <strk at keybit.net>
+2004-09-13 10:14  Sandro Santilli <strk at kbt.io>
 
-	* [r524] Added INVALID_COORDINATE code num and error message.
+	* [r524] source/operation/valid/TopologyValidationError.cpp: Added
+	  INVALID_COORDINATE code num and error message.
 
-2004-09-13 10:12  Sandro Santilli <strk at keybit.net>
+2004-09-13 10:12  Sandro Santilli <strk at kbt.io>
 
-	* [r523] Added invalid coordinates checks in IsValidOp.
+	* [r523] TODO, source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/opValid.h,
+	  source/operation/valid/IsValidOp.cpp: Added invalid coordinates
+	  checks in IsValidOp.
 	  Cleanups.
 
-2004-09-13 09:18  Sandro Santilli <strk at keybit.net>
+2004-09-13 09:18  Sandro Santilli <strk at kbt.io>
 
-	* [r522] Added IsValidOp::isValid(Coordinate &)
+	* [r522] source/headers/geos/opValid.h,
+	  source/operation/valid/IsValidOp.cpp: Added
+	  IsValidOp::isValid(Coordinate &)
 
-2004-09-13 09:07  Sandro Santilli <strk at keybit.net>
+2004-09-13 09:07  Sandro Santilli <strk at kbt.io>
 
-	* [r521] Ported fix in LineString::isCoordinate
+	* [r521] source/geom/LineString.cpp: Ported fix in
+	  LineString::isCoordinate
 
 2004-09-12 03:51  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r520] Casting changes to allow OS/X compilation.
+	* [r520] source/geom/LineString.cpp,
+	  source/geom/MultiLineString.cpp, source/geom/MultiPoint.cpp:
+	  Casting changes to allow OS/X compilation.
 
-2004-09-07 08:29  Sandro Santilli <strk at keybit.net>
+2004-09-07 08:29  Sandro Santilli <strk at kbt.io>
 
-	* [r519] Fixed doxygen malformed comment for Coordinate class
+	* [r519] source/headers/geos/geom.h: Fixed doxygen malformed
+	  comment for Coordinate class
 
 2004-08-20 03:20  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r517] Added reference to bigtest.h so 'make dist' includes it
-	  properly.
+	* [r517] source/bigtest/Makefile.am: Added reference to bigtest.h
+	  so 'make dist' includes it properly.
 
 2004-08-20 01:55  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r516] Removed examples from build directories for release (they
-	  don't build now).
-
-2004-08-04 08:26  Sandro Santilli <strk at keybit.net>
-
-	* [r515] comments lift, stack allocation reduced
-
-2004-07-27 16:35  Sandro Santilli <strk at keybit.net>
-
-	* [r514] Geometry::getEnvelopeInternal() changed to return a const
+	* [r516] configure.in: Removed examples from build directories for
+	  release (they don't build now).
+
+2004-08-04 08:26  Sandro Santilli <strk at kbt.io>
+
+	* [r515] source/operation/relate/RelateComputer.cpp: comments lift,
+	  stack allocation reduced
+
+2004-07-27 16:35  Sandro Santilli <strk at kbt.io>
+
+	* [r514] source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/Polygon.cpp,
+	  source/geomgraph/EdgeRing.cpp, source/headers/geos/geom.h,
+	  source/headers/geos/indexQuadtree.h,
+	  source/headers/geos/indexStrtree.h,
+	  source/headers/geos/opRelate.h,
+	  source/headers/geos/spatialIndex.h,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/ItemBoundable.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp:
+	  Geometry::getEnvelopeInternal() changed to return a const
 	  Envelope *.
 	  This should reduce object copies as once computed the envelope of
 	  a
@@ -14902,330 +26468,535 @@
 
 2004-07-26 19:28  Sean Gillies <sgillies at frii.com>
 
-	* [r513] added to AUTHORS
+	* [r513] AUTHORS: added to AUTHORS
 
 2004-07-26 18:53  Sean Gillies <sgillies at frii.com>
 
-	* [r512] added simple exception handling on all method calls
+	* [r512] swig/geos.i, swig/python/tests/cases/pointtest.py,
+	  swig/python/tests/cases/wkttest.py: added simple exception
+	  handling on all method calls
 
-2004-07-26 16:35  Sandro Santilli <strk at keybit.net>
+2004-07-26 16:35  Sandro Santilli <strk at kbt.io>
 
-	* [r511] Removed dangling MultiPoint::isClosed() method definition.
+	* [r511] source/headers/geos/geom.h: Removed dangling
+	  MultiPoint::isClosed() method definition.
 
 2004-07-26 15:40  Sean Gillies <sgillies at frii.com>
 
-	* [r510] wrapped up WKT reader and writer and added two test cases
-	  to check that it works. found a bug where the WKT reader crashes
-	  the program in the case of poorly formatted WKT string.
+	* [r510] swig/geos.i, swig/python/setup.py,
+	  swig/python/tests/cases/wkttest.py,
+	  swig/python/tests/runtests.py: wrapped up WKT reader and writer
+	  and added two test cases to check that it works. found a bug
+	  where the WKT reader crashes the program in the case of poorly
+	  formatted WKT string.
 
 2004-07-25 23:45  Sean Gillies <sgillies at frii.com>
 
-	* [r509] SWIG interface for high level language modules, Python
-	  setup script, and beginning of a unit testing framework under
-	  swig/python/tests. The build works for today's CVS GEOS, and the
-	  test passes -- means that a module can be built, installed, and
-	  imported.
-
-2004-07-22 16:58  Sandro Santilli <strk at keybit.net>
-
-	* [r508] runtime version extractor functions split. geos::version()
-	  is now
+	* [r509] swig, swig/README.txt, swig/geos.i, swig/python,
+	  swig/python/README.txt, swig/python/setup.py, swig/python/tests,
+	  swig/python/tests/TESTING.txt, swig/python/tests/cases,
+	  swig/python/tests/cases/__init__.py,
+	  swig/python/tests/cases/pointtest.py,
+	  swig/python/tests/cases/testing.py,
+	  swig/python/tests/runtests.py: SWIG interface for high level
+	  language modules, Python setup script, and beginning of a unit
+	  testing framework under swig/python/tests. The build works for
+	  today's CVS GEOS, and the test passes -- means that a module can
+	  be built, installed, and imported.
+
+2004-07-22 16:58  Sandro Santilli <strk at kbt.io>
+
+	* [r508] TODO, doc/example.cpp, source/geom/Geometry.cpp,
+	  source/headers/geos/geom.h: runtime version extractor functions
+	  split. geos::version() is now
 	  geos::geosversion() and geos::jtsport()
 
-2004-07-22 08:45  Sandro Santilli <strk at keybit.net>
+2004-07-22 08:45  Sandro Santilli <strk at kbt.io>
 
-	* [r507] Documentation updates, memory leaks fixed.
+	* [r507] TODO, source/geom/GeometryCollection.cpp,
+	  source/geom/LineString.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/headers/geos/geom.h:
+	  Documentation updates, memory leaks fixed.
 
-2004-07-22 07:19  Sandro Santilli <strk at keybit.net>
+2004-07-22 07:19  Sandro Santilli <strk at kbt.io>
 
-	* [r506] Changed getCoordinatesRO description.
+	* [r506] source/headers/geos/geom.h: Changed getCoordinatesRO
+	  description.
 
-2004-07-22 07:04  Sandro Santilli <strk at keybit.net>
+2004-07-22 07:04  Sandro Santilli <strk at kbt.io>
 
-	* [r505] Documented missing geometry functions.
+	* [r505] source/geom/Coordinate.cpp,
+	  source/geom/GeometryCollection.cpp, source/geom/Polygon.cpp,
+	  source/headers/geos/geom.h: Documented missing geometry
+	  functions.
 
-2004-07-21 09:55  Sandro Santilli <strk at keybit.net>
+2004-07-21 09:55  Sandro Santilli <strk at kbt.io>
 
-	* [r504] CoordinateSequence::atLeastNCoordinatesOrNothing
-	  definition fix.
+	* [r504] source/geom/Coordinate.cpp,
+	  source/geom/CoordinateList.cpp,
+	  source/geom/CoordinateSequence.cpp, source/geom/Envelope.cpp,
+	  source/geom/Geometry.cpp, source/geom/LineSegment.cpp,
+	  source/geom/PrecisionModel.cpp, source/geomgraph/Edge.cpp,
+	  source/headers/geos.h, source/headers/geos/geom.h:
+	  CoordinateSequence::atLeastNCoordinatesOrNothing definition fix.
 	  Documentation fixes.
 
-2004-07-21 09:11  Sandro Santilli <strk at keybit.net>
+2004-07-21 09:11  Sandro Santilli <strk at kbt.io>
 
-	* [r503] Updated
+	* [r503] NEWS, README, TODO: Updated
 
-2004-07-20 08:35  Sandro Santilli <strk at keybit.net>
+2004-07-20 08:35  Sandro Santilli <strk at kbt.io>
 
-	* [r502] Updated doxygen rule
+	* [r502] doc/README: Updated doxygen rule
 
-2004-07-20 08:34  Sandro Santilli <strk at keybit.net>
+2004-07-20 08:34  Sandro Santilli <strk at kbt.io>
 
-	* [r501] Fixed a bug in opDistance.h.
+	* [r501] doc/Doxyfile.in, source/geom/CoordinateList.cpp,
+	  source/geom/Geometry.cpp, source/headers/geos/geom.h,
+	  source/headers/geos/opDistance.h: Fixed a bug in opDistance.h.
 	  Removed doxygen tags from obsoleted CoordinateList.cpp.
 	  Got doxygen to run with no warnings.
 
 2004-07-19 19:37  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r500] Changed doxygen target to be more "make dist" friendly.
-	  (and allow autogeneration of CVS snapshot to work again.)
+	* [r500] doc/Makefile.am: Changed doxygen target to be more "make
+	  dist" friendly. (and allow autogeneration of CVS snapshot to work
+	  again.)
 
-2004-07-19 13:19  Sandro Santilli <strk at keybit.net>
+2004-07-19 13:19  Sandro Santilli <strk at kbt.io>
 
-	* [r499] Documentation fixes
+	* [r499] doc/Doxyfile.in, source/geom/Envelope.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryFactory.cpp,
+	  source/geom/LineString.cpp, source/headers/geos/geom.h,
+	  source/headers/geos/geomUtil.h, source/headers/geos/geomgraph.h,
+	  source/headers/geos/geomgraphindex.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/indexBintree.h,
+	  source/headers/geos/indexChain.h,
+	  source/headers/geos/indexQuadtree.h,
+	  source/headers/geos/indexStrtree.h,
+	  source/headers/geos/indexSweepline.h,
+	  source/headers/geos/noding.h,
+	  source/headers/geos/nodingSnapround.h,
+	  source/headers/geos/opBuffer.h, source/headers/geos/opDistance.h,
+	  source/headers/geos/opLinemerge.h,
+	  source/headers/geos/opOverlay.h,
+	  source/headers/geos/opPolygonize.h,
+	  source/headers/geos/opRelate.h, source/headers/geos/opValid.h,
+	  source/headers/geos/operation.h,
+	  source/headers/geos/planargraph.h,
+	  source/headers/geos/precision.h,
+	  source/headers/geos/spatialIndex.h, source/io/WKTWriter.cpp:
+	  Documentation fixes
 
-2004-07-19 10:38  Sandro Santilli <strk at keybit.net>
+2004-07-19 10:38  Sandro Santilli <strk at kbt.io>
 
-	* [r498] Added Doxyfile
+	* [r498] doc, doc/.cvsignore: Added Doxyfile
 
-2004-07-19 10:38  Sandro Santilli <strk at keybit.net>
+2004-07-19 10:38  Sandro Santilli <strk at kbt.io>
 
-	* [r497] updated
+	* [r497] TODO: updated
 
-2004-07-19 10:37  Sandro Santilli <strk at keybit.net>
+2004-07-19 10:37  Sandro Santilli <strk at kbt.io>
 
-	* [r496] Doxygen doc added to default build rules
+	* [r496] doc/Makefile.am: Doxygen doc added to default build rules
 
-2004-07-19 10:37  Sandro Santilli <strk at keybit.net>
+2004-07-19 10:37  Sandro Santilli <strk at kbt.io>
 
-	* [r495] defaultCoordinateSequenceFactory made module-static (use
+	* [r495] source/geom/DefaultCoordinateSequenceFactory.cpp:
+	  defaultCoordinateSequenceFactory made module-static (use
 	  DefaultCoordinateSequenceFactory::instance() instead)
 
-2004-07-19 10:35  Sandro Santilli <strk at keybit.net>
+2004-07-19 10:35  Sandro Santilli <strk at kbt.io>
 
-	* [r494] bigtest.h moved to local dir
+	* [r494] source/bigtest/GeometryTestFactory.cpp,
+	  source/bigtest/TestSweepLineSpeed.cpp, source/bigtest/bigtest.h,
+	  source/headers/geos/bigtest.h: bigtest.h moved to local dir
 
-2004-07-19 10:34  Sandro Santilli <strk at keybit.net>
+2004-07-19 10:34  Sandro Santilli <strk at kbt.io>
 
-	* [r493] removed doxygen documentation of removed feature
+	* [r493] source/headers/geos/geom.h: removed doxygen documentation
+	  of removed feature
 
-2004-07-19 10:33  Sandro Santilli <strk at keybit.net>
+2004-07-19 10:33  Sandro Santilli <strk at kbt.io>
 
-	* [r492] Class documentation changed to report geos.h as WKT
-	  writer/parser header file
+	* [r492] source/headers/geos/io.h: Class documentation changed to
+	  report geos.h as WKT writer/parser header file
 
-2004-07-19 10:30  Sandro Santilli <strk at keybit.net>
+2004-07-19 10:30  Sandro Santilli <strk at kbt.io>
 
-	* [r491] acconfig.h moved one directory up
+	* [r491] source/headers/acconfig.h,
+	  source/headers/geos/Makefile.am, source/headers/geos/acconfig.h:
+	  acconfig.h moved one directory up
 
-2004-07-19 10:28  Sandro Santilli <strk at keybit.net>
+2004-07-19 10:28  Sandro Santilli <strk at kbt.io>
 
-	* [r490] Excluded example and test dirs from input set
+	* [r490] doc/Doxyfile.in: Excluded example and test dirs from input
+	  set
 
-2004-07-17 10:48  Sandro Santilli <strk at keybit.net>
+2004-07-17 10:48  Sandro Santilli <strk at kbt.io>
 
-	* [r489] updated
+	* [r489] TODO: updated
 
-2004-07-17 10:48  Sandro Santilli <strk at keybit.net>
+2004-07-17 10:48  Sandro Santilli <strk at kbt.io>
 
-	* [r488] added Doxyfile (generated)
+	* [r488] doc, doc/.cvsignore: added Doxyfile (generated)
 
-2004-07-17 10:48  Sandro Santilli <strk at keybit.net>
+2004-07-17 10:48  Sandro Santilli <strk at kbt.io>
 
-	* [r487] fixed typo in documentation
+	* [r487] source/geom/Geometry.cpp: fixed typo in documentation
 
-2004-07-17 10:47  Sandro Santilli <strk at keybit.net>
+2004-07-17 10:47  Sandro Santilli <strk at kbt.io>
 
-	* [r486] Doxygen configuration created at ./configure time, for
-	  versioning.
+	* [r486] configure.in, doc/Doxyfile, doc/Doxyfile.in: Doxygen
+	  configuration created at ./configure time, for versioning.
 
-2004-07-17 09:19  Sandro Santilli <strk at keybit.net>
+2004-07-17 09:19  Sandro Santilli <strk at kbt.io>
 
-	* [r485] added GEOS version report
+	* [r485] doc/example.cpp: added GEOS version report
 
-2004-07-17 09:18  Sandro Santilli <strk at keybit.net>
+2004-07-17 09:18  Sandro Santilli <strk at kbt.io>
 
-	* [r484] Added geos::version()
+	* [r484] source/geom/Geometry.cpp, source/headers/geos/geom.h:
+	  Added geos::version()
 
-2004-07-17 09:07  Sandro Santilli <strk at keybit.net>
+2004-07-17 09:07  Sandro Santilli <strk at kbt.io>
 
-	* [r483] Added --jtsport
+	* [r483] tools/geos-config.in: Added --jtsport
 
-2004-07-17 09:06  Sandro Santilli <strk at keybit.net>
+2004-07-17 09:06  Sandro Santilli <strk at kbt.io>
 
-	* [r482] Added GEOS_FIRST_INTERFACE, GEOS_LAST_INTERFACE and
-	  GEOS_JTS_PORT
+	* [r482] source/headers/geos/version.h.in: Added
+	  GEOS_FIRST_INTERFACE, GEOS_LAST_INTERFACE and GEOS_JTS_PORT
 
-2004-07-17 09:05  Sandro Santilli <strk at keybit.net>
+2004-07-17 09:05  Sandro Santilli <strk at kbt.io>
 
-	* [r481] Added JTS_PORT variable.
+	* [r481] configure.in: Added JTS_PORT variable.
 	  Simplified versioning settings: comments added,
 	  major/minor/patchlevel
 	  extracted by CURRENT,AGE,REVISION.
 
-2004-07-16 17:02  Sandro Santilli <strk at keybit.net>
+2004-07-16 17:02  Sandro Santilli <strk at kbt.io>
 
-	* [r480] updated
+	* [r480] TODO: updated
 
-2004-07-16 16:20  Sandro Santilli <strk at keybit.net>
+2004-07-16 16:20  Sandro Santilli <strk at kbt.io>
 
-	* [r479] Libtool versioning scheme adopted.
+	* [r479] configure.in, source/geom/Makefile.am: Libtool versioning
+	  scheme adopted.
 
-2004-07-16 16:09  Sandro Santilli <strk at keybit.net>
+2004-07-16 16:09  Sandro Santilli <strk at kbt.io>
 
-	* [r478] removed useless Includedir
+	* [r478] doc/Makefile.am: removed useless Includedir
 
-2004-07-16 15:57  Sandro Santilli <strk at keybit.net>
+2004-07-16 15:57  Sandro Santilli <strk at kbt.io>
 
-	* [r477] made includes use <>
+	* [r477] source/headers/geos.h: made includes use <>
 
-2004-07-16 13:27  Sandro Santilli <strk at keybit.net>
+2004-07-16 13:27  Sandro Santilli <strk at kbt.io>
 
-	* [r476] updated
+	* [r476] TODO: updated
 
-2004-07-16 10:28  Sandro Santilli <strk at keybit.net>
+2004-07-16 10:28  Sandro Santilli <strk at kbt.io>
 
-	* [r475] Dimesions object allocated on the heap
+	* [r475] source/headers/geos/util.h,
+	  source/util/GeometricShapeFactory.cpp: Dimesions object allocated
+	  on the heap
 
-2004-07-16 10:00  Sandro Santilli <strk at keybit.net>
+2004-07-16 10:00  Sandro Santilli <strk at kbt.io>
 
-	* [r474] Bug fixed in GeometricShapeFactory examples.
+	* [r474] doc/example.cpp: Bug fixed in GeometricShapeFactory
+	  examples.
 	  Added example of GeometricShapeFactory::createArc.
 
-2004-07-16 09:58  Sandro Santilli <strk at keybit.net>
+2004-07-16 09:58  Sandro Santilli <strk at kbt.io>
 
-	* [r473] updated
+	* [r473] TODO: updated
 
-2004-07-16 09:58  Sandro Santilli <strk at keybit.net>
+2004-07-16 09:58  Sandro Santilli <strk at kbt.io>
 
-	* [r472] Added LINEARRING to LINESTRING conversion
+	* [r472] doc/example.tosql: Added LINEARRING to LINESTRING
+	  conversion
 
-2004-07-16 09:57  Sandro Santilli <strk at keybit.net>
+2004-07-16 09:57  Sandro Santilli <strk at kbt.io>
 
-	* [r471] Modified library version to 1.4.0
+	* [r471] source/geom/Makefile.am: Modified library version to 1.4.0
 
-2004-07-15 13:41  Sandro Santilli <strk at keybit.net>
+2004-07-15 13:41  Sandro Santilli <strk at kbt.io>
 
-	* [r470] Added createRectangle example.
+	* [r470] doc/example.cpp: Added createRectangle example.
 
-2004-07-15 13:40  Sandro Santilli <strk at keybit.net>
+2004-07-15 13:40  Sandro Santilli <strk at kbt.io>
 
-	* [r469] Memory leaks fixed, CoordinateSequence use made JTS -
-	  compatible.
+	* [r469] source/util/GeometricShapeFactory.cpp: Memory leaks fixed,
+	  CoordinateSequence use made JTS - compatible.
 
-2004-07-14 21:21  Sandro Santilli <strk at keybit.net>
+2004-07-14 21:21  Sandro Santilli <strk at kbt.io>
 
-	* [r468] updated
+	* [r468] TODO: updated
 
-2004-07-14 21:20  Sandro Santilli <strk at keybit.net>
+2004-07-14 21:20  Sandro Santilli <strk at kbt.io>
 
-	* [r467] Added GeometricShapeFactory note on doxygen mainpage
+	* [r467] source/geom/Geometry.cpp: Added GeometricShapeFactory note
+	  on doxygen mainpage
 
-2004-07-14 21:20  Sandro Santilli <strk at keybit.net>
+2004-07-14 21:20  Sandro Santilli <strk at kbt.io>
 
-	* [r466] added geos/io.h and geos/unload.h
+	* [r466] source/headers/geos.h: added geos/io.h and geos/unload.h
 
-2004-07-14 21:19  Sandro Santilli <strk at keybit.net>
+2004-07-14 21:19  Sandro Santilli <strk at kbt.io>
 
-	* [r465] GeometricShapeFactory first pass of bug fixes
+	* [r465] source/headers/geos/util.h,
+	  source/util/GeometricShapeFactory.cpp: GeometricShapeFactory
+	  first pass of bug fixes
 
-2004-07-14 21:17  Sandro Santilli <strk at keybit.net>
+2004-07-14 21:17  Sandro Santilli <strk at kbt.io>
 
-	* [r464] added missing GeometricShapeFactory.cpp
+	* [r464] source/geom/Makefile.am: added missing
+	  GeometricShapeFactory.cpp
 
-2004-07-14 21:17  Sandro Santilli <strk at keybit.net>
+2004-07-14 21:17  Sandro Santilli <strk at kbt.io>
 
-	* [r463] added inequality operator for Coordinate
+	* [r463] source/geom/Coordinate.cpp, source/headers/geos/geom.h:
+	  added inequality operator for Coordinate
 
-2004-07-14 21:15  Sandro Santilli <strk at keybit.net>
+2004-07-14 21:15  Sandro Santilli <strk at kbt.io>
 
-	* [r462] Added GeometricShapeFactory example: createCircle.
+	* [r462] doc/example.cpp, doc/example.tosql: Added
+	  GeometricShapeFactory example: createCircle.
 	  Added simple filter to send example output to a postgis table.
 
-2004-07-13 08:33  Sandro Santilli <strk at keybit.net>
-
-	* [r461] Added missing virtual destructor to virtual classes.
+2004-07-13 08:33  Sandro Santilli <strk at kbt.io>
+
+	* [r461] source/geom/GeometryFactory.cpp, source/geom/Polygon.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/geomgraph.h,
+	  source/headers/geos/indexChain.h,
+	  source/headers/geos/indexStrtree.h,
+	  source/headers/geos/planargraph.h,
+	  source/index/bintree/Bintree.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/noding/MCQuadtreeNoder.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/planargraph/planarGraphComponent.cpp: Added missing
+	  virtual destructor to virtual classes.
 	  Fixed implicit unsigned int -> int casts
 
-2004-07-12 19:16  Sandro Santilli <strk at keybit.net>
-
-	* [r460] Commented out CoordinateList class definition.
-
-2004-07-12 15:42  Sandro Santilli <strk at keybit.net>
-
-	* [r459] Fixed maximumPreciseValue scope
-
-2004-07-09 08:01  Sandro Santilli <strk at keybit.net>
-
-	* [r458] updated
-
-2004-07-08 19:41  Sandro Santilli <strk at keybit.net>
-
-	* [r457] renamed to reflect JTS API.
-
-2004-07-08 19:38  Sandro Santilli <strk at keybit.net>
-
-	* [r456] renamed from *List* equivalents
-
-2004-07-08 19:37  Sandro Santilli <strk at keybit.net>
-
-	* [r455] Renamed to PointCoordinateSequence.cpp
-
-2004-07-08 19:37  Sandro Santilli <strk at keybit.net>
-
-	* [r454] Renamed to CoordinateSequenceFactory.cpp
-
-2004-07-08 19:36  Sandro Santilli <strk at keybit.net>
-
-	* [r453] Renamed to DefaultCoordinateSequence.cpp
-
-2004-07-08 19:34  Sandro Santilli <strk at keybit.net>
-
-	* [r452] Mirrored JTS interface of CoordinateSequence, factory and
+2004-07-12 19:16  Sandro Santilli <strk at kbt.io>
+
+	* [r460] source/headers/geos/geom.h: Commented out CoordinateList
+	  class definition.
+
+2004-07-12 15:42  Sandro Santilli <strk at kbt.io>
+
+	* [r459] source/geom/PrecisionModel.cpp: Fixed maximumPreciseValue
+	  scope
+
+2004-07-09 08:01  Sandro Santilli <strk at kbt.io>
+
+	* [r458] TODO: updated
+
+2004-07-08 19:41  Sandro Santilli <strk at kbt.io>
+
+	* [r457] source/examples/CoordinateListsExample.cpp,
+	  source/examples/CoordinateSequencesExample.cpp,
+	  source/examples/CustomCoordinateListExample.cpp,
+	  source/examples/CustomCoordinateListExample.h,
+	  source/examples/CustomCoordinateSequenceExample.cpp,
+	  source/examples/CustomCoordinateSequenceExample.h,
+	  source/examples/CustomPointCoordinateList.cpp,
+	  source/examples/CustomPointCoordinateSequence.cpp: renamed to
+	  reflect JTS API.
+
+2004-07-08 19:38  Sandro Santilli <strk at kbt.io>
+
+	* [r456] source/geom/CoordinateSequence.cpp,
+	  source/geom/CoordinateSequenceFactory.cpp,
+	  source/geom/DefaultCoordinateSequence.cpp,
+	  source/geom/DefaultCoordinateSequenceFactory.cpp,
+	  source/geom/PointCoordinateSequence.cpp,
+	  source/geom/PointCoordinateSequenceFactory.cpp: renamed from
+	  *List* equivalents
+
+2004-07-08 19:37  Sandro Santilli <strk at kbt.io>
+
+	* [r455] source/geom/PointCoordinateList.cpp: Renamed to
+	  PointCoordinateSequence.cpp
+
+2004-07-08 19:37  Sandro Santilli <strk at kbt.io>
+
+	* [r454] source/geom/CoordinateListFactory.cpp: Renamed to
+	  CoordinateSequenceFactory.cpp
+
+2004-07-08 19:36  Sandro Santilli <strk at kbt.io>
+
+	* [r453] source/geom/BasicCoordinateList.cpp: Renamed to
+	  DefaultCoordinateSequence.cpp
+
+2004-07-08 19:34  Sandro Santilli <strk at kbt.io>
+
+	* [r452] TODO, doc/example.cpp, source/Makefile.am,
+	  source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/MinimumDiameter.cpp,
+	  source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/bigtest/GeometryTestFactory.cpp,
+	  source/examples/CPCLException.cpp,
+	  source/examples/CoordinateListsExample.cpp,
+	  source/examples/Makefile.am, source/geom/CoordinateList.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/Makefile.am, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/geom/util/GeometryEditor.cpp, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/EdgeList.cpp, source/geomgraph/EdgeRing.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/PlanarGraph.cpp,
+	  source/geomgraph/index/MonotoneChainEdge.cpp,
+	  source/geomgraph/index/MonotoneChainIndexer.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  source/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  source/headers/geos/bigtest.h, source/headers/geos/geom.h,
+	  source/headers/geos/geomUtil.h, source/headers/geos/geomgraph.h,
+	  source/headers/geos/geomgraphindex.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/indexChain.h, source/headers/geos/io.h,
+	  source/headers/geos/noding.h, source/headers/geos/opBuffer.h,
+	  source/headers/geos/opDistance.h,
+	  source/headers/geos/opLinemerge.h,
+	  source/headers/geos/opPolygonize.h,
+	  source/headers/geos/opValid.h, source/headers/geos/precision.h,
+	  source/headers/geos/util.h,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/indexMonotoneChain.cpp, source/io/Unload.cpp,
+	  source/io/WKTReader.cpp, source/noding/MCQuadtreeNoder.cpp,
+	  source/noding/NodingValidator.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp, source/noding/SimpleNoder.cpp,
+	  source/noding/nodingSegmentIntersector.cpp,
+	  source/noding/snapround/SimpleSegmentStringsSnapper.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/linemerge/EdgeString.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp,
+	  source/util/CoordinateArrayFiter.cpp,
+	  source/util/GeometricShapeFactory.cpp,
+	  source/util/UniqueCoordinateArrayFilter.cpp: Mirrored JTS
+	  interface of CoordinateSequence, factory and
 	  default implementations.
 	  Added DefaultCoordinateSequenceFactory::instance() function.
 
-2004-07-07 18:54  Sandro Santilli <strk at keybit.net>
+2004-07-07 18:54  Sandro Santilli <strk at kbt.io>
 
-	* [r451] updated
+	* [r451] TODO: updated
 
-2004-07-07 10:29  Sandro Santilli <strk at keybit.net>
+2004-07-07 10:29  Sandro Santilli <strk at kbt.io>
 
-	* [r450] Adjusted exceptions documentation.
+	* [r450] source/algorithm/NotRepresentableException.cpp,
+	  source/headers/geos/geosAlgorithm.h, source/headers/geos/io.h,
+	  source/headers/geos/util.h: Adjusted exceptions documentation.
 
-2004-07-07 09:38  Sandro Santilli <strk at keybit.net>
+2004-07-07 09:38  Sandro Santilli <strk at kbt.io>
 
-	* [r449] Dropped WKTWriter::stringOfChars (implemented by
-	  std::string).
+	* [r449] NEWS, source/geom/Geometry.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/io.h, source/io/WKTReader.cpp,
+	  source/io/WKTWriter.cpp, source/test/XMLTester.cpp: Dropped
+	  WKTWriter::stringOfChars (implemented by std::string).
 	  Dropped WKTWriter default constructor (internally created
 	  GeometryFactory).
 	  Updated XMLTester to respect the changes.
 	  Main documentation page made nicer.
 
-2004-07-07 07:52  Sandro Santilli <strk at keybit.net>
+2004-07-07 07:52  Sandro Santilli <strk at kbt.io>
 
-	* [r448] Removed note about required speedup in BufferSubgraph.
+	* [r448] TODO, source/operation/buffer/BufferSubgraph.cpp: Removed
+	  note about required speedup in BufferSubgraph.
 	  I've made tests with 'sets' and there is actually a big slow
 	  down..
 
-2004-07-06 17:58  Sandro Santilli <strk at keybit.net>
+2004-07-06 17:58  Sandro Santilli <strk at kbt.io>
 
-	* [r447] Removed deprecated Geometry constructors based on
-	  PrecisionModel and
+	* [r447] source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp, source/geom/LineString.cpp,
+	  source/geom/LinearRing.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/headers/geos/geom.h, source/headers/geos/precision.h,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp: Removed
+	  deprecated Geometry constructors based on PrecisionModel and
 	  SRID specification. Removed SimpleGeometryPrecisionReducer
 	  capability
 	  of changing Geometry's factory. Reverted Geometry::factory member
 	  to be a reference to external factory.
 
-2004-07-05 19:40  Sandro Santilli <strk at keybit.net>
+2004-07-05 19:40  Sandro Santilli <strk at kbt.io>
 
-	* [r446] Added GeometryFactory::destroyGeometry(Geometry *)
+	* [r446] source/geom/Geometry.cpp, source/geom/GeometryFactory.cpp,
+	  source/headers/geos/geom.h: Added
+	  GeometryFactory::destroyGeometry(Geometry *)
 
-2004-07-05 15:20  Sandro Santilli <strk at keybit.net>
+2004-07-05 15:20  Sandro Santilli <strk at kbt.io>
 
-	* [r445] Documentation again.
+	* [r445] TODO, source/geom/Geometry.cpp,
+	  source/headers/geos/geom.h: Documentation again.
 
-2004-07-05 14:23  Sandro Santilli <strk at keybit.net>
+2004-07-05 14:23  Sandro Santilli <strk at kbt.io>
 
-	* [r444] More documentation cleanups.
+	* [r444] NEWS, source/geom/CoordinateList.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineString.cpp,
+	  source/geom/PrecisionModel.cpp, source/headers/geos/geom.h,
+	  source/headers/geos/util.h: More documentation cleanups.
 
-2004-07-05 11:50  Sandro Santilli <strk at keybit.net>
+2004-07-05 11:50  Sandro Santilli <strk at kbt.io>
 
-	* [r443] initial import
+	* [r443] doc/README: initial import
 
-2004-07-05 10:50  Sandro Santilli <strk at keybit.net>
+2004-07-05 10:50  Sandro Santilli <strk at kbt.io>
 
-	* [r442] deep-dopy construction taken out of Geometry and
-	  implemented only
+	* [r442] NEWS, doc/Doxyfile, source/geom/BasicCoordinateList.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineString.cpp,
+	  source/geom/LinearRing.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/PointCoordinateList.cpp,
+	  source/geom/Polygon.cpp, source/headers/geos.h,
+	  source/headers/geos/geom.h, source/headers/geos/util.h,
+	  source/io/WKTReader.cpp: deep-dopy construction taken out of
+	  Geometry and implemented only
 	  in GeometryFactory.
 	  Deep-copy geometry construction takes care of cleaning up copies
 	  on exception.
@@ -15234,507 +27005,912 @@
 	  copy semantic (by-ref instead of by-pointer).
 	  Cleaned up documentation.
 
-2004-07-03 12:54  Sandro Santilli <strk at keybit.net>
-
-	* [r441] more entries
-
-2004-07-03 12:51  Sandro Santilli <strk at keybit.net>
-
-	* [r440] Documentation cleanups for DoxyGen.
-
-2004-07-02 17:22  Sandro Santilli <strk at keybit.net>
-
-	* [r439] Doxygen configuration file renamed.
-
-2004-07-02 14:27  Sandro Santilli <strk at keybit.net>
-
-	* [r438] Added deep-copy / take-ownerhship for Point type.
-
-2004-07-02 13:28  Sandro Santilli <strk at keybit.net>
-
-	* [r437] Fixed all #include lines to reflect headers layout change.
+2004-07-03 12:54  Sandro Santilli <strk at kbt.io>
+
+	* [r441] source/headers/geos, source/headers/geos/.cvsignore: more
+	  entries
+
+2004-07-03 12:51  Sandro Santilli <strk at kbt.io>
+
+	* [r440] source/algorithm/NotRepresentableException.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryFactory.cpp,
+	  source/geom/LineString.cpp, source/geom/PrecisionModel.cpp,
+	  source/headers/geos.h, source/headers/geos/geom.h: Documentation
+	  cleanups for DoxyGen.
+
+2004-07-02 17:22  Sandro Santilli <strk at kbt.io>
+
+	* [r439] doc/Doxyfile, doc/Makefile.am, doc/geosDoxygen.conf:
+	  Doxygen configuration file renamed.
+
+2004-07-02 14:27  Sandro Santilli <strk at kbt.io>
+
+	* [r438] source/geom/GeometryFactory.cpp, source/geom/Point.cpp,
+	  source/headers/geos/geom.h: Added deep-copy / take-ownerhship for
+	  Point type.
+
+2004-07-02 13:28  Sandro Santilli <strk at kbt.io>
+
+	* [r437] ChangeLog, README, configure.in, doc/Makefile.am,
+	  doc/example.cpp, source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/CentroidPoint.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/MinimumDiameter.cpp,
+	  source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/NonRobustLineIntersector.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/RobustDeterminant.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/bigtest/GeometryTestFactory.cpp,
+	  source/bigtest/TestSweepLineSpeed.cpp,
+	  source/examples/CPCLException.cpp,
+	  source/examples/CoordinateListsExample.cpp,
+	  source/examples/CustomCoordinateListExample.cpp,
+	  source/examples/CustomCoordinateListExample.h,
+	  source/examples/CustomPointCoordinateList.cpp,
+	  source/geom/BasicCoordinateList.cpp, source/geom/Coordinate.cpp,
+	  source/geom/CoordinateList.cpp,
+	  source/geom/CoordinateListFactory.cpp, source/geom/Dimension.cpp,
+	  source/geom/Envelope.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/geom/GeometryComponentFilter.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/Location.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/PointCoordinateList.cpp,
+	  source/geom/Polygon.cpp, source/geom/PrecisionModel.cpp,
+	  source/geom/TopologyException.cpp, source/geom/Triangle.cpp,
+	  source/geom/util/GeometryEditor.cpp,
+	  source/geom/util/LinearComponentExtracter.cpp,
+	  source/geom/util/PointExtracter.cpp,
+	  source/geom/util/PolygonExtracter.cpp,
+	  source/geomgraph/Depth.cpp, source/geomgraph/DirectedEdge.cpp,
+	  source/geomgraph/DirectedEdgeStar.cpp, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeEnd.cpp, source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/EdgeIntersection.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/EdgeList.cpp,
+	  source/geomgraph/EdgeNodingValidator.cpp,
+	  source/geomgraph/EdgeRing.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/GraphComponent.cpp, source/geomgraph/Label.cpp,
+	  source/geomgraph/Node.cpp, source/geomgraph/NodeFactory.cpp,
+	  source/geomgraph/NodeMap.cpp, source/geomgraph/PlanarGraph.cpp,
+	  source/geomgraph/Position.cpp, source/geomgraph/Quadrant.cpp,
+	  source/geomgraph/TopologyLocation.cpp,
+	  source/geomgraph/index/MonotoneChain.cpp,
+	  source/geomgraph/index/MonotoneChainEdge.cpp,
+	  source/geomgraph/index/MonotoneChainIndexer.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  source/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  source/geomgraph/index/SweepLineEvent.cpp,
+	  source/geomgraph/index/SweepLineSegment.cpp,
+	  source/index/bintree/BinTreeInterval.cpp,
+	  source/index/bintree/BinTreeNode.cpp,
+	  source/index/bintree/Bintree.cpp, source/index/bintree/Key.cpp,
+	  source/index/bintree/NodeBase.cpp, source/index/bintree/Root.cpp,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/MonotoneChainOverlapAction.cpp,
+	  source/index/chain/MonotoneChainSelectAction.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/index/quadtree/IntervalSize.cpp,
+	  source/index/quadtree/QuadTreeKey.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/Interval.cpp,
+	  source/index/strtree/ItemBoundable.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/index/sweepline/SweepLineIndex.cpp,
+	  source/index/sweepline/SweepLineInterval.cpp,
+	  source/index/sweepline/indexSweepLineEvent.cpp,
+	  source/io/ParseException.cpp, source/io/StringTokenizer.cpp,
+	  source/io/Unload.cpp, source/io/WKTReader.cpp,
+	  source/io/WKTWriter.cpp, source/io/Writer.cpp,
+	  source/io/markup/MarkupSTL.cpp, source/noding/IteratedNoder.cpp,
+	  source/noding/MCQuadtreeNoder.cpp, source/noding/Noder.cpp,
+	  source/noding/NodingValidator.cpp, source/noding/SegmentNode.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp, source/noding/SimpleNoder.cpp,
+	  source/noding/nodingSegmentIntersector.cpp,
+	  source/noding/snapround/SegmentSnapper.cpp,
+	  source/noding/snapround/SimpleSegmentStringsSnapper.cpp,
+	  source/noding/snapround/SnapRounder.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp,
+	  source/operation/distance/ConnectedElementLocationFilter.cpp,
+	  source/operation/distance/ConnectedElementPointFilter.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/distance/GeometryLocation.cpp,
+	  source/operation/linemerge/EdgeString.cpp,
+	  source/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  source/operation/linemerge/LineMergeEdge.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/operation/overlay/EdgeSetNoder.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/overlay/OverlayNodeFactory.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/polygonize/PolygonizeDirectedEdge.cpp,
+	  source/operation/polygonize/PolygonizeEdge.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/Polygonizer.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNode.cpp,
+	  source/operation/relate/RelateNodeFactory.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/operation/valid/TopologyValidationError.cpp,
+	  source/planargraph/planarDirectedEdge.cpp,
+	  source/planargraph/planarDirectedEdgeStar.cpp,
+	  source/planargraph/planarEdge.cpp,
+	  source/planargraph/planarGraphComponent.cpp,
+	  source/planargraph/planarNode.cpp,
+	  source/planargraph/planarNodeMap.cpp,
+	  source/planargraph/planarPlanarGraph.cpp,
+	  source/precision/CommonBits.cpp,
+	  source/precision/CommonBitsOp.cpp,
+	  source/precision/CommonBitsRemover.cpp,
+	  source/precision/EnhancedPrecisionOp.cpp,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp,
+	  source/test/CTS.cpp, source/test/SimpleWKTTester.cpp,
+	  source/test/XMLTester.cpp, source/util/Assert.cpp,
+	  source/util/AssertionFailedException.cpp,
+	  source/util/CoordinateArrayFiter.cpp,
+	  source/util/GEOSException.cpp,
+	  source/util/GeometricShapeFactory.cpp,
+	  source/util/IllegalArgumentException.cpp,
+	  source/util/UniqueCoordinateArrayFilter.cpp,
+	  source/util/UnsupportedOperationException.cpp: Fixed all #include
+	  lines to reflect headers layout change.
 	  Added client application build tips in README.
 
-2004-07-02 13:21  Sandro Santilli <strk at keybit.net>
-
-	* [r436] renamed to geos/version.h.in
-
-2004-07-02 13:20  Sandro Santilli <strk at keybit.net>
-
-	* [r435] Header files moved under geos/ dir.
-
-2004-07-01 17:34  Sandro Santilli <strk at keybit.net>
-
-	* [r434] GeometryFactory argument in Geometry constructor reverted
+2004-07-02 13:21  Sandro Santilli <strk at kbt.io>
+
+	* [r436] source/headers/geos_version.h.in: renamed to
+	  geos/version.h.in
+
+2004-07-02 13:20  Sandro Santilli <strk at kbt.io>
+
+	* [r435] source/headers, source/headers/.cvsignore,
+	  source/headers/Makefile.am, source/headers/acconfig.h,
+	  source/headers/bigtest.h, source/headers/geom.h,
+	  source/headers/geomUtil.h, source/headers/geomgraph.h,
+	  source/headers/geomgraphindex.h, source/headers/geos,
+	  source/headers/geos.h, source/headers/geos/.cvsignore,
+	  source/headers/geos/Makefile.am, source/headers/geos/acconfig.h,
+	  source/headers/geos/bigtest.h, source/headers/geos/config.h,
+	  source/headers/geos/geom.h, source/headers/geos/geomUtil.h,
+	  source/headers/geos/geomgraph.h,
+	  source/headers/geos/geomgraphindex.h,
+	  source/headers/geos/geosAlgorithm.h,
+	  source/headers/geos/indexBintree.h,
+	  source/headers/geos/indexChain.h,
+	  source/headers/geos/indexQuadtree.h,
+	  source/headers/geos/indexStrtree.h,
+	  source/headers/geos/indexSweepline.h, source/headers/geos/io.h,
+	  source/headers/geos/noding.h,
+	  source/headers/geos/nodingSnapround.h,
+	  source/headers/geos/opBuffer.h, source/headers/geos/opDistance.h,
+	  source/headers/geos/opLinemerge.h,
+	  source/headers/geos/opOverlay.h,
+	  source/headers/geos/opPolygonize.h,
+	  source/headers/geos/opRelate.h, source/headers/geos/opValid.h,
+	  source/headers/geos/operation.h,
+	  source/headers/geos/planargraph.h,
+	  source/headers/geos/platform.h.in,
+	  source/headers/geos/precision.h,
+	  source/headers/geos/spatialIndex.h, source/headers/geos/unload.h,
+	  source/headers/geos/util.h, source/headers/geos/version.h.in,
+	  source/headers/geosAlgorithm.h, source/headers/indexBintree.h,
+	  source/headers/indexChain.h, source/headers/indexQuadtree.h,
+	  source/headers/indexStrtree.h, source/headers/indexSweepline.h,
+	  source/headers/io.h, source/headers/noding.h,
+	  source/headers/nodingSnapround.h, source/headers/opBuffer.h,
+	  source/headers/opDistance.h, source/headers/opLinemerge.h,
+	  source/headers/opOverlay.h, source/headers/opPolygonize.h,
+	  source/headers/opRelate.h, source/headers/opValid.h,
+	  source/headers/operation.h, source/headers/planargraph.h,
+	  source/headers/platform.h.in, source/headers/precision.h,
+	  source/headers/spatialIndex.h, source/headers/unload.h,
+	  source/headers/util.h: Header files moved under geos/ dir.
+
+2004-07-01 17:34  Sandro Santilli <strk at kbt.io>
+
+	* [r434] source/geom/Geometry.cpp: GeometryFactory argument in
+	  Geometry constructor reverted
 	  to its copy-and-destroy semantic.
 
-2004-07-01 17:07  Sandro Santilli <strk at keybit.net>
+2004-07-01 17:07  Sandro Santilli <strk at kbt.io>
 
-	* [r433] Added doxygen_docs generation rule
+	* [r433] doc, doc/.cvsignore, doc/Makefile.am: Added doxygen_docs
+	  generation rule
 
-2004-07-01 16:49  Sandro Santilli <strk at keybit.net>
+2004-07-01 16:49  Sandro Santilli <strk at kbt.io>
 
-	* [r432] re-generated with doxygen 1.2.15
+	* [r432] doc/geosDoxygen.conf: re-generated with doxygen 1.2.15
 
 2004-07-01 15:47  No Body <no at body.net>
 
-	* [r431] Added doxygen file for better doco generation.
-
-2004-07-01 14:12  Sandro Santilli <strk at keybit.net>
+	* [r431] doc/geosDoxygen.conf: Added doxygen file for better doco
+	  generation.
 
-	* [r430] Geometry constructors come now in two flavors:
+2004-07-01 14:12  Sandro Santilli <strk at kbt.io>
+
+	* [r430] ChangeLog, NEWS, TODO, doc/example.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/InteriorPointArea.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineString.cpp,
+	  source/geom/LinearRing.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/geom/util/GeometryEditor.cpp,
+	  source/geomgraph/EdgeRing.cpp, source/headers/geom.h,
+	  source/headers/io.h, source/headers/noding.h,
+	  source/headers/opBuffer.h, source/headers/opOverlay.h,
+	  source/io/WKTReader.cpp, source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/linemerge/EdgeString.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp,
+	  source/util/GeometricShapeFactory.cpp: Geometry constructors come
+	  now in two flavors:
 	  - deep-copy args (pass-by-reference)
 	  - take-ownership of args (pass-by-pointer)
 	  Same functionality is available through GeometryFactory,
 	  including buildGeometry().
 
-2004-06-30 20:59  Sandro Santilli <strk at keybit.net>
-
-	* [r429] Removed GeoemtryFactory copy from geometry constructors.
+2004-06-30 20:59  Sandro Santilli <strk at kbt.io>
+
+	* [r429] source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geomgraph/EdgeRing.cpp, source/headers/geom.h,
+	  source/headers/geomgraph.h, source/headers/geosAlgorithm.h,
+	  source/headers/opBuffer.h, source/headers/opOverlay.h,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp: Removed
+	  GeoemtryFactory copy from geometry constructors.
 	  Enforced const-correctness on GeometryFactory arguments.
 
-2004-06-28 21:58  Sandro Santilli <strk at keybit.net>
+2004-06-28 21:58  Sandro Santilli <strk at kbt.io>
 
-	* [r428] Constructors speedup.
+	* [r428] source/geom/Polygon.cpp: Constructors speedup.
 
-2004-06-28 21:11  Sandro Santilli <strk at keybit.net>
+2004-06-28 21:11  Sandro Santilli <strk at kbt.io>
 
-	* [r427] Moved getGeometryTypeId() definitions from geom.h to each
-	  geometry module.
+	* [r427] source/geom/GeometryCollection.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/MultiLineString.cpp, source/geom/MultiPoint.cpp,
+	  source/geom/MultiPolygon.cpp, source/geom/Point.cpp,
+	  source/geom/Polygon.cpp, source/headers/geom.h: Moved
+	  getGeometryTypeId() definitions from geom.h to each geometry
+	  module.
 	  Added holes argument check in Polygon.cpp.
 
-2004-06-25 14:26  Sandro Santilli <strk at keybit.net>
+2004-06-25 14:26  Sandro Santilli <strk at kbt.io>
 
-	* [r426] fixed --includes
+	* [r426] tools/geos-config.in: fixed --includes
 
-2004-06-22 16:57  Sandro Santilli <strk at keybit.net>
+2004-06-22 16:57  Sandro Santilli <strk at kbt.io>
 
-	* [r425] Written down some news
+	* [r425] NEWS: Written down some news
 
-2004-06-22 16:56  Sandro Santilli <strk at keybit.net>
+2004-06-22 16:56  Sandro Santilli <strk at kbt.io>
 
-	* [r424] Added geos.h file.
+	* [r424] source/headers/Makefile.am, source/headers/geos.h: Added
+	  geos.h file.
 
-2004-06-21 22:14  Sandro Santilli <strk at keybit.net>
+2004-06-21 22:14  Sandro Santilli <strk at kbt.io>
 
-	* [r423] added geos_version.h
+	* [r423] source/headers, source/headers/.cvsignore: added
+	  geos_version.h
 
-2004-06-21 22:13  Sandro Santilli <strk at keybit.net>
+2004-06-21 22:13  Sandro Santilli <strk at kbt.io>
 
-	* [r422] updated
+	* [r422] TODO: updated
 
-2004-06-21 22:13  Sandro Santilli <strk at keybit.net>
+2004-06-21 22:13  Sandro Santilli <strk at kbt.io>
 
-	* [r421] Added VERSION defines
+	* [r421] configure.in, source/headers/Makefile.am,
+	  source/headers/geos_version.h.in: Added VERSION defines
 
-2004-06-16 13:13  Sandro Santilli <strk at keybit.net>
+2004-06-16 13:13  Sandro Santilli <strk at kbt.io>
 
-	* [r420] Changed interface of SegmentString, now copying
-	  CoordinateList argument.
+	* [r420] TODO, source/geom/BasicCoordinateList.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/MultiPolygon.cpp,
+	  source/geomgraph/Edge.cpp, source/headers/noding.h,
+	  source/noding/MCQuadtreeNoder.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp,
+	  source/noding/nodingSegmentIntersector.cpp: Changed interface of
+	  SegmentString, now copying CoordinateList argument.
 	  Fixed memory leaks associated with this and MultiGeometry
 	  constructors.
 	  Other associated fixes.
 
-2004-06-15 21:35  Sandro Santilli <strk at keybit.net>
+2004-06-15 21:35  Sandro Santilli <strk at kbt.io>
 
-	* [r419] fixed buildGeometry to always return a newly allocated
-	  geometry
+	* [r419] source/geom/GeometryFactory.cpp: fixed buildGeometry to
+	  always return a newly allocated geometry
 
-2004-06-15 20:42  Sandro Santilli <strk at keybit.net>
+2004-06-15 20:42  Sandro Santilli <strk at kbt.io>
 
-	* [r418] updated to respect deep-copy GeometryCollection interface
+	* [r418] doc/example.cpp, source/geom/LineString.cpp,
+	  source/geom/MultiPolygon.cpp, source/geom/Polygon.cpp: updated to
+	  respect deep-copy GeometryCollection interface
 
-2004-06-15 20:30  Sandro Santilli <strk at keybit.net>
+2004-06-15 20:30  Sandro Santilli <strk at kbt.io>
 
-	* [r417] fixed a typo
+	* [r417] source/io/WKTReader.cpp: fixed a typo
 
-2004-06-15 20:20  Sandro Santilli <strk at keybit.net>
+2004-06-15 20:20  Sandro Santilli <strk at kbt.io>
 
-	* [r416] updated to respect deep-copy GeometryCollection interface
+	* [r416] source/geom/util/GeometryEditor.cpp,
+	  source/io/WKTReader.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp: updated to respect
+	  deep-copy GeometryCollection interface
 
-2004-06-15 20:07  Sandro Santilli <strk at keybit.net>
+2004-06-15 20:07  Sandro Santilli <strk at kbt.io>
 
-	* [r415] GeometryCollections constructors make a deep copy of
-	  Geometry vector argument.
+	* [r415] source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/headers/geom.h:
+	  GeometryCollections constructors make a deep copy of Geometry
+	  vector argument.
 
-2004-06-15 20:01  Sandro Santilli <strk at keybit.net>
+2004-06-15 20:01  Sandro Santilli <strk at kbt.io>
 
-	* [r414] Empty geometry creation call made using NULL instead of
-	  newly created empty vector (will be faster)
+	* [r414] source/operation/buffer/BufferBuilder.cpp: Empty geometry
+	  creation call made using NULL instead of newly created empty
+	  vector (will be faster)
 
-2004-06-15 19:24  Sandro Santilli <strk at keybit.net>
+2004-06-15 19:24  Sandro Santilli <strk at kbt.io>
 
-	* [r413] Fixed a bug preventing geos-config from giving correct
-	  version info
+	* [r413] tools/geos-config.in: Fixed a bug preventing geos-config
+	  from giving correct version info
 
-2004-06-15 07:40  Sandro Santilli <strk at keybit.net>
+2004-06-15 07:40  Sandro Santilli <strk at kbt.io>
 
-	* [r412] Added missing <stdio.h> include
+	* [r412] source/noding/SegmentNode.cpp,
+	  source/planargraph/planarDirectedEdge.cpp: Added missing
+	  <stdio.h> include
 
-2004-06-15 07:40  Sandro Santilli <strk at keybit.net>
+2004-06-15 07:40  Sandro Santilli <strk at kbt.io>
 
-	* [r411] Updated
+	* [r411] TODO: Updated
 
 2004-05-28 18:16  Yury Bychkov <me at yury.ca>
 
-	* [r410] Changed rounding method to make compilable with VC++
+	* [r410] source/geom/PrecisionModel.cpp: Changed rounding method to
+	  make compilable with VC++
 
-2004-05-27 12:09  Sandro Santilli <strk at keybit.net>
+2004-05-27 12:09  Sandro Santilli <strk at kbt.io>
 
-	* [r409] added one buffer test
+	* [r409] source/test/testLeaksBig.xml: added one buffer test
 
-2004-05-27 10:27  Sandro Santilli <strk at keybit.net>
+2004-05-27 10:27  Sandro Santilli <strk at kbt.io>
 
-	* [r408] Memory leaks fixed.
+	* [r408] source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp: Memory leaks fixed.
 
-2004-05-27 10:26  Sandro Santilli <strk at keybit.net>
+2004-05-27 10:26  Sandro Santilli <strk at kbt.io>
 
-	* [r407] set (useless?) recordIsolated member in constructor
+	* [r407] source/noding/nodingSegmentIntersector.cpp: set (useless?)
+	  recordIsolated member in constructor
 
-2004-05-27 09:53  Sandro Santilli <strk at keybit.net>
+2004-05-27 09:53  Sandro Santilli <strk at kbt.io>
 
-	* [r406] MonotoneChainOverlapAction::overlap(*) funx made virtual
+	* [r406] source/headers/indexChain.h:
+	  MonotoneChainOverlapAction::overlap(*) funx made virtual
 	  as they are supposed to be.
 
-2004-05-27 08:40  Sandro Santilli <strk at keybit.net>
+2004-05-27 08:40  Sandro Santilli <strk at kbt.io>
 
-	* [r405] Fixed a memleak in buffer test.
+	* [r405] source/test/XMLTester.cpp: Fixed a memleak in buffer test.
 
-2004-05-27 08:37  Sandro Santilli <strk at keybit.net>
+2004-05-27 08:37  Sandro Santilli <strk at kbt.io>
 
-	* [r404] Fixed a bug preventing OffsetCurveBuilder point list from
-	  being reset.
+	* [r404] source/headers/opBuffer.h,
+	  source/operation/buffer/OffsetCurveBuilder.cpp: Fixed a bug
+	  preventing OffsetCurveBuilder point list from being reset.
 
-2004-05-26 19:48  Sandro Santilli <strk at keybit.net>
+2004-05-26 19:48  Sandro Santilli <strk at kbt.io>
 
-	* [r403] Changed abs() to fabs() when working with doubles.
+	* [r403] source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp: Changed abs()
+	  to fabs() when working with doubles.
 	  Used dynamic_cast<> instead of typeid() when JTS uses instanceof.
 
-2004-05-26 13:12  Sandro Santilli <strk at keybit.net>
+2004-05-26 13:12  Sandro Santilli <strk at kbt.io>
 
-	* [r402] Removed try/catch block from ::buildSubgraphs
+	* [r402] source/operation/buffer/BufferBuilder.cpp: Removed
+	  try/catch block from ::buildSubgraphs
 
-2004-05-26 09:50  Sandro Santilli <strk at keybit.net>
+2004-05-26 09:50  Sandro Santilli <strk at kbt.io>
 
-	* [r401] Added comments about OverlayNodeFactory() ownership in
-	  NodeMap and PlanarGraph constuctors
+	* [r401] source/headers/geomgraph.h: Added comments about
+	  OverlayNodeFactory() ownership in NodeMap and PlanarGraph
+	  constuctors
 
-2004-05-26 09:49  Sandro Santilli <strk at keybit.net>
+2004-05-26 09:49  Sandro Santilli <strk at kbt.io>
 
-	* [r400] PlanarGraph made local to ::buffer instead of Class
-	  private.
+	* [r400] source/headers/opBuffer.h,
+	  source/operation/buffer/BufferBuilder.cpp: PlanarGraph made local
+	  to ::buffer instead of Class private.
 
-2004-05-21 14:17  Sandro Santilli <strk at keybit.net>
+2004-05-21 14:17  Sandro Santilli <strk at kbt.io>
 
-	* [r399] updated
+	* [r399] TODO: updated
 
-2004-05-21 13:58  Sandro Santilli <strk at keybit.net>
+2004-05-21 13:58  Sandro Santilli <strk at kbt.io>
 
-	* [r398] ::intersection missed to invalidate geometryCollection
-	  inputs
+	* [r398] source/geom/Geometry.cpp: ::intersection missed to
+	  invalidate geometryCollection inputs
 
-2004-05-21 13:55  Sandro Santilli <strk at keybit.net>
+2004-05-21 13:55  Sandro Santilli <strk at kbt.io>
 
-	* [r397] updated
+	* [r397] TODO: updated
 
-2004-05-21 13:39  Sandro Santilli <strk at keybit.net>
+2004-05-21 13:39  Sandro Santilli <strk at kbt.io>
 
-	* [r396] ::makePrecise make use of nearbyint() now, to be
-	  compatible with JTS
+	* [r396] source/geom/PrecisionModel.cpp: ::makePrecise make use of
+	  nearbyint() now, to be compatible with JTS
 
-2004-05-21 13:37  Sandro Santilli <strk at keybit.net>
+2004-05-21 13:37  Sandro Santilli <strk at kbt.io>
 
-	* [r395] first import
+	* [r395] source/test/testLeaksBig.xml: first import
 
-2004-05-20 09:14  Sandro Santilli <strk at keybit.net>
+2004-05-20 09:14  Sandro Santilli <strk at kbt.io>
 
-	* [r394] updated
+	* [r394] TODO: updated
 
 2004-05-19 19:39  Yury Bychkov <me at yury.ca>
 
-	* [r393] Changed rounding method to make compilable with VC++
+	* [r393] source/geom/PrecisionModel.cpp: Changed rounding method to
+	  make compilable with VC++
 
-2004-05-19 13:40  Sandro Santilli <strk at keybit.net>
+2004-05-19 13:40  Sandro Santilli <strk at kbt.io>
 
-	* [r392] Fixed bug in ::addCircle
+	* [r392] source/operation/buffer/OffsetCurveBuilder.cpp: Fixed bug
+	  in ::addCircle
 
-2004-05-19 13:18  Sandro Santilli <strk at keybit.net>
+2004-05-19 13:18  Sandro Santilli <strk at kbt.io>
 
-	* [r391] made CoordinateList::toString() a const member function
+	* [r391] source/geom/BasicCoordinateList.cpp,
+	  source/geom/PointCoordinateList.cpp, source/headers/geom.h: made
+	  CoordinateList::toString() a const member function
 
-2004-05-19 13:01  Sandro Santilli <strk at keybit.net>
+2004-05-19 13:01  Sandro Santilli <strk at kbt.io>
 
-	* [r390] avoided assignment operator calls for BufferBuilder
+	* [r390] source/operation/buffer/BufferOp.cpp: avoided assignment
+	  operator calls for BufferBuilder
 
-2004-05-19 12:50  Sandro Santilli <strk at keybit.net>
+2004-05-19 12:50  Sandro Santilli <strk at kbt.io>
 
-	* [r389] Removed all try/catch blocks transforming stack
-	  allocated-vectors to auto-heap-allocations
+	* [r389] source/operation/buffer/BufferSubgraph.cpp: Removed all
+	  try/catch blocks transforming stack allocated-vectors to
+	  auto-heap-allocations
 
 2004-05-19 09:57  Yury Bychkov <me at yury.ca>
 
-	* [r388] Bugfix in OffsetCurveSetBuilder::addPolygon (JTS 1.4.1)
+	* [r388] source/operation/buffer/OffsetCurveSetBuilder.cpp: Bugfix
+	  in OffsetCurveSetBuilder::addPolygon (JTS 1.4.1)
 
-2004-05-18 13:49  Sandro Santilli <strk at keybit.net>
+2004-05-18 13:49  Sandro Santilli <strk at kbt.io>
 
-	* [r387] Output made more neat (geometry B is not printed if not
-	  existent).
+	* [r387] source/test/XMLTester.cpp: Output made more neat (geometry
+	  B is not printed if not existent).
 	  Added support for buffer tests.
 
-2004-05-18 13:15  Sandro Santilli <strk at keybit.net>
+2004-05-18 13:15  Sandro Santilli <strk at kbt.io>
 
-	* [r386] made ::scroll handle already scrolled vect and more
-	  readable
+	* [r386] source/geom/CoordinateList.cpp: made ::scroll handle
+	  already scrolled vect and more readable
 
 2004-05-18 00:02  Yury Bychkov <me at yury.ca>
 
-	* [r385] IsValidOp::checkShellNotNested() bugfix from JTS 1.4.1
-	  (not released yet) has been added.
+	* [r385] source/headers/opValid.h,
+	  source/operation/valid/IsValidOp.cpp:
+	  IsValidOp::checkShellNotNested() bugfix from JTS 1.4.1 (not
+	  released yet) has been added.
 
 2004-05-17 21:14  Yury Bychkov <me at yury.ca>
 
-	* [r384] JavaDoc updated
+	* [r384] source/geom/GeometryCollection.cpp, source/headers/geom.h:
+	  JavaDoc updated
 
 2004-05-17 21:09  Yury Bychkov <me at yury.ca>
 
-	* [r383] toString() performance enhancement
+	* [r383] source/geom/BasicCoordinateList.cpp,
+	  source/geom/PointCoordinateList.cpp: toString() performance
+	  enhancement
 
 2004-05-17 21:03  Yury Bychkov <me at yury.ca>
 
-	* [r382] JavaDoc updated
+	* [r382] source/geom/CoordinateList.cpp, source/headers/geom.h:
+	  JavaDoc updated
 
-2004-05-17 12:54  Sandro Santilli <strk at keybit.net>
+2004-05-17 12:54  Sandro Santilli <strk at kbt.io>
 
-	* [r381] Added tab in list of blank chars
+	* [r381] source/io/markup/MarkupSTL.cpp: Added tab in list of blank
+	  chars
 
-2004-05-17 12:53  Sandro Santilli <strk at keybit.net>
+2004-05-17 12:53  Sandro Santilli <strk at kbt.io>
 
-	* [r380] Expected result string trimmed for blanks
+	* [r380] source/test/XMLTester.cpp: Expected result string trimmed
+	  for blanks
 
-2004-05-17 12:37  Sandro Santilli <strk at keybit.net>
+2004-05-17 12:37  Sandro Santilli <strk at kbt.io>
 
-	* [r379] Added carriage returns and tabs in set of blanks chars
+	* [r379] source/io/StringTokenizer.cpp: Added carriage returns and
+	  tabs in set of blanks chars
 
-2004-05-17 12:36  Sandro Santilli <strk at keybit.net>
+2004-05-17 12:36  Sandro Santilli <strk at kbt.io>
 
-	* [r378] ParseException message made more readable
+	* [r378] source/io/ParseException.cpp: ParseException message made
+	  more readable
 
-2004-05-17 10:45  Sandro Santilli <strk at keybit.net>
+2004-05-17 10:45  Sandro Santilli <strk at kbt.io>
 
-	* [r377] Fixed bogus FIXED coordinate rounding
+	* [r377] source/geom/PrecisionModel.cpp: Fixed bogus FIXED
+	  coordinate rounding
 
-2004-05-17 08:34  Sandro Santilli <strk at keybit.net>
+2004-05-17 08:34  Sandro Santilli <strk at kbt.io>
 
-	* [r376] reduced stack allocations, try/catch blocks in ::overlayOp
+	* [r376] source/operation/overlay/OverlayOp.cpp: reduced stack
+	  allocations, try/catch blocks in ::overlayOp
 
-2004-05-17 07:42  Sandro Santilli <strk at keybit.net>
+2004-05-17 07:42  Sandro Santilli <strk at kbt.io>
 
-	* [r375] CentroidArea::add(const Geometry *geom) uses dynamic_cast
+	* [r375] source/algorithm/CentroidArea.cpp: CentroidArea::add(const
+	  Geometry *geom) uses dynamic_cast
 
-2004-05-17 07:23  Sandro Santilli <strk at keybit.net>
+2004-05-17 07:23  Sandro Santilli <strk at kbt.io>
 
-	* [r374] ::getCeontroid(): reduced dynamic allocations, added
-	  missing check for isEmpty
+	* [r374] source/geom/Geometry.cpp: ::getCeontroid(): reduced
+	  dynamic allocations, added missing check for isEmpty
 
-2004-05-14 14:47  Sandro Santilli <strk at keybit.net>
+2004-05-14 14:47  Sandro Santilli <strk at kbt.io>
 
-	* [r373] Added LinearRing support
+	* [r373]
+	  source/operation/distance/ConnectedElementLocationFilter.cpp:
+	  Added LinearRing support
 
-2004-05-14 14:45  Sandro Santilli <strk at keybit.net>
+2004-05-14 14:45  Sandro Santilli <strk at kbt.io>
 
-	* [r372] Fixed bogus inheritance of LinearComponentExtracter
+	* [r372] source/headers/geomUtil.h: Fixed bogus inheritance of
+	  LinearComponentExtracter
 
-2004-05-14 13:42  Sandro Santilli <strk at keybit.net>
+2004-05-14 13:42  Sandro Santilli <strk at kbt.io>
 
-	* [r371] DistanceOp bug removed, cascading errors fixed.
+	* [r371] source/geom/LineSegment.cpp,
+	  source/geom/util/LinearComponentExtracter.cpp,
+	  source/geom/util/PointExtracter.cpp,
+	  source/geom/util/PolygonExtracter.cpp, source/headers/geomUtil.h,
+	  source/headers/opDistance.h,
+	  source/operation/distance/ConnectedElementLocationFilter.cpp,
+	  source/operation/distance/DistanceOp.cpp: DistanceOp bug removed,
+	  cascading errors fixed.
 
-2004-05-14 12:14  Sandro Santilli <strk at keybit.net>
+2004-05-14 12:14  Sandro Santilli <strk at kbt.io>
 
-	* [r370] const correctness
+	* [r370] source/geom/Geometry.cpp, source/headers/geom.h: const
+	  correctness
 
-2004-05-14 12:10  Sandro Santilli <strk at keybit.net>
+2004-05-14 12:10  Sandro Santilli <strk at kbt.io>
 
-	* [r369] avoided leaks on malformed LinearRing
+	* [r369] source/io/WKTReader.cpp: avoided leaks on malformed
+	  LinearRing
 
-2004-05-14 09:20  Sandro Santilli <strk at keybit.net>
+2004-05-14 09:20  Sandro Santilli <strk at kbt.io>
 
-	* [r368] Mem leaks fixed
+	* [r368] source/geom/util/LinearComponentExtracter.cpp,
+	  source/geom/util/PointExtracter.cpp,
+	  source/geom/util/PolygonExtracter.cpp: Mem leaks fixed
 
-2004-05-14 07:19  Sandro Santilli <strk at keybit.net>
+2004-05-14 07:19  Sandro Santilli <strk at kbt.io>
 
-	* [r367] Changed the algorythm for finding precisionModel type
-	  (current way did
+	* [r367] source/test/XMLTester.cpp: Changed the algorythm for
+	  finding precisionModel type (current way did
 	  not work): now if you specify a scale precisionModel will be
 	  FIXED,
 	  otherwise it will be FLOATING.
 
-2004-05-07 14:15  Sandro Santilli <strk at keybit.net>
+2004-05-07 14:15  Sandro Santilli <strk at kbt.io>
 
-	* [r366] fixed peekNextToken to avoid incrementing string pointer
+	* [r366] source/io/StringTokenizer.cpp: fixed peekNextToken to
+	  avoid incrementing string pointer
 
-2004-05-07 14:13  Sandro Santilli <strk at keybit.net>
+2004-05-07 14:13  Sandro Santilli <strk at kbt.io>
 
-	* [r365] Fixed segfault in ::insert
+	* [r365] source/index/bintree/Bintree.cpp: Fixed segfault in
+	  ::insert
 
-2004-05-07 14:12  Sandro Santilli <strk at keybit.net>
+2004-05-07 14:12  Sandro Santilli <strk at kbt.io>
 
-	* [r364] Fixed segfault in destructor
+	* [r364] source/algorithm/InteriorPointArea.cpp: Fixed segfault in
+	  destructor
 
-2004-05-07 13:23  Sandro Santilli <strk at keybit.net>
+2004-05-07 13:23  Sandro Santilli <strk at kbt.io>
 
-	* [r363] Memory leaks fixed.
+	* [r363] source/io/WKTReader.cpp, source/test/XMLTester.cpp: Memory
+	  leaks fixed.
 
-2004-05-07 13:04  Sandro Santilli <strk at keybit.net>
+2004-05-07 13:04  Sandro Santilli <strk at kbt.io>
 
-	* [r362] leak removed in MultiLineString::getBoundary()
+	* [r362] source/geom/MultiLineString.cpp: leak removed in
+	  MultiLineString::getBoundary()
 
-2004-05-07 09:05  Sandro Santilli <strk at keybit.net>
+2004-05-07 09:05  Sandro Santilli <strk at kbt.io>
 
-	* [r361] Some const correctness added. Fixed bug in
-	  GeometryFactory::createMultiPoint
+	* [r361] source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineString.cpp,
+	  source/geom/MultiLineString.cpp, source/geom/MultiPoint.cpp,
+	  source/geom/MultiPolygon.cpp, source/headers/geom.h: Some const
+	  correctness added. Fixed bug in GeometryFactory::createMultiPoint
 	  to handle NULL CoordinateList.
 
-2004-05-07 07:57  Sandro Santilli <strk at keybit.net>
+2004-05-07 07:57  Sandro Santilli <strk at kbt.io>
 
-	* [r360] Added missing EdgeNodingValidator to build scripts.
+	* [r360] source/geom/Makefile.am, source/headers/noding.h,
+	  source/headers/opBuffer.h, source/noding/SegmentString.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp: Added missing
+	  EdgeNodingValidator to build scripts.
 	  Changed SegmentString constructor back to its original form
 	  (takes const void *), implemented local tracking of "contexts"
 	  in caller objects for proper destruction.
 
-2004-05-06 16:30  Sandro Santilli <strk at keybit.net>
+2004-05-06 16:30  Sandro Santilli <strk at kbt.io>
 
-	* [r359] Kept track of newly allocated objects by ensureExtent for
-	  Bintree and Quadtree,
+	* [r359] source/headers/indexBintree.h,
+	  source/headers/indexQuadtree.h, source/index/bintree/Bintree.cpp,
+	  source/index/quadtree/Quadtree.cpp: Kept track of newly allocated
+	  objects by ensureExtent for Bintree and Quadtree,
 	  deleted at destruction time. doc/example.cpp runs with no leaks.
 
-2004-05-06 15:54  Sandro Santilli <strk at keybit.net>
+2004-05-06 15:54  Sandro Santilli <strk at kbt.io>
 
-	* [r358] SegmentNodeList keeps track of created splitEdges for
-	  later destruction.
+	* [r358] source/headers/noding.h,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp:
+	  SegmentNodeList keeps track of created splitEdges for later
+	  destruction.
 	  SegmentString constructor copies given Label.
 	  Buffer operation does no more leaks for doc/example.cpp
 
-2004-05-06 15:00  Sandro Santilli <strk at keybit.net>
+2004-05-06 15:00  Sandro Santilli <strk at kbt.io>
 
-	* [r357] Boundable destructor made virtual.
+	* [r357] source/headers/indexStrtree.h,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/ItemBoundable.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp: Boundable destructor made
+	  virtual.
 	  Added vector <AbstractNode *> *nodes member in AbstractSTRTree,
 	  used to keep track of created node to cleanly delete them at
 	  destruction time.
 
-2004-05-06 13:58  Sandro Santilli <strk at keybit.net>
+2004-05-06 13:58  Sandro Santilli <strk at kbt.io>
 
-	* [r356] leak removed from createParentBoundablesFromVerticalSlices
+	* [r356] source/index/strtree/STRtree.cpp: leak removed from
+	  createParentBoundablesFromVerticalSlices
 
-2004-05-06 08:59  Sandro Santilli <strk at keybit.net>
+2004-05-06 08:59  Sandro Santilli <strk at kbt.io>
 
-	* [r355] memory leak fixed
+	* [r355] source/index/strtree/AbstractSTRtree.cpp: memory leak
+	  fixed
 
-2004-05-05 17:42  Sandro Santilli <strk at keybit.net>
+2004-05-05 17:42  Sandro Santilli <strk at kbt.io>
 
-	* [r354] AbstractNode destructor made virtual. AbstractNode::bounds
-	  made protected.
+	* [r354] source/headers/indexStrtree.h,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp: AbstractNode destructor made
+	  virtual. AbstractNode::bounds made protected.
 	  SIRAbstractNode and STRAbstractNode destructors added to get rid
 	  of
 	  AbstractNode::bounds in the right way (is a void * casted to
 	  appropriate
 	  Class in the subClasses).
 
-2004-05-05 16:57  Sandro Santilli <strk at keybit.net>
+2004-05-05 16:57  Sandro Santilli <strk at kbt.io>
 
-	* [r353] Rewritten static cga allocation to avoid copy constructor
-	  calls.
+	* [r353] source/headers/opBuffer.h,
+	  source/operation/buffer/BufferBuilder.cpp: Rewritten static cga
+	  allocation to avoid copy constructor calls.
 
-2004-05-05 16:51  Sandro Santilli <strk at keybit.net>
+2004-05-05 16:51  Sandro Santilli <strk at kbt.io>
 
-	* [r352] avoided copy constructor in
+	* [r352] source/geom/Geometry.cpp: avoided copy constructor in
 	  Geometry::geometryChangedFilter initializzazion
 
-2004-05-05 16:39  Sandro Santilli <strk at keybit.net>
+2004-05-05 16:39  Sandro Santilli <strk at kbt.io>
 
-	* [r351] reduced explicit local objects allocation
+	* [r351] source/noding/MCQuadtreeNoder.cpp: reduced explicit local
+	  objects allocation
 
-2004-05-05 16:36  Sandro Santilli <strk at keybit.net>
+2004-05-05 16:36  Sandro Santilli <strk at kbt.io>
 
-	* [r350] Avoid use of copy c'tors on local objects initializzation
+	* [r350] source/operation/buffer/BufferBuilder.cpp: Avoid use of
+	  copy c'tors on local objects initializzation
 
-2004-05-05 15:51  Sandro Santilli <strk at keybit.net>
+2004-05-05 15:51  Sandro Santilli <strk at kbt.io>
 
-	* [r349] Fixed big leak in intersectChains()
+	* [r349] source/noding/MCQuadtreeNoder.cpp: Fixed big leak in
+	  intersectChains()
 
-2004-05-05 13:08  Sandro Santilli <strk at keybit.net>
+2004-05-05 13:08  Sandro Santilli <strk at kbt.io>
 
-	* [r348] Leaks fixed, explicit allocations/deallocations reduced.
+	* [r348] source/algorithm/MinimumDiameter.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp: Leaks fixed,
+	  explicit allocations/deallocations reduced.
 
-2004-05-05 12:29  Sandro Santilli <strk at keybit.net>
+2004-05-05 12:29  Sandro Santilli <strk at kbt.io>
 
-	* [r347] memleak fixed in ::getDepth
+	* [r347] source/operation/buffer/SubgraphDepthLocater.cpp: memleak
+	  fixed in ::getDepth
 
-2004-05-05 12:20  Sandro Santilli <strk at keybit.net>
+2004-05-05 12:20  Sandro Santilli <strk at kbt.io>
 
-	* [r346] Memory leak plugged in editGeometryCollection
+	* [r346] source/geom/util/GeometryEditor.cpp: Memory leak plugged
+	  in editGeometryCollection
 
-2004-05-05 10:54  Sandro Santilli <strk at keybit.net>
+2004-05-05 10:54  Sandro Santilli <strk at kbt.io>
 
-	* [r345] Removed some private static heap explicit allocation, less
-	  cleanup done by
+	* [r345] source/geom/Geometry.cpp, source/headers/geom.h,
+	  source/headers/opBuffer.h, source/io/Unload.cpp,
+	  source/operation/buffer/BufferBuilder.cpp: Removed some private
+	  static heap explicit allocation, less cleanup done by
 	  the unloader.
 
-2004-05-05 10:44  Sandro Santilli <strk at keybit.net>
+2004-05-05 10:44  Sandro Santilli <strk at kbt.io>
 
-	* [r344] updated
+	* [r344] TODO: updated
 
-2004-05-05 10:22  Sandro Santilli <strk at keybit.net>
+2004-05-05 10:22  Sandro Santilli <strk at kbt.io>
 
-	* [r343] Removed dynamic allocations.
+	* [r343] source/operation/buffer/BufferOp.cpp: Removed dynamic
+	  allocations.
 
-2004-05-05 10:03  Sandro Santilli <strk at keybit.net>
+2004-05-05 10:03  Sandro Santilli <strk at kbt.io>
 
-	* [r342] Reduced dynamic allocations in bufferOriginalPrecision and
-	  bufferFixedPrecision.
+	* [r342] source/operation/buffer/BufferOp.cpp: Reduced dynamic
+	  allocations in bufferOriginalPrecision and bufferFixedPrecision.
 
-2004-05-03 22:56  Sandro Santilli <strk at keybit.net>
+2004-05-03 22:56  Sandro Santilli <strk at kbt.io>
 
-	* [r341] leaks fixed, exception specification omitted.
+	* [r341] source/geomgraph/EdgeList.cpp, source/headers/noding.h,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/noding/IteratedNoder.cpp,
+	  source/noding/MCQuadtreeNoder.cpp, source/noding/Noder.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp: leaks fixed,
+	  exception specification omitted.
 
-2004-05-03 20:49  Sandro Santilli <strk at keybit.net>
+2004-05-03 20:49  Sandro Santilli <strk at kbt.io>
 
-	* [r340] Some more leaks fixed
+	* [r340] source/geom/util/LinearComponentExtracter.cpp,
+	  source/geom/util/PointExtracter.cpp,
+	  source/noding/SegmentNodeList.cpp: Some more leaks fixed
 
-2004-05-03 17:15  Sandro Santilli <strk at keybit.net>
+2004-05-03 17:15  Sandro Santilli <strk at kbt.io>
 
-	* [r339] leaks on exception fixed.
+	* [r339] source/geom/util/GeometryEditor.cpp,
+	  source/headers/precision.h, source/index/strtree/STRtree.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/precision/CommonBitsOp.cpp,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp: leaks on
+	  exception fixed.
 
-2004-05-03 16:29  Sandro Santilli <strk at keybit.net>
+2004-05-03 16:29  Sandro Santilli <strk at kbt.io>
 
-	* [r338] Added sortBoundables(const vector<Boundable *>) pure
-	  virtual in AbstractSTRtree,
+	* [r338] source/headers/indexStrtree.h,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp: Added sortBoundables(const
+	  vector<Boundable *>) pure virtual in AbstractSTRtree,
 	  implemented in SIRtree and STRtree. Comparator funx made static
 	  in STRtree.cpp
 	  and SIRtree.cpp.
 
-2004-05-03 13:17  Sandro Santilli <strk at keybit.net>
+2004-05-03 13:17  Sandro Santilli <strk at kbt.io>
 
-	* [r337] Fixed comparator function to express StrictWeakOrdering.
+	* [r337] source/headers/indexStrtree.h,
+	  source/index/strtree/AbstractSTRtree.cpp: Fixed comparator
+	  function to express StrictWeakOrdering.
 
-2004-05-03 12:09  Sandro Santilli <strk at keybit.net>
+2004-05-03 12:09  Sandro Santilli <strk at kbt.io>
 
-	* [r336] newline added at end of file
+	* [r336] source/noding/Noder.cpp, source/noding/SegmentNode.cpp,
+	  source/noding/nodingSegmentIntersector.cpp,
+	  source/planargraph/planarNodeMap.cpp: newline added at end of
+	  file
 
-2004-05-03 10:43  Sandro Santilli <strk at keybit.net>
+2004-05-03 10:43  Sandro Santilli <strk at kbt.io>
 
-	* [r335] Exception specification considered harmful - left as
-	  comment.
+	* [r335] source/geomgraph/DirectedEdgeStar.cpp,
+	  source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/PlanarGraph.cpp, source/headers/geomgraph.h,
+	  source/headers/opBuffer.h, source/headers/opOverlay.h,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/planargraph/planarDirectedEdge.cpp: Exception
+	  specification considered harmful - left as comment.
 
-2004-04-30 09:15  Sandro Santilli <strk at keybit.net>
+2004-04-30 09:15  Sandro Santilli <strk at kbt.io>
 
-	* [r334] Enlarged exception specifications to allow for
-	  AssertionFailedException.
+	* [r334] source/geom/Geometry.cpp, source/headers/noding.h,
+	  source/headers/opBuffer.h, source/noding/IteratedNoder.cpp,
+	  source/operation/buffer/BufferBuilder.cpp: Enlarged exception
+	  specifications to allow for AssertionFailedException.
 	  Added missing initializers.
 
-2004-04-28 14:58  Sandro Santilli <strk at keybit.net>
+2004-04-28 14:58  Sandro Santilli <strk at kbt.io>
 
-	* [r333] Made AbstractSTRtree::query use dynamic_cast<> to simulate
-	  java's
+	* [r333] source/index/strtree/AbstractSTRtree.cpp: Made
+	  AbstractSTRtree::query use dynamic_cast<> to simulate java's
 	  instanceof. Previous typeid(*) use missed to catch an
 	  STRAbstractNode
 	  as a class derived from AbstractNode. Still have to check if this
@@ -15744,1305 +27920,2931 @@
 
 2004-04-26 22:00  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r332] Bump version number to 1.4 to indicate new changes.
-
-2004-04-26 12:37  Sandro Santilli <strk at keybit.net>
+	* [r332] configure.in: Bump version number to 1.4 to indicate new
+	  changes.
 
-	* [r331] Some leaks fixed.
+2004-04-26 12:37  Sandro Santilli <strk at kbt.io>
 
-2004-04-23 00:02  Sandro Santilli <strk at keybit.net>
+	* [r331] source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/STRtree.cpp: Some leaks fixed.
 
-	* [r330] const-correctness changes
+2004-04-23 00:02  Sandro Santilli <strk at kbt.io>
 
-2004-04-21 14:14  Sandro Santilli <strk at keybit.net>
+	* [r330] source/headers/noding.h, source/headers/opBuffer.h,
+	  source/noding/IteratedNoder.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp: const-correctness changes
 
-	* [r329] Fixed bug in computeDepths
+2004-04-21 14:14  Sandro Santilli <strk at kbt.io>
 
-2004-04-20 13:24  Sandro Santilli <strk at keybit.net>
+	* [r329] source/geomgraph/DirectedEdgeStar.cpp: Fixed bug in
+	  computeDepths
 
-	* [r328] More leaks removed.
+2004-04-20 13:24  Sandro Santilli <strk at kbt.io>
 
-2004-04-20 12:47  Sandro Santilli <strk at keybit.net>
+	* [r328] source/algorithm/ConvexHull.cpp,
+	  source/algorithm/MinimumDiameter.cpp, source/geom/LineString.cpp,
+	  source/geom/LinearRing.cpp, source/geom/Polygon.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/overlay/OverlayOp.cpp: More leaks removed.
 
-	* [r327] MinimumDiameter leaks plugged.
+2004-04-20 12:47  Sandro Santilli <strk at kbt.io>
 
-2004-04-20 10:58  Sandro Santilli <strk at keybit.net>
+	* [r327] source/algorithm/MinimumDiameter.cpp,
+	  source/headers/geosAlgorithm.h: MinimumDiameter leaks plugged.
 
-	* [r326] More memory leaks removed.
+2004-04-20 10:58  Sandro Santilli <strk at kbt.io>
 
-2004-04-20 10:14  Sandro Santilli <strk at keybit.net>
+	* [r326] source/headers/opBuffer.h,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp: More memory
+	  leaks removed.
 
-	* [r325] Memory leaks removed.
+2004-04-20 10:14  Sandro Santilli <strk at kbt.io>
 
-2004-04-20 08:52  Sandro Santilli <strk at keybit.net>
+	* [r325] source/algorithm/MinimumDiameter.cpp,
+	  source/geom/Geometry.cpp, source/geom/util/GeometryEditor.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp: Memory leaks
+	  removed.
 
-	* [r324] GeometryFactory and Geometry const correctness.
+2004-04-20 08:52  Sandro Santilli <strk at kbt.io>
+
+	* [r324] source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineString.cpp,
+	  source/geom/LinearRing.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Polygon.cpp, source/geom/Triangle.cpp,
+	  source/geom/util/GeometryEditor.cpp, source/headers/geom.h,
+	  source/headers/geomUtil.h, source/headers/precision.h,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp:
+	  GeometryFactory and Geometry const correctness.
 	  Memory leaks removed from SimpleGeometryPrecisionReducer
 	  and GeometryFactory.
 
-2004-04-19 16:14  Sandro Santilli <strk at keybit.net>
-
-	* [r323] Some memory leaks plugged in noding algorithms.
-
-2004-04-19 15:14  Sandro Santilli <strk at keybit.net>
-
-	* [r322] Added missing virtual destructor in SpatialIndex class.
+2004-04-19 16:14  Sandro Santilli <strk at kbt.io>
+
+	* [r323] source/headers/noding.h, source/noding/IteratedNoder.cpp,
+	  source/noding/MCQuadtreeNoder.cpp,
+	  source/noding/SegmentString.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp: Some memory
+	  leaks plugged in noding algorithms.
+
+2004-04-19 15:14  Sandro Santilli <strk at kbt.io>
+
+	* [r322] source/geomgraph/PlanarGraph.cpp,
+	  source/headers/indexQuadtree.h, source/headers/opBuffer.h,
+	  source/headers/spatialIndex.h,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp: Added missing
+	  virtual destructor in SpatialIndex class.
 	  Memory leaks fixes. Const and throw specifications added.
 
-2004-04-19 12:51  Sandro Santilli <strk at keybit.net>
+2004-04-19 12:51  Sandro Santilli <strk at kbt.io>
 
-	* [r321] Memory leaks fixes. Throw specifications added.
+	* [r321] source/headers/noding.h, source/headers/opBuffer.h,
+	  source/noding/IteratedNoder.cpp,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp: Memory leaks fixes. Throw
+	  specifications added.
 
-2004-04-16 14:12  Sandro Santilli <strk at keybit.net>
+2004-04-16 14:12  Sandro Santilli <strk at kbt.io>
 
-	* [r320] Memory leak fix in copy constructor
+	* [r320] source/geom/Point.cpp: Memory leak fix in copy constructor
 
-2004-04-16 14:09  Sandro Santilli <strk at keybit.net>
+2004-04-16 14:09  Sandro Santilli <strk at kbt.io>
 
-	* [r319] Leaks fixes
+	* [r319] source/operation/buffer/BufferOp.cpp: Leaks fixes
 
-2004-04-16 13:03  Sandro Santilli <strk at keybit.net>
+2004-04-16 13:03  Sandro Santilli <strk at kbt.io>
 
-	* [r318] More leaks fixed
+	* [r318] source/operation/buffer/OffsetCurveBuilder.cpp: More leaks
+	  fixed
 
-2004-04-16 12:48  Sandro Santilli <strk at keybit.net>
+2004-04-16 12:48  Sandro Santilli <strk at kbt.io>
 
-	* [r317] Leak fixes.
+	* [r317] source/noding/IteratedNoder.cpp,
+	  source/noding/MCQuadtreeNoder.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp: Leak fixes.
 
-2004-04-16 11:04  Sandro Santilli <strk at keybit.net>
+2004-04-16 11:04  Sandro Santilli <strk at kbt.io>
 
-	* [r316] Memory leaks plugged on exception thrown
+	* [r316] source/operation/buffer/BufferOp.cpp: Memory leaks plugged
+	  on exception thrown
 
-2004-04-16 10:00  Sandro Santilli <strk at keybit.net>
+2004-04-16 10:00  Sandro Santilli <strk at kbt.io>
 
-	* [r315] Memory leak fixed.
+	* [r315] source/operation/buffer/BufferOp.cpp: Memory leak fixed.
 
-2004-04-16 09:01  Sandro Santilli <strk at keybit.net>
+2004-04-16 09:01  Sandro Santilli <strk at kbt.io>
 
-	* [r314] Removed memory leak in CGAlgorithms::isOnline
+	* [r314] source/algorithm/CGAlgorithms.cpp: Removed memory leak in
+	  CGAlgorithms::isOnline
 
-2004-04-16 08:52  Sandro Santilli <strk at keybit.net>
+2004-04-16 08:52  Sandro Santilli <strk at kbt.io>
 
-	* [r313] Unload::Release final delete (static heap allocations
-	  should be gone now)
+	* [r313] source/headers/planargraph.h, source/io/Unload.cpp:
+	  Unload::Release final delete (static heap allocations should be
+	  gone now)
 
-2004-04-16 08:35  Sandro Santilli <strk at keybit.net>
+2004-04-16 08:35  Sandro Santilli <strk at kbt.io>
 
-	* [r312] Memory leaks fixed and const correctness applied for Point
-	  class.
+	* [r312] source/geom/GeometryFactory.cpp, source/geom/Point.cpp,
+	  source/headers/geom.h: Memory leaks fixed and const correctness
+	  applied for Point class.
 
-2004-04-16 07:42  Sandro Santilli <strk at keybit.net>
+2004-04-16 07:42  Sandro Santilli <strk at kbt.io>
 
-	* [r311] PrecisionModel::Type made an enum instead of a Type.
+	* [r311] source/geom/PrecisionModel.cpp, source/headers/geom.h,
+	  source/io/Unload.cpp: PrecisionModel::Type made an enum instead
+	  of a Type.
 
-2004-04-15 15:11  Sandro Santilli <strk at keybit.net>
+2004-04-15 15:11  Sandro Santilli <strk at kbt.io>
 
-	* [r310] Commented out deletion that seems to cause segfaults
+	* [r310] source/io/Unload.cpp: Commented out deletion that seems to
+	  cause segfaults
 
-2004-04-15 14:00  Sandro Santilli <strk at keybit.net>
+2004-04-15 14:00  Sandro Santilli <strk at kbt.io>
 
-	* [r309] Added new cleanup to Unload::Release
+	* [r309] source/headers/geom.h, source/headers/opBuffer.h,
+	  source/io/Unload.cpp: Added new cleanup to Unload::Release
 
-2004-04-14 13:56  Sandro Santilli <strk at keybit.net>
+2004-04-14 13:56  Sandro Santilli <strk at kbt.io>
 
-	* [r308] All geometries returned by {from,to}InternalGeometry calls
-	  are
+	* [r308] source/geom/Geometry.cpp, source/headers/geom.h: All
+	  geometries returned by {from,to}InternalGeometry calls are
 	  now deleted after use (unless NOT new).
 	  Some 'commented' throw specifications in geom.h
 
-2004-04-14 13:14  Sandro Santilli <strk at keybit.net>
+2004-04-14 13:14  Sandro Santilli <strk at kbt.io>
 
-	* [r307] Removed deletion of externally pointed GeometryFactory
-	  from OverlayOp destructor
+	* [r307] source/operation/overlay/OverlayOp.cpp: Removed deletion
+	  of externally pointed GeometryFactory from OverlayOp destructor
 
-2004-04-14 12:28  Sandro Santilli <strk at keybit.net>
+2004-04-14 12:28  Sandro Santilli <strk at kbt.io>
 
-	* [r306] shouldNeverReachHere exceptions made more verbose
+	* [r306] source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp: shouldNeverReachHere
+	  exceptions made more verbose
 
-2004-04-14 11:05  Sandro Santilli <strk at keybit.net>
+2004-04-14 11:05  Sandro Santilli <strk at kbt.io>
 
-	* [r305] Added support for LinearRing in GeometryEditor
+	* [r305] source/geom/util/GeometryEditor.cpp: Added support for
+	  LinearRing in GeometryEditor
 
-2004-04-14 10:56  Sandro Santilli <strk at keybit.net>
+2004-04-14 10:56  Sandro Santilli <strk at kbt.io>
 
-	* [r304] Uncommented initializzazion and destruction of
+	* [r304] source/operation/distance/DistanceOp.cpp: Uncommented
+	  initializzazion and destruction of
 	  DistanceOp::minDistanceLocation
 
-2004-04-14 09:38  Sandro Santilli <strk at keybit.net>
+2004-04-14 09:38  Sandro Santilli <strk at kbt.io>
 
-	* [r303] PrecisionModel(double newScale) missed to set the scale
+	* [r303] source/geom/PrecisionModel.cpp: PrecisionModel(double
+	  newScale) missed to set the scale
 
-2004-04-14 09:30  Sandro Santilli <strk at keybit.net>
+2004-04-14 09:30  Sandro Santilli <strk at kbt.io>
 
-	* [r302] Private iterated noding funx now use int* instead of
-	  vector to know
+	* [r302] source/headers/noding.h, source/noding/IteratedNoder.cpp:
+	  Private iterated noding funx now use int* instead of vector to
+	  know
 	  when it's time to stop.
 
-2004-04-14 09:11  Sandro Santilli <strk at keybit.net>
+2004-04-14 09:11  Sandro Santilli <strk at kbt.io>
 
-	* [r301] endCapStyle was never set in BufferOp contructor
+	* [r301] source/operation/buffer/BufferOp.cpp: endCapStyle was
+	  never set in BufferOp contructor
 
-2004-04-14 08:38  Sandro Santilli <strk at keybit.net>
+2004-04-14 08:38  Sandro Santilli <strk at kbt.io>
 
-	* [r300] BufferBuilder constructor missed to initialize
-	  workingPrecisionModel
+	* [r300] source/operation/buffer/BufferBuilder.cpp: BufferBuilder
+	  constructor missed to initialize workingPrecisionModel
 
-2004-04-14 08:38  Sandro Santilli <strk at keybit.net>
+2004-04-14 08:38  Sandro Santilli <strk at kbt.io>
 
-	* [r299] BufferOp constructor missed to set argGeom
+	* [r299] source/operation/buffer/BufferOp.cpp: BufferOp constructor
+	  missed to set argGeom
 
-2004-04-14 07:29  Sandro Santilli <strk at keybit.net>
+2004-04-14 07:29  Sandro Santilli <strk at kbt.io>
 
-	* [r298] Fixed GeometryFactory constructors to copy given
-	  PrecisionModel. Added GeometryFactory copy constructor. Fixed
-	  Geometry constructors to copy GeometryFactory.
+	* [r298] source/geom/Geometry.cpp, source/geom/GeometryFactory.cpp,
+	  source/headers/geom.h: Fixed GeometryFactory constructors to copy
+	  given PrecisionModel. Added GeometryFactory copy constructor.
+	  Fixed Geometry constructors to copy GeometryFactory.
 
 2004-04-14 06:04  Yury Bychkov <me at yury.ca>
 
-	* [r297] "geomgraph/index" committ problem fixed.
-
-2004-04-13 14:45  Sandro Santilli <strk at keybit.net>
-
-	* [r296] Removed faulty assert in constructor
+	* [r297] source/geomgraph/index,
+	  source/geomgraph/index/MonotoneChain.cpp,
+	  source/geomgraph/index/MonotoneChainEdge.cpp,
+	  source/geomgraph/index/MonotoneChainIndexer.cpp,
+	  source/geomgraph/index/SegmentIntersector.cpp,
+	  source/geomgraph/index/SimpleEdgeSetIntersector.cpp,
+	  source/geomgraph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/geomgraph/index/SimpleSweepLineIntersector.cpp,
+	  source/geomgraph/index/SweepLineEvent.cpp,
+	  source/geomgraph/index/SweepLineSegment.cpp: "geomgraph/index"
+	  committ problem fixed.
+
+2004-04-13 14:45  Sandro Santilli <strk at kbt.io>
+
+	* [r296] source/geom/Point.cpp: Removed faulty assert in
+	  constructor
 
-2004-04-13 14:33  Sandro Santilli <strk at keybit.net>
+2004-04-13 14:33  Sandro Santilli <strk at kbt.io>
 
-	* [r295] Added more source files
+	* [r295] source/geom/Makefile.am: Added more source files
 
-2004-04-13 14:28  Sandro Santilli <strk at keybit.net>
+2004-04-13 14:28  Sandro Santilli <strk at kbt.io>
 
-	* [r294] Removed spurious line
+	* [r294] doc/example.cpp: Removed spurious line
 
-2004-04-13 13:31  Sandro Santilli <strk at keybit.net>
+2004-04-13 13:31  Sandro Santilli <strk at kbt.io>
 
-	* [r293] prototype mismatch fixed
+	* [r293] source/headers/precision.h: prototype mismatch fixed
 
-2004-04-13 12:29  Sandro Santilli <strk at keybit.net>
+2004-04-13 12:29  Sandro Santilli <strk at kbt.io>
 
-	* [r292] GeometryLocation const-correctness.
+	* [r292] source/headers/opDistance.h,
+	  source/operation/distance/GeometryLocation.cpp: GeometryLocation
+	  const-correctness.
 
-2004-04-13 11:04  Sandro Santilli <strk at keybit.net>
+2004-04-13 11:04  Sandro Santilli <strk at kbt.io>
 
-	* [r291] Added lost opDistance.h
+	* [r291] source/headers/Makefile.am: Added lost opDistance.h
 
-2004-04-13 11:03  Sandro Santilli <strk at keybit.net>
+2004-04-13 11:03  Sandro Santilli <strk at kbt.io>
 
-	* [r290] Added new header files
+	* [r290] source/headers/Makefile.am: Added new header files
 
-2004-04-13 10:58  Sandro Santilli <strk at keybit.net>
+2004-04-13 10:58  Sandro Santilli <strk at kbt.io>
 
-	* [r289] Added new source files
+	* [r289] source/geom/Makefile.am: Added new source files
 
-2004-04-13 10:05  Sandro Santilli <strk at keybit.net>
+2004-04-13 10:05  Sandro Santilli <strk at kbt.io>
 
-	* [r288] GeometryLocation constructor made const-correct.
+	* [r288] source/headers/opDistance.h,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/distance/GeometryLocation.cpp: GeometryLocation
+	  constructor made const-correct.
 	  Fixed erroneus down-casting in
 	  DistanceOp::computeMinDistancePoints.
 
-2004-04-13 08:15  Sandro Santilli <strk at keybit.net>
+2004-04-13 08:15  Sandro Santilli <strk at kbt.io>
 
-	* [r287] Changed all 'long long' with int64.
+	* [r287] source/headers/geom.h: Changed all 'long long' with int64.
 	  Changed all 'long long' constants to end with two Ls.
 
 2004-04-10 22:41  Yury Bychkov <me at yury.ca>
 
-	* [r286] "precision" upgraded to JTS 1.4
+	* [r286] VisualStudio/GEOS.vcproj, source/geom/LineString.cpp,
+	  source/geom/Point.cpp, source/headers/geom.h,
+	  source/headers/precision.h, source/headers/util.h,
+	  source/operation/buffer/BufferOp.cpp, source/precision,
+	  source/precision/CommonBits.cpp,
+	  source/precision/CommonBitsOp.cpp,
+	  source/precision/CommonBitsRemover.cpp,
+	  source/precision/EnhancedPrecisionOp.cpp,
+	  source/precision/SimpleGeometryPrecisionReducer.cpp,
+	  source/util/UniqueCoordinateArrayFilter.cpp: "precision" upgraded
+	  to JTS 1.4
 
 2004-04-10 08:40  Yury Bychkov <me at yury.ca>
 
-	* [r285] "operation/buffer" upgraded to JTS 1.4
+	* [r285] VisualStudio/GEOS.vcproj,
+	  source/geomgraph/PlanarGraph.cpp, source/headers/geomgraph.h,
+	  source/headers/opBuffer.h, source/headers/opOverlay.h,
+	  source/operation/buffer/BufferBuilder.cpp,
+	  source/operation/buffer/BufferEdgeBuilder.cpp,
+	  source/operation/buffer/BufferLineBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/LoopFilter.cpp,
+	  source/operation/buffer/OffsetCurveBuilder.cpp,
+	  source/operation/buffer/OffsetCurveSetBuilder.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/buffer/SubgraphDepthLocater.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp: "operation/buffer"
+	  upgraded to JTS 1.4
 
 2004-04-08 04:53  Yury Bychkov <me at yury.ca>
 
-	* [r284] "operation/polygonize" ported from JTS 1.4
+	* [r284] VisualStudio/GEOS.vcproj, source/headers/opPolygonize.h,
+	  source/operation/polygonize,
+	  source/operation/polygonize/PolygonizeDirectedEdge.cpp,
+	  source/operation/polygonize/PolygonizeEdge.cpp,
+	  source/operation/polygonize/PolygonizeGraph.cpp,
+	  source/operation/polygonize/Polygonizer.cpp,
+	  source/operation/polygonize/polygonizeEdgeRing.cpp:
+	  "operation/polygonize" ported from JTS 1.4
 
 2004-04-07 06:55  Yury Bychkov <me at yury.ca>
 
-	* [r283] "operation/linemerge" ported from JTS 1.4
+	* [r283] VisualStudio/GEOS.vcproj, source/geom/CoordinateList.cpp,
+	  source/headers/geom.h, source/headers/opLinemerge.h,
+	  source/headers/planargraph.h, source/operation/linemerge,
+	  source/operation/linemerge/EdgeString.cpp,
+	  source/operation/linemerge/LineMergeDirectedEdge.cpp,
+	  source/operation/linemerge/LineMergeEdge.cpp,
+	  source/operation/linemerge/LineMergeGraph.cpp,
+	  source/operation/linemerge/LineMerger.cpp,
+	  source/planargraph/PlanarGraph.cpp,
+	  source/planargraph/planarNodeMap.cpp,
+	  source/planargraph/planarPlanarGraph.cpp: "operation/linemerge"
+	  ported from JTS 1.4
 
 2004-04-05 06:35  Yury Bychkov <me at yury.ca>
 
-	* [r282] "operation/distance" upgraded to JTS 1.4
+	* [r282] VisualStudio/GEOS.vcproj,
+	  source/algorithm/CGAlgorithms.cpp, source/geom/LineSegment.cpp,
+	  source/headers/indexStrtree.h, source/headers/opDistance.h,
+	  source/index/strtree/STRtree.cpp,
+	  source/operation/distance/ConnectedElementLocationFilter.cpp,
+	  source/operation/distance/ConnectedElementPointFilter.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/distance/GeometryLocation.cpp,
+	  source/operation/distance/LineExtracterFilter.cpp,
+	  source/operation/distance/PointExtracterFilter.cpp,
+	  source/operation/distance/PolygonExtracterFilter.cpp:
+	  "operation/distance" upgraded to JTS 1.4
 
 2004-04-04 06:29  Yury Bychkov <me at yury.ca>
 
-	* [r281] "planargraph" and "geom/utill" upgraded to JTS 1.4
+	* [r281] VisualStudio/GEOS.vcproj, source/geom/GeometryFactory.cpp,
+	  source/geom/util, source/geom/util/GeometryEditor.cpp,
+	  source/geom/util/LinearComponentExtracter.cpp,
+	  source/geom/util/PointExtracter.cpp,
+	  source/geom/util/PolygonExtracter.cpp, source/headers/geom.h,
+	  source/headers/geomUtil.h, source/headers/geomgraph.h,
+	  source/headers/geomgraphindex.h, source/headers/planargraph.h,
+	  source/planargraph, source/planargraph/PlanarGraph.cpp,
+	  source/planargraph/planarDirectedEdge.cpp,
+	  source/planargraph/planarDirectedEdgeStar.cpp,
+	  source/planargraph/planarEdge.cpp,
+	  source/planargraph/planarGraphComponent.cpp,
+	  source/planargraph/planarNode.cpp,
+	  source/planargraph/planarNodeMap.cpp: "planargraph" and
+	  "geom/utill" upgraded to JTS 1.4
 
 2004-04-01 10:44  Yury Bychkov <me at yury.ca>
 
-	* [r280] All "geom" classes from JTS 1.3 upgraded to JTS 1.4
+	* [r280] source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineString.cpp,
+	  source/geom/LinearRing.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/Polygon.cpp,
+	  source/headers/geom.h, source/io/Unload.cpp: All "geom" classes
+	  from JTS 1.3 upgraded to JTS 1.4
 
 2004-03-31 07:50  Yury Bychkov <me at yury.ca>
 
-	* [r279] "geom" partially upgraded to JTS 1.4
+	* [r279] source/geom/LineString.cpp, source/geom/MultiPoint.cpp,
+	  source/geom/MultiPolygon.cpp, source/geom/Point.cpp,
+	  source/geom/Polygon.cpp, source/geom/PrecisionModel.cpp,
+	  source/geomgraph/EdgeNodingValidator.cpp, source/headers/geom.h:
+	  "geom" partially upgraded to JTS 1.4
 
 2004-03-29 06:59  Yury Bychkov <me at yury.ca>
 
-	* [r278] "noding/snapround" package ported (JTS 1.4);
+	* [r278] VisualStudio/GEOS.vcproj, source/geom/LineSegment.cpp,
+	  source/headers/geom.h, source/headers/nodingSnapround.h,
+	  source/headers/opOverlay.h, source/headers/opRelate.h,
+	  source/headers/opValid.h, source/headers/operation.h,
+	  source/io/Unload.cpp, source/noding/snapround,
+	  source/noding/snapround/SegmentSnapper.cpp,
+	  source/noding/snapround/SimpleSegmentStringsSnapper.cpp,
+	  source/noding/snapround/SnapRounder.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp:
+	  "noding/snapround" package ported (JTS 1.4);
 	  "operation", "operation/valid", "operation/relate" and
 	  "operation/overlay" upgraded to JTS 1.4;
 	  "geom" partially upgraded.
 
 2004-03-26 07:48  Yury Bychkov <me at yury.ca>
 
-	* [r277] "noding" package ported (JTS 1.4)
+	* [r277] VisualStudio/GEOS.vcproj, source/headers/noding.h,
+	  source/noding, source/noding/IteratedNoder.cpp,
+	  source/noding/MCQuadtreeNoder.cpp, source/noding/Noder.cpp,
+	  source/noding/NodingValidator.cpp, source/noding/SegmentNode.cpp,
+	  source/noding/SegmentNodeList.cpp,
+	  source/noding/SegmentString.cpp, source/noding/SimpleNoder.cpp,
+	  source/noding/nodingSegmentIntersector.cpp: "noding" package
+	  ported (JTS 1.4)
 
 2004-03-25 02:23  Yury Bychkov <me at yury.ca>
 
-	* [r276] All "index/*" packages upgraded to JTS 1.4
+	* [r276] source/algorithm/RobustLineIntersector.cpp, source/graph,
+	  source/headers/indexBintree.h, source/headers/indexChain.h,
+	  source/headers/indexQuadtree.h, source/headers/indexStrtree.h,
+	  source/headers/spatialIndex.h,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/MonotoneChainOverlapAction.cpp,
+	  source/index/chain/MonotoneChainSelectAction.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp: All "index/*" packages upgraded
+	  to JTS 1.4
 
 2004-03-19 09:49  Yury Bychkov <me at yury.ca>
 
-	* [r275] "geomgraph" and "geomgraph/indexl" upgraded to JTS 1.4
+	* [r275] VisualStudio/GEOS.vcproj,
+	  source/algorithm/PointLocator.cpp, source/geomgraph,
+	  source/geomgraph/Depth.cpp, source/geomgraph/DirectedEdge.cpp,
+	  source/geomgraph/DirectedEdgeStar.cpp, source/geomgraph/Edge.cpp,
+	  source/geomgraph/EdgeEnd.cpp, source/geomgraph/EdgeEndStar.cpp,
+	  source/geomgraph/EdgeIntersection.cpp,
+	  source/geomgraph/EdgeIntersectionList.cpp,
+	  source/geomgraph/EdgeList.cpp,
+	  source/geomgraph/EdgeNodingValidator.cpp,
+	  source/geomgraph/EdgeRing.cpp,
+	  source/geomgraph/GeometryGraph.cpp,
+	  source/geomgraph/GraphComponent.cpp, source/geomgraph/Label.cpp,
+	  source/geomgraph/Node.cpp, source/geomgraph/NodeFactory.cpp,
+	  source/geomgraph/NodeMap.cpp, source/geomgraph/PlanarGraph.cpp,
+	  source/geomgraph/Position.cpp, source/geomgraph/Quadrant.cpp,
+	  source/geomgraph/TopologyLocation.cpp,
+	  source/graph/index/MonotoneChain.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/MonotoneChainIndexer.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SimpleEdgeSetIntersector.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/graph/index/SimpleSweepLineIntersector.cpp,
+	  source/graph/index/SweepLineEvent.cpp,
+	  source/graph/index/SweepLineSegment.cpp,
+	  source/headers/geomgraph.h, source/headers/geomgraphindex.h,
+	  source/headers/graph.h, source/headers/graphindex.h,
+	  source/headers/noding.h, source/headers/opOverlay.h,
+	  source/headers/opRelate.h, source/headers/operation.h,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/io/Unload.cpp, source/operation/buffer/BufferOp.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/test/XMLTester.cpp: "geomgraph" and "geomgraph/indexl"
+	  upgraded to JTS 1.4
 
 2004-03-18 10:42  Yury Bychkov <me at yury.ca>
 
-	* [r274] "IO" and "Util" upgraded to JTS 1.4
+	* [r274] VisualStudio/GEOS.vcproj, source/geom/Coordinate.cpp,
+	  source/geom/CoordinateList.cpp, source/geom/Envelope.cpp,
+	  source/geom/Triangle.cpp, source/headers/geom.h,
+	  source/headers/io.h, source/headers/util.h,
+	  source/io/StringTokenizer.cpp, source/io/WKTReader.cpp,
+	  source/io/WKTWriter.cpp, source/util/GeometricShapeFactory.cpp:
+	  "IO" and "Util" upgraded to JTS 1.4
 	  "Geometry" partially upgraded.
 
 2004-03-17 02:00  Yury Bychkov <me at yury.ca>
 
-	* [r273] "Algorithm" upgraded to JTS 1.4
-
-2004-03-01 22:04  Sandro Santilli <strk at keybit.net>
-
-	* [r272] applied const correctness changes by Manuel Prieto
-	  Villegas <ManuelPrietoVillegas at telefonica.net>
-
-2004-02-27 17:43  Sandro Santilli <strk at keybit.net>
-
-	* [r271] memory leak fix in Polygon::getArea() - reported by
-	  'Manuel Prieto Villegas' <mprieto at dap.es>
-
-2004-02-27 17:42  Sandro Santilli <strk at keybit.net>
-
-	* [r270] made CGAlgorithms::signedArea() and CGAlgorithms::length()
-	  arguments const-correct
+	* [r273] VisualStudio/GEOS.sln, VisualStudio/GEOS.vcproj,
+	  source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/CentroidArea.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/MinimumDiameter.cpp,
+	  source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp, source/geom/Geometry.cpp,
+	  source/headers/geom.h, source/headers/geosAlgorithm.h,
+	  source/test/Stackwalker.h: "Algorithm" upgraded to JTS 1.4
+
+2004-03-01 22:04  Sandro Santilli <strk at kbt.io>
+
+	* [r272] source/geom/Geometry.cpp, source/headers/geom.h,
+	  source/headers/opBuffer.h, source/headers/opRelate.h,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/relate/RelateOp.cpp: applied const correctness
+	  changes by Manuel Prieto Villegas
+	  <ManuelPrietoVillegas at telefonica.net>
+
+2004-02-27 17:43  Sandro Santilli <strk at kbt.io>
+
+	* [r271] source/geom/Polygon.cpp: memory leak fix in
+	  Polygon::getArea() - reported by 'Manuel Prieto Villegas'
+	  <mprieto at dap.es>
+
+2004-02-27 17:42  Sandro Santilli <strk at kbt.io>
+
+	* [r270] source/algorithm/CGAlgorithms.cpp,
+	  source/headers/geosAlgorithm.h: made CGAlgorithms::signedArea()
+	  and CGAlgorithms::length() arguments const-correct
 
 2004-02-20 05:44  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r269] Changed to new version of ltmain, that matches the version
-	  of libtool
+	* [r269] ltmain.sh: Changed to new version of ltmain, that matches
+	  the version of libtool
 	  on build box
 
 2004-01-20 05:51  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r268] Change platform.h back to AM_CONFIG_HEADER.
+	* [r268] configure.in: Change platform.h back to AM_CONFIG_HEADER.
 
 2004-01-20 05:10  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r267] Change AM_CONFIG_HEADER to AC_CONFIG_HEADERS to allow
-	  autoheader to work
+	* [r267] configure.in: Change AM_CONFIG_HEADER to AC_CONFIG_HEADERS
+	  to allow autoheader to work
 	  its magic.
 
-2003-12-11 17:01  Sandro Santilli <strk at keybit.net>
+2003-12-11 17:01  Sandro Santilli <strk at kbt.io>
 
-	* [r266] made buffer(0) back to its *correct* semantic (empy
-	  collection)
+	* [r266] source/operation/buffer/BufferOp.cpp: made buffer(0) back
+	  to its *correct* semantic (empy collection)
 
-2003-12-11 16:01  Sandro Santilli <strk at keybit.net>
+2003-12-11 16:01  Sandro Santilli <strk at kbt.io>
 
-	* [r265] made buffer operation return a cloned input geom when
-	  called with 0 as distance
+	* [r265] source/operation/buffer/BufferOp.cpp: made buffer
+	  operation return a cloned input geom when called with 0 as
+	  distance
 
-2003-12-11 15:53  Sandro Santilli <strk at keybit.net>
+2003-12-11 15:53  Sandro Santilli <strk at kbt.io>
 
-	* [r264] Fixed bogus copy constructor (making clone bogus)
+	* [r264] source/geom/GeometryCollection.cpp: Fixed bogus copy
+	  constructor (making clone bogus)
 
-2003-11-13 11:57  Sandro Santilli <strk at keybit.net>
+2003-11-13 11:57  Sandro Santilli <strk at kbt.io>
 
-	* [r263] bug fixed in relate call
+	* [r263] doc/example.cpp: bug fixed in relate call
 
-2003-11-12 22:03  Sandro Santilli <strk at keybit.net>
+2003-11-12 22:03  Sandro Santilli <strk at kbt.io>
 
-	* [r262] added relational operators
+	* [r262] doc/example.cpp: added relational operators
 
-2003-11-12 18:02  Sandro Santilli <strk at keybit.net>
+2003-11-12 18:02  Sandro Santilli <strk at kbt.io>
 
-	* [r261] Added throw specification. Fixed leaks on exceptions.
+	* [r261] source/graph/PlanarGraph.cpp, source/headers/graph.h,
+	  source/headers/opOverlay.h,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp: Added throw
+	  specification. Fixed leaks on exceptions.
 
-2003-11-12 17:15  Sandro Santilli <strk at keybit.net>
+2003-11-12 17:15  Sandro Santilli <strk at kbt.io>
 
-	* [r260] made sure PrecisionModel scale is never 0
+	* [r260] source/geom/PrecisionModel.cpp: made sure PrecisionModel
+	  scale is never 0
 
-2003-11-12 17:10  Sandro Santilli <strk at keybit.net>
+2003-11-12 17:10  Sandro Santilli <strk at kbt.io>
 
-	* [r259] added missing initialization
+	* [r259] source/test/XMLTester.cpp: added missing initialization
 
-2003-11-12 16:14  Sandro Santilli <strk at keybit.net>
+2003-11-12 16:14  Sandro Santilli <strk at kbt.io>
 
-	* [r258] Added some more throw specifications and cleanup on
-	  exception (leaks removed).
+	* [r258] source/headers/opOverlay.h,
+	  source/operation/overlay/OverlayOp.cpp: Added some more throw
+	  specifications and cleanup on exception (leaks removed).
 
-2003-11-12 15:43  Sandro Santilli <strk at keybit.net>
+2003-11-12 15:43  Sandro Santilli <strk at kbt.io>
 
-	* [r257] Added some more throw specifications
+	* [r257] source/graph/DirectedEdgeStar.cpp,
+	  source/graph/EdgeEndStar.cpp, source/graph/GeometryGraph.cpp,
+	  source/headers/graph.h: Added some more throw specifications
 
-2003-11-12 15:02  Sandro Santilli <strk at keybit.net>
+2003-11-12 15:02  Sandro Santilli <strk at kbt.io>
 
-	* [r256] more cleanup on exception
+	* [r256] source/test/XMLTester.cpp: more cleanup on exception
 
-2003-11-12 11:08  Sandro Santilli <strk at keybit.net>
+2003-11-12 11:08  Sandro Santilli <strk at kbt.io>
 
-	* [r255] removed old changelog, moved comments in the nice standard
-	  frame
+	* [r255] doc/example.cpp: removed old changelog, moved comments in
+	  the nice standard frame
 
-2003-11-12 11:05  Sandro Santilli <strk at keybit.net>
+2003-11-12 11:05  Sandro Santilli <strk at kbt.io>
 
-	* [r254] added autoheader call
+	* [r254] autogen.sh: added autoheader call
 
-2003-11-07 17:51  Sandro Santilli <strk at keybit.net>
+2003-11-07 17:51  Sandro Santilli <strk at kbt.io>
 
-	* [r253] Memory leak fix in insertEdge()
+	* [r253] source/operation/buffer/BufferOp.cpp: Memory leak fix in
+	  insertEdge()
 
 2003-11-07 17:49  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r252] Added current ChangeLog
+	* [r252] ChangeLog: Added current ChangeLog
 
-2003-11-07 17:45  Sandro Santilli <strk at keybit.net>
+2003-11-07 17:45  Sandro Santilli <strk at kbt.io>
 
-	* [r251] will be generated with ./autogen.sh
+	* [r251] source/headers/config.h.in: will be generated with
+	  ./autogen.sh
 
-2003-11-07 14:21  Sandro Santilli <strk at keybit.net>
+2003-11-07 14:21  Sandro Santilli <strk at kbt.io>
 
-	* [r250] Made doc/ directory part of distribution. Uniformed doc
-	  build script to
+	* [r250] Makefile.am, configure.in, doc, doc/.cvsignore,
+	  doc/Makefile, doc/Makefile.am: Made doc/ directory part of
+	  distribution. Uniformed doc build script to
 	  autotools.
 
-2003-11-07 14:19  Sandro Santilli <strk at keybit.net>
+2003-11-07 14:19  Sandro Santilli <strk at kbt.io>
 
-	* [r249] added config.h.in (missed before)
+	* [r249] source/headers, source/headers/.cvsignore: added
+	  config.h.in (missed before)
 
-2003-11-07 14:18  Sandro Santilli <strk at keybit.net>
+2003-11-07 14:18  Sandro Santilli <strk at kbt.io>
 
-	* [r248] added config.h.in
+	* [r248] source/headers, source/headers/.cvsignore: added
+	  config.h.in
 
 2003-11-07 01:58  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r247] Added people!
+	* [r247] AUTHORS: Added people!
 
 2003-11-07 01:23  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r245] Add standard CVS headers licence notices and copyrights to
-	  all cpp and h
+	* [r245] doc/example.cpp, source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/CentroidPoint.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/NonRobustLineIntersector.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/RobustDeterminant.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/bigtest/GeometryTestFactory.cpp,
+	  source/bigtest/TestSweepLineSpeed.cpp,
+	  source/examples/CPCLException.cpp,
+	  source/examples/CoordinateListsExample.cpp,
+	  source/examples/CustomCoordinateListExample.cpp,
+	  source/examples/CustomCoordinateListExample.h,
+	  source/examples/CustomPointCoordinateList.cpp,
+	  source/geom/BasicCoordinateList.cpp, source/geom/Coordinate.cpp,
+	  source/geom/CoordinateList.cpp,
+	  source/geom/CoordinateListFactory.cpp, source/geom/Dimension.cpp,
+	  source/geom/Envelope.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/geom/GeometryComponentFilter.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/Location.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/PointCoordinateList.cpp,
+	  source/geom/Polygon.cpp, source/geom/PrecisionModel.cpp,
+	  source/geom/TopologyException.cpp, source/graph/Depth.cpp,
+	  source/graph/DirectedEdge.cpp, source/graph/DirectedEdgeStar.cpp,
+	  source/graph/Edge.cpp, source/graph/EdgeEnd.cpp,
+	  source/graph/EdgeEndStar.cpp, source/graph/EdgeIntersection.cpp,
+	  source/graph/EdgeIntersectionList.cpp, source/graph/EdgeList.cpp,
+	  source/graph/EdgeRing.cpp, source/graph/GeometryGraph.cpp,
+	  source/graph/GraphComponent.cpp, source/graph/Label.cpp,
+	  source/graph/Node.cpp, source/graph/NodeFactory.cpp,
+	  source/graph/NodeMap.cpp, source/graph/PlanarGraph.cpp,
+	  source/graph/Position.cpp, source/graph/Quadrant.cpp,
+	  source/graph/TopologyLocation.cpp,
+	  source/graph/index/MonotoneChain.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/MonotoneChainIndexer.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SimpleEdgeSetIntersector.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/graph/index/SimpleSweepLineIntersector.cpp,
+	  source/graph/index/SweepLineEvent.cpp,
+	  source/graph/index/SweepLineSegment.cpp,
+	  source/headers/acconfig.h, source/headers/bigtest.h,
+	  source/headers/config.h.in, source/headers/geom.h,
+	  source/headers/geosAlgorithm.h, source/headers/graph.h,
+	  source/headers/graphindex.h, source/headers/indexBintree.h,
+	  source/headers/indexChain.h, source/headers/indexQuadtree.h,
+	  source/headers/indexStrtree.h, source/headers/indexSweepline.h,
+	  source/headers/io.h, source/headers/opBuffer.h,
+	  source/headers/opDistance.h, source/headers/opOverlay.h,
+	  source/headers/opRelate.h, source/headers/opValid.h,
+	  source/headers/operation.h, source/headers/spatialIndex.h,
+	  source/headers/unload.h, source/headers/util.h,
+	  source/index/bintree/BinTreeInterval.cpp,
+	  source/index/bintree/BinTreeNode.cpp,
+	  source/index/bintree/Bintree.cpp, source/index/bintree/Key.cpp,
+	  source/index/bintree/NodeBase.cpp, source/index/bintree/Root.cpp,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/MonotoneChainOverlapAction.cpp,
+	  source/index/chain/MonotoneChainSelectAction.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/index/quadtree/IntervalSize.cpp,
+	  source/index/quadtree/QuadTreeKey.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/Interval.cpp,
+	  source/index/strtree/ItemBoundable.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp,
+	  source/index/sweepline/SweepLineIndex.cpp,
+	  source/index/sweepline/SweepLineInterval.cpp,
+	  source/index/sweepline/indexSweepLineEvent.cpp,
+	  source/io/ParseException.cpp, source/io/StringTokenizer.cpp,
+	  source/io/Unload.cpp, source/io/WKTReader.cpp,
+	  source/io/WKTWriter.cpp, source/io/Writer.cpp,
+	  source/io/markup/MarkupSTL.h,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/buffer/BufferEdgeBuilder.cpp,
+	  source/operation/buffer/BufferLineBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/LoopFilter.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/distance/ConnectedElementPointFilter.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/distance/LineExtracterFilter.cpp,
+	  source/operation/distance/PointExtracterFilter.cpp,
+	  source/operation/distance/PolygonExtracterFilter.cpp,
+	  source/operation/overlay/EdgeSetNoder.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/overlay/OverlayNodeFactory.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNode.cpp,
+	  source/operation/relate/RelateNodeFactory.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/operation/valid/TopologyValidationError.cpp,
+	  source/test/CTS.cpp, source/test/SimpleWKTTester.cpp,
+	  source/test/Stackwalker.h, source/test/XMLTester.cpp,
+	  source/util/Assert.cpp, source/util/AssertionFailedException.cpp,
+	  source/util/CoordinateArrayFiter.cpp,
+	  source/util/GEOSException.cpp,
+	  source/util/IllegalArgumentException.cpp,
+	  source/util/UniqueCoordinateArrayFilter.cpp,
+	  source/util/UnsupportedOperationException.cpp: Add standard CVS
+	  headers licence notices and copyrights to all cpp and h
 	  files.
 
-2003-11-06 19:04  Sandro Santilli <strk at keybit.net>
+2003-11-06 19:04  Sandro Santilli <strk at kbt.io>
 
-	* [r244] removed useless Coordinate copy in ::createSplitEdge()
+	* [r244] source/graph/EdgeIntersectionList.cpp: removed useless
+	  Coordinate copy in ::createSplitEdge()
 
-2003-11-06 18:50  Sandro Santilli <strk at keybit.net>
+2003-11-06 18:50  Sandro Santilli <strk at kbt.io>
 
-	* [r243] first import
+	* [r243] doc, doc/.cvsignore: first import
 
-2003-11-06 18:48  Sandro Santilli <strk at keybit.net>
+2003-11-06 18:48  Sandro Santilli <strk at kbt.io>
 
-	* [r242] updated
+	* [r242] TODO: updated
 
-2003-11-06 18:48  Sandro Santilli <strk at keybit.net>
+2003-11-06 18:48  Sandro Santilli <strk at kbt.io>
 
-	* [r241] added throw information comment in PolygonBuilder
+	* [r241] source/operation/overlay/PolygonBuilder.cpp: added throw
+	  information comment in PolygonBuilder
 
-2003-11-06 18:47  Sandro Santilli <strk at keybit.net>
+2003-11-06 18:47  Sandro Santilli <strk at kbt.io>
 
-	* [r240] Added throw specification for BufferOp's
-	  ::buildSubgraphs() and ::computeBuffer(). Cleanup on exception in
-	  computeBuffer().
+	* [r240] source/operation/buffer/BufferOp.cpp: Added throw
+	  specification for BufferOp's ::buildSubgraphs() and
+	  ::computeBuffer(). Cleanup on exception in computeBuffer().
 
-2003-11-06 18:46  Sandro Santilli <strk at keybit.net>
+2003-11-06 18:46  Sandro Santilli <strk at kbt.io>
 
-	* [r239] Added throw specification for BufferOp's
-	  ::buildSubgraphs() and ::computeBuffer()
+	* [r239] source/headers/opBuffer.h: Added throw specification for
+	  BufferOp's ::buildSubgraphs() and ::computeBuffer()
 
-2003-11-06 18:45  Sandro Santilli <strk at keybit.net>
+2003-11-06 18:45  Sandro Santilli <strk at kbt.io>
 
-	* [r238] Added throw specification for
+	* [r238] source/graph/DirectedEdgeStar.cpp, source/headers/graph.h:
+	  Added throw specification for
 	  DirectEdgeStar::linkResultDirectedEdges()
 
-2003-11-06 18:00  Sandro Santilli <strk at keybit.net>
+2003-11-06 18:00  Sandro Santilli <strk at kbt.io>
 
-	* [r237] Cleanup on exception in ::bufferOp()
+	* [r237] source/operation/buffer/BufferOp.cpp: Cleanup on exception
+	  in ::bufferOp()
 
-2003-11-06 17:59  Sandro Santilli <strk at keybit.net>
+2003-11-06 17:59  Sandro Santilli <strk at kbt.io>
 
-	* [r236] Memory leaks fixed in ::containsPoint()
+	* [r236] source/graph/EdgeRing.cpp: Memory leaks fixed in
+	  ::containsPoint()
 
-2003-11-06 17:48  Sandro Santilli <strk at keybit.net>
+2003-11-06 17:48  Sandro Santilli <strk at kbt.io>
 
-	* [r235] Fixed memory leaks in ::closePt() and ::addLineEndCap()
+	* [r235] source/operation/buffer/BufferLineBuilder.cpp: Fixed
+	  memory leaks in ::closePt() and ::addLineEndCap()
 
-2003-11-06 17:47  Sandro Santilli <strk at keybit.net>
+2003-11-06 17:47  Sandro Santilli <strk at kbt.io>
 
-	* [r234] Added support for LinearRing, removed memory leaks in
-	  ::addLineString
+	* [r234] source/operation/buffer/BufferEdgeBuilder.cpp: Added
+	  support for LinearRing, removed memory leaks in ::addLineString
 
-2003-11-06 17:41  Sandro Santilli <strk at keybit.net>
+2003-11-06 17:41  Sandro Santilli <strk at kbt.io>
 
-	* [r233] Added Buffer,Intersection,Difference and Symdifference.
-	  Exception cleanup
+	* [r233] doc/example.cpp: Added Buffer,Intersection,Difference and
+	  Symdifference. Exception cleanup
 
 2003-11-06 17:33  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r232] Small addition of into about LD_LIBRARY_PATH
+	* [r232] INSTALL: Small addition of into about LD_LIBRARY_PATH
 
-2003-11-05 21:52  Sandro Santilli <strk at keybit.net>
+2003-11-05 21:52  Sandro Santilli <strk at kbt.io>
 
-	* [r231] Modified example.cpp to make use of vectors instead of
-	  Geometry * / int
+	* [r231] doc/Makefile, doc/example.cpp: Modified example.cpp to
+	  make use of vectors instead of Geometry * / int
 	  couples. Added LineString creation example. Added Makefile to
 	  compile it.
 
-2003-11-03 16:09  Sandro Santilli <strk at keybit.net>
+2003-11-03 16:09  Sandro Santilli <strk at kbt.io>
 
-	* [r230] Removed comments about segfaults, made the simple
-	  collection creation call
+	* [r230] doc/example.cpp: Removed comments about segfaults, made
+	  the simple collection creation call
 	  cleaner by use of the clone() method.
 
-2003-10-31 16:36  Sandro Santilli <strk at keybit.net>
+2003-10-31 16:36  Sandro Santilli <strk at kbt.io>
 
-	* [r229] Re-introduced clone() method. Copy constructor could not
-	  really replace it.
+	* [r229] source/geom/GeometryCollection.cpp,
+	  source/geom/LineString.cpp, source/geom/Point.cpp,
+	  source/geom/Polygon.cpp, source/headers/geom.h: Re-introduced
+	  clone() method. Copy constructor could not really replace it.
 
-2003-10-29 10:38  Sandro Santilli <strk at keybit.net>
+2003-10-29 10:38  Sandro Santilli <strk at kbt.io>
 
-	* [r228] Added centroid computation example
+	* [r228] doc/example.cpp: Added centroid computation example
 
-2003-10-29 10:38  Sandro Santilli <strk at keybit.net>
+2003-10-29 10:38  Sandro Santilli <strk at kbt.io>
 
-	* [r227] Added support for LinearRing types (treated as LineString)
+	* [r227] source/algorithm/CentroidLine.cpp: Added support for
+	  LinearRing types (treated as LineString)
 
-2003-10-24 21:27  Sandro Santilli <strk at keybit.net>
+2003-10-24 21:27  Sandro Santilli <strk at kbt.io>
 
-	* [r226] Added GeometryTypeId enum and getGeometryTypeId abstract
-	  Geometry method.
+	* [r226] source/headers/geom.h: Added GeometryTypeId enum and
+	  getGeometryTypeId abstract Geometry method.
 
-2003-10-23 09:17  Sandro Santilli <strk at keybit.net>
+2003-10-23 09:17  Sandro Santilli <strk at kbt.io>
 
-	* [r225] Added stamp-h2 and platform.h
+	* [r225] source/headers, source/headers/.cvsignore: Added stamp-h2
+	  and platform.h
 
-2003-10-23 09:12  Sandro Santilli <strk at keybit.net>
+2003-10-23 09:12  Sandro Santilli <strk at kbt.io>
 
-	* [r224] Made CoordinateArrayFilter destructor virtual.
+	* [r224] source/headers/util.h: Made CoordinateArrayFilter
+	  destructor virtual.
 
-2003-10-22 23:58  Sandro Santilli <strk at keybit.net>
+2003-10-22 23:58  Sandro Santilli <strk at kbt.io>
 
-	* [r223] Made platform.h be created by configure. In this way we
-	  will not have
+	* [r223] configure.in, source/headers/platform.h,
+	  source/headers/platform.h.in: Made platform.h be created by
+	  configure. In this way we will not have
 	  problems of installed headers trying to include phantom config.h.
 
-2003-10-22 00:44  Sandro Santilli <strk at keybit.net>
+2003-10-22 00:44  Sandro Santilli <strk at kbt.io>
 
-	* [r222] Quadtree bitfield operations made using type int64. Type
-	  int64 typedef'ed based
+	* [r222] source/headers/indexQuadtree.h, source/headers/platform.h,
+	  source/index/quadtree/DoubleBits.cpp: Quadtree bitfield
+	  operations made using type int64. Type int64 typedef'ed based
 	  on autoconf detected int type (long or long long). If long is not
 	  64bits int64
 	  will be really 32 bits and INT64_IS_REALLY32 will be defined.
 
-2003-10-21 23:51  Sandro Santilli <strk at keybit.net>
+2003-10-21 23:51  Sandro Santilli <strk at kbt.io>
 
-	* [r221] Added macros to find 64bit integer.
+	* [r221] acsite.m4, configure.in, source/headers/acconfig.h,
+	  source/headers/config.h.in: Added macros to find 64bit integer.
 
-2003-10-21 16:16  Sandro Santilli <strk at keybit.net>
+2003-10-21 16:16  Sandro Santilli <strk at kbt.io>
 
-	* [r220] Uncommented point creation lines. Updated comments about
-	  segfaults.
+	* [r220] doc/example.cpp: Uncommented point creation lines. Updated
+	  comments about segfaults.
 
 2003-10-21 05:35  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r219] Added test.xml so it gets picked up by 'make dist'
+	* [r219] source/test/Makefile.am: Added test.xml so it gets picked
+	  up by 'make dist'
 
 2003-10-21 05:09  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r218] Added simple installation directions.
+	* [r218] INSTALL: Added simple installation directions.
 
 2003-10-21 04:55  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r217] Fix up references to header files to 'make dist' works.
+	* [r217] source/examples/Makefile.am, source/geom/Makefile.am,
+	  source/test/Makefile.am: Fix up references to header files to
+	  'make dist' works.
 
-2003-10-20 17:50  Sandro Santilli <strk at keybit.net>
+2003-10-20 17:50  Sandro Santilli <strk at kbt.io>
 
-	* [r216] added Union example
+	* [r216] doc/example.cpp: added Union example
 
-2003-10-20 15:41  Sandro Santilli <strk at keybit.net>
+2003-10-20 15:41  Sandro Santilli <strk at kbt.io>
 
-	* [r215] Geometry::checkNotGeometryCollection made static and
+	* [r215] source/geom/Geometry.cpp, source/headers/geom.h:
+	  Geometry::checkNotGeometryCollection made static and
 	  non-distructive.
 
-2003-10-20 14:02  Sandro Santilli <strk at keybit.net>
+2003-10-20 14:02  Sandro Santilli <strk at kbt.io>
 
-	* [r214] more explicit exception thrown on null Directed Edge
-	  detection
+	* [r214] source/graph/EdgeRing.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp: more explicit
+	  exception thrown on null Directed Edge detection
 
-2003-10-20 13:56  Sandro Santilli <strk at keybit.net>
+2003-10-20 13:56  Sandro Santilli <strk at kbt.io>
 
-	* [r213] fixed typo
+	* [r213] source/util/AssertionFailedException.cpp: fixed typo
 
-2003-10-20 13:53  Sandro Santilli <strk at keybit.net>
+2003-10-20 13:53  Sandro Santilli <strk at kbt.io>
 
-	* [r212] LinearRing handled as a LineString in
-	  GeometryGraph::add(const Geometry *) - more explicit exception
-	  thrown for unknown geometries
+	* [r212] source/graph/GeometryGraph.cpp: LinearRing handled as a
+	  LineString in GeometryGraph::add(const Geometry *) - more
+	  explicit exception thrown for unknown geometries
 
 2003-10-17 05:51  Yury Bychkov <me at yury.ca>
 
-	* [r211] Fixed a small memory leak.
+	* [r211] VisualStudio/GEOS.vcproj, source/geom/Polygon.cpp,
+	  source/headers/indexQuadtree.h,
+	  source/index/quadtree/DoubleBits.cpp, source/test/XMLTester.cpp:
+	  Fixed a small memory leak.
 
-2003-10-16 17:41  Sandro Santilli <strk at keybit.net>
+2003-10-16 17:41  Sandro Santilli <strk at kbt.io>
 
-	* [r210] Fixed a bug in GEOSException that prevented print of the
-	  type of exception thrown.
+	* [r210] source/util/GEOSException.cpp,
+	  source/util/UnsupportedOperationException.cpp: Fixed a bug in
+	  GEOSException that prevented print of the type of exception
+	  thrown.
 
-2003-10-16 17:33  Sandro Santilli <strk at keybit.net>
+2003-10-16 17:33  Sandro Santilli <strk at kbt.io>
 
-	* [r209] dropped useless string() cast
+	* [r209] source/operation/valid/RepeatedPointTester.cpp: dropped
+	  useless string() cast
 
-2003-10-16 17:05  Sandro Santilli <strk at keybit.net>
+2003-10-16 17:05  Sandro Santilli <strk at kbt.io>
 
-	* [r208] Made TopologyException inherit from GEOSException.
-	  Adjusted IllegalArgumentException subclassing.
+	* [r208] source/geom/TopologyException.cpp, source/headers/geom.h,
+	  source/headers/util.h, source/util/IllegalArgumentException.cpp:
+	  Made TopologyException inherit from GEOSException. Adjusted
+	  IllegalArgumentException subclassing.
 
-2003-10-16 13:01  Sandro Santilli <strk at keybit.net>
+2003-10-16 13:01  Sandro Santilli <strk at kbt.io>
 
-	* [r207] Added call to Unload::Release()
+	* [r207] source/test/XMLTester.cpp: Added call to Unload::Release()
 
-2003-10-16 12:09  Sandro Santilli <strk at keybit.net>
+2003-10-16 12:09  Sandro Santilli <strk at kbt.io>
 
-	* [r206] bug fixed in exception handling
+	* [r206] source/test/XMLTester.cpp: bug fixed in exception handling
 
-2003-10-16 08:50  Sandro Santilli <strk at keybit.net>
+2003-10-16 08:50  Sandro Santilli <strk at kbt.io>
 
-	* [r205] Memory leak fixes. Improved performance by mean of more
-	  calls to new getCoordinatesRO() when applicable.
+	* [r205] source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/geom/LineString.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Polygon.cpp, source/headers/geosAlgorithm.h,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp: Memory leak
+	  fixes. Improved performance by mean of more calls to new
+	  getCoordinatesRO() when applicable.
 
-2003-10-16 08:48  Sandro Santilli <strk at keybit.net>
+2003-10-16 08:48  Sandro Santilli <strk at kbt.io>
 
-	* [r204] Exceptions handled
+	* [r204] source/test/XMLTester.cpp: Exceptions handled
 
-2003-10-15 16:39  Sandro Santilli <strk at keybit.net>
+2003-10-15 16:39  Sandro Santilli <strk at kbt.io>
 
-	* [r203] Made Edge::getCoordinates() return a 'const' value.
-	  Adapted code set.
+	* [r203] source/geom/GeometryFactory.cpp, source/graph/Edge.cpp,
+	  source/graph/EdgeList.cpp, source/graph/EdgeRing.cpp,
+	  source/graph/GeometryGraph.cpp, source/graph/PlanarGraph.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/MonotoneChainIndexer.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SimpleEdgeSetIntersector.cpp,
+	  source/graph/index/SimpleSweepLineIntersector.cpp,
+	  source/headers/geom.h, source/headers/graph.h,
+	  source/headers/graphindex.h,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/overlay/LineBuilder.cpp: Made
+	  Edge::getCoordinates() return a 'const' value. Adapted code set.
 
-2003-10-15 15:47  Sandro Santilli <strk at keybit.net>
+2003-10-15 15:47  Sandro Santilli <strk at kbt.io>
 
-	* [r202] Adapted to new getCoordinatesRO() interface
+	* [r202] source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/PointLocator.cpp: Adapted to new
+	  getCoordinatesRO() interface
 
-2003-10-15 15:30  Sandro Santilli <strk at keybit.net>
+2003-10-15 15:30  Sandro Santilli <strk at kbt.io>
 
-	* [r201] Declared a SweepLineEventOBJ from which MonotoneChain and
-	  SweepLineSegment
+	* [r201] source/graph/index/MonotoneChain.cpp,
+	  source/graph/index/SweepLineEvent.cpp,
+	  source/graph/index/SweepLineSegment.cpp,
+	  source/headers/graphindex.h: Declared a SweepLineEventOBJ from
+	  which MonotoneChain and SweepLineSegment
 	  derive to abstract SweepLineEvent object previously done on void
 	  * pointers.
 	  No more compiler warnings...
 
-2003-10-15 11:24  Sandro Santilli <strk at keybit.net>
+2003-10-15 11:24  Sandro Santilli <strk at kbt.io>
 
-	* [r200] Use getCoordinatesRO() introduced.
+	* [r200] source/graph/GeometryGraph.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/IsValidOp.cpp: Use getCoordinatesRO()
+	  introduced.
 
-2003-10-15 11:23  Sandro Santilli <strk at keybit.net>
+2003-10-15 11:23  Sandro Santilli <strk at kbt.io>
 
-	* [r199] Formalized const nature of toVector() method and of first
+	* [r199] source/geom/BasicCoordinateList.cpp,
+	  source/geom/CoordinateList.cpp,
+	  source/geom/PointCoordinateList.cpp, source/headers/geom.h:
+	  Formalized const nature of toVector() method and of first
 	  argument to static removeRepeatedPoints().
 
-2003-10-15 10:17  Sandro Santilli <strk at keybit.net>
+2003-10-15 10:17  Sandro Santilli <strk at kbt.io>
 
-	* [r198] Made setPoints() get a const vector<Coordinate>.
+	* [r198] source/geom/BasicCoordinateList.cpp,
+	  source/geom/PointCoordinateList.cpp, source/headers/geom.h: Made
+	  setPoints() get a const vector<Coordinate>.
 
-2003-10-15 09:54  Sandro Santilli <strk at keybit.net>
+2003-10-15 09:54  Sandro Santilli <strk at kbt.io>
 
-	* [r197] Added getCoordinatesRO() public method.
+	* [r197] source/geom/LineString.cpp, source/headers/geom.h: Added
+	  getCoordinatesRO() public method.
 
-2003-10-15 08:52  Sandro Santilli <strk at keybit.net>
+2003-10-15 08:52  Sandro Santilli <strk at kbt.io>
 
-	* [r196] Memory leaks fixed.
+	* [r196] source/io/WKTReader.cpp: Memory leaks fixed.
 
-2003-10-15 08:51  Sandro Santilli <strk at keybit.net>
+2003-10-15 08:51  Sandro Santilli <strk at kbt.io>
 
-	* [r195] Initial import
+	* [r195] TODO: Initial import
 
-2003-10-15 08:08  Sandro Santilli <strk at keybit.net>
+2003-10-15 08:08  Sandro Santilli <strk at kbt.io>
 
-	* [r194] Memory leaks fixed. Partially due to getCoordinates() and
-	  GeometryCollection()
+	* [r194] source/geom/Polygon.cpp: Memory leaks fixed. Partially due
+	  to getCoordinates() and GeometryCollection()
 	  changes, partially old dated.
 
-2003-10-14 15:58  Sandro Santilli <strk at keybit.net>
-
-	* [r193] Useless vector<Geometry *> leaking allocations removed
-
-2003-10-13 21:26  Sandro Santilli <strk at keybit.net>
-
-	* [r192] Added build time created files to cvsignore lists
-
-2003-10-13 17:54  Sandro Santilli <strk at keybit.net>
-
-	* [r191] IsValidOp constructor used same name for the arg and a
-	  private element. Fixed.
-
-2003-10-13 17:47  Sandro Santilli <strk at keybit.net>
-
-	* [r190] delete statement removed
-
-2003-10-13 15:39  Sandro Santilli <strk at keybit.net>
-
-	* [r189] Fixed some leak or fault flips (forced copy of a single
-	  coordinate)
-
-2003-10-13 15:02  Sandro Santilli <strk at keybit.net>
-
-	* [r188] accept input file as first argument on cmdline
-
-2003-10-13 12:51  Sandro Santilli <strk at keybit.net>
-
-	* [r187] removed sortedClasses strings array from all geometries.
-
-2003-10-13 09:24  Sandro Santilli <strk at keybit.net>
-
-	* [r186] long -> long long enlargement of types to allow for
-	  left/rigth shift of 53 bits
-
-2003-10-11 03:23  Sandro Santilli <strk at keybit.net>
-
-	* [r185] fixed spurious typos
-
-2003-10-11 01:56  Sandro Santilli <strk at keybit.net>
-
-	* [r184] Code base padded with 'const' keywords ;)
+2003-10-14 15:58  Sandro Santilli <strk at kbt.io>
+
+	* [r193] source/geom/GeometryFactory.cpp: Useless vector<Geometry
+	  *> leaking allocations removed
+
+2003-10-13 21:26  Sandro Santilli <strk at kbt.io>
+
+	* [r192] ., .cvsignore, macros, macros/.cvsignore, source/bigtest,
+	  source/bigtest/.cvsignore, source/examples,
+	  source/examples/.cvsignore, source/geom, source/geom/.cvsignore,
+	  source/headers, source/headers/.cvsignore, source/test,
+	  source/test/.cvsignore: Added build time created files to
+	  cvsignore lists
+
+2003-10-13 17:54  Sandro Santilli <strk at kbt.io>
+
+	* [r191] source/headers/opValid.h,
+	  source/operation/valid/IsValidOp.cpp: IsValidOp constructor used
+	  same name for the arg and a private element. Fixed.
+
+2003-10-13 17:47  Sandro Santilli <strk at kbt.io>
+
+	* [r190] source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp: delete statement
+	  removed
+
+2003-10-13 15:39  Sandro Santilli <strk at kbt.io>
+
+	* [r189] source/algorithm/CentroidArea.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/headers/geosAlgorithm.h: Fixed some leak or fault flips
+	  (forced copy of a single coordinate)
+
+2003-10-13 15:02  Sandro Santilli <strk at kbt.io>
+
+	* [r188] source/test/XMLTester.cpp: accept input file as first
+	  argument on cmdline
+
+2003-10-13 12:51  Sandro Santilli <strk at kbt.io>
+
+	* [r187] source/geom/Geometry.cpp, source/headers/geom.h: removed
+	  sortedClasses strings array from all geometries.
+
+2003-10-13 09:24  Sandro Santilli <strk at kbt.io>
+
+	* [r186] source/headers/indexQuadtree.h,
+	  source/index/quadtree/DoubleBits.cpp: long -> long long
+	  enlargement of types to allow for left/rigth shift of 53 bits
+
+2003-10-11 03:23  Sandro Santilli <strk at kbt.io>
+
+	* [r185] source/geom/LineString.cpp, source/geom/LinearRing.cpp:
+	  fixed spurious typos
+
+2003-10-11 01:56  Sandro Santilli <strk at kbt.io>
+
+	* [r184] source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/CentroidPoint.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/NonRobustLineIntersector.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/geom/BasicCoordinateList.cpp, source/geom/Coordinate.cpp,
+	  source/geom/CoordinateList.cpp, source/geom/Envelope.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/geom/GeometryComponentFilter.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/MultiLineString.cpp, source/geom/MultiPoint.cpp,
+	  source/geom/MultiPolygon.cpp, source/geom/Point.cpp,
+	  source/geom/PointCoordinateList.cpp, source/geom/Polygon.cpp,
+	  source/geom/PrecisionModel.cpp, source/graph/Edge.cpp,
+	  source/graph/EdgeEnd.cpp, source/graph/EdgeIntersection.cpp,
+	  source/graph/EdgeIntersectionList.cpp, source/graph/EdgeRing.cpp,
+	  source/graph/GeometryGraph.cpp, source/graph/GraphComponent.cpp,
+	  source/graph/Label.cpp, source/graph/Node.cpp,
+	  source/graph/NodeMap.cpp, source/graph/PlanarGraph.cpp,
+	  source/graph/Quadrant.cpp, source/graph/TopologyLocation.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SweepLineEvent.cpp, source/headers/geom.h,
+	  source/headers/geosAlgorithm.h, source/headers/graph.h,
+	  source/headers/io.h, source/headers/opBuffer.h,
+	  source/headers/opDistance.h, source/headers/opOverlay.h,
+	  source/headers/opRelate.h, source/headers/opValid.h,
+	  source/headers/operation.h, source/headers/util.h,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/io/WKTWriter.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/buffer/BufferEdgeBuilder.cpp,
+	  source/operation/buffer/BufferLineBuilder.cpp,
+	  source/operation/buffer/LoopFilter.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/distance/ConnectedElementPointFilter.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/distance/LineExtracterFilter.cpp,
+	  source/operation/distance/PointExtracterFilter.cpp,
+	  source/operation/distance/PolygonExtracterFilter.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/util/Assert.cpp, source/util/CoordinateArrayFiter.cpp,
+	  source/util/UniqueCoordinateArrayFilter.cpp: Code base padded
+	  with 'const' keywords ;)
 
-2003-10-09 15:35  Sandro Santilli <strk at keybit.net>
+2003-10-09 15:35  Sandro Santilli <strk at kbt.io>
 
-	* [r183] added 'const' keyword to GeometryFactory constructor, Log
-	  on top of geom.h
+	* [r183] source/geom/GeometryFactory.cpp, source/headers/geom.h:
+	  added 'const' keyword to GeometryFactory constructor, Log on top
+	  of geom.h
 
-2003-10-09 11:20  Sandro Santilli <strk at keybit.net>
+2003-10-09 11:20  Sandro Santilli <strk at kbt.io>
 
-	* [r182] moved Log to a better place
+	* [r182] doc/example.cpp: moved Log to a better place
 
-2003-10-09 11:19  Sandro Santilli <strk at keybit.net>
+2003-10-09 11:19  Sandro Santilli <strk at kbt.io>
 
-	* [r181] added convexHull and PrecisionModel
+	* [r181] doc/example.cpp: added convexHull and PrecisionModel
 
-2003-10-09 10:14  Sandro Santilli <strk at keybit.net>
+2003-10-09 10:14  Sandro Santilli <strk at kbt.io>
 
-	* [r180] just a style change in top Log comment.
+	* [r180] source/geom/GeometryFactory.cpp: just a style change in
+	  top Log comment.
 
-2003-10-09 10:10  Sandro Santilli <strk at keybit.net>
+2003-10-09 10:10  Sandro Santilli <strk at kbt.io>
 
-	* [r179] Throw an exception if scale is 0. Added Log entry.
+	* [r179] source/geom/PrecisionModel.cpp: Throw an exception if
+	  scale is 0. Added Log entry.
 
-2003-10-09 09:42  Sandro Santilli <strk at keybit.net>
+2003-10-09 09:42  Sandro Santilli <strk at kbt.io>
 
-	* [r178] Tried to "formalize" constant nature of the first argument
-	  given to constructor by PrecisionModel and SRID specification.
-	  Added CVS Log on top.
+	* [r178] source/geom/GeometryFactory.cpp: Tried to "formalize"
+	  constant nature of the first argument given to constructor by
+	  PrecisionModel and SRID specification. Added CVS Log on top.
 
-2003-10-09 08:58  Sandro Santilli <strk at keybit.net>
+2003-10-09 08:58  Sandro Santilli <strk at kbt.io>
 
-	* [r177] Added convexHull() call to example, fixed leaks in
-	  ConvexHull
+	* [r177] doc/example.cpp, source/algorithm/ConvexHull.cpp: Added
+	  convexHull() call to example, fixed leaks in ConvexHull
 
-2003-10-09 00:11  Sandro Santilli <strk at keybit.net>
+2003-10-09 00:11  Sandro Santilli <strk at kbt.io>
 
-	* [r176] First reference-by-example file.
+	* [r176] doc, doc/example.cpp: First reference-by-example file.
 
-2003-10-08 16:51  Sandro Santilli <strk at keybit.net>
+2003-10-08 16:51  Sandro Santilli <strk at kbt.io>
 
-	* [r175] Added xie's Unload class with some fixes.
+	* [r175] source/geom/Makefile.am, source/headers/Makefile.am,
+	  source/headers/geom.h, source/headers/graph.h,
+	  source/headers/indexQuadtree.h, source/headers/opRelate.h,
+	  source/headers/opValid.h, source/headers/operation.h,
+	  source/headers/unload.h, source/io/Unload.cpp: Added xie's Unload
+	  class with some fixes.
 
-2003-10-08 13:18  Sandro Santilli <strk at keybit.net>
+2003-10-08 13:18  Sandro Santilli <strk at kbt.io>
 
-	* [r174] added missing LinearRing writing capabilities.
+	* [r174] source/headers/io.h, source/io/WKTWriter.cpp: added
+	  missing LinearRing writing capabilities.
 
-2003-10-08 10:36  Sandro Santilli <strk at keybit.net>
+2003-10-08 10:36  Sandro Santilli <strk at kbt.io>
 
-	* [r173] Constructor by vector<Geometry *> * now makes a copy of
-	  the vector so that call
+	* [r173] source/geom/GeometryCollection.cpp: Constructor by
+	  vector<Geometry *> * now makes a copy of the vector so that call
 	  ers can safely delete it when done.
 
-2003-10-07 21:47  Sandro Santilli <strk at keybit.net>
+2003-10-07 21:47  Sandro Santilli <strk at kbt.io>
 
-	* [r172] had all getCoordinates() callers free returned value.
+	* [r172] source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/geom/Polygon.cpp, source/graph/EdgeRing.cpp,
+	  source/graph/GeometryGraph.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp: had all
+	  getCoordinates() callers free returned value.
 
-2003-10-07 18:58  Sandro Santilli <strk at keybit.net>
+2003-10-07 18:58  Sandro Santilli <strk at kbt.io>
 
-	* [r171] LineString constructor now creates its own copy of given
+	* [r171] source/algorithm/PointLocator.cpp,
+	  source/geom/CoordinateList.cpp,
+	  source/geom/GeometryCollection.cpp, source/geom/LineString.cpp,
+	  source/graph/GeometryGraph.cpp, source/headers/config.h.in:
+	  LineString constructor now creates its own copy of given
 	  CoordinateList object, and returns a new copy with
 	  getCoordinates().
 	  will be easier to remove by anyone else.
 
 2003-10-03 01:20  Yury Bychkov <me at yury.ca>
 
-	* [r170] Memory leak in Overlay fixed.
+	* [r170] source/geom/MultiPolygon.cpp, source/test/XMLTester.cpp:
+	  Memory leak in Overlay fixed.
 
-2003-09-29 16:25  Sandro Santilli <strk at keybit.net>
+2003-09-29 16:25  Sandro Santilli <strk at kbt.io>
 
-	* [r169] Some more cvsignore files. Some entries should probably
-	  not be
+	* [r169] macros, macros/.cvsignore, source/bigtest,
+	  source/bigtest/.cvsignore, source/examples,
+	  source/examples/.cvsignore, source/headers,
+	  source/headers/.cvsignore: Some more cvsignore files. Some
+	  entries should probably not be
 	  in the local copy
 
-2003-09-29 15:07  Sandro Santilli <strk at keybit.net>
+2003-09-29 15:07  Sandro Santilli <strk at kbt.io>
 
-	* [r168] Added config.sub, config.guess and autom4te.cache
+	* [r168] ., .cvsignore: Added config.sub, config.guess and
+	  autom4te.cache
 
-2003-09-29 13:15  Sandro Santilli <strk at keybit.net>
+2003-09-29 13:15  Sandro Santilli <strk at kbt.io>
 
-	* [r167] Don't wonder about Makefile.in, Makefile, gdal-config
+	* [r167] tools, tools/.cvsignore: Don't wonder about Makefile.in,
+	  Makefile, gdal-config
 
-2003-09-26 17:31  Sandro Santilli <strk at keybit.net>
+2003-09-26 17:31  Sandro Santilli <strk at kbt.io>
 
-	* [r166] getConvexHull() made check value returned by reduce()
-	  before deleting
+	* [r166] source/algorithm/ConvexHull.cpp: getConvexHull() made
+	  check value returned by reduce() before deleting
 	  it (might be the untouched input).
 
 2003-09-26 09:17  Yury Bychkov <me at yury.ca>
 
-	* [r165] isValid segfault fixed. Overlay still leaks a bit.
+	* [r165] source/index/bintree/NodeBase.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/test/XMLTester.cpp: isValid segfault fixed. Overlay still
+	  leaks a bit.
 
 2003-09-24 02:16  Yury Bychkov <me at yury.ca>
 
-	* [r164] All reported bugs fiexd. Small leak in Overlay remains.
+	* [r164] source/geom/MultiPolygon.cpp,
+	  source/graph/EdgeEndStar.cpp, source/index/bintree/NodeBase.cpp,
+	  source/index/bintree/Root.cpp,
+	  source/operation/buffer/BufferEdgeBuilder.cpp,
+	  source/operation/buffer/BufferLineBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/test/XMLTester.cpp: All reported bugs fiexd. Small leak in
+	  Overlay remains.
 
 2003-09-06 08:24  Yury Bychkov <me at yury.ca>
 
-	* [r163] isWithinDistance fixed and tested.
+	* [r163] source/geom/Geometry.cpp, source/headers/opDistance.h,
+	  source/operation/distance/ConnectedElementPointFilter.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/distance/LineExtracterFilter.cpp,
+	  source/operation/distance/PointExtracterFilter.cpp,
+	  source/operation/distance/PolygonExtracterFilter.cpp,
+	  source/test/XMLTester.cpp: isWithinDistance fixed and tested.
 
 2003-09-06 00:01  Yury Bychkov <me at yury.ca>
 
-	* [r162] getInteriorPoint bugs fixed.
+	* [r162] source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/geom/Geometry.cpp, source/graph/DirectedEdge.cpp,
+	  source/graph/DirectedEdgeStar.cpp,
+	  source/graph/GeometryGraph.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/test/XMLTester.cpp: getInteriorPoint bugs fixed.
 
 2003-09-01 06:32  Yury Bychkov <me at yury.ca>
 
-	* [r161] Some ConvexHull bugs fixed.
+	* [r161] source/algorithm/ConvexHull.cpp, source/geom/Geometry.cpp,
+	  source/geom/Polygon.cpp, source/test/XMLTester.cpp: Some
+	  ConvexHull bugs fixed.
 
 2003-08-30 07:55  Yury Bychkov <me at yury.ca>
 
-	* [r160] Some bugfixes. XMLTester expanded to accomodate
-	  getBoundary, getCentroid, isSimple.
+	* [r160] source/algorithm/CentroidArea.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/Polygon.cpp, source/graph/GeometryGraph.cpp,
+	  source/operation/IsSimpleOp.cpp, source/test/XMLTester.cpp: Some
+	  bugfixes. XMLTester expanded to accomodate getBoundary,
+	  getCentroid, isSimple.
 
 2003-08-18 23:40  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r159] Removed java source file from archive.
+	* [r159] source/algorithm/ConvexHull.java: Removed java source file
+	  from archive.
 
 2003-08-18 22:34  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r158] Change it back :/
+	* [r158] configure.in: Change it back :/
 
 2003-08-18 22:33  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r157] Change version number.
+	* [r157] configure.in: Change version number.
 
 2003-08-18 20:42  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r156] Return ltmain to distro (oops)
+	* [r156] ltmain.sh: Return ltmain to distro (oops)
 
 2003-08-18 20:36  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r155] Remove more autoconf files
+	* [r155] mkinstalldirs: Remove more autoconf files
 
 2003-08-18 20:34  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r154] Removed more autoconf files...
+	* [r154] acinclude.m4, config.guess, config.sub, install-sh,
+	  ltmain.sh: Removed more autoconf files...
 
 2003-08-18 20:27  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r153] Removed 'missing' script.
+	* [r153] missing: Removed 'missing' script.
 
 2003-08-18 16:38  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r152] Fixed up to treat headers as headers.
+	* [r152] source/headers/Makefile.am: Fixed up to treat headers as
+	  headers.
 
 2003-08-17 18:40  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r151] Norman's patch + global removal of "no newline" + small
-	  changes
+	* [r151] Makefile.am, source/Makefile.am,
+	  source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/CentroidPoint.cpp,
+	  source/algorithm/ConvexHull.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/NonRobustLineIntersector.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/RobustDeterminant.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/bigtest/Makefile.am,
+	  source/examples/CustomCoordinateListExample.h,
+	  source/examples/Makefile.am, source/geom/BasicCoordinateList.cpp,
+	  source/geom/Coordinate.cpp, source/geom/CoordinateList.cpp,
+	  source/geom/CoordinateListFactory.cpp, source/geom/Dimension.cpp,
+	  source/geom/Envelope.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/geom/GeometryComponentFilter.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/Location.cpp, source/geom/Makefile.am,
+	  source/geom/MultiLineString.cpp, source/geom/MultiPoint.cpp,
+	  source/geom/MultiPolygon.cpp, source/geom/Point.cpp,
+	  source/geom/PointCoordinateList.cpp, source/geom/Polygon.cpp,
+	  source/geom/PrecisionModel.cpp,
+	  source/geom/TopologyException.cpp, source/graph/Depth.cpp,
+	  source/graph/DirectedEdge.cpp, source/graph/DirectedEdgeStar.cpp,
+	  source/graph/Edge.cpp, source/graph/EdgeEnd.cpp,
+	  source/graph/EdgeEndStar.cpp, source/graph/EdgeIntersection.cpp,
+	  source/graph/EdgeIntersectionList.cpp, source/graph/EdgeList.cpp,
+	  source/graph/EdgeRing.cpp, source/graph/GeometryGraph.cpp,
+	  source/graph/GraphComponent.cpp, source/graph/Label.cpp,
+	  source/graph/Node.cpp, source/graph/NodeFactory.cpp,
+	  source/graph/NodeMap.cpp, source/graph/PlanarGraph.cpp,
+	  source/graph/Position.cpp, source/graph/Quadrant.cpp,
+	  source/graph/TopologyLocation.cpp,
+	  source/graph/index/MonotoneChain.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/MonotoneChainIndexer.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SimpleEdgeSetIntersector.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/graph/index/SimpleSweepLineIntersector.cpp,
+	  source/graph/index/SweepLineEvent.cpp,
+	  source/graph/index/SweepLineSegment.cpp,
+	  source/headers/Makefile.am, source/headers/geom.h,
+	  source/headers/geosAlgorithm.h,
+	  source/index/bintree/BinTreeInterval.cpp,
+	  source/index/bintree/BinTreeNode.cpp,
+	  source/index/bintree/Bintree.cpp, source/index/bintree/Key.cpp,
+	  source/index/bintree/NodeBase.cpp, source/index/bintree/Root.cpp,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/MonotoneChainOverlapAction.cpp,
+	  source/index/chain/MonotoneChainSelectAction.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/index/quadtree/IntervalSize.cpp,
+	  source/index/quadtree/QuadTreeKey.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/Interval.cpp,
+	  source/index/strtree/ItemBoundable.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/sweepline/SweepLineIndex.cpp,
+	  source/index/sweepline/SweepLineInterval.cpp,
+	  source/index/sweepline/indexSweepLineEvent.cpp,
+	  source/io/ParseException.cpp, source/io/StringTokenizer.cpp,
+	  source/io/WKTReader.cpp, source/io/WKTWriter.cpp,
+	  source/io/Writer.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/buffer/BufferEdgeBuilder.cpp,
+	  source/operation/buffer/BufferLineBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/LoopFilter.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/distance/ConnectedElementPointFilter.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/distance/LineExtracterFilter.cpp,
+	  source/operation/distance/PointExtracterFilter.cpp,
+	  source/operation/distance/PolygonExtracterFilter.cpp,
+	  source/operation/overlay/EdgeSetNoder.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/overlay/OverlayNodeFactory.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNode.cpp,
+	  source/operation/relate/RelateNodeFactory.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/operation/valid/TopologyValidationError.cpp,
+	  source/test/Makefile.am, source/test/XMLTester.cpp,
+	  source/util/Assert.cpp, source/util/AssertionFailedException.cpp,
+	  source/util/CoordinateArrayFiter.cpp,
+	  source/util/GEOSException.cpp,
+	  source/util/IllegalArgumentException.cpp,
+	  source/util/UniqueCoordinateArrayFilter.cpp,
+	  source/util/UnsupportedOperationException.cpp: Norman's patch +
+	  global removal of "no newline" + small changes
 	  to make Norman's patch work in the linux build environment.
 
 2003-08-17 18:01  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r150] Removed more configuration files per Norman's request.
+	* [r150] libtool: Removed more configuration files per Norman's
+	  request.
 
 2003-08-17 17:56  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r149] Removed more configure files per Norman's request.
+	* [r149] aclocal.m4, configure: Removed more configure files per
+	  Norman's request.
 
 2003-08-17 17:55  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r148] Removed Makefile.in files, per Norman's request.
+	* [r148] Makefile.in, macros/Makefile.in, source/Makefile.in,
+	  source/bigtest/Makefile.in, source/geom/Coordinate.cpp,
+	  source/geom/Makefile.in, source/headers/Makefile.in,
+	  source/test/Makefile.in, tools/Makefile.in: Removed Makefile.in
+	  files, per Norman's request.
 
 2003-08-16 06:33  Yury Bychkov <me at yury.ca>
 
-	* [r147] Memory leak fixes.
+	* [r147] VisualStudio/GEOS.vcproj, source/algorithm/ConvexHull.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/bigtest/TestSweepLineSpeed.cpp,
+	  source/geom/BasicCoordinateList.cpp, source/geom/Coordinate.cpp,
+	  source/geom/CoordinateList.cpp, source/geom/Dimension.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineString.cpp,
+	  source/geom/LinearRing.cpp, source/geom/Location.cpp,
+	  source/geom/MultiLineString.cpp, source/geom/MultiPoint.cpp,
+	  source/geom/Point.cpp, source/geom/PointCoordinateList.cpp,
+	  source/geom/Polygon.cpp, source/geom/TopologyException.cpp,
+	  source/graph/Depth.cpp, source/graph/DirectedEdge.cpp,
+	  source/graph/DirectedEdgeStar.cpp, source/graph/Edge.cpp,
+	  source/graph/EdgeEnd.cpp, source/graph/EdgeEndStar.cpp,
+	  source/graph/EdgeIntersection.cpp,
+	  source/graph/EdgeIntersectionList.cpp, source/graph/EdgeList.cpp,
+	  source/graph/EdgeRing.cpp, source/graph/GeometryGraph.cpp,
+	  source/graph/GraphComponent.cpp, source/graph/Label.cpp,
+	  source/graph/Node.cpp, source/graph/NodeMap.cpp,
+	  source/graph/PlanarGraph.cpp, source/graph/TopologyLocation.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/graph/index/SimpleSweepLineIntersector.cpp,
+	  source/graph/index/SweepLineEvent.cpp, source/headers/bigtest.h,
+	  source/headers/geom.h, source/headers/geosAlgorithm.h,
+	  source/headers/graph.h, source/headers/graphindex.h,
+	  source/headers/indexBintree.h, source/headers/indexChain.h,
+	  source/headers/indexQuadtree.h, source/headers/indexStrtree.h,
+	  source/headers/indexSweepline.h, source/headers/io.h,
+	  source/headers/opBuffer.h, source/headers/opDistance.h,
+	  source/headers/opOverlay.h, source/headers/opRelate.h,
+	  source/headers/opValid.h, source/headers/operation.h,
+	  source/headers/spatialIndex.h, source/headers/util.h,
+	  source/index/bintree/BinTreeInterval.cpp,
+	  source/index/bintree/BinTreeNode.cpp,
+	  source/index/bintree/Bintree.cpp, source/index/bintree/Key.cpp,
+	  source/index/bintree/NodeBase.cpp, source/index/bintree/Root.cpp,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/index/quadtree/QuadTreeKey.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp, source/io/WKTReader.cpp,
+	  source/io/WKTWriter.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNode.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/test/Stackwalker.cpp, source/test/Stackwalker.h,
+	  source/test/XMLTester.cpp, source/util/CoordinateArrayFiter.cpp,
+	  source/util/UniqueCoordinateArrayFilter.cpp: Memory leak fixes.
 
 2003-06-21 22:17  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r146] GNU compile fixes from nvine.
+	* [r146] source/geom/Makefile.am: GNU compile fixes from nvine.
 
 2003-06-19 20:54  Yury Bychkov <me at yury.ca>
 
-	* [r145] 'geos' namespace added.
+	* [r145] source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/CentroidPoint.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/NonRobustLineIntersector.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/RobustDeterminant.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/bigtest/GeometryTestFactory.cpp,
+	  source/bigtest/TestSweepLineSpeed.cpp,
+	  source/examples/CPCLException.cpp,
+	  source/examples/CoordinateListsExample.cpp,
+	  source/examples/CustomCoordinateListExample.cpp,
+	  source/examples/CustomCoordinateListExample.h,
+	  source/examples/CustomPointCoordinateList.cpp,
+	  source/geom/BasicCoordinateList.cpp, source/geom/Coordinate.cpp,
+	  source/geom/CoordinateList.cpp,
+	  source/geom/CoordinateListFactory.cpp, source/geom/Dimension.cpp,
+	  source/geom/Envelope.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/geom/GeometryComponentFilter.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/Location.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/PointCoordinateList.cpp,
+	  source/geom/Polygon.cpp, source/geom/PrecisionModel.cpp,
+	  source/geom/TopologyException.cpp, source/graph/Depth.cpp,
+	  source/graph/DirectedEdge.cpp, source/graph/DirectedEdgeStar.cpp,
+	  source/graph/Edge.cpp, source/graph/EdgeEnd.cpp,
+	  source/graph/EdgeEndStar.cpp, source/graph/EdgeIntersection.cpp,
+	  source/graph/EdgeIntersectionList.cpp, source/graph/EdgeList.cpp,
+	  source/graph/EdgeRing.cpp, source/graph/GeometryGraph.cpp,
+	  source/graph/GraphComponent.cpp, source/graph/Label.cpp,
+	  source/graph/Node.cpp, source/graph/NodeFactory.cpp,
+	  source/graph/NodeMap.cpp, source/graph/PlanarGraph.cpp,
+	  source/graph/Position.cpp, source/graph/Quadrant.cpp,
+	  source/graph/TopologyLocation.cpp,
+	  source/graph/index/MonotoneChain.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/MonotoneChainIndexer.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SimpleEdgeSetIntersector.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/graph/index/SimpleSweepLineIntersector.cpp,
+	  source/graph/index/SweepLineEvent.cpp,
+	  source/graph/index/SweepLineSegment.cpp,
+	  source/headers/bigtest.h, source/headers/geom.h,
+	  source/headers/geosAlgorithm.h, source/headers/graph.h,
+	  source/headers/graphindex.h, source/headers/indexBintree.h,
+	  source/headers/indexChain.h, source/headers/indexQuadtree.h,
+	  source/headers/indexStrtree.h, source/headers/indexSweepline.h,
+	  source/headers/io.h, source/headers/opBuffer.h,
+	  source/headers/opDistance.h, source/headers/opOverlay.h,
+	  source/headers/opRelate.h, source/headers/opValid.h,
+	  source/headers/operation.h, source/headers/spatialIndex.h,
+	  source/headers/util.h, source/index/bintree/BinTreeInterval.cpp,
+	  source/index/bintree/BinTreeNode.cpp,
+	  source/index/bintree/Bintree.cpp, source/index/bintree/Key.cpp,
+	  source/index/bintree/NodeBase.cpp, source/index/bintree/Root.cpp,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/MonotoneChainOverlapAction.cpp,
+	  source/index/chain/MonotoneChainSelectAction.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/index/quadtree/IntervalSize.cpp,
+	  source/index/quadtree/QuadTreeKey.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/Interval.cpp,
+	  source/index/strtree/ItemBoundable.cpp,
+	  source/index/strtree/SIRtree.cpp,
+	  source/index/sweepline/SweepLineIndex.cpp,
+	  source/index/sweepline/SweepLineInterval.cpp,
+	  source/index/sweepline/indexSweepLineEvent.cpp,
+	  source/io/ParseException.cpp, source/io/StringTokenizer.cpp,
+	  source/io/WKTReader.cpp, source/io/WKTWriter.cpp,
+	  source/io/Writer.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/buffer/BufferEdgeBuilder.cpp,
+	  source/operation/buffer/BufferLineBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/LoopFilter.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp,
+	  source/operation/distance/ConnectedElementPointFilter.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/distance/LineExtracterFilter.cpp,
+	  source/operation/distance/PointExtracterFilter.cpp,
+	  source/operation/distance/PolygonExtracterFilter.cpp,
+	  source/operation/overlay/EdgeSetNoder.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/overlay/OverlayNodeFactory.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNode.cpp,
+	  source/operation/relate/RelateNodeFactory.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/operation/valid/TopologyValidationError.cpp,
+	  source/test/CTS.cpp, source/test/SimpleWKTTester.cpp,
+	  source/test/XMLTester.cpp, source/util/Assert.cpp,
+	  source/util/AssertionFailedException.cpp,
+	  source/util/GEOSException.cpp,
+	  source/util/IllegalArgumentException.cpp,
+	  source/util/UnsupportedOperationException.cpp: 'geos' namespace
+	  added.
 
 2003-06-18 20:08  Yury Bychkov <me at yury.ca>
 
-	* [r144] Buffer is almost fully debugged.
+	* [r144] source/headers/opBuffer.h, source/operation/buffer,
+	  source/operation/buffer/BufferEdgeBuilder.cpp,
+	  source/operation/buffer/BufferLineBuilder.cpp,
+	  source/operation/buffer/BufferOp.cpp,
+	  source/operation/buffer/BufferSubgraph.cpp,
+	  source/operation/buffer/LoopFilter.cpp,
+	  source/operation/buffer/RightmostEdgeFinder.cpp: Buffer is almost
+	  fully debugged.
 
 2003-05-29 00:05  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r143] Final GNU build adjustments.
+	* [r143] source/bigtest/Makefile.am, source/geom/Makefile.am: Final
+	  GNU build adjustments.
 
 2003-05-28 23:55  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r142] Added new exception class.
+	* [r142] source/examples/Makefile.am: Added new exception class.
 
 2003-05-28 23:39  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r141] Change reference to spatialIndex.h
+	* [r141] source/headers/Makefile.am: Change reference to
+	  spatialIndex.h
 
 2003-05-28 23:22  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r140] Removed obsolete build entries for removed classes.
+	* [r140] source/geom/Makefile.am: Removed obsolete build entries
+	  for removed classes.
 
 2003-05-28 22:22  Yury Bychkov <me at yury.ca>
 
-	* [r139] Some bugfixes.
+	* [r139] source/headers/indexStrtree.h,
+	  source/index/strtree/Interval.cpp: Some bugfixes.
 
 2003-05-28 22:11  Yury Bychkov <me at yury.ca>
 
-	* [r138] no message
+	* [r138] source/index/bintree/Interval.cpp,
+	  source/index/bintree/Node.cpp, source/test/XMLTester.cpp: no
+	  message
 
 2003-05-28 05:02  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r137] Changed __max/__min to max/min
+	* [r137] source/index/strtree/Interval.cpp,
+	  source/index/strtree/SIRtree.cpp: Changed __max/__min to max/min
 
 2003-05-28 05:01  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r136] Change __max to max
+	* [r136] source/index/quadtree/IntervalSize.cpp: Change __max to
+	  max
 
 2003-05-27 23:56  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r135] Changed from mistaken cpp file names.
+	* [r135] source/geom/Makefile.am: Changed from mistaken cpp file
+	  names.
 
 2003-05-27 23:54  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r134] Added include for <typeinfo>
+	* [r134] source/algorithm/CentroidArea.cpp: Added include for
+	  <typeinfo>
 
 2003-05-27 23:45  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r133] GNU build support
+	* [r133] source/headers/indexStrtree.h: GNU build support
 
 2003-05-27 23:42  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r132] Fix reference to spatialIndex header
+	* [r132] source/headers/indexQuadtree.h: Fix reference to
+	  spatialIndex header
 
 2003-05-27 23:41  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r131] Build updates.
+	* [r131] source/headers/Makefile.in, source/headers/SpatialIndex.h,
+	  source/headers/geom.h, source/headers/indexStrtree.h,
+	  source/headers/spatialIndex.h: Build updates.
 
 2003-05-27 23:33  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r130] Add new files into build support
+	* [r130] source/geom/Makefile.am: Add new files into build support
 
 2003-05-27 23:17  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r129] Add all new headers into the build process.
+	* [r129] source/headers/Makefile.am: Add all new headers into the
+	  build process.
 
 2003-05-27 23:11  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r128] Some updates to synch build with devel.
+	* [r128] source/geom/Makefile.am, source/headers/Makefile.am: Some
+	  updates to synch build with devel.
 
 2003-05-21 23:28  Yury Bychkov <me at yury.ca>
 
-	* [r127] Several bugs fixed.
+	* [r127] source/algorithm/MCPointInRing.cpp,
+	  source/geom/PrecisionModel.cpp, source/graph/GeometryGraph.cpp,
+	  source/index/bintree/Key.cpp,
+	  source/operation/relate/RelateOp.cpp: Several bugs fixed.
 
 2003-05-19 06:18  Yury Bychkov <me at yury.ca>
 
-	* [r126] All exceptions are now classes.
+	* [r126] source/algorithm/HCoordinate.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/examples/CPCLException.cpp,
+	  source/examples/CoordinateListsExample.cpp,
+	  source/examples/CustomCoordinateListExample.cpp,
+	  source/examples/CustomCoordinateListExample.h,
+	  source/examples/CustomPointCoordinateList.cpp,
+	  source/geom/CoordinateList.cpp, source/geom/Dimension.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineString.cpp,
+	  source/geom/LinearRing.cpp, source/geom/Location.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/geom/TopologyException.cpp,
+	  source/graph/GeometryGraph.cpp, source/graph/Quadrant.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/headers/geom.h, source/headers/geosAlgorithm.h,
+	  source/headers/io.h, source/headers/util.h,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/io/ParseException.cpp, source/io/WKTReader.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/test/CTS.cpp, source/test/SimpleWKTTester.cpp,
+	  source/util/Assert.cpp, source/util/AssertionFailedException.cpp,
+	  source/util/GEOSException.cpp,
+	  source/util/IllegalArgumentException.cpp,
+	  source/util/UnsupportedOperationException.cpp: All exceptions are
+	  now classes.
 
 2003-05-17 07:47  Yury Bychkov <me at yury.ca>
 
-	* [r125] Last fix for CVS.
+	* [r125] source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/CentroidPoint.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp: Last fix for CVS.
 
 2003-05-17 06:08  Yury Bychkov <me at yury.ca>
 
-	* [r124] Fixing CVS error.
+	* [r124] source/algorithm/MCPointInRing.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/graph/GeometryGraph.cpp,
+	  source/headers/geom.h, source/headers/geosAlgorithm.h,
+	  source/headers/graph.h, source/headers/graphindex.h,
+	  source/headers/indexQuadtree.h, source/headers/indexStrtree.h,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/operation/valid/IsValidOp.cpp: Fixing CVS error.
 
 2003-05-17 00:27  Yury Bychkov <me at yury.ca>
 
-	* [r123] Fixing a commit problem.
+	* [r123] source/geom/GeometryCollection.cpp,
+	  source/headers/geosAlgorithm.h: Fixing a commit problem.
 
 2003-05-17 00:07  Yury Bychkov <me at yury.ca>
 
-	* [r122] SIRtree is done. Distance is done.
+	* [r122] source/algorithm/MCPointInRing.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/graph/GeometryGraph.cpp,
+	  source/headers/geom.h, source/headers/geosAlgorithm.h,
+	  source/headers/graph.h, source/headers/opDistance.h,
+	  source/index/intervaltree, source/index/strtree/SIRtree.cpp,
+	  source/index/strtree/STRtree.cpp, source/operation/distance,
+	  source/operation/distance/ConnectedElementPointFilter.cpp,
+	  source/operation/distance/DistanceOp.cpp,
+	  source/operation/distance/LineExtracterFilter.cpp,
+	  source/operation/distance/PointExtracterFilter.cpp,
+	  source/operation/distance/PolygonExtracterFilter.cpp: SIRtree is
+	  done. Distance is done.
 
 2003-05-07 09:06  Yury Bychkov <me at yury.ca>
 
-	* [r121] Closer to 1.3
+	* [r121] source/algorithm/CentroidArea.cpp,
+	  source/algorithm/CentroidLine.cpp,
+	  source/algorithm/CentroidPoint.cpp,
+	  source/algorithm/ConvexHull.java,
+	  source/algorithm/IntTreePointInRing.cpp,
+	  source/algorithm/InteriorPointArea.cpp,
+	  source/algorithm/InteriorPointLine.cpp,
+	  source/algorithm/InteriorPointPoint.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/SIRtreePointInRing.cpp,
+	  source/geom/GeometryComponentFilter.cpp,
+	  source/geom/TopologyException.cpp,
+	  source/graph/index/SimpleEdgeSetIntersector.cpp,
+	  source/graph/index/SimpleSweepLineIntersector.cpp,
+	  source/headers/SpatialIndex.h, source/headers/geosAlgorithm.h,
+	  source/headers/graphindex.h, source/headers/indexBintree.h,
+	  source/headers/indexIntervaltree.h,
+	  source/headers/indexQuadtree.h, source/headers/indexStrtree.h,
+	  source/index/bintree, source/index/bintree/BinTreeInterval.cpp,
+	  source/index/bintree/BinTreeNode.cpp,
+	  source/index/bintree/Bintree.cpp,
+	  source/index/bintree/Interval.cpp, source/index/bintree/Key.cpp,
+	  source/index/bintree/Node.cpp, source/index/bintree/NodeBase.cpp,
+	  source/index/bintree/Root.cpp,
+	  source/index/quadtree/DoubleBits.cpp,
+	  source/index/quadtree/IntervalSize.cpp,
+	  source/index/quadtree/Quad.cpp,
+	  source/index/quadtree/QuadTreeKey.cpp,
+	  source/index/quadtree/QuadTreeNode.cpp,
+	  source/index/quadtree/QuadTreeNodeBase.cpp,
+	  source/index/quadtree/QuadTreeRoot.cpp,
+	  source/index/quadtree/Quadtree.cpp, source/index/strtree,
+	  source/index/strtree/AbstractNode.cpp,
+	  source/index/strtree/AbstractSTRtree.cpp,
+	  source/index/strtree/Interval.cpp,
+	  source/index/strtree/ItemBoundable.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp: Closer to
+	  1.3
 
 2003-05-04 22:34  Yury Bychkov <me at yury.ca>
 
-	* [r120] Closer to JTS 1.3
+	* [r120] source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/NonRobustLineIntersector.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/PrecisionModel.cpp, source/graph/EdgeList.cpp,
+	  source/graph/index/MonotoneChain.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/graph/index/SweepLineEvent.cpp, source/headers/geom.h,
+	  source/headers/geosAlgorithm.h, source/headers/graph.h,
+	  source/headers/graphindex.h, source/headers/opRelate.h,
+	  source/headers/opValid.h, source/headers/operation.h,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/IsValidOp.cpp: Closer to JTS 1.3
 
 2003-04-28 06:01  Yury Bychkov <me at yury.ca>
 
-	* [r119] Partially upgraded to JTS 1.3
+	* [r119] source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/IntTreePointInRing.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/MCPointInRing.cpp,
+	  source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/NonRobustLineIntersector.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/RobustDeterminant.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/bigtest/GeometryTestFactory.cpp,
+	  source/examples/CustomCoordinateListExample.h,
+	  source/geom/BasicCoordinateList.cpp, source/geom/Coordinate.cpp,
+	  source/geom/CoordinateList.cpp,
+	  source/geom/CoordinateListFactory.cpp, source/geom/Dimension.cpp,
+	  source/geom/Envelope.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/Location.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/PointCoordinateList.cpp,
+	  source/geom/Polygon.cpp, source/geom/PrecisionModel.cpp,
+	  source/graph/Depth.cpp, source/graph/DirectedEdge.cpp,
+	  source/graph/DirectedEdgeStar.cpp, source/graph/Edge.cpp,
+	  source/graph/EdgeEnd.cpp, source/graph/EdgeEndStar.cpp,
+	  source/graph/EdgeIntersection.cpp,
+	  source/graph/EdgeIntersectionList.cpp, source/graph/EdgeList.cpp,
+	  source/graph/EdgeRing.cpp, source/graph/GeometryGraph.cpp,
+	  source/graph/GraphComponent.cpp, source/graph/Label.cpp,
+	  source/graph/Node.cpp, source/graph/NodeFactory.cpp,
+	  source/graph/NodeMap.cpp, source/graph/PlanarGraph.cpp,
+	  source/graph/Position.cpp, source/graph/Quadrant.cpp,
+	  source/graph/TopologyLocation.cpp,
+	  source/graph/index/MonotoneChain.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/MonotoneChainIndexer.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/graph/index/SweepLineEvent.cpp,
+	  source/graph/index/SweepLineSegment.cpp, source/headers/geom.h,
+	  source/headers/geosAlgorithm.h, source/headers/graph.h,
+	  source/headers/graphindex.h, source/headers/opOverlay.h,
+	  source/headers/opValid.h,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/MonotoneChainOverlapAction.cpp,
+	  source/index/chain/MonotoneChainSelectAction.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/index/intervaltree/IntervalNode.cpp,
+	  source/index/intervaltree/IntervalTree.cpp,
+	  source/index/quadtree/Quad.cpp,
+	  source/index/quadtree/Quadtree.cpp,
+	  source/index/sweepline/SweepLineIndex.cpp,
+	  source/index/sweepline/SweepLineInterval.cpp,
+	  source/index/sweepline/indexSweepLineEvent.cpp,
+	  source/io/ParseException.cpp, source/io/StringTokenizer.cpp,
+	  source/io/WKTReader.cpp, source/io/WKTWriter.cpp,
+	  source/io/Writer.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/overlay/EdgeSetNoder.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/overlay/OverlayNodeFactory.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNode.cpp,
+	  source/operation/relate/RelateNodeFactory.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/relate/RelateOp.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/operation/valid/TopologyValidationError.cpp,
+	  source/util/Assert.cpp, source/util/AssertionFailedException.cpp:
+	  Partially upgraded to JTS 1.3
 
 2003-04-21 22:16  Yury Bychkov <me at yury.ca>
 
-	* [r118] VisualStudio project added.
+	* [r118] VisualStudio, VisualStudio/GEOS.sln,
+	  VisualStudio/GEOS.vcproj: VisualStudio project added.
 
 2003-04-17 00:37  Yury Bychkov <me at yury.ca>
 
-	* [r117] Changed PrecisionModel to Value type. Removed bounds
-	  checking from *At methods in CoordinateLists.
+	* [r117] source/geom/BasicCoordinateList.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryFactory.cpp,
+	  source/geom/PointCoordinateList.cpp,
+	  source/graph/GeometryGraph.cpp, source/io/WKTReader.cpp: Changed
+	  PrecisionModel to Value type. Removed bounds checking from *At
+	  methods in CoordinateLists.
 
 2003-04-12 04:31  Yury Bychkov <me at yury.ca>
 
-	* [r116] Overlay passes all tests (both precise and normal)
+	* [r116] source/graph/EdgeRing.cpp,
+	  source/operation/overlay/OverlayOp.cpp: Overlay passes all tests
+	  (both precise and normal)
 
 2003-04-11 23:16  Yury Bychkov <me at yury.ca>
 
-	* [r115] Overlay almost works. Fails 2 tests.
+	* [r115] source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineString.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/geom/PrecisionModel.cpp, source/graph/GeometryGraph.cpp,
+	  source/headers/geom.h, source/io/WKTReader.cpp,
+	  source/test/XMLTester.cpp: Overlay almost works. Fails 2 tests.
 
 2003-04-10 04:34  Yury Bychkov <me at yury.ca>
 
-	* [r114] Overlay passes all normal tests. Still fails on Precision
-	  tests.
+	* [r114] source/geom/Geometry.cpp, source/geom/GeometryFactory.cpp,
+	  source/graph/Depth.cpp, source/graph/DirectedEdgeStar.cpp,
+	  source/graph/EdgeIntersectionList.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/test/XMLTester.cpp: Overlay passes all normal tests. Still
+	  fails on Precision tests.
 
 2003-04-09 21:52  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r113] Changed destructors to virtual to quiet GNU warnings
+	* [r113] source/headers/geom.h: Changed destructors to virtual to
+	  quiet GNU warnings
 
 2003-04-04 23:49  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r112] Install all headers at install time.
+	* [r112] source/headers/Makefile.am: Install all headers at install
+	  time.
 
 2003-04-04 22:04  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r111] Newlines added to quiet gcc.
+	* [r111] source/examples/CustomCoordinateListExample.cpp,
+	  source/examples/CustomCoordinateListExample.h,
+	  source/examples/CustomPointCoordinateList.cpp: Newlines added to
+	  quiet gcc.
 
 2003-04-04 03:44  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r110] Build support
+	* [r110] source/geom/Makefile.am: Build support
 
 2003-04-04 03:43  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r109] Build support.
+	* [r109] source/examples/Makefile.am: Build support.
 
 2003-04-04 03:28  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r108] Build support updates.
+	* [r108] source/geom/Makefile.am: Build support updates.
 
 2003-04-04 03:11  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r107] Build support for new example programs.
+	* [r107] source/examples/Makefile.am: Build support for new example
+	  programs.
 
 2003-04-04 00:18  David Blasby <dblasby at gmail.com>
 
-	* [r106] added comment about running ./autogen.sh
+	* [r106] INSTALL: added comment about running ./autogen.sh
 
 2003-04-02 21:55  Yury Bychkov <me at yury.ca>
 
-	* [r105] Added example on how to wrap internal storage format with
-	  CoordinateLists.
+	* [r105] source/examples/CustomCoordinateListExample.cpp,
+	  source/examples/CustomCoordinateListExample.h,
+	  source/examples/CustomPointCoordinateList.cpp: Added example on
+	  how to wrap internal storage format with CoordinateLists.
 
 2003-04-02 08:02  Yury Bychkov <me at yury.ca>
 
-	* [r104] isValid is debugged (passes all 805 tests).
+	* [r104] source/algorithm/MCPointInRing.cpp,
+	  source/geom/BasicCoordinateList.cpp, source/geom/LineString.cpp,
+	  source/geom/PointCoordinateList.cpp,
+	  source/graph/DirectedEdge.cpp, source/graph/EdgeEnd.cpp,
+	  source/graph/EdgeEndStar.cpp,
+	  source/graph/EdgeIntersectionList.cpp, source/graph/EdgeRing.cpp,
+	  source/graph/Node.cpp, source/headers/geom.h,
+	  source/headers/indexChain.h, source/headers/opOverlay.h,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/overlay/OverlayNodeFactory.cpp,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/IsValidOp.cpp: isValid is debugged (passes
+	  all 805 tests).
 
 2003-03-24 19:23  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r103] Added newlines to end to quiet gcc
+	* [r103] source/headers/indexQuadtree.h,
+	  source/headers/indexSweepline.h: Added newlines to end to quiet
+	  gcc
 
 2003-03-24 19:21  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r102] Yet more GNU build fiddling. Removed extraneous build
-	  support from all
+	* [r102] Makefile.in, aclocal.m4, configure, configure.in, libtool,
+	  macros/Makefile.in, source/Makefile.am, source/Makefile.in,
+	  source/algorithm/Makefile.am, source/algorithm/Makefile.in,
+	  source/bigtest/Makefile.in, source/geom/Makefile.in,
+	  source/graph/Makefile.am, source/graph/Makefile.in,
+	  source/graph/index/Makefile.am, source/graph/index/Makefile.in,
+	  source/headers/Makefile.in, source/headers/config.h.in,
+	  source/headers/indexChain.h, source/headers/indexIntervaltree.h,
+	  source/io/Makefile.am, source/io/Makefile.in,
+	  source/io/markup/Makefile.am, source/io/markup/Makefile.in,
+	  source/operation/Makefile.am, source/operation/Makefile.in,
+	  source/operation/relate/Makefile.am,
+	  source/operation/relate/Makefile.in,
+	  source/operation/valid/Makefile.am, source/test/Makefile.in,
+	  source/util/Makefile.am, source/util/Makefile.in,
+	  tools/Makefile.in: Yet more GNU build fiddling. Removed
+	  extraneous build support from all
 	  non-geom library directories.
 
 2003-03-24 03:45  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r101] More GNU build support
+	* [r101] source/geom/Makefile.am: More GNU build support
 
 2003-03-24 03:07  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r100] GNU build support on latest changes.
+	* [r100] Makefile.in, aclocal.m4, configure, configure.in, libtool,
+	  macros/Makefile.in, source/Makefile.in,
+	  source/algorithm/Makefile.in, source/bigtest/Makefile.in,
+	  source/geom/Makefile.am, source/geom/Makefile.in,
+	  source/graph/Makefile.in, source/graph/index/Makefile.in,
+	  source/headers/Makefile.in, source/headers/config.h.in,
+	  source/headers/geosAlgorithm.h, source/headers/opValid.h,
+	  source/io/Makefile.in, source/io/markup/Makefile.in,
+	  source/operation/Makefile.am, source/operation/Makefile.in,
+	  source/operation/relate/Makefile.in, source/test/Makefile.in,
+	  source/test/XMLTester.cpp, source/util/Makefile.in,
+	  tools/Makefile.in: GNU build support on latest changes.
 
 2003-03-19 00:34  Yury Bychkov <me at yury.ca>
 
-	* [r99] All Overlay classes are ported. Overlay and isValid have
-	  not been tested yet.
+	* [r99] source/algorithm/IntTreePointInRing.cpp,
+	  source/geom/Geometry.cpp, source/headers/geosAlgorithm.h,
+	  source/headers/opOverlay.h,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/OverlayOp.cpp,
+	  source/operation/overlay/OverlayOp.java: All Overlay classes are
+	  ported. Overlay and isValid have not been tested yet.
 
 2003-03-18 01:42  Yury Bychkov <me at yury.ca>
 
-	* [r98] 90% of Overlay classes ported.
+	* [r98] source/geom/Geometry.cpp, source/graph/PlanarGraph.cpp,
+	  source/headers/opOverlay.h, source/headers/opValid.h,
+	  source/index/intervaltree/IntervalNode.cpp,
+	  source/index/quadtree/Quad.cpp,
+	  source/operation/overlay/EdgeSetNoder.cpp,
+	  source/operation/overlay/LineBuilder.cpp,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/OverlayNodeFactory.cpp,
+	  source/operation/overlay/OverlayOp.java,
+	  source/operation/overlay/PointBuilder.cpp,
+	  source/operation/overlay/PolygonBuilder.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/test/XMLTester.cpp: 90% of Overlay classes ported.
 
 2003-03-17 18:04  Yury Bychkov <me at yury.ca>
 
-	* [r97] All 'index' packages and part of 'overlay' are done.
+	* [r97] source/algorithm/MCPointInRing.cpp,
+	  source/headers/geosAlgorithm.h, source/headers/indexChain.h,
+	  source/headers/indexIntervaltree.h, source/index/chain,
+	  source/index/chain/MonotoneChainBuilder.cpp,
+	  source/index/chain/MonotoneChainOverlapAction.cpp,
+	  source/index/chain/MonotoneChainSelectAction.cpp,
+	  source/index/chain/indexMonotoneChain.cpp,
+	  source/index/intervaltree,
+	  source/index/intervaltree/IntervalNode.cpp,
+	  source/index/intervaltree/IntervalTree.cpp: All 'index' packages
+	  and part of 'overlay' are done.
 
 2003-03-17 02:49  Yury Bychkov <me at yury.ca>
 
-	* [r96] IsValid and supporting packages are ported (but NOT
-	  tested).
+	* [r96] source/algorithm/MCPointInRing.cpp,
+	  source/headers/geosAlgorithm.h, source/headers/opOverlay.h,
+	  source/headers/opValid.h, source/operation/overlay,
+	  source/operation/overlay/MaximalEdgeRing.cpp,
+	  source/operation/overlay/MinimalEdgeRing.cpp,
+	  source/operation/valid/IsValidOp.cpp: IsValid and supporting
+	  packages are ported (but NOT tested).
 
 2003-03-12 23:45  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r95] Build support for valid.
+	* [r95] source/geom/Makefile.am, source/operation/Makefile.am,
+	  source/operation/valid/Makefile.am: Build support for valid.
 
 2003-03-10 10:18  Yury Bychkov <me at yury.ca>
 
-	* [r94] IsValid() and supporting index classes are ported, but
-	  don't work yet (external dependencies)
+	* [r94] source/headers/indexQuadtree.h, source/headers/opOverlay.h,
+	  source/headers/opValid.h,
+	  source/operation/valid/ConnectedInteriorTester.cpp,
+	  source/operation/valid/QuadtreeNestedRingTester.cpp: IsValid()
+	  and supporting index classes are ported, but don't work yet
+	  (external dependencies)
 
 2003-03-10 01:17  Yury Bychkov <me at yury.ca>
 
-	* [r93] IsValid and supporting index classes are almost done.
+	* [r93] source/headers/indexQuadtree.h,
+	  source/headers/indexSweepline.h, source/headers/opValid.h,
+	  source/index, source/index/quadtree,
+	  source/index/quadtree/Quad.cpp,
+	  source/index/quadtree/Quadtree.cpp, source/index/sweepline,
+	  source/index/sweepline/SweepLineIndex.cpp,
+	  source/index/sweepline/SweepLineInterval.cpp,
+	  source/index/sweepline/indexSweepLineEvent.cpp,
+	  source/operation/valid,
+	  source/operation/valid/ConsistentAreaTester.cpp,
+	  source/operation/valid/IsValidOp.cpp,
+	  source/operation/valid/RepeatedPointTester.cpp,
+	  source/operation/valid/SimpleNestedRingTester.cpp,
+	  source/operation/valid/SweeplineNestedRingTester.cpp,
+	  source/operation/valid/TopologyValidationError.cpp,
+	  source/test/XMLTester.cpp: IsValid and supporting index classes
+	  are almost done.
 
 2003-03-05 17:04  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r92] Build support for new coordinateline examples.
+	* [r92] configure.in, source/Makefile.am,
+	  source/examples/Makefile.am: Build support for new coordinateline
+	  examples.
 
 2003-03-05 08:02  Yury Bychkov <me at yury.ca>
 
-	* [r91] CoordinateList interface example.
+	* [r91] source/examples,
+	  source/examples/CoordinateListsExample.cpp,
+	  source/geom/PointCoordinateList.cpp, source/headers/geom.h:
+	  CoordinateList interface example.
 
 2003-03-03 03:56  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r90] Remove PointInRing
+	* [r90] source/geom/Makefile.am: Remove PointInRing
 
 2003-03-03 03:35  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r89] Removed unused file.
+	* [r89] source/algorithm/PointInRing.cpp: Removed unused file.
 
 2003-03-03 02:41  Yury Bychkov <me at yury.ca>
 
-	* [r88] Some Coordinate& related bugs fixed.
+	* [r88] source/algorithm/LineIntersector.cpp,
+	  source/bigtest/GeometryTestFactory.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/PointCoordinateList.cpp,
+	  source/graph/EdgeIntersectionList.cpp, source/io/WKTReader.cpp:
+	  Some Coordinate& related bugs fixed.
 
 2003-03-03 02:26  Yury Bychkov <me at yury.ca>
 
-	* [r87] GeometryFactory bug fix.
+	* [r87] source/geom/GeometryFactory.cpp: GeometryFactory bug fix.
 
 2003-03-03 00:46  Yury Bychkov <me at yury.ca>
 
-	* [r86] Second pass of code cleanup. Coordinate references and
-	  inlining.
+	* [r86] source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/NonRobustLineIntersector.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/geom/BasicCoordinateList.cpp, source/geom/Coordinate.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryFactory.cpp,
+	  source/geom/LineSegment.cpp, source/geom/LineString.cpp,
+	  source/geom/Point.cpp, source/geom/PointCoordinateList.cpp,
+	  source/geom/PrecisionModel.cpp, source/graph/EdgeEndStar.cpp,
+	  source/graph/EdgeIntersection.cpp,
+	  source/graph/EdgeIntersectionList.cpp, source/graph/EdgeRing.cpp,
+	  source/graph/GeometryGraph.cpp, source/graph/Node.cpp,
+	  source/graph/NodeMap.cpp, source/graph/PlanarGraph.cpp,
+	  source/graph/Quadrant.cpp,
+	  source/graph/index/SegmentIntersector.cpp, source/headers/geom.h,
+	  source/headers/geosAlgorithm.h, source/headers/graph.h,
+	  source/headers/graphindex.h, source/headers/opRelate.h,
+	  source/headers/operation.h, source/headers/util.h,
+	  source/io/WKTReader.cpp, source/operation/IsSimpleOp.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNode.cpp, source/test/CTS.cpp,
+	  source/util/Assert.cpp: Second pass of code cleanup. Coordinate
+	  references and inlining.
 
 2003-03-02 03:47  Yury Bychkov <me at yury.ca>
 
-	* [r85] First pass of code cleanup completed over all packages.
+	* [r85] source/graph/Depth.cpp, source/graph/DirectedEdge.cpp,
+	  source/graph/DirectedEdgeStar.cpp, source/graph/Edge.cpp,
+	  source/graph/EdgeEnd.cpp, source/graph/EdgeEndStar.cpp,
+	  source/graph/EdgeIntersectionList.cpp, source/graph/EdgeRing.cpp,
+	  source/graph/GeometryGraph.cpp, source/graph/GraphComponent.cpp,
+	  source/graph/Label.cpp, source/graph/Node.cpp,
+	  source/graph/NodeMap.cpp, source/graph/PlanarGraph.cpp,
+	  source/graph/TopologyLocation.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/MonotoneChainIndexer.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/headers/graph.h, source/headers/graphindex.h,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp: First pass of code
+	  cleanup completed over all packages.
 
 2003-03-01 06:10  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r84] Uncommented default constructor for PointInRing
+	* [r84] source/headers/geosAlgorithm.h: Uncommented default
+	  constructor for PointInRing
 
 2003-03-01 06:08  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r83] Fixed call to geometry factory.
+	* [r83] source/test/SimpleWKTTester.cpp: Fixed call to geometry
+	  factory.
 
 2003-02-26 23:16  Yury Bychkov <me at yury.ca>
 
-	* [r82] All packages except 'graph' has been refactored.
+	* [r82] source/algorithm/LineIntersector.cpp,
+	  source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/headers/geosAlgorithm.h, source/headers/io.h,
+	  source/headers/util.h, source/io/StringTokenizer.cpp,
+	  source/io/WKTReader.cpp, source/io/WKTWriter.cpp,
+	  source/io/Writer.cpp, source/test/XMLTester.cpp: All packages
+	  except 'graph' has been refactored.
 
 2003-02-20 03:32  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r81] Fixed small bug in call to GeometryFactory (instantiate
-	  PrecisionModel
+	* [r81] source/test/SimpleWKTTester.cpp: Fixed small bug in call to
+	  GeometryFactory (instantiate PrecisionModel
 	  with new)
 
 2003-02-20 03:30  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r80] GFactory: Move i outside of for loop. Needed to compile GNU
+	* [r80] source/geom/CoordinateListFactory.cpp,
+	  source/geom/GeometryFactory.cpp: GFactory: Move i outside of for
+	  loop. Needed to compile GNU
 	  CListFactory: Add newline to end of file.
 
 2003-02-20 00:10  Yury Bychkov <me at yury.ca>
 
-	* [r79] Geom and Operation (including Relate) packages are updated.
+	* [r79] source/geom/GeometryFactory.cpp, source/headers/opRelate.h,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/relate/RelateOp.cpp: Geom and Operation
+	  (including Relate) packages are updated.
 
 2003-02-17 09:38  Yury Bychkov <me at yury.ca>
 
-	* [r78] GEOM package fully updated & bugs fixed.
+	* [r78] source/geom/Envelope.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineString.cpp,
+	  source/geom/Polygon.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp, source/headers/geom.h,
+	  source/headers/io.h, source/headers/opRelate.h,
+	  source/headers/operation.h, source/io/WKTWriter.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateOp.cpp, source/test/XMLTester.cpp:
+	  GEOM package fully updated & bugs fixed.
 
 2003-02-17 00:40  Yury Bychkov <me at yury.ca>
 
-	* [r77] GEOM package fully updated.
+	* [r77] source/geom/Geometry.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/graph/EdgeRing.cpp, source/graph/GeometryGraph.cpp,
+	  source/headers/geom.h, source/headers/io.h,
+	  source/io/WKTReader.cpp: GEOM package fully updated.
 
 2003-02-16 22:52  Yury Bychkov <me at yury.ca>
 
-	* [r76] GEOM package partially updated.
+	* [r76] source/bigtest/GeometryTestFactory.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineString.cpp,
+	  source/geom/LinearRing.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/graph/EdgeRing.cpp, source/headers/geom.h,
+	  source/io/WKTReader.cpp: GEOM package partially updated.
 
 2003-02-12 21:09  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r75] Added two files required by autoconf build process.
+	* [r75] INSTALL, missing: Added two files required by autoconf
+	  build process.
 
 2003-02-12 20:51  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r74] Commit build support files.
+	* [r74] configure, libtool, source/geom/Makefile.in,
+	  source/headers/Makefile.in, source/test/Makefile.in: Commit build
+	  support files.
 
 2003-02-12 19:11  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r73] Change header installation path to $(prefix)/include/geos.
+	* [r73] source/headers/Makefile.am: Change header installation path
+	  to $(prefix)/include/geos.
 
 2003-02-12 06:50  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r72] Added newlines to quiet g++ warnings.
+	* [r72] source/algorithm/LineIntersector.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp: Added newlines to
+	  quiet g++ warnings.
 
 2003-02-12 06:48  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r71] Added newlines to ends of files to quiet g++ warnings.
+	* [r71] source/graph/Depth.cpp, source/graph/DirectedEdge.cpp,
+	  source/graph/DirectedEdgeStar.cpp, source/graph/EdgeEnd.cpp,
+	  source/graph/EdgeIntersectionList.cpp, source/graph/EdgeList.cpp,
+	  source/graph/Label.cpp, source/graph/NodeFactory.cpp,
+	  source/graph/index/MonotoneChain.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/graph/index/SweepLineEvent.cpp: Added newlines to ends of
+	  files to quiet g++ warnings.
 
 2003-02-12 06:27  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r70] Fix headers.
+	* [r70] source/test/XMLTester.cpp: Fix headers.
 
 2003-02-12 06:26  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r69] Changed headers.
+	* [r69] source/test/SimpleWKTTester.cpp: Changed headers.
 
 2003-02-12 06:24  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r68] Added return value.
+	* [r68] source/bigtest/TestSweepLineSpeed.cpp: Added return value.
 
 2003-02-12 06:24  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r67] Changed headers.
+	* [r67] source/bigtest/TestSweepLineSpeed.cpp, source/test/CTS.cpp,
+	  source/test/XMLTester.cpp: Changed headers.
 
 2003-02-12 06:19  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r66] Make path to test file relative.
+	* [r66] source/test/XMLTester.cpp: Make path to test file relative.
 
 2003-02-12 06:18  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r65] Change include reference syntax.
+	* [r65] source/bigtest/GeometryTestFactory.cpp: Change include
+	  reference syntax.
 
 2003-02-12 06:07  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r64] Remove NULL test.
+	* [r64] source/graph/EdgeEndStar.cpp: Remove NULL test.
 
 2003-02-12 06:07  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r63] Pass double to log().
+	* [r63] source/io/WKTWriter.cpp: Pass double to log().
 
 2003-02-12 06:07  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r62] Fixed main() return type.
+	* [r62] source/bigtest/TestSweepLineSpeed.cpp: Fixed main() return
+	  type.
 
 2003-02-12 06:04  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r61] Remove old library references.
+	* [r61] source/test/Makefile.am: Remove old library references.
 
 2003-02-12 05:58  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r60] Added stdio reference and newline at end.
+	* [r60] source/bigtest/TestSweepLineSpeed.cpp: Added stdio
+	  reference and newline at end.
 
 2003-02-12 00:58  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r59] Added all JTS test cases to the file.
+	* [r59] source/test/test.xml: Added all JTS test cases to the file.
 
 2003-02-11 23:54  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r58] Added support for new cpp files.
+	* [r58] source/geom/Makefile.am: Added support for new cpp files.
 
 2003-02-11 23:33  Yury Bychkov <me at yury.ca>
 
-	* [r57] Some bugs fixed.
+	* [r57] source/geom/CoordinateList.cpp, source/geom/Geometry.cpp,
+	  source/geom/PointCoordinateList.cpp, source/geom/Polygon.cpp,
+	  source/headers/geom.h: Some bugs fixed.
 
 2003-02-11 20:24  Yury Bychkov <me at yury.ca>
 
-	* [r56] Small changes in PointCoordinateList and EdgeEndStar.
+	* [r56] source/geom/PointCoordinateList.cpp,
+	  source/graph/EdgeEndStar.cpp, source/headers/graph.h: Small
+	  changes in PointCoordinateList and EdgeEndStar.
 
 2003-02-11 19:01  Martin Davis <mtnclimb at gmail.com>
 
-	* [r55] fixed duplicate for loop index
+	* [r55] source/geom/Geometry.cpp: fixed duplicate for loop index
 
 2003-02-05 08:14  Yury Bychkov <me at yury.ca>
 
-	* [r54] Second pass of CoordinateList interface migration.
+	* [r54] source/bigtest/GeometryTestFactory.cpp,
+	  source/geom/BasicCoordinateList.cpp,
+	  source/geom/CoordinateList.cpp,
+	  source/geom/CoordinateListFactory.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineString.cpp,
+	  source/geom/LinearRing.cpp, source/geom/MultiPoint.cpp,
+	  source/geom/Point.cpp, source/geom/PointCoordinateList.cpp,
+	  source/geom/Polygon.cpp, source/geom/PrecisionModel.cpp,
+	  source/graph/Edge.cpp, source/graph/EdgeIntersectionList.cpp,
+	  source/graph/GeometryGraph.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp, source/headers/geom.h,
+	  source/io/WKTReader.cpp, source/io/WKTWriter.cpp,
+	  source/operation/IsSimpleOp.cpp, source/test/XMLTester.cpp:
+	  Second pass of CoordinateList interface migration.
 
 2003-01-27 08:04  Yury Bychkov <me at yury.ca>
 
-	* [r53] First pass of CoordinateList interface replacement.
+	* [r53] source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/geom/BasicCoordinateList.cpp, source/geom/Envelope.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/MultiLineString.cpp, source/geom/Point.cpp,
+	  source/geom/Polygon.cpp, source/geom/PrecisionModel.cpp,
+	  source/graph/Edge.cpp, source/graph/EdgeIntersectionList.cpp,
+	  source/graph/EdgeList.cpp, source/graph/EdgeRing.cpp,
+	  source/graph/GeometryGraph.cpp, source/graph/PlanarGraph.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/MonotoneChainIndexer.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SweepLineSegment.cpp, source/headers/geom.h,
+	  source/headers/geosAlgorithm.h, source/headers/graph.h,
+	  source/headers/graphindex.h, source/headers/io.h,
+	  source/io/WKTReader.cpp: First pass of CoordinateList interface
+	  replacement.
 
 2003-01-27 07:56  Yury Bychkov <me at yury.ca>
 
-	* [r52] First pass of CoordinateList interface replacement.
+	* [r52] source/algorithm/CGAlgorithms.cpp: First pass of
+	  CoordinateList interface replacement.
 
 2003-01-27 07:26  Yury Bychkov <me at yury.ca>
 
-	* [r51] First pass of CoordinateList interface replacement.
+	* [r51] source/algorithm/CGAlgorithms.cpp: First pass of
+	  CoordinateList interface replacement.
 
 2002-12-02 09:48  Yury Bychkov <me at yury.ca>
 
-	* [r50] More performance updates.
+	* [r50] source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/SimplePointInRing.cpp,
+	  source/bigtest/TestSweepLineSpeed.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineString.cpp,
+	  source/geom/LinearRing.cpp, source/geom/Point.cpp,
+	  source/geom/Polygon.cpp, source/graph/Edge.cpp,
+	  source/graph/EdgeList.cpp, source/graph/EdgeRing.cpp,
+	  source/graph/GeometryGraph.cpp, source/graph/PlanarGraph.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SweepLineSegment.cpp, source/headers/geom.h,
+	  source/headers/geosAlgorithm.h, source/headers/graph.h: More
+	  performance updates.
 
 2002-11-24 10:48  Yury Bychkov <me at yury.ca>
 
-	* [r49] Some performance improvements.
+	* [r49] source/algorithm/RobustLineIntersector.cpp,
+	  source/bigtest/TestSweepLineSpeed.cpp,
+	  source/geom/CoordinateList.cpp,
+	  source/graph/index/MonotoneChainIndexer.cpp,
+	  source/headers/geom.h, source/headers/graphindex.h: Some
+	  performance improvements.
 
 2002-11-14 23:43  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r48] Build support for the bigtest programs.
+	* [r48] configure.in, source/Makefile.am, source/Makefile.in,
+	  source/bigtest/Makefile.am, source/bigtest/Makefile.in,
+	  source/geom/Makefile.am, source/geom/Makefile.in: Build support
+	  for the bigtest programs.
 
 2002-11-08 19:49  Yury Bychkov <me at yury.ca>
 
-	* [r47] Preformance is drastically improved
+	* [r47] source/bigtest/TestSweepLineSpeed.cpp,
+	  source/geom/Coordinate.cpp, source/graph/Edge.cpp,
+	  source/graph/EdgeList.cpp, source/graph/EdgeRing.cpp,
+	  source/graph/GeometryGraph.cpp, source/graph/PlanarGraph.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SweepLineSegment.cpp, source/headers/geom.h,
+	  source/headers/graph.h, source/headers/graphindex.h: Preformance
+	  is drastically improved
 
 2002-11-05 23:13  Yury Bychkov <me at yury.ca>
 
-	* [r46] Code for generating large tests added.
+	* [r46] source/bigtest, source/bigtest/GeometryTestFactory.cpp,
+	  source/bigtest/TestSweepLineSpeed.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/headers/bigtest.h,
+	  source/operation/relate/RelateComputer.cpp: Code for generating
+	  large tests added.
 
 2002-10-31 07:37  Yury Bychkov <me at yury.ca>
 
-	* [r45] XML tester is less fragile now.
+	* [r45] source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/io/StringTokenizer.cpp, source/test/XMLTester.cpp: XML
+	  tester is less fragile now.
 
 2002-10-30 21:59  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r44] Added configure support files for building w/o
-	  automake/autoconf
+	* [r44] config.guess, config.sub: Added configure support files for
+	  building w/o automake/autoconf
 
 2002-10-30 21:58  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r43] Small changes to make autoconf happy.
+	* [r43] configure.in: Small changes to make autoconf happy.
 
 2002-10-30 20:04  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r42] Edited test file to not crash XMLTester
+	* [r42] source/test/test.xml: Edited test file to not crash
+	  XMLTester
 
 2002-10-30 19:54  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r41] New build changes necessary to build under Linux GNU.
+	* [r41] Makefile.in, aclocal.m4, configure, configure.in, libtool,
+	  macros/Makefile.in, source/Makefile.in,
+	  source/algorithm/Makefile.in, source/geom/Makefile.am,
+	  source/geom/Makefile.in, source/graph/Makefile.in,
+	  source/graph/index/Makefile.in, source/headers/Makefile.in,
+	  source/headers/config.h.in, source/headers/opRelate.h,
+	  source/io/Makefile.in, source/io/markup/Makefile.in,
+	  source/operation/Makefile.in,
+	  source/operation/relate/Makefile.in, source/test/Makefile.am,
+	  source/test/Makefile.in, source/util/Makefile.in,
+	  tools/Makefile.in: New build changes necessary to build under
+	  Linux GNU.
 
 2002-10-23 02:21  Norman Vine <nhv at cape.com>
 
-	* [r40] GNU portability changes
+	* [r40] configure.in, source/Makefile.am, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp, source/geom/Makefile.am,
+	  source/geom/Polygon.cpp, source/graph/Depth.cpp,
+	  source/graph/DirectedEdgeStar.cpp, source/graph/EdgeEnd.cpp,
+	  source/graph/EdgeEndStar.cpp, source/graph/EdgeIntersection.cpp,
+	  source/graph/EdgeList.cpp, source/graph/EdgeRing.cpp,
+	  source/graph/PlanarGraph.cpp, source/graph/Quadrant.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/graph/index/SweepLineEvent.cpp,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/relate/RelateComputer.cpp, source/test/CTS.cpp,
+	  source/test/SimpleWKTTester.cpp, source/test/XMLTester.cpp: GNU
+	  portability changes
 
 2002-10-17 07:12  Yury Bychkov <me at yury.ca>
 
-	* [r39] All test cases now work. Some are still too slow.
+	* [r39] source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/geom/Geometry.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/graph/GeometryGraph.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/headers/graphindex.h, source/test/XMLTester.cpp: All test
+	  cases now work. Some are still too slow.
 
 2002-10-06 09:56  Yury Bychkov <me at yury.ca>
 
-	* [r38] Relate() is almost debugged.
+	* [r38] source/algorithm/PointLocator.cpp,
+	  source/graph/DirectedEdgeStar.cpp, source/graph/EdgeEndStar.cpp,
+	  source/graph/GeometryGraph.cpp, source/graph/Label.cpp,
+	  source/graph/PlanarGraph.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/graph/index/SweepLineEvent.cpp, source/headers/graph.h,
+	  source/headers/graphindex.h, source/headers/opRelate.h,
+	  source/operation/IsSimpleOp.cpp,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/test/XMLTester.cpp: Relate() is almost debugged.
 
 2002-09-12 14:08  Fernando Villa <fvilla at zoo.uvm.edu>
 
-	* [r37] Add makefile support for new files and dir
+	* [r37] Makefile.in, configure, configure.in, libtool,
+	  source/geom/Makefile.am, source/geom/Makefile.in,
+	  source/headers/Makefile.am, source/headers/Makefile.in,
+	  source/operation/Makefile.am, source/operation/Makefile.in,
+	  source/operation/relate/Makefile.am,
+	  source/operation/relate/Makefile.in: Add makefile support for new
+	  files and dir
 
 2002-09-12 01:27  Yury Bychkov <me at yury.ca>
 
-	* [r36] Relate is finished,but doesn't work yet.
+	* [r36] source/geom/Geometry.cpp, source/geom/LineString.cpp,
+	  source/geom/MultiLineString.cpp, source/geom/MultiPoint.cpp,
+	  source/geom/Polygon.cpp, source/graph/DirectedEdgeStar.cpp,
+	  source/graph/Edge.cpp, source/graph/EdgeEnd.cpp,
+	  source/graph/EdgeEndStar.cpp,
+	  source/graph/EdgeIntersectionList.cpp, source/graph/EdgeList.cpp,
+	  source/graph/GeometryGraph.cpp, source/graph/GraphComponent.cpp,
+	  source/graph/Node.cpp, source/graph/NodeFactory.cpp,
+	  source/graph/NodeMap.cpp, source/graph/PlanarGraph.cpp,
+	  source/graph/Quadrant.cpp,
+	  source/graph/index/SegmentIntersector.cpp, source/headers/geom.h,
+	  source/headers/graph.h, source/headers/opRelate.h,
+	  source/headers/operation.h,
+	  source/operation/GeometryGraphOperation.cpp,
+	  source/operation/relate,
+	  source/operation/relate/EdgeEndBuilder.cpp,
+	  source/operation/relate/EdgeEndBundle.cpp,
+	  source/operation/relate/EdgeEndBundleStar.cpp,
+	  source/operation/relate/RelateComputer.cpp,
+	  source/operation/relate/RelateNode.cpp,
+	  source/operation/relate/RelateNodeFactory.cpp,
+	  source/operation/relate/RelateNodeGraph.cpp,
+	  source/operation/relate/RelateOp.cpp, source/test/XMLTester.cpp:
+	  Relate is finished,but doesn't work yet.
 
 2002-09-10 13:46  Fernando Villa <fvilla at zoo.uvm.edu>
 
-	* [r35] Added operation/Makefiles
+	* [r35] configure, configure.in, libtool, source/Makefile.am,
+	  source/Makefile.in, source/geom/Makefile.am,
+	  source/geom/Makefile.in, source/operation/Makefile.am,
+	  source/operation/Makefile.in: Added operation/Makefiles
 
 2002-09-06 20:18  Yury Bychkov <me at yury.ca>
 
-	* [r34] A lot of changes: Code is brought to version 1.2 of JTS.
-	  Compilable part of Operation added.
+	* [r34] source/algorithm/CGAlgorithms.cpp,
+	  source/algorithm/HCoordinate.cpp,
+	  source/algorithm/NonRobustCGAlgorithms.cpp,
+	  source/algorithm/NonRobustLineIntersector.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp, source/geom/Envelope.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/LineSegment.cpp, source/geom/LineString.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/geom/PrecisionModel.cpp,
+	  source/graph/DirectedEdgeStar.cpp, source/graph/EdgeEndStar.cpp,
+	  source/graph/EdgeIntersectionList.cpp, source/graph/EdgeRing.cpp,
+	  source/graph/GeometryGraph.cpp, source/graph/NodeMap.cpp,
+	  source/graph/PlanarGraph.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/headers/geom.h, source/headers/geosAlgorithm.h,
+	  source/headers/graph.h, source/headers/operation.h,
+	  source/operation, source/operation/GeometryGraphOperation.cpp,
+	  source/operation/IsSimpleOp.cpp: A lot of changes: Code is
+	  brought to version 1.2 of JTS. Compilable part of Operation
+	  added.
 
 2002-09-05 18:32  Fernando Villa <fvilla at zoo.uvm.edu>
 
-	* [r33] Fixed version numbering. Whenever version numbers are
-	  bumped up the
+	* [r33] ChangeLog, Makefile.in, configure, configure.in, libtool,
+	  source/Makefile.in, source/geom/Makefile.am,
+	  source/geom/Makefile.in, source/graph/Makefile.in,
+	  source/graph/index/Makefile.in, source/headers/Makefile.am,
+	  source/headers/Makefile.in, source/io/Makefile.in,
+	  source/io/markup/Makefile.in, source/test/Makefile.in,
+	  source/util/Makefile.in, tools/Makefile.in: Fixed version
+	  numbering. Whenever version numbers are bumped up the
 	  change should be reflected in the AC_INIT_AUTOMAKE macro in
 	  configure.in.
 	  I've put it at 0.0.1 - should be changed as appropriate. The
@@ -17051,11 +30853,27 @@
 
 2002-09-03 16:04  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r32] Changed reference to 'libgeom' to 'libgeos'
+	* [r32] source/test/Makefile.am: Changed reference to 'libgeom' to
+	  'libgeos'
 
 2002-09-03 13:53  Fernando Villa <fvilla at zoo.uvm.edu>
 
-	* [r31] * Add automake/autoconf support for one-lib compilation
+	* [r31] Makefile.am, Makefile.in, acinclude.m4, aclocal.m4,
+	  configure, configure.in, install-sh, libtool, ltmain.sh, macros,
+	  macros/Makefile.am, macros/Makefile.in, macros/geos.m4,
+	  mkinstalldirs, source/Makefile.am, source/Makefile.in,
+	  source/algorithm/Makefile.am, source/algorithm/Makefile.in,
+	  source/geom/Makefile.am, source/geom/Makefile.in,
+	  source/graph/Makefile.am, source/graph/Makefile.in,
+	  source/graph/index/Makefile.am, source/graph/index/Makefile.in,
+	  source/headers/Makefile.am, source/headers/Makefile.in,
+	  source/headers/config.h.in, source/io/Makefile.am,
+	  source/io/Makefile.in, source/io/markup/Makefile.am,
+	  source/io/markup/Makefile.in, source/test/Makefile.am,
+	  source/test/Makefile.in, source/util/Makefile.am,
+	  source/util/Makefile.in, tools, tools/Makefile.am,
+	  tools/Makefile.in, tools/geos-config.in: * Add automake/autoconf
+	  support for one-lib compilation
 	  
 	  * add libtool support for shared libraries.
 	  --enable-shared={yes|no} and
@@ -17085,116 +30903,253 @@
 
 2002-09-01 18:08  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r30] Minor portability changes.
+	* [r30] source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/PointInRing.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/io/ParseException.cpp, source/io/WKTWriter.cpp,
+	  source/io/Writer.cpp, source/io/markup/MarkupSTL.cpp: Minor
+	  portability changes.
 
 2002-09-01 17:53  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r29] Changes to support algorithm directory in build structure.
+	* [r29] configure.in, source/Makefile.am,
+	  source/algorithm/Makefile.am: Changes to support algorithm
+	  directory in build structure.
 
 2002-09-01 17:51  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r28] GNU compatibility fixes, changing __min/__max to min/max,
-	  adding
+	* [r28] source/geom/Coordinate.cpp, source/geom/CoordinateList.cpp,
+	  source/geom/Dimension.cpp, source/geom/Envelope.cpp,
+	  source/geom/Geometry.cpp, source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/Location.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/PrecisionModel.cpp: GNU
+	  compatibility fixes, changing __min/__max to min/max, adding
 	  stdio.h where needed, small syntax adjustments, newlines at
 	  end of files.
 
 2002-08-30 18:33  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r27] Added LGPL licence text.
+	* [r27] COPYING: Added LGPL licence text.
 
 2002-08-30 18:30  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r26] Changed name of authors file as requested by autoconf.
+	* [r26] AUTHORS, Authors: Changed name of authors file as requested
+	  by autoconf.
 
 2002-08-30 18:28  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r25] Removed --force-missing which did not work for my version
-	  of autoconf
+	* [r25] autogen.sh: Removed --force-missing which did not work for
+	  my version of autoconf
 
 2002-08-30 18:16  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r24] Added cvs ignore files.
+	* [r24] ., .cvsignore, source, source/.cvsignore, source/geom,
+	  source/geom/.cvsignore, source/graph, source/graph/.cvsignore,
+	  source/graph/index, source/graph/index/.cvsignore, source/io,
+	  source/io/.cvsignore, source/io/markup,
+	  source/io/markup/.cvsignore, source/test, source/test/.cvsignore,
+	  source/util, source/util/.cvsignore: Added cvs ignore files.
 
 2002-08-30 18:15  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r23] Added the testing files back into their new subdirectory.
+	* [r23] source/test/CTS.cpp, source/test/SimpleWKTTester.cpp,
+	  source/test/WKTIn, source/test/WKTOut, source/test/XMLTester.cpp,
+	  source/test/test.xml: Added the testing files back into their new
+	  subdirectory.
 
 2002-08-30 18:15  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r22] Added GNU autoconf support files submitted by Norman Vine.
-	  Moved test
+	* [r22] Authors, ChangeLog, Makefile.am, NEWS, README, autogen.sh,
+	  configure.in, source/CTS.cpp, source/Makefile.am,
+	  source/SimpleWKTTester.cpp, source/WKTIn, source/WKTOut,
+	  source/XMLTester.cpp, source/geom/Makefile.am,
+	  source/graph/Makefile.am, source/graph/index/Makefile.am,
+	  source/io/Makefile.am, source/io/markup/Makefile.am, source/test,
+	  source/test.xml, source/test/Makefile.am,
+	  source/util/Makefile.am: Added GNU autoconf support files
+	  submitted by Norman Vine. Moved test
 	  files to a new subdirectory.
 
 2002-08-30 15:52  Yury Bychkov <me at yury.ca>
 
-	* [r21] 'algorithm' is almost complete
+	* [r21] source/algorithm, source/algorithm/HCoordinate.cpp,
+	  source/algorithm/LineIntersector.cpp,
+	  source/algorithm/NotRepresentableException.cpp,
+	  source/algorithm/PointInRing.cpp,
+	  source/algorithm/PointLocator.cpp,
+	  source/algorithm/RobustCGAlgorithms.cpp,
+	  source/algorithm/RobustDeterminant.cpp,
+	  source/algorithm/RobustLineIntersector.cpp,
+	  source/algorithm/SimplePointInAreaLocator.cpp,
+	  source/algorithm/SimplePointInRing.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/geom/GeometryFactory.cpp, source/geom/LineString.cpp,
+	  source/geom/Polygon.cpp, source/graph/DirectedEdgeStar.cpp,
+	  source/graph/EdgeEndStar.cpp, source/graph/GeometryGraph.cpp,
+	  source/headers/geom.h, source/headers/geosAlgorithm.h,
+	  source/headers/graph.h, source/headers/graphindex.h,
+	  source/headers/operation.h, source/headers/platform.h,
+	  source/headers/util.h, source/io/WKTWriter.cpp: 'algorithm' is
+	  almost complete
 
 2002-08-22 09:23  Yury Bychkov <me at yury.ca>
 
-	* [r20] 'graph/index' finished. Some .h changes.
+	* [r20] source/graph/index, source/graph/index/MonotoneChain.cpp,
+	  source/graph/index/MonotoneChainEdge.cpp,
+	  source/graph/index/MonotoneChainIndexer.cpp,
+	  source/graph/index/SegmentIntersector.cpp,
+	  source/graph/index/SimpleMCSweepLineIntersector.cpp,
+	  source/graph/index/SweepLineEvent.cpp,
+	  source/graph/index/SweepLineSegment.cpp, source/headers/geom.h,
+	  source/headers/geosAlgorithm.h, source/headers/graph.h,
+	  source/headers/graphindex.h, source/headers/io.h,
+	  source/headers/operation.h, source/headers/platform.h,
+	  source/headers/util.h: 'graph/index' finished. Some .h changes.
 
 2002-08-21 05:49  Yury Bychkov <me at yury.ca>
 
-	* [r19] Some changes in 'graph'
+	* [r19] source/graph/GeometryGraph.cpp, source/headers/graph.h,
+	  source/headers/graphindex.h: Some changes in 'graph'
 
 2002-08-20 21:08  Yury Bychkov <me at yury.ca>
 
-	* [r18] Changed consts to enums
+	* [r18] source/XMLTester.cpp, source/graph/Node.cpp,
+	  source/graph/NodeMap.cpp, source/graph/PlanarGraph.cpp,
+	  source/headers/geom.h, source/headers/geosAlgorithm.h,
+	  source/headers/graph.h, source/headers/io.h: Changed consts to
+	  enums
 
 2002-08-14 07:00  Yury Bychkov <me at yury.ca>
 
-	* [r17] New structure of source.
+	* [r17] Assert.cpp, AssertionFailedException.cpp, CTS.cpp,
+	  Coordinate.cpp, CoordinateList.cpp, Depth.cpp, Dimension.cpp,
+	  Envelope.cpp, Geometry.cpp, GeometryCollection.cpp,
+	  GeometryCollectionIterator.cpp, GeometryFactory.cpp,
+	  IntersectionMatrix.cpp, Label.cpp, LineSegment.cpp,
+	  LineString.cpp, LinearRing.cpp, Location.cpp, MarkupSTL.cpp,
+	  MarkupSTL.h, MultiLineString.cpp, MultiPoint.cpp,
+	  MultiPolygon.cpp, ParseException.cpp, Point.cpp, Polygon.cpp,
+	  Position.cpp, PrecisionModel.cpp, SimpleWKTTester.cpp,
+	  StringTokenizer.cpp, TopologyLocation.cpp, WKTIn, WKTOut,
+	  WKTReader.cpp, WKTWriter.cpp, Writer.cpp, XMLTester.cpp, geom.h,
+	  graph.h, io.h, operation.h, platform.h, source, source/CTS.cpp,
+	  source/SimpleWKTTester.cpp, source/WKTIn, source/WKTOut,
+	  source/XMLTester.cpp, source/geom, source/geom/Coordinate.cpp,
+	  source/geom/CoordinateList.cpp, source/geom/Dimension.cpp,
+	  source/geom/Envelope.cpp, source/geom/Geometry.cpp,
+	  source/geom/GeometryCollection.cpp,
+	  source/geom/GeometryCollectionIterator.cpp,
+	  source/geom/GeometryFactory.cpp,
+	  source/geom/IntersectionMatrix.cpp, source/geom/LineSegment.cpp,
+	  source/geom/LineString.cpp, source/geom/LinearRing.cpp,
+	  source/geom/Location.cpp, source/geom/MultiLineString.cpp,
+	  source/geom/MultiPoint.cpp, source/geom/MultiPolygon.cpp,
+	  source/geom/Point.cpp, source/geom/Polygon.cpp,
+	  source/geom/PrecisionModel.cpp, source/graph,
+	  source/graph/Depth.cpp, source/graph/DirectedEdge.cpp,
+	  source/graph/DirectedEdgeStar.cpp, source/graph/Edge.cpp,
+	  source/graph/EdgeEnd.cpp, source/graph/EdgeEndStar.cpp,
+	  source/graph/EdgeIntersection.cpp,
+	  source/graph/EdgeIntersectionList.cpp, source/graph/EdgeList.cpp,
+	  source/graph/EdgeRing.cpp, source/graph/GraphComponent.cpp,
+	  source/graph/Label.cpp, source/graph/Node.cpp,
+	  source/graph/NodeFactory.cpp, source/graph/NodeMap.cpp,
+	  source/graph/Position.cpp, source/graph/Quadrant.cpp,
+	  source/graph/TopologyLocation.cpp, source/headers,
+	  source/headers/geom.h, source/headers/geosAlgorithm.h,
+	  source/headers/graph.h, source/headers/graphindex.h,
+	  source/headers/io.h, source/headers/operation.h,
+	  source/headers/platform.h, source/headers/util.h, source/io,
+	  source/io/ParseException.cpp, source/io/StringTokenizer.cpp,
+	  source/io/WKTReader.cpp, source/io/WKTWriter.cpp,
+	  source/io/Writer.cpp, source/io/markup,
+	  source/io/markup/MarkupSTL.cpp, source/io/markup/MarkupSTL.h,
+	  source/test.xml, source/util, source/util/Assert.cpp,
+	  source/util/AssertionFailedException.cpp, test.xml, util.h: New
+	  structure of source.
 
 2002-07-11 07:57  Yury Bychkov <me at yury.ca>
 
-	* [r16] Assert and some graph classes
+	* [r16] Assert.cpp, AssertionFailedException.cpp, Depth.cpp,
+	  Geometry.cpp, GeometryCollection.cpp, GeometryFactory.cpp,
+	  Label.cpp, Position.cpp, TopologyLocation.cpp, WKTReader.cpp,
+	  WKTWriter.cpp, XMLTester.cpp, graph.h, operation.h, test.xml,
+	  util.h: Assert and some graph classes
 
 2002-07-03 05:24  Yury Bychkov <me at yury.ca>
 
-	* [r15] started XML tester
+	* [r15] MarkupSTL.cpp, MarkupSTL.h, XMLTester.cpp: started XML
+	  tester
 
 2002-07-02 06:41  Yury Bychkov <me at yury.ca>
 
-	* [r14] 'io' and SimpleTester done
+	* [r14] CTS.cpp, GeometryCollection.cpp,
+	  GeometryCollectionIterator.cpp, GeometryFactory.cpp,
+	  MultiPolygon.cpp, Polygon.cpp, SimpleWKTTester.cpp, WKTIn,
+	  WKTOut, WKTReader.cpp, WKTWriter.cpp, geom.h, io.h: 'io' and
+	  SimpleTester done
 
 2002-06-27 02:50  Yury Bychkov <me at yury.ca>
 
-	* [r13] 'io' is almost done
+	* [r13] CTS.cpp, StringTokenizer.cpp, WKTWriter.cpp, Writer.cpp,
+	  io.h: 'io' is almost done
 
 2002-06-26 09:10  Yury Bychkov <me at yury.ca>
 
-	* [r12] Some 'io' classes done.
+	* [r12] CTS.cpp, GeometryCollection.cpp, ParseException.cpp,
+	  Polygon.cpp, StringTokenizer.cpp, WKTReader.cpp, io.h: Some 'io'
+	  classes done.
 
 2002-06-21 07:13  Yury Bychkov <me at yury.ca>
 
-	* [r11] 'geos': first pass done. Some external dependencies and
+	* [r11] CTS.cpp, CoordinateList.cpp, Geometry.cpp,
+	  GeometryCollection.cpp, LineString.cpp, Point.cpp, Polygon.cpp,
+	  geom.h: 'geos': first pass done. Some external dependencies and
 	  polishing left.
 
 2002-06-20 08:58  Yury Bychkov <me at yury.ca>
 
-	* [r10] Only Geometry.java left
+	* [r10] CTS.cpp, Geometry.cpp, GeometryCollection.cpp,
+	  GeometryCollectionIterator.cpp, GeometryFactory.cpp, geom.h: Only
+	  Geometry.java left
 
 2002-06-19 06:29  Yury Bychkov <me at yury.ca>
 
-	* [r9] 'geom' mostly done.
+	* [r9] CTS.cpp, CoordinateList.cpp, Geometry.cpp,
+	  GeometryCollection.cpp, LineString.cpp, LinearRing.cpp,
+	  MultiLineString.cpp, MultiPoint.cpp, MultiPolygon.cpp, Point.cpp,
+	  Polygon.cpp, geom.h: 'geom' mostly done.
 
 2002-06-14 07:46  Yury Bychkov <me at yury.ca>
 
-	* [r8] 'geom' almost done
+	* [r8] CTS.cpp, GeometryCollection.cpp, GeometryFactory.cpp,
+	  MultiLineString.cpp, MultiPoint.cpp, MultiPolygon.cpp,
+	  Polygon.cpp, geom.h: 'geom' almost done
 
 2002-06-12 01:47  Yury Bychkov <me at yury.ca>
 
-	* [r7] LineString is 99% finished
+	* [r7] CoordinateList.cpp, LineString.cpp, geom.h: LineString is
+	  99% finished
 
 2002-06-11 23:43  Yury Bychkov <me at yury.ca>
 
-	* [r6] 'geom' package 70% done
+	* [r6] CTS.cpp, Coordinate.cpp, CoordinateList.cpp, Dimension.cpp,
+	  Envelope.cpp, Geometry.cpp, GeometryCollection.cpp,
+	  IntersectionMatrix.cpp, LineSegment.cpp, LineString.cpp,
+	  LinearRing.cpp, Location.cpp, Point.cpp, PrecisionModel.cpp,
+	  geom.h, operation.h, platform.h: 'geom' package 70% done
 
 2002-06-07 17:47  Paul Ramsey <pramsey at cleverelephant.ca>
 
-	* [r2] Initial revision
+	* [r2] CTS.cpp, Coordinate.cpp, CoordinateList.cpp, Dimension.cpp,
+	  Envelope.cpp, LineSegment.cpp, Location.cpp, geom.h, platform.h:
+	  Initial revision
 
 2002-06-07 17:47  No Body <no at body.net>
 
-	* [r1] New repository initialized by cvs2svn.
+	* [r1] .: New repository initialized by cvs2svn.
 
diff --git a/Makefile.am b/Makefile.am
index 5a5e681..2dfc445 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
 #
-# This file is part of project GEOS (http://trac.osgeo.org/geos/) 
+# This file is part of project GEOS (http://trac.osgeo.org/geos/)
 #
 # NOTE: Make sure that 'src' appears first.
 # 'capi' and 'doc' surely rely on availability of libgeos
@@ -14,7 +14,6 @@ SUBDIRS =   \
     doc     \
     macros  \
     swig    \
-    php     \
     tests   \
     tools
 
@@ -42,4 +41,9 @@ svnrebase: authors.git
 geos_svn_revision.h:
 	top_srcdir=$(srcdir) sh $(srcdir)/tools/svn_repo_revision.sh
 
+VALGRIND = $(LIBTOOL) --mode=execute valgrind --leak-check=full --error-exitcode=1
+
+valgrindcheck:
+	$(VALGRIND) tests/unit/geos_unit
+
 .PHONY: geos_svn_revision.h
diff --git a/Makefile.in b/Makefile.in
index 8c91567..90dde20 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -168,7 +168,7 @@ CSCOPE = cscope
 DIST_SUBDIRS = $(SUBDIRS)
 am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING ChangeLog \
 	INSTALL NEWS README TODO compile config.guess config.sub \
-	install-sh ltmain.sh missing py-compile
+	install-sh ltmain.sh missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -289,9 +289,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -372,6 +369,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -386,7 +384,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 
 #
-# This file is part of project GEOS (http://trac.osgeo.org/geos/) 
+# This file is part of project GEOS (http://trac.osgeo.org/geos/)
 #
 # NOTE: Make sure that 'src' appears first.
 # 'capi' and 'doc' surely rely on availability of libgeos
@@ -401,7 +399,6 @@ SUBDIRS = \
     doc     \
     macros  \
     swig    \
-    php     \
     tests   \
     tools
 
@@ -412,6 +409,7 @@ EXTRA_DIST = acsite.m4 makefile.vc nmake.opt autogen.bat CMakeLists.txt \
   cmake/cmake_uninstall.cmake.in geos_svn_revision.h
 
 ACLOCAL_AMFLAGS = -I macros
+VALGRIND = $(LIBTOOL) --mode=execute valgrind --leak-check=full --error-exitcode=1
 all: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
 
@@ -898,6 +896,9 @@ svnrebase: authors.git
 geos_svn_revision.h:
 	top_srcdir=$(srcdir) sh $(srcdir)/tools/svn_repo_revision.sh
 
+valgrindcheck:
+	$(VALGRIND) tests/unit/geos_unit
+
 .PHONY: geos_svn_revision.h
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/NEWS b/NEWS
index 893ea5e..c919b6c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,23 @@
+Changes in 3.6.0
+2016-10-25
+
+- Important / Breaking Changes:
+  - The PHP binding moved to its own repository:
+    http://git.osgeo.org/gogs/geos/php-geos (#765)
+- New things:
+  - CAPI: GEOSGeom_{get,set}UserData (Rashad Kanavath)
+  - CAPI: GEOSGeom_{set,get}Precision (#713)
+  - CAPI: GEOSMinimumRotatedRectangle and GEOSMinimumWidth
+    (#729, Nyall Dawson)
+  - CAPI: GEOSSTRtree_nearest (#768, Dan Baston)
+  - CAPI: GEOSMinimumClearance and GEOSMinimumClearanceLine
+    (#776, Dan Baston)
+- C++ API changes:
+  - Automatic memory management for GeometryFactory objects
+
+
 Changes in 3.5.0
-2015-08-15
+2015-08-16
 
 - New things:
   - Voronoi API (#627)
@@ -19,14 +37,14 @@ Changes in 3.4.2
 2013-08-25
 
 - Bug fixes / improvements
-  - Use a double for PrecisionModel scale, avoiding overflows 
+  - Use a double for PrecisionModel scale, avoiding overflows
     should fix 32-bit regression failures (#652)
   - isnan workaround OS detection missing NetBSD, DragonFly, Sun nuance (#650)
   - Do not distribute platform.h and version.h, but install both (#601)
-  - Non-standard ChangeLog file in 3.4.0 and 3.4.1 releases (#654) 
+  - Non-standard ChangeLog file in 3.4.0 and 3.4.1 releases (#654)
   - new travis bot (#657)
   - accept multiple Nan representations (#656)
-		
+
 
 Changes in 3.4.1
 2013-08-17
@@ -53,7 +71,7 @@ Changes in 3.4.0
 
 - C++ API changes:
   - New noding::GeometryNoder class
-  - Added BufferOp::setSingleSided 
+  - Added BufferOp::setSingleSided
   - Signature of most functions taking a Label changed to take it
     by reference rather than pointer.
   - Signature of most functions taking an IntersectionMatrix changed
@@ -61,13 +79,13 @@ Changes in 3.4.0
   - GraphComponent::label is now a Label value (from a pointer)
   - NodedSegmentString takes ownership of CoordinateSenuence now
   - io::Writer's toString() returns by const ref, write() takes a const ref
-  - Unify prototypes of WKTReader and WKBReader constructor (#310) 
-  - GeometryCollection::computeEnvelopInternal and 
+  - Unify prototypes of WKTReader and WKBReader constructor (#310)
+  - GeometryCollection::computeEnvelopInternal and
     GeometryCollection::compareToSameClass are marked virtual (#478)
-  
+
 - Bug fixes / improvements
-  - A point interpolated from a line does not always intersect 
-    the same line (#323) 
+  - A point interpolated from a line does not always intersect
+    the same line (#323)
   - Port ConvexHull robustness fix from JTS-1.13 (#457)
   - Improve Overlay robustness by reducing input precision on topology
     exception and by refusing to accept unnoded output (#459)
@@ -81,8 +99,24 @@ Changes in 3.4.0
   - Fix EMPTY return from single-point lines and zero-length polygons (#612)
   - CMakeLists.txt, tools/geos_svn_revision_cmake.h.in: Add
 	  geos_svn_revision.h generator to CMake config (#643)
-	- Makefile.vc 'clean' step leaks obj files (#607) 
-  
+	- Makefile.vc 'clean' step leaks obj files (#607)
+
+Changes in 3.3.9
+2013-09-04
+
+- Bug fixes / improvements
+    - Fix OffsetCurve op in presence of duplicated vertices (#602)
+    - Fix LineSegmentVisitor copy ctor (#636)
+    - Fix area boundary return from GEOSPointOnSurface (#623)
+    - Speedup GEOSWKBReader_read (#621)
+    - Fix RobustLineIntersector handling of invalid intersection points (#622)
+    - Reduce likelyhood of invalid output from snap operation (#629, #501)
+    - Reduce memory fragmentation of prepared Polygon/Point intersection op
+    - Fix mingw64 compile (#630)
+    - Fix bug in HotPixel constructor (#635)
+    - Fix install location of linearref headers (#624)
+    - Fix multi-geometry constructor to drop SRID from components (#583)
+
 Changes in 3.3.8
 2013-02-28
 
@@ -93,7 +127,7 @@ Changes in 3.3.8
     - Fix centroid computation for collections with empty components (#582)
 
 Changes in 3.3.7
-2013-01-22 
+2013-01-22
 
 - Bug fixes / improvements
     - Fix abort in RightmostEdgeFinder (#605)
@@ -192,10 +226,10 @@ Changes in 3.3.0
           the polygonizer
   - CAPI: GEOSOrientationIndex
   - CAPI: GEOSSharedPaths to find shared paths and their orientation
-  - CAPI: GEOSSnap 
-  - CAPI: GEOSRelatePatternMatch 
-  - CAPI: GEOSCovers, GEOSCoveredBy (#396) 
-  - CAPI: GEOSRelateBoundaryNodeRule (#399) 
+  - CAPI: GEOSSnap
+  - CAPI: GEOSRelatePatternMatch
+  - CAPI: GEOSCovers, GEOSCoveredBy (#396)
+  - CAPI: GEOSRelateBoundaryNodeRule (#399)
   - CAPI: GEOSGeom_getCoordinateDimension() (#311)
   - CAPI: GEOSWKTWriter_setOutputDimension, GEOSWKTWriter_setOld3D (#292)
   -  PHP: new PHP5 bindings based on CAPI
@@ -218,13 +252,13 @@ Changes in 3.3.0
   - Fix NodedSegmentString to handle zero-length line segments correctly
     (via safeOctant)
   - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly
-  - Added illegal state check in LineSegment::pointAlongOffset() 
+  - Added illegal state check in LineSegment::pointAlongOffset()
   - Improved performance of RectangleIntersects by always using
     segment-scanning and refining SegmentIntersectionTester
   - Reduce memory use in PreparedGeometry predicates (#342)
   - Fix infinite loop in RobustDeterminant with nan/inf input (#357)
 
-Changes in 3.2.0 
+Changes in 3.2.0
 2009-12-14
 
 - Add Single-sided buffer operation
@@ -246,7 +280,7 @@ Changes in 3.1.0
 
 - PreparedGeometry operations for very fast predicate testing.
   - Intersects()
-  - Covers() 
+  - Covers()
   - CoveredBy()
   - ContainsProperly()
 - Easier builds under MSVC and OpenSolaris
@@ -273,7 +307,7 @@ Changes in 3.0.0
 	- Added GEOSSimplify() and GEOSTopologyPreserveSimplify()
 	  to the C API
 	- Added closed ring checks in IsValidOp
-	- Multi-input support in XMLTester 
+	- Multi-input support in XMLTester
 	- HEXWKB I/O
 	- Envelope(string) ctor
 	- Ruby interface
@@ -322,7 +356,7 @@ Changes in 3.0.0
 	  contains() ops
 	- Inlined all planarGraphComponent class
 	- More iterators returning methods and inlining in planargraph.
-	- Obsoleted toInternalGeometry/fromInternalGeometry 
+	- Obsoleted toInternalGeometry/fromInternalGeometry
 	- Improved buffering speed and robustness by using Snap Rounding
 
 - Semantic changes
@@ -368,7 +402,7 @@ Changes in 3.0.0
 	  result of overlaying polygons containing touching holes (#13)
 	- Fixed integer conversion bug
 	- Fixed PointLocator handling of LinearRings
-	- Added missing ::clone() methods for Multi* geoms 
+	- Added missing ::clone() methods for Multi* geoms
 
 - (Partial) Detailed list of changes:
 	- Changed SegmentNode to contain a *real* Coordinate (not a pointer)
@@ -392,7 +426,7 @@ Changes in 3.0.0
 	- CoordinateSequence API changes:
 		- point index and size related functions
 	  	  use unsigned int rather then int
-	- Changed EdgeEndStar to maintain a single container for EdgeEnds 
+	- Changed EdgeEndStar to maintain a single container for EdgeEnds
 	- Changed PlanarGraph::addEdges to take a const vector by ref
 	  rathern then a non-const vector by pointer
 	- Changed EdgeList::addAll to take a const vector by ref
@@ -417,17 +451,17 @@ Changes in 2.2.1
 
 - Support for MingW builds
 - Bugfix in Polygonizer chocking on invalid LineString inputs
-- CAPI: small leak removed in GEOSHasZ() 
+- CAPI: small leak removed in GEOSHasZ()
 
 Changes in 2.2.0
 
 - Performance improvement in OverlayOp::insertUniqueEdge()
 - CoordinateSequence copy removal in EdgeRing
-- Minor memory allocation improvements 
+- Minor memory allocation improvements
 - Higher dimensions interface for CoordinateSequence
 - Added getCoordinatesRO for Point class
 - NEW WKB IO
-- NEW Simplified and stabler C API 
+- NEW Simplified and stabler C API
 
 Changes in 2.1.4
 
diff --git a/README b/README
index fd51430..c19726d 100644
--- a/README
+++ b/README
@@ -1,105 +1,115 @@
-BUILDING, TESTING, INSTALLING
-=============================
+GEOS -- Geometry Engine, Open Source
+====================================
 
-Unix
-----
+Project homepage: http://geos.osgeo.org/
+
+## Build status
+
+| Debbie | Travis CI | GitLab CI | AppVeyor | Drone | OSGeo |
+|:--- |:--- |:--- |:--- |:--- |:--- |
+| [![trunk](https://debbie.postgis.net/buildStatus/icon?job=GEOS_Trunk)](https://debbie.postgis.net/view/GEOS/job/GEOS_Trunk/) | [![trunk](https://secure.travis-ci.org/libgeos/libgeos.png)](https://travis-ci.org/libgeos/libgeos) | [![trunk](https://gitlab.com/geos/libgeos/badges/svn-trunk/build.svg)](https://gitlab.com/geos/libgeos/commits/svn-trunk) | [![trunk](https://ci.appveyor.com/api/projects/status/c4b47oa8k50qyqo5/branch/svn-trunk?svg=true)](https://ci.appveyor.com/project/mlosko [...]
+
+More on: https://trac.osgeo.org/geos#BuildandInstall
+
+## Building, testing, installing
+
+### Unix
 
 Using Autotools:
-  ./autogen.sh  # in ${srcdir}, if obtained from SVN
-  ${srcdir}/configure # in build dir
+
+    ./autogen.sh  # in ${srcdir}, if obtained from SVN or GIT
+    ${srcdir}/configure # in build dir
 
 Using CMake:
-  cmake ${srcdir} # in build dir
+
+    cmake ${srcdir} # in build dir
 
 Now, all versions:
-  make
-  make check
-  make install # as root
-  ldconfig # as root
 
-Win32
------
+    make
+    make check
+    make install # as root
+    ldconfig # as root
+
+
+### Microsoft Windows
 
-If you use Microsoft Visual C++ (7.1 or later) compiler, you can build 
-GEOS using NMAKE program and provided makefile.vc files.
+If you use Microsoft Visual C++ (7.1 or later) compiler, you can build
+GEOS using NMAKE program and provided `makefile.vc` files.
 
-If you are building from SVN checkout, first run: autogen.bat
+If you are building from SVN or GIT checkout, first run: `autogen.bat`
 Then:
 
-  nmake /f makefile.vc MSVC_VER=1400
+    nmake /f makefile.vc MSVC_VER=1400
 
-where 1400 is version number of Visual C++ compiler, here Visual C++ 8.0 
-from Visual Studio 2005 (supported versions are 1300, 1310, 1400 and 1500). 
+where 1400 is version number of Visual C++ compiler, here Visual C++ 8.0
+from Visual Studio 2005 (supported versions are 1300, 1310, 1400, 1500,
+1600, 1700, 1800 and 1900).
 The bootstrap.bat step is required to generate a couple of header files.
 
-In order to build debug configuration of GEOS, additional flag DEBUG=1 
+In order to build debug configuration of GEOS, additional flag `DEBUG=1`
 is required:
 
-  nmake /f makefile.vc MSVC_VER=1400 DEBUG=1
+    nmake /f makefile.vc MSVC_VER=1400 DEBUG=1
 
 
-CLIENT APPLICATIONS
-===================
+## Client applications
 
-Using the C interface (recommended)
------------------------------------
+### Using the C interface (recommended)
 
 To compile programs against the C lib (recommended):
 
-  CFLAGS += `geos-config --cflags`
-  LDFLAGS += `geos-config --ldflags` -lgeos_c
-  #include <geos_c.h>
+    CFLAGS += `geos-config --cflags`
+    LDFLAGS += `geos-config --ldflags` -lgeos_c
+    #include <geos_c.h>
 
 Example usage:
 
-  capi/geostest.c contains basic usage examples.
+    capi/geostest.c contains basic usage examples.
 
-Using the C++ interface (discouraged)
--------------------------------------
+### Using the C++ interface (discouraged)
 
-NB: The C++ interface should not be used directly; the geos project
+NB: The C++ interface should not be used directly; the GEOS project
 views it as a bug for another program to use the C++ interface or even
 to directly link against the C++ library.  The C++ library name will
 change on every minor release because it is too hard to know if there
-have been ABI changes.  (The C libary uses the C++ interface, but the
+have been ABI changes.  (The C library uses the C++ interface, but the
 C library follows normal ABI-change-sensitive versioning, so programs
 that link only against the C library should work without relinking
-when geos is upgraded.)
+when GEOS is upgraded.)
 
 To compile programs against the C++ lib:
 
-  CFLAGS += `geos-config --cflags`
-  LDFLAGS += `geos-config --ldflags` -lgeos
-  #include <geos.h>
+    CFLAGS += `geos-config --cflags`
+    LDFLAGS += `geos-config --ldflags` -lgeos
+    #include <geos.h>
 
-Example usage:
+Basic usage examples can be found in `doc/example.cpp`.
 
-  doc/example.cpp contains basic usage examples.
 
-Scripting language bindings
----------------------------
+### Scripting language bindings
 
-Ruby bindings are fully supported. To build, use the --enable-ruby option
+Ruby bindings are fully supported. To build, use the `--enable-ruby` option
 when configuring:
 
-  ./configure ... --enable-ruby
+    ./configure ... --enable-ruby
 
-PHP bindings are fully supported. To build, use the --enable-php option
-when configuring:
+Since version 3.6.0 PHP bindings are not included in the core
+library anymore but available as a separate project:
+
+    https://git.osgeo.org/gogs/geos/php-geos
 
-  ./configure ... --enable-php
-    
 Since version 3.0, the Python bindings are unsupported. Recommended options:
 
  1. Become or recruit a new maintainer.
- 2. Use Shapely (http://pypi.python.org/pypi/Shapely) with Python
+ 2. Use [Shapely](http://pypi.python.org/pypi/Shapely) with Python
     versions 2.4 or greater.
  3. Simply call functions from libgeos_c via Python ctypes.
 
-DOCUMENTATION
-=============
+## Documentation
 
-  cd doc; make doxygen-html
+To build Doxygen documentation:
 
-  http://trac.osgeo.org/geos
+    cd doc
+    make doxygen-html
 
diff --git a/capi/._geos_c.h.in b/capi/._geos_c.h.in
deleted file mode 100644
index 311e3c9..0000000
Binary files a/capi/._geos_c.h.in and /dev/null differ
diff --git a/capi/Makefile.in b/capi/Makefile.in
index 271293e..f07c1c8 100644
--- a/capi/Makefile.in
+++ b/capi/Makefile.in
@@ -291,9 +291,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -378,6 +375,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/capi/geos_c.cpp b/capi/geos_c.cpp
index f623921..a653ef9 100644
--- a/capi/geos_c.cpp
+++ b/capi/geos_c.cpp
@@ -437,6 +437,30 @@ GEOSConvexHull(const Geometry *g)
 }
 
 Geometry *
+GEOSMinimumRotatedRectangle(const Geometry *g)
+{
+    return GEOSMinimumRotatedRectangle_r( handle, g );
+}
+
+Geometry *
+GEOSMinimumWidth(const Geometry *g)
+{
+    return GEOSMinimumWidth_r( handle, g );
+}
+
+Geometry *
+GEOSMinimumClearanceLine(const Geometry *g)
+{
+    return GEOSMinimumClearanceLine_r( handle, g );
+}
+
+int
+GEOSMinimumClearance(const Geometry *g, double *d)
+{
+    return GEOSMinimumClearance_r( handle, g, d);
+}
+
+Geometry *
 GEOSDifference(const Geometry *g1, const Geometry *g2)
 {
     return GEOSDifference_r( handle, g1, g2 );
@@ -693,6 +717,18 @@ GEOSSetSRID(Geometry *g, int srid)
     return GEOSSetSRID_r( handle, g, srid );
 }
 
+void * 
+GEOSGeom_getUserData(const Geometry *g)
+{
+    return GEOSGeom_getUserData_r( handle, g );
+}
+
+void
+GEOSGeom_setUserData(Geometry *g, void* userData)
+{
+    return GEOSGeom_setUserData_r( handle, g, userData );
+}
+
 char
 GEOSHasZ(const Geometry *g)
 {
@@ -838,6 +874,18 @@ GEOSGeom_clone(const Geometry *g)
     return GEOSGeom_clone_r( handle, g );
 }
 
+GEOSGeometry *
+GEOSGeom_setPrecision(const GEOSGeometry *g, double gridSize, int flags)
+{
+	return GEOSGeom_setPrecision_r(handle, g, gridSize, flags);
+}
+
+double
+GEOSGeom_getPrecision(const GEOSGeometry *g)
+{
+	return GEOSGeom_getPrecision_r(handle, g);
+}
+
 int
 GEOSGeom_getDimensions(const Geometry *g)
 {
@@ -1122,6 +1170,22 @@ GEOSSTRtree_query (geos::index::strtree::STRtree *tree,
     GEOSSTRtree_query_r( handle, tree, g, cb, userdata );
 }
 
+const GEOSGeometry *
+GEOSSTRtree_nearest (geos::index::strtree::STRtree *tree,
+                     const geos::geom::Geometry *g)
+{
+    return (const GEOSGeometry*) GEOSSTRtree_nearest_generic( tree, g, g, NULL, NULL);
+}
+
+const void* GEOSSTRtree_nearest_generic(GEOSSTRtree *tree,
+                                        const void* item,
+                                        const GEOSGeometry* itemEnvelope,
+                                        GEOSDistanceCallback distancefn,
+                                        void* userdata)
+{
+    return GEOSSTRtree_nearest_generic_r( handle, tree, item, itemEnvelope, distancefn, userdata);
+}
+
 void
 GEOSSTRtree_iterate(geos::index::strtree::STRtree *tree,
                     GEOSQueryCallback callback,
diff --git a/capi/geos_c.h b/capi/geos_c.h
index 9de6ea4..be50e42 100644
--- a/capi/geos_c.h
+++ b/capi/geos_c.h
@@ -59,30 +59,30 @@ extern "C" {
 #if defined(_MSC_VER)
 #include <geos/version.h>
 #define GEOS_CAPI_VERSION_MAJOR 1
-#define GEOS_CAPI_VERSION_MINOR 9
+#define GEOS_CAPI_VERSION_MINOR 10
 #define GEOS_CAPI_VERSION_PATCH 0
-#define GEOS_CAPI_VERSION "3.5.0-CAPI-1.9.0"
+#define GEOS_CAPI_VERSION "3.6.0-CAPI-1.10.0"
 #else
 #ifndef GEOS_VERSION_MAJOR
 #define GEOS_VERSION_MAJOR 3
 #endif
 #ifndef GEOS_VERSION_MINOR
-#define GEOS_VERSION_MINOR 5
+#define GEOS_VERSION_MINOR 6
 #endif
 #ifndef GEOS_VERSION_PATCH
 #define GEOS_VERSION_PATCH 0
 #endif
 #ifndef GEOS_VERSION
-#define GEOS_VERSION "3.5.0"
+#define GEOS_VERSION "3.6.0"
 #endif
 #ifndef GEOS_JTS_PORT
 #define GEOS_JTS_PORT "1.13.0"
 #endif
 
 #define GEOS_CAPI_VERSION_MAJOR 1
-#define GEOS_CAPI_VERSION_MINOR 9
+#define GEOS_CAPI_VERSION_MINOR 10
 #define GEOS_CAPI_VERSION_PATCH 0
-#define GEOS_CAPI_VERSION "3.5.0-CAPI-1.9.0"
+#define GEOS_CAPI_VERSION "3.6.0-CAPI-1.10.0"
 #endif
 
 #define GEOS_CAPI_FIRST_INTERFACE GEOS_CAPI_VERSION_MAJOR
@@ -153,6 +153,7 @@ enum GEOSByteOrders {
 };
 
 typedef void (*GEOSQueryCallback)(void *item, void *userdata);
+typedef int (*GEOSDistanceCallback)(const void *item1, const void* item2, double* distance, void* userdata);
 
 /************************************************************************
  *
@@ -538,6 +539,31 @@ extern GEOSGeometry GEOS_DLL *GEOSIntersection_r(GEOSContextHandle_t handle,
                                                  const GEOSGeometry* g2);
 extern GEOSGeometry GEOS_DLL *GEOSConvexHull_r(GEOSContextHandle_t handle,
                                                const GEOSGeometry* g);
+
+/* Returns the minimum rotated rectangular POLYGON which encloses the input geometry. The rectangle
+ * has width equal to the minimum diameter, and a longer length. If the convex hill of the input is
+ * degenerate (a line or point) a LINESTRING or POINT is returned. The minimum rotated rectangle can
+ * be used as an extremely generalized representation for the given geometry.
+ */
+extern GEOSGeometry GEOS_DLL *GEOSMinimumRotatedRectangle_r(GEOSContextHandle_t handle,
+                                               const GEOSGeometry* g);
+
+/* Returns a LINESTRING geometry which represents the minimum diameter of the geometry.
+ * The minimum diameter is defined to be the width of the smallest band that
+ * contains the geometry, where a band is a strip of the plane defined
+ * by two parallel lines. This can be thought of as the smallest hole that the geometry
+ * can be moved through, with a single rotation.
+ */
+extern GEOSGeometry GEOS_DLL *GEOSMinimumWidth_r(GEOSContextHandle_t handle,
+                                               const GEOSGeometry* g);
+
+extern GEOSGeometry GEOS_DLL *GEOSMinimumClearanceLine_r(GEOSContextHandle_t handle,
+                                                     const GEOSGeometry* g);
+
+extern int GEOS_DLL GEOSMinimumClearance_r(GEOSContextHandle_t handle,
+                                           const GEOSGeometry* g,
+                                           double* distance);
+
 extern GEOSGeometry GEOS_DLL *GEOSDifference_r(GEOSContextHandle_t handle,
                                                const GEOSGeometry* g1,
                                                const GEOSGeometry* g2);
@@ -796,6 +822,19 @@ extern void GEOS_DLL GEOSSTRtree_query_r(GEOSContextHandle_t handle,
                                          const GEOSGeometry *g,
                                          GEOSQueryCallback callback,
                                          void *userdata);
+
+extern const void GEOS_DLL *GEOSSTRtree_nearest_r(GEOSContextHandle_t handle,
+                                                  GEOSSTRtree *tree,
+                                                  const GEOSGeometry* geom);
+
+
+extern const void GEOS_DLL *GEOSSTRtree_nearest_generic_r(GEOSContextHandle_t handle,
+                                                          GEOSSTRtree *tree,
+                                                          const void* item,
+                                                          const GEOSGeometry* itemEnvelope,
+                                                          GEOSDistanceCallback distancefn,
+                                                          void* userdata);
+
 extern void GEOS_DLL GEOSSTRtree_iterate_r(GEOSContextHandle_t handle,
                                        GEOSSTRtree *tree,
                                        GEOSQueryCallback callback,
@@ -916,6 +955,12 @@ extern int GEOS_DLL GEOSGetSRID_r(GEOSContextHandle_t handle,
 extern void GEOS_DLL GEOSSetSRID_r(GEOSContextHandle_t handle,
                                    GEOSGeometry* g, int SRID);
 
+extern void GEOS_DLL *GEOSGeom_getUserData_r(GEOSContextHandle_t handle,
+const GEOSGeometry* g);
+
+extern void GEOS_DLL GEOSGeom_setUserData_r(GEOSContextHandle_t handle,
+                                   GEOSGeometry* g, void* userData);
+
 /* May be called on all geometries in GEOS 3.x, returns -1 on error and 1
  * for non-multi geometries. Older GEOS versions only accept
  * GeometryCollections or Multi* geometries here, and are likely to crash
@@ -941,6 +986,44 @@ extern const GEOSGeometry GEOS_DLL *GEOSGetGeometryN_r(
 extern int GEOS_DLL GEOSNormalize_r(GEOSContextHandle_t handle,
                                     GEOSGeometry* g);
 
+/** This option causes #GEOSGeom_setPrecision_r()
+  * to not attempt at preserving the topology */
+#define GEOS_PREC_NO_TOPO         (1<<0)
+
+/** This option causes #GEOSGeom_setPrecision_r()
+  * to retain collapsed elements */
+#define GEOS_PREC_KEEP_COLLAPSED  (1<<1)
+
+/**
+ * Set the geometry's precision, optionally rounding all its
+ * coordinates to the precision grid (if it changes).
+ *
+ * Note that operations will always be performed in the precision
+ * of the geometry with higher precision (smaller "gridSize").
+ * That same precision will be attached to the operation outputs.
+ *
+ * @param gridSize size of the precision grid, or 0 for FLOATING
+ *                 precision.
+ * @param flags The bitwise OR of one of more of the
+ *              @ref GEOS_PREC_NO_TOPO "precision options"
+ * @retuns NULL on exception or a new GEOSGeometry object
+ *
+ */
+extern GEOSGeometry GEOS_DLL *GEOSGeom_setPrecision_r(
+                                       GEOSContextHandle_t handle,
+                                       const GEOSGeometry *g,
+                                       double gridSize, int flags);
+
+/**
+ * Get a geometry's precision
+ *
+ * @return the size of the geometry's precision grid, 0 for FLOATING
+ *         precision or -1 on exception
+ */
+extern double GEOS_DLL GEOSGeom_getPrecision_r(
+                                       GEOSContextHandle_t handle,
+                                       const GEOSGeometry *g);
+
 /* Return -1 on exception */
 extern int GEOS_DLL GEOSGetNumInteriorRings_r(GEOSContextHandle_t handle,
                                               const GEOSGeometry* g);
@@ -1410,6 +1493,48 @@ extern void GEOS_DLL GEOSGeom_destroy(GEOSGeometry* g);
 extern GEOSGeometry GEOS_DLL *GEOSEnvelope(const GEOSGeometry* g);
 extern GEOSGeometry GEOS_DLL *GEOSIntersection(const GEOSGeometry* g1, const GEOSGeometry* g2);
 extern GEOSGeometry GEOS_DLL *GEOSConvexHull(const GEOSGeometry* g);
+
+/* Returns the minimum rotated rectangular POLYGON which encloses the input geometry. The rectangle
+ * has width equal to the minimum diameter, and a longer length. If the convex hill of the input is
+ * degenerate (a line or point) a LINESTRING or POINT is returned. The minimum rotated rectangle can
+ * be used as an extremely generalized representation for the given geometry.
+ */
+extern GEOSGeometry GEOS_DLL *GEOSMinimumRotatedRectangle(const GEOSGeometry* g);
+
+/* Returns a LINESTRING geometry which represents the minimum diameter of the geometry.
+ * The minimum diameter is defined to be the width of the smallest band that
+ * contains the geometry, where a band is a strip of the plane defined
+ * by two parallel lines. This can be thought of as the smallest hole that the geometry
+ * can be moved through, with a single rotation.
+ */
+extern GEOSGeometry GEOS_DLL *GEOSMinimumWidth(const GEOSGeometry* g);
+
+/* Computes the minimum clearance of a geometry.  The minimum clearance is the smallest amount by which
+ * a vertex could be move to produce an invalid polygon, a non-simple linestring, or a multipoint with
+ * repeated points.  If a geometry has a minimum clearance of 'eps', it can be said that:
+ *
+ * -  No two distinct vertices in the geometry are separated by less than 'eps'
+ * -  No vertex is closer than 'eps' to a line segment of which it is not an endpoint.
+ *
+ * If the minimum clearance cannot be defined for a geometry (such as with a single point, or a multipoint
+ * whose points are identical, a value of Infinity will be calculated.
+ *
+ * @param g the input geometry
+ * @param d a double to which the result can be stored
+ *
+ * @return 0 if no exception occurred
+ *         2 if an exception occurred
+ */
+extern int GEOS_DLL GEOSMinimumClearance(const GEOSGeometry* g, double* d);
+
+/* Returns a LineString whose endpoints define the minimum clearance of a geometry.
+ * If the geometry has no minimum clearance, an empty LineString will be returned.
+ *
+ * @param g the input geometry
+ * @return a LineString, or NULL if an exception occurred.
+ */
+extern GEOSGeometry GEOS_DLL *GEOSMinimumClearanceLine(const GEOSGeometry* g);
+
 extern GEOSGeometry GEOS_DLL *GEOSDifference(const GEOSGeometry* g1, const GEOSGeometry* g2);
 extern GEOSGeometry GEOS_DLL *GEOSSymDifference(const GEOSGeometry* g1, const GEOSGeometry* g2);
 extern GEOSGeometry GEOS_DLL *GEOSBoundary(const GEOSGeometry* g);
@@ -1579,17 +1704,94 @@ extern char GEOS_DLL GEOSPreparedWithin(const GEOSPreparedGeometry* pg1, const G
  * GEOSGeometry ownership is retained by caller
  */
 
+/*
+ * Create a new R-tree using the Sort-Tile-Recursive algorithm (STRtree) for two-dimensional
+ * spatial data.
+ *
+ * @param nodeCapacity the maximum number of child nodes that a node may have.  The minimum
+ *            recommended capacity value is 4.  If unsure, use a default node capacity of 10.
+ * @return a pointer to the created tree
+ */
 extern GEOSSTRtree GEOS_DLL *GEOSSTRtree_create(size_t nodeCapacity);
+
+/*
+ * Insert an item into an STRtree
+ *
+ * @param tree the STRtree in which the item should be inserted
+ * @param g a GEOSGeometry whose envelope corresponds to the extent of 'item'
+ * @param item the item to insert into the tree
+ */
 extern void GEOS_DLL GEOSSTRtree_insert(GEOSSTRtree *tree,
                                         const GEOSGeometry *g,
                                         void *item);
+
+/*
+ * Query an STRtree for items intersecting a specified envelope
+ *
+ * @param tree the STRtree to search
+ * @param g a GEOSGeomety from which a query envelope will be extracted
+ * @param callback a function to be executed for each item in the tree whose envelope intersects
+ *            the envelope of 'g'.  The callback function should take two parameters: a void
+ *            pointer representing the located item in the tree, and a void userdata pointer.
+ * @param userdata an optional pointer to pe passed to 'callback' as an argument
+ */
 extern void GEOS_DLL GEOSSTRtree_query(GEOSSTRtree *tree,
                                        const GEOSGeometry *g,
                                        GEOSQueryCallback callback,
                                        void *userdata);
+/*
+ * Returns the nearest item in the STRtree to the supplied GEOSGeometry.
+ * All items in the tree MUST be of type GEOSGeometry.  If this is not the case, use
+ * GEOSSTRtree_nearest_generic instead.
+*
+ * @param tree the STRtree to search
+ * @param geom the geometry with which the tree should be queried
+ * @return a const pointer to the nearest GEOSGeometry in the tree to 'geom', or NULL in
+ *            case of exception
+ */
+extern const GEOSGeometry GEOS_DLL *GEOSSTRtree_nearest(GEOSSTRtree *tree, const GEOSGeometry* geom);
+
+/*
+ * Returns the nearest item in the STRtree to the supplied item
+ *
+ * @param tree the STRtree to search
+ * @param item the item with which the tree should be queried
+ * @param itemEnvelope a GEOSGeometry having the bounding box of 'item'
+ * @param distancefn a function that can compute the distance between two items
+ *            in the STRtree.  The function should return zero in case of error,
+ *            and should store the computed distance to the location pointed to by
+ *            the 'distance' argument.  The computed distance between two items
+ *            must not exceed the Cartesian distance between their envelopes.
+ * @param userdata optional pointer to arbitrary data; will be passed to distancefn
+ *            each time it is called.
+ * @return a const pointer to the nearest item in the tree to 'item', or NULL in
+ *            case of exception
+ */
+extern const void GEOS_DLL *GEOSSTRtree_nearest_generic(GEOSSTRtree *tree,
+                                                        const void* item,
+                                                        const GEOSGeometry* itemEnvelope,
+                                                        GEOSDistanceCallback distancefn,
+                                                        void* userdata);
+/*
+ * Iterates over all items in the STRtree
+ *
+ * @param tree the STRtree over which to iterate
+ * @param callback a function to be executed for each item in the tree.
+ */
 extern void GEOS_DLL GEOSSTRtree_iterate(GEOSSTRtree *tree,
                                        GEOSQueryCallback callback,
                                        void *userdata);
+
+/*
+ * Removes an item from the STRtree
+ *
+ * @param tree the STRtree from which to remove an item
+ * @param g the envelope of the item to remove
+ * @param the item to remove
+ * @return 0 if the item was not removed;
+ *         1 if the item was removed;
+ *         2 if an exception occurred
+ */
 extern char GEOS_DLL GEOSSTRtree_remove(GEOSSTRtree *tree,
                                         const GEOSGeometry *g,
                                         void *item);
@@ -1666,6 +1868,11 @@ extern int GEOS_DLL GEOSGetSRID(const GEOSGeometry* g);
 
 extern void GEOS_DLL GEOSSetSRID(GEOSGeometry* g, int SRID);
 
+extern void GEOS_DLL *GEOSGeom_getUserData(const GEOSGeometry* g);
+
+extern void GEOS_DLL GEOSGeom_setUserData(GEOSGeometry* g, void* userData);
+
+
 /* May be called on all geometries in GEOS 3.x, returns -1 on error and 1
  * for non-multi geometries. Older GEOS versions only accept
  * GeometryCollections or Multi* geometries here, and are likely to crash
@@ -1687,6 +1894,13 @@ extern const GEOSGeometry GEOS_DLL *GEOSGetGeometryN(const GEOSGeometry* g, int
 /* Return -1 on exception */
 extern int GEOS_DLL GEOSNormalize(GEOSGeometry* g);
 
+/* Return NULL on exception */
+extern GEOSGeometry GEOS_DLL *GEOSGeom_setPrecision(
+	const GEOSGeometry *g, double gridSize, int flags);
+
+/* Return -1 on exception */
+extern double GEOS_DLL GEOSGeom_getPrecision(const GEOSGeometry *g);
+
 /* Return -1 on exception */
 extern int GEOS_DLL GEOSGetNumInteriorRings(const GEOSGeometry* g);
 
diff --git a/capi/geos_c.h.in b/capi/geos_c.h.in
index d66247f..c4cc326 100644
--- a/capi/geos_c.h.in
+++ b/capi/geos_c.h.in
@@ -59,9 +59,9 @@ extern "C" {
 #if defined(_MSC_VER)
 #include <geos/version.h>
 #define GEOS_CAPI_VERSION_MAJOR 1
-#define GEOS_CAPI_VERSION_MINOR 9
+#define GEOS_CAPI_VERSION_MINOR 10
 #define GEOS_CAPI_VERSION_PATCH 0
-#define GEOS_CAPI_VERSION "3.5.0-CAPI-1.9.0"
+#define GEOS_CAPI_VERSION "3.6.0-CAPI-1.10.0"
 #else
 #ifndef GEOS_VERSION_MAJOR
 #define GEOS_VERSION_MAJOR @VERSION_MAJOR@
@@ -153,6 +153,7 @@ enum GEOSByteOrders {
 };
 
 typedef void (*GEOSQueryCallback)(void *item, void *userdata);
+typedef int (*GEOSDistanceCallback)(const void *item1, const void* item2, double* distance, void* userdata);
 
 /************************************************************************
  *
@@ -538,6 +539,31 @@ extern GEOSGeometry GEOS_DLL *GEOSIntersection_r(GEOSContextHandle_t handle,
                                                  const GEOSGeometry* g2);
 extern GEOSGeometry GEOS_DLL *GEOSConvexHull_r(GEOSContextHandle_t handle,
                                                const GEOSGeometry* g);
+
+/* Returns the minimum rotated rectangular POLYGON which encloses the input geometry. The rectangle
+ * has width equal to the minimum diameter, and a longer length. If the convex hill of the input is
+ * degenerate (a line or point) a LINESTRING or POINT is returned. The minimum rotated rectangle can
+ * be used as an extremely generalized representation for the given geometry.
+ */
+extern GEOSGeometry GEOS_DLL *GEOSMinimumRotatedRectangle_r(GEOSContextHandle_t handle,
+                                               const GEOSGeometry* g);
+
+/* Returns a LINESTRING geometry which represents the minimum diameter of the geometry.
+ * The minimum diameter is defined to be the width of the smallest band that
+ * contains the geometry, where a band is a strip of the plane defined
+ * by two parallel lines. This can be thought of as the smallest hole that the geometry
+ * can be moved through, with a single rotation.
+ */
+extern GEOSGeometry GEOS_DLL *GEOSMinimumWidth_r(GEOSContextHandle_t handle,
+                                               const GEOSGeometry* g);
+
+extern GEOSGeometry GEOS_DLL *GEOSMinimumClearanceLine_r(GEOSContextHandle_t handle,
+                                                     const GEOSGeometry* g);
+
+extern int GEOS_DLL GEOSMinimumClearance_r(GEOSContextHandle_t handle,
+                                           const GEOSGeometry* g,
+                                           double* distance);
+
 extern GEOSGeometry GEOS_DLL *GEOSDifference_r(GEOSContextHandle_t handle,
                                                const GEOSGeometry* g1,
                                                const GEOSGeometry* g2);
@@ -796,6 +822,19 @@ extern void GEOS_DLL GEOSSTRtree_query_r(GEOSContextHandle_t handle,
                                          const GEOSGeometry *g,
                                          GEOSQueryCallback callback,
                                          void *userdata);
+
+extern const void GEOS_DLL *GEOSSTRtree_nearest_r(GEOSContextHandle_t handle,
+                                                  GEOSSTRtree *tree,
+                                                  const GEOSGeometry* geom);
+
+
+extern const void GEOS_DLL *GEOSSTRtree_nearest_generic_r(GEOSContextHandle_t handle,
+                                                          GEOSSTRtree *tree,
+                                                          const void* item,
+                                                          const GEOSGeometry* itemEnvelope,
+                                                          GEOSDistanceCallback distancefn,
+                                                          void* userdata);
+
 extern void GEOS_DLL GEOSSTRtree_iterate_r(GEOSContextHandle_t handle,
                                        GEOSSTRtree *tree,
                                        GEOSQueryCallback callback,
@@ -916,6 +955,12 @@ extern int GEOS_DLL GEOSGetSRID_r(GEOSContextHandle_t handle,
 extern void GEOS_DLL GEOSSetSRID_r(GEOSContextHandle_t handle,
                                    GEOSGeometry* g, int SRID);
 
+extern void GEOS_DLL *GEOSGeom_getUserData_r(GEOSContextHandle_t handle,
+const GEOSGeometry* g);
+
+extern void GEOS_DLL GEOSGeom_setUserData_r(GEOSContextHandle_t handle,
+                                   GEOSGeometry* g, void* userData);
+
 /* May be called on all geometries in GEOS 3.x, returns -1 on error and 1
  * for non-multi geometries. Older GEOS versions only accept
  * GeometryCollections or Multi* geometries here, and are likely to crash
@@ -941,6 +986,44 @@ extern const GEOSGeometry GEOS_DLL *GEOSGetGeometryN_r(
 extern int GEOS_DLL GEOSNormalize_r(GEOSContextHandle_t handle,
                                     GEOSGeometry* g);
 
+/** This option causes #GEOSGeom_setPrecision_r()
+  * to not attempt at preserving the topology */
+#define GEOS_PREC_NO_TOPO         (1<<0)
+
+/** This option causes #GEOSGeom_setPrecision_r()
+  * to retain collapsed elements */
+#define GEOS_PREC_KEEP_COLLAPSED  (1<<1)
+
+/**
+ * Set the geometry's precision, optionally rounding all its
+ * coordinates to the precision grid (if it changes).
+ *
+ * Note that operations will always be performed in the precision
+ * of the geometry with higher precision (smaller "gridSize").
+ * That same precision will be attached to the operation outputs.
+ *
+ * @param gridSize size of the precision grid, or 0 for FLOATING
+ *                 precision.
+ * @param flags The bitwise OR of one of more of the
+ *              @ref GEOS_PREC_NO_TOPO "precision options"
+ * @retuns NULL on exception or a new GEOSGeometry object
+ *
+ */
+extern GEOSGeometry GEOS_DLL *GEOSGeom_setPrecision_r(
+                                       GEOSContextHandle_t handle,
+                                       const GEOSGeometry *g,
+                                       double gridSize, int flags);
+
+/**
+ * Get a geometry's precision
+ *
+ * @return the size of the geometry's precision grid, 0 for FLOATING
+ *         precision or -1 on exception
+ */
+extern double GEOS_DLL GEOSGeom_getPrecision_r(
+                                       GEOSContextHandle_t handle,
+                                       const GEOSGeometry *g);
+
 /* Return -1 on exception */
 extern int GEOS_DLL GEOSGetNumInteriorRings_r(GEOSContextHandle_t handle,
                                               const GEOSGeometry* g);
@@ -1410,6 +1493,48 @@ extern void GEOS_DLL GEOSGeom_destroy(GEOSGeometry* g);
 extern GEOSGeometry GEOS_DLL *GEOSEnvelope(const GEOSGeometry* g);
 extern GEOSGeometry GEOS_DLL *GEOSIntersection(const GEOSGeometry* g1, const GEOSGeometry* g2);
 extern GEOSGeometry GEOS_DLL *GEOSConvexHull(const GEOSGeometry* g);
+
+/* Returns the minimum rotated rectangular POLYGON which encloses the input geometry. The rectangle
+ * has width equal to the minimum diameter, and a longer length. If the convex hill of the input is
+ * degenerate (a line or point) a LINESTRING or POINT is returned. The minimum rotated rectangle can
+ * be used as an extremely generalized representation for the given geometry.
+ */
+extern GEOSGeometry GEOS_DLL *GEOSMinimumRotatedRectangle(const GEOSGeometry* g);
+
+/* Returns a LINESTRING geometry which represents the minimum diameter of the geometry.
+ * The minimum diameter is defined to be the width of the smallest band that
+ * contains the geometry, where a band is a strip of the plane defined
+ * by two parallel lines. This can be thought of as the smallest hole that the geometry
+ * can be moved through, with a single rotation.
+ */
+extern GEOSGeometry GEOS_DLL *GEOSMinimumWidth(const GEOSGeometry* g);
+
+/* Computes the minimum clearance of a geometry.  The minimum clearance is the smallest amount by which
+ * a vertex could be move to produce an invalid polygon, a non-simple linestring, or a multipoint with
+ * repeated points.  If a geometry has a minimum clearance of 'eps', it can be said that:
+ *
+ * -  No two distinct vertices in the geometry are separated by less than 'eps'
+ * -  No vertex is closer than 'eps' to a line segment of which it is not an endpoint.
+ *
+ * If the minimum clearance cannot be defined for a geometry (such as with a single point, or a multipoint
+ * whose points are identical, a value of Infinity will be calculated.
+ *
+ * @param g the input geometry
+ * @param d a double to which the result can be stored
+ *
+ * @return 0 if no exception occurred
+ *         2 if an exception occurred
+ */
+extern int GEOS_DLL GEOSMinimumClearance(const GEOSGeometry* g, double* d);
+
+/* Returns a LineString whose endpoints define the minimum clearance of a geometry.
+ * If the geometry has no minimum clearance, an empty LineString will be returned.
+ *
+ * @param g the input geometry
+ * @return a LineString, or NULL if an exception occurred.
+ */
+extern GEOSGeometry GEOS_DLL *GEOSMinimumClearanceLine(const GEOSGeometry* g);
+
 extern GEOSGeometry GEOS_DLL *GEOSDifference(const GEOSGeometry* g1, const GEOSGeometry* g2);
 extern GEOSGeometry GEOS_DLL *GEOSSymDifference(const GEOSGeometry* g1, const GEOSGeometry* g2);
 extern GEOSGeometry GEOS_DLL *GEOSBoundary(const GEOSGeometry* g);
@@ -1579,17 +1704,94 @@ extern char GEOS_DLL GEOSPreparedWithin(const GEOSPreparedGeometry* pg1, const G
  * GEOSGeometry ownership is retained by caller
  */
 
+/*
+ * Create a new R-tree using the Sort-Tile-Recursive algorithm (STRtree) for two-dimensional
+ * spatial data.
+ *
+ * @param nodeCapacity the maximum number of child nodes that a node may have.  The minimum
+ *            recommended capacity value is 4.  If unsure, use a default node capacity of 10.
+ * @return a pointer to the created tree
+ */
 extern GEOSSTRtree GEOS_DLL *GEOSSTRtree_create(size_t nodeCapacity);
+
+/*
+ * Insert an item into an STRtree
+ *
+ * @param tree the STRtree in which the item should be inserted
+ * @param g a GEOSGeometry whose envelope corresponds to the extent of 'item'
+ * @param item the item to insert into the tree
+ */
 extern void GEOS_DLL GEOSSTRtree_insert(GEOSSTRtree *tree,
                                         const GEOSGeometry *g,
                                         void *item);
+
+/*
+ * Query an STRtree for items intersecting a specified envelope
+ *
+ * @param tree the STRtree to search
+ * @param g a GEOSGeomety from which a query envelope will be extracted
+ * @param callback a function to be executed for each item in the tree whose envelope intersects
+ *            the envelope of 'g'.  The callback function should take two parameters: a void
+ *            pointer representing the located item in the tree, and a void userdata pointer.
+ * @param userdata an optional pointer to pe passed to 'callback' as an argument
+ */
 extern void GEOS_DLL GEOSSTRtree_query(GEOSSTRtree *tree,
                                        const GEOSGeometry *g,
                                        GEOSQueryCallback callback,
                                        void *userdata);
+/*
+ * Returns the nearest item in the STRtree to the supplied GEOSGeometry.
+ * All items in the tree MUST be of type GEOSGeometry.  If this is not the case, use
+ * GEOSSTRtree_nearest_generic instead.
+*
+ * @param tree the STRtree to search
+ * @param geom the geometry with which the tree should be queried
+ * @return a const pointer to the nearest GEOSGeometry in the tree to 'geom', or NULL in
+ *            case of exception
+ */
+extern const GEOSGeometry GEOS_DLL *GEOSSTRtree_nearest(GEOSSTRtree *tree, const GEOSGeometry* geom);
+
+/*
+ * Returns the nearest item in the STRtree to the supplied item
+ *
+ * @param tree the STRtree to search
+ * @param item the item with which the tree should be queried
+ * @param itemEnvelope a GEOSGeometry having the bounding box of 'item'
+ * @param distancefn a function that can compute the distance between two items
+ *            in the STRtree.  The function should return zero in case of error,
+ *            and should store the computed distance to the location pointed to by
+ *            the 'distance' argument.  The computed distance between two items
+ *            must not exceed the Cartesian distance between their envelopes.
+ * @param userdata optional pointer to arbitrary data; will be passed to distancefn
+ *            each time it is called.
+ * @return a const pointer to the nearest item in the tree to 'item', or NULL in
+ *            case of exception
+ */
+extern const void GEOS_DLL *GEOSSTRtree_nearest_generic(GEOSSTRtree *tree,
+                                                        const void* item,
+                                                        const GEOSGeometry* itemEnvelope,
+                                                        GEOSDistanceCallback distancefn,
+                                                        void* userdata);
+/*
+ * Iterates over all items in the STRtree
+ *
+ * @param tree the STRtree over which to iterate
+ * @param callback a function to be executed for each item in the tree.
+ */
 extern void GEOS_DLL GEOSSTRtree_iterate(GEOSSTRtree *tree,
                                        GEOSQueryCallback callback,
                                        void *userdata);
+
+/*
+ * Removes an item from the STRtree
+ *
+ * @param tree the STRtree from which to remove an item
+ * @param g the envelope of the item to remove
+ * @param the item to remove
+ * @return 0 if the item was not removed;
+ *         1 if the item was removed;
+ *         2 if an exception occurred
+ */
 extern char GEOS_DLL GEOSSTRtree_remove(GEOSSTRtree *tree,
                                         const GEOSGeometry *g,
                                         void *item);
@@ -1666,6 +1868,11 @@ extern int GEOS_DLL GEOSGetSRID(const GEOSGeometry* g);
 
 extern void GEOS_DLL GEOSSetSRID(GEOSGeometry* g, int SRID);
 
+extern void GEOS_DLL *GEOSGeom_getUserData(const GEOSGeometry* g);
+
+extern void GEOS_DLL GEOSGeom_setUserData(GEOSGeometry* g, void* userData);
+
+
 /* May be called on all geometries in GEOS 3.x, returns -1 on error and 1
  * for non-multi geometries. Older GEOS versions only accept
  * GeometryCollections or Multi* geometries here, and are likely to crash
@@ -1687,6 +1894,13 @@ extern const GEOSGeometry GEOS_DLL *GEOSGetGeometryN(const GEOSGeometry* g, int
 /* Return -1 on exception */
 extern int GEOS_DLL GEOSNormalize(GEOSGeometry* g);
 
+/* Return NULL on exception */
+extern GEOSGeometry GEOS_DLL *GEOSGeom_setPrecision(
+	const GEOSGeometry *g, double gridSize, int flags);
+
+/* Return -1 on exception */
+extern double GEOS_DLL GEOSGeom_getPrecision(const GEOSGeometry *g);
+
 /* Return -1 on exception */
 extern int GEOS_DLL GEOSGetNumInteriorRings(const GEOSGeometry* g);
 
diff --git a/capi/geos_ts_c.cpp b/capi/geos_ts_c.cpp
index ebe62a9..d2542ff 100644
--- a/capi/geos_ts_c.cpp
+++ b/capi/geos_ts_c.cpp
@@ -8,7 +8,7 @@
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
- * by the Free Software Foundation. 
+ * by the Free Software Foundation.
  * See the COPYING file for more information.
  *
  * Author: Sandro Santilli <strk at keybit.net>
@@ -17,24 +17,25 @@
  ***********************************************************************/
 
 #include <geos/platform.h>  // for FINITE
-#include <geos/geom/Geometry.h> 
-#include <geos/geom/prep/PreparedGeometry.h> 
-#include <geos/geom/prep/PreparedGeometryFactory.h> 
-#include <geos/geom/GeometryCollection.h> 
-#include <geos/geom/Polygon.h> 
-#include <geos/geom/Point.h> 
-#include <geos/geom/MultiPoint.h> 
-#include <geos/geom/MultiLineString.h> 
-#include <geos/geom/MultiPolygon.h> 
-#include <geos/geom/LinearRing.h> 
-#include <geos/geom/LineString.h> 
-#include <geos/geom/PrecisionModel.h> 
-#include <geos/geom/GeometryFactory.h> 
-#include <geos/geom/CoordinateSequenceFactory.h> 
-#include <geos/geom/Coordinate.h> 
-#include <geos/geom/IntersectionMatrix.h> 
-#include <geos/geom/Envelope.h> 
-#include <geos/index/strtree/STRtree.h> 
+#include <geos/geom/Geometry.h>
+#include <geos/geom/prep/PreparedGeometry.h>
+#include <geos/geom/prep/PreparedGeometryFactory.h>
+#include <geos/geom/GeometryCollection.h>
+#include <geos/geom/Polygon.h>
+#include <geos/geom/Point.h>
+#include <geos/geom/MultiPoint.h>
+#include <geos/geom/MultiLineString.h>
+#include <geos/geom/MultiPolygon.h>
+#include <geos/geom/LinearRing.h>
+#include <geos/geom/LineString.h>
+#include <geos/geom/PrecisionModel.h>
+#include <geos/geom/GeometryFactory.h>
+#include <geos/geom/CoordinateSequenceFactory.h>
+#include <geos/geom/Coordinate.h>
+#include <geos/geom/IntersectionMatrix.h>
+#include <geos/geom/Envelope.h>
+#include <geos/index/strtree/STRtree.h>
+#include <geos/index/strtree/GeometryItemDistance.h>
 #include <geos/index/ItemVisitor.h>
 #include <geos/io/WKTReader.h>
 #include <geos/io/WKBReader.h>
@@ -43,6 +44,7 @@
 #include <geos/algorithm/distance/DiscreteHausdorffDistance.h>
 #include <geos/algorithm/CGAlgorithms.h>
 #include <geos/algorithm/BoundaryNodeRule.h>
+#include <geos/algorithm/MinimumDiameter.h>
 #include <geos/simplify/DouglasPeuckerSimplifier.h>
 #include <geos/simplify/TopologyPreservingSimplifier.h>
 #include <geos/noding/GeometryNoder.h>
@@ -61,6 +63,7 @@
 #include <geos/operation/sharedpaths/SharedPathsOp.h>
 #include <geos/operation/union/CascadedPolygonUnion.h>
 #include <geos/operation/valid/IsValidOp.h>
+#include <geos/precision/GeometryPrecisionReducer.h>
 #include <geos/linearref/LengthIndexedLine.h>
 #include <geos/triangulate/DelaunayTriangulationBuilder.h>
 #include <geos/triangulate/VoronoiDiagramBuilder.h>
@@ -68,7 +71,7 @@
 #include <geos/util/Interrupt.h>
 #include <geos/util/UniqueCoordinateArrayFilter.h>
 #include <geos/util/Machine.h>
-#include <geos/version.h> 
+#include <geos/version.h>
 
 // This should go away
 #include <cmath> // finite
@@ -87,7 +90,7 @@
 #pragma warning(disable : 4099)
 #endif
 
-// Some extra magic to make type declarations in geos_c.h work - 
+// Some extra magic to make type declarations in geos_c.h work -
 // for cross-checking of types in header.
 #define GEOSGeometry geos::geom::Geometry
 #define GEOSPreparedGeometry geos::geom::prep::PreparedGeometry
@@ -113,6 +116,7 @@ using namespace std;
 #undef VERBOSE_EXCEPTIONS
 
 #include <geos/export.h>
+#include <geos/precision/MinimumClearance.h>
 
 
 // import the most frequently used definitions globally
@@ -132,6 +136,7 @@ using geos::operation::overlay::overlayOp;
 using geos::operation::geounion::CascadedPolygonUnion;
 using geos::operation::buffer::BufferParameters;
 using geos::operation::buffer::BufferBuilder;
+using geos::precision::GeometryPrecisionReducer;
 using geos::util::IllegalArgumentException;
 using geos::algorithm::distance::DiscreteHausdorffDistance;
 
@@ -287,7 +292,7 @@ char* gstrdup_s(const char* str, const std::size_t size)
     }
 
     assert(0 != out);
-    
+
     // we haven't been checking allocation before ticket #371
     if (0 == out)
     {
@@ -394,13 +399,13 @@ GEOS_finish_r(GEOSContextHandle_t extHandle)
     finishGEOS_r(extHandle);
 }
 
-void 
-GEOSFree_r (GEOSContextHandle_t extHandle, void* buffer) 
-{ 
+void
+GEOSFree_r (GEOSContextHandle_t extHandle, void* buffer)
+{
     assert(0 != extHandle);
 
-    free(buffer); 
-} 
+    free(buffer);
+}
 
 //-----------------------------------------------------------
 // relate()-related functions
@@ -471,7 +476,7 @@ GEOSTouches_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geometry
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -503,7 +508,7 @@ GEOSIntersects_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geomet
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -535,7 +540,7 @@ GEOSCrosses_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geometry
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -567,7 +572,7 @@ GEOSWithin_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geometry *
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -603,7 +608,7 @@ GEOSContains_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geometry
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -635,7 +640,7 @@ GEOSOverlaps_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geometry
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -667,7 +672,7 @@ GEOSCovers_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geometry *
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -699,7 +704,7 @@ GEOSCoveredBy_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geometr
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -737,7 +742,7 @@ GEOSRelatePattern_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geo
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -776,7 +781,7 @@ GEOSRelatePatternMatch_r(GEOSContextHandle_t extHandle, const char *mat,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -804,7 +809,7 @@ GEOSRelate_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geometry *
         {
             return 0;
         }
-       
+
         char *result = gstrdup(im->toString());
 
         delete im;
@@ -820,7 +825,7 @@ GEOSRelate_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geometry *
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -870,7 +875,7 @@ GEOSRelateBoundaryNodeRule_r(GEOSContextHandle_t extHandle, const Geometry *g1,
         }
 
         if (0 == im) return 0;
-       
+
         char *result = gstrdup(im->toString());
 
         delete im;
@@ -886,7 +891,7 @@ GEOSRelateBoundaryNodeRule_r(GEOSContextHandle_t extHandle, const Geometry *g1,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -937,7 +942,7 @@ GEOSisValid_r(GEOSContextHandle_t extHandle, const Geometry *g1)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -1114,7 +1119,7 @@ GEOSEqualsExact_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geome
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -1148,7 +1153,7 @@ GEOSDistance_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geometry
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -1182,7 +1187,7 @@ GEOSHausdorffDistance_r(GEOSContextHandle_t extHandle, const Geometry *g1, const
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -1216,7 +1221,7 @@ GEOSHausdorffDistanceDensify_r(GEOSContextHandle_t extHandle, const Geometry *g1
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -1250,7 +1255,7 @@ GEOSArea_r(GEOSContextHandle_t extHandle, const Geometry *g, double *area)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -1284,7 +1289,7 @@ GEOSLength_r(GEOSContextHandle_t extHandle, const Geometry *g, double *length)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -1316,7 +1321,7 @@ GEOSNearestPoints_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geo
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -1352,7 +1357,7 @@ GEOSGeomFromWKT_r(GEOSContextHandle_t extHandle, const char *wkt)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -1433,7 +1438,7 @@ GEOSGeomToWKB_buf_r(GEOSContextHandle_t extHandle, const Geometry *g, size_t *si
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-   
+
     return NULL;
 }
 
@@ -1471,7 +1476,7 @@ GEOSGeomFromWKB_buf_r(GEOSContextHandle_t extHandle, const unsigned char *wkb, s
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -1517,7 +1522,7 @@ GEOSGeomToHEX_buf_r(GEOSContextHandle_t extHandle, const Geometry *g, size_t *si
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -1556,7 +1561,7 @@ GEOSGeomFromHEX_buf_r(GEOSContextHandle_t extHandle, const unsigned char *hex, s
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -1587,7 +1592,7 @@ GEOSisEmpty_r(GEOSContextHandle_t extHandle, const Geometry *g1)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -1693,7 +1698,7 @@ GEOSGeomType_r(GEOSContextHandle_t extHandle, const Geometry *g1)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -1725,7 +1730,7 @@ GEOSGeomTypeId_r(GEOSContextHandle_t extHandle, const Geometry *g1)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return -1;
 }
 
@@ -1761,7 +1766,7 @@ GEOSEnvelope_r(GEOSContextHandle_t extHandle, const Geometry *g1)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -1792,7 +1797,7 @@ GEOSIntersection_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geom
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -1824,7 +1829,7 @@ GEOSBuffer_r(GEOSContextHandle_t extHandle, const Geometry *g1, double width, in
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -1880,7 +1885,7 @@ GEOSBufferWithStyle_r(GEOSContextHandle_t extHandle, const Geometry *g1, double
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -1926,7 +1931,7 @@ GEOSOffsetCurve_r(GEOSContextHandle_t extHandle, const Geometry *g1, double widt
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -1969,7 +1974,7 @@ GEOSSingleSidedBuffer_r(GEOSContextHandle_t extHandle, const Geometry *g1, doubl
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -2001,11 +2006,147 @@ GEOSConvexHull_r(GEOSContextHandle_t extHandle, const Geometry *g1)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
+    return NULL;
+}
+
+
+Geometry *
+GEOSMinimumRotatedRectangle_r(GEOSContextHandle_t extHandle, const Geometry *g)
+{
+    if ( 0 == extHandle )
+    {
+        return NULL;
+    }
+
+    GEOSContextHandleInternal_t *handle = 0;
+    handle = reinterpret_cast<GEOSContextHandleInternal_t*>(extHandle);
+    if ( 0 == handle->initialized )
+    {
+        return NULL;
+    }
+
+    try
+    {
+        geos::algorithm::MinimumDiameter m(g);
+
+        Geometry *g3 = m.getMinimumRectangle();
+        return g3;
+    }
+    catch (const std::exception &e)
+    {
+        handle->ERROR_MESSAGE("%s", e.what());
+    }
+    catch (...)
+    {
+        handle->ERROR_MESSAGE("Unknown exception thrown");
+    }
+
+    return NULL;
+}
+
+Geometry *
+GEOSMinimumWidth_r(GEOSContextHandle_t extHandle, const Geometry *g)
+{
+    if ( 0 == extHandle )
+    {
+        return NULL;
+    }
+
+    GEOSContextHandleInternal_t *handle = 0;
+    handle = reinterpret_cast<GEOSContextHandleInternal_t*>(extHandle);
+    if ( 0 == handle->initialized )
+    {
+        return NULL;
+    }
+
+    try
+    {
+        geos::algorithm::MinimumDiameter m(g);
+
+        Geometry *g3 = m.getDiameter();
+        return g3;
+    }
+    catch (const std::exception &e)
+    {
+        handle->ERROR_MESSAGE("%s", e.what());
+    }
+    catch (...)
+    {
+        handle->ERROR_MESSAGE("Unknown exception thrown");
+    }
+
     return NULL;
 }
 
 Geometry *
+GEOSMinimumClearanceLine_r(GEOSContextHandle_t extHandle, const Geometry *g)
+{
+    if ( 0 == extHandle )
+    {
+        return NULL;
+    }
+
+    GEOSContextHandleInternal_t *handle = 0;
+    handle = reinterpret_cast<GEOSContextHandleInternal_t*>(extHandle);
+    if ( 0 == handle->initialized )
+    {
+        return NULL;
+    }
+
+    try
+    {
+        geos::precision::MinimumClearance mc(g);
+        return mc.getLine().release();
+    }
+    catch (const std::exception &e)
+    {
+        handle->ERROR_MESSAGE("%s", e.what());
+    }
+    catch (...)
+    {
+        handle->ERROR_MESSAGE("Unknown exception thrown");
+    }
+
+    return NULL;
+}
+
+int
+GEOSMinimumClearance_r(GEOSContextHandle_t extHandle, const Geometry *g, double *d)
+{
+    if ( 0 == extHandle )
+    {
+        return 2;
+    }
+
+    GEOSContextHandleInternal_t *handle = 0;
+    handle = reinterpret_cast<GEOSContextHandleInternal_t*>(extHandle);
+    if ( 0 == handle->initialized )
+    {
+        return 2;
+    }
+
+    try
+    {
+        geos::precision::MinimumClearance mc(g);
+        double res = mc.getDistance();
+        *d = res;
+        return 0;
+    }
+    catch (const std::exception &e)
+    {
+        handle->ERROR_MESSAGE("%s", e.what());
+    }
+    catch (...)
+    {
+        handle->ERROR_MESSAGE("Unknown exception thrown");
+    }
+
+    return 2;
+}
+
+
+Geometry *
 GEOSDifference_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geometry *g2)
 {
     if ( 0 == extHandle )
@@ -2032,7 +2173,7 @@ GEOSDifference_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geomet
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -2064,7 +2205,7 @@ GEOSBoundary_r(GEOSContextHandle_t extHandle, const Geometry *g1)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -2122,7 +2263,7 @@ GEOSUnion_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geometry *g
     catch (const std::exception &e)
     {
 #if VERBOSE_EXCEPTIONS
-        std::ostringstream s; 
+        std::ostringstream s;
         s << "Exception on GEOSUnion with following inputs:" << std::endl;
         s << "A: "<<g1->toString() << std::endl;
         s << "B: "<<g2->toString() << std::endl;
@@ -2134,7 +2275,7 @@ GEOSUnion_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geometry *g
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -2161,7 +2302,7 @@ GEOSUnaryUnion_r(GEOSContextHandle_t extHandle, const Geometry *g)
     catch (const std::exception &e)
     {
 #if VERBOSE_EXCEPTIONS
-        std::ostringstream s; 
+        std::ostringstream s;
         s << "Exception on GEOSUnaryUnion with following inputs:" << std::endl;
         s << "A: "<<g1->toString() << std::endl;
         s << "B: "<<g2->toString() << std::endl;
@@ -2173,7 +2314,7 @@ GEOSUnaryUnion_r(GEOSContextHandle_t extHandle, const Geometry *g)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -2200,7 +2341,7 @@ GEOSNode_r(GEOSContextHandle_t extHandle, const Geometry *g)
     catch (const std::exception &e)
     {
 #if VERBOSE_EXCEPTIONS
-        std::ostringstream s; 
+        std::ostringstream s;
         s << "Exception on GEOSUnaryUnion with following inputs:" << std::endl;
         s << "A: "<<g1->toString() << std::endl;
         s << "B: "<<g2->toString() << std::endl;
@@ -2212,7 +2353,7 @@ GEOSNode_r(GEOSContextHandle_t extHandle, const Geometry *g)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -2234,7 +2375,7 @@ GEOSUnionCascaded_r(GEOSContextHandle_t extHandle, const Geometry *g1)
     try
     {
         const geos::geom::MultiPolygon *p = dynamic_cast<const geos::geom::MultiPolygon *>(g1);
-        if ( ! p ) 
+        if ( ! p )
         {
             handle->ERROR_MESSAGE("Invalid argument (must be a MultiPolygon)");
             return NULL;
@@ -2251,7 +2392,7 @@ GEOSUnionCascaded_r(GEOSContextHandle_t extHandle, const Geometry *g1)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -2276,7 +2417,7 @@ GEOSPointOnSurface_r(GEOSContextHandle_t extHandle, const Geometry *g1)
         if ( ! ret )
         {
             const GeometryFactory* gf = handle->geomFactory;
-            // return an empty point 
+            // return an empty point
             return gf->createPoint();
         }
         return ret;
@@ -2289,7 +2430,7 @@ GEOSPointOnSurface_r(GEOSContextHandle_t extHandle, const Geometry *g1)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -2319,7 +2460,7 @@ GEOSClipByRect_r(GEOSContextHandle_t extHandle, const Geometry *g, double xmin,
     catch (const std::exception &e)
     {
 #if VERBOSE_EXCEPTIONS
-        std::ostringstream s; 
+        std::ostringstream s;
         s << "Exception on GEOSClipByRect with following inputs:" << std::endl;
         s << "A: "<<g1->toString() << std::endl;
         s << "B: "<<g2->toString() << std::endl;
@@ -2331,7 +2472,7 @@ GEOSClipByRect_r(GEOSContextHandle_t extHandle, const Geometry *g, double xmin,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -2344,7 +2485,7 @@ GEOSGeom_destroy_r(GEOSContextHandle_t extHandle, Geometry *a)
 {
     GEOSContextHandleInternal_t *handle = 0;
 
-    // FIXME: mloskot: Does this try-catch around delete means that 
+    // FIXME: mloskot: Does this try-catch around delete means that
     // destructors in GEOS may throw? If it does, this is a serious
     // violation of "never throw an exception from a destructor" principle
 
@@ -2385,6 +2526,26 @@ GEOSGeom_destroy_r(GEOSContextHandle_t extHandle, Geometry *a)
 }
 
 void
+GEOSGeom_setUserData_r(GEOSContextHandle_t extHandle, Geometry *g, void* userData)
+{
+    assert(0 != g);
+
+    if ( 0 == extHandle )
+    {
+        return;
+    }
+
+    GEOSContextHandleInternal_t *handle = 0;
+    handle = reinterpret_cast<GEOSContextHandleInternal_t*>(extHandle);
+    if ( 0 == handle->initialized )
+    {
+        return;
+    }
+
+    g->setUserData(userData);
+}
+
+void
 GEOSSetSRID_r(GEOSContextHandle_t extHandle, Geometry *g, int srid)
 {
     assert(0 != g);
@@ -2434,12 +2595,12 @@ GEOSGetNumCoordinates_r(GEOSContextHandle_t extHandle, const Geometry *g)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return -1;
 }
 
 /*
- * Return -1 on exception, 0 otherwise. 
+ * Return -1 on exception, 0 otherwise.
  * Converts Geometry to normal form (or canonical form).
  */
 int
@@ -2472,7 +2633,7 @@ GEOSNormalize_r(GEOSContextHandle_t extHandle, Geometry *g)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return -1;
 }
 
@@ -2509,7 +2670,7 @@ GEOSGetNumInteriorRings_r(GEOSContextHandle_t extHandle, const Geometry *g1)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return -1;
 }
 
@@ -2542,7 +2703,7 @@ GEOSGetNumGeometries_r(GEOSContextHandle_t extHandle, const Geometry *g1)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return -1;
 }
 
@@ -2578,7 +2739,7 @@ GEOSGetGeometryN_r(GEOSContextHandle_t extHandle, const Geometry *g1, int n)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -2947,7 +3108,7 @@ GEOSGetExteriorRing_r(GEOSContextHandle_t extHandle, const Geometry *g1)
     try
     {
         const Polygon *p = dynamic_cast<const Polygon *>(g1);
-        if ( ! p ) 
+        if ( ! p )
         {
             handle->ERROR_MESSAGE("Invalid argument (must be a Polygon)");
             return NULL;
@@ -2962,7 +3123,7 @@ GEOSGetExteriorRing_r(GEOSContextHandle_t extHandle, const Geometry *g1)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -2988,7 +3149,7 @@ GEOSGetInteriorRingN_r(GEOSContextHandle_t extHandle, const Geometry *g1, int n)
     try
     {
         const Polygon *p = dynamic_cast<const Polygon *>(g1);
-        if ( ! p ) 
+        if ( ! p )
         {
             handle->ERROR_MESSAGE("Invalid argument (must be a Polygon)");
             return NULL;
@@ -3003,7 +3164,7 @@ GEOSGetInteriorRingN_r(GEOSContextHandle_t extHandle, const Geometry *g1, int n)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -3040,7 +3201,7 @@ GEOSGetCentroid_r(GEOSContextHandle_t extHandle, const Geometry *g)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -3061,9 +3222,8 @@ GEOSGeom_createEmptyCollection_r(GEOSContextHandle_t extHandle, int type)
 
 #ifdef GEOS_DEBUG
     char buf[256];
-    sprintf(buf, "createCollection: requested type %d, ngeoms: %d",
-            type, ngeoms);
-    handle->NOTICE_MESSAGE("%s", buf);// TODO: Can handle->NOTICE_MESSAGE format that directly? 
+    sprintf(buf, "createCollection: requested type %d", type);
+    handle->NOTICE_MESSAGE("%s", buf);// TODO: Can handle->NOTICE_MESSAGE format that directly?
 #endif
 
     try
@@ -3088,9 +3248,9 @@ GEOSGeom_createEmptyCollection_r(GEOSContextHandle_t extHandle, int type)
             default:
                 handle->ERROR_MESSAGE("Unsupported type request for GEOSGeom_createEmptyCollection_r");
                 g = 0;
-                
+
         }
-        
+
         return g;
     }
     catch (const std::exception &e)
@@ -3124,7 +3284,7 @@ GEOSGeom_createCollection_r(GEOSContextHandle_t extHandle, int type, Geometry **
     char buf[256];
     sprintf(buf, "PostGIS2GEOS_collection: requested type %d, ngeoms: %d",
             type, ngeoms);
-    handle->NOTICE_MESSAGE("%s", buf);// TODO: Can handle->NOTICE_MESSAGE format that directly? 
+    handle->NOTICE_MESSAGE("%s", buf);// TODO: Can handle->NOTICE_MESSAGE format that directly?
 #endif
 
     try
@@ -3149,10 +3309,11 @@ GEOSGeom_createCollection_r(GEOSContextHandle_t extHandle, int type, Geometry **
                 break;
             default:
                 handle->ERROR_MESSAGE("Unsupported type request for PostGIS2GEOS_collection");
+                delete vgeoms;
                 g = 0;
-                
+
         }
-        
+
         return g;
     }
     catch (const std::exception &e)
@@ -3215,7 +3376,7 @@ GEOSPolygonize_r(GEOSContextHandle_t extHandle, const Geometry * const * g, unsi
         // or add a wrapper which semantic is similar to:
         // std::vector<as_polygon<Geometry*> >
         std::vector<Geometry*> *polyvec = new std::vector<Geometry *>(polys->size());
-        
+
         for (std::size_t i = 0; i < polys->size(); ++i)
         {
             (*polyvec)[i] = (*polys)[i];
@@ -3460,6 +3621,39 @@ GEOSLineMerge_r(GEOSContextHandle_t extHandle, const Geometry *g)
     return out;
 }
 
+ void*
+GEOSGeom_getUserData_r(GEOSContextHandle_t extHandle, const Geometry *g)
+{
+    assert(0 != g);
+
+    if ( 0 == extHandle )
+    {
+        return 0;
+    }
+
+    GEOSContextHandleInternal_t *handle = 0;
+    handle = reinterpret_cast<GEOSContextHandleInternal_t*>(extHandle);
+    if ( 0 == handle->initialized )
+    {
+        return 0;
+    }
+
+    try
+    {
+        return g->getUserData();
+    }
+    catch (const std::exception &e)
+    {
+        handle->ERROR_MESSAGE("%s", e.what());
+    }
+    catch (...)
+    {
+        handle->ERROR_MESSAGE("Unknown exception thrown");
+    }
+
+    return NULL;
+}
+
 int
 GEOSGetSRID_r(GEOSContextHandle_t extHandle, const Geometry *g)
 {
@@ -3489,7 +3683,7 @@ GEOSGetSRID_r(GEOSContextHandle_t extHandle, const Geometry *g)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -3505,7 +3699,7 @@ const char* GEOSjtsport()
     return GEOS_JTS_PORT;
 }
 
-char 
+char
 GEOSHasZ_r(GEOSContextHandle_t extHandle, const Geometry *g)
 {
     assert(0 != g);
@@ -3646,7 +3840,7 @@ GEOSCoordSeq_create_r(GEOSContextHandle_t extHandle, unsigned int size, unsigned
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -3680,7 +3874,7 @@ GEOSCoordSeq_setOrdinate_r(GEOSContextHandle_t extHandle, CoordinateSequence *cs
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -3731,7 +3925,7 @@ GEOSCoordSeq_clone_r(GEOSContextHandle_t extHandle, const CoordinateSequence *cs
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -3769,7 +3963,7 @@ GEOSCoordSeq_getOrdinate_r(GEOSContextHandle_t extHandle, const CoordinateSequen
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -3823,7 +4017,7 @@ GEOSCoordSeq_getSize_r(GEOSContextHandle_t extHandle, const CoordinateSequence *
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -3861,7 +4055,7 @@ GEOSCoordSeq_getDimensions_r(GEOSContextHandle_t extHandle, const CoordinateSequ
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -3932,7 +4126,7 @@ GEOSGeom_getCoordSeq_r(GEOSContextHandle_t extHandle, const Geometry *g)
         }
 
         const Point *p = dynamic_cast<const Point *>(g);
-        if ( p ) 
+        if ( p )
         {
             return p->getCoordinatesRO();
         }
@@ -3948,7 +4142,7 @@ GEOSGeom_getCoordSeq_r(GEOSContextHandle_t extHandle, const Geometry *g)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -3980,7 +4174,7 @@ GEOSGeom_createEmptyPoint_r(GEOSContextHandle_t extHandle)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -4000,7 +4194,7 @@ GEOSGeom_createPoint_r(GEOSContextHandle_t extHandle, CoordinateSequence *cs)
     }
 
     try
-    { 
+    {
         const GeometryFactory *gf = handle->geomFactory;
         return gf->createPoint(cs);
     }
@@ -4032,7 +4226,7 @@ GEOSGeom_createLinearRing_r(GEOSContextHandle_t extHandle, CoordinateSequence *c
     }
 
     try
-    { 
+    {
         const GeometryFactory *gf = handle->geomFactory;
 
         return gf->createLinearRing(cs);
@@ -4045,7 +4239,7 @@ GEOSGeom_createLinearRing_r(GEOSContextHandle_t extHandle, CoordinateSequence *c
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -4065,7 +4259,7 @@ GEOSGeom_createEmptyLineString_r(GEOSContextHandle_t extHandle)
     }
 
     try
-    { 
+    {
         const GeometryFactory *gf = handle->geomFactory;
 
         return gf->createLineString();
@@ -4078,7 +4272,7 @@ GEOSGeom_createEmptyLineString_r(GEOSContextHandle_t extHandle)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -4098,7 +4292,7 @@ GEOSGeom_createLineString_r(GEOSContextHandle_t extHandle, CoordinateSequence *c
     }
 
     try
-    { 
+    {
         const GeometryFactory *gf = handle->geomFactory;
 
         return gf->createLineString(cs);
@@ -4111,7 +4305,7 @@ GEOSGeom_createLineString_r(GEOSContextHandle_t extHandle, CoordinateSequence *c
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -4143,7 +4337,7 @@ GEOSGeom_createEmptyPolygon_r(GEOSContextHandle_t extHandle)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -4168,13 +4362,14 @@ GEOSGeom_createPolygon_r(GEOSContextHandle_t extHandle, Geometry *shell, Geometr
     try
     {
         using geos::geom::LinearRing;
-        
+
         std::vector<Geometry *> *vholes = new std::vector<Geometry *>(holes, holes + nholes);
 
         LinearRing *nshell = dynamic_cast<LinearRing *>(shell);
         if ( ! nshell )
         {
             handle->ERROR_MESSAGE("Shell is not a LinearRing");
+            delete vholes;
             return NULL;
         }
         const GeometryFactory *gf = handle->geomFactory;
@@ -4189,7 +4384,7 @@ GEOSGeom_createPolygon_r(GEOSContextHandle_t extHandle, Geometry *shell, Geometr
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -4222,10 +4417,104 @@ GEOSGeom_clone_r(GEOSContextHandle_t extHandle, const Geometry *g)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
+GEOSGeometry *
+GEOSGeom_setPrecision_r(GEOSContextHandle_t extHandle, const GEOSGeometry *g,
+                                          double gridSize, int flags)
+{
+    using namespace geos::geom;
+
+    assert(0 != g);
+
+    if ( 0 == extHandle )
+    {
+        return NULL;
+    }
+
+    GEOSContextHandleInternal_t *handle = 0;
+    handle = reinterpret_cast<GEOSContextHandleInternal_t*>(extHandle);
+    if ( 0 == handle->initialized )
+    {
+        return NULL;
+    }
+
+    try
+    {
+        const PrecisionModel *pm = g->getPrecisionModel();
+        double cursize = pm->isFloating() ? 0 : 1.0/pm->getScale();
+        std::auto_ptr<PrecisionModel> newpm;
+        if ( gridSize ) newpm.reset( new PrecisionModel(1.0/gridSize) );
+        else newpm.reset( new PrecisionModel() );
+        GeometryFactory::unique_ptr gf =
+            GeometryFactory::create( newpm.get(), g->getSRID() );
+        Geometry *ret;
+        if ( gridSize && cursize != gridSize )
+        {
+          // We need to snap the geometry
+          GeometryPrecisionReducer reducer( *gf );
+          reducer.setPointwise( flags & GEOS_PREC_NO_TOPO );
+          reducer.setRemoveCollapsedComponents( ! (flags & GEOS_PREC_KEEP_COLLAPSED) );
+          ret = reducer.reduce( *g ).release();
+        }
+        else
+        {
+          // No need or willing to snap, just change the factory
+          ret = gf->createGeometry(g);
+        }
+        return ret;
+    }
+    catch (const std::exception &e)
+    {
+        handle->ERROR_MESSAGE("%s", e.what());
+    }
+    catch (...)
+    {
+        handle->ERROR_MESSAGE("Unknown exception thrown");
+    }
+
+    return NULL;
+}
+
+double
+GEOSGeom_getPrecision_r(GEOSContextHandle_t extHandle, const GEOSGeometry *g)
+{
+    using namespace geos::geom;
+
+    assert(0 != g);
+
+    if ( 0 == extHandle )
+    {
+        return -1;
+    }
+
+    GEOSContextHandleInternal_t *handle = 0;
+    handle = reinterpret_cast<GEOSContextHandleInternal_t*>(extHandle);
+    if ( 0 == handle->initialized )
+    {
+        return -1;
+    }
+
+    try
+    {
+        const PrecisionModel *pm = g->getPrecisionModel();
+        double cursize = pm->isFloating() ? 0 : 1.0/pm->getScale();
+        return cursize;
+    }
+    catch (const std::exception &e)
+    {
+        handle->ERROR_MESSAGE("%s", e.what());
+    }
+    catch (...)
+    {
+        handle->ERROR_MESSAGE("Unknown exception thrown");
+    }
+
+    return -1;
+}
+
 int
 GEOSGeom_getDimensions_r(GEOSContextHandle_t extHandle, const Geometry *g)
 {
@@ -4253,7 +4542,7 @@ GEOSGeom_getDimensions_r(GEOSContextHandle_t extHandle, const Geometry *g)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -4284,7 +4573,7 @@ GEOSGeom_getCoordinateDimension_r(GEOSContextHandle_t extHandle, const Geometry
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -4317,7 +4606,7 @@ GEOSSimplify_r(GEOSContextHandle_t extHandle, const Geometry *g1, double toleran
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -4350,7 +4639,7 @@ GEOSTopologyPreserveSimplify_r(GEOSContextHandle_t extHandle, const Geometry *g1
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -4384,7 +4673,7 @@ GEOSWKTReader_create_r(GEOSContextHandle_t extHandle)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -4461,7 +4750,7 @@ GEOSWKTReader_read_r(GEOSContextHandle_t extHandle, WKTReader *reader, const cha
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -4494,7 +4783,7 @@ GEOSWKTWriter_create_r(GEOSContextHandle_t extHandle)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -4572,7 +4861,7 @@ GEOSWKTWriter_write_r(GEOSContextHandle_t extHandle, WKTWriter *writer, const Ge
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -4731,7 +5020,7 @@ GEOSWKBReader_create_r(GEOSContextHandle_t extHandle)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -4824,7 +5113,7 @@ GEOSWKBReader_read_r(GEOSContextHandle_t extHandle, WKBReader *reader, const uns
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -4833,7 +5122,7 @@ GEOSWKBReader_readHEX_r(GEOSContextHandle_t extHandle, WKBReader *reader, const
 {
     assert(0 != reader);
     assert(0 != hex);
-    
+
     if ( 0 == extHandle )
     {
         return 0;
@@ -4848,7 +5137,7 @@ GEOSWKBReader_readHEX_r(GEOSContextHandle_t extHandle, WKBReader *reader, const
 
     try
     {
-        std::string hexstring(reinterpret_cast<const char*>(hex), size); 
+        std::string hexstring(reinterpret_cast<const char*>(hex), size);
         std::istringstream is(std::ios_base::binary);
         is.str(hexstring);
         is.seekg(0, std::ios::beg); // rewind reader pointer
@@ -4864,7 +5153,7 @@ GEOSWKBReader_readHEX_r(GEOSContextHandle_t extHandle, WKBReader *reader, const
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 0;
 }
 
@@ -4897,7 +5186,7 @@ GEOSWKBWriter_create_r(GEOSContextHandle_t extHandle)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -5037,7 +5326,7 @@ int
 GEOSWKBWriter_getOutputDimension_r(GEOSContextHandle_t extHandle, const GEOSWKBWriter* writer)
 {
     assert(0 != writer);
-    
+
     if ( 0 == extHandle )
     {
         return 0;
@@ -5176,7 +5465,7 @@ GEOSWKBWriter_getIncludeSRID_r(GEOSContextHandle_t extHandle, const GEOSWKBWrite
             handle->ERROR_MESSAGE("Unknown exception thrown");
         }
     }
-    
+
     return static_cast<char>(ret);
 }
 
@@ -5207,7 +5496,7 @@ GEOSWKBWriter_setIncludeSRID_r(GEOSContextHandle_t extHandle, GEOSWKBWriter* wri
 
 
 //-----------------------------------------------------------------
-// Prepared Geometry 
+// Prepared Geometry
 //-----------------------------------------------------------------
 
 const geos::geom::prep::PreparedGeometry*
@@ -5239,7 +5528,7 @@ GEOSPrepare_r(GEOSContextHandle_t extHandle, const Geometry *g)
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return prep;
 }
 
@@ -5303,7 +5592,7 @@ GEOSPreparedContains_r(GEOSContextHandle_t extHandle,
         return 2;
     }
 
-    try 
+    try
     {
         bool result = pg->contains(g);
         return result;
@@ -5316,7 +5605,7 @@ GEOSPreparedContains_r(GEOSContextHandle_t extHandle,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -5339,7 +5628,7 @@ GEOSPreparedContainsProperly_r(GEOSContextHandle_t extHandle,
         return 2;
     }
 
-    try 
+    try
     {
         bool result = pg->containsProperly(g);
         return result;
@@ -5352,7 +5641,7 @@ GEOSPreparedContainsProperly_r(GEOSContextHandle_t extHandle,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -5375,7 +5664,7 @@ GEOSPreparedCoveredBy_r(GEOSContextHandle_t extHandle,
         return 2;
     }
 
-    try 
+    try
     {
         bool result = pg->coveredBy(g);
         return result;
@@ -5388,7 +5677,7 @@ GEOSPreparedCoveredBy_r(GEOSContextHandle_t extHandle,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -5411,7 +5700,7 @@ GEOSPreparedCovers_r(GEOSContextHandle_t extHandle,
         return 2;
     }
 
-    try 
+    try
     {
         bool result = pg->covers(g);
         return result;
@@ -5424,7 +5713,7 @@ GEOSPreparedCovers_r(GEOSContextHandle_t extHandle,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -5447,7 +5736,7 @@ GEOSPreparedCrosses_r(GEOSContextHandle_t extHandle,
         return 2;
     }
 
-    try 
+    try
     {
         bool result = pg->crosses(g);
         return result;
@@ -5460,7 +5749,7 @@ GEOSPreparedCrosses_r(GEOSContextHandle_t extHandle,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -5483,7 +5772,7 @@ GEOSPreparedDisjoint_r(GEOSContextHandle_t extHandle,
         return 2;
     }
 
-    try 
+    try
     {
         bool result = pg->disjoint(g);
         return result;
@@ -5496,7 +5785,7 @@ GEOSPreparedDisjoint_r(GEOSContextHandle_t extHandle,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -5519,7 +5808,7 @@ GEOSPreparedIntersects_r(GEOSContextHandle_t extHandle,
         return 2;
     }
 
-    try 
+    try
     {
         bool result = pg->intersects(g);
         return result;
@@ -5532,7 +5821,7 @@ GEOSPreparedIntersects_r(GEOSContextHandle_t extHandle,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -5555,7 +5844,7 @@ GEOSPreparedOverlaps_r(GEOSContextHandle_t extHandle,
         return 2;
     }
 
-    try 
+    try
     {
         bool result = pg->overlaps(g);
         return result;
@@ -5568,7 +5857,7 @@ GEOSPreparedOverlaps_r(GEOSContextHandle_t extHandle,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -5591,7 +5880,7 @@ GEOSPreparedTouches_r(GEOSContextHandle_t extHandle,
         return 2;
     }
 
-    try 
+    try
     {
         bool result = pg->touches(g);
         return result;
@@ -5604,7 +5893,7 @@ GEOSPreparedTouches_r(GEOSContextHandle_t extHandle,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -5627,7 +5916,7 @@ GEOSPreparedWithin_r(GEOSContextHandle_t extHandle,
         return 2;
     }
 
-    try 
+    try
     {
         bool result = pg->within(g);
         return result;
@@ -5640,7 +5929,7 @@ GEOSPreparedWithin_r(GEOSContextHandle_t extHandle,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -5678,7 +5967,7 @@ GEOSSTRtree_create_r(GEOSContextHandle_t extHandle,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return tree;
 }
 
@@ -5728,7 +6017,7 @@ GEOSSTRtree_insert_r(GEOSContextHandle_t extHandle,
     }
 }
 
-void 
+void
 GEOSSTRtree_query_r(GEOSContextHandle_t extHandle,
                     geos::index::strtree::STRtree *tree,
                     const geos::geom::Geometry *g,
@@ -5777,7 +6066,82 @@ GEOSSTRtree_query_r(GEOSContextHandle_t extHandle,
     }
 }
 
-void 
+const void *
+GEOSSTRtree_nearest_generic_r(GEOSContextHandle_t extHandle,
+                              geos::index::strtree::STRtree *tree,
+                              const void* item,
+                              const geos::geom::Geometry* itemEnvelope,
+                              GEOSDistanceCallback distancefn,
+                              void* userdata)
+{
+
+    GEOSContextHandleInternal_t *handle = 0;
+
+		struct CustomItemDistance : public ItemDistance {
+				CustomItemDistance(GEOSDistanceCallback p_distancefn, void* p_userdata)
+								: m_distancefn(p_distancefn), m_userdata(p_userdata) {}
+
+				GEOSDistanceCallback m_distancefn;
+				void* m_userdata;
+
+				double distance(const ItemBoundable* item1, const ItemBoundable* item2) {
+						const void* a = item1->getItem();
+						const void* b = item2->getItem();
+						double d;
+
+						if (!m_distancefn(a, b, &d, m_userdata)) {
+								throw std::runtime_error(std::string("Failed to compute distance."));
+						}
+
+						return d;
+				}
+		};
+
+    try
+    {
+        if (distancefn) {
+            CustomItemDistance itemDistance(distancefn, userdata);
+            return tree->nearestNeighbour(itemEnvelope->getEnvelopeInternal(), item, &itemDistance);
+        } else {
+            GeometryItemDistance itemDistance = GeometryItemDistance();
+            return tree->nearestNeighbour(itemEnvelope->getEnvelopeInternal(), item, &itemDistance);
+        }
+    }
+    catch (const std::exception &e)
+    {
+        if ( 0 == extHandle )
+        {
+            return NULL;
+        }
+
+        handle = reinterpret_cast<GEOSContextHandleInternal_t*>(extHandle);
+        if ( 0 == handle->initialized )
+        {
+            return NULL;
+        }
+
+        handle->ERROR_MESSAGE("%s", e.what());
+    }
+    catch (...)
+    {
+        if ( 0 == extHandle )
+        {
+            return NULL;
+        }
+
+        handle = reinterpret_cast<GEOSContextHandleInternal_t*>(extHandle);
+        if ( 0 == handle->initialized )
+        {
+            return NULL;
+        }
+
+        handle->ERROR_MESSAGE("Unknown exception thrown");
+    }
+
+    return NULL;
+}
+
+void
 GEOSSTRtree_iterate_r(GEOSContextHandle_t extHandle,
                     geos::index::strtree::STRtree *tree,
                     GEOSQueryCallback callback,
@@ -5845,7 +6209,7 @@ GEOSSTRtree_remove_r(GEOSContextHandle_t extHandle,
         return 2;
     }
 
-    try 
+    try
     {
         bool result = tree->remove(g->getEnvelopeInternal(), item);
         return result;
@@ -5858,7 +6222,7 @@ GEOSSTRtree_remove_r(GEOSContextHandle_t extHandle,
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return 2;
 }
 
@@ -5910,7 +6274,7 @@ GEOSProject_r(GEOSContextHandle_t extHandle,
               const Geometry *p)
 {
     if ( 0 == extHandle ) return -1.0;
-    GEOSContextHandleInternal_t *handle = 
+    GEOSContextHandleInternal_t *handle =
         reinterpret_cast<GEOSContextHandleInternal_t*>(extHandle);
     if ( handle->initialized == 0 ) return -1.0;
 
@@ -5938,7 +6302,7 @@ Geometry*
 GEOSInterpolate_r(GEOSContextHandle_t extHandle, const Geometry *g, double d)
 {
     if ( 0 == extHandle ) return 0;
-    GEOSContextHandleInternal_t *handle = 
+    GEOSContextHandleInternal_t *handle =
         reinterpret_cast<GEOSContextHandleInternal_t*>(extHandle);
     if ( handle->initialized == 0 ) return 0;
 
@@ -6077,7 +6441,7 @@ GEOSSharedPaths_r(GEOSContextHandle_t extHandle, const GEOSGeometry* g1, const G
     SharedPathsOp::PathList forw, back;
     try {
       SharedPathsOp::sharedPathsOp(*g1, *g2, forw, back);
-    } 
+    }
     catch (const std::exception &e)
     {
         SharedPathsOp::clearEdges(forw);
@@ -6196,7 +6560,7 @@ void
 GEOSBufferParams_destroy_r(GEOSContextHandle_t extHandle, BufferParameters* p)
 {
   (void)extHandle;
-  delete p;     
+  delete p;
 }
 
 int
@@ -6366,7 +6730,7 @@ GEOSBufferWithParams_r(GEOSContextHandle_t extHandle, const Geometry *g1, const
     {
         handle->ERROR_MESSAGE("Unknown exception thrown");
     }
-    
+
     return NULL;
 }
 
@@ -6402,30 +6766,30 @@ GEOSDelaunayTriangulation_r(GEOSContextHandle_t extHandle, const Geometry *g1, d
 
     return NULL;
 }
-Geometry* 
+Geometry*
 GEOSVoronoiDiagram_r(GEOSContextHandle_t extHandle, const Geometry *g1, const Geometry *env, double tolerance ,int onlyEdges)
 {
 	if ( 0 == extHandle ) return NULL;
 
-	GEOSContextHandleInternal_t *handle = 0; 
+	GEOSContextHandleInternal_t *handle = 0;
 	handle = reinterpret_cast<GEOSContextHandleInternal_t*>(extHandle);
 	if ( 0 == handle->initialized ) return NULL;
 
 	using geos::triangulate::VoronoiDiagramBuilder;
 
-	try  
-	{    
+	try
+	{
 		VoronoiDiagramBuilder builder;
 		builder.setSites(*g1);
 		builder.setTolerance(tolerance);
     if(env) builder.setClipEnvelope(env->getEnvelopeInternal());
 		if(onlyEdges) return builder.getDiagramEdges(*g1->getFactory()).release();
 		else return builder.getDiagram(*g1->getFactory()).release();
-	}    
+	}
 	catch(const std::exception &e)
-	{    
+	{
 		handle->ERROR_MESSAGE("%s", e.what());
-	}    
+	}
 	catch(...)
 	{
 		handle->ERROR_MESSAGE("Unknow exception thrown");
diff --git a/config.guess b/config.guess
index 6c32c86..1659250 100755
--- a/config.guess
+++ b/config.guess
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2015 Free Software Foundation, Inc.
 
-timestamp='2014-11-04'
+timestamp='2015-08-20'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -168,20 +168,27 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	# Note: NetBSD doesn't particularly care about the vendor
 	# portion of the name.  We always set it to "unknown".
 	sysctl="sysctl -n hw.machine_arch"
-	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+	    /sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || \
+	    echo unknown)`
 	case "${UNAME_MACHINE_ARCH}" in
 	    armeb) machine=armeb-unknown ;;
 	    arm*) machine=arm-unknown ;;
 	    sh3el) machine=shl-unknown ;;
 	    sh3eb) machine=sh-unknown ;;
 	    sh5el) machine=sh5le-unknown ;;
+	    earmv*)
+		arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+		endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+		machine=${arch}${endian}-unknown
+		;;
 	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
 	# to ELF recently, or will in the future.
 	case "${UNAME_MACHINE_ARCH}" in
-	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+	    arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
 		eval $set_cc_for_build
 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
 			| grep -q __ELF__
@@ -197,6 +204,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 		os=netbsd
 		;;
 	esac
+	# Determine ABI tags.
+	case "${UNAME_MACHINE_ARCH}" in
+	    earm*)
+		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+		abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+		;;
+	esac
 	# The OS release
 	# Debian GNU/NetBSD machines have a different userland, and
 	# thus, need a distinct triplet. However, they do not need
@@ -207,13 +221,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 		release='-gnu'
 		;;
 	    *)
-		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
 		;;
 	esac
 	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
 	# contains redundant information, the shorter form:
 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}"
+	echo "${machine}-${os}${release}${abi}"
 	exit ;;
     *:Bitrig:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -235,6 +249,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:MirBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
 	exit ;;
+    *:Sortix:*:*)
+	echo ${UNAME_MACHINE}-unknown-sortix
+	exit ;;
     alpha:OSF1:*:*)
 	case $UNAME_RELEASE in
 	*4.0)
@@ -933,6 +950,9 @@ EOF
     crisv32:Linux:*:*)
 	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
+    e2k:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     frv:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
@@ -1021,7 +1041,7 @@ EOF
 	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
 	exit ;;
     x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
 	exit ;;
     xtensa*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
diff --git a/config.sub b/config.sub
index 7ffe373..1acc966 100755
--- a/config.sub
+++ b/config.sub
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2015 Free Software Foundation, Inc.
 
-timestamp='2014-12-03'
+timestamp='2015-08-20'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches at gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,7 +117,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
@@ -255,12 +255,13 @@ case $basic_machine in
 	| arc | arceb \
 	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
 	| avr | avr32 \
+	| ba \
 	| be32 | be64 \
 	| bfin \
 	| c4x | c8051 | clipper \
 	| d10v | d30v | dlx | dsp16xx \
-	| epiphany \
-	| fido | fr30 | frv \
+	| e2k | epiphany \
+	| fido | fr30 | frv | ft32 \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| hexagon \
 	| i370 | i860 | i960 | ia64 \
@@ -305,7 +306,7 @@ case $basic_machine in
 	| riscv32 | riscv64 \
 	| rl78 | rx \
 	| score \
-	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -376,12 +377,13 @@ case $basic_machine in
 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
+	| ba-* \
 	| be32-* | be64-* \
 	| bfin-* | bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* \
 	| c8051-* | clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
-	| elxsi-* \
+	| e2k-* | elxsi-* \
 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
 	| h8300-* | h8500-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
@@ -428,12 +430,13 @@ case $basic_machine in
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
 	| pyramid-* \
+	| riscv32-* | riscv64-* \
 	| rl78-* | romp-* | rs6000-* | rx-* \
 	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
 	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
 	| sparclite-* \
-	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
 	| tahoe-* \
 	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
 	| tile*-* \
@@ -518,6 +521,9 @@ case $basic_machine in
 		basic_machine=i386-pc
 		os=-aros
 		;;
+        asmjs)
+		basic_machine=asmjs-unknown
+		;;
 	aux)
 		basic_machine=m68k-apple
 		os=-aux
@@ -1373,7 +1379,7 @@ case $os in
 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
 	      | -sym* | -kopensolaris* | -plan9* \
 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* | -aros* \
+	      | -aos* | -aros* | -cloudabi* | -sortix* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
diff --git a/configure b/configure
index 66ac43e..d18fc74 100755
--- a/configure
+++ b/configure
@@ -646,15 +646,6 @@ INTERFACE_CURRENT
 VERSION_PATCH
 VERSION_MINOR
 VERSION_MAJOR
-HAVE_PHP_UNIT_FALSE
-HAVE_PHP_UNIT_TRUE
-HAVE_PHP_FALSE
-HAVE_PHP_TRUE
-ENABLE_PHP_FALSE
-ENABLE_PHP_TRUE
-PHPUNIT
-PHP
-PHP_CONFIG
 ENABLE_RUBY_FALSE
 ENABLE_RUBY_TRUE
 RUBY_SHARED_LIB
@@ -801,6 +792,7 @@ infodir
 docdir
 oldincludedir
 includedir
+runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -839,7 +831,6 @@ enable_cassert
 enable_glibcxx_debug
 enable_python
 enable_ruby
-enable_php
 '
       ac_precious_vars='build_alias
 host_alias
@@ -893,6 +884,7 @@ datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE}'
@@ -1145,6 +1137,15 @@ do
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
+  -runstatedir | --runstatedir | --runstatedi | --runstated \
+  | --runstate | --runstat | --runsta | --runst | --runs \
+  | --run | --ru | --r)
+    ac_prev=runstatedir ;;
+  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+  | --run=* | --ru=* | --r=*)
+    runstatedir=$ac_optarg ;;
+
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1282,7 +1283,7 @@ fi
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir
+		libdir localedir mandir runstatedir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1435,6 +1436,7 @@ Fine tuning of the installation directories:
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -1491,7 +1493,6 @@ Optional Features:
   --enable-glibcxx-debug    Enable libstdc++ debug mode
   --enable-python    Enable build of python module
   --enable-ruby    Enable build of ruby module
-  --enable-php    Enable build of php module
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -2619,12 +2620,12 @@ test -n "$target_alias" &&
 
 JTS_PORT=1.13.0
 
-CAPI_INTERFACE_CURRENT=10
+CAPI_INTERFACE_CURRENT=11
 CAPI_INTERFACE_REVISION=0
-CAPI_INTERFACE_AGE=9
+CAPI_INTERFACE_AGE=10
 
 VERSION_MAJOR=3
-VERSION_MINOR=5
+VERSION_MINOR=6
 VERSION_PATCH=0
 VERSION="$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH"
 
@@ -5811,7 +5812,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd*)
+netbsd* | netbsdelf*-gnu)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   else
@@ -9497,6 +9498,9 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   openbsd* | bitrig*)
     with_gnu_ld=no
     ;;
+  linux* | k*bsd*-gnu | gnu*)
+    link_all_deplibs=no
+    ;;
   esac
 
   ld_shlibs=yes
@@ -9751,7 +9755,7 @@ _LT_EOF
       fi
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -10421,6 +10425,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
 	if test yes = "$lt_cv_irix_exported_symbol"; then
           archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
 	fi
+	link_all_deplibs=no
       else
 	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
 	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
@@ -10442,7 +10447,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       esac
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -11557,6 +11562,18 @@ fi
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -14869,7 +14886,7 @@ lt_prog_compiler_static_CXX=
 	    ;;
 	esac
 	;;
-      netbsd*)
+      netbsd* | netbsdelf*-gnu)
 	;;
       *qnx* | *nto*)
         # QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -15244,6 +15261,9 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
       ;;
     esac
     ;;
+  linux* | k*bsd*-gnu | gnu*)
+    link_all_deplibs_CXX=no
+    ;;
   *)
     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
@@ -15937,6 +15957,18 @@ fi
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -17802,7 +17834,7 @@ else
 int
 main ()
 {
-double x; int y; y = isnan(x);
+double x; int y; y = std::isnan(x);
   ;
   return 0;
 }
@@ -18115,21 +18147,6 @@ fi
 
 
 
-# Check whether --enable-php was given.
-if test "${enable_php+set}" = set; then :
-  enableval=$enable_php; case "${enableval}" in
-		yes) use_php=true ;;
-		no)  use_php=false ;;
-		*) as_fn_error $? "bad value ${enableval} for --enable-php" "$LINENO" 5 ;;
-	esac
-else
-  use_php=false
-
-fi
-
-
-
-
 use_swig=false
 if test x"$use_python" = xtrue ||
    test x"$use_ruby" = xtrue; then
@@ -18616,164 +18633,6 @@ fi
 
 
 
-if test x"$use_php" = xtrue; then
-		# Extract the first word of "php-config", so it can be a program name with args.
-set dummy php-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PHP_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PHP_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PHP_CONFIG="$PHP_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PHP_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PHP_CONFIG=$ac_cv_path_PHP_CONFIG
-if test -n "$PHP_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PHP_CONFIG" >&5
-$as_echo "$PHP_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-	if test x"$PHP_CONFIG" = x; then
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: php-config not found, php support disabled" >&5
-$as_echo "$as_me: WARNING: php-config not found, php support disabled" >&2;}
-		use_php=false
-	else
-
-
-		# Extract the first word of "php", so it can be a program name with args.
-set dummy php; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PHP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PHP in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PHP="$PHP" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PHP="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PHP=$ac_cv_path_PHP
-if test -n "$PHP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PHP" >&5
-$as_echo "$PHP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- 		# Extract the first word of "phpunit", so it can be a program name with args.
-set dummy phpunit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PHPUNIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PHPUNIT in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PHPUNIT="$PHPUNIT" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PHPUNIT="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PHPUNIT=$ac_cv_path_PHPUNIT
-if test -n "$PHPUNIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PHPUNIT" >&5
-$as_echo "$PHPUNIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- 	fi
-
-
-fi
- if  test x"$use_php" = xtrue ; then
-  ENABLE_PHP_TRUE=
-  ENABLE_PHP_FALSE='#'
-else
-  ENABLE_PHP_TRUE='#'
-  ENABLE_PHP_FALSE=
-fi
-
- if  test x"$PHP" != x ; then
-  HAVE_PHP_TRUE=
-  HAVE_PHP_FALSE='#'
-else
-  HAVE_PHP_TRUE='#'
-  HAVE_PHP_FALSE=
-fi
-
- if  test x"$PHPUNIT" != x ; then
-  HAVE_PHP_UNIT_TRUE=
-  HAVE_PHP_UNIT_FALSE='#'
-else
-  HAVE_PHP_UNIT_TRUE='#'
-  HAVE_PHP_UNIT_FALSE=
-fi
-
-
-
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking OS-specific settings" >&5
 $as_echo_n "checking OS-specific settings... " >&6; }
 
@@ -18827,7 +18686,7 @@ esac
 
 
 
-ac_config_files="$ac_config_files Makefile capi/Makefile capi/geos_c.h doc/Doxyfile doc/Makefile macros/Makefile src/Makefile src/algorithm/Makefile src/algorithm/locate/Makefile src/algorithm/distance/Makefile src/geom/Makefile src/geom/prep/Makefile src/geom/util/Makefile src/geomgraph/Makefile src/geomgraph/index/Makefile include/Makefile include/geos/Makefile include/geos/algorithm/Makefile include/geos/algorithm/locate/Makefile include/geos/algorithm/distance/Makefile include/geos/g [...]
+ac_config_files="$ac_config_files Makefile capi/Makefile capi/geos_c.h doc/Doxyfile doc/Makefile macros/Makefile src/Makefile src/algorithm/Makefile src/algorithm/locate/Makefile src/algorithm/distance/Makefile src/geom/Makefile src/geom/prep/Makefile src/geom/util/Makefile src/geomgraph/Makefile src/geomgraph/index/Makefile include/Makefile include/geos/Makefile include/geos/algorithm/Makefile include/geos/algorithm/locate/Makefile include/geos/algorithm/distance/Makefile include/geos/g [...]
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -18982,18 +18841,6 @@ if test -z "${ENABLE_RUBY_TRUE}" && test -z "${ENABLE_RUBY_FALSE}"; then
   as_fn_error $? "conditional \"ENABLE_RUBY\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${ENABLE_PHP_TRUE}" && test -z "${ENABLE_PHP_FALSE}"; then
-  as_fn_error $? "conditional \"ENABLE_PHP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_PHP_TRUE}" && test -z "${HAVE_PHP_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_PHP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_PHP_UNIT_TRUE}" && test -z "${HAVE_PHP_UNIT_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_PHP_UNIT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 
 : "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
@@ -20065,8 +19912,6 @@ do
     "swig/python/tests/Makefile") CONFIG_FILES="$CONFIG_FILES swig/python/tests/Makefile" ;;
     "swig/ruby/Makefile") CONFIG_FILES="$CONFIG_FILES swig/ruby/Makefile" ;;
     "swig/ruby/test/Makefile") CONFIG_FILES="$CONFIG_FILES swig/ruby/test/Makefile" ;;
-    "php/Makefile") CONFIG_FILES="$CONFIG_FILES php/Makefile" ;;
-    "php/test/Makefile") CONFIG_FILES="$CONFIG_FILES php/test/Makefile" ;;
     "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
     "tests/bigtest/Makefile") CONFIG_FILES="$CONFIG_FILES tests/bigtest/Makefile" ;;
     "tests/unit/Makefile") CONFIG_FILES="$CONFIG_FILES tests/unit/Makefile" ;;
@@ -21524,13 +21369,3 @@ echo "Swig: $use_swig"
 echo "Python bindings: $use_python"
 echo "Ruby bindings: $use_ruby"
 
-echo "PHP bindings: $use_php"
-if test x"$use_php" = xtrue; then
- echo " PHP: $PHP"
- echo " PHPUNIT: $PHPUNIT"
- if test x"$PHP" = x -o x"$PHPUNIT" = x; then
-   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: PHP Unit testing disabled (missing PHP or PHPUNIT)" >&5
-$as_echo "$as_me: WARNING: PHP Unit testing disabled (missing PHP or PHPUNIT)" >&2;}
- fi
-fi
-
diff --git a/configure.ac b/configure.ac
index 52710ca..37ad8bd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,16 +14,16 @@ dnl -- JTS_PORT: the version of JTS this release is bound to
 JTS_PORT=1.13.0
 
 dnl -- Version info for the CAPI
-CAPI_INTERFACE_CURRENT=10
+CAPI_INTERFACE_CURRENT=11
 CAPI_INTERFACE_REVISION=0
-CAPI_INTERFACE_AGE=9
+CAPI_INTERFACE_AGE=10
 
 dnl
 dnl -- Release versions / C++ library SONAME will use these
 dnl -- encoding ABI break at every release
 dnl
 VERSION_MAJOR=3
-VERSION_MINOR=5
+VERSION_MINOR=6
 VERSION_PATCH=0
 VERSION="$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH"
 
@@ -130,7 +130,7 @@ else
 fi
 
 dnl --------------------------------------------------------------------
-dnl - Append default C++ and C flags 
+dnl - Append default C++ and C flags
 dnl --------------------------------------------------------------------
 
 dnl In order for AC_LIBTOOL_COMPILER_OPTION to use
@@ -138,10 +138,10 @@ dnl the C compiler we need the hack below.
 dnl It is likely a bug in the libtool macro file to
 dnl require AC_LIBTOOL_LANG_CXX_CONFIG in *addition*
 dnl to AC_LANG(CXX) or AC_LANG_PUSH(CXX)/AC_LANG_POP()
-dnl 
+dnl
 AC_LIBTOOL_LANG_CXX_CONFIG
 
-# Set default AM_CXXFLAGS and AM_CFLAGS 
+# Set default AM_CXXFLAGS and AM_CFLAGS
 # -pedantic: ISO does not support long long
 # we add -Wno-long-long to avoid those messages
 WARNFLAGS=""
@@ -197,7 +197,7 @@ dnl of isnan().
 AC_LANG_PUSH([C++])
 AC_CACHE_CHECK([for isnan], ac_cv_isnan,
  [AC_TRY_LINK([#include <cmath>],
- [double x; int y; y = isnan(x);],
+ [double x; int y; y = std::isnan(x);],
  ac_cv_isnan=yes,
  ac_cv_isnan=no
 )])
@@ -256,21 +256,7 @@ AC_ARG_ENABLE([ruby], [  --enable-ruby    Enable build of ruby module],
 )
 
 dnl --------------------------------------------------------------------
-dnl - check whether php is required for the build
-dnl --------------------------------------------------------------------
-
-AC_ARG_ENABLE([php], [  --enable-php    Enable build of php module],
-	[case "${enableval}" in
-		yes) use_php=true ;;
-		no)  use_php=false ;;
-		*) AC_MSG_ERROR(bad value ${enableval} for --enable-php) ;;
-	esac],
-	[use_php=false]
-)
-
-
-dnl --------------------------------------------------------------------
-dnl - check for swig if python, ruby or php are enabled
+dnl - check for swig if python or ruby are enabled
 dnl --------------------------------------------------------------------
 
 use_swig=false
@@ -278,9 +264,9 @@ if test x"$use_python" = xtrue ||
    test x"$use_ruby" = xtrue; then
   AC_PROG_SWIG(1.3.28)
   if test x"$SWIG" != "x"; then
-    SWIG_ENABLE_CXX	
-    AC_SUBST(SWIG)           
-    use_swig=true 
+    SWIG_ENABLE_CXX
+    AC_SUBST(SWIG)
+    use_swig=true
   else
     use_python=false
     use_ruby=false
@@ -294,14 +280,14 @@ dnl - check for python if enabled
 dnl --------------------------------------------------------------------
 
 if test x"$use_python" = xtrue; then
-	dnl Check for Python 
-  AM_PATH_PYTHON	
+	dnl Check for Python
+  AM_PATH_PYTHON
   SWIG_PYTHON
 
 	if test x"$PYTHON" = "x"; then
 		use_python=false
 	fi
-	
+
 	AC_SUBST(PYTHON)
 	AC_SUBST(SWIG_PYTHON_CPPFLAGS)
 	AC_SUBST(SWIG_PYTHON_OPT)
@@ -314,7 +300,7 @@ dnl - check for ruby if enabled
 dnl --------------------------------------------------------------------
 
 if test x"$use_ruby" = xtrue; then
-	dnl Check for Ruby 
+	dnl Check for Ruby
 	AC_RUBY_DEVEL
 
 	if test x"$RUBY" = x; then
@@ -325,32 +311,6 @@ fi
 AM_CONDITIONAL(ENABLE_RUBY, [ test x"$use_ruby" = xtrue ])
 
 dnl --------------------------------------------------------------------
-dnl - check for php if enabled
-dnl --------------------------------------------------------------------
-
-if test x"$use_php" = xtrue; then
-	dnl Check for PHP 
-	AC_PATH_PROG(PHP_CONFIG, php-config)
-
-	if test x"$PHP_CONFIG" = x; then
-		AC_MSG_WARN([php-config not found, php support disabled])
-		use_php=false
-	else
-
-		dnl TODO: check for version, we want PHP5 dev files
-
-		AC_PATH_PROG(PHP, php) dnl for unit testing
-		AC_PATH_PROG(PHPUNIT, phpunit) dnl for unit testing
-	fi
-
-
-fi
-AM_CONDITIONAL(ENABLE_PHP, [ test x"$use_php" = xtrue ])
-AM_CONDITIONAL(HAVE_PHP, [ test x"$PHP" != x ])
-AM_CONDITIONAL(HAVE_PHP_UNIT, [ test x"$PHPUNIT" != x ])
-
-
-dnl --------------------------------------------------------------------
 dnl - do operating-system specific things
 dnl --------------------------------------------------------------------
 
@@ -383,7 +343,7 @@ dnl				AM_CXXFLAGS="$AM_CXXFLAGS -Wnon-virtual-dtor -Woverloaded-virtual"
 esac
 
 dnl --------------------------------------------------------------------
-dnl - check for boost 
+dnl - check for boost
 dnl --------------------------------------------------------------------
 
 dnl -- AX_BOOST(1.32)
@@ -414,13 +374,13 @@ AC_SUBST(CAPI_INTERFACE_AGE)
 dnl output stuff ----------------------------------------------------------
 
 AC_OUTPUT([
-	Makefile 
+	Makefile
 	capi/Makefile
 	capi/geos_c.h
 	doc/Doxyfile
 	doc/Makefile
 	macros/Makefile
-	src/Makefile 
+	src/Makefile
 	src/algorithm/Makefile
 	src/algorithm/locate/Makefile
 	src/algorithm/distance/Makefile
@@ -506,8 +466,6 @@ AC_OUTPUT([
 	swig/python/tests/Makefile
 	swig/ruby/Makefile
 	swig/ruby/test/Makefile
-	php/Makefile
-	php/test/Makefile
 	tests/Makefile
 	tests/bigtest/Makefile
 	tests/unit/Makefile
@@ -529,13 +487,4 @@ echo "Swig: $use_swig"
 echo "Python bindings: $use_python"
 echo "Ruby bindings: $use_ruby"
 
-echo "PHP bindings: $use_php"
-if test x"$use_php" = xtrue; then
- echo " PHP: $PHP"
- echo " PHPUNIT: $PHPUNIT"
- if test x"$PHP" = x -o x"$PHPUNIT" = x; then
-   AC_MSG_WARN([PHP Unit testing disabled (missing PHP or PHPUNIT)])
- fi
-fi
-
 dnl -- echo "---------------------------------------"
diff --git a/doc/Doxyfile b/doc/Doxyfile
index b482487..3d5fb97 100644
--- a/doc/Doxyfile
+++ b/doc/Doxyfile
@@ -23,7 +23,7 @@ PROJECT_NAME           =  GEOS
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
-PROJECT_NUMBER         = 3.5.0
+PROJECT_NUMBER         = 3.6.0
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
 # base path where the generated documentation will be put. 
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 5b8e0f9..22fb928 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -258,9 +258,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/doc/example.cpp b/doc/example.cpp
index 3247fc9..3d714d1 100644
--- a/doc/example.cpp
+++ b/doc/example.cpp
@@ -84,7 +84,7 @@ void wkt_print_geoms(vector<Geometry *> *geoms);
 // but that would be boring because you'd need to specify
 // a PrecisionModel and a SRID everytime: those infos are
 // cached inside a GeometryFactory object.
-GeometryFactory *global_factory;
+GeometryFactory::unique_ptr global_factory;
 
 //#define DEBUG_STREAM_STATE 1
 
@@ -335,7 +335,7 @@ create_simple_collection(vector<Geometry *> *geoms)
 Polygon *
 create_circle(double centerX, double centerY, double radius)
 {
-	geos::util::GeometricShapeFactory shapefactory(global_factory);
+	geos::util::GeometricShapeFactory shapefactory(global_factory.get());
 	shapefactory.setCentre(Coordinate(centerX, centerY));
 	shapefactory.setSize(radius);
 	// same as:
@@ -351,7 +351,7 @@ create_circle(double centerX, double centerY, double radius)
 Polygon *
 create_ellipse(double centerX, double centerY, double width, double height)
 {
-	geos::util::GeometricShapeFactory shapefactory(global_factory);
+	geos::util::GeometricShapeFactory shapefactory(global_factory.get());
 	shapefactory.setCentre(Coordinate(centerX, centerY));
 	shapefactory.setHeight(height);
 	shapefactory.setWidth(width);
@@ -366,7 +366,7 @@ create_ellipse(double centerX, double centerY, double width, double height)
 Polygon *
 create_rectangle(double llX, double llY, double width, double height)
 {
-	geos::util::GeometricShapeFactory shapefactory(global_factory);
+	geos::util::GeometricShapeFactory shapefactory(global_factory.get());
 	shapefactory.setBase(Coordinate(llX, llY));
 	shapefactory.setHeight(height);
 	shapefactory.setWidth(width);
@@ -383,7 +383,7 @@ create_rectangle(double llX, double llY, double width, double height)
 LineString *
 create_arc(double llX, double llY, double width, double height, double startang, double endang)
 {
-	geos::util::GeometricShapeFactory shapefactory(global_factory);
+	geos::util::GeometricShapeFactory shapefactory(global_factory.get());
 	shapefactory.setBase(Coordinate(llX, llY));
 	shapefactory.setHeight(height);
 	shapefactory.setWidth(width);
@@ -395,7 +395,7 @@ create_arc(double llX, double llY, double width, double height, double startang,
 auto_ptr<Polygon>
 create_sinestar(double cx, double cy, double size, int nArms, double armLenRat)
 {
-	geos::geom::util::SineStarFactory fact(global_factory);
+	geos::geom::util::SineStarFactory fact(global_factory.get());
 	fact.setCentre(Coordinate(cx, cy));
 	fact.setSize(size);
 	fact.setNumPoints(nArms*5);
@@ -416,7 +416,7 @@ void do_all()
 
 	// Initialize global factory with defined PrecisionModel
 	// and a SRID of -1 (undefined).
-	global_factory = new GeometryFactory(pm, -1);
+	global_factory = GeometryFactory::create(pm, -1);
 
 	// We do not need PrecisionMode object anymore, it has
 	// been copied to global_factory private storage
@@ -1080,8 +1080,6 @@ cout<<"-------------------------------------------------------------------------
 		delete (*geoms)[i];
 	}
 	delete geoms;
-
-	delete global_factory;
 }
 
 int
diff --git a/geos_svn_revision.h b/geos_svn_revision.h
index 18edabe..e73a7c4 100644
--- a/geos_svn_revision.h
+++ b/geos_svn_revision.h
@@ -1 +1 @@
-#define GEOS_SVN_REVISION 4084
+#define GEOS_SVN_REVISION 0
diff --git a/include/Makefile.in b/include/Makefile.in
index e7a88f6..73893f3 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -298,9 +298,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -381,6 +378,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/._version.h.vc b/include/geos/._version.h.vc
deleted file mode 100644
index 2271589..0000000
Binary files a/include/geos/._version.h.vc and /dev/null differ
diff --git a/include/geos/Makefile.in b/include/geos/Makefile.in
index d0344f6..bee616e 100644
--- a/include/geos/Makefile.in
+++ b/include/geos/Makefile.in
@@ -298,9 +298,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -381,6 +378,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/algorithm/Makefile.in b/include/geos/algorithm/Makefile.in
index 0b2837c..feaab24 100644
--- a/include/geos/algorithm/Makefile.in
+++ b/include/geos/algorithm/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/algorithm/MinimumDiameter.h b/include/geos/algorithm/MinimumDiameter.h
index de18a59..5561baf 100644
--- a/include/geos/algorithm/MinimumDiameter.h
+++ b/include/geos/algorithm/MinimumDiameter.h
@@ -11,6 +11,10 @@
  * by the Free Software Foundation. 
  * See the COPYING file for more information.
  *
+ **********************************************************************
+ *
+ * Last port: algorithm/MinimumDiameter.java r966
+ *
  **********************************************************************/
 
 #ifndef GEOS_ALGORITHM_MINIMUMDIAMETER_H
@@ -47,6 +51,13 @@ namespace algorithm { // geos::algorithm
  * The first step in the algorithm is computing the convex hull of the Geometry.
  * If the input Geometry is known to be convex, a hint can be supplied to
  * avoid this computation.
+ * <p>
+ * This class can also be used to compute a line segment representing
+ * the minimum diameter, the supporting line segment of the minimum diameter,
+ * and a minimum rectangle enclosing the input geometry.
+ * This rectangle will
+ * have width equal to the minimum diameter, and have one side
+ * parallel to the supporting segment.
  *
  * @see ConvexHull
  *
@@ -55,6 +66,9 @@ class GEOS_DLL MinimumDiameter {
 private:
 	const geom::Geometry* inputGeom;
 	bool isConvex;
+
+	geom::CoordinateSequence* convexHullPts;
+
 	geom::LineSegment* minBaseSeg;
 	geom::Coordinate* minWidthPt;
 	int minPtIndex;
@@ -77,6 +91,10 @@ private:
 	static unsigned int getNextIndex(const geom::CoordinateSequence* pts,
 		unsigned int index);
 
+	static double computeC(double a, double b, const geom::Coordinate &p);
+
+	static geom::LineSegment computeSegmentForLine(double a, double b, double c);
+
 public:
 	~MinimumDiameter();
 
@@ -126,6 +144,33 @@ public:
 	 * @return a LineString which is a minimum diameter
 	 */
 	geom::LineString* getDiameter();
+
+	/**
+	 * Gets the minimum rectangular Polygon which encloses the input geometry. The rectangle has width
+	 * equal to the minimum diameter, and a longer length. If the convex hill of the input is degenerate
+	 * (a line or point) a LineString or Point is returned.
+	 * The minimum rectangle can be used as an extremely generalized representation for the given
+	 * geometry.
+	 *
+	 * @return the minimum rectangle enclosing the input (or a line or point if degenerate)
+	 */
+	geom::Geometry* getMinimumRectangle();
+
+	/**
+	 * Gets the minimum rectangle enclosing a geometry.
+	 *
+	 * @param geom the geometry
+	 * @return the minimum rectangle enclosing the geometry
+	*/
+	static geom::Geometry* getMinimumRectangle(geom::Geometry* geom);
+
+	/**
+	 * Gets the length of the minimum diameter enclosing a geometry
+	 * @param geom the geometry
+	 * @return the length of the minimum diameter of the geometry
+	 */
+	static geom::Geometry* getMinimumDiameter(geom::Geometry* geom);
+
 };
 
 } // namespace geos::algorithm
diff --git a/include/geos/algorithm/PointLocator.h b/include/geos/algorithm/PointLocator.h
index 2322739..43bf428 100644
--- a/include/geos/algorithm/PointLocator.h
+++ b/include/geos/algorithm/PointLocator.h
@@ -31,6 +31,7 @@ namespace geos {
 		class LinearRing;
 		class LineString;
 		class Polygon;
+		class Point;
 	}
 }
 
@@ -93,6 +94,8 @@ private:
 
 	void updateLocationInfo(int loc);
 
+	int locate(const geom::Coordinate& p, const geom::Point *pt);
+
 	int locate(const geom::Coordinate& p, const geom::LineString *l);
 
 	int locateInPolygonRing(const geom::Coordinate& p, const geom::LinearRing *ring);
diff --git a/include/geos/algorithm/SIRtreePointInRing.h b/include/geos/algorithm/SIRtreePointInRing.h
index 02d8eba..daac3b9 100644
--- a/include/geos/algorithm/SIRtreePointInRing.h
+++ b/include/geos/algorithm/SIRtreePointInRing.h
@@ -49,6 +49,7 @@ private:
 			geom::LineSegment *seg);
 public:
 	SIRtreePointInRing(geom::LinearRing *newRing);
+	~SIRtreePointInRing();
 	bool isInside(const geom::Coordinate& pt);
 };
 
diff --git a/include/geos/algorithm/distance/Makefile.in b/include/geos/algorithm/distance/Makefile.in
index 01aca11..14ad992 100644
--- a/include/geos/algorithm/distance/Makefile.in
+++ b/include/geos/algorithm/distance/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/algorithm/locate/Makefile.in b/include/geos/algorithm/locate/Makefile.in
index eb1d2ad..038ef3b 100644
--- a/include/geos/algorithm/locate/Makefile.in
+++ b/include/geos/algorithm/locate/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/geom/BinaryOp.h b/include/geos/geom/BinaryOp.h
index 4917af0..3f23651 100644
--- a/include/geos/geom/BinaryOp.h
+++ b/include/geos/geom/BinaryOp.h
@@ -469,12 +469,12 @@ BinaryOp(const Geometry* g0, const Geometry *g1, BinOp _Op)
 		for (double scale=maxScale; scale >= 1; scale /= 10)
 		{
 			PrecisionModel pm(scale);
-			GeometryFactory gf(&pm);
+			GeometryFactory::unique_ptr gf = GeometryFactory::create(&pm);
 #if GEOS_DEBUG_BINARYOP
 			std::cerr << "Trying with scale " << scale << std::endl;
 #endif
 
-			precision::GeometryPrecisionReducer reducer( gf );
+			precision::GeometryPrecisionReducer reducer( *gf );
 			GeomPtr rG0( reducer.reduce(*g0) );
 			GeomPtr rG1( reducer.reduce(*g1) );
 
diff --git a/include/geos/geom/Coordinate.h b/include/geos/geom/Coordinate.h
index a355575..eb0f9db 100644
--- a/include/geos/geom/Coordinate.h
+++ b/include/geos/geom/Coordinate.h
@@ -7,7 +7,7 @@
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
- * by the Free Software Foundation. 
+ * by the Free Software Foundation.
  * See the COPYING file for more information.
  *
  **********************************************************************/
@@ -44,7 +44,7 @@ struct CoordinateLessThen;
  * Unlike objects of type Point (which contain additional
  * information such as an envelope, a precision model, and spatial
  * reference system information), a Coordinate only contains
- * ordinate values and accessor methods. 
+ * ordinate values and accessor methods.
  *
  * Coordinate objects are two-dimensional points, with an additional
  * z-ordinate. JTS does not support any operations on the z-ordinate except
@@ -54,14 +54,14 @@ struct CoordinateLessThen;
  * The standard comparison functions will ignore the z-ordinate.
  *
  */
-// Define the following to make assignments and copy constructions 
+// Define the following to make assignments and copy constructions
 // NON-inline (will let profilers report usages)
 //#define PROFILE_COORDINATE_COPIES 1
 class GEOS_DLL Coordinate {
 
 private:
 
-	static Coordinate nullCoord;
+	static Coordinate _nullCoord;
 
 public:
 	/// A set of const Coordinate pointers
@@ -101,7 +101,7 @@ public:
 	/// TODO: deprecate this, move logic to CoordinateLessThen instead
 	int compareTo(const Coordinate& other) const;
 
-	/// 3D comparison 
+	/// 3D comparison
 	bool equals3D(const Coordinate& other) const;
 
 	///  Returns a string of the form <I>(x,y,z)</I> .
diff --git a/include/geos/geom/Geometry.h b/include/geos/geom/Geometry.h
index 44ec060..f3c2192 100644
--- a/include/geos/geom/Geometry.h
+++ b/include/geos/geom/Geometry.h
@@ -9,7 +9,7 @@
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
- * by the Free Software Foundation. 
+ * by the Free Software Foundation.
  * See the COPYING file for more information.
  *
  **********************************************************************
@@ -147,17 +147,17 @@ enum GeometryTypeId {
  *  that the coordinates of an intersection point may contain twice as many bits
  *  of precision as the coordinates of the input line segments. In order to
  *  represent these constructed points explicitly, JTS must truncate them to fit
- *  the PrecisionModel. 
+ *  the PrecisionModel.
  *
  *  Unfortunately, truncating coordinates moves them slightly. Line segments
  *  which would not be coincident in the exact result may become coincident in
  *  the truncated representation. This in turn leads to "topology collapses" --
  *  situations where a computed element has a lower dimension than it would in
- *  the exact result. 
+ *  the exact result.
  *
  *  When JTS detects topology collapses during the computation of spatial
  *  analysis methods, it will throw an exception. If possible the exception will
- *  report the location of the collapse. 
+ *  report the location of the collapse.
  *
  *  equals(Object) and hashCode are not overridden, so that when two
  *  topologically equal Geometries are added to HashMaps and HashSets, they
@@ -193,7 +193,7 @@ public:
 	 *
 	 * @return the factory for this geometry
 	 */
-	const GeometryFactory* getFactory() const { return factory; }
+	const GeometryFactory* getFactory() const { return _factory; }
 
 	/**
 	* \brief
@@ -201,14 +201,14 @@ public:
 	* a Geometry.
 	* An example use might be to add an object representing a
 	* Coordinate Reference System.
-	* 
+	*
 	* Note that user data objects are not present in geometries created
 	* by construction methods.
 	*
 	* @param newUserData an object, the semantics for which are
 	* defined by the application using this Geometry
 	*/
-	void setUserData(void* newUserData) { userData=newUserData; }
+	void setUserData(void* newUserData) { _userData=newUserData; }
 
 	/**
 	* \brief
@@ -216,7 +216,7 @@ public:
 	*
 	* @return the user data object, or <code>null</code> if none set
 	*/
-	void* getUserData() { return userData; }
+	void* getUserData() const { return _userData; }
 
 	/*
 	 * \brief
@@ -264,7 +264,7 @@ public:
 	virtual std::size_t getNumPoints() const=0; //Abstract
 
 	/// Returns false if the Geometry not simple.
-	virtual bool isSimple() const; 
+	virtual bool isSimple() const;
 
 	/// Return a string representation of this Geometry type
 	virtual std::string getGeometryType() const=0; //Abstract
@@ -308,7 +308,7 @@ public:
 	 * Returns the boundary, or an empty geometry of appropriate
 	 * dimension if this <code>Geometry</code>  is empty.
 	 *
-	 * (In the case of zero-dimensional geometries, 
+	 * (In the case of zero-dimensional geometries,
 	 * an empty GeometryCollection is returned.)
 	 * For a discussion of this function, see the OpenGIS Simple
 	 * Features Specification. As stated in SFS Section 2.1.13.1,
@@ -335,7 +335,7 @@ public:
 
 	/**
 	 * Tests whether this geometry is disjoint from the specified geometry.
-	 * 
+	 *
 	 * The <code>disjoint</code> predicate has the following equivalent
 	 * definitions:
 	 *  - The two geometries have no point in common
@@ -362,7 +362,7 @@ public:
 
 	/**
 	 * Tests whether this geometry crosses the specified geometry.
-	 * 
+	 *
 	 * The <code>crosses</code> predicate has the following equivalent
 	 * definitions:
 	 *  - The geometries have some but not all interior points in common.
@@ -372,7 +372,7 @@ public:
 	 *    - <code>[0********]</code> (for L/L situations)
 	 * For any other combination of dimensions this predicate returns
 	 * <code>false</code>.
-	 * 
+	 *
 	 * The SFS defined this predicate only for P/L, P/A, L/L, and L/A
 	 * situations.
 	 * JTS extends the definition to apply to L/P, A/P and A/L situations
@@ -438,10 +438,10 @@ public:
 	/** \brief
 	 * Returns <code>true</code> if this geometry covers the
 	 * specified geometry.
-	 * 
+	 *
 	 * The <code>covers</code> predicate has the following
 	 * equivalent definitions:
-	 * 
+	 *
 	 * - Every point of the other geometry is a point of this geometry.
 	 * - The DE-9IM Intersection Matrix for the two geometries is
 	 *    <code>T*****FF*</code>
@@ -450,7 +450,7 @@ public:
 	 *    or <code>****T*FF*</code>
 	 * - <code>g.coveredBy(this)</code>
 	 *   (<code>covers</code> is the inverse of <code>coveredBy</code>)
-	 * 
+	 *
 	 * If either geometry is empty, the value of this predicate
 	 * is <tt>false</tt>.
 	 *
@@ -463,10 +463,10 @@ public:
 	 * As an added benefit, <code>covers</code> is more amenable to
 	 * optimization, and hence should be more performant.
 	 *
-	 * @param  g 
+	 * @param  g
 	 *         the <code>Geometry</code> with which to compare this
 	 *         <code>Geometry</code>
-	 * 
+	 *
 	 * @return <code>true</code> if this <code>Geometry</code>
 	 *                           covers <code>g</code>
 	 *
@@ -490,10 +490,10 @@ public:
 	 *    or <code>[**F*TF***]</code>
 	 *  - <code>g.covers(this)</code>
 	 *    (<code>coveredBy</code> is the converse of <code>covers</code>)
-	 * 
+	 *
 	 * If either geometry is empty, the value of this predicate
 	 * is <tt>false</tt>.
-	 * 
+	 *
 	 * This predicate is similar to {@link #within},
 	 * but is more inclusive (i.e. returns <tt>true</tt> for more cases).
 	 *
@@ -514,7 +514,7 @@ public:
 	virtual std::string toString() const;
 
 	virtual std::string toText() const;
-	
+
 	/// Returns a buffer region around this Geometry having the given width.
 	//
 	/// @throws util::TopologyException if a robustness error occurs
@@ -534,7 +534,7 @@ public:
 	 * Computes a buffer area around this geometry having the given
 	 * width and with a specified accuracy of approximation for circular
 	 * arcs, and using a specified end cap style.
-	 * 
+	 *
 	 * Buffer area boundaries can contain circular arcs.
 	 * To represent these arcs using linear geometry they must be
 	 * approximated with line segments.
@@ -542,15 +542,15 @@ public:
 	 * The <code>quadrantSegments</code> argument allows controlling the
 	 * accuracy of the approximation by specifying the number of line
 	 * segments used to represent a quadrant of a circle
-	 * 
+	 *
 	 * The end cap style specifies the buffer geometry that will be
 	 * created at the ends of linestrings.  The styles provided are:
-	 * 
+	 *
 	 * - BufferOp::CAP_ROUND - (default) a semi-circle
 	 * - BufferOp::CAP_BUTT  - a straight line perpendicular to the
 	 *                         end segment
 	 * - BufferOp::CAP_SQUARE - a half-square
-	 * 
+	 *
 	 *
 	 * @param distance the width of the buffer
 	 *                 (may be positive, negative or 0)
@@ -600,9 +600,9 @@ public:
   /**
    * Computes the union of all the elements of this geometry. Heterogeneous
    * {@link GeometryCollection}s are fully supported.
-   * 
+   *
    * The result obeys the following contract:
-   * 
+   *
    * - Unioning a set of {@link LineString}s has the effect of fully noding
    *   and dissolving the linework.
    * - Unioning a set of {@link Polygon}s will always
@@ -656,7 +656,7 @@ public:
 
 	/**
 	 *  Performs an operation on the coordinates in this Geometry's
-	 *  CoordinateSequences.s
+	 *  CoordinateSequences.
 	 *  If the filter reports that a coordinate value has been changed,
 	 *  {@link #geometryChanged} will be called automatically.
 	 *
@@ -676,7 +676,7 @@ public:
 	 * Apply a fiter to each component of this geometry.
 	 * The filter is expected to provide a .filter(const Geometry*)
 	 * method.
-	 * 
+	 *
 	 * I intend similar templated methods to replace
 	 * all the virtual apply_rw and apply_ro functions...
 	 *                --strk(2005-02-06);
@@ -766,7 +766,7 @@ protected:
 
 	/// The bounding box of this Geometry
 	mutable std::auto_ptr<Envelope> envelope;
-	
+
 	/// Returns true if the array contains any non-empty Geometrys.
 	static bool hasNonEmptyElements(const std::vector<Geometry *>* geometries);
 
@@ -844,9 +844,9 @@ private:
 	//
 	/// Externally owned
 	///
-	const GeometryFactory *factory;
+	const GeometryFactory* _factory;
 
-	void* userData;
+	void* _userData;
 };
 
 /// \brief
diff --git a/include/geos/geom/GeometryFactory.h b/include/geos/geom/GeometryFactory.h
index 6579213..1595ddb 100644
--- a/include/geos/geom/GeometryFactory.h
+++ b/include/geos/geom/GeometryFactory.h
@@ -66,12 +66,34 @@ namespace geom { // geos::geom
  */
 class GEOS_DLL GeometryFactory {
 public:
+
+  // TODO: typedef std::unique_ptr<GeometryFactory,destroy>
+  class unique_ptr {
+    mutable GeometryFactory *_f;
+  public:
+    // Copying an auto_unique_ptr transfers ownership
+    unique_ptr(const unique_ptr& o): _f(o.release()) {};
+    GeometryFactory* release() const { GeometryFactory *f = _f; _f=0; return f; }
+    void reset(GeometryFactory* f) { if ( _f ) _f->destroy(); _f = f; }
+    // assigning an auto_unique_ptr transfers ownership
+    unique_ptr& operator=(const unique_ptr& o) {
+      reset( o.release() );
+      return *this;
+    }
+    GeometryFactory* get() const { return _f; }
+    GeometryFactory* operator->() const { return _f; }
+    GeometryFactory& operator*() { return *_f; };
+    unique_ptr(): _f(0) {}
+    unique_ptr(GeometryFactory* f): _f(f) {}
+    ~unique_ptr() { reset(0); }
+  };
+
 	/**
 	 * \brief 
 	 * Constructs a GeometryFactory that generates Geometries having a
 	 * floating PrecisionModel and a spatial-reference ID of 0.
 	 */
-	GeometryFactory();
+	static GeometryFactory::unique_ptr create();
 
 	/**
 	 * \brief
@@ -85,7 +107,7 @@ public:
 	 *     and must be available for the whole lifetime
 	 *     of the GeometryFactory
 	 */
-	GeometryFactory(const PrecisionModel *pm, int newSRID,
+	static GeometryFactory::unique_ptr create(const PrecisionModel *pm, int newSRID,
 		CoordinateSequenceFactory *nCoordinateSequenceFactory);
 
 	/**
@@ -94,7 +116,7 @@ public:
 	 * given CoordinateSequence implementation, a double-precision floating
 	 * PrecisionModel and a spatial-reference ID of 0.
 	 */
-	GeometryFactory(CoordinateSequenceFactory *nCoordinateSequenceFactory);
+	static GeometryFactory::unique_ptr create(CoordinateSequenceFactory *nCoordinateSequenceFactory);
 
 	/**
 	 * \brief
@@ -104,7 +126,7 @@ public:
 	 *
 	 * @param pm the PrecisionModel to use
 	 */
-	GeometryFactory(const PrecisionModel *pm);
+	static GeometryFactory::unique_ptr create(const PrecisionModel *pm);
 
 	/**
 	 * \brief
@@ -112,17 +134,17 @@ public:
 	 * the given {@link PrecisionModel} and spatial-reference ID,
 	 * and the default CoordinateSequence implementation.
 	 *
-	 * @param pm the PrecisionModel to use
+	 * @param pm the PrecisionModel to use, will be copied internally
 	 * @param newSRID the SRID to use
 	 */
-	GeometryFactory(const PrecisionModel* pm, int newSRID);
+	static GeometryFactory::unique_ptr create(const PrecisionModel* pm, int newSRID);
 
 	/**
 	 * \brief Copy constructor
 	 *
 	 * @param gf the GeometryFactory to clone from
 	 */
-	GeometryFactory(const GeometryFactory &gf);
+	static GeometryFactory::unique_ptr create(const GeometryFactory &gf);
 
 	/**
 	 * \brief 
@@ -133,9 +155,6 @@ public:
 	static const GeometryFactory*
 	getDefaultInstance();
 
-	/// Destructor
-	virtual ~GeometryFactory();
-
 //Skipped a lot of list to array convertors
 
 	Point* createPointFromInternalCoord(const Coordinate* coord,
@@ -383,10 +402,91 @@ public:
 	/// Destroy a Geometry, or release it
 	void destroyGeometry(Geometry *g) const;
 
+	/// Request that the instance is deleted.
+  //
+  /// It will really be deleted only after last child Geometry is
+	/// deleted. Do not use the instance anymore after calling this function
+	/// (unless you're a live child!).
+	///
+	void destroy();
+
+protected:
+
+	/**
+	 * \brief 
+	 * Constructs a GeometryFactory that generates Geometries having a
+	 * floating PrecisionModel and a spatial-reference ID of 0.
+	 */
+	GeometryFactory();
+
+	/**
+	 * \brief
+	 * Constructs a GeometryFactory that generates Geometries having
+	 * the given PrecisionModel, spatial-reference ID, and
+	 * CoordinateSequence implementation.
+	 *
+	 * NOTES:
+	 * (1) the given PrecisionModel is COPIED
+	 * (2) the CoordinateSequenceFactory is NOT COPIED
+	 *     and must be available for the whole lifetime
+	 *     of the GeometryFactory
+	 */
+	GeometryFactory(const PrecisionModel *pm, int newSRID,
+		CoordinateSequenceFactory *nCoordinateSequenceFactory);
+
+	/**
+	 * \brief
+	 * Constructs a GeometryFactory that generates Geometries having the
+	 * given CoordinateSequence implementation, a double-precision floating
+	 * PrecisionModel and a spatial-reference ID of 0.
+	 */
+	GeometryFactory(CoordinateSequenceFactory *nCoordinateSequenceFactory);
+
+	/**
+	 * \brief
+	 * Constructs a GeometryFactory that generates Geometries having
+	 * the given PrecisionModel and the default CoordinateSequence
+	 * implementation.
+	 *
+	 * @param pm the PrecisionModel to use
+	 */
+	GeometryFactory(const PrecisionModel *pm);
+
+	/**
+	 * \brief
+	 * Constructs a GeometryFactory that generates Geometries having
+	 * the given {@link PrecisionModel} and spatial-reference ID,
+	 * and the default CoordinateSequence implementation.
+	 *
+	 * @param pm the PrecisionModel to use, will be copied internally
+	 * @param newSRID the SRID to use
+	 */
+	GeometryFactory(const PrecisionModel* pm, int newSRID);
+
+	/**
+	 * \brief Copy constructor
+	 *
+	 * @param gf the GeometryFactory to clone from
+	 */
+	GeometryFactory(const GeometryFactory &gf);
+
+	/// Destructor
+	virtual ~GeometryFactory();
+
 private:
+
 	const PrecisionModel* precisionModel;
 	int SRID;
 	const CoordinateSequenceFactory *coordinateListFactory;
+
+	mutable int _refCount;
+	bool _autoDestroy;
+
+friend class Geometry;
+
+	void addRef() const;
+	void dropRef() const;
+
 };
 
 } // namespace geos::geom
diff --git a/include/geos/geom/LineSegment.h b/include/geos/geom/LineSegment.h
index 3eeda2e..8dd06ed 100644
--- a/include/geos/geom/LineSegment.h
+++ b/include/geos/geom/LineSegment.h
@@ -61,7 +61,7 @@ public:
 
 	Coordinate p0; /// Segment start
 
-	Coordinate p1; /// Segemnt end
+	Coordinate p1; /// Segment end
 
 	LineSegment();
 
@@ -356,7 +356,7 @@ public:
 	 * @return true if an intersection was found, false otherwise
 	 *
 	 */
-	bool lineIntersection(const LineSegment& line, Coordinate& coord) const;
+	bool lineIntersection(const LineSegment& line, Coordinate& ret) const;
 
 	/**
 	 * Creates a LineString with the same coordinates as this segment
diff --git a/include/geos/geom/LineString.h b/include/geos/geom/LineString.h
index 2d0f7a5..3df015a 100644
--- a/include/geos/geom/LineString.h
+++ b/include/geos/geom/LineString.h
@@ -60,12 +60,12 @@ namespace geom { // geos::geom
  *  pair of consecutive vertices.
  *  Consecutive vertices may be equal.
  *  The line segments in the line may intersect each other (in other words,
- *  the linestring may "curl back" in itself and self-intersect.
+ *  the linestring may "curl back" in itself and self-intersect).
  *  Linestrings with exactly two identical points are invalid.
  *  
  *  A linestring must have either 0 or 2 or more points.
  *  If these conditions are not met, the constructors throw
- *  an {@link IllegalArgumentException}
+ *  an {@link IllegalArgumentException}.
  */
 class GEOS_DLL LineString: public virtual Geometry, public Lineal {
 
@@ -79,10 +79,11 @@ public:
 	virtual ~LineString();
 
 	/**
-	 * Creates and returns a full copy of this {@link LineString} object.
-	 * (including all coordinates contained by it).
+	 * \brief
+	 * Creates and returns a full copy of this {@link LineString} object
+	 * (including all coordinates contained by it)
 	 *
-	 * @return a clone of this instance
+	 * @return A clone of this instance
 	 */
 	virtual Geometry *clone() const;
 
@@ -164,7 +165,7 @@ public:
 	 * Normalizes a LineString. 
 	 *
 	 * A normalized linestring
-	 * has the first point which is not equal to it's reflected point
+	 * has the first point which is not equal to its reflected point
 	 * less than the reflected point.
 	 */
 	virtual void normalize();
@@ -178,7 +179,7 @@ public:
 
 	/**
 	 * Creates a LineString whose coordinates are in the reverse
-	 * order of this objects
+	 * order of this object's
 	 *
 	 * @return a LineString with coordinates in the reverse order
 	 */
diff --git a/include/geos/geom/Makefile.in b/include/geos/geom/Makefile.in
index 628fab5..ff95a17 100644
--- a/include/geos/geom/Makefile.in
+++ b/include/geos/geom/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/geom/prep/Makefile.in b/include/geos/geom/prep/Makefile.in
index e1559c6..a450716 100644
--- a/include/geos/geom/prep/Makefile.in
+++ b/include/geos/geom/prep/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/geom/util/Makefile.in b/include/geos/geom/util/Makefile.in
index af49cfd..86bd032 100644
--- a/include/geos/geom/util/Makefile.in
+++ b/include/geos/geom/util/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/geomgraph/EdgeEnd.h b/include/geos/geomgraph/EdgeEnd.h
index 4cbf56d..c775b78 100644
--- a/include/geos/geomgraph/EdgeEnd.h
+++ b/include/geos/geomgraph/EdgeEnd.h
@@ -92,6 +92,8 @@ public:
 
 	virtual geom::Coordinate& getCoordinate();
 
+	const geom::Coordinate& getCoordinate() const { return p0; }
+
 	virtual geom::Coordinate& getDirectedCoordinate();
 
 	virtual int getQuadrant();
@@ -126,7 +128,7 @@ public:
 
 	virtual void computeLabel(const algorithm::BoundaryNodeRule& bnr);
 
-	virtual std::string print();
+	virtual std::string print() const;
 
 protected:
 
diff --git a/include/geos/geomgraph/EdgeEndStar.h b/include/geos/geomgraph/EdgeEndStar.h
index 7a65391..5c0a86d 100644
--- a/include/geos/geomgraph/EdgeEndStar.h
+++ b/include/geos/geomgraph/EdgeEndStar.h
@@ -66,6 +66,7 @@ public:
 	typedef std::set<EdgeEnd *, EdgeEndLT> container;
 
 	typedef container::iterator iterator;
+	typedef container::const_iterator const_iterator;
 	typedef container::reverse_iterator reverse_iterator;
 
 	EdgeEndStar();
@@ -86,6 +87,8 @@ public:
 	 */
 	virtual geom::Coordinate& getCoordinate();
 
+	const geom::Coordinate& getCoordinate() const;
+
 	virtual std::size_t getDegree();
 
 	virtual iterator begin();
@@ -96,8 +99,11 @@ public:
 
 	virtual reverse_iterator rend();
 
-	virtual container &getEdges();
+	virtual const_iterator begin() const { return edgeMap.begin(); }
 
+	virtual const_iterator end() const { return edgeMap.end(); }
+
+	virtual container &getEdges();
 
 	virtual EdgeEnd* getNextCW(EdgeEnd *ee);
 
@@ -112,7 +118,7 @@ public:
 	//virtual int findIndex(EdgeEnd *eSearch);
 	virtual iterator find(EdgeEnd *eSearch);
 
-	virtual std::string print();
+	virtual std::string print() const;
 
 protected:
 
@@ -187,6 +193,7 @@ EdgeEndStar::find(EdgeEnd *eSearch)
 	return edgeMap.find(eSearch);
 }
 
+std::ostream& operator<< (std::ostream&, const EdgeEndStar&);
 
 } // namespace geos.geomgraph
 } // namespace geos
diff --git a/include/geos/geomgraph/GeometryGraph.h b/include/geos/geomgraph/GeometryGraph.h
index 510f5be..9b533b4 100644
--- a/include/geos/geomgraph/GeometryGraph.h
+++ b/include/geos/geomgraph/GeometryGraph.h
@@ -219,12 +219,25 @@ public:
 		return computeSelfNodes(*li, computeRingSelfNodes, env);
 	}
 
+	index::SegmentIntersector* computeSelfNodes(
+			algorithm::LineIntersector *li,
+			bool computeRingSelfNodes,
+			bool isDoneIfProperInt,
+			const geom::Envelope *env=0)
+	{
+		return computeSelfNodes(*li, computeRingSelfNodes, isDoneIfProperInt, env);
+	}
+
 	// Quick inline calling the function above, the above should probably
 	// be deprecated.
 	index::SegmentIntersector* computeSelfNodes(
 			algorithm::LineIntersector& li,
 			bool computeRingSelfNodes, const geom::Envelope *env=0);
 
+	index::SegmentIntersector* computeSelfNodes(
+			algorithm::LineIntersector& li,
+			bool computeRingSelfNodes, bool isDoneIfProperInt, const geom::Envelope *env=0);
+
 	index::SegmentIntersector* computeEdgeIntersections(GeometryGraph *g,
 		algorithm::LineIntersector *li, bool includeProper,
 		const geom::Envelope *env=0);
diff --git a/include/geos/geomgraph/Makefile.in b/include/geos/geomgraph/Makefile.in
index 913a9c0..fef95ca 100644
--- a/include/geos/geomgraph/Makefile.in
+++ b/include/geos/geomgraph/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/geomgraph/index/Makefile.in b/include/geos/geomgraph/index/Makefile.in
index 82159e4..079de3e 100644
--- a/include/geos/geomgraph/index/Makefile.in
+++ b/include/geos/geomgraph/index/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/geomgraph/index/SegmentIntersector.h b/include/geos/geomgraph/index/SegmentIntersector.h
index e6f6179..d5150e6 100644
--- a/include/geos/geomgraph/index/SegmentIntersector.h
+++ b/include/geos/geomgraph/index/SegmentIntersector.h
@@ -56,6 +56,10 @@ private:
 
 	bool hasProperInterior;
 
+	bool isDone;
+	
+	bool isDoneWhenProperInt;
+
 	// the proper intersection point found
 	geom::Coordinate properIntersectionPoint;
 
@@ -99,6 +103,8 @@ public:
 		hasIntersectionVar(false),
 		hasProper(false),
 		hasProperInterior(false),
+		isDone(false),
+		isDoneWhenProperInt(false),
 		li(newLi),
 		includeProper(newIncludeProper),
 		recordIsolated(newRecordIsolated),
@@ -123,6 +129,10 @@ public:
 
 	void addIntersections(Edge *e0, int segIndex0, Edge *e1, int segIndex1);
 
+	void setIsDoneIfProperInt(bool isDoneWhenProperInt);
+
+	bool getIsDone();
+	
 };
 
 } // namespace geos.geomgraph.index
diff --git a/include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h b/include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h
index 5a4f647..a73bd00 100644
--- a/include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h
+++ b/include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h
@@ -20,6 +20,7 @@
 #include <vector>
 
 #include <geos/geomgraph/index/EdgeSetIntersector.h> // for inheritance
+#include <geos/geomgraph/index/SegmentIntersector.h>
 
 #ifdef _MSC_VER
 #pragma warning(push)
@@ -31,7 +32,7 @@ namespace geos {
 	namespace geomgraph {
 		class Edge;
 		namespace index {
-			class SegmentIntersector;
+			// class SegmentIntersector;
 			class SweepLineEvent;
 		}
 	}
diff --git a/include/geos/index/Makefile.in b/include/geos/index/Makefile.in
index f131fa8..c06ec73 100644
--- a/include/geos/index/Makefile.in
+++ b/include/geos/index/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/index/bintree/Makefile.in b/include/geos/index/bintree/Makefile.in
index d78fc4f..3ad231c 100644
--- a/include/geos/index/bintree/Makefile.in
+++ b/include/geos/index/bintree/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/index/chain/Makefile.in b/include/geos/index/chain/Makefile.in
index 54679c6..a921309 100644
--- a/include/geos/index/chain/Makefile.in
+++ b/include/geos/index/chain/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/index/intervalrtree/Makefile.in b/include/geos/index/intervalrtree/Makefile.in
index f35dd8d..34e8f84 100644
--- a/include/geos/index/intervalrtree/Makefile.in
+++ b/include/geos/index/intervalrtree/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/index/quadtree/Makefile.in b/include/geos/index/quadtree/Makefile.in
index bac2290..82b11f5 100644
--- a/include/geos/index/quadtree/Makefile.in
+++ b/include/geos/index/quadtree/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/index/strtree/BoundablePair.h b/include/geos/index/strtree/BoundablePair.h
new file mode 100644
index 0000000..0e13823
--- /dev/null
+++ b/include/geos/index/strtree/BoundablePair.h
@@ -0,0 +1,114 @@
+/**********************************************************************
+ *
+ * GEOS - Geometry Engine Open Source
+ * http://geos.osgeo.org
+ *
+ * Copyright (C) 2016 Daniel Baston
+ *
+ * This is free software; you can redistribute and/or modify it under
+ * the terms of the GNU Lesser General Public Licence as published
+ * by the Free Software Foundation.
+ * See the COPYING file for more information.
+ *
+ **********************************************************************
+ *
+ * Last port: index/strtree/BoundablePair.java (JTS-1.14)
+ *
+ **********************************************************************/
+
+#ifndef GEOS_INDEX_STRTREE_BOUNDABLEPAIR_H
+#define GEOS_INDEX_STRTREE_BOUNDABLEPAIR_H
+
+#include <geos/index/strtree/Boundable.h>
+#include <geos/index/strtree/ItemDistance.h>
+#include <queue>
+
+/**
+ * A pair of {@link Boundable}s, whose leaf items
+ * support a distance metric between them.
+ * Used to compute the distance between the members,
+ * and to expand a member relative to the other
+ * in order to produce new branches of the
+ * Branch-and-Bound evaluation tree.
+ * Provides an ordering based on the distance between the members,
+ * which allows building a priority queue by minimum distance.
+ *
+ * @author Martin Davis
+ *
+ */
+
+using namespace geos::index::strtree;
+
+
+namespace geos {
+namespace index {
+namespace strtree {
+class BoundablePair {
+	private:
+		const Boundable* boundable1;
+		const Boundable* boundable2;
+		ItemDistance* itemDistance;
+		double mDistance;
+
+	public:
+		struct BoundablePairQueueCompare {
+			bool operator()(const BoundablePair* a, const BoundablePair* b) {
+				return a->getDistance() > b->getDistance();
+			}
+		};
+
+		typedef std::priority_queue<BoundablePair*, std::vector<BoundablePair*>, BoundablePairQueueCompare> BoundablePairQueue;
+		BoundablePair(const Boundable* boundable1, const Boundable* boundable2, ItemDistance* itemDistance);
+
+		/**
+		 * Gets one of the member {@link Boundable}s in the pair
+		 * (indexed by [0, 1]).
+		 *
+		 * @param i the index of the member to return (0 or 1)
+		 * @return the chosen member
+		 */
+		const Boundable* getBoundable(int i) const;
+
+		/**
+		 * Computes the distance between the {@link Boundable}s in this pair.
+		 * The boundables are either composites or leaves.
+		 * If either is composite, the distance is computed as the minimum distance
+		 * between the bounds.
+		 * If both are leaves, the distance is computed by {@link #itemDistance(ItemBoundable, ItemBoundable)}.
+		 *
+		 * @return
+		 */
+		double distance() const;
+
+		/**
+		 * Gets the minimum possible distance between the Boundables in
+		 * this pair.
+		 * If the members are both items, this will be the
+		 * exact distance between them.
+		 * Otherwise, this distance will be a lower bound on
+		 * the distances between the items in the members.
+		 *
+		 * @return the exact or lower bound distance for this pair
+		 */
+		double getDistance() const;
+
+		/**
+		 * Tests if both elements of the pair are leaf nodes
+		 *
+		 * @return true if both pair elements are leaf nodes
+		 */
+		bool isLeaves() const;
+
+		static bool isComposite(const Boundable* item);
+
+		static double area(const Boundable* b);
+
+		void expandToQueue(BoundablePairQueue &, double minDistance);
+		void expand(const Boundable* bndComposite, const Boundable* bndOther, BoundablePairQueue & priQ, double minDistance);
+};
+}
+}
+}
+
+#endif
+
diff --git a/include/geos/index/strtree/GeometryItemDistance.h b/include/geos/index/strtree/GeometryItemDistance.h
new file mode 100644
index 0000000..e9a97e5
--- /dev/null
+++ b/include/geos/index/strtree/GeometryItemDistance.h
@@ -0,0 +1,45 @@
+/**********************************************************************
+ *
+ * GEOS - Geometry Engine Open Source
+ * http://geos.osgeo.org
+ *
+ * Copyright (C) 2016 Daniel Baston
+ *
+ * This is free software; you can redistribute and/or modify it under
+ * the terms of the GNU Lesser General Public Licence as published
+ * by the Free Software Foundation.
+ * See the COPYING file for more information.
+ *
+ **********************************************************************
+ *
+ * Last port: index/strtree/GeometryItemDistance.java (JTS-1.14)
+ *
+ **********************************************************************/
+
+#ifndef GEOS_INDEX_STRTREE_GEOMETRYITEMDISTANCE_H
+#define GEOS_INDEX_STRTREE_GEOMETRYITEMDISTANCE_H
+
+#include <geos/geom/Geometry.h>
+#include <geos/index/strtree/ItemDistance.h>
+
+namespace geos {
+namespace index {
+namespace strtree {
+class GEOS_DLL GeometryItemDistance : public ItemDistance {
+public:
+	/**
+	 * Computes the distance between two {@link Geometry} items,
+	 * using the {@link Geometry#distance(Geometry)} method.
+	 *
+	 * @param item1 an item which is a Geometry
+	 * @param item2 an item which is a Geometry
+	 * @return the distance between the geometries
+	 * @throws ClassCastException if either item is not a Geometry
+	 */
+	double distance(const ItemBoundable* item1, const ItemBoundable* item2);
+};
+}
+}
+}
+
+#endif //GEOS_GEOMETRYITEMDISTANCE_H
diff --git a/include/geos/index/strtree/ItemDistance.h b/include/geos/index/strtree/ItemDistance.h
new file mode 100644
index 0000000..54de9f4
--- /dev/null
+++ b/include/geos/index/strtree/ItemDistance.h
@@ -0,0 +1,44 @@
+/**********************************************************************
+ *
+ * GEOS - Geometry Engine Open Source
+ * http://geos.osgeo.org
+ *
+ * Copyright (C) 2016 Daniel Baston
+ *
+ * This is free software; you can redistribute and/or modify it under
+ * the terms of the GNU Lesser General Public Licence as published
+ * by the Free Software Foundation.
+ * See the COPYING file for more information.
+ *
+ **********************************************************************
+ *
+ * Last port: index/strtree/ItemDistance.java (JTS-1.14)
+ *
+ **********************************************************************/
+
+#ifndef GEOS_INDEX_STRTREE_ITEMDISTANCE_H
+#define GEOS_INDEX_STRTREE_ITEMDISTANCE_H
+
+#include <geos/index/strtree/ItemBoundable.h>
+
+namespace geos {
+namespace index {
+namespace strtree {
+class GEOS_DLL ItemDistance {
+public:
+	/**
+	 * Computes the distance between two items.
+	 *
+	 * @param item1
+	 * @param item2
+	 * @return the distance between the items
+	 *
+	 * @throws IllegalArgumentException if the metric is not applicable to the arguments
+	 */
+	virtual double distance(const ItemBoundable* item1, const ItemBoundable* item2) = 0;
+};
+}
+}
+}
+
+#endif //GEOS_ITEMDISTANCE_H
diff --git a/include/geos/index/strtree/Makefile.am b/include/geos/index/strtree/Makefile.am
index 80f0ebb..a5e3f29 100644
--- a/include/geos/index/strtree/Makefile.am
+++ b/include/geos/index/strtree/Makefile.am
@@ -11,7 +11,10 @@ geos_HEADERS = \
     AbstractNode.h \
     AbstractSTRtree.h \
     Boundable.h \
+    BoundablePair.h \
+    GeometryItemDistance.h \
     Interval.h \
     ItemBoundable.h \
+    ItemDistance.h \
     SIRtree.h \
     STRtree.h
diff --git a/include/geos/index/strtree/Makefile.in b/include/geos/index/strtree/Makefile.in
index d39f0fc..c5fe28e 100644
--- a/include/geos/index/strtree/Makefile.in
+++ b/include/geos/index/strtree/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -403,8 +401,11 @@ geos_HEADERS = \
     AbstractNode.h \
     AbstractSTRtree.h \
     Boundable.h \
+    BoundablePair.h \
+    GeometryItemDistance.h \
     Interval.h \
     ItemBoundable.h \
+    ItemDistance.h \
     SIRtree.h \
     STRtree.h
 
diff --git a/include/geos/index/strtree/STRtree.h b/include/geos/index/strtree/STRtree.h
index 5ea5888..f06f97a 100644
--- a/include/geos/index/strtree/STRtree.h
+++ b/include/geos/index/strtree/STRtree.h
@@ -20,6 +20,8 @@
 #define GEOS_INDEX_STRTREE_STRTREE_H
 
 #include <geos/export.h>
+#include <geos/index/strtree/ItemDistance.h>
+#include <geos/index/strtree/BoundablePair.h>
 #include <geos/index/strtree/AbstractSTRtree.h> // for inheritance
 #include <geos/index/SpatialIndex.h> // for inheritance
 #include <geos/geom/Envelope.h> // for inlines
@@ -137,6 +139,11 @@ public:
 		return AbstractSTRtree::query(searchEnv, visitor);
 	}
 
+	const void* nearestNeighbour(const geom::Envelope *env, const void* item, ItemDistance* itemDist);
+	std::pair<const void*, const void*> nearestNeighbour(BoundablePair* initBndPair);
+	std::pair<const void*, const void*> nearestNeighbour(ItemDistance* itemDist);
+	std::pair<const void*, const void*> nearestNeighbour(BoundablePair* initBndPair, double maxDistance);
+
 	bool remove(const geom::Envelope *itemEnv, void* item) {
 		return AbstractSTRtree::remove(itemEnv, item);
 	}
diff --git a/include/geos/index/sweepline/Makefile.in b/include/geos/index/sweepline/Makefile.in
index b6a99d3..537ae92 100644
--- a/include/geos/index/sweepline/Makefile.in
+++ b/include/geos/index/sweepline/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/io/Makefile.in b/include/geos/io/Makefile.in
index 0f0a993..8a73189 100644
--- a/include/geos/io/Makefile.in
+++ b/include/geos/io/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/linearref/Makefile.in b/include/geos/linearref/Makefile.in
index f6724e4..41a64ce 100644
--- a/include/geos/linearref/Makefile.in
+++ b/include/geos/linearref/Makefile.in
@@ -255,9 +255,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -338,6 +335,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/noding/Makefile.in b/include/geos/noding/Makefile.in
index 6dccd58..254f4da 100644
--- a/include/geos/noding/Makefile.in
+++ b/include/geos/noding/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/noding/snapround/Makefile.in b/include/geos/noding/snapround/Makefile.in
index 837d6e4..14590dc 100644
--- a/include/geos/noding/snapround/Makefile.in
+++ b/include/geos/noding/snapround/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/operation/Makefile.in b/include/geos/operation/Makefile.in
index 656ee5b..377a39b 100644
--- a/include/geos/operation/Makefile.in
+++ b/include/geos/operation/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/operation/buffer/Makefile.in b/include/geos/operation/buffer/Makefile.in
index 85775c0..ff8b74a 100644
--- a/include/geos/operation/buffer/Makefile.in
+++ b/include/geos/operation/buffer/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/operation/distance/FacetSequence.h b/include/geos/operation/distance/FacetSequence.h
new file mode 100644
index 0000000..ea16e85
--- /dev/null
+++ b/include/geos/operation/distance/FacetSequence.h
@@ -0,0 +1,66 @@
+/**********************************************************************
+ *
+ * GEOS - Geometry Engine Open Source
+ * http://geos.osgeo.org
+ *
+ * Copyright (C) 2016 Daniel Baston
+ *
+ * This is free software; you can redistribute and/or modify it under
+ * the terms of the GNU Lesser General Public Licence as published
+ * by the Free Software Foundation.
+ * See the COPYING file for more information.
+ *
+ **********************************************************************
+ *
+ * Last port: operation/distance/FacetSequence.java (f6187ee2 JTS-1.14)
+ *
+ **********************************************************************/
+
+#ifndef GEOS_OPERATION_DISTANCE_FACETSEQUENCE_H
+#define GEOS_OPERATION_DISTANCE_FACETSEQUENCE_H
+
+#include <geos/geom/CoordinateSequence.h>
+#include <geos/geom/Envelope.h>
+#include <geos/geom/Coordinate.h>
+
+using namespace geos::geom;
+
+namespace geos {
+    namespace operation {
+        namespace distance {
+            class FacetSequence {
+            private:
+                const CoordinateSequence *pts;
+                const size_t start;
+                const size_t end;
+
+                /* Unlike JTS, we store the envelope in the FacetSequence so that it has a clear owner.  This is
+                 * helpful when making a tree of FacetSequence objects (FacetSequenceTreeBuilder)
+                 * */
+                Envelope env;
+
+                double computeLineLineDistance(const FacetSequence & facetSeq) const;
+
+                double computePointLineDistance(const Coordinate & pt, const FacetSequence & facetSeq) const;
+
+                void computeEnvelope();
+
+            public:
+                const Envelope * getEnvelope() const;
+
+                const Coordinate * getCoordinate(size_t index) const;
+
+                size_t size() const;
+
+                bool isPoint() const;
+
+                double distance(const FacetSequence & facetSeq);
+
+                FacetSequence(const CoordinateSequence *pts, size_t start, size_t end);
+            };
+
+        }
+    }
+}
+
+#endif //GEOS_OPERATION_DISTANCE_FACETSEQUENCE_H
diff --git a/include/geos/operation/distance/FacetSequenceTreeBuilder.h b/include/geos/operation/distance/FacetSequenceTreeBuilder.h
new file mode 100644
index 0000000..4919ab0
--- /dev/null
+++ b/include/geos/operation/distance/FacetSequenceTreeBuilder.h
@@ -0,0 +1,52 @@
+/**********************************************************************
+ *
+ * GEOS - Geometry Engine Open Source
+ * http://geos.osgeo.org
+ *
+ * Copyright (C) 2016 Daniel Baston
+ *
+ * This is free software; you can redistribute and/or modify it under
+ * the terms of the GNU Lesser General Public Licence as published
+ * by the Free Software Foundation.
+ * See the COPYING file for more information.
+ *
+ **********************************************************************
+ *
+ * Last port: operation/distance/FacetSequenceTreeBuilder.java (f6187ee2 JTS-1.14)
+ *
+ **********************************************************************/
+
+#ifndef GEOS_OPERATION_DISTANCE_FACETSEQUENCETREEBUILDER_H
+#define GEOS_OPERATION_DISTANCE_FACETSEQUENCETREEBUILDER_H
+
+#include <geos/index/strtree/STRtree.h>
+#include <geos/geom/Geometry.h>
+#include <geos/geom/CoordinateSequence.h>
+#include <geos/operation/distance/FacetSequence.h>
+
+using namespace geos::geom;
+using namespace geos::index::strtree;
+using namespace geos::operation::distance;
+
+namespace geos {
+    namespace operation {
+        namespace distance {
+            class FacetSequenceTreeBuilder {
+            private:
+                // 6 seems to be a good facet sequence size
+                static const int FACET_SEQUENCE_SIZE = 6;
+
+                // Seems to be better to use a minimum node capacity
+                static const int STR_TREE_NODE_CAPACITY = 4;
+
+                static void addFacetSequences(const CoordinateSequence* pts, std::vector<FacetSequence*> & sections);
+                static std::vector<FacetSequence*> * computeFacetSequences(const Geometry* g);
+
+            public:
+                static STRtree* build(const Geometry* g);
+            };
+        }
+    }
+}
+
+#endif //GEOS_FACETSEQUENCETREEBUILDER_H
diff --git a/include/geos/operation/distance/Makefile.am b/include/geos/operation/distance/Makefile.am
index 18cb443..a93fce9 100644
--- a/include/geos/operation/distance/Makefile.am
+++ b/include/geos/operation/distance/Makefile.am
@@ -11,4 +11,6 @@ geos_HEADERS = \
 	ConnectedElementLocationFilter.h \
 	ConnectedElementPointFilter.h \
 	DistanceOp.h \
+	FacetSequence.h \
+	FacetSequenceTreeBuilder.h \
 	GeometryLocation.h
diff --git a/include/geos/operation/distance/Makefile.in b/include/geos/operation/distance/Makefile.in
index 4675f6f..d6bb41c 100644
--- a/include/geos/operation/distance/Makefile.in
+++ b/include/geos/operation/distance/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -362,6 +360,8 @@ geos_HEADERS = \
 	ConnectedElementLocationFilter.h \
 	ConnectedElementPointFilter.h \
 	DistanceOp.h \
+	FacetSequence.h \
+	FacetSequenceTreeBuilder.h \
 	GeometryLocation.h
 
 all: all-am
diff --git a/include/geos/operation/intersection/Makefile.in b/include/geos/operation/intersection/Makefile.in
index 3d6daa1..ad48660 100644
--- a/include/geos/operation/intersection/Makefile.in
+++ b/include/geos/operation/intersection/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/operation/linemerge/Makefile.in b/include/geos/operation/linemerge/Makefile.in
index a54aecd..865f79d 100644
--- a/include/geos/operation/linemerge/Makefile.in
+++ b/include/geos/operation/linemerge/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/operation/overlay/Makefile.in b/include/geos/operation/overlay/Makefile.in
index 3835797..a671c1d 100644
--- a/include/geos/operation/overlay/Makefile.in
+++ b/include/geos/operation/overlay/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/operation/overlay/snap/LineStringSnapper.h b/include/geos/operation/overlay/snap/LineStringSnapper.h
index 3787248..2cbdf1d 100644
--- a/include/geos/operation/overlay/snap/LineStringSnapper.h
+++ b/include/geos/operation/overlay/snap/LineStringSnapper.h
@@ -8,7 +8,7 @@
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
- * by the Free Software Foundation. 
+ * by the Free Software Foundation.
  * See the COPYING file for more information.
  *
  ***********************************************************************
@@ -28,7 +28,7 @@
 
 // Forward declarations
 namespace geos {
-	namespace geom { 
+	namespace geom {
 		//class PrecisionModel;
 		//class CoordinateSequence;
 		class CoordinateList;
@@ -102,7 +102,7 @@ private:
    * Source segments are "cracked" at a snap vertex.
    * A single input segment may be snapped several times
    * to different snap vertices.
-   * 
+   *
    * For each distinct snap vertex, at most one source segment
    * is snapped to.  This prevents "cracking" multiple segments
    * at the same point, which would likely cause
diff --git a/include/geos/operation/overlay/snap/Makefile.in b/include/geos/operation/overlay/snap/Makefile.in
index 5cf3354..2b1defd 100644
--- a/include/geos/operation/overlay/snap/Makefile.in
+++ b/include/geos/operation/overlay/snap/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/operation/polygonize/Makefile.in b/include/geos/operation/polygonize/Makefile.in
index 74b17ea..9cddecd 100644
--- a/include/geos/operation/polygonize/Makefile.in
+++ b/include/geos/operation/polygonize/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/operation/predicate/Makefile.in b/include/geos/operation/predicate/Makefile.in
index b8764f8..337d885 100644
--- a/include/geos/operation/predicate/Makefile.in
+++ b/include/geos/operation/predicate/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/operation/relate/Makefile.in b/include/geos/operation/relate/Makefile.in
index 5dd0a8b..2e0f792 100644
--- a/include/geos/operation/relate/Makefile.in
+++ b/include/geos/operation/relate/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/operation/sharedpaths/Makefile.in b/include/geos/operation/sharedpaths/Makefile.in
index c511eb6..45f2b41 100644
--- a/include/geos/operation/sharedpaths/Makefile.in
+++ b/include/geos/operation/sharedpaths/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/operation/union/Makefile.in b/include/geos/operation/union/Makefile.in
index 55787a2..fb6795d 100644
--- a/include/geos/operation/union/Makefile.in
+++ b/include/geos/operation/union/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/operation/valid/ConnectedInteriorTester.h b/include/geos/operation/valid/ConnectedInteriorTester.h
index 6bd8161..119df7f 100644
--- a/include/geos/operation/valid/ConnectedInteriorTester.h
+++ b/include/geos/operation/valid/ConnectedInteriorTester.h
@@ -23,6 +23,7 @@
 #include <geos/export.h>
 
 #include <geos/geom/Coordinate.h> // for composition
+#include <geos/geom/GeometryFactory.h> // for GeometryFactory::unique_ptr
 
 #include <vector>
 
@@ -83,7 +84,7 @@ protected:
 
 private:
 
-	geom::GeometryFactory *geometryFactory;
+	geom::GeometryFactory::unique_ptr geometryFactory;
 
 	geomgraph::GeometryGraph &geomGraph;
 
diff --git a/include/geos/operation/valid/Makefile.in b/include/geos/operation/valid/Makefile.in
index fae15bd..e27192d 100644
--- a/include/geos/operation/valid/Makefile.in
+++ b/include/geos/operation/valid/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/planargraph/Makefile.in b/include/geos/planargraph/Makefile.in
index ca57d68..5212e84 100644
--- a/include/geos/planargraph/Makefile.in
+++ b/include/geos/planargraph/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/planargraph/algorithm/Makefile.in b/include/geos/planargraph/algorithm/Makefile.in
index fb595f5..caad358 100644
--- a/include/geos/planargraph/algorithm/Makefile.in
+++ b/include/geos/planargraph/algorithm/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/platform.h.cmake b/include/geos/platform.h.cmake
index f6f5d16..035a48a 100644
--- a/include/geos/platform.h.cmake
+++ b/include/geos/platform.h.cmake
@@ -19,6 +19,12 @@
 #ifndef GEOS_PLATFORM_H_INCLUDED
 #define GEOS_PLATFORM_H_INCLUDED
 
+#ifdef _MSC_VER
+#ifndef NOMINMAX
+#define NOMINMAX 1
+#endif
+#endif
+
 /* Disable inclusion of platform.h not generated by CMake */
 #define GEOS_PLATFORM_H 1
 
diff --git a/include/geos/platform.h.in b/include/geos/platform.h.in
index d8d4558..c3bc9c8 100644
--- a/include/geos/platform.h.in
+++ b/include/geos/platform.h.in
@@ -86,7 +86,7 @@ extern "C"
 #endif
 
 #if defined(HAVE_ISNAN)
-# define ISNAN(x) (isnan(x))
+# define ISNAN(x) (std::isnan(x))
 #else
 # if defined(_MSC_VER)
 #  define ISNAN(x) _isnan(x)
diff --git a/include/geos/precision/GeometryPrecisionReducer.h b/include/geos/precision/GeometryPrecisionReducer.h
index 3721d5a..4bc7905 100644
--- a/include/geos/precision/GeometryPrecisionReducer.h
+++ b/include/geos/precision/GeometryPrecisionReducer.h
@@ -20,6 +20,7 @@
 #define GEOS_PRECISION_GEOMETRYPRECISIONREDUCER_H
 
 #include <geos/export.h>
+#include <geos/geom/GeometryFactory.h> // for GeometryFactory::unique_ptr
 #include <memory> // for auto_ptr
 
 // Forward declarations
@@ -57,7 +58,7 @@ private:
   std::auto_ptr<geom::Geometry> fixPolygonalTopology(
                                                  const geom::Geometry& geom );
 
-  std::auto_ptr<geom::GeometryFactory> createFactory(
+  geom::GeometryFactory::unique_ptr createFactory(
                                           const geom::GeometryFactory& oldGF,
                                           const geom::PrecisionModel& newPM );
 
diff --git a/include/geos/precision/Makefile.am b/include/geos/precision/Makefile.am
index 5c76288..6f88675 100644
--- a/include/geos/precision/Makefile.am
+++ b/include/geos/precision/Makefile.am
@@ -13,5 +13,6 @@ geos_HEADERS = \
     CommonBitsRemover.h \
     EnhancedPrecisionOp.h \
     GeometryPrecisionReducer.h \
+    MinimumClearance.h \
     PrecisionReducerCoordinateOperation.h \
     SimpleGeometryPrecisionReducer.h
diff --git a/include/geos/precision/Makefile.in b/include/geos/precision/Makefile.in
index 830a7c1..7ce10b3 100644
--- a/include/geos/precision/Makefile.in
+++ b/include/geos/precision/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -364,6 +362,7 @@ geos_HEADERS = \
     CommonBitsRemover.h \
     EnhancedPrecisionOp.h \
     GeometryPrecisionReducer.h \
+    MinimumClearance.h \
     PrecisionReducerCoordinateOperation.h \
     SimpleGeometryPrecisionReducer.h
 
diff --git a/include/geos/precision/MinimumClearance.h b/include/geos/precision/MinimumClearance.h
new file mode 100644
index 0000000..5724c18
--- /dev/null
+++ b/include/geos/precision/MinimumClearance.h
@@ -0,0 +1,60 @@
+/**********************************************************************
+ *
+ * GEOS - Geometry Engine Open Source
+ * http://geos.osgeo.org
+ *
+ * Copyright (C) 2016 Daniel Baston
+ *
+ * This is free software; you can redistribute and/or modify it under
+ * the terms of the GNU Lesser General Public Licence as published
+ * by the Free Software Foundation.
+ * See the COPYING file for more information.
+ *
+ **********************************************************************
+ *
+ * Last port: precision/MinimumClearance.java (f6187ee2 JTS-1.14)
+ *
+ **********************************************************************/
+
+#ifndef GEOS_PRECISION_MINIMUMCLEARANCE_H
+#define GEOS_PRECISION_MINIMUMCLEARANCE_H
+
+#include <geos/geom/Geometry.h>
+#include <geos/geom/LineString.h>
+#include <geos/geom/CoordinateSequence.h>
+
+namespace geos {
+namespace precision {
+class GEOS_DLL MinimumClearance {
+    private:
+        const geom::Geometry* inputGeom;
+        double minClearance;
+        std::auto_ptr<geom::CoordinateSequence> minClearancePts;
+
+        void compute();
+    public:
+        MinimumClearance(const geom::Geometry* g);
+
+        /**
+         * Gets the Minimum Clearance distance.
+         *
+         * @return the value of the minimum clearance distance
+         * or <tt>DBL_MAX</tt> if no Minimum Clearance distance exists
+         */
+        double getDistance();
+
+        /**
+         * Gets a LineString containing two points
+         * which are at the Minimum Clearance distance.
+         *
+         * @return the value of the minimum clearance distance
+         * or <tt>LINESTRING EMPTY</tt> if no Minimum Clearance distance exists
+         */
+        std::auto_ptr<geom::LineString> getLine();
+};
+}
+}
+
+#endif
+
+
diff --git a/include/geos/simplify/Makefile.in b/include/geos/simplify/Makefile.in
index e8e5ce2..5c4d825 100644
--- a/include/geos/simplify/Makefile.in
+++ b/include/geos/simplify/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/timeval.h b/include/geos/timeval.h
index e006d3b..67c3437 100644
--- a/include/geos/timeval.h
+++ b/include/geos/timeval.h
@@ -18,10 +18,22 @@
 #ifndef GEOS_TIMEVAL_H
 #define GEOS_TIMEVAL_H
 
+#if !defined(_WIN32)
+#error This header is dedicated to Windows platform only
+#endif
+
 #ifndef WIN32_LEAN_AND_MEAN
 #define WIN32_LEAN_AND_MEAN
 #endif
 
+#ifndef NOMINMAX
+#define NOMINMAX
+#endif
+
+#ifndef STRICT
+#define STRICT
+#endif
+
 #include <winsock2.h>
 #include <time.h>
 
diff --git a/include/geos/triangulate/Makefile.in b/include/geos/triangulate/Makefile.in
index deec3c6..d51e171 100644
--- a/include/geos/triangulate/Makefile.in
+++ b/include/geos/triangulate/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/triangulate/quadedge/Makefile.in b/include/geos/triangulate/quadedge/Makefile.in
index 6ae41b1..516756e 100644
--- a/include/geos/triangulate/quadedge/Makefile.in
+++ b/include/geos/triangulate/quadedge/Makefile.in
@@ -297,9 +297,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -380,6 +377,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/triangulate/quadedge/QuadEdgeSubdivision.h b/include/geos/triangulate/quadedge/QuadEdgeSubdivision.h
index bbf4547..d36f172 100644
--- a/include/geos/triangulate/quadedge/QuadEdgeSubdivision.h
+++ b/include/geos/triangulate/quadedge/QuadEdgeSubdivision.h
@@ -78,7 +78,7 @@ const double EDGE_COINCIDENCE_TOL_FACTOR = 1000;
  */
 class GEOS_DLL QuadEdgeSubdivision {
 public:
-	typedef std::list<QuadEdge*> QuadEdgeList;
+	typedef std::vector<QuadEdge*> QuadEdgeList;
 
 	/**
 	 * Gets the edges for the triangle to the left of the given {@link QuadEdge}.
diff --git a/include/geos/triangulate/quadedge/Vertex.h b/include/geos/triangulate/quadedge/Vertex.h
index 92d6166..6234784 100644
--- a/include/geos/triangulate/quadedge/Vertex.h
+++ b/include/geos/triangulate/quadedge/Vertex.h
@@ -12,7 +12,7 @@
  *
  **********************************************************************
  *
- * Last port: triangulate/quadedge/Vertex.java r524
+ * Last port: triangulate/quadedge/Vertex.java r705
  *
  **********************************************************************/
 
@@ -248,7 +248,17 @@ private:
 			const Vertex &v2) const;
 
 	/**
-	 * Interpolates the Z value of a point enclosed in a 3D triangle.
+	 * Interpolates the Z-value (height) of a point enclosed in a triangle
+	 * whose vertices all have Z values.
+	 * The containing triangle must not be degenerate
+	 * (in other words, the three vertices must enclose a
+	 * non-zero area).
+	 *
+	 * @param p the point to interpolate the Z value of
+	 * @param v0 a vertex of a triangle containing the p
+	 * @param v1 a vertex of a triangle containing the p
+	 * @param v2 a vertex of a triangle containing the p
+	 * @return the interpolated Z-value (height) of the point
 	 */
 	static double interpolateZ(const geom::Coordinate &p, const geom::Coordinate &v0, 
 			const geom::Coordinate &v1, const geom::Coordinate &v2);
@@ -259,7 +269,7 @@ private:
 	 * @param p
 	 * @param p0
 	 * @param p1
-	 * @return
+	 * @return the interpolated Z value
 	 */
 	static double interpolateZ(const geom::Coordinate &p, const geom::Coordinate &p0, 
 			const geom::Coordinate &p1);
diff --git a/include/geos/util/Makefile.in b/include/geos/util/Makefile.in
index 7ed2685..c793dd7 100644
--- a/include/geos/util/Makefile.in
+++ b/include/geos/util/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/include/geos/version.h.vc b/include/geos/version.h.vc
index 3d72406..3ae395e 100644
--- a/include/geos/version.h.vc
+++ b/include/geos/version.h.vc
@@ -30,7 +30,7 @@
 #endif
 
 #ifndef GEOS_VERSION_MINOR
-#define GEOS_VERSION_MINOR 5
+#define GEOS_VERSION_MINOR 6
 #endif
 
 #ifndef GEOS_VERSION_PATCH
@@ -38,7 +38,7 @@
 #endif
 
 #ifndef GEOS_VERSION
-#define GEOS_VERSION "3.5.0"
+#define GEOS_VERSION "3.6.0"
 #endif
 
 #ifndef GEOS_JTS_PORT
diff --git a/install-sh b/install-sh
index 0b0fdcb..59990a1 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2013-12-25.23; # UTC
+scriptversion=2014-09-12.12; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -324,34 +324,41 @@ do
             # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
             ;;
           *)
+            # $RANDOM is not portable (e.g. dash);  use it when possible to
+            # lower collision chance
             tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+            trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
 
+            # As "mkdir -p" follows symlinks and we work in /tmp possibly;  so
+            # create the $tmpdir first (and fail if unsuccessful) to make sure
+            # that nobody tries to guess the $tmpdir name.
             if (umask $mkdir_umask &&
-                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+                $mkdirprog $mkdir_mode "$tmpdir" &&
+                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
             then
               if test -z "$dir_arg" || {
                    # Check for POSIX incompatibilities with -m.
                    # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
                    # other-writable bit of parent directory when it shouldn't.
                    # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                   test_tmpdir="$tmpdir/a"
+                   ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
                    case $ls_ld_tmpdir in
                      d????-?r-*) different_mode=700;;
                      d????-?--*) different_mode=755;;
                      *) false;;
                    esac &&
-                   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                   $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+                     ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
                      test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
                    }
                  }
               then posix_mkdir=:
               fi
-              rmdir "$tmpdir/d" "$tmpdir"
+              rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
             else
               # Remove any dirs left behind by ancient mkdir implementations.
-              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+              rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
             fi
             trap '' 0;;
         esac;;
diff --git a/ltmain.sh b/ltmain.sh
index 0f0a2da..147d758 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -31,7 +31,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION=2.4.6
+VERSION="2.4.6 Debian-2.4.6-0.1"
 package_revision=2.4.6
 
 
@@ -2073,7 +2073,7 @@ include the following information:
        autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
 
 Report bugs to <bug-libtool at gnu.org>.
-GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+GNU libtool home page: <http://www.gnu.org/s/libtool/>.
 General help using GNU software: <http://www.gnu.org/gethelp/>."
     exit 0
 }
@@ -7272,10 +7272,13 @@ func_mode_link ()
       # -tp=*                Portland pgcc target processor selection
       # --sysroot=*          for sysroot support
       # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+      # -specs=*             GCC specs files
       # -stdlib=*            select c++ std lib with clang
+      # -fsanitize=*         Clang/GCC memory and address sanitizer
       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
+      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+      -specs=*|-fsanitize=*)
         func_quote_for_eval "$arg"
 	arg=$func_quote_for_eval_result
         func_append compile_command " $arg"
@@ -7568,7 +7571,10 @@ func_mode_link ()
 	case $pass in
 	dlopen) libs=$dlfiles ;;
 	dlpreopen) libs=$dlprefiles ;;
-	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+	link)
+	  libs="$deplibs %DEPLIBS%"
+	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+	  ;;
 	esac
       fi
       if test lib,dlpreopen = "$linkmode,$pass"; then
@@ -7887,19 +7893,19 @@ func_mode_link ()
 	    # It is a libtool convenience library, so add in its objects.
 	    func_append convenience " $ladir/$objdir/$old_library"
 	    func_append old_convenience " $ladir/$objdir/$old_library"
+	    tmp_libs=
+	    for deplib in $dependency_libs; do
+	      deplibs="$deplib $deplibs"
+	      if $opt_preserve_dup_deps; then
+		case "$tmp_libs " in
+		*" $deplib "*) func_append specialdeplibs " $deplib" ;;
+		esac
+	      fi
+	      func_append tmp_libs " $deplib"
+	    done
 	  elif test prog != "$linkmode" && test lib != "$linkmode"; then
 	    func_fatal_error "'$lib' is not a convenience library"
 	  fi
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    deplibs="$deplib $deplibs"
-	    if $opt_preserve_dup_deps; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-	      esac
-	    fi
-	    func_append tmp_libs " $deplib"
-	  done
 	  continue
 	fi # $pass = conv
 
@@ -8823,6 +8829,9 @@ func_mode_link ()
 	    revision=$number_minor
 	    lt_irix_increment=no
 	    ;;
+	  *)
+	    func_fatal_configuration "$modename: unknown library version type '$version_type'"
+	    ;;
 	  esac
 	  ;;
 	no)
diff --git a/macros/._libtool.m4 b/macros/._libtool.m4
deleted file mode 100644
index 4b8deb2..0000000
Binary files a/macros/._libtool.m4 and /dev/null differ
diff --git a/macros/._ltoptions.m4 b/macros/._ltoptions.m4
deleted file mode 100644
index 3d07a38..0000000
Binary files a/macros/._ltoptions.m4 and /dev/null differ
diff --git a/macros/._ltsugar.m4 b/macros/._ltsugar.m4
deleted file mode 100644
index bc3a289..0000000
Binary files a/macros/._ltsugar.m4 and /dev/null differ
diff --git a/macros/._lt~obsolete.m4 b/macros/._lt~obsolete.m4
deleted file mode 100644
index a5ff095..0000000
Binary files a/macros/._lt~obsolete.m4 and /dev/null differ
diff --git a/macros/Makefile.in b/macros/Makefile.in
index b70fbb5..591a67a 100644
--- a/macros/Makefile.in
+++ b/macros/Makefile.in
@@ -207,9 +207,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -294,6 +291,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/macros/libtool.m4 b/macros/libtool.m4
index a3bc337..10ab284 100644
--- a/macros/libtool.m4
+++ b/macros/libtool.m4
@@ -2887,6 +2887,18 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -3546,7 +3558,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd*)
+netbsd* | netbsdelf*-gnu)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
@@ -4424,7 +4436,7 @@ m4_if([$1], [CXX], [
 	    ;;
 	esac
 	;;
-      netbsd*)
+      netbsd* | netbsdelf*-gnu)
 	;;
       *qnx* | *nto*)
         # QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4936,6 +4948,9 @@ m4_if([$1], [CXX], [
       ;;
     esac
     ;;
+  linux* | k*bsd*-gnu | gnu*)
+    _LT_TAGVAR(link_all_deplibs, $1)=no
+    ;;
   *)
     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
@@ -4998,6 +5013,9 @@ dnl Note also adjust exclude_expsyms for C++ above.
   openbsd* | bitrig*)
     with_gnu_ld=no
     ;;
+  linux* | k*bsd*-gnu | gnu*)
+    _LT_TAGVAR(link_all_deplibs, $1)=no
+    ;;
   esac
 
   _LT_TAGVAR(ld_shlibs, $1)=yes
@@ -5252,7 +5270,7 @@ _LT_EOF
       fi
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -5773,6 +5791,7 @@ _LT_EOF
 	if test yes = "$lt_cv_irix_exported_symbol"; then
           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
 	fi
+	_LT_TAGVAR(link_all_deplibs, $1)=no
       else
 	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
 	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
@@ -5794,7 +5813,7 @@ _LT_EOF
       esac
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
diff --git a/nmake.opt b/nmake.opt
index 1c9d6b8..2f2dbe4 100644
--- a/nmake.opt
+++ b/nmake.opt
@@ -135,6 +135,12 @@ GEOS_MSC = 1900
 !ELSEIF "$(_NMAKE_VER)" == "14.00.23026.0"
 GEOS_MSVC = 14.0
 GEOS_MSC = 1900
+!ELSEIF "$(_NMAKE_VER)" == "14.00.23506.0"
+GEOS_MSVC = 14.0
+GEOS_MSC = 1900
+!ELSEIF "$(_NMAKE_VER)" == "14.00.24210.0"
+GEOS_MSVC = 14.0
+GEOS_MSC = 1900
 !ELSE
 GEOS_MSVC = 0.0
 GEOS_MSC = 0
diff --git a/php/Makefile.am b/php/Makefile.am
deleted file mode 100644
index 5b50c0f..0000000
--- a/php/Makefile.am
+++ /dev/null
@@ -1,62 +0,0 @@
-#######################################################################
-# 
-#    GEOS - Geometry Engine Open Source
-#    http://trac.osgeo.org/geos
-#
-#    Copyright (C) 2010 Sandro Santilli <strk at keybit.net>
-#
-#    This library is free software; you can redistribute it and/or
-#    modify it under the terms of the GNU Lesser General Public
-#    License as published by the Free Software Foundation; either
-#    version 2.1 of the License, or (at your option) any later version.
-#
-#    This library is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#    Lesser General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with this program; if not, write to the Free Software
-#    Foundation, Inc., 51 Franklin St, Fifth Floor,
-#    Boston, MA  02110-1301  USA
-#
-#######################################################################
-
-
-if ENABLE_PHP
-
-SUBDIRS = . test
-
-EXTRA_DIST = README 
-
-pkglib_LTLIBRARIES = geos.la
-
-geos_la_SOURCES = geos.c php_geos.h
-
-geos_la_LIBADD =  $(top_builddir)/capi/libgeos_c.la 
-
-# TODO: check if -no-undefined should be added
-geos_la_LDFLAGS = -module -avoid-version
-
-# -std is an attempt to fix interpretation
-# of Zend headers, failing with -ansi.
-#
-# As of gcc (Ubuntu 4.3.2-1ubuntu12) 4.3.2
-# you need -std=gnu99
-# while on OpenSuse's plain gcc 4.3.2 -std=c99 is fine
-# (argh)
-#
-geos_la_CFLAGS = $(AM_CFLAGS) -std=gnu99
-
-# TODO: drop conditionals from geos.c and let it bound to current code
-geos_la_CPPFLAGS = $(AM_CPPFLAGS) \
-	`$(PHP_CONFIG) --includes` \
-	-DCOMPILE_DL_GEOS \
-	-I$(top_builddir)/capi \
-	-I$(top_srcdir)/include
-
-install: all
-	$(INSTALL) -d "$(DESTDIR)"/`$(PHP_CONFIG) --extension-dir`
-	$(INSTALL) -m 755 .libs/geos.so "$(DESTDIR)"/`php-config --extension-dir`
-
-endif
diff --git a/php/Makefile.in b/php/Makefile.in
deleted file mode 100644
index d8c343e..0000000
--- a/php/Makefile.in
+++ /dev/null
@@ -1,885 +0,0 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-#######################################################################
-# 
-#    GEOS - Geometry Engine Open Source
-#    http://trac.osgeo.org/geos
-#
-#    Copyright (C) 2010 Sandro Santilli <strk at keybit.net>
-#
-#    This library is free software; you can redistribute it and/or
-#    modify it under the terms of the GNU Lesser General Public
-#    License as published by the Free Software Foundation; either
-#    version 2.1 of the License, or (at your option) any later version.
-#
-#    This library is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#    Lesser General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with this program; if not, write to the Free Software
-#    Foundation, Inc., 51 Franklin St, Fifth Floor,
-#    Boston, MA  02110-1301  USA
-#
-#######################################################################
-
-VPATH = @srcdir@
-am__is_gnu_make = { \
-  if test -z '$(MAKELEVEL)'; then \
-    false; \
-  elif test -n '$(MAKE_HOST)'; then \
-    true; \
-  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
-    true; \
-  else \
-    false; \
-  fi; \
-}
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
-    case $$MAKEFLAGS in \
-      *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
-    esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
-    esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = php
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/macros/ac_pkg_swig.m4 \
-	$(top_srcdir)/macros/ac_python_devel.m4 \
-	$(top_srcdir)/macros/libtool.m4 \
-	$(top_srcdir)/macros/ltoptions.m4 \
-	$(top_srcdir)/macros/ltsugar.m4 \
-	$(top_srcdir)/macros/ltversion.m4 \
-	$(top_srcdir)/macros/lt~obsolete.m4 \
-	$(top_srcdir)/macros/python.m4 $(top_srcdir)/macros/ruby.m4 \
-	$(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/include/config.h \
-	$(top_builddir)/include/geos/platform.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__installdirs = "$(DESTDIR)$(pkglibdir)"
-LTLIBRARIES = $(pkglib_LTLIBRARIES)
- at ENABLE_PHP_TRUE@geos_la_DEPENDENCIES =  \
- at ENABLE_PHP_TRUE@	$(top_builddir)/capi/libgeos_c.la
-am__geos_la_SOURCES_DIST = geos.c php_geos.h
- at ENABLE_PHP_TRUE@am_geos_la_OBJECTS = geos_la-geos.lo
-geos_la_OBJECTS = $(am_geos_la_OBJECTS)
-AM_V_lt = $(am__v_lt_ at AM_V@)
-am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 = 
-geos_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(geos_la_CFLAGS) \
-	$(CFLAGS) $(geos_la_LDFLAGS) $(LDFLAGS) -o $@
- at ENABLE_PHP_TRUE@am_geos_la_rpath = -rpath $(pkglibdir)
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 = 
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)/include -I$(top_builddir)/include/geos
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_ at AM_V@)
-am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC      " $@;
-am__v_CC_1 = 
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD    " $@;
-am__v_CCLD_1 = 
-SOURCES = $(geos_la_SOURCES)
-DIST_SOURCES = $(am__geos_la_SOURCES_DIST)
-RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
-	ctags-recursive dvi-recursive html-recursive info-recursive \
-	install-data-recursive install-dvi-recursive \
-	install-exec-recursive install-html-recursive \
-	install-info-recursive install-pdf-recursive \
-	install-ps-recursive install-recursive installcheck-recursive \
-	installdirs-recursive pdf-recursive ps-recursive \
-	tags-recursive uninstall-recursive
-am__can_run_installinfo = \
-  case $$AM_UPDATE_INFO_DIR in \
-    n|no|NO) false;; \
-    *) (install-info --version) >/dev/null 2>&1;; \
-  esac
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
-  distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
-  $(RECURSIVE_TARGETS) \
-  $(RECURSIVE_CLEAN_TARGETS) \
-  $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
-	distdir
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates.  Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = . test
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp README \
-	TODO
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @AM_CFLAGS@
-AM_CXXFLAGS = @AM_CXXFLAGS@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CAPI_INTERFACE_AGE = @CAPI_INTERFACE_AGE@
-CAPI_INTERFACE_CURRENT = @CAPI_INTERFACE_CURRENT@
-CAPI_INTERFACE_REVISION = @CAPI_INTERFACE_REVISION@
-CAPI_VERSION = @CAPI_VERSION@
-CAPI_VERSION_MAJOR = @CAPI_VERSION_MAJOR@
-CAPI_VERSION_MINOR = @CAPI_VERSION_MINOR@
-CAPI_VERSION_PATCH = @CAPI_VERSION_PATCH@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INLINE_FLAGS = @INLINE_FLAGS@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTERFACE_AGE = @INTERFACE_AGE@
-INTERFACE_CURRENT = @INTERFACE_CURRENT@
-INTERFACE_REVISION = @INTERFACE_REVISION@
-JTS_PORT = @JTS_PORT@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
-PYTHON = @PYTHON@
-PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
-PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-RUBY = @RUBY@
-RUBY_BIN_DIR = @RUBY_BIN_DIR@
-RUBY_EXTENSION_DIR = @RUBY_EXTENSION_DIR@
-RUBY_INCLUDE_DIR = @RUBY_INCLUDE_DIR@
-RUBY_LIB_DIR = @RUBY_LIB_DIR@
-RUBY_SHARED_LIB = @RUBY_SHARED_LIB@
-RUBY_SITE_ARCH = @RUBY_SITE_ARCH@
-RUBY_SO_NAME = @RUBY_SO_NAME@
-RUBY_VERSION = @RUBY_VERSION@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-SWIG = @SWIG@
-SWIG_LIB = @SWIG_LIB@
-SWIG_PYTHON_CPPFLAGS = @SWIG_PYTHON_CPPFLAGS@
-SWIG_PYTHON_OPT = @SWIG_PYTHON_OPT@
-VERSION = @VERSION@
-VERSION_MAJOR = @VERSION_MAJOR@
-VERSION_MINOR = @VERSION_MINOR@
-VERSION_PATCH = @VERSION_PATCH@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
- at ENABLE_PHP_TRUE@SUBDIRS = . test
- at ENABLE_PHP_TRUE@EXTRA_DIST = README 
- at ENABLE_PHP_TRUE@pkglib_LTLIBRARIES = geos.la
- at ENABLE_PHP_TRUE@geos_la_SOURCES = geos.c php_geos.h
- at ENABLE_PHP_TRUE@geos_la_LIBADD = $(top_builddir)/capi/libgeos_c.la 
-
-# TODO: check if -no-undefined should be added
- at ENABLE_PHP_TRUE@geos_la_LDFLAGS = -module -avoid-version
-
-# -std is an attempt to fix interpretation
-# of Zend headers, failing with -ansi.
-#
-# As of gcc (Ubuntu 4.3.2-1ubuntu12) 4.3.2
-# you need -std=gnu99
-# while on OpenSuse's plain gcc 4.3.2 -std=c99 is fine
-# (argh)
-#
- at ENABLE_PHP_TRUE@geos_la_CFLAGS = $(AM_CFLAGS) -std=gnu99
-
-# TODO: drop conditionals from geos.c and let it bound to current code
- at ENABLE_PHP_TRUE@geos_la_CPPFLAGS = $(AM_CPPFLAGS) \
- at ENABLE_PHP_TRUE@	`$(PHP_CONFIG) --includes` \
- at ENABLE_PHP_TRUE@	-DCOMPILE_DL_GEOS \
- at ENABLE_PHP_TRUE@	-I$(top_builddir)/capi \
- at ENABLE_PHP_TRUE@	-I$(top_srcdir)/include
-
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu php/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu php/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
-	@$(NORMAL_INSTALL)
-	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
-	list2=; for p in $$list; do \
-	  if test -f $$p; then \
-	    list2="$$list2 $$p"; \
-	  else :; fi; \
-	done; \
-	test -z "$$list2" || { \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
-	}
-
-uninstall-pkglibLTLIBRARIES:
-	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
-	for p in $$list; do \
-	  $(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
-	done
-
-clean-pkglibLTLIBRARIES:
-	-test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
-	@list='$(pkglib_LTLIBRARIES)'; \
-	locs=`for p in $$list; do echo $$p; done | \
-	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
-	      sort -u`; \
-	test -z "$$locs" || { \
-	  echo rm -f $${locs}; \
-	  rm -f $${locs}; \
-	}
-
-geos.la: $(geos_la_OBJECTS) $(geos_la_DEPENDENCIES) $(EXTRA_geos_la_DEPENDENCIES) 
-	$(AM_V_CCLD)$(geos_la_LINK) $(am_geos_la_rpath) $(geos_la_OBJECTS) $(geos_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/geos_la-geos.Plo at am__quote@
-
-.c.o:
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
-
-.c.obj:
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-geos_la-geos.lo: geos.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(geos_la_CPPFLAGS) $(CPPFLAGS) $(geos_la_CFLAGS) $(CFLAGS) -MT geos_la-geos.lo -MD -MP -MF $(DEPDIR)/geos_la-geos.Tpo -c -o geos_la-geos.lo `test -f 'geos.c' || echo '$(srcdir)/'`geos.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/geos_la-geos.Tpo $(DEPDIR)/geos_la-geos.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='geos.c' object='geos_la-geos.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(geos_la_CPPFLAGS) $(CPPFLAGS) $(geos_la_CFLAGS) $(CFLAGS) -c -o geos_la-geos.lo `test -f 'geos.c' || echo '$(srcdir)/'`geos.c
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-#     (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(am__recursive_targets):
-	@fail=; \
-	if $(am__make_keepgoing); then \
-	  failcom='fail=yes'; \
-	else \
-	  failcom='exit 1'; \
-	fi; \
-	dot_seen=no; \
-	target=`echo $@ | sed s/-recursive//`; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	for subdir in $$list; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    dot_seen=yes; \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done; \
-	if test "$$dot_seen" = "no"; then \
-	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-	fi; test -z "$$fail"
-
-ID: $(am__tagged_files)
-	$(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-recursive
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	set x; \
-	here=`pwd`; \
-	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-	  include_option=--etags-include; \
-	  empty_fix=.; \
-	else \
-	  include_option=--include; \
-	  empty_fix=; \
-	fi; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    test ! -f $$subdir/TAGS || \
-	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-	  fi; \
-	done; \
-	$(am__define_uniq_tagged_files); \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: ctags-recursive
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	$(am__define_uniq_tagged_files); \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-recursive
-
-cscopelist-am: $(am__tagged_files)
-	list='$(am__tagged_files)'; \
-	case "$(srcdir)" in \
-	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-	  *) sdir=$(subdir)/$(srcdir) ;; \
-	esac; \
-	for i in $$list; do \
-	  if test -f "$$i"; then \
-	    echo "$(subdir)/$$i"; \
-	  else \
-	    echo "$$sdir/$$i"; \
-	  fi; \
-	done >> $(top_builddir)/cscope.files
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    $(am__make_dryrun) \
-	      || test -d "$(distdir)/$$subdir" \
-	      || $(MKDIR_P) "$(distdir)/$$subdir" \
-	      || exit 1; \
-	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-	    $(am__relativize); \
-	    new_distdir=$$reldir; \
-	    dir1=$$subdir; dir2="$(top_distdir)"; \
-	    $(am__relativize); \
-	    new_top_distdir=$$reldir; \
-	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-	    ($(am__cd) $$subdir && \
-	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$new_top_distdir" \
-	        distdir="$$new_distdir" \
-		am__remove_distdir=: \
-		am__skip_length_check=: \
-		am__skip_mode_fix=: \
-	        distdir) \
-	      || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(LTLIBRARIES)
-installdirs: installdirs-recursive
-installdirs-am:
-	for dir in "$(DESTDIR)$(pkglibdir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
- at ENABLE_PHP_FALSE@install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-	if test -z '$(STRIP)'; then \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	      install; \
-	else \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-	fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \
-	mostlyclean-am
-
-distclean: distclean-recursive
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am: install-pkglibLTLIBRARIES
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-pkglibLTLIBRARIES
-
-.MAKE: $(am__recursive_targets) install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
-	check-am clean clean-generic clean-libtool \
-	clean-pkglibLTLIBRARIES cscopelist-am ctags ctags-am distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkglibLTLIBRARIES \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs installdirs-am maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags tags-am uninstall uninstall-am \
-	uninstall-pkglibLTLIBRARIES
-
-.PRECIOUS: Makefile
-
-
- at ENABLE_PHP_TRUE@install: all
- at ENABLE_PHP_TRUE@	$(INSTALL) -d "$(DESTDIR)"/`$(PHP_CONFIG) --extension-dir`
- at ENABLE_PHP_TRUE@	$(INSTALL) -m 755 .libs/geos.so "$(DESTDIR)"/`php-config --extension-dir`
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/php/README b/php/README
deleted file mode 100644
index a2e6913..0000000
--- a/php/README
+++ /dev/null
@@ -1,48 +0,0 @@
-PHP module for GEOS
-===================
-
-  Date: Fri Jun 18 15:52:57 CEST 2010
-  Author: Sandro Santilli <strk at keybit.net>
-
-The code in this directory provides a PHP module to
-make use of functionalities of the GEOS library.
-The bindings are linked to the C-API, for betters stability.
-
-REQUIREMENTS
-------------
-
-You need php5 development tools, often found in
-packages named something like 'php5-dev'. 
-
-BUILD
------
-
-Just add --enable-php to your GEOS configure line
-and run 'make'.
-
-TESTING
--------
-
-Automated testing should be executed on 'make check'
-togheter with the rest of the GEOS testsuite.
-You can still run 'make check' from this dir for
-localized (php-only) testing.
-
-Note that you'll need phpunit installed for this to work.
-To install:
-
-  sudo pear install --force --alldeps phpunit/phpunit
-
-INSTALL
--------
-
-As root (or owner with write access to the directory
-returned by php-config --extension-dir),
-run 'make install'
-
-USAGE
------
-
- ... TODO ...
- (reference some automatically built doc?)
-
diff --git a/php/TODO b/php/TODO
deleted file mode 100644
index 218ae17..0000000
--- a/php/TODO
+++ /dev/null
@@ -1,11 +0,0 @@
-In order of priority
-
-- Find a way to have GEOSGeometry contents shown on var_dump
-- Documentation !! (doxygen-based?)
-- Add WKBReader::read and WKBWriter::write (binary strings required)
-- Use the re-entrant C-API interface
-- Add interface for algorithms (Orientation Index) ?
-- Add interfaces for prepared geometries ?
-- Add interfaces for STRTree ?
-- Add interfaces for GEOSCoordSeq ?
-- Add Geometry Constructors ?
diff --git a/php/geos.c b/php/geos.c
deleted file mode 100644
index aa6735a..0000000
--- a/php/geos.c
+++ /dev/null
@@ -1,2936 +0,0 @@
-/***********************************************************************
- * 
- *    GEOS - Geometry Engine Open Source
- *    http://trac.osgeo.org/geos
- *
- *    Copyright (C) 2010 Sandro Santilli <strk at keybit.net>
- *
- *    This library is free software; you can redistribute it and/or
- *    modify it under the terms of the GNU Lesser General Public
- *    License as published by the Free Software Foundation; either
- *    version 2.1 of the License, or (at your option) any later version.
- *
- *    This library is distributed in the hope that it will be useful,
- *    but WITHOUT ANY WARRANTY; without even the implied warranty of
- *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *    Lesser General Public License for more details.
- *
- *    You should have received a copy of the GNU General Public License
- *    along with this program; if not, write to the Free Software
- *    Foundation, Inc., 51 Franklin St, Fifth Floor,
- *    Boston, MA  02110-1301  USA
- *
- ***********************************************************************/
-
-/* PHP stuff */
-#include "php.h"
-#include "ext/standard/info.h" /* for php_info_... */
-#include "Zend/zend_exceptions.h" /* for zend_throw_exception_object */
-
-/* GEOS stuff */
-#include "geos_c.h"
-
-/* Own stuff */
-#include "php_geos.h"
-
-PHP_MINIT_FUNCTION(geos);
-PHP_MSHUTDOWN_FUNCTION(geos);
-PHP_RINIT_FUNCTION(geos);
-PHP_RSHUTDOWN_FUNCTION(geos);
-PHP_MINFO_FUNCTION(geos);
-PHP_FUNCTION(GEOSVersion);
-PHP_FUNCTION(GEOSPolygonize);
-PHP_FUNCTION(GEOSLineMerge);
-PHP_FUNCTION(GEOSSharedPaths);
-PHP_FUNCTION(GEOSRelateMatch);
-
-#if PHP_VERSION_ID < 50399 
-#define zend_function_entry function_entry
-#endif
-
-static zend_function_entry geos_functions[] = {
-    PHP_FE(GEOSVersion, NULL)
-    PHP_FE(GEOSPolygonize, NULL)
-    PHP_FE(GEOSLineMerge, NULL)
-    PHP_FE(GEOSSharedPaths, NULL)
-    PHP_FE(GEOSRelateMatch, NULL)
-    {NULL, NULL, NULL}
-};
-
-zend_module_entry geos_module_entry = {
-    STANDARD_MODULE_HEADER,
-    PHP_GEOS_EXTNAME,
-    geos_functions,
-    PHP_MINIT(geos),              /* module init function */
-    PHP_MSHUTDOWN(geos),          /* module shutdown function */
-    PHP_RINIT(geos),              /* request init function */
-    PHP_RSHUTDOWN(geos),          /* request shutdown function */
-    PHP_MINFO(geos),              /* module info function */
-    PHP_GEOS_VERSION,
-    STANDARD_MODULE_PROPERTIES
-};
-
-#ifdef COMPILE_DL_GEOS
-ZEND_GET_MODULE(geos)
-#endif
-
-/* -- Utility functions ---------------------- */
-
-static void noticeHandler(const char *fmt, ...)
-{
-    TSRMLS_FETCH();
-    char message[256];
-    va_list args;
-    va_start(args, fmt);
-    vsnprintf(message, sizeof(message) - 1, fmt, args);
-    va_end(args);
-
-    php_error_docref(NULL TSRMLS_CC, E_NOTICE, "%s", message);
-}
-
-static void errorHandler(const char *fmt, ...)
-{
-    TSRMLS_FETCH();
-    char message[256];
-    va_list args;
-    va_start(args, fmt);
-    vsnprintf(message, sizeof(message) - 1, fmt, args);
-    va_end(args);
-
-    /* TODO: use a GEOSException ? */
-    zend_throw_exception_ex(zend_exception_get_default(TSRMLS_C),
-        1 TSRMLS_CC, "%s", message); 
-
-}
-
-typedef struct Proxy_t {
-    zend_object std;
-    void* relay;
-} Proxy;
-
-static void 
-setRelay(zval* val, void* obj) {
-    TSRMLS_FETCH();
-    Proxy* proxy = (Proxy*)zend_object_store_get_object(val TSRMLS_CC);
-    proxy->relay = obj;
-}
-
-static inline void *
-getRelay(zval* val, zend_class_entry* ce) {
-    TSRMLS_FETCH();
-    Proxy *proxy =  (Proxy*)zend_object_store_get_object(val TSRMLS_CC);
-    if ( proxy->std.ce != ce ) {
-        php_error_docref(NULL TSRMLS_CC, E_ERROR,
-            "Relay object is not an %s", ce->name);
-    }
-    if ( ! proxy->relay ) {
-        php_error_docref(NULL TSRMLS_CC, E_ERROR,
-            "Relay object for object of type %s is not set", ce->name);
-    }
-    return proxy->relay;
-}
-
-static long getZvalAsLong(zval* val)
-{
-    long ret;
-    zval tmp;
-
-    tmp = *val;
-    zval_copy_ctor(&tmp);
-    convert_to_long(&tmp);
-    ret = Z_LVAL(tmp);
-    zval_dtor(&tmp);
-    return ret;
-}
-
-static long getZvalAsDouble(zval* val)
-{
-    double ret;
-    zval tmp;
-
-    tmp = *val;
-    zval_copy_ctor(&tmp);
-    convert_to_double(&tmp);
-    ret = Z_DVAL(tmp);
-    zval_dtor(&tmp);
-    return ret;
-}
-
-static zend_object_value
-Gen_create_obj (zend_class_entry *type,
-    zend_objects_free_object_storage_t st, zend_object_handlers* handlers)
-{
-    TSRMLS_FETCH();
-    zend_object_value retval;
-
-    Proxy *obj = (Proxy *)emalloc(sizeof(Proxy));
-    memset(obj, 0, sizeof(Proxy));
-    obj->std.ce = type;
-
-    ALLOC_HASHTABLE(obj->std.properties);
-    zend_hash_init(obj->std.properties, 0, NULL, ZVAL_PTR_DTOR, 0);
-#if PHP_VERSION_ID < 50399 
-    zend_hash_copy(obj->std.properties, &type->default_properties,
-        (copy_ctor_func_t)zval_add_ref, NULL, sizeof(zval *));
-#else
-    object_properties_init(&(obj->std), type);
-#endif
-
-    retval.handle = zend_objects_store_put(obj, NULL, st, NULL TSRMLS_CC);
-    retval.handlers = handlers;
-
-    return retval;
-}
-
-
-/* -- class GEOSGeometry -------------------- */
-
-PHP_METHOD(Geometry, __construct);
-PHP_METHOD(Geometry, __toString);
-PHP_METHOD(Geometry, project);
-PHP_METHOD(Geometry, interpolate);
-PHP_METHOD(Geometry, buffer);
-PHP_METHOD(Geometry, offsetCurve);
-PHP_METHOD(Geometry, envelope);
-PHP_METHOD(Geometry, intersection);
-PHP_METHOD(Geometry, convexHull);
-PHP_METHOD(Geometry, difference);
-PHP_METHOD(Geometry, symDifference);
-PHP_METHOD(Geometry, boundary);
-PHP_METHOD(Geometry, union); /* also does union cascaded */
-PHP_METHOD(Geometry, pointOnSurface); 
-PHP_METHOD(Geometry, centroid); 
-PHP_METHOD(Geometry, relate); 
-PHP_METHOD(Geometry, relateBoundaryNodeRule); 
-PHP_METHOD(Geometry, simplify); /* also does topology-preserving */
-PHP_METHOD(Geometry, normalize);
-PHP_METHOD(Geometry, extractUniquePoints); 
-PHP_METHOD(Geometry, disjoint);
-PHP_METHOD(Geometry, touches);
-PHP_METHOD(Geometry, intersects);
-PHP_METHOD(Geometry, crosses);
-PHP_METHOD(Geometry, within);
-PHP_METHOD(Geometry, contains);
-PHP_METHOD(Geometry, overlaps);
-PHP_METHOD(Geometry, covers);
-PHP_METHOD(Geometry, coveredBy);
-PHP_METHOD(Geometry, equals);
-PHP_METHOD(Geometry, equalsExact);
-PHP_METHOD(Geometry, isEmpty);
-PHP_METHOD(Geometry, checkValidity);
-PHP_METHOD(Geometry, isSimple);
-PHP_METHOD(Geometry, isRing);
-PHP_METHOD(Geometry, hasZ);
-PHP_METHOD(Geometry, isClosed);
-PHP_METHOD(Geometry, typeName);
-PHP_METHOD(Geometry, typeId);
-PHP_METHOD(Geometry, getSRID);
-PHP_METHOD(Geometry, setSRID);
-PHP_METHOD(Geometry, numGeometries);
-PHP_METHOD(Geometry, geometryN);
-PHP_METHOD(Geometry, numInteriorRings);
-PHP_METHOD(Geometry, numPoints);
-PHP_METHOD(Geometry, getX);
-PHP_METHOD(Geometry, getY);
-PHP_METHOD(Geometry, interiorRingN);
-PHP_METHOD(Geometry, exteriorRing);
-PHP_METHOD(Geometry, numCoordinates);
-PHP_METHOD(Geometry, dimension);
-PHP_METHOD(Geometry, coordinateDimension);
-PHP_METHOD(Geometry, pointN);
-PHP_METHOD(Geometry, startPoint);
-PHP_METHOD(Geometry, endPoint);
-PHP_METHOD(Geometry, area);
-PHP_METHOD(Geometry, length);
-PHP_METHOD(Geometry, distance);
-PHP_METHOD(Geometry, hausdorffDistance);
-PHP_METHOD(Geometry, snapTo);
-PHP_METHOD(Geometry, node);
-PHP_METHOD(Geometry, delaunayTriangulation);
-PHP_METHOD(Geometry, voronoiDiagram);
-PHP_METHOD(Geometry, clipByRect);
-
-static zend_function_entry Geometry_methods[] = {
-    PHP_ME(Geometry, __construct, NULL, 0)
-    PHP_ME(Geometry, __toString, NULL, 0)
-    PHP_ME(Geometry, project, NULL, 0)
-    PHP_ME(Geometry, interpolate, NULL, 0)
-    PHP_ME(Geometry, buffer, NULL, 0)
-    PHP_ME(Geometry, offsetCurve, NULL, 0)
-    PHP_ME(Geometry, envelope, NULL, 0)
-    PHP_ME(Geometry, intersection, NULL, 0)
-    PHP_ME(Geometry, convexHull, NULL, 0)
-    PHP_ME(Geometry, difference, NULL, 0)
-    PHP_ME(Geometry, symDifference, NULL, 0)
-    PHP_ME(Geometry, boundary, NULL, 0)
-    PHP_ME(Geometry, union, NULL, 0)
-    PHP_ME(Geometry, pointOnSurface, NULL, 0)
-    PHP_ME(Geometry, centroid, NULL, 0)
-    PHP_ME(Geometry, relate, NULL, 0)
-    PHP_ME(Geometry, relateBoundaryNodeRule, NULL, 0)
-    PHP_ME(Geometry, simplify, NULL, 0)
-    PHP_ME(Geometry, normalize, NULL, 0)
-    PHP_ME(Geometry, extractUniquePoints, NULL, 0)
-    PHP_ME(Geometry, disjoint, NULL, 0)
-    PHP_ME(Geometry, touches, NULL, 0)
-    PHP_ME(Geometry, intersects, NULL, 0)
-    PHP_ME(Geometry, crosses, NULL, 0)
-    PHP_ME(Geometry, within, NULL, 0)
-    PHP_ME(Geometry, contains, NULL, 0)
-    PHP_ME(Geometry, overlaps, NULL, 0)
-    PHP_ME(Geometry, covers, NULL, 0)
-    PHP_ME(Geometry, coveredBy, NULL, 0)
-    PHP_ME(Geometry, equals, NULL, 0)
-    PHP_ME(Geometry, equalsExact, NULL, 0)
-    PHP_ME(Geometry, isEmpty, NULL, 0)
-    PHP_ME(Geometry, checkValidity, NULL, 0)
-    PHP_ME(Geometry, isSimple, NULL, 0)
-    PHP_ME(Geometry, isRing, NULL, 0)
-    PHP_ME(Geometry, hasZ, NULL, 0)
-    PHP_ME(Geometry, isClosed, NULL, 0)
-    PHP_ME(Geometry, typeName, NULL, 0)
-    PHP_ME(Geometry, typeId, NULL, 0)
-    PHP_ME(Geometry, getSRID, NULL, 0)
-    PHP_ME(Geometry, setSRID, NULL, 0)
-    PHP_ME(Geometry, numGeometries, NULL, 0)
-    PHP_ME(Geometry, geometryN, NULL, 0)
-    PHP_ME(Geometry, numInteriorRings, NULL, 0)
-    PHP_ME(Geometry, numPoints, NULL, 0)
-    PHP_ME(Geometry, getX, NULL, 0)
-    PHP_ME(Geometry, getY, NULL, 0)
-    PHP_ME(Geometry, interiorRingN, NULL, 0)
-    PHP_ME(Geometry, exteriorRing, NULL, 0)
-    PHP_ME(Geometry, numCoordinates, NULL, 0)
-    PHP_ME(Geometry, dimension, NULL, 0)
-    PHP_ME(Geometry, coordinateDimension, NULL, 0)
-    PHP_ME(Geometry, pointN, NULL, 0)
-    PHP_ME(Geometry, startPoint, NULL, 0)
-    PHP_ME(Geometry, endPoint, NULL, 0)
-    PHP_ME(Geometry, area, NULL, 0)
-    PHP_ME(Geometry, length, NULL, 0)
-    PHP_ME(Geometry, distance, NULL, 0)
-    PHP_ME(Geometry, hausdorffDistance, NULL, 0)
-    PHP_ME(Geometry, snapTo, NULL, 0)
-    PHP_ME(Geometry, node, NULL, 0)
-    PHP_ME(Geometry, delaunayTriangulation, NULL, 0)
-    PHP_ME(Geometry, voronoiDiagram, NULL, 0)
-    PHP_ME(Geometry, clipByRect, NULL, 0)
-    {NULL, NULL, NULL}
-};
-
-static zend_class_entry *Geometry_ce_ptr;
-
-static zend_object_handlers Geometry_object_handlers;
-
-/* Geometry serializer */
-
-static GEOSWKBWriter* Geometry_serializer = 0;
-
-static GEOSWKBWriter* getGeometrySerializer()
-{
-    if ( ! Geometry_serializer ) {
-        Geometry_serializer = GEOSWKBWriter_create();
-        GEOSWKBWriter_setIncludeSRID(Geometry_serializer, 1);
-        GEOSWKBWriter_setOutputDimension(Geometry_serializer, 3);
-    }
-    return Geometry_serializer;
-}
-
-static void delGeometrySerializer()
-{
-    if ( Geometry_serializer ) {
-        GEOSWKBWriter_destroy(Geometry_serializer);
-    }
-}
-
-/* Geometry deserializer */
-
-static GEOSWKBReader* Geometry_deserializer = 0;
-
-static GEOSWKBReader* getGeometryDeserializer()
-{
-    if ( ! Geometry_deserializer ) {
-        Geometry_deserializer = GEOSWKBReader_create();
-    }
-    return Geometry_deserializer;
-}
-
-static void delGeometryDeserializer()
-{
-    if ( Geometry_deserializer ) {
-        GEOSWKBReader_destroy(Geometry_deserializer);
-    }
-}
-
-/* Serializer function for GEOSGeometry */
-
-static int
-Geometry_serialize(zval *object, unsigned char **buffer, zend_uint *buf_len,
-        zend_serialize_data *data TSRMLS_DC)
-{
-    GEOSWKBWriter *serializer;
-    GEOSGeometry *geom;
-    char* ret;
-    size_t retsize;
-
-
-    serializer = getGeometrySerializer();
-    geom = (GEOSGeometry*)getRelay(object, Geometry_ce_ptr);
-
-    /* NOTE: we might be fine using binary here */
-    ret = (char*)GEOSWKBWriter_writeHEX(serializer, geom, &retsize);
-    /* we'll probably get an exception if ret is null */
-    if ( ! ret ) return FAILURE;
-
-    *buffer = (unsigned char*)estrndup(ret, retsize);
-    GEOSFree(ret);
-
-    *buf_len = retsize;
-
-    return SUCCESS; 
-}
-
-static int
-Geometry_deserialize(zval **object, zend_class_entry *ce, const unsigned char *buf,
-        zend_uint buf_len, zend_unserialize_data *data TSRMLS_DC)
-{
-    GEOSWKBReader* deserializer;
-    GEOSGeometry* geom;
-
-    deserializer = getGeometryDeserializer();
-    geom = GEOSWKBReader_readHEX(deserializer, buf, buf_len);
-
-    /* TODO: check zend_class_entry being what we expect! */
-    if ( ce != Geometry_ce_ptr ) {
-        php_error_docref(NULL TSRMLS_CC, E_ERROR,
-                "Geometry_deserialize called with unexpected zend_class_entry");
-        return FAILURE;
-    }
-    object_init_ex(*object, ce);
-    setRelay(*object, geom);
-
-    return SUCCESS;
-}
-
-/*
- * Push components of the given geometry
- * to the given array zval.
- * Components geometries are cloned.
- * NOTE: collection components are not descended into
- */
-static void
-dumpGeometry(GEOSGeometry* g, zval* array)
-{
-    TSRMLS_FETCH();
-    int ngeoms, i;
-
-    /*
-    MAKE_STD_ZVAL(array);
-    array_init(array);
-    */
-
-    ngeoms = GEOSGetNumGeometries(g);
-    for (i=0; i<ngeoms; ++i)
-    {
-        zval *tmp;
-        GEOSGeometry* cc;
-        const GEOSGeometry* c = GEOSGetGeometryN(g, i);
-        if ( ! c ) continue; /* should get an exception */
-        /* we _need_ to clone as this one is owned by 'g' */
-        cc = GEOSGeom_clone(c);
-        if ( ! cc ) continue; /* should get an exception */
-
-        MAKE_STD_ZVAL(tmp);
-        object_init_ex(tmp, Geometry_ce_ptr);
-        setRelay(tmp, cc);
-        add_next_index_zval(array, tmp); 
-    }
-}
-
-
-static void
-Geometry_dtor (void *object TSRMLS_DC)
-{
-    Proxy *obj = (Proxy *)object;
-    GEOSGeom_destroy((GEOSGeometry*)obj->relay);
-
-    zend_hash_destroy(obj->std.properties);
-    FREE_HASHTABLE(obj->std.properties);
-
-    efree(obj);
-}
-
-static zend_object_value
-Geometry_create_obj (zend_class_entry *type TSRMLS_DC)
-{
-    return Gen_create_obj(type, Geometry_dtor, &Geometry_object_handlers);
-}
-
-
-PHP_METHOD(Geometry, __construct)
-{
-    php_error_docref(NULL TSRMLS_CC, E_ERROR,
-            "GEOSGeometry can't be constructed using new, check WKTReader");
-
-}
-
-PHP_METHOD(Geometry, __toString)
-{
-    GEOSGeometry *geom;
-    GEOSWKTWriter *writer;
-    char *wkt;
-    char *ret;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-    writer = GEOSWKTWriter_create();
-    /* NOTE: if we get an exception before reaching
-     *       GEOSWKTWriter_destory below we'll be leaking memory.
-     *       One fix could be storing the object in a refcounted
-     *       zval.
-     */
-    GEOSWKTWriter_setTrim(writer, 1);
-
-    wkt = GEOSWKTWriter_write(writer, geom);
-    /* we'll probably get an exception if wkt is null */
-    if ( ! wkt ) RETURN_NULL();
-
-    GEOSWKTWriter_destroy(writer);
-    
-
-    ret = estrdup(wkt);
-    GEOSFree(wkt);
-
-    RETURN_STRING(ret, 0);
-}
-
-PHP_METHOD(Geometry, project)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    zval *zobj;
-    zend_bool normalized = 0;
-    double ret;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o|b", &zobj,
-            &normalized) == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    if ( normalized ) {
-        ret = GEOSProjectNormalized(this, other);
-    } else {
-        ret = GEOSProject(this, other);
-    }
-    if ( ret < 0 ) RETURN_NULL(); /* should get an exception first */
-
-    RETURN_DOUBLE(ret);
-}
-
-PHP_METHOD(Geometry, interpolate)
-{
-    GEOSGeometry *this;
-    double dist;
-    GEOSGeometry *ret;
-    zend_bool normalized = 0;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "d|b",
-            &dist, &normalized) == FAILURE) {
-        RETURN_NULL();
-    }
-
-    if ( normalized ) {
-        ret = GEOSInterpolateNormalized(this, dist);
-    } else {
-        ret = GEOSInterpolate(this, dist);
-    }
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-/**
- * GEOSGeometry::buffer(dist, [<styleArray>])
- *
- * styleArray keys supported:
- *  'quad_segs'
- *       Type: int 
- *       Number of segments used to approximate
- *       a quarter circle (defaults to 8).
- *  'endcap'
- *       Type: long
- *       Endcap style (defaults to GEOSBUF_CAP_ROUND)
- *  'join'
- *       Type: long
- *       Join style (defaults to GEOSBUF_JOIN_ROUND)
- *  'mitre_limit'
- *       Type: double
- *       mitre ratio limit (only affects joins with GEOSBUF_JOIN_MITRE style)
- *       'miter_limit' is also accepted as a synonym for 'mitre_limit'.
- *  'single_sided'
- *       Type: bool
- *       If true buffer lines only on one side, so that the input line
- *       will be a portion of the boundary of the returned polygon.
- *       Only applies to lineal input. Defaults to false.
- */
-PHP_METHOD(Geometry, buffer)
-{
-    GEOSGeometry *this;
-    double dist;
-    GEOSGeometry *ret;
-    GEOSBufferParams *params;
-    static const double default_mitreLimit = 5.0;
-    static const int default_endCapStyle = GEOSBUF_CAP_ROUND;
-    static const int default_joinStyle = GEOSBUF_JOIN_ROUND;
-    static const int default_quadSegs = 8;
-    long int quadSegs = default_quadSegs;
-    long int endCapStyle = default_endCapStyle;
-    long int joinStyle = default_joinStyle;
-    double mitreLimit = default_mitreLimit;
-    long singleSided = 0;
-    zval *style_val = NULL;
-    zval **data;
-    HashTable *style;
-    char *key;
-    ulong index;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "d|a",
-            &dist, &style_val) == FAILURE) {
-        RETURN_NULL();
-    }
-
-    params = GEOSBufferParams_create();
-
-    if ( style_val )
-    {
-        style = HASH_OF(style_val);
-        while(zend_hash_get_current_key(style, &key, &index, 0)
-              == HASH_KEY_IS_STRING)
-        {
-            if(!strcmp(key, "quad_segs"))
-            {
-                zend_hash_get_current_data(style, (void**)&data);
-                quadSegs = getZvalAsLong(*data);
-                GEOSBufferParams_setQuadrantSegments(params, quadSegs);
-            }
-            else if(!strcmp(key, "endcap"))
-            {
-                zend_hash_get_current_data(style, (void**)&data);
-                endCapStyle = getZvalAsLong(*data);
-                GEOSBufferParams_setEndCapStyle(params, endCapStyle);
-            }
-            else if(!strcmp(key, "join"))
-            {
-                zend_hash_get_current_data(style, (void**)&data);
-                joinStyle = getZvalAsLong(*data);
-                GEOSBufferParams_setJoinStyle(params, joinStyle);
-            }
-            else if(!strcmp(key, "mitre_limit"))
-            {
-                zend_hash_get_current_data(style, (void**)&data);
-                mitreLimit = getZvalAsDouble(*data);
-                GEOSBufferParams_setMitreLimit(params, mitreLimit);
-            }
-            else if(!strcmp(key, "single_sided"))
-            {
-                zend_hash_get_current_data(style, (void**)&data);
-                singleSided = getZvalAsLong(*data);
-                GEOSBufferParams_setSingleSided(params, singleSided);
-            }
-
-            zend_hash_move_forward(style);
-        }
-    }
-
-    ret = GEOSBufferWithParams(this, params, dist);
-    GEOSBufferParams_destroy(params);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-/**
- * GEOSGeometry::offsetCurve(dist, [<styleArray>])
- *
- * styleArray keys supported:
- *  'quad_segs'
- *       Type: int 
- *       Number of segments used to approximate
- *       a quarter circle (defaults to 8).
- *  'join'
- *       Type: long
- *       Join style (defaults to GEOSBUF_JOIN_ROUND)
- *  'mitre_limit'
- *       Type: double
- *       mitre ratio limit (only affects joins with GEOSBUF_JOIN_MITRE style)
- *       'miter_limit' is also accepted as a synonym for 'mitre_limit'.
- */
-PHP_METHOD(Geometry, offsetCurve)
-{
-    GEOSGeometry *this;
-    double dist;
-    GEOSGeometry *ret;
-    static const double default_mitreLimit = 5.0;
-    static const int default_joinStyle = GEOSBUF_JOIN_ROUND;
-    static const int default_quadSegs = 8;
-    long int quadSegs = default_quadSegs;
-    long int joinStyle = default_joinStyle;
-    double mitreLimit = default_mitreLimit;
-    zval *style_val = NULL;
-    zval **data;
-    HashTable *style;
-    char *key;
-    ulong index;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "d|a",
-            &dist, &style_val) == FAILURE) {
-        RETURN_NULL();
-    }
-
-    if ( style_val )
-    {
-        style = HASH_OF(style_val);
-        while(zend_hash_get_current_key(style, &key, &index, 0)
-              == HASH_KEY_IS_STRING)
-        {
-            if(!strcmp(key, "quad_segs"))
-            {
-                zend_hash_get_current_data(style, (void**)&data);
-                quadSegs = getZvalAsLong(*data);
-            }
-            else if(!strcmp(key, "join"))
-            {
-                zend_hash_get_current_data(style, (void**)&data);
-                joinStyle = getZvalAsLong(*data);
-            }
-            else if(!strcmp(key, "mitre_limit"))
-            {
-                zend_hash_get_current_data(style, (void**)&data);
-                mitreLimit = getZvalAsDouble(*data);
-            }
-
-            zend_hash_move_forward(style);
-        }
-    }
-
-    ret = GEOSOffsetCurve(this, dist, quadSegs, joinStyle, mitreLimit);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-PHP_METHOD(Geometry, envelope)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *ret;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSEnvelope(this);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-PHP_METHOD(Geometry, intersection)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    GEOSGeometry *ret;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-            == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSIntersection(this, other);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-/**
- * GEOSGeometry GEOSGeometry::clipByRect(xmin,ymin,xmax,ymax)
- */
-PHP_METHOD(Geometry, clipByRect)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *ret;
-    double xmin,ymin,xmax,ymax;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dddd",
-            &xmin, &ymin, &xmax, &ymax) == FAILURE) {
-        RETURN_NULL();
-    }
-
-    ret = GEOSClipByRect(this, xmin, ymin, xmax, ymax);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-PHP_METHOD(Geometry, convexHull)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *ret;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSConvexHull(this);
-    if ( ret == NULL ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-PHP_METHOD(Geometry, difference)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    GEOSGeometry *ret;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-            == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSDifference(this, other);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-PHP_METHOD(Geometry, symDifference)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    GEOSGeometry *ret;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-            == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSSymDifference(this, other);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-PHP_METHOD(Geometry, boundary)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *ret;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSBoundary(this);
-    if ( ret == NULL ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-/**
- * GEOSGeometry::union(otherGeom)
- * GEOSGeometry::union()
- */
-PHP_METHOD(Geometry, union)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    GEOSGeometry *ret;
-    zval *zobj = NULL;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|o", &zobj)
-            == FAILURE) {
-        RETURN_NULL();
-    }
-
-    if ( zobj ) {
-        other = getRelay(zobj, Geometry_ce_ptr);
-        ret = GEOSUnion(this, other);
-    } else {
-        ret = GEOSUnaryUnion(this);
-    }
-
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-/**
- * GEOSGeometry::pointOnSurface()
- */
-PHP_METHOD(Geometry, pointOnSurface)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *ret;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSPointOnSurface(this);
-    if ( ret == NULL ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-/**
- * GEOSGeometry::centroid()
- */
-PHP_METHOD(Geometry, centroid)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *ret;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSGetCentroid(this);
-    if ( ret == NULL ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-/**
- * GEOSGeometry::relate(otherGeom)
- * GEOSGeometry::relate(otherGeom, pattern)
- */
-PHP_METHOD(Geometry, relate)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    zval *zobj;
-    char* pat = NULL;
-    int patlen;
-    int retInt;
-    zend_bool retBool;
-    char* retStr;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o|s",
-        &zobj, &pat, &patlen) == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    if ( ! pat ) {
-        /* we'll compute it */
-        pat = GEOSRelate(this, other);
-        if ( ! pat ) RETURN_NULL(); /* should get an exception first */
-        retStr = estrdup(pat);
-        GEOSFree(pat);
-        RETURN_STRING(retStr, 0);
-    } else {
-        retInt = GEOSRelatePattern(this, other, pat);
-        if ( retInt == 2 ) RETURN_NULL(); /* should get an exception first */
-        retBool = retInt;
-        RETURN_BOOL(retBool);
-    }
-
-}
-
-/**
- * GEOSGeometry::relateBoundaryNodeRule(otherGeom, rule)
- */
-PHP_METHOD(Geometry, relateBoundaryNodeRule)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    zval *zobj;
-    char* pat;
-    long int bnr = GEOSRELATE_BNR_OGC;
-    char* retStr;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ol",
-        &zobj, &bnr) == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    /* we'll compute it */
-    pat = GEOSRelateBoundaryNodeRule(this, other, bnr);
-    if ( ! pat ) RETURN_NULL(); /* should get an exception first */
-    retStr = estrdup(pat);
-    GEOSFree(pat);
-    RETURN_STRING(retStr, 0);
-}
-
-/**
- * GEOSGeometry GEOSGeometry::simplify(tolerance)
- * GEOSGeometry GEOSGeometry::simplify(tolerance, preserveTopology)
- */
-PHP_METHOD(Geometry, simplify)
-{
-    GEOSGeometry *this;
-    double tolerance;
-    zend_bool preserveTopology = 0;
-    GEOSGeometry *ret;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "d|b",
-            &tolerance, &preserveTopology) == FAILURE) {
-        RETURN_NULL();
-    }
-
-    if ( preserveTopology ) {
-        ret = GEOSTopologyPreserveSimplify(this, tolerance);
-    } else {
-        ret = GEOSSimplify(this, tolerance);
-    }
-
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-/**
- * GEOSGeometry GEOSGeometry::normalize()
- */
-PHP_METHOD(Geometry, normalize)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *ret;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSGeom_clone(this);
-
-    if ( ! ret ) RETURN_NULL();
-
-    GEOSNormalize(ret); /* exception should be gotten automatically */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-/**
- * GEOSGeometry GEOSGeometry::extractUniquePoints()
- */
-PHP_METHOD(Geometry, extractUniquePoints)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *ret;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSGeom_extractUniquePoints(this);
-    if ( ret == NULL ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-/**
- * bool GEOSGeometry::disjoint(GEOSGeometry)
- */
-PHP_METHOD(Geometry, disjoint)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    int ret;
-    zend_bool retBool;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-            == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSDisjoint(this, other);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * bool GEOSGeometry::touches(GEOSGeometry)
- */
-PHP_METHOD(Geometry, touches)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    int ret;
-    zend_bool retBool;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-            == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSTouches(this, other);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * bool GEOSGeometry::intersects(GEOSGeometry)
- */
-PHP_METHOD(Geometry, intersects)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    int ret;
-    zend_bool retBool;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-            == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSIntersects(this, other);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * bool GEOSGeometry::crosses(GEOSGeometry)
- */
-PHP_METHOD(Geometry, crosses)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    int ret;
-    zend_bool retBool;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-            == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSCrosses(this, other);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * bool GEOSGeometry::within(GEOSGeometry)
- */
-PHP_METHOD(Geometry, within)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    int ret;
-    zend_bool retBool;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-            == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSWithin(this, other);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * bool GEOSGeometry::contains(GEOSGeometry)
- */
-PHP_METHOD(Geometry, contains)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    int ret;
-    zend_bool retBool;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-            == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSContains(this, other);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * bool GEOSGeometry::overlaps(GEOSGeometry)
- */
-PHP_METHOD(Geometry, overlaps)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    int ret;
-    zend_bool retBool;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-            == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSOverlaps(this, other);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * bool GEOSGeometry::covers(GEOSGeometry)
- */
-PHP_METHOD(Geometry, covers)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    int ret;
-    zend_bool retBool;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-            == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSCovers(this, other);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * bool GEOSGeometry::coveredBy(GEOSGeometry)
- */
-PHP_METHOD(Geometry, coveredBy)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    int ret;
-    zend_bool retBool;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-            == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSCoveredBy(this, other);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * bool GEOSGeometry::equals(GEOSGeometry)
- */
-PHP_METHOD(Geometry, equals)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    int ret;
-    zend_bool retBool;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o",
-        &zobj) == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSEquals(this, other);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * bool GEOSGeometry::equalsExact(GEOSGeometry)
- * bool GEOSGeometry::equalsExact(GEOSGeometry, double tolerance)
- */
-PHP_METHOD(Geometry, equalsExact)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    int ret;
-    double tolerance = 0;
-    zend_bool retBool;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o|d",
-        &zobj, &tolerance) == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSEqualsExact(this, other, tolerance);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * bool GEOSGeometry::isEmpty()
- */
-PHP_METHOD(Geometry, isEmpty)
-{
-    GEOSGeometry *this;
-    int ret;
-    zend_bool retBool;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSisEmpty(this);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * array GEOSGeometry::checkValidity()
- */
-PHP_METHOD(Geometry, checkValidity)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *location = NULL;
-    int ret;
-    char *reason = NULL;
-    zend_bool retBool;
-    char *reasonVal = NULL;
-    zval *locationVal = NULL;
-    long int flags = 0;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l",
-        &flags) == FAILURE) {
-        RETURN_NULL();
-    }
-
-    ret = GEOSisValidDetail(this, flags, &reason, &location);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    if ( reason ) {
-        reasonVal = estrdup(reason);
-        GEOSFree(reason);
-    }
-
-    if ( location ) {
-        MAKE_STD_ZVAL(locationVal);
-        object_init_ex(locationVal, Geometry_ce_ptr);
-        setRelay(locationVal, location);
-    }
-
-    retBool = ret;
-
-    /* return value is an array */
-    array_init(return_value);
-    add_assoc_bool(return_value, "valid", retBool); 
-    if ( reasonVal ) add_assoc_string(return_value, "reason", reasonVal, 0); 
-    if ( locationVal ) add_assoc_zval(return_value, "location", locationVal); 
-
-}
-
-/**
- * bool GEOSGeometry::isSimple()
- */
-PHP_METHOD(Geometry, isSimple)
-{
-    GEOSGeometry *this;
-    int ret;
-    zend_bool retBool;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSisSimple(this);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * bool GEOSGeometry::isRing()
- */
-PHP_METHOD(Geometry, isRing)
-{
-    GEOSGeometry *this;
-    int ret;
-    zend_bool retBool;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSisRing(this);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * bool GEOSGeometry::hasZ()
- */
-PHP_METHOD(Geometry, hasZ)
-{
-    GEOSGeometry *this;
-    int ret;
-    zend_bool retBool;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSHasZ(this);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * bool GEOSGeometry::isClosed()
- */
-PHP_METHOD(Geometry, isClosed)
-{
-    GEOSGeometry *this;
-    int ret;
-    zend_bool retBool;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSisClosed(this);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/**
- * string GEOSGeometry::typeName()
- */
-PHP_METHOD(Geometry, typeName)
-{
-    GEOSGeometry *this;
-    char *typ;
-    char *typVal;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    /* TODO: define constant strings instead... */
-
-    typ = GEOSGeomType(this);
-    if ( ! typ ) RETURN_NULL(); /* should get an exception first */
-
-    typVal = estrdup(typ);
-    GEOSFree(typ);
-
-    RETURN_STRING(typVal, 0);
-}
-
-/**
- * long GEOSGeometry::typeId()
- */
-PHP_METHOD(Geometry, typeId)
-{
-    GEOSGeometry *this;
-    long typ;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    /* TODO: define constant strings instead... */
-
-    typ = GEOSGeomTypeId(this);
-    if ( typ == -1 ) RETURN_NULL(); /* should get an exception first */
-
-    RETURN_LONG(typ);
-}
-
-/**
- * long GEOSGeometry::getSRID()
- */
-PHP_METHOD(Geometry, getSRID)
-{
-    GEOSGeometry *geom;
-    long int ret;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSGetSRID(geom);
-
-    RETURN_LONG(ret);
-}
-
-/**
- * void GEOSGeometry::setSRID(long)
- */
-PHP_METHOD(Geometry, setSRID)
-{
-    GEOSGeometry *geom;
-    long int srid;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l",
-        &srid) == FAILURE) {
-        RETURN_NULL();
-    }
-
-    GEOSSetSRID(geom, srid);
-}
-
-/**
- * long GEOSGeometry::numGeometries()
- */
-PHP_METHOD(Geometry, numGeometries)
-{
-    GEOSGeometry *geom;
-    long int ret;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSGetNumGeometries(geom);
-    if ( ret == -1 ) RETURN_NULL(); /* should get an exception first */
-
-    RETURN_LONG(ret);
-}
-
-/**
- * GEOSGeometry GEOSGeometry::geometryN()
- */
-PHP_METHOD(Geometry, geometryN)
-{
-    GEOSGeometry *geom;
-    const GEOSGeometry *c;
-    GEOSGeometry *cc;
-    long int num;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l",
-        &num) == FAILURE) {
-        RETURN_NULL();
-    }
-
-    if ( num >= GEOSGetNumGeometries(geom) ) RETURN_NULL(); 
-    c = GEOSGetGeometryN(geom, num);
-    if ( ! c ) RETURN_NULL(); /* should get an exception first */
-    cc = GEOSGeom_clone(c);
-    if ( ! cc ) RETURN_NULL(); /* should get an exception first */
-
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, cc);
-}
-
-/**
- * long GEOSGeometry::numInteriorRings()
- */
-PHP_METHOD(Geometry, numInteriorRings)
-{
-    GEOSGeometry *geom;
-    long int ret;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSGetNumInteriorRings(geom);
-    if ( ret == -1 ) RETURN_NULL(); /* should get an exception first */
-
-    RETURN_LONG(ret);
-}
-
-/**
- * long GEOSGeometry::numPoints()
- */
-PHP_METHOD(Geometry, numPoints)
-{
-    GEOSGeometry *geom;
-    long int ret;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSGeomGetNumPoints(geom);
-    if ( ret == -1 ) RETURN_NULL(); /* should get an exception first */
-
-    RETURN_LONG(ret);
-}
-
-/**
- * double GEOSGeometry::getX()
- */
-PHP_METHOD(Geometry, getX)
-{
-    GEOSGeometry *geom;
-    int ret;
-    double x;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSGeomGetX(geom, &x);
-    if ( ret == -1 ) RETURN_NULL(); /* should get an exception first */
-
-    RETURN_DOUBLE(x);
-}
-
-/**
- * double GEOSGeometry::getY()
- */
-PHP_METHOD(Geometry, getY)
-{
-    GEOSGeometry *geom;
-    int ret;
-    double y;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSGeomGetY(geom, &y);
-    if ( ret == -1 ) RETURN_NULL(); /* should get an exception first */
-
-    RETURN_DOUBLE(y);
-}
-
-/**
- * GEOSGeometry GEOSGeometry::interiorRingN()
- */
-PHP_METHOD(Geometry, interiorRingN)
-{
-    GEOSGeometry *geom;
-    const GEOSGeometry *c;
-    GEOSGeometry *cc;
-    long int num;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l",
-        &num) == FAILURE) {
-        RETURN_NULL();
-    }
-
-    if ( num >= GEOSGetNumInteriorRings(geom) ) RETURN_NULL(); 
-    c = GEOSGetInteriorRingN(geom, num);
-    if ( ! c ) RETURN_NULL(); /* should get an exception first */
-    cc = GEOSGeom_clone(c);
-    if ( ! cc ) RETURN_NULL(); /* should get an exception first */
-
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, cc);
-}
-
-/**
- * GEOSGeometry GEOSGeometry::exteriorRing()
- */
-PHP_METHOD(Geometry, exteriorRing)
-{
-    GEOSGeometry *geom;
-    const GEOSGeometry *c;
-    GEOSGeometry *cc;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    c = GEOSGetExteriorRing(geom);
-    if ( ! c ) RETURN_NULL(); /* should get an exception first */
-    cc = GEOSGeom_clone(c);
-    if ( ! cc ) RETURN_NULL(); /* should get an exception first */
-
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, cc);
-}
-
-/**
- * long GEOSGeometry::numCoordinates()
- */
-PHP_METHOD(Geometry, numCoordinates)
-{
-    GEOSGeometry *geom;
-    long int ret;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSGetNumCoordinates(geom);
-    if ( ret == -1 ) RETURN_NULL(); /* should get an exception first */
-
-    RETURN_LONG(ret);
-}
-
-/**
- * long GEOSGeometry::dimension()
- * 0:puntual 1:lineal 2:areal
- */
-PHP_METHOD(Geometry, dimension)
-{
-    GEOSGeometry *geom;
-    long int ret;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSGeom_getDimensions(geom);
-    if ( ret == -1 ) RETURN_NULL(); /* should get an exception first */
-
-    RETURN_LONG(ret);
-}
-
-/**
- * long GEOSGeometry::coordinateDimension()
- */
-PHP_METHOD(Geometry, coordinateDimension)
-{
-    GEOSGeometry *geom;
-    long int ret;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSGeom_getCoordinateDimension(geom);
-    if ( ret == -1 ) RETURN_NULL(); /* should get an exception first */
-
-    RETURN_LONG(ret);
-}
-
-/**
- * GEOSGeometry GEOSGeometry::pointN()
- */
-PHP_METHOD(Geometry, pointN)
-{
-    GEOSGeometry *geom;
-    GEOSGeometry *c;
-    long int num;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l",
-        &num) == FAILURE) {
-        RETURN_NULL();
-    }
-
-    if ( num >= GEOSGeomGetNumPoints(geom) ) RETURN_NULL(); 
-    c = GEOSGeomGetPointN(geom, num);
-    if ( ! c ) RETURN_NULL(); /* should get an exception first */
-
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, c);
-}
-
-/**
- * GEOSGeometry GEOSGeometry::startPoint()
- */
-PHP_METHOD(Geometry, startPoint)
-{
-    GEOSGeometry *geom;
-    GEOSGeometry *c;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    c = GEOSGeomGetStartPoint(geom);
-    if ( ! c ) RETURN_NULL(); /* should get an exception first */
-
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, c);
-}
-
-/**
- * GEOSGeometry GEOSGeometry::endPoint()
- */
-PHP_METHOD(Geometry, endPoint)
-{
-    GEOSGeometry *geom;
-    GEOSGeometry *c;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    c = GEOSGeomGetEndPoint(geom);
-    if ( ! c ) RETURN_NULL(); /* should get an exception first */
-
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, c);
-}
-
-/**
- * double GEOSGeometry::area()
- */
-PHP_METHOD(Geometry, area)
-{
-    GEOSGeometry *geom;
-    double area;
-    int ret;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSArea(geom, &area);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    RETURN_DOUBLE(area);
-}
-
-/**
- * double GEOSGeometry::length()
- */
-PHP_METHOD(Geometry, length)
-{
-    GEOSGeometry *geom;
-    double length;
-    int ret;
-
-    geom = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSLength(geom, &length);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    RETURN_DOUBLE(length);
-}
-
-/**
- * double GEOSGeometry::distance(GEOSGeometry)
- */
-PHP_METHOD(Geometry, distance)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    zval *zobj;
-    double dist;
-    int ret;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o",
-        &zobj) == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSDistance(this, other, &dist);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    RETURN_DOUBLE(dist);
-}
-
-/**
- * double GEOSGeometry::hausdorffDistance(GEOSGeometry)
- */
-PHP_METHOD(Geometry, hausdorffDistance)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    zval *zobj;
-    double dist;
-    int ret;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o",
-        &zobj) == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSHausdorffDistance(this, other, &dist);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    RETURN_DOUBLE(dist);
-}
-
-PHP_METHOD(Geometry, snapTo)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *other;
-    GEOSGeometry *ret;
-    double tolerance;
-    zval *zobj;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "od", &zobj,
-            &tolerance) == FAILURE) {
-        RETURN_NULL();
-    }
-    other = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = GEOSSnap(this, other, tolerance);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-PHP_METHOD(Geometry, node)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *ret;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    ret = GEOSNode(this);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-
-
-/* -- class GEOSWKTReader -------------------- */
-
-PHP_METHOD(WKTReader, __construct);
-PHP_METHOD(WKTReader, read);
-
-static zend_function_entry WKTReader_methods[] = {
-    PHP_ME(WKTReader, __construct, NULL, 0)
-    PHP_ME(WKTReader, read, NULL, 0)
-    {NULL, NULL, NULL}
-};
-
-static zend_class_entry *WKTReader_ce_ptr;
-
-static zend_object_handlers WKTReader_object_handlers;
-
-static void
-WKTReader_dtor (void *object TSRMLS_DC)
-{
-    Proxy *obj = (Proxy *)object;
-    GEOSWKTReader_destroy((GEOSWKTReader*)obj->relay);
-
-    zend_hash_destroy(obj->std.properties);
-    FREE_HASHTABLE(obj->std.properties);
-
-    efree(obj);
-}
-
-static zend_object_value
-WKTReader_create_obj (zend_class_entry *type TSRMLS_DC)
-{
-    return Gen_create_obj(type, WKTReader_dtor, &WKTReader_object_handlers);
-}
-
-
-PHP_METHOD(WKTReader, __construct)
-{
-    GEOSWKTReader* obj;
-    zval *object = getThis();
-
-    obj = GEOSWKTReader_create();
-    if ( ! obj ) {
-        php_error_docref(NULL TSRMLS_CC, E_ERROR,
-                "GEOSWKTReader_create() failed (didn't initGEOS?)");
-    }
-
-    setRelay(object, obj);
-}
-
-PHP_METHOD(WKTReader, read)
-{
-    GEOSWKTReader *reader;
-    GEOSGeometry *geom;
-    char* wkt;
-    int wktlen;
-
-    reader = (GEOSWKTReader*)getRelay(getThis(), WKTReader_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
-        &wkt, &wktlen) == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    geom = GEOSWKTReader_read(reader, wkt);
-    /* we'll probably get an exception if geom is null */
-    if ( ! geom ) RETURN_NULL();
- 
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, geom);
-
-}
-
-/* -- class GEOSWKTWriter -------------------- */
-
-PHP_METHOD(WKTWriter, __construct);
-PHP_METHOD(WKTWriter, write);
-PHP_METHOD(WKTWriter, setTrim);
-PHP_METHOD(WKTWriter, setRoundingPrecision);
-PHP_METHOD(WKTWriter, setOutputDimension);
-PHP_METHOD(WKTWriter, getOutputDimension);
-PHP_METHOD(WKTWriter, setOld3D);
-
-static zend_function_entry WKTWriter_methods[] = {
-    PHP_ME(WKTWriter, __construct, NULL, 0)
-    PHP_ME(WKTWriter, write, NULL, 0)
-    PHP_ME(WKTWriter, setTrim, NULL, 0)
-    PHP_ME(WKTWriter, setRoundingPrecision, NULL, 0)
-    PHP_ME(WKTWriter, setOutputDimension, NULL, 0)
-    PHP_ME(WKTWriter, getOutputDimension, NULL, 0)
-    PHP_ME(WKTWriter, setOld3D, NULL, 0)
-    {NULL, NULL, NULL}
-};
-
-static zend_class_entry *WKTWriter_ce_ptr;
-
-static zend_object_handlers WKTWriter_object_handlers;
-
-static void
-WKTWriter_dtor (void *object TSRMLS_DC)
-{
-    Proxy *obj = (Proxy *)object;
-    GEOSWKTWriter_destroy((GEOSWKTWriter*)obj->relay);
-
-    zend_hash_destroy(obj->std.properties);
-    FREE_HASHTABLE(obj->std.properties);
-
-    efree(obj);
-}
-
-static zend_object_value
-WKTWriter_create_obj (zend_class_entry *type TSRMLS_DC)
-{
-    return Gen_create_obj(type, WKTWriter_dtor, &WKTWriter_object_handlers);
-}
-
-PHP_METHOD(WKTWriter, __construct)
-{
-    GEOSWKTWriter* obj;
-    zval *object = getThis();
-
-    obj = GEOSWKTWriter_create();
-    if ( ! obj ) {
-        php_error_docref(NULL TSRMLS_CC, E_ERROR,
-                "GEOSWKTWriter_create() failed (didn't initGEOS?)");
-    }
-
-    setRelay(object, obj);
-}
-
-PHP_METHOD(WKTWriter, write)
-{
-    GEOSWKTWriter *writer;
-    zval *zobj;
-    GEOSGeometry *geom;
-    char* wkt;
-    char* retstr;
-
-    writer = (GEOSWKTWriter*)getRelay(getThis(), WKTWriter_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-        == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    geom = getRelay(zobj, Geometry_ce_ptr);
-
-    wkt = GEOSWKTWriter_write(writer, geom);
-    /* we'll probably get an exception if wkt is null */
-    if ( ! wkt ) RETURN_NULL();
-
-    retstr = estrdup(wkt);
-    GEOSFree(wkt);
-
-    RETURN_STRING(retstr, 0);
-}
-
-PHP_METHOD(WKTWriter, setTrim)
-{
-    GEOSWKTWriter *writer;
-    zend_bool trimval;
-    char trim;
-
-    writer = (GEOSWKTWriter*)getRelay(getThis(), WKTWriter_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "b", &trimval)
-        == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    trim = trimval;
-    GEOSWKTWriter_setTrim(writer, trim);
-}
-
-PHP_METHOD(WKTWriter, setRoundingPrecision)
-{
-    GEOSWKTWriter *writer;
-    long int prec;
-
-    writer = (GEOSWKTWriter*)getRelay(getThis(), WKTWriter_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &prec)
-        == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    GEOSWKTWriter_setRoundingPrecision(writer, prec);
-}
-
-/**
- * void GEOSWKTWriter::setOutputDimension()
- */
-PHP_METHOD(WKTWriter, setOutputDimension)
-{
-    GEOSWKTWriter *writer;
-    long int dim;
-
-    writer = (GEOSWKTWriter*)getRelay(getThis(), WKTWriter_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &dim)
-        == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    GEOSWKTWriter_setOutputDimension(writer, dim);
-}
-
-/**
- * long GEOSWKTWriter::getOutputDimension()
- */
-PHP_METHOD(WKTWriter, getOutputDimension)
-{
-    GEOSWKTWriter *writer;
-    long int ret;
-
-    writer = (GEOSWKTWriter*)getRelay(getThis(), WKTWriter_ce_ptr);
-
-    ret = GEOSWKTWriter_getOutputDimension(writer);
-
-    RETURN_LONG(ret);
-}
-
-PHP_METHOD(WKTWriter, setOld3D)
-{
-    GEOSWKTWriter *writer;
-    zend_bool bval;
-    int val;
-
-    writer = (GEOSWKTWriter*)getRelay(getThis(), WKTWriter_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "b", &bval)
-        == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    val = bval;
-    GEOSWKTWriter_setOld3D(writer, val);
-}
-
-/* -- class GEOSWKBWriter -------------------- */
-
-PHP_METHOD(WKBWriter, __construct);
-PHP_METHOD(WKBWriter, getOutputDimension);
-PHP_METHOD(WKBWriter, setOutputDimension);
-PHP_METHOD(WKBWriter, getByteOrder);
-PHP_METHOD(WKBWriter, setByteOrder);
-PHP_METHOD(WKBWriter, setIncludeSRID);
-PHP_METHOD(WKBWriter, getIncludeSRID);
-PHP_METHOD(WKBWriter, write);
-PHP_METHOD(WKBWriter, writeHEX);
-
-static zend_function_entry WKBWriter_methods[] = {
-    PHP_ME(WKBWriter, __construct, NULL, 0)
-    PHP_ME(WKBWriter, getOutputDimension, NULL, 0)
-    PHP_ME(WKBWriter, setOutputDimension, NULL, 0)
-    PHP_ME(WKBWriter, getByteOrder, NULL, 0)
-    PHP_ME(WKBWriter, setByteOrder, NULL, 0)
-    PHP_ME(WKBWriter, getIncludeSRID, NULL, 0)
-    PHP_ME(WKBWriter, setIncludeSRID, NULL, 0)
-    PHP_ME(WKBWriter, write, NULL, 0)
-    PHP_ME(WKBWriter, writeHEX, NULL, 0)
-    {NULL, NULL, NULL}
-};
-
-static zend_class_entry *WKBWriter_ce_ptr;
-
-static zend_object_handlers WKBWriter_object_handlers;
-
-static void
-WKBWriter_dtor (void *object TSRMLS_DC)
-{
-    Proxy *obj = (Proxy *)object;
-    GEOSWKBWriter_destroy((GEOSWKBWriter*)obj->relay);
-
-    zend_hash_destroy(obj->std.properties);
-    FREE_HASHTABLE(obj->std.properties);
-
-    efree(obj);
-}
-
-static zend_object_value
-WKBWriter_create_obj (zend_class_entry *type TSRMLS_DC)
-{
-    return Gen_create_obj(type, WKBWriter_dtor, &WKBWriter_object_handlers);
-}
-
-/**
- * GEOSWKBWriter w = new GEOSWKBWriter()
- */
-PHP_METHOD(WKBWriter, __construct)
-{
-    GEOSWKBWriter* obj;
-    zval *object = getThis();
-
-    obj = GEOSWKBWriter_create();
-    if ( ! obj ) {
-        php_error_docref(NULL TSRMLS_CC, E_ERROR,
-                "GEOSWKBWriter_create() failed (didn't initGEOS?)");
-    }
-
-    setRelay(object, obj);
-}
-
-/**
- * long GEOSWKBWriter::getOutputDimension();
- */
-PHP_METHOD(WKBWriter, getOutputDimension)
-{
-    GEOSWKBWriter *writer;
-    long int ret;
-
-    writer = (GEOSWKBWriter*)getRelay(getThis(), WKBWriter_ce_ptr);
-
-    ret = GEOSWKBWriter_getOutputDimension(writer);
-
-    RETURN_LONG(ret);
-}
-
-/**
- * void GEOSWKBWriter::setOutputDimension(dims);
- */
-PHP_METHOD(WKBWriter, setOutputDimension)
-{
-    GEOSWKBWriter *writer;
-    long int dim;
-
-    writer = (GEOSWKBWriter*)getRelay(getThis(), WKBWriter_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &dim)
-        == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    GEOSWKBWriter_setOutputDimension(writer, dim);
-
-}
-
-/**
- * string GEOSWKBWriter::write(GEOSGeometry)
- */
-PHP_METHOD(WKBWriter, write)
-{
-    GEOSWKBWriter *writer;
-    zval *zobj;
-    GEOSGeometry *geom;
-    char *ret;
-    size_t retsize;
-    char* retstr;
-
-    writer = (GEOSWKBWriter*)getRelay(getThis(), WKBWriter_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-        == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    geom = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = (char*)GEOSWKBWriter_write(writer, geom, &retsize);
-    /* we'll probably get an exception if ret is null */
-    if ( ! ret ) RETURN_NULL();
-
-    retstr = estrndup(ret, retsize);
-    GEOSFree(ret);
-
-    RETURN_STRINGL(retstr, retsize, 0);
-}
-
-/**
- * string GEOSWKBWriter::writeHEX(GEOSGeometry)
- */
-PHP_METHOD(WKBWriter, writeHEX)
-{
-    GEOSWKBWriter *writer;
-    zval *zobj;
-    GEOSGeometry *geom;
-    char *ret;
-    size_t retsize; /* useless... */
-    char* retstr;
-
-    writer = (GEOSWKBWriter*)getRelay(getThis(), WKBWriter_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-        == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    geom = getRelay(zobj, Geometry_ce_ptr);
-
-    ret = (char*)GEOSWKBWriter_writeHEX(writer, geom, &retsize);
-    /* we'll probably get an exception if ret is null */
-    if ( ! ret ) RETURN_NULL();
-
-    retstr = estrndup(ret, retsize);
-    GEOSFree(ret);
-
-    RETURN_STRING(retstr, 0);
-}
-
-/**
- * long GEOSWKBWriter::getByteOrder();
- */
-PHP_METHOD(WKBWriter, getByteOrder)
-{
-    GEOSWKBWriter *writer;
-    long int ret;
-
-    writer = (GEOSWKBWriter*)getRelay(getThis(), WKBWriter_ce_ptr);
-
-    ret = GEOSWKBWriter_getByteOrder(writer);
-
-    RETURN_LONG(ret);
-}
-
-/**
- * void GEOSWKBWriter::setByteOrder(dims);
- */
-PHP_METHOD(WKBWriter, setByteOrder)
-{
-    GEOSWKBWriter *writer;
-    long int dim;
-
-    writer = (GEOSWKBWriter*)getRelay(getThis(), WKBWriter_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &dim)
-        == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    GEOSWKBWriter_setByteOrder(writer, dim);
-
-}
-
-/**
- * bool GEOSWKBWriter::getIncludeSRID();
- */
-PHP_METHOD(WKBWriter, getIncludeSRID)
-{
-    GEOSWKBWriter *writer;
-    int ret;
-    zend_bool retBool;
-
-    writer = (GEOSWKBWriter*)getRelay(getThis(), WKBWriter_ce_ptr);
-
-    ret = GEOSWKBWriter_getIncludeSRID(writer);
-    retBool = ret;
-
-    RETURN_BOOL(retBool);
-}
-
-/**
- * void GEOSWKBWriter::setIncludeSRID(bool);
- */
-PHP_METHOD(WKBWriter, setIncludeSRID)
-{
-    GEOSWKBWriter *writer;
-    int inc;
-    zend_bool incVal;
-
-    writer = (GEOSWKBWriter*)getRelay(getThis(), WKBWriter_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "b", &incVal)
-        == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    inc = incVal;
-    GEOSWKBWriter_setIncludeSRID(writer, inc);
-}
-
-/* -- class GEOSWKBReader -------------------- */
-
-PHP_METHOD(WKBReader, __construct);
-PHP_METHOD(WKBReader, read);
-PHP_METHOD(WKBReader, readHEX);
-
-static zend_function_entry WKBReader_methods[] = {
-    PHP_ME(WKBReader, __construct, NULL, 0)
-    PHP_ME(WKBReader, read, NULL, 0)
-    PHP_ME(WKBReader, readHEX, NULL, 0)
-    {NULL, NULL, NULL}
-};
-
-static zend_class_entry *WKBReader_ce_ptr;
-
-static zend_object_handlers WKBReader_object_handlers;
-
-static void
-WKBReader_dtor (void *object TSRMLS_DC)
-{
-    Proxy *obj = (Proxy *)object;
-    GEOSWKBReader_destroy((GEOSWKBReader*)obj->relay);
-
-    zend_hash_destroy(obj->std.properties);
-    FREE_HASHTABLE(obj->std.properties);
-
-    efree(obj);
-}
-
-static zend_object_value
-WKBReader_create_obj (zend_class_entry *type TSRMLS_DC)
-{
-    return Gen_create_obj(type, WKBReader_dtor, &WKBReader_object_handlers);
-}
-
-
-PHP_METHOD(WKBReader, __construct)
-{
-    GEOSWKBReader* obj;
-    zval *object = getThis();
-
-    obj = GEOSWKBReader_create();
-    if ( ! obj ) {
-        php_error_docref(NULL TSRMLS_CC, E_ERROR,
-                "GEOSWKBReader_create() failed (didn't initGEOS?)");
-    }
-
-    setRelay(object, obj);
-}
-
-PHP_METHOD(WKBReader, read)
-{
-    GEOSWKBReader *reader;
-    GEOSGeometry *geom;
-    unsigned char* wkb;
-    int wkblen;
-
-    reader = (GEOSWKBReader*)getRelay(getThis(), WKBReader_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
-        &wkb, &wkblen) == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    geom = GEOSWKBReader_read(reader, wkb, wkblen);
-    /* we'll probably get an exception if geom is null */
-    if ( ! geom ) RETURN_NULL();
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, geom);
-
-}
-
-PHP_METHOD(WKBReader, readHEX)
-{
-    GEOSWKBReader *reader;
-    GEOSGeometry *geom;
-    unsigned char* wkb;
-    int wkblen;
-
-    reader = (GEOSWKBReader*)getRelay(getThis(), WKBReader_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
-        &wkb, &wkblen) == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    geom = GEOSWKBReader_readHEX(reader, wkb, wkblen);
-    /* we'll probably get an exception if geom is null */
-    if ( ! geom ) RETURN_NULL();
- 
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, geom);
-
-}
-
-
-/* -- Free functions ------------------------- */
-
-/**
- * string GEOSVersion()
- */
-PHP_FUNCTION(GEOSVersion)
-{
-    char *str;
-
-    str = estrdup(GEOSversion());
-    RETURN_STRING(str, 0);
-}
-
-/**
- * array GEOSPolygonize(GEOSGeometry $geom)
- *
- * The returned array contains the following elements:
- *
- *  - 'rings'
- *      Type: array of GEOSGeometry 
- *      Rings that can be formed by the costituent
- *      linework of geometry.
- *  - 'cut_edges' (optional)
- *      Type: array of GEOSGeometry 
- *      Edges which are connected at both ends but
- *      which do not form part of polygon.
- *  - 'dangles'
- *      Type: array of GEOSGeometry 
- *      Edges which have one or both ends which are
- *      not incident on another edge endpoint
- *  - 'invalid_rings' 
- *      Type: array of GEOSGeometry
- *      Edges which form rings which are invalid
- *      (e.g. the component lines contain a self-intersection)
- *
- */
-PHP_FUNCTION(GEOSPolygonize)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *rings;
-    GEOSGeometry *cut_edges;
-    GEOSGeometry *dangles;
-    GEOSGeometry *invalid_rings;
-    zval *array_elem;
-    zval *zobj;
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-        == FAILURE)
-    {
-        RETURN_NULL();
-    }
-    this = getRelay(zobj, Geometry_ce_ptr);
-
-    rings = GEOSPolygonize_full(this, &cut_edges, &dangles, &invalid_rings);
-    if ( ! rings ) RETURN_NULL(); /* should get an exception first */
-
-    /* return value should be an array */
-    array_init(return_value);
-
-    MAKE_STD_ZVAL(array_elem);
-    array_init(array_elem);
-    dumpGeometry(rings, array_elem);
-    GEOSGeom_destroy(rings);
-    add_assoc_zval(return_value, "rings", array_elem); 
-
-    MAKE_STD_ZVAL(array_elem);
-    array_init(array_elem);
-    dumpGeometry(cut_edges, array_elem);
-    GEOSGeom_destroy(cut_edges);
-    add_assoc_zval(return_value, "cut_edges", array_elem);
-
-    MAKE_STD_ZVAL(array_elem);
-    array_init(array_elem);
-    dumpGeometry(dangles, array_elem);
-    GEOSGeom_destroy(dangles);
-    add_assoc_zval(return_value, "dangles", array_elem);
-
-    MAKE_STD_ZVAL(array_elem);
-    array_init(array_elem);
-    dumpGeometry(invalid_rings, array_elem);
-    GEOSGeom_destroy(invalid_rings);
-    add_assoc_zval(return_value, "invalid_rings", array_elem);
-
-}
-
-/**
- * array GEOSLineMerge(GEOSGeometry $geom)
- */
-PHP_FUNCTION(GEOSLineMerge)
-{
-    GEOSGeometry *geom_in;
-    GEOSGeometry *geom_out;
-    zval *zobj;
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &zobj)
-        == FAILURE)
-    {
-        RETURN_NULL();
-    }
-    geom_in = getRelay(zobj, Geometry_ce_ptr);
-
-    geom_out = GEOSLineMerge(geom_in);
-    if ( ! geom_out ) RETURN_NULL(); /* should get an exception first */
-
-    /* return value should be an array */
-    array_init(return_value);
-    dumpGeometry(geom_out, return_value);
-    GEOSGeom_destroy(geom_out);
-}
-
-/**
- * GEOSGeometry GEOSSharedPaths(GEOSGeometry $geom1, GEOSGeometry *geom2)
- */
-PHP_FUNCTION(GEOSSharedPaths)
-{
-    GEOSGeometry *geom_in_1;
-    GEOSGeometry *geom_in_2;
-    GEOSGeometry *geom_out;
-    zval *zobj1, *zobj2;
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "oo", &zobj1, &zobj2)
-        == FAILURE)
-    {
-        RETURN_NULL();
-    }
-    geom_in_1 = getRelay(zobj1, Geometry_ce_ptr);
-    geom_in_2 = getRelay(zobj2, Geometry_ce_ptr);
-
-    geom_out = GEOSSharedPaths(geom_in_1, geom_in_2);
-    if ( ! geom_out ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, geom_out);
-}
-
-/**
- * GEOSGeometry::delaunayTriangulation([<tolerance>], [<onlyEdges>])
- *
- *  'tolerance'
- *       Type: double
- *       snapping tolerance to use for improved robustness
- *  'onlyEdges'
- *       Type: boolean
- *       if true will return a MULTILINESTRING, otherwise (the default)
- *       it will return a GEOMETRYCOLLECTION containing triangular POLYGONs.
- */
-PHP_METHOD(Geometry, delaunayTriangulation)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *ret;
-    double tolerance = 0.0;
-    zend_bool edgeonly = 0;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|db",
-            &tolerance, &edgeonly) == FAILURE) {
-        RETURN_NULL();
-    }
-
-    ret = GEOSDelaunayTriangulation(this, tolerance, edgeonly ? 1 : 0);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-/**
- * GEOSGeometry::voronoiDiagram([<tolerance>], [<onlyEdges>], [<extent>])
- *
- *  'tolerance'
- *       Type: double
- *       snapping tolerance to use for improved robustness
- *  'onlyEdges'
- *       Type: boolean
- *       if true will return a MULTILINESTRING, otherwise (the default)
- *       it will return a GEOMETRYCOLLECTION containing POLYGONs.
- *  'extent'
- *       Type: geometry
- *       Clip returned diagram by the extent of the given geometry
- */
-PHP_METHOD(Geometry, voronoiDiagram)
-{
-    GEOSGeometry *this;
-    GEOSGeometry *ret;
-    zval *zobj = 0;
-    GEOSGeometry *env = 0;
-    double tolerance = 0.0;
-    zend_bool edgeonly = 0;
-
-    this = (GEOSGeometry*)getRelay(getThis(), Geometry_ce_ptr);
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|dbo",
-            &tolerance, &edgeonly, &zobj) == FAILURE) {
-        RETURN_NULL();
-    }
-
-    if ( zobj ) env = getRelay(zobj, Geometry_ce_ptr);
-    ret = GEOSVoronoiDiagram(this, env, tolerance, edgeonly ? 1 : 0);
-    if ( ! ret ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    object_init_ex(return_value, Geometry_ce_ptr);
-    setRelay(return_value, ret);
-}
-
-/**
- * bool GEOSRelateMatch(string matrix, string pattern)
- */
-PHP_FUNCTION(GEOSRelateMatch)
-{
-    char* mat = NULL;
-    int matlen;
-    char* pat = NULL;
-    int patlen;
-    int ret;
-    zend_bool retBool;
-
-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
-        &mat, &matlen, &pat, &patlen) == FAILURE)
-    {
-        RETURN_NULL();
-    }
-
-    ret = GEOSRelatePatternMatch(mat, pat);
-    if ( ret == 2 ) RETURN_NULL(); /* should get an exception first */
-
-    /* return_value is a zval */
-    retBool = ret;
-    RETURN_BOOL(retBool);
-}
-
-/* ------ Initialization / Deinitialization / Meta ------------------ */
-
-/* per-module initialization */
-PHP_MINIT_FUNCTION(geos)
-{
-    zend_class_entry ce;
-
-    /* WKTReader */
-    INIT_CLASS_ENTRY(ce, "GEOSWKTReader", WKTReader_methods);
-    WKTReader_ce_ptr = zend_register_internal_class(&ce TSRMLS_CC);
-    WKTReader_ce_ptr->create_object = WKTReader_create_obj;
-    memcpy(&WKTReader_object_handlers,
-        zend_get_std_object_handlers(), sizeof(zend_object_handlers));
-    WKTReader_object_handlers.clone_obj = NULL;
-
-    /* WKTWriter */
-    INIT_CLASS_ENTRY(ce, "GEOSWKTWriter", WKTWriter_methods);
-    WKTWriter_ce_ptr = zend_register_internal_class(&ce TSRMLS_CC);
-    WKTWriter_ce_ptr->create_object = WKTWriter_create_obj;
-    memcpy(&WKTWriter_object_handlers,
-        zend_get_std_object_handlers(), sizeof(zend_object_handlers));
-    WKTWriter_object_handlers.clone_obj = NULL;
-
-    /* Geometry */
-    INIT_CLASS_ENTRY(ce, "GEOSGeometry", Geometry_methods);
-    Geometry_ce_ptr = zend_register_internal_class(&ce TSRMLS_CC);
-    Geometry_ce_ptr->create_object = Geometry_create_obj;
-    memcpy(&Geometry_object_handlers,
-        zend_get_std_object_handlers(), sizeof(zend_object_handlers));
-    Geometry_object_handlers.clone_obj = NULL;
-    /* Geometry serialization */
-    Geometry_ce_ptr->serialize = Geometry_serialize;
-    Geometry_ce_ptr->unserialize = Geometry_deserialize;
-
-    /* WKBWriter */
-    INIT_CLASS_ENTRY(ce, "GEOSWKBWriter", WKBWriter_methods);
-    WKBWriter_ce_ptr = zend_register_internal_class(&ce TSRMLS_CC);
-    WKBWriter_ce_ptr->create_object = WKBWriter_create_obj;
-    memcpy(&WKBWriter_object_handlers,
-        zend_get_std_object_handlers(), sizeof(zend_object_handlers));
-    WKBWriter_object_handlers.clone_obj = NULL;
-
-    /* WKBReader */
-    INIT_CLASS_ENTRY(ce, "GEOSWKBReader", WKBReader_methods);
-    WKBReader_ce_ptr = zend_register_internal_class(&ce TSRMLS_CC);
-    WKBReader_ce_ptr->create_object = WKBReader_create_obj;
-    memcpy(&WKBReader_object_handlers,
-        zend_get_std_object_handlers(), sizeof(zend_object_handlers));
-    WKBReader_object_handlers.clone_obj = NULL;
-
-
-    /* Constants */
-    REGISTER_LONG_CONSTANT("GEOSBUF_CAP_ROUND",  GEOSBUF_CAP_ROUND,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOSBUF_CAP_FLAT",   GEOSBUF_CAP_FLAT,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOSBUF_CAP_SQUARE", GEOSBUF_CAP_SQUARE,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOSBUF_JOIN_ROUND", GEOSBUF_JOIN_ROUND,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOSBUF_JOIN_MITRE", GEOSBUF_JOIN_MITRE,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOSBUF_JOIN_BEVEL", GEOSBUF_JOIN_BEVEL,
-        CONST_CS|CONST_PERSISTENT);
-
-    REGISTER_LONG_CONSTANT("GEOS_POINT", GEOS_POINT,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOS_LINESTRING", GEOS_LINESTRING,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOS_LINEARRING", GEOS_LINEARRING,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOS_POLYGON", GEOS_POLYGON,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOS_MULTIPOINT", GEOS_MULTIPOINT,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOS_MULTILINESTRING", GEOS_MULTILINESTRING,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOS_MULTIPOLYGON", GEOS_MULTIPOLYGON,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOS_GEOMETRYCOLLECTION", GEOS_GEOMETRYCOLLECTION,
-        CONST_CS|CONST_PERSISTENT);
-
-    REGISTER_LONG_CONSTANT("GEOSVALID_ALLOW_SELFTOUCHING_RING_FORMING_HOLE",
-        GEOSVALID_ALLOW_SELFTOUCHING_RING_FORMING_HOLE,
-        CONST_CS|CONST_PERSISTENT);
-
-    REGISTER_LONG_CONSTANT("GEOSRELATE_BNR_MOD2", GEOSRELATE_BNR_MOD2,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOSRELATE_BNR_OGC", GEOSRELATE_BNR_OGC,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOSRELATE_BNR_ENDPOINT", GEOSRELATE_BNR_ENDPOINT,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOSRELATE_BNR_MULTIVALENT_ENDPOINT",
-        GEOSRELATE_BNR_MULTIVALENT_ENDPOINT,
-        CONST_CS|CONST_PERSISTENT);
-    REGISTER_LONG_CONSTANT("GEOSRELATE_BNR_MONOVALENT_ENDPOINT",
-        GEOSRELATE_BNR_MONOVALENT_ENDPOINT,
-        CONST_CS|CONST_PERSISTENT);
-
-    return SUCCESS;
-}
-
-/* per-module shutdown */
-PHP_MSHUTDOWN_FUNCTION(geos)
-{
-    delGeometrySerializer();
-    delGeometryDeserializer();
-    return SUCCESS;
-}
-
-/* per-request initialization */
-PHP_RINIT_FUNCTION(geos)
-{
-    initGEOS(noticeHandler, errorHandler);
-    return SUCCESS;
-}
-
-/* pre-request destruction */
-PHP_RSHUTDOWN_FUNCTION(geos)
-{
-    finishGEOS();
-    return SUCCESS;
-}
-
-/* module info */
-PHP_MINFO_FUNCTION(geos)
-{
-    php_info_print_table_start();
-    php_info_print_table_row(2,
-        "GEOS - Geometry Engine Open Source", "enabled");
-    php_info_print_table_row(2,
-        "Version", PHP_GEOS_VERSION);
-    php_info_print_table_end();
-}
-
diff --git a/php/php_geos.h b/php/php_geos.h
deleted file mode 100644
index 43f637a..0000000
--- a/php/php_geos.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/***********************************************************************
- * 
- *    GEOS - Geometry Engine Open Source
- *    http://trac.osgeo.org/geos
- *
- *    Copyright (C) 2010 Sandro Santilli <strk at keybit.net>
- *
- *    This library is free software; you can redistribute it and/or
- *    modify it under the terms of the GNU Lesser General Public
- *    License as published by the Free Software Foundation; either
- *    version 2.1 of the License, or (at your option) any later version.
- *
- *    This library is distributed in the hope that it will be useful,
- *    but WITHOUT ANY WARRANTY; without even the implied warranty of
- *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *    Lesser General Public License for more details.
- *
- *    You should have received a copy of the GNU General Public License
- *    along with this program; if not, write to the Free Software
- *    Foundation, Inc., 51 Franklin St, Fifth Floor,
- *    Boston, MA  02110-1301  USA
- *
- ***********************************************************************/
-
-#ifndef PHP_GEOS_H
-#define PHP_GEOS_H
-
-/* TODO: generate from ./configure ? */
-#define PHP_GEOS_VERSION "0.0"
-#define PHP_GEOS_EXTNAME "geos"
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif 
-
-#include "php.h"
-
-extern zend_module_entry geos_module_entry;
-#define phpext_geos_ptr &geos_module_entry;
-
-#endif /* PHP_GEOS_H */
diff --git a/php/test/Makefile.am b/php/test/Makefile.am
deleted file mode 100644
index 52b0448..0000000
--- a/php/test/Makefile.am
+++ /dev/null
@@ -1,52 +0,0 @@
-#######################################################################
-# 
-#    GEOS - Geometry Engine Open Source
-#    http://trac.osgeo.org/geos
-#
-#    Copyright (C) 2010 Sandro Santilli <strk at keybit.net>
-#
-#    This library is free software; you can redistribute it and/or
-#    modify it under the terms of the GNU Lesser General Public
-#    License as published by the Free Software Foundation; either
-#    version 2.1 of the License, or (at your option) any later version.
-#
-#    This library is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#    Lesser General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with this program; if not, write to the Free Software
-#    Foundation, Inc., 51 Franklin St, Fifth Floor,
-#    Boston, MA  02110-1301  USA
-#
-#######################################################################
-
-EXTRA_DIST = test.php crashme.php
-
-abs_topbuilddir=`cd $(top_builddir); pwd`
-abs_srcdir=`cd $(srcdir); pwd`
-
-if HAVE_PHP
-
-PHPOPTS = -n -d enable_dl=On -d extension_dir=$(abs_topbuilddir)/php/.libs
-
-crashtest:
-	$(PHP) $(PHPOPTS) $(abs_srcdir)/crashme.php
-
-if HAVE_PHP_UNIT
-
-TESTS = phpunit
-
-phpunit: test.php 
-	echo "#!/bin/sh" > $@ 
-	echo "$(PHP) $(PHPOPTS) $(PHPUNIT) test $(abs_srcdir)/test.php $$@" >> $@
-	chmod +x $@
-
-clean-local:
-	rm -f phpunit
-
-
-endif
-
-endif
diff --git a/php/test/Makefile.in b/php/test/Makefile.in
deleted file mode 100644
index c47b80c..0000000
--- a/php/test/Makefile.in
+++ /dev/null
@@ -1,913 +0,0 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-#######################################################################
-# 
-#    GEOS - Geometry Engine Open Source
-#    http://trac.osgeo.org/geos
-#
-#    Copyright (C) 2010 Sandro Santilli <strk at keybit.net>
-#
-#    This library is free software; you can redistribute it and/or
-#    modify it under the terms of the GNU Lesser General Public
-#    License as published by the Free Software Foundation; either
-#    version 2.1 of the License, or (at your option) any later version.
-#
-#    This library is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#    Lesser General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with this program; if not, write to the Free Software
-#    Foundation, Inc., 51 Franklin St, Fifth Floor,
-#    Boston, MA  02110-1301  USA
-#
-#######################################################################
-VPATH = @srcdir@
-am__is_gnu_make = { \
-  if test -z '$(MAKELEVEL)'; then \
-    false; \
-  elif test -n '$(MAKE_HOST)'; then \
-    true; \
-  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
-    true; \
-  else \
-    false; \
-  fi; \
-}
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
-    case $$MAKEFLAGS in \
-      *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
-    esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
-    esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = php/test
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/macros/ac_pkg_swig.m4 \
-	$(top_srcdir)/macros/ac_python_devel.m4 \
-	$(top_srcdir)/macros/libtool.m4 \
-	$(top_srcdir)/macros/ltoptions.m4 \
-	$(top_srcdir)/macros/ltsugar.m4 \
-	$(top_srcdir)/macros/ltversion.m4 \
-	$(top_srcdir)/macros/lt~obsolete.m4 \
-	$(top_srcdir)/macros/python.m4 $(top_srcdir)/macros/ruby.m4 \
-	$(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/include/config.h \
-	$(top_builddir)/include/geos/platform.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 = 
-SOURCES =
-DIST_SOURCES =
-am__can_run_installinfo = \
-  case $$AM_UPDATE_INFO_DIR in \
-    n|no|NO) false;; \
-    *) (install-info --version) >/dev/null 2>&1;; \
-  esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__tty_colors_dummy = \
-  mgn= red= grn= lgn= blu= brg= std=; \
-  am__color_tests=no
-am__tty_colors = { \
-  $(am__tty_colors_dummy); \
-  if test "X$(AM_COLOR_TESTS)" = Xno; then \
-    am__color_tests=no; \
-  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
-    am__color_tests=yes; \
-  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
-    am__color_tests=yes; \
-  fi; \
-  if test $$am__color_tests = yes; then \
-    red=''; \
-    grn=''; \
-    lgn=''; \
-    blu=''; \
-    mgn=''; \
-    brg=''; \
-    std=''; \
-  fi; \
-}
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__recheck_rx = ^[ 	]*:recheck:[ 	]*
-am__global_test_result_rx = ^[ 	]*:global-test-result:[ 	]*
-am__copy_in_global_log_rx = ^[ 	]*:copy-in-global-log:[ 	]*
-# A command that, given a newline-separated list of test names on the
-# standard input, print the name of the tests that are to be re-run
-# upon "make recheck".
-am__list_recheck_tests = $(AWK) '{ \
-  recheck = 1; \
-  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
-    { \
-      if (rc < 0) \
-        { \
-          if ((getline line2 < ($$0 ".log")) < 0) \
-	    recheck = 0; \
-          break; \
-        } \
-      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
-        { \
-          recheck = 0; \
-          break; \
-        } \
-      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
-        { \
-          break; \
-        } \
-    }; \
-  if (recheck) \
-    print $$0; \
-  close ($$0 ".trs"); \
-  close ($$0 ".log"); \
-}'
-# A command that, given a newline-separated list of test names on the
-# standard input, create the global log from their .trs and .log files.
-am__create_global_log = $(AWK) ' \
-function fatal(msg) \
-{ \
-  print "fatal: making $@: " msg | "cat >&2"; \
-  exit 1; \
-} \
-function rst_section(header) \
-{ \
-  print header; \
-  len = length(header); \
-  for (i = 1; i <= len; i = i + 1) \
-    printf "="; \
-  printf "\n\n"; \
-} \
-{ \
-  copy_in_global_log = 1; \
-  global_test_result = "RUN"; \
-  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
-    { \
-      if (rc < 0) \
-         fatal("failed to read from " $$0 ".trs"); \
-      if (line ~ /$(am__global_test_result_rx)/) \
-        { \
-          sub("$(am__global_test_result_rx)", "", line); \
-          sub("[ 	]*$$", "", line); \
-          global_test_result = line; \
-        } \
-      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
-        copy_in_global_log = 0; \
-    }; \
-  if (copy_in_global_log) \
-    { \
-      rst_section(global_test_result ": " $$0); \
-      while ((rc = (getline line < ($$0 ".log"))) != 0) \
-      { \
-        if (rc < 0) \
-          fatal("failed to read from " $$0 ".log"); \
-        print line; \
-      }; \
-      printf "\n"; \
-    }; \
-  close ($$0 ".trs"); \
-  close ($$0 ".log"); \
-}'
-# Restructured Text title.
-am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
-# Solaris 10 'make', and several other traditional 'make' implementations,
-# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
-# by disabling -e (using the XSI extension "set +e") if it's set.
-am__sh_e_setup = case $$- in *e*) set +e;; esac
-# Default flags passed to test drivers.
-am__common_driver_flags = \
-  --color-tests "$$am__color_tests" \
-  --enable-hard-errors "$$am__enable_hard_errors" \
-  --expect-failure "$$am__expect_failure"
-# To be inserted before the command running the test.  Creates the
-# directory for the log if needed.  Stores in $dir the directory
-# containing $f, in $tst the test, in $log the log.  Executes the
-# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
-# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
-# will run the test scripts (or their associated LOG_COMPILER, if
-# thy have one).
-am__check_pre = \
-$(am__sh_e_setup);					\
-$(am__vpath_adj_setup) $(am__vpath_adj)			\
-$(am__tty_colors);					\
-srcdir=$(srcdir); export srcdir;			\
-case "$@" in						\
-  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;	\
-    *) am__odir=.;; 					\
-esac;							\
-test "x$$am__odir" = x"." || test -d "$$am__odir" 	\
-  || $(MKDIR_P) "$$am__odir" || exit $$?;		\
-if test -f "./$$f"; then dir=./;			\
-elif test -f "$$f"; then dir=;				\
-else dir="$(srcdir)/"; fi;				\
-tst=$$dir$$f; log='$@'; 				\
-if test -n '$(DISABLE_HARD_ERRORS)'; then		\
-  am__enable_hard_errors=no; 				\
-else							\
-  am__enable_hard_errors=yes; 				\
-fi; 							\
-case " $(XFAIL_TESTS) " in				\
-  *[\ \	]$$f[\ \	]* | *[\ \	]$$dir$$f[\ \	]*) \
-    am__expect_failure=yes;;				\
-  *)							\
-    am__expect_failure=no;;				\
-esac; 							\
-$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
-# A shell command to get the names of the tests scripts with any registered
-# extension removed (i.e., equivalently, the names of the test logs, with
-# the '.log' extension removed).  The result is saved in the shell variable
-# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
-# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
-# since that might cause problem with VPATH rewrites for suffix-less tests.
-# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
-am__set_TESTS_bases = \
-  bases='$(TEST_LOGS)'; \
-  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
-  bases=`echo $$bases`
-RECHECK_LOGS = $(TEST_LOGS)
-AM_RECURSIVE_TARGETS = check recheck
-TEST_SUITE_LOG = test-suite.log
-TEST_EXTENSIONS = @EXEEXT@ .test
-LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
-LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
-am__set_b = \
-  case '$@' in \
-    */*) \
-      case '$*' in \
-        */*) b='$*';; \
-          *) b=`echo '$@' | sed 's/\.log$$//'`; \
-       esac;; \
-    *) \
-      b='$*';; \
-  esac
-am__test_logs1 = $(TESTS:=.log)
-am__test_logs2 = $(am__test_logs1:@EXEEXT at .log=.log)
-TEST_LOGS = $(am__test_logs2:.test.log=.log)
-TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
-TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
-	$(TEST_LOG_FLAGS)
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/test-driver
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @AM_CFLAGS@
-AM_CXXFLAGS = @AM_CXXFLAGS@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CAPI_INTERFACE_AGE = @CAPI_INTERFACE_AGE@
-CAPI_INTERFACE_CURRENT = @CAPI_INTERFACE_CURRENT@
-CAPI_INTERFACE_REVISION = @CAPI_INTERFACE_REVISION@
-CAPI_VERSION = @CAPI_VERSION@
-CAPI_VERSION_MAJOR = @CAPI_VERSION_MAJOR@
-CAPI_VERSION_MINOR = @CAPI_VERSION_MINOR@
-CAPI_VERSION_PATCH = @CAPI_VERSION_PATCH@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INLINE_FLAGS = @INLINE_FLAGS@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTERFACE_AGE = @INTERFACE_AGE@
-INTERFACE_CURRENT = @INTERFACE_CURRENT@
-INTERFACE_REVISION = @INTERFACE_REVISION@
-JTS_PORT = @JTS_PORT@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
-PYTHON = @PYTHON@
-PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
-PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-RUBY = @RUBY@
-RUBY_BIN_DIR = @RUBY_BIN_DIR@
-RUBY_EXTENSION_DIR = @RUBY_EXTENSION_DIR@
-RUBY_INCLUDE_DIR = @RUBY_INCLUDE_DIR@
-RUBY_LIB_DIR = @RUBY_LIB_DIR@
-RUBY_SHARED_LIB = @RUBY_SHARED_LIB@
-RUBY_SITE_ARCH = @RUBY_SITE_ARCH@
-RUBY_SO_NAME = @RUBY_SO_NAME@
-RUBY_VERSION = @RUBY_VERSION@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-SWIG = @SWIG@
-SWIG_LIB = @SWIG_LIB@
-SWIG_PYTHON_CPPFLAGS = @SWIG_PYTHON_CPPFLAGS@
-SWIG_PYTHON_OPT = @SWIG_PYTHON_OPT@
-VERSION = @VERSION@
-VERSION_MAJOR = @VERSION_MAJOR@
-VERSION_MINOR = @VERSION_MINOR@
-VERSION_PATCH = @VERSION_PATCH@
-abs_builddir = @abs_builddir@
-abs_srcdir = `cd $(srcdir); pwd`
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-EXTRA_DIST = test.php crashme.php
-abs_topbuilddir = `cd $(top_builddir); pwd`
- at HAVE_PHP_TRUE@PHPOPTS = -n -d enable_dl=On -d extension_dir=$(abs_topbuilddir)/php/.libs
- at HAVE_PHP_TRUE@@HAVE_PHP_UNIT_TRUE at TESTS = phpunit
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .log .test .test$(EXEEXT) .trs
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu php/test/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu php/test/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-# Recover from deleted '.trs' file; this should ensure that
-# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
-# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
-# to avoid problems with "make -n".
-.log.trs:
-	rm -f $< $@
-	$(MAKE) $(AM_MAKEFLAGS) $<
-
-# Leading 'am--fnord' is there to ensure the list of targets does not
-# expand to empty, as could happen e.g. with make check TESTS=''.
-am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
-am--force-recheck:
-	@:
-
-$(TEST_SUITE_LOG): $(TEST_LOGS)
-	@$(am__set_TESTS_bases); \
-	am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
-	redo_bases=`for i in $$bases; do \
-	              am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
-	            done`; \
-	if test -n "$$redo_bases"; then \
-	  redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
-	  redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
-	  if $(am__make_dryrun); then :; else \
-	    rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
-	  fi; \
-	fi; \
-	if test -n "$$am__remaking_logs"; then \
-	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
-	       "recursion detected" >&2; \
-	elif test -n "$$redo_logs"; then \
-	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
-	fi; \
-	if $(am__make_dryrun); then :; else \
-	  st=0;  \
-	  errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
-	  for i in $$redo_bases; do \
-	    test -f $$i.trs && test -r $$i.trs \
-	      || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
-	    test -f $$i.log && test -r $$i.log \
-	      || { echo "$$errmsg $$i.log" >&2; st=1; }; \
-	  done; \
-	  test $$st -eq 0 || exit 1; \
-	fi
-	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
-	ws='[ 	]'; \
-	results=`for b in $$bases; do echo $$b.trs; done`; \
-	test -n "$$results" || results=/dev/null; \
-	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
-	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
-	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
-	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
-	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
-	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
-	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
-	if test `expr $$fail + $$xpass + $$error` -eq 0; then \
-	  success=true; \
-	else \
-	  success=false; \
-	fi; \
-	br='==================='; br=$$br$$br$$br$$br; \
-	result_count () \
-	{ \
-	    if test x"$$1" = x"--maybe-color"; then \
-	      maybe_colorize=yes; \
-	    elif test x"$$1" = x"--no-color"; then \
-	      maybe_colorize=no; \
-	    else \
-	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \
-	    fi; \
-	    shift; \
-	    desc=$$1 count=$$2; \
-	    if test $$maybe_colorize = yes && test $$count -gt 0; then \
-	      color_start=$$3 color_end=$$std; \
-	    else \
-	      color_start= color_end=; \
-	    fi; \
-	    echo "$${color_start}# $$desc $$count$${color_end}"; \
-	}; \
-	create_testsuite_report () \
-	{ \
-	  result_count $$1 "TOTAL:" $$all   "$$brg"; \
-	  result_count $$1 "PASS: " $$pass  "$$grn"; \
-	  result_count $$1 "SKIP: " $$skip  "$$blu"; \
-	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
-	  result_count $$1 "FAIL: " $$fail  "$$red"; \
-	  result_count $$1 "XPASS:" $$xpass "$$red"; \
-	  result_count $$1 "ERROR:" $$error "$$mgn"; \
-	}; \
-	{								\
-	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\
-	    $(am__rst_title);						\
-	  create_testsuite_report --no-color;				\
-	  echo;								\
-	  echo ".. contents:: :depth: 2";				\
-	  echo;								\
-	  for b in $$bases; do echo $$b; done				\
-	    | $(am__create_global_log);					\
-	} >$(TEST_SUITE_LOG).tmp || exit 1;				\
-	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\
-	if $$success; then						\
-	  col="$$grn";							\
-	 else								\
-	  col="$$red";							\
-	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\
-	fi;								\
-	echo "$${col}$$br$${std}"; 					\
-	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\
-	echo "$${col}$$br$${std}"; 					\
-	create_testsuite_report --maybe-color;				\
-	echo "$$col$$br$$std";						\
-	if $$success; then :; else					\
-	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\
-	  if test -n "$(PACKAGE_BUGREPORT)"; then			\
-	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\
-	  fi;								\
-	  echo "$$col$$br$$std";					\
-	fi;								\
-	$$success || exit 1
-
-check-TESTS:
-	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
-	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
-	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-	@set +e; $(am__set_TESTS_bases); \
-	log_list=`for i in $$bases; do echo $$i.log; done`; \
-	trs_list=`for i in $$bases; do echo $$i.trs; done`; \
-	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
-	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
-	exit $$?;
-recheck: all 
-	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-	@set +e; $(am__set_TESTS_bases); \
-	bases=`for i in $$bases; do echo $$i; done \
-	         | $(am__list_recheck_tests)` || exit 1; \
-	log_list=`for i in $$bases; do echo $$i.log; done`; \
-	log_list=`echo $$log_list`; \
-	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
-	        am__force_recheck=am--force-recheck \
-	        TEST_LOGS="$$log_list"; \
-	exit $$?
-phpunit.log: phpunit
-	@p='phpunit'; \
-	b='phpunit'; \
-	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-	--log-file $$b.log --trs-file $$b.trs \
-	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
-	"$$tst" $(AM_TESTS_FD_REDIRECT)
-.test.log:
-	@p='$<'; \
-	$(am__set_b); \
-	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
-	--log-file $$b.log --trs-file $$b.trs \
-	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
-	"$$tst" $(AM_TESTS_FD_REDIRECT)
- at am__EXEEXT_TRUE@.test$(EXEEXT).log:
- at am__EXEEXT_TRUE@	@p='$<'; \
- at am__EXEEXT_TRUE@	$(am__set_b); \
- at am__EXEEXT_TRUE@	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
- at am__EXEEXT_TRUE@	--log-file $$b.log --trs-file $$b.trs \
- at am__EXEEXT_TRUE@	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
- at am__EXEEXT_TRUE@	"$$tst" $(AM_TESTS_FD_REDIRECT)
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	if test -z '$(STRIP)'; then \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	      install; \
-	else \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-	fi
-mostlyclean-generic:
-	-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
-	-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
-	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
- at HAVE_PHP_FALSE@clean-local:
- at HAVE_PHP_UNIT_FALSE@clean-local:
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-am
-	-rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: all all-am check check-TESTS check-am clean clean-generic \
-	clean-libtool clean-local cscopelist-am ctags-am distclean \
-	distclean-generic distclean-libtool distdir dvi dvi-am html \
-	html-am info info-am install install-am install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \
-	uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
- at HAVE_PHP_TRUE@crashtest:
- at HAVE_PHP_TRUE@	$(PHP) $(PHPOPTS) $(abs_srcdir)/crashme.php
-
- at HAVE_PHP_TRUE@@HAVE_PHP_UNIT_TRUE at phpunit: test.php 
- at HAVE_PHP_TRUE@@HAVE_PHP_UNIT_TRUE@	echo "#!/bin/sh" > $@ 
- at HAVE_PHP_TRUE@@HAVE_PHP_UNIT_TRUE@	echo "$(PHP) $(PHPOPTS) $(PHPUNIT) test $(abs_srcdir)/test.php $$@" >> $@
- at HAVE_PHP_TRUE@@HAVE_PHP_UNIT_TRUE@	chmod +x $@
-
- at HAVE_PHP_TRUE@@HAVE_PHP_UNIT_TRUE at clean-local:
- at HAVE_PHP_TRUE@@HAVE_PHP_UNIT_TRUE@	rm -f phpunit
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/php/test/crashme.php b/php/test/crashme.php
deleted file mode 100644
index 04344d4..0000000
--- a/php/test/crashme.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-# 
-# This file contains code attempting to segfault the extension
-#
-# Run with:
-# php -n -d enable_dl=On -d extension_dir=.. test.php
-#
-
-dl("geos.so");
-
-class Point extends GEOSWKTReader {
-    public function __construct()
-    {
-        parent::__construct();
-    }
-    public function test() {    
-        return GEOSGeometry::numGeometries();
-    }
-};
-
-$p = new Point();
-$p->test();
-
-
diff --git a/php/test/test.php b/php/test/test.php
deleted file mode 100644
index 8d4425b..0000000
--- a/php/test/test.php
+++ /dev/null
@@ -1,2378 +0,0 @@
-<?php 
-
-# Run with:
-# php -n -d enable_dl=On -d extension_dir=.. test.php
-
-dl("geos.so");
-
-if ( version_compare(PHPUnit_Runner_Version::id(), '3.6') < 0 )
-    require_once 'PHPUnit/Framework.php';
-
-# hex2bin for PHP < 5.4
-# https://gist.github.com/mcrumley/5672621
-if (!function_exists('hex2bin')) {
-  function hex2bin($str) {
-    $map = array(
-      '00'=>"\x00", '10'=>"\x10", '20'=>"\x20", '30'=>"\x30", '40'=>"\x40", '50'=>"\x50", '60'=>"\x60", '70'=>"\x70",
-      '01'=>"\x01", '11'=>"\x11", '21'=>"\x21", '31'=>"\x31", '41'=>"\x41", '51'=>"\x51", '61'=>"\x61", '71'=>"\x71",
-      '02'=>"\x02", '12'=>"\x12", '22'=>"\x22", '32'=>"\x32", '42'=>"\x42", '52'=>"\x52", '62'=>"\x62", '72'=>"\x72",
-      '03'=>"\x03", '13'=>"\x13", '23'=>"\x23", '33'=>"\x33", '43'=>"\x43", '53'=>"\x53", '63'=>"\x63", '73'=>"\x73",
-      '04'=>"\x04", '14'=>"\x14", '24'=>"\x24", '34'=>"\x34", '44'=>"\x44", '54'=>"\x54", '64'=>"\x64", '74'=>"\x74",
-      '05'=>"\x05", '15'=>"\x15", '25'=>"\x25", '35'=>"\x35", '45'=>"\x45", '55'=>"\x55", '65'=>"\x65", '75'=>"\x75",
-      '06'=>"\x06", '16'=>"\x16", '26'=>"\x26", '36'=>"\x36", '46'=>"\x46", '56'=>"\x56", '66'=>"\x66", '76'=>"\x76",
-      '07'=>"\x07", '17'=>"\x17", '27'=>"\x27", '37'=>"\x37", '47'=>"\x47", '57'=>"\x57", '67'=>"\x67", '77'=>"\x77",
-      '08'=>"\x08", '18'=>"\x18", '28'=>"\x28", '38'=>"\x38", '48'=>"\x48", '58'=>"\x58", '68'=>"\x68", '78'=>"\x78",
-      '09'=>"\x09", '19'=>"\x19", '29'=>"\x29", '39'=>"\x39", '49'=>"\x49", '59'=>"\x59", '69'=>"\x69", '79'=>"\x79",
-      '0a'=>"\x0a", '1a'=>"\x1a", '2a'=>"\x2a", '3a'=>"\x3a", '4a'=>"\x4a", '5a'=>"\x5a", '6a'=>"\x6a", '7a'=>"\x7a",
-      '0b'=>"\x0b", '1b'=>"\x1b", '2b'=>"\x2b", '3b'=>"\x3b", '4b'=>"\x4b", '5b'=>"\x5b", '6b'=>"\x6b", '7b'=>"\x7b",
-      '0c'=>"\x0c", '1c'=>"\x1c", '2c'=>"\x2c", '3c'=>"\x3c", '4c'=>"\x4c", '5c'=>"\x5c", '6c'=>"\x6c", '7c'=>"\x7c",
-      '0d'=>"\x0d", '1d'=>"\x1d", '2d'=>"\x2d", '3d'=>"\x3d", '4d'=>"\x4d", '5d'=>"\x5d", '6d'=>"\x6d", '7d'=>"\x7d",
-      '0e'=>"\x0e", '1e'=>"\x1e", '2e'=>"\x2e", '3e'=>"\x3e", '4e'=>"\x4e", '5e'=>"\x5e", '6e'=>"\x6e", '7e'=>"\x7e",
-      '0f'=>"\x0f", '1f'=>"\x1f", '2f'=>"\x2f", '3f'=>"\x3f", '4f'=>"\x4f", '5f'=>"\x5f", '6f'=>"\x6f", '7f'=>"\x7f",
-
-      '80'=>"\x80", '90'=>"\x90", 'a0'=>"\xa0", 'b0'=>"\xb0", 'c0'=>"\xc0", 'd0'=>"\xd0", 'e0'=>"\xe0", 'f0'=>"\xf0",
-      '81'=>"\x81", '91'=>"\x91", 'a1'=>"\xa1", 'b1'=>"\xb1", 'c1'=>"\xc1", 'd1'=>"\xd1", 'e1'=>"\xe1", 'f1'=>"\xf1",
-      '82'=>"\x82", '92'=>"\x92", 'a2'=>"\xa2", 'b2'=>"\xb2", 'c2'=>"\xc2", 'd2'=>"\xd2", 'e2'=>"\xe2", 'f2'=>"\xf2",
-      '83'=>"\x83", '93'=>"\x93", 'a3'=>"\xa3", 'b3'=>"\xb3", 'c3'=>"\xc3", 'd3'=>"\xd3", 'e3'=>"\xe3", 'f3'=>"\xf3",
-      '84'=>"\x84", '94'=>"\x94", 'a4'=>"\xa4", 'b4'=>"\xb4", 'c4'=>"\xc4", 'd4'=>"\xd4", 'e4'=>"\xe4", 'f4'=>"\xf4",
-      '85'=>"\x85", '95'=>"\x95", 'a5'=>"\xa5", 'b5'=>"\xb5", 'c5'=>"\xc5", 'd5'=>"\xd5", 'e5'=>"\xe5", 'f5'=>"\xf5",
-      '86'=>"\x86", '96'=>"\x96", 'a6'=>"\xa6", 'b6'=>"\xb6", 'c6'=>"\xc6", 'd6'=>"\xd6", 'e6'=>"\xe6", 'f6'=>"\xf6",
-      '87'=>"\x87", '97'=>"\x97", 'a7'=>"\xa7", 'b7'=>"\xb7", 'c7'=>"\xc7", 'd7'=>"\xd7", 'e7'=>"\xe7", 'f7'=>"\xf7",
-      '88'=>"\x88", '98'=>"\x98", 'a8'=>"\xa8", 'b8'=>"\xb8", 'c8'=>"\xc8", 'd8'=>"\xd8", 'e8'=>"\xe8", 'f8'=>"\xf8",
-      '89'=>"\x89", '99'=>"\x99", 'a9'=>"\xa9", 'b9'=>"\xb9", 'c9'=>"\xc9", 'd9'=>"\xd9", 'e9'=>"\xe9", 'f9'=>"\xf9",
-      '8a'=>"\x8a", '9a'=>"\x9a", 'aa'=>"\xaa", 'ba'=>"\xba", 'ca'=>"\xca", 'da'=>"\xda", 'ea'=>"\xea", 'fa'=>"\xfa",
-      '8b'=>"\x8b", '9b'=>"\x9b", 'ab'=>"\xab", 'bb'=>"\xbb", 'cb'=>"\xcb", 'db'=>"\xdb", 'eb'=>"\xeb", 'fb'=>"\xfb",
-      '8c'=>"\x8c", '9c'=>"\x9c", 'ac'=>"\xac", 'bc'=>"\xbc", 'cc'=>"\xcc", 'dc'=>"\xdc", 'ec'=>"\xec", 'fc'=>"\xfc",
-      '8d'=>"\x8d", '9d'=>"\x9d", 'ad'=>"\xad", 'bd'=>"\xbd", 'cd'=>"\xcd", 'dd'=>"\xdd", 'ed'=>"\xed", 'fd'=>"\xfd",
-      '8e'=>"\x8e", '9e'=>"\x9e", 'ae'=>"\xae", 'be'=>"\xbe", 'ce'=>"\xce", 'de'=>"\xde", 'ee'=>"\xee", 'fe'=>"\xfe",
-      '8f'=>"\x8f", '9f'=>"\x9f", 'af'=>"\xaf", 'bf'=>"\xbf", 'cf'=>"\xcf", 'df'=>"\xdf", 'ef'=>"\xef", 'ff'=>"\xff",
-    );
-    $strlen = strlen($str);
-    if ($strlen % 2 !== 0) {
-      user_error('Hexadecimal input string must have an even length', E_USER_WARNING);
-      return false;
-    }
-    if (strspn($str, '0123456789ABCDEFabcdef') !== $strlen) {
-      return false;
-    }
-    return strtr(strtolower($str), $map);
-  }
-}
-
-
-class test extends PHPUnit_Framework_TestCase
-{
-    # This method override is needed to support phpunit < 3.5 (Ubuntu 10.04 ships 3.4)
-    static public function assertType($x, $y)
-    {
-        #global $phpunit_version;
-        if ( version_compare(PHPUnit_Runner_Version::id(), '3.5') < 0 )
-            return PHPUnit_Framework_TestCase::assertType($x, $y);
-        else return PHPUnit_Framework_TestCase::assertInternalType($x, $y);
-    }
-
-    public function testGEOSVersion()
-    {
-        $this->assertContains('-CAPI-', GEOSVersion());
-    }
-
-    public function testConstants()
-    {
-        $this->assertEquals(1, GEOSBUF_CAP_ROUND);
-        $this->assertEquals(2, GEOSBUF_CAP_FLAT);
-        $this->assertEquals(3, GEOSBUF_CAP_SQUARE);
-
-        $this->assertEquals(1, GEOSBUF_JOIN_ROUND);
-        $this->assertEquals(2, GEOSBUF_JOIN_MITRE);
-        $this->assertEquals(3, GEOSBUF_JOIN_BEVEL);
-
-        $this->assertEquals(0, GEOS_POINT);
-        $this->assertEquals(1, GEOS_LINESTRING);
-        $this->assertEquals(2, GEOS_LINEARRING);
-        $this->assertEquals(3, GEOS_POLYGON);
-        $this->assertEquals(4, GEOS_MULTIPOINT);
-        $this->assertEquals(5, GEOS_MULTILINESTRING);
-        $this->assertEquals(6, GEOS_MULTIPOLYGON);
-        $this->assertEquals(7, GEOS_GEOMETRYCOLLECTION);
-
-        $this->assertEquals(1, GEOSVALID_ALLOW_SELFTOUCHING_RING_FORMING_HOLE);
-
-        $this->assertEquals(1, GEOSRELATE_BNR_MOD2);
-        $this->assertEquals(1, GEOSRELATE_BNR_OGC);
-        $this->assertEquals(2, GEOSRELATE_BNR_ENDPOINT);
-        $this->assertEquals(3, GEOSRELATE_BNR_MULTIVALENT_ENDPOINT);
-        $this->assertEquals(4, GEOSRELATE_BNR_MONOVALENT_ENDPOINT);
-    }
-
-    public function testWKTReader__construct()
-    {
-        $reader = new GEOSWKTReader();
-        $this->assertNotNull($reader);
-    }
-
-    public function testWKTReader_read()
-    {
-        $reader = new GEOSWKTReader();
-
-        /* Good WKT */
-        $geom = $reader->read('POINT(0 0)');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('POINT(0 0 0)');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('POINT Z (0 0 0)');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('POINT EMPTY');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('MULTIPOINT(0 0 1, 2 3 4)');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('MULTIPOINT Z (0 0 1, 2 3 4)');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('MULTIPOINT((0 0), (2 3))');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('MULTIPOINT EMPTY');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('LINESTRING(0 0 1, 2 3 4)');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('LINESTRING EMPTY');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('MULTILINESTRING((0 0 1, 2 3 4),
-                                               (10 10 2, 3 4 5))');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('MULTILINESTRING Z ((0 0 1, 2 3 4),
-                                               (10 10 2, 3 4 5))');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('POLYGON EMPTY');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('MULTIPOLYGON(
-                                ((0 0, 1 0, 1 1, 0 1, 0 0)),
-                                ((10 10, 10 14, 14 14, 14 10, 10 10),
-                                    (11 11, 11 12, 12 12, 12 11, 11 11))
-                               )');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('MULTIPOLYGON EMPTY');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('GEOMETRYCOLLECTION(
-                MULTIPOLYGON(
-                 ((0 0, 1 0, 1 1, 0 1, 0 0)),
-                 ((10 10, 10 14, 14 14, 14 10, 10 10),
-                  (11 11, 11 12, 12 12, 12 11, 11 11))
-                ),
-                POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)),
-                MULTILINESTRING((0 0, 2 3), (10 10, 3 4)),
-                LINESTRING(0 0, 2 3),
-                MULTIPOINT(0 0, 2 3),
-                POINT(9 0)
-        )');
-        $this->assertNotNull($geom);
-        $geom = $reader->read('GEOMETRYCOLLECTION EMPTY');
-        $this->assertNotNull($geom);
-
-        /* BOGUS WKT */
-        try {
-            $reader->read("MULTIDOT(0 1 2 3)");
-            $this->assertTrue(FALSE); # this is just to fail if we get here
-        } catch (Exception $e) {
-            $this->assertContains('ParseException', $e->getMessage());
-        }
-
-        /* BOGUS call (#448) */
-        try {
-        	  $reader->read();
-            $this->assertTrue(FALSE); # this is just to fail if we get here
-        } catch (Exception $e) {
-            $this->assertContains('expects exactly 1 parameter',
-                                  $e->getMessage());
-        }
-    }
-
-    public function testWKTWriter__construct()
-    {
-        $writer = new GEOSWKTWriter();
-        $this->assertNotNull($writer);
-    }
-
-    public function testWKTWriter_write()
-    {
-        $writer = new GEOSWKTWriter();
-        $reader = new GEOSWKTReader();
-
-        try {
-            $writer->write(1);
-            $this->assertTrue(FALSE); # this is just to fail if we get here
-        } catch (Exception $e) {
-            $this->assertContains('expects parameter 1', $e->getMessage());
-        }
-
-        $g = $reader->read('POINT(6 7)');
-
-        $this->assertEquals('POINT (6.0000000000000000 7.0000000000000000)',
-            $writer->write($g));
-    }
-
-    public function testWKTWriter_setTrim()
-    {
-        $writer = new GEOSWKTWriter();
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT(6 7)');
-        $this->assertNotNull($g);
-
-        $writer->setTrim(TRUE);
-        $this->assertEquals('POINT (6 7)',
-            $writer->write($g));
-
-        $writer->setTrim(FALSE);
-        $this->assertEquals('POINT (6.0000000000000000 7.0000000000000000)',
-            $writer->write($g));
-
-    }
-
-    public function testWKT_roundTrip()
-    {
-        $r = new GEOSWKTReader();
-        $w = new GEOSWKTWriter();
-        $w->setTrim(TRUE);
-
-        $in[] = 'POINT (0 0)';
-        $in[] = 'POINT EMPTY';
-        $in[] = 'MULTIPOINT (0 1, 2 3)';
-        $in[] = 'MULTIPOINT EMPTY';
-        $in[] = 'LINESTRING (0 0, 2 3)';
-        $in[] = 'LINESTRING EMPTY';
-        $in[] = 'MULTILINESTRING ((0 1, 2 3), (10 10, 3 4))';
-        $in[] = 'MULTILINESTRING EMPTY';
-        $in[] = 'POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))';
-        $in[] = 'POLYGON EMPTY';
-        $in[] = 'MULTIPOLYGON (((0 0, 1 0, 1 1, 0 1, 0 0)), ((10 10, 10 14, 14 14, 14 10, 10 10), (11 11, 11 12, 12 12, 12 11, 11 11)))';
-        $in[] = 'MULTIPOLYGON EMPTY';
-        $in[] = 'GEOMETRYCOLLECTION (MULTIPOLYGON (((0 0, 1 0, 1 1, 0 1, 0 0)), ((10 10, 10 14, 14 14, 14 10, 10 10), (11 11, 11 12, 12 12, 12 11, 11 11))), POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0)), MULTILINESTRING ((0 0, 2 3), (10 10, 3 4)), LINESTRING (0 0, 2 3), MULTIPOINT (0 0, 2 3), POINT (9 0))';
-        $in[] = 'GEOMETRYCOLLECTION EMPTY';
-
-        foreach ($in as $i) {
-            $this->assertEquals($i, $w->write($r->read($i)));
-        }
-
-    }
-
-    public function testWKTWriter_setRoundingPrecision()
-    {
-        $writer = new GEOSWKTWriter();
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT(6.123456 7.123456)');
-
-        $this->assertEquals('POINT (6.1234560000000000 7.1234560000000000)',
-            $writer->write($g));
-
-        $writer->setRoundingPrecision(2);
-        $this->assertEquals('POINT (6.12 7.12)', $writer->write($g));
-
-        $writer->setRoundingPrecision(5); /* rounds */
-        $this->assertEquals('POINT (6.12346 7.12346)', $writer->write($g));
-
-        $writer->setRoundingPrecision(1);
-        $this->assertEquals('POINT (6.1 7.1)', $writer->write($g));
-
-        $writer->setRoundingPrecision(0);
-        $this->assertEquals('POINT (6 7)', $writer->write($g));
-
-    }
-
-    public function testWKTWriter_getOutputDimension()
-    {
-        $writer = new GEOSWKTWriter();
-        $this->assertEquals(2, $writer->getOutputDimension());
-    }
-
-    public function testWKTWriter_setOutputDimension()
-    {
-        $reader = new GEOSWKTReader();
-        $g3d = $reader->read('POINT(1 2 3)');
-        $g2d = $reader->read('POINT(3 2)');
-
-        $writer = new GEOSWKTWriter();
-        $writer->setTrim(TRUE);
-
-        # Only 2d by default
-        $this->assertEquals('POINT (1 2)', $writer->write($g3d));
-
-        # 3d if requested _and_ available
-        $writer->setOutputDimension(3);
-        $this->assertEquals('POINT Z (1 2 3)', $writer->write($g3d));
-        $this->assertEquals('POINT (3 2)', $writer->write($g2d));
-
-        # 1 is invalid
-        try {
-            $writer->setOutputDimension(1);
-            $this->assertTrue(FALSE);
-        } catch (Exception $e) {
-            $this->assertContains('must be 2 or 3', $e->getMessage());
-        }
-
-        # 4 is invalid
-        try {
-            $writer->setOutputDimension(4);
-            $this->assertTrue(FALSE);
-        } catch (Exception $e) {
-            $this->assertContains('must be 2 or 3', $e->getMessage());
-        }
-
-    }
-
-    public function testWKTWriter_setOld3D()
-    {
-        $reader = new GEOSWKTReader();
-        $g3d = $reader->read('POINT(1 2 3)');
-
-        $writer = new GEOSWKTWriter();
-        $writer->setTrim(TRUE);
-
-        # New 3d WKT by default
-        $writer->setOutputDimension(3);
-        $this->assertEquals('POINT Z (1 2 3)', $writer->write($g3d));
-
-        # Switch to old
-        $writer->setOld3D(TRUE);
-        $this->assertEquals('POINT (1 2 3)', $writer->write($g3d));
-
-        # Old3d flag is not reset when changing dimensions
-        $writer->setOutputDimension(2);
-        $this->assertEquals('POINT (1 2)', $writer->write($g3d));
-        $writer->setOutputDimension(3);
-        $this->assertEquals('POINT (1 2 3)', $writer->write($g3d));
-
-        # Likewise, dimensions spec is not reset when changing old3d flag
-        $writer->setOld3D(FALSE);
-        $this->assertEquals('POINT Z (1 2 3)', $writer->write($g3d));
-
-    }
-
-    public function testGeometry_serialization()
-    {
-        $reader = new GEOSWKTReader();
-
-        $writer = new GEOSWKTWriter();
-        $writer->setTrim(TRUE);
-        $writer->setOutputDimension(3);
-
-        $g = $reader->read('POINT(6 7 8)');
-        $g->setSRID(54);
-
-        $a = array('geom' => $g, 'name' => 'test geometry');
-        $srl = serialize($a);
-        $a2 = unserialize($srl);
-
-        $this->assertEquals('POINT Z (6 7 8)', $writer->write($a['geom']));
-
-    }
-
-    public function testGeometry_project()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT(1 2)');
-        $g2 = $reader->read('POINT(3 4)');
-
-        /* The method only accept lineal geometries */
-        try {
-            $prj = $g->project($g2);
-            $this->assertTrue(FALSE); # this is just to fail if we get here
-        } catch (Exception $e) {
-            $this->assertContains('lineal', $e->getMessage());
-        }
-
-        $g = $reader->read('LINESTRING(0 0, 10 0)');
-
-        $g2 = $reader->read('POINT(0 0)');
-        $prj = $g->project($g2);
-        $this->assertEquals(0, $prj);
-        $prj = $g->project($g2, TRUE);
-        $this->assertEquals(0, $prj);
-
-        $g2 = $reader->read('POINT(10 0)');
-        $prj = $g->project($g2);
-        $this->assertEquals(10, $prj);
-        $prj = $g->project($g2, TRUE);
-        $this->assertEquals(1, $prj);
-
-        $g2 = $reader->read('POINT(5 0)');
-        $prj = $g->project($g2);
-        $this->assertEquals(5, $prj);
-        $prj = $g->project($g2, TRUE);
-        $this->assertEquals(0.5, $prj);
-
-        $g = $reader->read('MULTILINESTRING((0 0, 10 0),(20 10, 20 20))');
-
-        $g2 = $reader->read('POINT(20 0)');
-        $prj = $g->project($g2);
-        $this->assertEquals(10, $prj);
-        $prj = $g->project($g2, TRUE);
-        $this->assertEquals(0.5, $prj);
-
-        $g2 = $reader->read('POINT(20 5)');
-        $prj = $g->project($g2);
-        $this->assertEquals(10, $prj);
-        $prj = $g->project($g2, TRUE);
-        $this->assertEquals(0.5, $prj);
-
-
-    }
-
-    public function testGeometry_interpolate()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setTrim(TRUE);
-
-        /* The method only accept LineString geometries */
-        $g = $reader->read('POINT(1 2)');
-        try {
-            $prj = $g->interpolate(0);
-            $this->assertTrue(FALSE); # this is just to fail if we get here
-        } catch (Exception $e) {
-            $this->assertContains('LineString', $e->getMessage());
-        }
-
-        $g = $reader->read('LINESTRING(0 0, 10 0)');
-
-        $prj = $g->interpolate(0);
-        $this->assertNotNull($prj);
-        $this->assertEquals('POINT (0 0)', $writer->write($prj));
-        $prj = $g->interpolate(0, TRUE);
-        $this->assertNotNull($prj);
-        $this->assertEquals('POINT (0 0)', $writer->write($prj));
-
-        $prj = $g->interpolate(5);
-        $this->assertNotNull($prj);
-        $this->assertEquals('POINT (5 0)', $writer->write($prj));
-        $prj = $g->interpolate(0.5, TRUE);
-        $this->assertNotNull($prj);
-        $this->assertEquals('POINT (5 0)', $writer->write($prj));
-
-        /* return closest on longer distance */
-        $prj = $g->interpolate(20);
-        $this->assertNotNull($prj);
-        $this->assertEquals('POINT (10 0)', $writer->write($prj));
-        $prj = $g->interpolate(2, TRUE);
-        $this->assertNotNull($prj);
-        $this->assertEquals('POINT (10 0)', $writer->write($prj));
-    
-    }
-
-    public function testGeometry_buffer()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('POINT(0 0)');
-        $b = $g->buffer(0);
-        $this->assertEquals('POLYGON EMPTY', $writer->write($b));
-
-        $b = $g->buffer(10);
-        $this->assertEquals(
-'POLYGON ((10 0, 10 -2, 9 -4, 8 -6, 7 -7, 6 -8, 4 -9, 2 -10, 0 -10, -2 -10, -4 -9, -6 -8, -7 -7, -8 -6, -9 -4, -10 -2, -10 -0, -10 2, -9 4, -8 6, -7 7, -6 8, -4 9, -2 10, -0 10, 2 10, 4 9, 6 8, 7 7, 8 6, 9 4, 10 2, 10 0))'
-            , $writer->write($b));
-
-        # One segment per quadrant
-        $b = $g->buffer(10, array('quad_segs' => 1));
-        $this->assertEquals(
-'POLYGON ((10 0, 0 -10, -10 -0, -0 10, 10 0))'
-            , $writer->write($b));
-
-        /* End cap styles */
-
-        $g = $reader->read('LINESTRING(0 0, 100 0)');
-
-        $b = $g->buffer(10, array(
-            'quad_segs' => 1,
-            'endcap' => GEOSBUF_CAP_ROUND
-        ));
-        $this->assertEquals(
-'POLYGON ((100 10, 110 0, 100 -10, 0 -10, -10 0, 0 10, 100 10))'
-            , $writer->write($b));
-
-        $b = $g->buffer(10, array(
-            'quad_segs' => 1,
-            'endcap' => GEOSBUF_CAP_FLAT
-        ));
-        $this->assertEquals(
-'POLYGON ((100 10, 100 -10, 0 -10, 0 10, 100 10))'
-            , $writer->write($b));
-
-        $b = $g->buffer(10, array(
-            'quad_segs' => 1,
-            'endcap' => GEOSBUF_CAP_SQUARE
-        ));
-        $this->assertEquals(
-'POLYGON ((100 10, 110 10, 110 -10, 0 -10, -10 -10, -10 10, 100 10))'
-            , $writer->write($b));
-
-        /* Join styles */
-
-        $g = $reader->read('LINESTRING(0 0, 100 0, 100 100)');
-
-        $b = $g->buffer(10, array(
-            'quad_segs' => 2,
-            'join' => GEOSBUF_JOIN_ROUND
-        ));
-        $this->assertEquals(
-'POLYGON ((90 10, 90 100, 93 107, 100 110, 107 107, 110 100, 110 0, 107 -7, 100 -10, 0 -10, -7 -7, -10 0, -7 7, 0 10, 90 10))'
-            , $writer->write($b));
-
-        $b = $g->buffer(10, array(
-            'quad_segs' => 2,
-            'join' => GEOSBUF_JOIN_BEVEL
-        ));
-        $this->assertEquals(
-'POLYGON ((90 10, 90 100, 93 107, 100 110, 107 107, 110 100, 110 0, 100 -10, 0 -10, -7 -7, -10 0, -7 7, 0 10, 90 10))'
-            , $writer->write($b));
-
-        $b = $g->buffer(10, array(
-            'quad_segs' => 2,
-            'join' => GEOSBUF_JOIN_MITRE
-        ));
-        $this->assertEquals(
-'POLYGON ((90 10, 90 100, 93 107, 100 110, 107 107, 110 100, 110 -10, 0 -10, -7 -7, -10 0, -7 7, 0 10, 90 10))'
-            , $writer->write($b));
-
-        $b = $g->buffer(10, array(
-            'quad_segs' => 2,
-            'join' => GEOSBUF_JOIN_MITRE,
-            'mitre_limit' => 1.0
-        ));
-        $this->assertEquals(
-'POLYGON ((90 10, 90 100, 93 107, 100 110, 107 107, 110 100, 109 -5, 105 -9, 0 -10, -7 -7, -10 0, -7 7, 0 10, 90 10))'
-            , $writer->write($b));
-
-        /* Check that elements of the passed style array are not
-         * type-converted (buffer op will need to type-convert
-         * internally)
-         */
-        $ary = array('a' => 1);
-
-        $myStyle = array(
-            'quad_segs' => "a string",
-            'join' => "1",
-            'endcap' => $ary,
-            'mitre_limit' => 2 /* an int.. */
-        );
-        $this->assertEquals('string', gettype($myStyle['quad_segs']));
-        $this->assertEquals('string', gettype($myStyle['join']));
-        $this->assertEquals('array', gettype($myStyle['endcap']));
-        $this->assertEquals('integer', gettype($myStyle['mitre_limit']));
-        $b = $g->buffer(10, $myStyle);
-        $this->assertEquals('string', gettype($myStyle['quad_segs']));
-        $this->assertEquals('string', gettype($myStyle['join']));
-        $this->assertEquals('array', gettype($myStyle['endcap']));
-        $this->assertEquals('integer', gettype($myStyle['mitre_limit']));
-
-        /* Single-sided buffering */
-
-        $g = $reader->read('LINESTRING(0 0, 100 0)');
-
-        $b = $g->buffer(10, array(
-            'single_sided' => true
-        ));
-        $this->assertEquals(
-'POLYGON ((100 0, 0 0, 0 10, 100 10, 100 0))'
-            , $writer->write($b));
-
-        $b = $g->buffer(-10, array(
-            'single_sided' => true
-        ));
-        $this->assertEquals(
-'POLYGON ((0 0, 100 0, 100 -10, 0 -10, 0 0))'
-            , $writer->write($b));
-
-    }
-
-    public function testGeometry_offsetCurve()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-
-        /* Join styles */
-
-        $g = $reader->read('LINESTRING(0 0, 100 0, 100 100)');
-
-	/* left, round join */
-        $b = $g->offsetCurve(10, array(
-            'quad_segs' => 2,
-            'join' => GEOSBUF_JOIN_ROUND
-        ));
-        $this->assertEquals(
-'LINESTRING (0 10, 90 10, 90 100)'
-            , $writer->write($b));
-
-	/* right, round join */
-        $b = $g->offsetCurve(-10, array(
-            'quad_segs' => 2,
-            'join' => GEOSBUF_JOIN_ROUND
-        ));
-        $this->assertEquals(
-'LINESTRING (110 100, 110 0, 107 -7, 100 -10, 0 -10)'
-            , $writer->write($b));
-
-	/* left, bevel join */
-        $b = $g->offsetCurve(10, array(
-            'quad_segs' => 2,
-            'join' => GEOSBUF_JOIN_BEVEL
-        ));
-        $this->assertEquals(
-'LINESTRING (0 10, 90 10, 90 100)'
-            , $writer->write($b));
-
-	/* right, bevel join */
-        $b = $g->offsetCurve(-10, array(
-            'quad_segs' => 2,
-            'join' => GEOSBUF_JOIN_BEVEL
-        ));
-        $this->assertEquals(
-'LINESTRING (110 100, 110 0, 100 -10, 0 -10)'
-            , $writer->write($b));
-
-	/* left, mitre join */
-        $b = $g->offsetCurve(10, array(
-            'quad_segs' => 2,
-            'join' => GEOSBUF_JOIN_MITRE
-        ));
-        $this->assertEquals(
-'LINESTRING (0 10, 90 10, 90 100)'
-            , $writer->write($b));
-
-	/* right, mitre join */
-        $b = $g->offsetCurve(-10, array(
-            'quad_segs' => 2,
-            'join' => GEOSBUF_JOIN_MITRE
-        ));
-        $this->assertEquals(
-'LINESTRING (110 100, 110 -10, 0 -10)'
-            , $writer->write($b));
-
-	/* right, mitre join limited */
-        $b = $g->offsetCurve(-10, array(
-            'quad_segs' => 2,
-            'join' => GEOSBUF_JOIN_MITRE,
-            'mitre_limit' => 1.0
-        ));
-        $this->assertEquals(
-'LINESTRING (110 100, 109 -5, 105 -9, 0 -10)'
-            , $writer->write($b));
-
-    }
-
-    public function testGeometry_envelope()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('POINT(0 0)');
-        $b = $g->envelope();
-        $this->assertEquals(
-'POINT (0 0)'
-            , $writer->write($b));
-
-        $g = $reader->read('LINESTRING(0 0, 10 10)');
-        $b = $g->envelope();
-        $this->assertEquals(
-'POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0))'
-            , $writer->write($b));
-
-    }
-
-    public function testGeometry_intersection()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        /* POINT - POINT */
-        $g = $reader->read('POINT(0 0)');
-        $g2 = $reader->read('POINT(0 0)');
-        $gi = $g->intersection($g2);
-        $this->assertEquals( 'POINT (0 0)'
-            , $writer->write($gi));
-        $g2 = $reader->read('POINT(1 0)');
-        $gi = $g->intersection($g2);
-        $this->assertEquals( 'GEOMETRYCOLLECTION EMPTY'
-            , $writer->write($gi));
-
-        /* POINT - LINE */
-        $g = $reader->read('LINESTRING(0 0, 10 0)');
-        $g2 = $reader->read('POINT(5 0)');
-        $gi = $g->intersection($g2);
-        $this->assertEquals( 'POINT (5 0)'
-            , $writer->write($gi));
-        $g2 = $reader->read('POINT(12 0)');
-        $gi = $g->intersection($g2);
-        $this->assertEquals( 'GEOMETRYCOLLECTION EMPTY'
-            , $writer->write($gi));
-
-        /* LINE - LINE */
-        $g = $reader->read('LINESTRING(0 0, 10 0)');
-        $g2 = $reader->read('LINESTRING(5 -10, 5 10)');
-        $gi = $g->intersection($g2);
-        $this->assertEquals( 'POINT (5 0)'
-            , $writer->write($gi));
-        $g2 = $reader->read('LINESTRING(5 0, 20 0)');
-        $gi = $g->intersection($g2);
-        $this->assertEquals( 'LINESTRING (5 0, 10 0)'
-            , $writer->write($gi));
-
-        /* LINE - POLY */
-        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
-        $g2 = $reader->read('LINESTRING(5 -10, 5 10)');
-        $gi = $g->intersection($g2);
-        $this->assertEquals( 'LINESTRING (5 0, 5 10)'
-            , $writer->write($gi));
-        $g2 = $reader->read('LINESTRING(10 0, 20 0)');
-        $gi = $g->intersection($g2);
-        $this->assertEquals( 'POINT (10 0)'
-            , $writer->write($gi));
-
-        /* POLY - POLY */
-        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
-        $g2 = $reader->read('POLYGON((5 -5, 5 5, 15 5, 15 -5, 5 -5))');
-        $gi = $g->intersection($g2);
-        $this->assertTrue($gi->equals($reader->read(
-'POLYGON ((10 5, 10 0, 5 0, 5 5, 10 5))'
-            )));
-        $g2 = $reader->read('POLYGON((10 0, 20 0, 20 -5, 10 -5, 10 0))');
-        $gi = $g->intersection($g2);
-        $this->assertEquals( 'POINT (10 0)'
-            , $writer->write($gi));
-        $g2 = $reader->read('POLYGON((8 0, 20 0, 20 -5, 10 -5, 8 0))');
-        $gi = $g->intersection($g2);
-        $this->assertEquals( 'LINESTRING (8 0, 10 0)'
-            , $writer->write($gi));
-    }
-
-    public function testGeometry_clipByRect()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        /* POINT */
-        $g = $reader->read('POINT(0 0)');
-        $gi = $g->clipByRect(-1,-1,1,1);
-        $this->assertEquals( 'POINT (0 0)'
-            , $writer->write($gi));
-        $gi = $g->clipByRect(1,1,2,2);
-        $this->assertEquals( 'GEOMETRYCOLLECTION EMPTY'
-            , $writer->write($gi));
-
-        /* LINE */
-        $g = $reader->read('LINESTRING(0 0, 10 0)');
-        $gi = $g->clipByRect(1,-1,2,1);
-        $this->assertEquals( 'LINESTRING (1 0, 2 0)'
-            , $writer->write($gi));
-
-        /* POLY */
-        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
-        $gi = $g->clipByRect(1,1,5,5);
-        $this->assertEquals( 'POLYGON ((1 1, 1 5, 5 5, 5 1, 1 1))'
-            , $writer->write($gi));
-        $gi = $g->clipByRect(-1,-1,5,5);
-        $this->assertEquals( 'POLYGON ((0 0, 0 5, 5 5, 5 0, 0 0))'
-            , $writer->write($gi));
-
-    }
-
-    public function testGeometry_convexHull()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('POINT(0 0)');
-        $b = $g->convexHull();
-        $this->assertEquals(
-'POINT (0 0)'
-            , $writer->write($b));
-
-        $g = $reader->read('LINESTRING(0 0, 10 10)');
-        $b = $g->convexHull();
-        $this->assertEquals(
-'LINESTRING (0 0, 10 10)'
-            , $writer->write($b));
-
-        $g = $reader->read('POLYGON((0 0, 0 10, 5 5, 10 10, 10 0, 0 0))');
-        $b = $g->convexHull();
-        $this->assertEquals(
-'POLYGON ((0 0, 0 10, 10 10, 10 0, 0 0))'
-            , $writer->write($b));
-
-    }
-
-    public function testGeometry_difference()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        /* POINT - POINT */
-        $g = $reader->read('POINT(0 0)');
-        $g2 = $reader->read('POINT(0 0)');
-        $gi = $g->difference($g2);
-        $this->assertEquals( 'GEOMETRYCOLLECTION EMPTY'
-            , $writer->write($gi));
-        $g2 = $reader->read('POINT(1 0)');
-        $gi = $g->difference($g2);
-        $this->assertEquals( 'POINT (0 0)'
-            , $writer->write($gi));
-
-        /* LINE - POINT */
-        $g = $reader->read('LINESTRING(0 0, 10 0)');
-        $g2 = $reader->read('POINT(5 0)');
-        $gi = $g->difference($g2);
-        $this->assertEquals('LINESTRING (0 0, 10 0)'
-            , $writer->write($gi));
-
-        /* POINT - LINE */
-        $g = $reader->read('POINT(5 0)');
-        $g2 = $reader->read('LINESTRING(0 0, 10 0)');
-        $gi = $g->difference($g2);
-        $this->assertEquals('GEOMETRYCOLLECTION EMPTY'
-            , $writer->write($gi));
-        $g2 = $reader->read('LINESTRING(0 1, 10 1)');
-        $gi = $g->difference($g2);
-        $this->assertEquals( 'POINT (5 0)'
-            , $writer->write($gi));
-
-        /* LINE - LINE */
-        $g = $reader->read('LINESTRING(0 0, 10 0)');
-        $g2 = $reader->read('LINESTRING(5 -10, 5 10)');
-        $gi = $g->difference($g2);
-        $this->assertEquals( 'MULTILINESTRING ((0 0, 5 0), (5 0, 10 0))'
-            , $writer->write($gi));
-        $g2 = $reader->read('LINESTRING(5 0, 20 0)');
-        $gi = $g->difference($g2);
-        $this->assertEquals( 'LINESTRING (0 0, 5 0)'
-            , $writer->write($gi));
-
-        /* POLY - LINE */
-        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
-        $g2 = $reader->read('LINESTRING(5 -10, 5 10)');
-        $gi = $g->difference($g2);
-        $this->assertEquals(
-'POLYGON ((5 0, 0 0, 0 10, 5 10, 10 10, 10 0, 5 0))'
-            , $writer->write($gi));
-        $g2 = $reader->read('LINESTRING(10 0, 20 0)');
-        $gi = $g->difference($g2);
-        $this->assertEquals(
-'POLYGON ((10 0, 0 0, 0 10, 10 10, 10 0))'
-            , $writer->write($gi));
-
-        /* POLY - POLY */
-        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
-        $g2 = $reader->read('POLYGON((5 -5, 5 5, 15 5, 15 -5, 5 -5))');
-        $gi = $g->difference($g2);
-        $this->assertEquals(
-'POLYGON ((5 0, 0 0, 0 10, 10 10, 10 5, 5 5, 5 0))'
-            , $writer->write($gi));
-    }
-
-    public function testGeometry_symdifference()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        /* POINT - POINT */
-        $g = $reader->read('POINT(0 0)');
-        $g2 = $reader->read('POINT(0 0)');
-        $gi = $g->symDifference($g2);
-        $this->assertEquals( 'GEOMETRYCOLLECTION EMPTY'
-            , $writer->write($gi));
-        $g2 = $reader->read('POINT(1 0)');
-        $gi = $g->symDifference($g2);
-        $this->assertEquals( 'MULTIPOINT (0 0, 1 0)'
-            , $writer->write($gi));
-
-        /* LINE - POINT */
-        $g = $reader->read('LINESTRING(0 0, 10 0)');
-        $g2 = $reader->read('POINT(5 0)');
-        $gi = $g->symDifference($g2);
-        $this->assertEquals('LINESTRING (0 0, 10 0)'
-            , $writer->write($gi));
-
-        /* POINT - LINE */
-        $g = $reader->read('POINT(5 0)');
-        $g2 = $reader->read('LINESTRING(0 0, 10 0)');
-        $gi = $g->symDifference($g2);
-        $this->assertEquals( 'LINESTRING (0 0, 10 0)'
-            , $writer->write($gi));
-        $g2 = $reader->read('LINESTRING(0 1, 10 1)');
-        $gi = $g->symDifference($g2);
-        $this->assertEquals(
-'GEOMETRYCOLLECTION (POINT (5 0), LINESTRING (0 1, 10 1))'
-            , $writer->write($gi));
-
-        /* LINE - LINE */
-        $g = $reader->read('LINESTRING(0 0, 10 0)');
-        $g2 = $reader->read('LINESTRING(5 -10, 5 10)');
-        $gi = $g->symDifference($g2);
-        $this->assertEquals(
-'MULTILINESTRING ((0 0, 5 0), (5 0, 10 0), (5 -10, 5 0), (5 0, 5 10))'
-            , $writer->write($gi));
-        $g2 = $reader->read('LINESTRING(5 0, 20 0)');
-        $gi = $g->symDifference($g2);
-        $this->assertEquals(
-'MULTILINESTRING ((0 0, 5 0), (10 0, 20 0))'
-            , $writer->write($gi));
-
-        /* POLY - LINE */
-        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
-        $g2 = $reader->read('LINESTRING(5 -10, 5 10)');
-        $gi = $g->symDifference($g2);
-        $this->assertEquals(
-'GEOMETRYCOLLECTION (LINESTRING (5 -10, 5 0), POLYGON ((5 0, 0 0, 0 10, 5 10, 10 10, 10 0, 5 0)))'
-            , $writer->write($gi));
-        $g2 = $reader->read('LINESTRING(10 0, 20 0)');
-        $gi = $g->symDifference($g2);
-        $this->assertEquals(
-'GEOMETRYCOLLECTION (LINESTRING (10 0, 20 0), POLYGON ((10 0, 0 0, 0 10, 10 10, 10 0)))'
-            , $writer->write($gi));
-
-        /* POLY - POLY */
-        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
-        $g2 = $reader->read('POLYGON((5 -5, 5 5, 15 5, 15 -5, 5 -5))');
-        $gi = $g->symDifference($g2);
-        $this->assertEquals(
-'MULTIPOLYGON (((5 0, 0 0, 0 10, 10 10, 10 5, 5 5, 5 0)), ((5 0, 10 0, 10 5, 15 5, 15 -5, 5 -5, 5 0)))'
-            , $writer->write($gi));
-    }
-
-    public function testGeometry_boundary()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('POINT(0 0)');
-        $b = $g->boundary();
-        $this->assertEquals(
-'GEOMETRYCOLLECTION EMPTY'
-            , $writer->write($b));
-
-        $g = $reader->read('LINESTRING(0 0, 10 10)');
-        $b = $g->boundary();
-        $this->assertEquals(
-'MULTIPOINT (0 0, 10 10)'
-            , $writer->write($b));
-
-        $g = $reader->read(
-'POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),( 5 5, 5 6, 6 6, 6 5, 5 5))');
-        $b = $g->boundary();
-        $this->assertEquals(
-'MULTILINESTRING ((0 0, 10 0, 10 10, 0 10, 0 0), (5 5, 5 6, 6 6, 6 5, 5 5))'
-            , $writer->write($b));
-
-    }
-
-    public function testGeometry_union()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        /* POINT - POINT */
-        $g = $reader->read('POINT(0 0)');
-        $g2 = $reader->read('POINT(0 0)');
-        $gi = $g->union($g2);
-        $this->assertEquals( 'POINT (0 0)'
-            , $writer->write($gi));
-        $g2 = $reader->read('POINT(1 0)');
-        $gi = $g->union($g2);
-        $this->assertEquals( 'MULTIPOINT (0 0, 1 0)'
-            , $writer->write($gi));
-
-        /* LINE - POINT */
-        $g = $reader->read('LINESTRING(0 0, 10 0)');
-        $g2 = $reader->read('POINT(5 0)');
-        $gi = $g->union($g2);
-        $this->assertEquals('LINESTRING (0 0, 10 0)'
-            , $writer->write($gi));
-
-        /* POINT - LINE */
-        $g = $reader->read('POINT(5 0)');
-        $g2 = $reader->read('LINESTRING(0 0, 10 0)');
-        $gi = $g->union($g2);
-        $this->assertEquals( 'LINESTRING (0 0, 10 0)'
-            , $writer->write($gi));
-        $g2 = $reader->read('LINESTRING(0 1, 10 1)');
-        $gi = $g->union($g2);
-        $this->assertEquals(
-'GEOMETRYCOLLECTION (POINT (5 0), LINESTRING (0 1, 10 1))'
-            , $writer->write($gi));
-
-        /* LINE - LINE */
-        $g = $reader->read('LINESTRING(0 0, 10 0)');
-        $g2 = $reader->read('LINESTRING(5 -10, 5 10)');
-        $gi = $g->union($g2);
-        $this->assertEquals(
-'MULTILINESTRING ((0 0, 5 0), (5 0, 10 0), (5 -10, 5 0), (5 0, 5 10))'
-            , $writer->write($gi));
-        $g2 = $reader->read('LINESTRING(5 0, 20 0)');
-        $gi = $g->union($g2);
-        $this->assertEquals(
-'MULTILINESTRING ((0 0, 5 0), (5 0, 10 0), (10 0, 20 0))'
-            , $writer->write($gi));
-
-        /* POLY - LINE */
-        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
-        $g2 = $reader->read('LINESTRING(5 -10, 5 10)');
-        $gi = $g->union($g2);
-        $this->assertEquals(
-'GEOMETRYCOLLECTION (LINESTRING (5 -10, 5 0), POLYGON ((5 0, 0 0, 0 10, 5 10, 10 10, 10 0, 5 0)))'
-            , $writer->write($gi));
-        $g2 = $reader->read('LINESTRING(10 0, 20 0)');
-        $gi = $g->union($g2);
-        $this->assertEquals(
-'GEOMETRYCOLLECTION (LINESTRING (10 0, 20 0), POLYGON ((10 0, 0 0, 0 10, 10 10, 10 0)))'
-            , $writer->write($gi));
-
-        /* POLY - POLY */
-        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
-        $g2 = $reader->read('POLYGON((5 -5, 5 5, 15 5, 15 -5, 5 -5))');
-        $gi = $g->union($g2);
-        $this->assertEquals(
-'POLYGON ((5 0, 0 0, 0 10, 10 10, 10 5, 15 5, 15 -5, 5 -5, 5 0))'
-            , $writer->write($gi));
-    }
-
-    public function testGeometry_unaryunion()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('MULTIPOLYGON(
-                 ((0 0, 1 0, 1 1, 0 1, 0 0)),
-                 ((10 10, 10 14, 14 14, 14 10, 10 10),
-                  (11 11, 11 12, 12 12, 12 11, 11 11)),
-                 ((0 0, 11 0, 11 11, 0 11, 0 0))
-                ))');
-
-        $gu = $g->union();
-        $this->assertEquals(
-'POLYGON ((1 0, 0 0, 0 1, 0 11, 10 11, 10 14, 14 14, 14 10, 11 10, 11 0, 1 0), (11 11, 12 11, 12 12, 11 12, 11 11))'
-            , $writer->write($gu));
-
-        $g = $reader->read('MULTILINESTRING(
-                 (0 0, 1 0, 1 1, 0 1, 0 0),
-                 (10 10, 10 14, 14 14, 14 10, 10 10),
-                  (11 11, 11 12, 12 12, 12 11, 11 11),
-                 (0 0, 11 0, 11 11, 0 11, 0 0)
-                )');
-
-        $gu = $g->union();
-        $this->assertEquals(
-'MULTILINESTRING ((0 0, 1 0), (1 0, 1 1, 0 1), (0 1, 0 0), (1 0, 11 0, 11 10), (11 10, 11 11), (11 11, 10 11), (10 11, 0 11, 0 1), (11 11, 11 12, 12 12, 12 11, 11 11), (10 10, 10 11), (10 11, 10 14, 14 14, 14 10, 11 10), (11 10, 10 10))'
-            , $writer->write($gu));
-
-        $g = $reader->read('MULTIPOINT(
-                 0 0, 1 0, 1 1, 0 1, 0 0,
-                 10 10, 10 14, 14 14, 14 10, 10 10,
-                  11 11, 11 12, 12 12, 12 11, 11 11,
-                 0 0, 11 0, 11 11, 0 11, 0 0
-                )');
-
-        $gu = $g->union();
-        $this->assertEquals(
-'MULTIPOINT (0 0, 0 1, 0 11, 1 0, 1 1, 10 10, 10 14, 11 0, 11 11, 11 12, 12 11, 12 12, 14 10, 14 14)'
-            , $writer->write($gu));
-
-        $g = $reader->read('GEOMETRYCOLLECTION(
-MULTIPOLYGON(
-                 ((0 0, 1 0, 1 1, 0 1, 0 0)),
-                 ((10 10, 10 14, 14 14, 14 10, 10 10),
-                  (11 11, 11 12, 12 12, 12 11, 11 11)),
-                 ((0 0, 11 0, 11 11, 0 11, 0 0))
-                ),
-MULTILINESTRING(
-                 (0 0, 1 0, 1 1, 0 1, 0 0),
-                 (10 10, 10 14, 14 14, 14 10, 10 10),
-                  (11 11, 11 12, 12 12, 12 11, 11 11),
-                 (0 0, 11 0, 11 11, 0 11, 0 0),(-8 8, -8 6)
-                ),
-MULTIPOINT(
-                 0 0, 1 0, 1 1, 0 1, 0 0,
-                 10 10, 10 14, 14 14, 14 10, 10 10,
-                  11 11, 11 12, 12 12, 12 11, 11 11,
-                 0 0, 11 0, 11 11, 0 11, 0 0, -10 -10
-                ))');
-
-        $gu = $g->union();
-        $this->assertEquals(
-'GEOMETRYCOLLECTION (POINT (-10 -10), LINESTRING (-8 8, -8 6), POLYGON ((1 0, 0 0, 0 1, 0 11, 10 11, 10 14, 14 14, 14 10, 11 10, 11 0, 1 0), (11 12, 11 11, 12 11, 12 12, 11 12)))'
-            , $writer->write($gu));
-
-
-    }
-
-    public function testGeometry_pointOnSurface()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('POINT(0 0)');
-        $b = $g->pointOnSurface();
-        $this->assertEquals(
-'POINT (0 0)'
-            , $writer->write($b));
-
-        $g = $reader->read('LINESTRING(0 0, 5 5, 10 10)');
-        $b = $g->pointOnSurface();
-        $this->assertEquals(
-'POINT (5 5)'
-            , $writer->write($b));
-
-        $g = $reader->read('POLYGON((0 0, 0 10, 5 5, 10 10, 10 0, 0 0))');
-        $b = $g->pointOnSurface();
-        $this->assertEquals(
-'POINT (1 8)'
-            , $writer->write($b));
-    }
-
-    public function testGeometry_centroid()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('POINT(0 0)');
-        $b = $g->centroid();
-        $this->assertEquals(
-'POINT (0 0)'
-            , $writer->write($b));
-
-        $g = $reader->read('LINESTRING(0 0, 10 10)');
-        $b = $g->centroid();
-        $this->assertEquals(
-'POINT (5 5)'
-            , $writer->write($b));
-
-        $g = $reader->read('POLYGON((0 0, 0 10, 5 5, 10 10, 10 0, 0 0))');
-        $b = $g->centroid();
-        $this->assertEquals(
-'POINT (5 4)'
-            , $writer->write($b));
-    }
-
-    public function testGeometry_relate()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('POINT(0 0)');
-        $g2 = $reader->read('POINT(0 0)');
-        $ret = $g->relate($g2);
-        $this->assertEquals('0FFFFFFF2', $ret);
-        $ret = $g->relate($g2, '0FFFFFFF2');
-        $this->assertEquals(TRUE, $ret);
-        $ret = $g->relate($g2, '0*******T');
-        $this->assertEquals(TRUE, $ret);
-        $ret = $g->relate($g2, '0*******1');
-        $this->assertEquals(FALSE, $ret);
-
-        $g = $reader->read('POINT(0 0)');
-        $g2 = $reader->read('POINT(1 0)');
-        $ret = $g->relate($g2);
-        $this->assertEquals('FF0FFF0F2', $ret);
-        $ret = $g->relate($g2, 'FF0FFF0F2');
-        $this->assertEquals(TRUE, $ret);
-        $ret = $g->relate($g2, 'F*******2');
-        $this->assertEquals(TRUE, $ret);
-        $ret = $g->relate($g2, 'T*******2');
-        $this->assertEquals(FALSE, $ret);
-
-        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
-        $g2 = $reader->read('POINT(1 0)');
-        $ret = $g->relate($g2);
-        $this->assertEquals('FF20F1FF2', $ret);
-        $ret = $g->relate($g2, 'FF20F1FF2');
-        $this->assertEquals(TRUE, $ret);
-        $ret = $g->relate($g2, 'F****T**T');
-        $this->assertEquals(TRUE, $ret);
-        $ret = $g->relate($g2, 'T*******2');
-        $this->assertEquals(FALSE, $ret);
-
-    }
-
-    public function testGeometry_relateBoundaryNodeRule()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('LINESTRING(0 0, 2 4, 5 5, 0 0)');
-        $g2 = $reader->read('POINT(0 0)');
-
-        $ret = $g->relateBoundaryNodeRule($g2, GEOSRELATE_BNR_OGC);
-        $this->assertEquals('0F1FFFFF2', $ret);
-
-        $ret = $g->relateBoundaryNodeRule($g2, GEOSRELATE_BNR_ENDPOINT);
-        $this->assertEquals('FF10FFFF2', $ret);
-
-    }
-
-    public function testGeometry_polygonize()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('GEOMETRYCOLLECTION(
-            LINESTRING(0 0, 10 10),
-            LINESTRING(185 221, 100 100),
-            LINESTRING(185 221, 88 275, 180 316),
-            LINESTRING(185 221, 292 281, 180 316),
-            LINESTRING(189 98, 83 187, 185 221),
-            LINESTRING(189 98, 325 168, 185 221))
-            )');
-
-        $g2 = $reader->read('POINT(0 0)');
-
-        $ret = GEOSPolygonize($g);
-
-        $this->assertEquals('array', gettype($ret));
-        $this->assertEquals('array', gettype($ret['rings']));
-        $this->assertEquals('array', gettype($ret['cut_edges']));
-        $this->assertEquals('array', gettype($ret['dangles']));
-        $this->assertEquals('array', gettype($ret['invalid_rings']));
-
-        $this->assertEquals(2, count($ret['rings']));
-        $this->assertEquals(
-'POLYGON ((185 221, 88 275, 180 316, 292 281, 185 221))' # JTS-confirmed!
-            , $writer->write($ret['rings'][0]));
-        $this->assertEquals(
-'POLYGON ((189 98, 83 187, 185 221, 325 168, 189 98))' # JTS-confirmed !
-            , $writer->write($ret['rings'][1]));
-
-        $this->assertEquals(0, count($ret['cut_edges']));
-
-        $this->assertEquals(0, count($ret['invalid_rings']));
-
-        /*
-         * FIXME: the duplicated dangle (0 0, 10 10) is unexpected
-         */
-
-        $this->assertEquals(2, count($ret['dangles']));
-        $this->assertEquals(
-'LINESTRING (185 221, 100 100)' # JTS-confirmed !
-            , $writer->write($ret['dangles'][0]));
-        $this->assertEquals(
-'LINESTRING (0 0, 10 10)' # JTS-confirmed !
-            , $writer->write($ret['dangles'][1]));
-
-
-        ###########################################################
-
-        $g = $g->union($g2); /* Now make sure linestrings are noded */
-
-        $ret = GEOSPolygonize($g);
-
-        $this->assertEquals('array', gettype($ret));
-        $this->assertEquals('array', gettype($ret['rings']));
-        $this->assertEquals('array', gettype($ret['cut_edges']));
-        $this->assertEquals('array', gettype($ret['dangles']));
-        $this->assertEquals('array', gettype($ret['invalid_rings']));
-
-        $this->assertEquals(2, count($ret['dangles']));
-        $this->assertEquals(
-'LINESTRING (132 146, 100 100)'
-            , $writer->write($ret['dangles'][0]));
-        $this->assertEquals(
-'LINESTRING (0 0, 10 10)'
-            , $writer->write($ret['dangles'][1]));
-
-        $this->assertEquals(0, count($ret['invalid_rings']));
-
-	// TODO: test a polygonize run with cut lines and invalid_rings
-
-    }
-
-    public function testGeometry_lineMerge()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('MULTILINESTRING(
-            (0 0, 10 10),
-            (10 10, 10 0),
-            (5 0, 10 0),
-            (5 -5, 5 0)
-            )');
-
-        $ret = GEOSLineMerge($g);
-
-        $this->assertEquals('array', gettype($ret));
-        $this->assertEquals('1', count($ret));
-
-        $this->assertEquals(
-'LINESTRING (0 0, 10 10, 10 0, 5 0, 5 -5)'
-            , $writer->write($ret[0]));
-
-    }
-
-    public function testGeometry_sharedPaths()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        /* LINE - LINE */
-        $g1 = $reader->read('LINESTRING(0 0, 50 0)');
-        $g2 = $reader->read('MULTILINESTRING((5 0, 15 0),(40 0, 30 0))');
-        $gs = GEOSSharedPaths($g1, $g2);
-        $this->assertEquals(
-'GEOMETRYCOLLECTION (MULTILINESTRING ((5 0, 15 0)), MULTILINESTRING ((30 0, 40 0)))'
-            , $writer->write($gs));
-    }
-
-    public function testGeometry_simplify()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('LINESTRING(0 0, 3 4, 5 10, 10 0, 10 9, 5 11, 0 9)');
-        $gs = $g->simplify(2);
-        $this->assertEquals( 'LINESTRING (0 0, 5 10, 10 0, 10 9, 0 9)'
-            , $writer->write($gs));
-        $gs = $g->simplify(2, TRUE);
-        $this->assertEquals( 'LINESTRING (0 0, 5 10, 10 0, 10 9, 5 11, 0 9)'
-            , $writer->write($gs));
-    }
-
-    public function testGeometry_extractUniquePoints()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read(
-    'GEOMETRYCOLLECTION (
-        MULTIPOLYGON (
-            ((0 0, 1 0, 1 1, 0 1, 0 0)),
-            ((10 10, 10 14, 14 14, 14 10, 10 10),
-                (11 11, 11 12, 12 12, 12 11, 11 11))
-        ),
-        POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0)),
-        MULTILINESTRING ((0 0, 2 3), (10 10, 3 4)),
-        LINESTRING (0 0, 2 3),
-        MULTIPOINT (0 0, 2 3),
-        POINT (9 0),
-        POINT(1 0)),
-        LINESTRING EMPTY
-');
-
-        $gs = $g->extractUniquePoints();
-        if ( ! $gs ) RETURN_NULL(); /* should get an exception before */
-
-        $this->assertEquals( 
-'MULTIPOINT (0 0, 1 0, 1 1, 0 1, 10 10, 10 14, 14 14, 14 10, 11 11, 11 12, 12 12, 12 11, 2 3, 3 4, 9 0)'
-            , $writer->write($gs));
-    }
-
-    public function testGeometry_relationalOps()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g1 = $reader->read('POINT(0 0)');
-        $g2 = $reader->read('POINT(0 0)');
-
-        $this->assertFalse( $g1->disjoint($g2) );
-        $this->assertFalse( $g1->touches($g2) ); /* no bounds, can't touch */
-        $this->assertTrue( $g1->intersects($g2) );
-        $this->assertFalse( $g1->crosses($g2) );
-        $this->assertTrue( $g1->within($g2) );
-        $this->assertTrue( $g1->contains($g2) );
-        $this->assertFalse( $g1->overlaps($g2) );
-        $this->assertTrue( $g1->equals($g2) );
-        $this->assertTrue( $g1->equalsExact($g2) );
-        $this->assertTrue( $g1->covers($g2) );
-        $this->assertTrue( $g1->coveredBy($g2) );
-
-        $g1 = $reader->read('POINT(0 0)');
-        $g2 = $reader->read('LINESTRING(0 0, 10 0)');
-
-        $this->assertFalse( $g1->disjoint($g2) );
-        $this->assertTrue( $g1->touches($g2) ); 
-        $this->assertTrue( $g1->intersects($g2) );
-        $this->assertFalse( $g1->crosses($g2) );
-        $this->assertFalse( $g1->within($g2) );
-        $this->assertFalse( $g1->contains($g2) );
-        $this->assertFalse( $g1->overlaps($g2) );
-        $this->assertFalse( $g1->equals($g2) );
-        $this->assertFalse( $g1->equalsExact($g2, 10) );
-        $this->assertFalse( $g1->covers($g2) );
-        $this->assertTrue( $g1->coveredBy($g2) );
-
-        $g1 = $reader->read('POINT(5 0)');
-        $g2 = $reader->read('LINESTRING(0 0, 10 0)');
-
-        $this->assertFalse( $g1->disjoint($g2) );
-        $this->assertFalse( $g1->touches($g2) ); 
-        $this->assertTrue( $g1->intersects($g2) );
-        $this->assertFalse( $g1->crosses($g2) );
-        $this->assertTrue( $g1->within($g2) );
-        $this->assertFalse( $g1->contains($g2) );
-        $this->assertFalse( $g1->overlaps($g2) );
-        $this->assertFalse( $g1->equals($g2) );
-        $this->assertFalse( $g1->equalsExact($g2, 10) );
-        $this->assertFalse( $g1->covers($g2) );
-        $this->assertTrue( $g1->coveredBy($g2) );
-
-        $g1 = $reader->read('LINESTRING(5 -5, 5 5)');
-        $g2 = $reader->read('LINESTRING(0 0, 10 0)');
-
-        $this->assertFalse( $g1->disjoint($g2) );
-        $this->assertFalse( $g1->touches($g2) ); 
-        $this->assertTrue( $g1->intersects($g2) );
-        $this->assertTrue( $g1->crosses($g2) );
-        $this->assertFalse( $g1->within($g2) );
-        $this->assertFalse( $g1->contains($g2) );
-        $this->assertFalse( $g1->overlaps($g2) );
-        $this->assertFalse( $g1->equals($g2) );
-        $this->assertFalse( $g1->equalsExact($g2, 1) );
-        $this->assertFalse( $g1->covers($g2) );
-        $this->assertFalse( $g1->coveredBy($g2) );
-
-        $g1 = $reader->read('LINESTRING(5 0, 15 0)');
-        $g2 = $reader->read('LINESTRING(0 0, 10 0)');
-
-        $this->assertFalse( $g1->disjoint($g2) );
-        $this->assertFalse( $g1->touches($g2) ); 
-        $this->assertTrue( $g1->intersects($g2) );
-        $this->assertFalse( $g1->crosses($g2) );
-        $this->assertFalse( $g1->within($g2) );
-        $this->assertFalse( $g1->contains($g2) );
-        $this->assertTrue( $g1->overlaps($g2) );
-        $this->assertFalse( $g1->equals($g2) );
-        $this->assertFalse( $g1->equalsExact($g2, 1) );
-        $this->assertFalse( $g1->covers($g2) );
-        $this->assertFalse( $g1->coveredBy($g2) );
-
-        $g1 = $reader->read('LINESTRING(0 0, 5 0, 10 0)');
-        $g2 = $reader->read('LINESTRING(0 0, 10 0)');
-
-        $this->assertFalse( $g1->disjoint($g2) );
-        $this->assertFalse( $g1->touches($g2) ); 
-        $this->assertTrue( $g1->intersects($g2) );
-        $this->assertFalse( $g1->crosses($g2) );
-        $this->assertTrue( $g1->within($g2) );
-        $this->assertTrue( $g1->contains($g2) );
-        $this->assertFalse( $g1->overlaps($g2) );
-        $this->assertTrue( $g1->equals($g2) );
-        $this->assertFalse( $g1->equalsExact($g2, 1) );
-        $this->assertTrue( $g1->covers($g2) );
-        $this->assertTrue( $g1->coveredBy($g2) );
-
-        $g1 = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
-        $g2 = $reader->read('POLYGON((5 -5, 5 5, 15 5, 15 -5, 5 -5))');
-
-        $this->assertFalse( $g1->disjoint($g2) );
-        $this->assertFalse( $g1->touches($g2) ); 
-        $this->assertTrue( $g1->intersects($g2) );
-        $this->assertFalse( $g1->crosses($g2) );
-        $this->assertFalse( $g1->within($g2) );
-        $this->assertFalse( $g1->contains($g2) );
-        $this->assertTrue( $g1->overlaps($g2) );
-        $this->assertFalse( $g1->equals($g2) );
-        $this->assertFalse( $g1->equalsExact($g2, 1) );
-        $this->assertFalse( $g1->covers($g2) );
-        $this->assertFalse( $g1->coveredBy($g2) );
-
-        $g1 = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
-        $g2 = $reader->read('POINT(15 15)');
-
-        $this->assertTrue( $g1->disjoint($g2) );
-        $this->assertFalse( $g1->touches($g2) ); 
-        $this->assertFalse( $g1->intersects($g2) );
-        $this->assertFalse( $g1->crosses($g2) );
-        $this->assertFalse( $g1->within($g2) );
-        $this->assertFalse( $g1->contains($g2) );
-        $this->assertFalse( $g1->overlaps($g2) );
-        $this->assertFalse( $g1->equals($g2) );
-        $this->assertFalse( $g1->equalsExact($g2, 1) );
-        $this->assertFalse( $g1->covers($g2) );
-        $this->assertFalse( $g1->coveredBy($g2) );
-
-        $g1 = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
-        $g2 = $reader->read('POINT(5 0)');
-
-        $this->assertFalse( $g1->disjoint($g2) );
-        $this->assertTrue( $g1->touches($g2) ); 
-        $this->assertTrue( $g1->intersects($g2) );
-        $this->assertFalse( $g1->crosses($g2) );
-        $this->assertFalse( $g1->within($g2) );
-        $this->assertFalse( $g1->contains($g2) );
-        $this->assertFalse( $g1->overlaps($g2) );
-        $this->assertFalse( $g1->equals($g2) );
-        $this->assertFalse( $g1->equalsExact($g2, 1) );
-        $this->assertTrue( $g1->covers($g2) );
-        $this->assertFalse( $g1->coveredBy($g2) );
-
-    }
-
-    public function testGeometry_isEmpty()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g1 = $reader->read('POINT(0 0)');
-        $this->assertFalse( $g1->isEmpty() );
-
-        $g1 = $reader->read('POINT EMPTY');
-        $this->assertTrue( $g1->isEmpty() );
-
-        $g1 = $reader->read('LINESTRING(0 0, 10 0)');
-        $this->assertFalse( $g1->isEmpty() );
-
-        $g1 = $reader->read('LINESTRING EMPTY');
-        $this->assertTrue( $g1->isEmpty() );
-
-        $g1 = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 0))');
-        $this->assertFalse( $g1->isEmpty() );
-
-        $g1 = $reader->read('POLYGON EMPTY');
-        $this->assertTrue( $g1->isEmpty() );
-
-        $g1 = $reader->read('GEOMETRYCOLLECTION(POINT(0 0))');
-        $this->assertFalse( $g1->isEmpty() );
-
-        $g1 = $reader->read('GEOMETRYCOLLECTION EMPTY');
-        $this->assertTrue( $g1->isEmpty() );
-    }
-
-    public function testGeometry_checkValidity()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('POINT(0 0)');
-        $val = $g->checkValidity();
-        $this->assertType( 'array', $val );
-        $this->assertTrue( $val['valid'] );
-        $this->assertFalse( isset($val['reason']) );
-        $this->assertFalse( isset($val['location']) );
-
-        $g = $reader->read('POINT(0 NaN)');
-        $val = $g->checkValidity();
-        $this->assertType( 'array', $val );
-        $this->assertFalse( $val['valid'] );
-        $this->assertEquals( 'Invalid Coordinate', $val['reason'] );
-        $this->assertEquals( 'POINT (0 nan)',
-            $writer->write($val['location']) );
-
-        $g = $reader->read(
-           'POLYGON((0 0, -10 10, 10 10, 0 0, 4 5, -4 5, 0 0)))'
-        );
-        $val = $g->checkValidity();
-        $this->assertType( 'array', $val );
-        $this->assertFalse( $val['valid'] );
-        $this->assertEquals( 'Ring Self-intersection', $val['reason'] );
-        $this->assertEquals( 'POINT (0 0)',
-            $writer->write($val['location']) );
-
-        $g = $reader->read(
-           'POLYGON((0 0, -10 10, 10 10, 0 0, 4 5, -4 5, 0 0)))'
-        );
-        $flags = GEOSVALID_ALLOW_SELFTOUCHING_RING_FORMING_HOLE;
-        $val = $g->checkValidity($flags);
-        $this->assertType( 'array', $val );
-        $this->assertTrue( $val['valid'] );
-        $this->assertFalse( isset($val['reason']) );
-        $this->assertFalse( isset($val['location']) );
-    }
-
-    public function testGeometry_isSimple()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT(0 0)');
-        $this->assertTrue( $g->isSimple() );
-
-        $g = $reader->read('LINESTRING(0 0, 10 0)');
-        $this->assertTrue( $g->isSimple() );
-
-        $g = $reader->read('LINESTRING(0 0, 10 0, 5 5, 5 -5)');
-        $this->assertFalse( $g->isSimple() );
-    }
-
-    public function testGeometry_isRing()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT(0 0)');
-        $this->assertFalse( $g->isRing() );
-
-        $g = $reader->read('LINESTRING(0 0, 10 0, 5 5, 5 -5)');
-        $this->assertFalse( $g->isRing() );
-
-        $g = $reader->read('LINESTRING(0 0, 10 0, 5 5, 0 0)');
-        $this->assertTrue( $g->isRing() );
-    }
-
-    public function testGeometry_hasZ()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT(0 0)');
-        $this->assertFalse( $g->hasZ() );
-
-        $g = $reader->read('POINT(0 0 0)');
-        $this->assertTrue( $g->hasZ() );
-
-    }
-
-    public function testGeometry_isClosed()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT(0 0)');
-        try  {
-            $this->assertFalse( $g->isClosed() );
-            $this->assertTrue(FALSE);
-        } catch (Exception $e) {
-            $this->assertContains('LineString', $e->getMessage());
-        }
-
-        $g = $reader->read('LINESTRING(0 0, 10 0, 5 5, 5 -5)');
-        $this->assertFalse( $g->isClosed() );
-
-        $g = $reader->read('LINESTRING(0 0, 10 0, 5 5, 0 0)');
-        $this->assertTrue( $g->isClosed() );
-    }
-
-    public function testGeometry_type()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT(0 0)');
-        $this->assertEquals('Point', $g->typeName());
-        $this->assertEquals(GEOS_POINT, $g->typeId());
-
-        $g = $reader->read('MULTIPOINT (0 1, 2 3)');
-        $this->assertEquals('MultiPoint', $g->typeName());
-        $this->assertEquals(GEOS_MULTIPOINT, $g->typeId());
-
-        $g = $reader->read('LINESTRING (0 0, 2 3)');
-        $this->assertEquals('LineString', $g->typeName());
-        $this->assertEquals(GEOS_LINESTRING, $g->typeId());
-
-        $g = $reader->read('MULTILINESTRING ((0 1, 2 3), (10 10, 3 4))');
-        $this->assertEquals('MultiLineString', $g->typeName());
-        $this->assertEquals(GEOS_MULTILINESTRING, $g->typeId());
-
-        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
-        $this->assertEquals('Polygon', $g->typeName());
-        $this->assertEquals(GEOS_POLYGON, $g->typeId());
-
-        $g = $reader->read('MULTIPOLYGON (((0 0, 1 0, 1 1, 0 1, 0 0)), ((10 10, 10 14, 14 14, 14 10, 10 10), (11 11, 11 12, 12 12, 12 11, 11 11)))');
-        $this->assertEquals('MultiPolygon', $g->typeName());
-        $this->assertEquals(GEOS_MULTIPOLYGON, $g->typeId());
-
-        $g = $reader->read('GEOMETRYCOLLECTION (MULTIPOLYGON (((0 0, 1 0, 1 1, 0 1, 0 0)), ((10 10, 10 14, 14 14, 14 10, 10 10), (11 11, 11 12, 12 12, 12 11, 11 11))), POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0)), MULTILINESTRING ((0 0, 2 3), (10 10, 3 4)), LINESTRING (0 0, 2 3), MULTIPOINT (0 0, 2 3), POINT (9 0))');
-        $this->assertEquals('GeometryCollection', $g->typeName());
-        $this->assertEquals(GEOS_GEOMETRYCOLLECTION, $g->typeId());
-    }
-
-    public function testGeometry_srid()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT(0 0)');
-        $this->assertEquals(0, $g->getSRID());
-        $g->setSRID(2);
-        $this->assertEquals(2, $g->getSRID());
-    }
-
-    public function testGeometry_numGeometries()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT(0 0)');
-        $this->assertEquals(1, $g->numGeometries());
-
-        $g = $reader->read('MULTIPOINT (0 1, 2 3)');
-        $this->assertEquals(2, $g->numGeometries());
-
-        $g = $reader->read('LINESTRING (0 0, 2 3)');
-        $this->assertEquals(1, $g->numGeometries());
-
-        $g = $reader->read('MULTILINESTRING ((0 1, 2 3), (10 10, 3 4))');
-        $this->assertEquals(2, $g->numGeometries());
-
-        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
-        $this->assertEquals(1, $g->numGeometries());
-
-        $g = $reader->read('MULTIPOLYGON (
-            ((0 0, 1 0, 1 1, 0 1, 0 0)),
-            ((10 10, 10 14, 14 14, 14 10, 10 10),
-                (11 11, 11 12, 12 12, 12 11, 11 11)))');
-        $this->assertEquals(2, $g->numGeometries());
-
-        $g = $reader->read('GEOMETRYCOLLECTION (
-            MULTIPOLYGON (
-                ((0 0, 1 0, 1 1, 0 1, 0 0)),
-                ((10 10, 10 14, 14 14, 14 10, 10 10),
-                    (11 11, 11 12, 12 12, 12 11, 11 11))
-            ),
-            POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0)),
-            MULTILINESTRING ((0 0, 2 3), (10 10, 3 4)),
-            LINESTRING (0 0, 2 3),
-            MULTIPOINT (0 0, 2 3),
-            POINT (9 0))');
-        $this->assertEquals(6, $g->numGeometries());
-    }
-
-    public function testGeometry_geometryN()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT(0 0)');
-        $c = $g->geometryN(0);
-        $this->assertTrue( $g->equalsExact($c) );
-
-        $g = $reader->read('MULTIPOINT (0 1, 2 3)');
-        $this->assertEquals($reader->read('POINT(0 1)'), $g->geometryN(0));
-        $this->assertEquals($reader->read('POINT(2 3)'), $g->geometryN(1));
-
-        $c = $g->geometryN(2);
-        $this->assertNull( $c );
-
-    }
-
-    public function testGeometry_numInteriorRings()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
-        $this->assertEquals(0, $g->numInteriorRings());
-
-        $g = $reader->read('POLYGON (
-            (10 10, 10 14, 14 14, 14 10, 10 10),
-                (11 11, 11 12, 12 12, 12 11, 11 11))');
-        $this->assertEquals(1, $g->numInteriorRings());
-
-        $g = $reader->read('POLYGON (
-            (10 10, 10 14, 14 14, 14 10, 10 10),
-                (11 11, 11 12, 12 12, 12 11, 11 11),
-                (13 11, 13 12, 13.5 12, 13.5 11, 13 11))');
-        $this->assertEquals(2, $g->numInteriorRings());
-
-        $g = $reader->read('POINT (0 0)');
-        try {
-            $g->numInteriorRings();
-            $this->assertTrue( FALSE );
-        } catch (Exception $e) {
-            $this->assertContains( 'Polygon', $e->getMessage() );
-        }
-
-    }
-
-    public function testGeometry_numPoints()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('LINESTRING (0 0, 1 0, 1 1, 0 1)');
-        $this->assertEquals(4, $g->numPoints());
-
-        $g = $reader->read('POINT (0 0)');
-        try {
-            $g->numPoints();
-            $this->assertTrue( FALSE );
-        } catch (Exception $e) {
-            $this->assertContains( 'LineString', $e->getMessage() );
-        }
-
-    }
-
-    public function testGeometry_getXY()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT (1 2)');
-        $this->assertEquals(1, $g->getX());
-        $this->assertEquals(2, $g->getY());
-
-        $g = $reader->read('LINESTRING (0 0, 1 1)');
-        try {
-            $g->getX();
-            $this->assertTrue( FALSE );
-        } catch (Exception $e) {
-            $this->assertContains( 'Point', $e->getMessage() );
-        }
-
-        try {
-            $g->getY();
-            $this->assertTrue( FALSE );
-        } catch (Exception $e) {
-            $this->assertContains( 'Point', $e->getMessage() );
-        }
-
-    }
-
-    public function testGeometry_interiorRingN()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('POLYGON (
-            (10 10, 10 14, 14 14, 14 10, 10 10),
-                (11 11, 11 12, 12 12, 12 11, 11 11))');
-        $r = $g->interiorRingN(0);
-        $this->assertEquals('LINEARRING (11 11, 11 12, 12 12, 12 11, 11 11)',
-            $writer->write($r) );
-
-        $g = $reader->read('POLYGON (
-            (10 10, 10 14, 14 14, 14 10, 10 10),
-                (11 11, 11 12, 12 12, 12 11, 11 11),
-                (13 11, 13 12, 13.5 12, 13.5 11, 13 11))');
-        $r = $g->interiorRingN(0);
-        $this->assertEquals('LINEARRING (11 11, 11 12, 12 12, 12 11, 11 11)',
-            $writer->write($r) );
-        $r = $g->interiorRingN(1);
-        $this->assertEquals('LINEARRING (13 11, 13 12, 14 12, 14 11, 13 11)',
-            $writer->write($r) );
-
-        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
-        $this->assertNull($g->interiorRingN(0));
-
-        $g = $reader->read('POINT (0 0)');
-        try {
-            $g->interiorRingN(0);
-            $this->assertTrue( FALSE );
-        } catch (Exception $e) {
-            $this->assertContains( 'Polygon', $e->getMessage() );
-        }
-
-    }
-
-    public function testGeometry_exteriorRing()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('POLYGON (
-            (10 10, 10 14, 14 14, 14 10, 10 10),
-                (11 11, 11 12, 12 12, 12 11, 11 11))');
-        $r = $g->exteriorRing();
-        $this->assertEquals('LINEARRING (10 10, 10 14, 14 14, 14 10, 10 10)',
-            $writer->write($r) );
-
-        $g = $reader->read('POINT (0 0)');
-        try {
-            $g->exteriorRing(0);
-            $this->assertTrue( FALSE );
-        } catch (Exception $e) {
-            $this->assertContains( 'Polygon', $e->getMessage() );
-        }
-
-    }
-
-    public function testGeometry_numCoordinates()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT(0 0)');
-        $this->assertEquals(1, $g->numCoordinates());
-
-        $g = $reader->read('MULTIPOINT (0 1, 2 3)');
-        $this->assertEquals(2, $g->numCoordinates());
-
-        $g = $reader->read('LINESTRING (0 0, 2 3)');
-        $this->assertEquals(2, $g->numCoordinates());
-
-        $g = $reader->read('MULTILINESTRING ((0 1, 2 3), (10 10, 3 4))');
-        $this->assertEquals(4, $g->numCoordinates());
-
-        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
-        $this->assertEquals(5, $g->numCoordinates());
-
-        $g = $reader->read('MULTIPOLYGON (
-            ((0 0, 1 0, 1 1, 0 1, 0 0)),
-            ((10 10, 10 14, 14 14, 14 10, 10 10),
-                (11 11, 11 12, 12 12, 12 11, 11 11)))');
-        $this->assertEquals(15, $g->numCoordinates());
-
-        $g = $reader->read('GEOMETRYCOLLECTION (
-            MULTIPOLYGON (
-                ((0 0, 1 0, 1 1, 0 1, 0 0)),
-                ((10 10, 10 14, 14 14, 14 10, 10 10),
-                    (11 11, 11 12, 12 12, 12 11, 11 11))
-            ),
-            POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0)),
-            MULTILINESTRING ((0 0, 2 3), (10 10, 3 4)),
-            LINESTRING (0 0, 2 3),
-            MULTIPOINT (0 0, 2 3),
-            POINT (9 0))');
-        $this->assertEquals(29, $g->numCoordinates());
-    }
-
-    public function testGeometry_dimension()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT(0 0)');
-        $this->assertEquals(0, $g->dimension());
-
-        $g = $reader->read('MULTIPOINT (0 1, 2 3)');
-        $this->assertEquals(0, $g->dimension());
-
-        $g = $reader->read('LINESTRING (0 0, 2 3)');
-        $this->assertEquals(1, $g->dimension());
-
-        $g = $reader->read('MULTILINESTRING ((0 1, 2 3), (10 10, 3 4))');
-        $this->assertEquals(1, $g->dimension());
-
-        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
-        $this->assertEquals(2, $g->dimension());
-
-        $g = $reader->read('MULTIPOLYGON (
-            ((0 0, 1 0, 1 1, 0 1, 0 0)),
-            ((10 10, 10 14, 14 14, 14 10, 10 10),
-                (11 11, 11 12, 12 12, 12 11, 11 11)))');
-        $this->assertEquals(2, $g->dimension());
-
-        $g = $reader->read('GEOMETRYCOLLECTION (
-            MULTIPOLYGON (
-                ((0 0, 1 0, 1 1, 0 1, 0 0)),
-                ((10 10, 10 14, 14 14, 14 10, 10 10),
-                    (11 11, 11 12, 12 12, 12 11, 11 11))
-            ),
-            POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0)),
-            MULTILINESTRING ((0 0, 2 3), (10 10, 3 4)),
-            LINESTRING (0 0, 2 3),
-            MULTIPOINT (0 0, 2 3),
-            POINT (9 0))');
-        $this->assertEquals(2, $g->dimension());
-    }
-
-    public function testGeometry_coordinateDimension()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POINT(0 0)');
-        $this->assertEquals(2, $g->coordinateDimension());
-
-        $g = $reader->read('POINT(0 0 0)');
-        $this->assertEquals(3, $g->coordinateDimension());
-
-    }
-
-    public function testGeometry_pointN()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('LINESTRING (10 10, 10 14, 14 14, 14 10)');
-        $this->assertEquals('POINT (10 10)', $writer->write($g->pointN(0)) );
-        $this->assertEquals('POINT (10 14)', $writer->write($g->pointN(1)) );
-        $this->assertEquals('POINT (14 14)', $writer->write($g->pointN(2)) );
-        $this->assertEquals('POINT (14 10)', $writer->write($g->pointN(3)) );
-        $this->assertNull( $g->pointN(4) );
-
-        $g = $reader->read('LINEARRING (11 11, 11 12, 12 11, 11 11)');
-        $this->assertEquals('POINT (11 11)', $writer->write($g->pointN(0)) );
-        $this->assertEquals('POINT (11 12)', $writer->write($g->pointN(1)) );
-        $this->assertEquals('POINT (12 11)', $writer->write($g->pointN(2)) );
-        $this->assertEquals('POINT (11 11)', $writer->write($g->pointN(3)) );
-
-        $g = $reader->read('POINT (0 0)');
-        try {
-            $g->pointN(0);
-            $this->assertTrue( FALSE );
-        } catch (Exception $e) {
-            $this->assertContains( 'LineString', $e->getMessage() );
-        }
-
-    }
-
-    public function testGeometry_startendPoint()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('LINESTRING (10 10, 10 14, 14 14, 14 10)');
-        $this->assertEquals('POINT (10 10)', $writer->write($g->startPoint()) );
-        $this->assertEquals('POINT (14 10)', $writer->write($g->endPoint()) );
-        $this->assertNull( $g->pointN(4) );
-
-        $g = $reader->read('LINEARRING (11 11, 11 12, 12 11, 11 11)');
-        $this->assertEquals('POINT (11 11)', $writer->write($g->startPoint()) );
-        $this->assertEquals('POINT (11 11)', $writer->write($g->endPoint()) );
-
-        $g = $reader->read('POINT (0 0)');
-        try {
-            $g->pointN(0);
-            $this->assertTrue( FALSE );
-        } catch (Exception $e) {
-            $this->assertContains( 'LineString', $e->getMessage() );
-        }
-
-    }
-
-    public function testGeometry_area()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
-        $this->assertEquals( 1.0, $g->area() );
-
-        $g = $reader->read('POINT (0 0)');
-        $this->assertEquals( 0.0, $g->area() );
-
-        $g = $reader->read('LINESTRING (0 0 , 10 0)');
-        $this->assertEquals( 0.0, $g->area() );
-
-    }
-
-    public function testGeometry_length()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
-        $this->assertEquals( 4.0, $g->length() );
-
-        $g = $reader->read('POINT (0 0)');
-        $this->assertEquals( 0.0, $g->length() );
-
-        $g = $reader->read('LINESTRING (0 0 , 10 0)');
-        $this->assertEquals( 10.0, $g->length() );
-
-    }
-
-    public function testGeometry_distance()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
-
-        $g2 = $reader->read('POINT(0.5 0.5)');
-        $this->assertEquals( 0.0, $g->distance($g2) );
-
-        $g2 = $reader->read('POINT (-1 0)');
-        $this->assertEquals( 1.0, $g->distance($g2) );
-
-        $g2 = $reader->read('LINESTRING (3 0 , 10 0)');
-        $this->assertEquals( 2.0, $g->distance($g2) );
-
-    }
-
-    public function testGeometry_hausdorffDistance()
-    {
-        $reader = new GEOSWKTReader();
-
-        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
-
-        $g2 = $reader->read('POINT(0 10)');
-        $this->assertEquals( 10.0, round($g->hausdorffDistance($g2)) );
-
-        $g2 = $reader->read('POINT (-1 0)');
-        $this->assertEquals( 2.0, round($g->hausdorffDistance($g2)) );
-
-        $g2 = $reader->read('LINESTRING (3 0 , 10 0)');
-        $this->assertEquals( 9.0, round($g->hausdorffDistance($g2)) );
-
-    }
-
-    public function testGeometry_delaunayTriangulation()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
-
-        $b = $g->delaunayTriangulation();
-        $this->assertEquals(
-'GEOMETRYCOLLECTION (POLYGON ((0 1, 0 0, 1 0, 0 1)), POLYGON ((0 1, 1 0, 1 1, 0 1)))'
-            , $writer->write($b));
-
-        $b = $g->delaunayTriangulation(0,true);
-        $this->assertEquals(
-'MULTILINESTRING ((0 1, 1 1), (0 0, 0 1), (0 0, 1 0), (1 0, 1 1), (0 1, 1 0))'
-            , $writer->write($b));
-
-    }
-
-    public function testGeometry_voronoiDiagram()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setRoundingPrecision(0);
-
-        $g = $reader->read('MULTIPOINT(0 0, 100 0, 100 100, 0 100)');
-
-        $b = $g->voronoiDiagram();
-        $this->assertEquals(
-'GEOMETRYCOLLECTION (POLYGON ((50 50, 50 200, 200 200, 200 50, 50 50)), POLYGON ((50 -100, 50 50, 200 50, 200 -100, 50 -100)), POLYGON ((-100 50, -100 200, 50 200, 50 50, -100 50)), POLYGON ((-100 -100, -100 50, 50 50, 50 -100, -100 -100)))'
-            , $writer->write($b->normalize()));
-
-        $b = $g->voronoiDiagram(0, 1);
-        $this->assertEquals(
-'MULTILINESTRING ((50 50, 200 50), (50 50, 50 200), (50 -100, 50 50), (-100 50, 50 50))'
-            , $writer->write($b->normalize()));
-
-        $b = $g->voronoiDiagram(0, 1, $g->buffer(1000));
-        $this->assertEquals(
-'MULTILINESTRING ((50 50, 1100 50), (50 50, 50 1100), (50 -1000, 50 50), (-1000 50, 50 50))'
-            , $writer->write($b->normalize()));
-
-    }
-
-    public function testGeometry_snapTo()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setTrim(true);
-
-        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
-
-        $g2 = $reader->read('POINT(0.1 0)');
-
-        $snapped = $g->snapTo($g2, 0);
-        $this->assertEquals('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))'
-            , $writer->write($snapped) );
-
-        $snapped = $g->snapTo($g2, 0.5);
-        $this->assertEquals('POLYGON ((0.1 0, 1 0, 1 1, 0 1, 0.1 0))'
-            , $writer->write($snapped) );
-    }
-
-    public function testGeometry_node()
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKTWriter();
-        $writer->setTrim(true);
-
-        $g = $reader->read('LINESTRING(0 0, 10 0, 5 -5, 5 5)');
-
-        $noded = $g->node();
-        $this->assertEquals('MULTILINESTRING ((0 0, 5 0), (5 0, 10 0, 5 -5, 5 0), (5 0, 5 5))'
-            , $writer->write($noded) );
-
-    }
-
-    public function testWKBWriter__construct()
-    {
-        $writer = new GEOSWKBWriter();
-        $this->assertNotNull($writer);
-    }
-
-    public function testWKBWriter_getOutputDimension()
-    {
-        $writer = new GEOSWKBWriter();
-        $this->assertEquals(2, $writer->getOutputDimension());
-    }
-
-    public function testWKBWriter_setOutputDimension()
-    {
-        $writer = new GEOSWKBWriter();
-        $writer->setOutputDimension(3);
-        $this->assertEquals(3, $writer->getOutputDimension());
-        $writer->setOutputDimension(2);
-        $this->assertEquals(2, $writer->getOutputDimension());
-
-        # 1 is invalid
-        try {
-            $writer->setOutputDimension(1);
-            $this->assertTrue(FALSE);
-        } catch (Exception $e) {
-            $this->assertContains('must be 2 or 3', $e->getMessage());
-        }
-
-        # 4 is invalid
-        try {
-            $writer->setOutputDimension(4);
-            $this->assertTrue(FALSE);
-        } catch (Exception $e) {
-            $this->assertContains('must be 2 or 3', $e->getMessage());
-        }
-    }
-
-    public function testWKBWriter_getsetByteOrder()
-    {
-        $writer = new GEOSWKBWriter();
-
-        /* Machine-dependent */
-        $bo = $writer->getByteOrder();
-
-        $obo = $bo ? 0 : 1;
-        $writer->setByteOrder($obo);
-        $this->assertEquals($obo, $writer->getByteOrder());
-
-        # Anything different from 0 (BIG_ENDIAN) or 1 (LITTLE_ENDIAN)
-        # is invalid
-        try {
-            $writer->setByteOrder(5);
-            $this->assertTrue(FALSE);
-        } catch (Exception $e) {
-            $this->assertContains('LITTLE (1) or BIG (0)', $e->getMessage());
-        }
-    }
-
-    public function testWKBWriter_getsetIncludeSRID()
-    {
-        $writer = new GEOSWKBWriter();
-
-        $this->assertEquals(FALSE, $writer->getIncludeSRID());
-        $writer->setIncludeSRID(TRUE);
-        $this->assertEquals(TRUE, $writer->getIncludeSRID());
-        $writer->setIncludeSRID(FALSE);
-        $this->assertEquals(FALSE, $writer->getIncludeSRID());
-    }
-
-    /**
-     * @dataProvider providerWKBWriter_write
-     *
-     * @param integer $byteOrder       The byte order: 0 for BIG endian, 1 for LITTLE endian.
-     * @param integer $inputDimension  The input dimension: 2 or 3.
-     * @param integer $outputDimension The output dimension: 2 or 3.
-     * @param boolean $includeSrid     Whether to include the SRID in the output.
-     * @param string  $wkb             The expected HEX WKB output.
-     */
-    public function testWKBWriter_write($byteOrder, $inputDimension, $outputDimension, $includeSrid, $wkb)
-    {
-        $reader = new GEOSWKTReader();
-        $writer = new GEOSWKBWriter();
-
-        $writer->setByteOrder($byteOrder);
-        $writer->setOutputDimension($outputDimension);
-        $writer->setIncludeSRID($includeSrid);
-
-        if ($inputDimension === 3) {
-            $g = $reader->read('POINT(6 7 8)');
-            $g->setSRID(53);
-        } else {
-            $g = $reader->read('POINT(6 7)');
-            $g->setSRID(43);
-        }
-
-        $this->assertSame(hex2bin($wkb), $writer->write($g));
-        $this->assertSame($wkb, $writer->writeHEX($g));
-    }
-
-    public function providerWKBWriter_write()
-    {
-        return array(
-            // 2D input
-            array(1, 2, 2, false, '010100000000000000000018400000000000001C40'),        // 2D LITTLE endian
-            array(1, 2, 2, true, '01010000202B00000000000000000018400000000000001C40'), // 2D LITTLE endian + SRID
-            array(0, 2, 2, false, '00000000014018000000000000401C000000000000'),        // 2D BIG endian
-            array(0, 2, 2, true, '00200000010000002B4018000000000000401C000000000000'), // 2D BIG endian + SRID
-            array(1, 2, 3, false, '010100000000000000000018400000000000001C40'),        // 3D LITTLE endian
-            array(1, 2, 3, true, '01010000202B00000000000000000018400000000000001C40'), // 3D LITTLE endian + SRID
-            array(0, 2, 3, false, '00000000014018000000000000401C000000000000'),        // 3D BIG endian
-            array(0, 2, 3, true, '00200000010000002B4018000000000000401C000000000000'), // 3D BIG endian + SRID
-
-            // 3D input
-            array(1, 3, 2, false, '010100000000000000000018400000000000001C40'),                        // 2D LITTLE endian
-            array(1, 3, 2, true, '01010000203500000000000000000018400000000000001C40'),                 // 2D LITTLE endian + SRID
-            array(0, 3, 2, false, '00000000014018000000000000401C000000000000'),                        // 2D BIG endian
-            array(0, 3, 2, true, '0020000001000000354018000000000000401C000000000000'),                 // 2D BIG endian + SRID
-            array(1, 3, 3, false, '010100008000000000000018400000000000001C400000000000002040'),        // 3D LITTLE endian
-            array(1, 3, 3, true, '01010000A03500000000000000000018400000000000001C400000000000002040'), // 3D LITTLE endian + SRID
-            array(0, 3, 3, false, '00800000014018000000000000401C0000000000004020000000000000'),        // 3D BIG endian
-            array(0, 3, 3, true, '00A0000001000000354018000000000000401C0000000000004020000000000000'), // 3D BIG endian + SRID
-        );
-    }
-
-    /**
-     * @expectedException \Exception
-     * @expectedExceptionMessage expects parameter 1
-     */
-    public function testInvalidWriteThrowsException()
-    {
-        $writer = new GEOSWKBWriter();
-        $writer->write(1);
-    }
-
-    /**
-     * @expectedException \Exception
-     * @expectedExceptionMessage expects parameter 1
-     */
-    public function testInvalidWriteHEXThrowsException()
-    {
-        $writer = new GEOSWKBWriter();
-        $writer->writeHEX(1);
-    }
-
-    public function testWKBReader__construct()
-    {
-        $reader = new GEOSWKBReader();
-        $this->assertNotNull($reader);
-    }
-
-    /**
-     * @dataProvider providerWKBReader_read
-     *
-     * @param string  $wkb  The WKB to read.
-     * @param boolean $is3D Whether the geometry is 3D (true) or 2D (false).
-     * @param integer $srid The expected result SRID.
-     */
-    public function testWKBReader_read($wkb, $is3D, $srid)
-    {
-        $reader = new GEOSWKBReader();
-
-        $writer = new GEOSWKTWriter();
-        $writer->setTrim(TRUE);
-        $writer->setOutputDimension(3);
-
-        $wkt = $is3D ? 'POINT Z (6 7 8)' : 'POINT (6 7)';
-
-        $g = $reader->read(hex2bin($wkb));
-        $this->assertSame($wkt, $writer->write($g));
-        $this->assertSame($srid, $g->getSRID());
-
-        $g = $reader->readHEX($wkb);
-        $this->assertSame($wkt, $writer->write($g));
-        $this->assertSame($srid, $g->getSRID());
-    }
-
-    public function providerWKBReader_read()
-    {
-        return array(
-            array('010100000000000000000018400000000000001C40',                         false,  0), // 2D LITTLE endian,
-            array('00000000014018000000000000401C000000000000',                         false,  0), // 2D BIG endian,
-            array('01010000202B00000000000000000018400000000000001C40',                 false, 43), // 2D LITTLE endian + SRID
-            array('00200000010000002B4018000000000000401C000000000000',                 false, 43), // 2D BIG endian + SRID,
-            array('010100008000000000000018400000000000001C400000000000002040',         true,   0), // 3D LITTLE endian
-            array('01010000A03500000000000000000018400000000000001C400000000000002040', true,  53), // 3D LITTLE endian + SRID
-            array('00800000014018000000000000401C0000000000004020000000000000',         true,   0), // 3D BIG endian
-            array('00A0000001000000354018000000000000401C0000000000004020000000000000', true,  53), // 3D BIG endian + SRID
-        );
-    }
-
-    public function testGEOSRelateMatch()
-    {
-        $this->assertTrue(GEOSRelateMatch('0FFFFFFF2', '0FFFFFFF2'));
-        $this->assertTrue(GEOSRelateMatch('0FFFFFFF2', '0FFFFFFF*'));
-        $this->assertTrue(GEOSRelateMatch('0FFFFFFF2', 'TFFFFFFF2'));
-        $this->assertFalse(GEOSRelateMatch('0FFFFFFF2', '0FFFFFFFF'));
-    }
-}
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 10d33f2..4a1e688 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -61,22 +61,38 @@ if(GEOS_ENABLE_MACOSX_FRAMEWORK)
 
 else()
 
-  add_library(geos SHARED ${geos_SOURCES} ${geos_ALL_HEADERS})
-  add_library(geos-static STATIC ${geos_SOURCES} ${geos_ALL_HEADERS})
+  if(GEOS_BUILD_SHARED)
+    add_library(geos SHARED ${geos_SOURCES} ${geos_ALL_HEADERS})
+
+    set_target_properties(geos
+      PROPERTIES
+      DEFINE_SYMBOL GEOS_DLL_EXPORT
+      VERSION ${VERSION}
+      CLEAN_DIRECT_OUTPUT 1)
+
+    install(TARGETS geos
+      RUNTIME DESTINATION bin
+      LIBRARY DESTINATION lib
+      ARCHIVE DESTINATION lib)
+  endif()
 
-  set_target_properties(geos
-    PROPERTIES
-    DEFINE_SYMBOL GEOS_DLL_EXPORT
-    VERSION ${VERSION}
-    CLEAN_DIRECT_OUTPUT 1)
+  if(GEOS_BUILD_STATIC)
+    add_library(geos-static STATIC ${geos_SOURCES} ${geos_ALL_HEADERS})
 
-  set_target_properties(geos-static
-    PROPERTIES
-    OUTPUT_NAME "geos"
-    PREFIX "lib"
-    CLEAN_DIRECT_OUTPUT 1)
+    set_target_properties(geos-static
+      PROPERTIES
+      OUTPUT_NAME "geos"
+      PREFIX "lib"
+      CLEAN_DIRECT_OUTPUT 1)
 
-endif()
+    install(TARGETS geos-static
+      RUNTIME DESTINATION bin
+      LIBRARY DESTINATION lib
+      ARCHIVE DESTINATION lib)
+
+  endif()
+
+endif() # (GEOS_ENABLE_MACOSX_FRAMEWORK)
 
 # if(APPLE)
 #   set_target_properties(geos
@@ -85,16 +101,6 @@ endif()
 #     INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}")
 # endif()
 
-#################################################################################
-# Installation
-#################################################################################
-
-if(NOT GEOS_ENABLE_MACOSX_FRAMEWORK)
-  install(TARGETS geos geos-static
-    RUNTIME DESTINATION bin
-    LIBRARY DESTINATION lib
-    ARCHIVE DESTINATION lib)
-endif()
 
 #################################################################################
 # Group source files for IDE source explorers (e.g. Visual Studio)
diff --git a/src/Makefile.in b/src/Makefile.in
index 9d27e65..c975d81 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -334,9 +334,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -417,6 +414,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/Makefile.vc b/src/Makefile.vc
index 10483e5..7e3f325 100644
--- a/src/Makefile.vc
+++ b/src/Makefile.vc
@@ -1,15 +1,15 @@
 #
 # Building on Win32 with Visual C++ 7.0, 7.1, 8.0 or 9.0
 ###############################################################################
-# 
+#
 # Produces:
 #  geos.lib: static library for use of C or C++ API.
 #  geos.dll: DLL - only exports the C API
-#  geos_i.lib: stub library to link against for use of geos.dll. 
+#  geos_i.lib: stub library to link against for use of geos.dll.
 #
 #  geos_d.lib: debug static library for use of C or C++ API.
 #  geos_d.dll: debug DLL - only exports the C API
-#  geos_i_d.lib: debug stub library to link against for use of geos.dll. 
+#  geos_i_d.lib: debug stub library to link against for use of geos.dll.
 #
 # This makefile mostly maintained by Frank Warmerdam <warmerdam at pobox.com>
 # with support by Mateusz Loskot <mateusz at loskot.net>
@@ -30,9 +30,9 @@ OBJ_EXT = obj
 EXT = $(OBJ_EXT)
 
 OBJ = \
-    algorithm\Angle.$(EXT) \
-    algorithm\BoundaryNodeRule.$(EXT) \
-    algorithm\Centroid.$(EXT) \
+	algorithm\Angle.$(EXT) \
+	algorithm\BoundaryNodeRule.$(EXT) \
+	algorithm\Centroid.$(EXT) \
 	algorithm\CentroidArea.$(EXT) \
 	algorithm\CentroidLine.$(EXT) \
 	algorithm\CentroidPoint.$(EXT) \
@@ -154,6 +154,8 @@ OBJ = \
 	index\quadtree\Quadtree.$(EXT) \
 	index\strtree\AbstractNode.$(EXT) \
 	index\strtree\AbstractSTRtree.$(EXT) \
+	index\strtree\BoundablePair.$(EXT) \
+	index\strtree\GeometryItemDistance.$(EXT) \
 	index\strtree\Interval.$(EXT) \
 	index\strtree\ItemBoundable.$(EXT) \
 	index\strtree\SIRtree.$(EXT) \
@@ -175,7 +177,7 @@ OBJ = \
 	noding\BasicSegmentString.$(EXT) \
 	noding\FastNodingValidator.$(EXT) \
 	noding\FastSegmentSetIntersectionFinder.$(EXT) \
-    noding\GeometryNoder.$(EXT) \
+	noding\GeometryNoder.$(EXT) \
 	noding\IntersectionAdder.$(EXT) \
 	noding\IntersectionFinderAdder.$(EXT) \
 	noding\IteratedNoder.$(EXT) \
@@ -201,7 +203,7 @@ OBJ = \
 	operation\IsSimpleOp.$(EXT) \
 	operation\buffer\BufferBuilder.$(EXT) \
 	operation\buffer\BufferInputLineSimplifier.$(EXT) \
- 	operation\buffer\BufferParameters.$(EXT) \
+	operation\buffer\BufferParameters.$(EXT) \
 	operation\buffer\BufferOp.$(EXT) \
 	operation\buffer\BufferSubgraph.$(EXT) \
 	operation\buffer\OffsetCurveBuilder.$(EXT) \
@@ -212,6 +214,8 @@ OBJ = \
 	operation\distance\ConnectedElementLocationFilter.$(EXT) \
 	operation\distance\ConnectedElementPointFilter.$(EXT) \
 	operation\distance\DistanceOp.$(EXT) \
+	operation\distance\FacetSequence.$(EXT) \
+	operation\distance\FacetSequenceTreeBuilder.$(EXT) \
 	operation\distance\GeometryLocation.$(EXT) \
 	operation\intersection\Rectangle.$(EXT) \
 	operation\intersection\RectangleIntersection.$(EXT) \
@@ -282,6 +286,7 @@ OBJ = \
 	precision\CommonBitsRemover.$(EXT) \
 	precision\EnhancedPrecisionOp.$(EXT) \
 	precision\GeometryPrecisionReducer.$(EXT) \
+	precision\MinimumClearance.$(EXT) \
 	precision\PrecisionReducerCoordinateOperation.$(EXT) \
 	precision\SimpleGeometryPrecisionReducer.$(EXT) \
 	simplify\DouglasPeuckerLineSimplifier.$(EXT) \
@@ -305,7 +310,7 @@ OBJ = \
 	triangulate\quadedge\Vertex.$(EXT) \
 	util\Assert.$(EXT) \
 	util\GeometricShapeFactory.$(EXT) \
-    util\Interrupt.$(EXT) \
+	util\Interrupt.$(EXT) \
 	util\math.$(EXT) \
 	util\Profiler.$(EXT) \
 	linearref\ExtractLineByLocation.$(EXT) \
@@ -332,7 +337,7 @@ all: $(LIBNAME) $(DLLNAME) $(CDLLNAME) TestSweepLineSpeed.exe geostest.exe
 
 check: all
 	TestSweepLineSpeed.exe
-	
+
 
 $(LIBNAME):	$(GEOS_ROOT)\include\geos\platform.h $(GEOS_ROOT)\include\geos\version.h ..\capi\geos_c.h $(OBJ)
 	if exist $(LIBNAME) del $(LIBNAME)
@@ -345,7 +350,7 @@ $(DLLNAME):	$(OBJ)
 $(CDLLNAME): ..\capi\geos_c.obj ..\capi\geos_ts_c.obj $(DLLNAME)
 	$(LINK) /dll /debug $(LINKER_FLAGS) ..\capi\geos_c.obj ..\capi\geos_ts_c.obj $(LIBNAME) /out:$(CDLLNAME) /implib:$(CLIBNAME)
 	if exist $(CDLLNAME).manifest mt -manifest $(CDLLNAME).manifest -outputresource:$(CDLLNAME);2
-  
+
 $(GEOS_ROOT)\include\geos\platform.h: $(GEOS_ROOT)\include\geos\platform.h.vc
 	$(CP) $(GEOS_ROOT)\include\geos\platform.h.vc $(GEOS_ROOT)\include\geos\platform.h
 
@@ -358,7 +363,7 @@ $(GEOS_ROOT)\include\geos\version.h: $(GEOS_ROOT)\include\geos\version.h.vc
 	$(CP) ..\capi\geos_c.h.in ..\capi\geos_c.h
 
 .cpp.obj:
-    $(CC) $(CFLAGS) /c $*.cpp /Fo$@
+	$(CC) $(CFLAGS) /c $*.cpp /Fo$@
 
 {..\capi}.cpp.obj:
 	$(CC) $(CFLAGS) /D "GEOS_DLL_EXPORT" /c $*.cpp /Fo$@
@@ -367,7 +372,7 @@ $(GEOS_ROOT)\include\geos\version.h: $(GEOS_ROOT)\include\geos\version.h.vc
 	$(CC) $(CFLAGS) /c $*.c /Fo$@
 
 clean:
-    @ECHO "*** Cleaning GEOS source tree"
+	@ECHO "*** Cleaning GEOS source tree"
 	@IF EXIST $(LIBNAME)  $(RM) $(LIBNAME)
 	@IF EXIST $(SLIBNAME) $(RM) $(SLIBNAME)
 	@IF EXIST $(DLLNAME)  $(RM) $(DLLNAME)
diff --git a/src/algorithm/CGAlgorithms.cpp b/src/algorithm/CGAlgorithms.cpp
index a8fe5cd..138af94 100644
--- a/src/algorithm/CGAlgorithms.cpp
+++ b/src/algorithm/CGAlgorithms.cpp
@@ -277,17 +277,17 @@ limiting conditions:
 	double s_top=(A.y-C.y)*(B.x-A.x)-(A.x-C.x)*(B.y-A.y);
 	double s_bot=(B.x-A.x)*(D.y-C.y)-(B.y-A.y)*(D.x-C.x);
 	if ((r_bot==0)||(s_bot==0)) {
-		return (std::min)(distancePointLine(A,C,D),
-						(std::min)(distancePointLine(B,C,D),
-						(std::min)(distancePointLine(C,A,B), distancePointLine(D,A,B))));
+		return std::min(distancePointLine(A,C,D),
+						std::min(distancePointLine(B,C,D),
+						std::min(distancePointLine(C,A,B), distancePointLine(D,A,B))));
 	}
 	double s=s_top/s_bot;
 	double r=r_top/r_bot;
 	if ((r<0)||( r>1)||(s<0)||(s>1)) {
 		//no intersection
-		return (std::min)(distancePointLine(A,C,D),
-						(std::min)(distancePointLine(B,C,D),
-						(std::min)(distancePointLine(C,A,B), distancePointLine(D,A,B))));
+		return std::min(distancePointLine(A,C,D),
+						std::min(distancePointLine(B,C,D),
+						std::min(distancePointLine(C,A,B), distancePointLine(D,A,B))));
 	}
 	return 0.0; //intersection exists
 }
diff --git a/src/algorithm/Centroid.cpp b/src/algorithm/Centroid.cpp
index 4871b40..caf4fef 100644
--- a/src/algorithm/Centroid.cpp
+++ b/src/algorithm/Centroid.cpp
@@ -7,7 +7,7 @@
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
- * by the Free Software Foundation. 
+ * by the Free Software Foundation.
  * See the COPYING file for more information.
  *
  **********************************************************************
@@ -70,14 +70,14 @@ Centroid::add(const Geometry& geom)
 {
   if (geom.isEmpty()) return;
 
-  if (const Point* g = dynamic_cast<const Point*>(&geom)) {
-    addPoint(*g->getCoordinate());
+  if (const Point* pt = dynamic_cast<const Point*>(&geom)) {
+    addPoint(*pt->getCoordinate());
   }
-  else if (const LineString* g = dynamic_cast<const LineString*>(&geom)) {
-    addLineSegments(*g->getCoordinatesRO());
+  else if (const LineString* ls = dynamic_cast<const LineString*>(&geom)) {
+    addLineSegments(*ls->getCoordinatesRO());
   }
-  else if (const Polygon* g = dynamic_cast<const Polygon*>(&geom)) {
-    add(*g);
+  else if (const Polygon* p = dynamic_cast<const Polygon*>(&geom)) {
+    add(*p);
   }
   else if (const GeometryCollection* g = dynamic_cast<const GeometryCollection*>(&geom)) {
     for (size_t i = 0; i < g->getNumGeometries(); i++) {
diff --git a/src/algorithm/LineIntersector.cpp b/src/algorithm/LineIntersector.cpp
index b7327ba..5465b51 100644
--- a/src/algorithm/LineIntersector.cpp
+++ b/src/algorithm/LineIntersector.cpp
@@ -127,7 +127,7 @@ LineIntersector::computeEdgeDistance(const Coordinate& p,const Coordinate& p0,co
 		// <FIX>
 		// hack to ensure that non-endpoints always have a non-zero distance
 		if (dist == 0.0 && !(p==p0)) {
-			dist=(std::max)(pdx,pdy);
+			dist=std::max(pdx,pdy);
 		}
 	}
 	assert(!(dist == 0.0 && !(p==p0))); // Bad distance calculation
diff --git a/src/algorithm/Makefile.in b/src/algorithm/Makefile.in
index 5d576da..ee7c21a 100644
--- a/src/algorithm/Makefile.in
+++ b/src/algorithm/Makefile.in
@@ -306,9 +306,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -389,6 +386,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/algorithm/MinimumDiameter.cpp b/src/algorithm/MinimumDiameter.cpp
index c22cb32..81b3812 100644
--- a/src/algorithm/MinimumDiameter.cpp
+++ b/src/algorithm/MinimumDiameter.cpp
@@ -12,6 +12,10 @@
  * See the COPYING file for more information.
  *
  **********************************************************************
+ *
+ * Last port: algorithm/MinimumDiameter.java r966
+ *
+ **********************************************************************
  * 
  * TODO:
  * 	- avoid heap allocation for LineSegment and Coordinate
@@ -23,6 +27,7 @@
 #include <geos/geom/Geometry.h>
 #include <geos/geom/LineSegment.h>
 #include <geos/geom/Polygon.h>
+#include <geos/geom/Point.h>
 #include <geos/geom/LineString.h>
 #include <geos/geom/CoordinateSequenceFactory.h>
 #include <geos/geom/GeometryFactory.h>
@@ -67,6 +72,7 @@ MinimumDiameter::MinimumDiameter(const Geometry* newInputGeom)
 	minWidth=0.0;
 	inputGeom=newInputGeom;
 	isConvex=false;
+	convexHullPts=NULL;
 }
 
 /**
@@ -86,12 +92,14 @@ MinimumDiameter::MinimumDiameter(const Geometry* newInputGeom, const bool newIsC
 	minWidth=0.0;
 	inputGeom=newInputGeom;
 	isConvex=newIsConvex;
+	convexHullPts=NULL;
 }
 
 MinimumDiameter::~MinimumDiameter()
 {
 	delete minBaseSeg;
 	delete minWidthPt;
+	delete convexHullPts;
 }
 
 /**
@@ -177,42 +185,45 @@ void
 MinimumDiameter::computeWidthConvex(const Geometry *geom)
 {
 	//System.out.println("Input = " + geom);
-	CoordinateSequence* pts=NULL;
+	delete convexHullPts;
 	if (typeid(*geom)==typeid(Polygon))
 	{
 		const Polygon* p = dynamic_cast<const Polygon*>(geom);
-		pts=p->getExteriorRing()->getCoordinates();
+		convexHullPts=p->getExteriorRing()->getCoordinates();
 	}
 	else
 	{
-		pts=geom->getCoordinates();
+		convexHullPts=geom->getCoordinates();
 	}
 
 	// special cases for lines or points or degenerate rings
-	switch(pts->getSize())
+	switch(convexHullPts->getSize())
 	{
 		case 0:
 			minWidth=0.0;
+			delete minWidthPt;
 			minWidthPt=NULL;
+			delete minBaseSeg;
 			minBaseSeg=NULL;
 			break;
 		case 1:
 			minWidth = 0.0;
-			minWidthPt=new Coordinate(pts->getAt(0));
-			minBaseSeg->p0=pts->getAt(0);
-			minBaseSeg->p1=pts->getAt(0);
+			delete minWidthPt;
+			minWidthPt=new Coordinate(convexHullPts->getAt(0));
+			minBaseSeg->p0=convexHullPts->getAt(0);
+			minBaseSeg->p1=convexHullPts->getAt(0);
 			break;
 		case 2:
 		case 3:
 			minWidth = 0.0;
-			minWidthPt=new Coordinate(pts->getAt(0));
-			minBaseSeg->p0=pts->getAt(0);
-			minBaseSeg->p1=pts->getAt(1);
+			delete minWidthPt;
+			minWidthPt=new Coordinate(convexHullPts->getAt(0));
+			minBaseSeg->p0=convexHullPts->getAt(0);
+			minBaseSeg->p1=convexHullPts->getAt(1);
 			break;
 		default:
-			computeConvexRingMinDiameter(pts);
+			computeConvexRingMinDiameter(convexHullPts);
 	}
-	delete pts; 
 }
 
 /**
@@ -275,6 +286,111 @@ MinimumDiameter::getNextIndex(const CoordinateSequence *pts,
 	return index;
 }
 
+Geometry* MinimumDiameter::getMinimumRectangle()
+{
+	computeMinimumDiameter();
+
+	if ( !minBaseSeg || !convexHullPts )
+	{
+		//return empty polygon
+		return inputGeom->getFactory()->createPolygon();
+	}
+
+	// check if minimum rectangle is degenerate (a point or line segment)
+	if (minWidth == 0.0) {
+		if (minBaseSeg->p0.equals2D(minBaseSeg->p1)) {
+			return inputGeom->getFactory()->createPoint(minBaseSeg->p0);
+		}
+		return minBaseSeg->toGeometry(*inputGeom->getFactory()).release();
+	}
+
+	// deltas for the base segment of the minimum diameter
+	double dx = minBaseSeg->p1.x - minBaseSeg->p0.x;
+	double dy = minBaseSeg->p1.y - minBaseSeg->p0.y;
+
+	double minPara = DoubleMax;
+	double maxPara = -DoubleMax;
+	double minPerp = DoubleMax;
+	double maxPerp = -DoubleMax;
+
+	// compute maxima and minima of lines parallel and perpendicular to base segment
+	std::size_t const n=convexHullPts->getSize();
+	for (std::size_t i = 0; i < n; ++i) {
+
+		double paraC = computeC(dx, dy, convexHullPts->getAt(i));
+		if (paraC > maxPara) maxPara = paraC;
+		if (paraC < minPara) minPara = paraC;
+
+		double perpC = computeC(-dy, dx, convexHullPts->getAt(i));
+		if (perpC > maxPerp) maxPerp = perpC;
+		if (perpC < minPerp) minPerp = perpC;
+	}
+
+	// compute lines along edges of minimum rectangle
+	LineSegment maxPerpLine = computeSegmentForLine(-dx, -dy, maxPerp);
+	LineSegment minPerpLine = computeSegmentForLine(-dx, -dy, minPerp);
+	LineSegment maxParaLine = computeSegmentForLine(-dy, dx, maxPara);
+	LineSegment minParaLine = computeSegmentForLine(-dy, dx, minPara);
+
+	// compute vertices of rectangle (where the para/perp max & min lines intersect)
+	Coordinate p0, p1, p2, p3;
+	maxParaLine.lineIntersection(maxPerpLine, p0);
+	minParaLine.lineIntersection(maxPerpLine, p1);
+	minParaLine.lineIntersection(minPerpLine, p2);
+	maxParaLine.lineIntersection(minPerpLine, p3);
+
+	const CoordinateSequenceFactory *csf =
+	inputGeom->getFactory()->getCoordinateSequenceFactory();
+
+	geom::CoordinateSequence *seq = csf->create(5, 2);
+	seq->setAt(p0, 0);
+	seq->setAt(p1, 1);
+	seq->setAt(p2, 2);
+	seq->setAt(p3, 3);
+	seq->setAt(p0, 4); // close
+
+	LinearRing* shell = inputGeom->getFactory()->createLinearRing( seq );
+	return inputGeom->getFactory()->createPolygon( shell, NULL );
+}
+
+double MinimumDiameter::computeC(double a, double b, const Coordinate& p)
+{
+	return a * p.y - b * p.x;
+}
+
+LineSegment MinimumDiameter::computeSegmentForLine(double a, double b, double c)
+{
+	Coordinate p0;
+	Coordinate p1;
+	/*
+	* Line eqn is ax + by = c
+	* Slope is a/b.
+	* If slope is steep, use y values as the inputs
+	*/
+	if (fabs(b) > fabs(a) ) {
+		p0 = Coordinate(0.0, c/b);
+		p1 = Coordinate(1.0, c/b - a/b);
+	}
+	else {
+		p0 = Coordinate(c/a, 0.0);
+		p1 = Coordinate(c/a - b/a, 1.0);
+	}
+	return LineSegment(p0, p1);
+}
+
+
+Geometry *MinimumDiameter::getMinimumRectangle(Geometry *geom)
+{
+	MinimumDiameter md( geom );
+	return md.getMinimumRectangle();
+}
+
+Geometry *MinimumDiameter::getMinimumDiameter(Geometry *geom)
+{
+	MinimumDiameter md( geom );
+	return md.getDiameter();
+}
+
 } // namespace geos.algorithm
 } // namespace geos
 
diff --git a/src/algorithm/PointLocator.cpp b/src/algorithm/PointLocator.cpp
index 2900952..0f412a7 100644
--- a/src/algorithm/PointLocator.cpp
+++ b/src/algorithm/PointLocator.cpp
@@ -20,6 +20,7 @@
 #include <geos/algorithm/PointLocator.h>
 #include <geos/algorithm/CGAlgorithms.h>
 #include <geos/geom/Geometry.h>
+#include <geos/geom/Point.h>
 #include <geos/geom/LineString.h>
 #include <geos/geom/LinearRing.h>
 #include <geos/geom/MultiLineString.h>
@@ -61,8 +62,11 @@ PointLocator::locate(const Coordinate& p, const Geometry *geom)
 void
 PointLocator::computeLocation(const Coordinate& p, const Geometry *geom)
 {
-
-	if (const LineString *ls=dynamic_cast<const LineString*>(geom))
+	if (const Point *pt=dynamic_cast<const Point*>(geom))
+	{
+		updateLocationInfo(locate(p, pt));
+	}
+	else if (const LineString *ls=dynamic_cast<const LineString*>(geom))
 	{
 		updateLocationInfo(locate(p, ls));
 	}
@@ -111,6 +115,17 @@ PointLocator::updateLocationInfo(int loc)
 
 /* private */
 int
+PointLocator::locate(const Coordinate& p, const Point *pt)
+{
+	// no point in doing envelope test, since equality test is just as fast
+	const Coordinate *ptCoord = pt->getCoordinate();
+	if (ptCoord->equals2D(p))
+		return Location::INTERIOR;
+	return Location::EXTERIOR;
+}
+
+/* private */
+int
 PointLocator::locate(const Coordinate& p, const LineString *l)
 {
 	const CoordinateSequence* pt=l->getCoordinatesRO();
diff --git a/src/algorithm/RobustDeterminant.cpp b/src/algorithm/RobustDeterminant.cpp
index e14f2bc..804a494 100644
--- a/src/algorithm/RobustDeterminant.cpp
+++ b/src/algorithm/RobustDeterminant.cpp
@@ -59,8 +59,7 @@ int RobustDeterminant::signOfDet2x2(double x1,double y1,double x2,double y2) {
 	double k;
 
   // Protect against non-finite numbers
-  if ( ISNAN(x1)   || ISNAN(y1)   || ISNAN(x2)   || ISNAN(y2) ||
-       !FINITE(x1) || !FINITE(y1) || !FINITE(x2) || !FINITE(y2) )
+  if ( !FINITE(x1) || !FINITE(y1) || !FINITE(x2) || !FINITE(y2) )
   {
     throw util::IllegalArgumentException("RobustDeterminant encountered non-finite numbers ");
   }
diff --git a/src/algorithm/SIRtreePointInRing.cpp b/src/algorithm/SIRtreePointInRing.cpp
index 20e8c4c..c37023f 100644
--- a/src/algorithm/SIRtreePointInRing.cpp
+++ b/src/algorithm/SIRtreePointInRing.cpp
@@ -41,6 +41,11 @@ SIRtreePointInRing::SIRtreePointInRing(LinearRing *newRing):
 	buildIndex();
 }
 
+SIRtreePointInRing::~SIRtreePointInRing()
+{
+	delete sirTree;
+}
+
 void
 SIRtreePointInRing::buildIndex()
 {
diff --git a/src/algorithm/distance/Makefile.in b/src/algorithm/distance/Makefile.in
index 3b2839c..c8a51a8 100644
--- a/src/algorithm/distance/Makefile.in
+++ b/src/algorithm/distance/Makefile.in
@@ -299,9 +299,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -382,6 +379,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/algorithm/locate/IndexedPointInAreaLocator.cpp b/src/algorithm/locate/IndexedPointInAreaLocator.cpp
index 9079a08..cb50785 100644
--- a/src/algorithm/locate/IndexedPointInAreaLocator.cpp
+++ b/src/algorithm/locate/IndexedPointInAreaLocator.cpp
@@ -74,8 +74,8 @@ IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine( geom::CoordinateSeq
 	for ( size_t i = 1, ni = pts->size(); i < ni; i++ ) 
 	{
 		geom::LineSegment * seg = new geom::LineSegment( (*pts)[ i - 1 ], (*pts)[ i ]);
-		double const min = (std::min)( seg->p0.y, seg->p1.y);
-		double const max = (std::max)( seg->p0.y, seg->p1.y);
+		double const min = std::min( seg->p0.y, seg->p1.y);
+		double const max = std::max( seg->p0.y, seg->p1.y);
 		
 		// NOTE: seg ownership still ours
 		allocatedSegments.push_back(seg);
diff --git a/src/algorithm/locate/Makefile.in b/src/algorithm/locate/Makefile.in
index b9002a4..31eb94a 100644
--- a/src/algorithm/locate/Makefile.in
+++ b/src/algorithm/locate/Makefile.in
@@ -299,9 +299,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -382,6 +379,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/geom/Coordinate.cpp b/src/geom/Coordinate.cpp
index e6051ff..fca94d8 100644
--- a/src/geom/Coordinate.cpp
+++ b/src/geom/Coordinate.cpp
@@ -7,7 +7,7 @@
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
- * by the Free Software Foundation. 
+ * by the Free Software Foundation.
  * See the COPYING file for more information.
  *
  **********************************************************************/
@@ -28,12 +28,12 @@ using namespace std;
 namespace geos {
 namespace geom { // geos::geom
 
-Coordinate Coordinate::nullCoord=Coordinate(DoubleNotANumber,DoubleNotANumber,DoubleNotANumber);
+Coordinate Coordinate::_nullCoord=Coordinate(DoubleNotANumber,DoubleNotANumber,DoubleNotANumber);
 
 Coordinate&
 Coordinate::getNull()
 {
-	return nullCoord;
+	return _nullCoord;
 }
 
 string
diff --git a/src/geom/Geometry.cpp b/src/geom/Geometry.cpp
index cf1e824..9b31166 100644
--- a/src/geom/Geometry.cpp
+++ b/src/geom/Geometry.cpp
@@ -109,20 +109,21 @@ Geometry::GeometryChangedFilter Geometry::geometryChangedFilter;
 Geometry::Geometry(const GeometryFactory *newFactory)
 	:
 	envelope(NULL),
-	factory(newFactory),
-	userData(NULL)
+	_factory(newFactory),
+	_userData(NULL)
 {
-	if ( factory == NULL ) {
-		factory = GeometryFactory::getDefaultInstance();
+	if ( _factory == NULL ) {
+		_factory = GeometryFactory::getDefaultInstance();
 	} 
-	SRID=factory->getSRID();
+	SRID=_factory->getSRID();
+	_factory->addRef();
 }
 
 Geometry::Geometry(const Geometry &geom)
 	:
 	SRID(geom.getSRID()),
-	factory(geom.factory),
-	userData(NULL)
+	_factory(geom._factory),
+	_userData(NULL)
 {
 	if ( geom.envelope.get() )
 	{
@@ -131,7 +132,8 @@ Geometry::Geometry(const Geometry &geom)
 	//factory=geom.factory; 
 	//envelope(new Envelope(*(geom.envelope.get())));
 	//SRID=geom.getSRID();
-	//userData=NULL;
+	//_userData=NULL;
+	_factory->addRef();
 }
 
 bool
@@ -576,7 +578,7 @@ Geometry::Union(const Geometry *other) const
 			v->push_back(other->clone());
 		}
 
-		out = factory->buildGeometry(v);
+		out = _factory->buildGeometry(v);
 		return out;
 	}
 #endif
@@ -640,7 +642,7 @@ Geometry::symDifference(const Geometry *other) const
 			v->push_back(other->clone());
 		}
 
-		return factory->buildGeometry(v);
+		return _factory->buildGeometry(v);
 	}
 
 	return BinaryOp(this, other, overlayOp(OverlayOp::opSYMDIFFERENCE)).release();
@@ -808,7 +810,7 @@ Geometry::getLength() const
 
 Geometry::~Geometry()
 {
-	//delete envelope;
+	_factory->dropRef();
 }
 
 bool
@@ -868,7 +870,7 @@ Geometry::isSimple() const
 const PrecisionModel*
 Geometry::getPrecisionModel() const
 {
-	return factory->getPrecisionModel();
+	return _factory->getPrecisionModel();
 }
 
 } // namespace geos::geom
diff --git a/src/geom/GeometryFactory.cpp b/src/geom/GeometryFactory.cpp
index b29b76b..0c8abfc 100644
--- a/src/geom/GeometryFactory.cpp
+++ b/src/geom/GeometryFactory.cpp
@@ -78,12 +78,13 @@ public:
 
 
 
-/*public*/
+/*protected*/
 GeometryFactory::GeometryFactory()
 	:
 	precisionModel(new PrecisionModel()),
 	SRID(0),
 	coordinateListFactory(CoordinateArraySequenceFactory::instance())
+	,_refCount(0),_autoDestroy(false)
 {
 #if GEOS_DEBUG
 	std::cerr << "GEOS_DEBUG: GeometryFactory["<<this<<"]::GeometryFactory()" << std::endl;
@@ -91,11 +92,16 @@ GeometryFactory::GeometryFactory()
 #endif
 }
 
-/*public*/
+/*public static*/
+GeometryFactory::unique_ptr
+GeometryFactory::create() { return GeometryFactory::unique_ptr(new GeometryFactory()); }
+
+/*protected*/
 GeometryFactory::GeometryFactory(const PrecisionModel* pm, int newSRID,
 		CoordinateSequenceFactory* nCoordinateSequenceFactory)
 	:
 	SRID(newSRID)
+	,_refCount(0),_autoDestroy(false)
 {
 #if GEOS_DEBUG
 	std::cerr << "GEOS_DEBUG: GeometryFactory["<<this<<"]::GeometryFactory(PrecisionModel["<<pm<<"], SRID)" << std::endl;
@@ -113,12 +119,23 @@ GeometryFactory::GeometryFactory(const PrecisionModel* pm, int newSRID,
 	}
 }
 
-/*public*/
+/*public static*/
+GeometryFactory::unique_ptr
+GeometryFactory::create(const PrecisionModel* pm, int newSRID,
+		CoordinateSequenceFactory* nCoordinateSequenceFactory)
+{
+  return GeometryFactory::unique_ptr(
+    new GeometryFactory(pm, newSRID, nCoordinateSequenceFactory)
+  );
+}
+
+/*protected*/
 GeometryFactory::GeometryFactory(
 		CoordinateSequenceFactory* nCoordinateSequenceFactory)
 	:
 	precisionModel(new PrecisionModel()),
 	SRID(0)
+	,_refCount(0),_autoDestroy(false)
 {
 #if GEOS_DEBUG
 	std::cerr << "GEOS_DEBUG: GeometryFactory["<<this<<"]::GeometryFactory(CoordinateSequenceFactory["<<nCoordinateSequenceFactory<<"])" << std::endl;
@@ -130,11 +147,22 @@ GeometryFactory::GeometryFactory(
 	}
 }
 
-/*public*/
+/*public static*/
+GeometryFactory::unique_ptr
+GeometryFactory::create(
+		CoordinateSequenceFactory* nCoordinateSequenceFactory)
+{
+  return GeometryFactory::unique_ptr(
+    new GeometryFactory(nCoordinateSequenceFactory)
+  );
+}
+
+/*protected*/
 GeometryFactory::GeometryFactory(const PrecisionModel *pm)
 	:
 	SRID(0),
 	coordinateListFactory(CoordinateArraySequenceFactory::instance())
+	,_refCount(0),_autoDestroy(false)
 {
 #if GEOS_DEBUG
 	std::cerr << "GEOS_DEBUG: GeometryFactory["<<this<<"]::GeometryFactory(PrecisionModel["<<pm<<"])" << std::endl;
@@ -146,11 +174,21 @@ GeometryFactory::GeometryFactory(const PrecisionModel *pm)
 	}
 }
 
-/*public*/
+/*public static*/
+GeometryFactory::unique_ptr
+GeometryFactory::create(const PrecisionModel *pm)
+{
+  return GeometryFactory::unique_ptr(
+    new GeometryFactory(pm)
+  );
+}
+
+/*protected*/
 GeometryFactory::GeometryFactory(const PrecisionModel* pm, int newSRID)
 	:
 	SRID(newSRID),
 	coordinateListFactory(CoordinateArraySequenceFactory::instance())
+	,_refCount(0),_autoDestroy(false)
 {
 #if GEOS_DEBUG
 	std::cerr << "GEOS_DEBUG: GeometryFactory["<<this<<"]::GeometryFactory(PrecisionModel["<<pm<<"], SRID)" << std::endl;
@@ -162,16 +200,36 @@ GeometryFactory::GeometryFactory(const PrecisionModel* pm, int newSRID)
 	}
 }
 
-/*public*/
+/*public static*/
+GeometryFactory::unique_ptr
+GeometryFactory::create(const PrecisionModel* pm, int newSRID)
+{
+  return GeometryFactory::unique_ptr(
+    new GeometryFactory(pm, newSRID)
+  );
+}
+
+/*protected*/
 GeometryFactory::GeometryFactory(const GeometryFactory &gf)
 {
 	assert(gf.precisionModel);
 	precisionModel=new PrecisionModel(*(gf.precisionModel));
 	SRID=gf.SRID;
 	coordinateListFactory=gf.coordinateListFactory;
+  _autoDestroy=false;
+  _refCount=0;
 }
 
-/*public*/
+/*public static*/
+GeometryFactory::unique_ptr
+GeometryFactory::create(const GeometryFactory &gf)
+{
+  return GeometryFactory::unique_ptr(
+    new GeometryFactory(gf)
+  );
+}
+
+/*public virtual*/
 GeometryFactory::~GeometryFactory(){
 #if GEOS_DEBUG
 	std::cerr << "GEOS_DEBUG: GeometryFactory["<<this<<"]::~GeometryFactory()" << std::endl;
@@ -729,5 +787,30 @@ GeometryFactory::getDefaultInstance()
 	return defInstance;
 }
 
+/*private*/
+void
+GeometryFactory::addRef() const
+{
+	++_refCount;
+}
+
+/*private*/
+void
+GeometryFactory::dropRef() const
+{
+	if ( ! --_refCount )
+	{
+		if ( _autoDestroy ) delete this;
+	}
+}
+
+void
+GeometryFactory::destroy()
+{
+	assert(!_autoDestroy); // don't call me twice !
+	_autoDestroy = true;
+	if ( ! _refCount ) delete this;
+}
+
 } // namespace geos::geom
 } // namespace geos
diff --git a/src/geom/LineSegment.cpp b/src/geom/LineSegment.cpp
index a674131..ce661db 100644
--- a/src/geom/LineSegment.cpp
+++ b/src/geom/LineSegment.cpp
@@ -169,10 +169,10 @@ LineSegment::orientationIndex(const LineSegment& seg) const
 	int orient1 = algorithm::CGAlgorithms::orientationIndex(p0, p1, seg.p1);
 	// this handles the case where the points are L or collinear
 	if (orient0 >= 0 && orient1 >= 0)
-		return (std::max)(orient0, orient1);
+		return std::max(orient0, orient1);
 	// this handles the case where the points are R or collinear
 	if (orient0 <= 0 && orient1 <= 0)
-        return (std::max)(orient0, orient1);
+        return std::max(orient0, orient1);
 	// points lie on opposite sides ==> indeterminate orientation
 	return 0;
 }
diff --git a/src/geom/Makefile.in b/src/geom/Makefile.in
index 9aff5c7..83527f2 100644
--- a/src/geom/Makefile.in
+++ b/src/geom/Makefile.in
@@ -306,9 +306,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -389,6 +386,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/geom/prep/Makefile.in b/src/geom/prep/Makefile.in
index 2882bdc..e96f8ae 100644
--- a/src/geom/prep/Makefile.in
+++ b/src/geom/prep/Makefile.in
@@ -262,9 +262,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -345,6 +342,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/geom/prep/PreparedPoint.cpp b/src/geom/prep/PreparedPoint.cpp
index 2018faa..1f906fe 100644
--- a/src/geom/prep/PreparedPoint.cpp
+++ b/src/geom/prep/PreparedPoint.cpp
@@ -18,7 +18,6 @@
 
 
 #include <geos/geom/prep/PreparedPoint.h>
-#include <geos/geom/Point.h>
 
 namespace geos {
 namespace geom { // geos.geom
@@ -29,10 +28,6 @@ PreparedPoint::intersects(const geom::Geometry* g) const
 {
 	if (! envelopesIntersect( g)) return false;
 
-	const Point *pt_geom = dynamic_cast<const Point *>(g);
-	if (pt_geom) 
-        return getGeometry().equals(g);
-
 	// This avoids computing topology for the test geometry
 	return isAnyTargetComponentInTest( g);
 }
diff --git a/src/geom/util/GeometryEditor.cpp b/src/geom/util/GeometryEditor.cpp
index fd45607..c70fa1e 100644
--- a/src/geom/util/GeometryEditor.cpp
+++ b/src/geom/util/GeometryEditor.cpp
@@ -111,7 +111,13 @@ GeometryEditor::editPolygon(const Polygon *polygon,GeometryEditorOperation *oper
   );
 	if (newPolygon->isEmpty()) {
 		//RemoveSelectedPlugIn relies on this behaviour. [Jon Aquino]
-		return newPolygon;
+		if ( newPolygon->getFactory() != factory ) {
+		  Polygon *ret = factory->createPolygon(NULL, NULL);
+		  delete newPolygon;
+		  return ret;
+		} else {
+		  return newPolygon;
+		}
 	}
 
 	Geometry* editResult = edit(newPolygon->getExteriorRing(),operation);
diff --git a/src/geom/util/Makefile.in b/src/geom/util/Makefile.in
index 0557353..1df54de 100644
--- a/src/geom/util/Makefile.in
+++ b/src/geom/util/Makefile.in
@@ -261,9 +261,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -344,6 +341,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/geomgraph/EdgeEnd.cpp b/src/geomgraph/EdgeEnd.cpp
index 4fe6492..2e9486d 100644
--- a/src/geomgraph/EdgeEnd.cpp
+++ b/src/geomgraph/EdgeEnd.cpp
@@ -190,7 +190,7 @@ EdgeEnd::computeLabel(const algorithm::BoundaryNodeRule& /*boundaryNodeRule*/)
 
 /*public*/
 std::string
-EdgeEnd::print()
+EdgeEnd::print() const
 {
 	std::ostringstream s;
 
diff --git a/src/geomgraph/EdgeEndStar.cpp b/src/geomgraph/EdgeEndStar.cpp
index 7d07982..e7436a8 100644
--- a/src/geomgraph/EdgeEndStar.cpp
+++ b/src/geomgraph/EdgeEndStar.cpp
@@ -9,7 +9,7 @@
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
- * by the Free Software Foundation. 
+ * by the Free Software Foundation.
  * See the COPYING file for more information.
  *
  **********************************************************************
@@ -29,6 +29,7 @@
 #include <cassert>
 #include <string>
 #include <vector>
+#include <sstream>
 
 #ifndef GEOS_DEBUG
 #define GEOS_DEBUG 0
@@ -64,6 +65,13 @@ EdgeEndStar::getCoordinate()
 }
 
 /*public*/
+const Coordinate&
+EdgeEndStar::getCoordinate() const
+{
+	return const_cast<EdgeEndStar*>(this)->getCoordinate();
+}
+
+/*public*/
 EdgeEnd*
 EdgeEndStar::getNextCW(EdgeEnd *ee)
 {
@@ -100,7 +108,7 @@ EdgeEndStar::computeLabelling(std::vector<GeometryGraph*> *geomGraph)
 	 * In all other cases (e.g. the node is on a line, on a point, or
 	 * not on the geometry at all) the edge
 	 * has the location EXTERIOR for the geometry.
-	 * 
+	 *
 	 * Note that the edge cannot be on the BOUNDARY of the geometry,
 	 * since then there would have been a parallel edge from the
 	 * Geometry at this node also labelled BOUNDARY
@@ -210,10 +218,8 @@ EdgeEndStar::checkAreaLabelsConsistent(int geomIndex)
 	if (edgeMap.size()==0) return true;
 
 	// initialize startLoc to location of last L side (if any)
-	EdgeEndStar::reverse_iterator it=rbegin();
-
-	assert(*it);
-	const Label& startLabel = (*it)->getLabel();
+	assert(*rbegin());
+	const Label& startLabel = (*rbegin())->getLabel();
 	int startLoc = startLabel.getLocation(geomIndex, Position::LEFT);
 
 	// Found unlabelled area edge
@@ -338,16 +344,24 @@ EdgeEndStar::propagateSideLabels(int geomIndex)
 
 /*public*/
 std::string
-EdgeEndStar::print()
+EdgeEndStar::print() const
 {
-	std::string out="EdgeEndStar:   " + getCoordinate().toString()+"\n";
-	for (EdgeEndStar::iterator it=begin(), itEnd=end(); it!=itEnd; ++it)
+	std::ostringstream s;
+  s << *this;
+  return s.str();
+}
+
+std::ostream&
+operator<< (std::ostream& os, const EdgeEndStar& es)
+{
+	os << "EdgeEndStar:   " << es.getCoordinate() << "\n";
+	for (EdgeEndStar::const_iterator it=es.begin(), itEnd=es.end(); it!=itEnd; ++it)
 	{
-		EdgeEnd *e=*it;
+		const EdgeEnd *e=*it;
 		assert(e);
-		out+=e->print();
+		os << *e;
 	}
-	return out;
+	return os;
 }
 
 } // namespace geos.geomgraph
diff --git a/src/geomgraph/GeometryGraph.cpp b/src/geomgraph/GeometryGraph.cpp
index 114692a..936094e 100644
--- a/src/geomgraph/GeometryGraph.cpp
+++ b/src/geomgraph/GeometryGraph.cpp
@@ -363,30 +363,34 @@ SegmentIntersector*
 GeometryGraph::computeSelfNodes(LineIntersector &li,
   bool computeRingSelfNodes, const Envelope *env)
 {
-	SegmentIntersector *si=new SegmentIntersector(&li,true,false);
-    	auto_ptr<EdgeSetIntersector> esi(createEdgeSetIntersector());
+	return computeSelfNodes(li, computeRingSelfNodes, false, env);
+}
+
+SegmentIntersector*
+GeometryGraph::computeSelfNodes(LineIntersector &li,
+  bool computeRingSelfNodes, bool isDoneIfProperInt, const Envelope *env)
+{
+	SegmentIntersector *si = new SegmentIntersector(&li, true, false);
+	si->setIsDoneIfProperInt(isDoneIfProperInt);
+	auto_ptr<EdgeSetIntersector> esi(createEdgeSetIntersector());
 
 	typedef vector<Edge*> EC;
 	EC *se = edges;
 	EC self_edges_copy;
+
 	if ( env && ! env->covers(parentGeom->getEnvelopeInternal()) ) {
 		collect_intersecting_edges(env, se->begin(), se->end(), self_edges_copy);
     //cerr << "(computeSelfNodes) Self edges reduced from " << se->size() << " to " << self_edges_copy.size() << endl;
 		se = &self_edges_copy;
 	}
 
-	// optimized test for Polygons and Rings
-	if (! computeRingSelfNodes
-	    && ( dynamic_cast<const LinearRing*>(parentGeom)
+	bool isRings = dynamic_cast<const LinearRing*>(parentGeom)
 	    || dynamic_cast<const Polygon*>(parentGeom)
-	    || dynamic_cast<const MultiPolygon*>(parentGeom) ))
-	{
-		esi->computeIntersections(se, si, false);
-	}
-	else
-	{
-		esi->computeIntersections(se, si, true);
-	}
+	    || dynamic_cast<const MultiPolygon*>(parentGeom);
+
+	bool computeAllSegments = computeRingSelfNodes || ! isRings;
+	
+	esi->computeIntersections(se, si, computeAllSegments);
 
 #if GEOS_DEBUG
 	cerr << "SegmentIntersector # tests = " << si->numTests << endl;
diff --git a/src/geomgraph/Makefile.in b/src/geomgraph/Makefile.in
index 2cad683..d5e9b2d 100644
--- a/src/geomgraph/Makefile.in
+++ b/src/geomgraph/Makefile.in
@@ -303,9 +303,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -386,6 +383,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/geomgraph/PlanarGraph.cpp b/src/geomgraph/PlanarGraph.cpp
index ff1313b..e154cae 100644
--- a/src/geomgraph/PlanarGraph.cpp
+++ b/src/geomgraph/PlanarGraph.cpp
@@ -133,13 +133,14 @@ PlanarGraph::insertEdge(Edge *e)
 void
 PlanarGraph::add(EdgeEnd* e)
 {
+	// It is critical to add the edge to the edgeEndList first,
+	// then it is safe to follow with any potentially throwing operations.
+	assert(edgeEndList);
+	edgeEndList->push_back(e);
 
 	assert(e);
 	assert(nodes);
 	nodes->add(e);
-
-	assert(edgeEndList);
-	edgeEndList->push_back(e);
 }
 
 /*public*/
@@ -211,13 +212,14 @@ PlanarGraph::addEdges(const vector<Edge*>& edgesToAdd)
 		// PlanarGraph destructor will delete all DirectedEdges 
 		// in edgeEndList, which is where these are added
 		// by the ::add(EdgeEnd) call
-		DirectedEdge *de1=new DirectedEdge(e, true);
-		DirectedEdge *de2=new DirectedEdge(e, false);
-
-		de1->setSym(de2);
-		de2->setSym(de1);
-		add(de1);
-		add(de2);
+		std::auto_ptr<DirectedEdge> de1(new DirectedEdge(e, true));
+		std::auto_ptr<DirectedEdge> de2(new DirectedEdge(e, false));
+		de1->setSym(de2.get());
+		de2->setSym(de1.get());
+
+		// First, ::add takes the ownership, then follows with operations that may throw.
+		add(de1.release());
+		add(de2.release());
 	}
 }
 
diff --git a/src/geomgraph/index/Makefile.in b/src/geomgraph/index/Makefile.in
index 0730769..74706f5 100644
--- a/src/geomgraph/index/Makefile.in
+++ b/src/geomgraph/index/Makefile.in
@@ -260,9 +260,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -343,6 +340,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/geomgraph/index/SegmentIntersector.cpp b/src/geomgraph/index/SegmentIntersector.cpp
index 24f6de4..4f5288a 100644
--- a/src/geomgraph/index/SegmentIntersector.cpp
+++ b/src/geomgraph/index/SegmentIntersector.cpp
@@ -73,6 +73,18 @@ SegmentIntersector::hasIntersection()
 	return hasIntersectionVar;
 }
 
+void 
+SegmentIntersector::setIsDoneIfProperInt(bool idwpi) 
+{
+	isDoneWhenProperInt = idwpi;
+}
+
+bool 
+SegmentIntersector::getIsDone() 
+{
+	return isDone;
+}
+
 /*
  * A proper intersection is an intersection which is interior to at least two
  * line segments.  Note that a proper intersection is not necessarily
@@ -184,6 +196,10 @@ SegmentIntersector::addIntersections(Edge *e0,int segIndex0,Edge *e1,int segInde
 				cerr<<"SegmentIntersector::addIntersections(): properIntersectionPoint: "<<properIntersectionPoint.toString()<<endl;
 #endif // DEBUG_INTERSECT
 				hasProper=true;
+				if (isDoneWhenProperInt) 
+				{
+					isDone = true;
+				}
 				if (!isBoundaryPoint(li,bdyNodes))
 					hasProperInterior=true;
 			}
diff --git a/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp b/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
index f78238c..25a6b23 100644
--- a/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
+++ b/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
@@ -135,6 +135,10 @@ SimpleMCSweepLineIntersector::computeIntersections(SegmentIntersector *si)
 		{
 			processOverlaps(i,ev->getDeleteEventIndex(),ev,si);
 		}
+		if (si->getIsDone()) 
+		{
+			break;
+		}	
 	}
 }
 
diff --git a/src/index/Makefile.in b/src/index/Makefile.in
index 3def65a..932ac47 100644
--- a/src/index/Makefile.in
+++ b/src/index/Makefile.in
@@ -298,9 +298,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -381,6 +378,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/index/bintree/Makefile.in b/src/index/bintree/Makefile.in
index 8b6a159..6dcca52 100644
--- a/src/index/bintree/Makefile.in
+++ b/src/index/bintree/Makefile.in
@@ -257,9 +257,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -340,6 +337,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/index/chain/Makefile.in b/src/index/chain/Makefile.in
index 6cdbd4a..dd3ac66 100644
--- a/src/index/chain/Makefile.in
+++ b/src/index/chain/Makefile.in
@@ -257,9 +257,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -340,6 +337,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/index/intervalrtree/Makefile.in b/src/index/intervalrtree/Makefile.in
index 14056d7..95e5396 100644
--- a/src/index/intervalrtree/Makefile.in
+++ b/src/index/intervalrtree/Makefile.in
@@ -258,9 +258,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -341,6 +338,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/index/quadtree/Makefile.in b/src/index/quadtree/Makefile.in
index 6cd69ee..1fcf658 100644
--- a/src/index/quadtree/Makefile.in
+++ b/src/index/quadtree/Makefile.in
@@ -257,9 +257,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -340,6 +337,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/index/strtree/AbstractSTRtree.cpp b/src/index/strtree/AbstractSTRtree.cpp
index 99f4b10..f11401a 100644
--- a/src/index/strtree/AbstractSTRtree.cpp
+++ b/src/index/strtree/AbstractSTRtree.cpp
@@ -55,7 +55,9 @@ AbstractSTRtree::~AbstractSTRtree()
 void
 AbstractSTRtree::build()
 {
-	assert(!built);
+	if(built)
+		return;
+
 	root=(itemBoundables->empty()?createNode(0):createHigherLevels(itemBoundables,-1));
 	built=true;
 }
diff --git a/src/index/strtree/BoundablePair.cpp b/src/index/strtree/BoundablePair.cpp
new file mode 100644
index 0000000..5db6849
--- /dev/null
+++ b/src/index/strtree/BoundablePair.cpp
@@ -0,0 +1,109 @@
+/**********************************************************************
+ *
+ * GEOS - Geometry Engine Open Source
+ * http://geos.osgeo.org
+ *
+ * Copyright (C) 2016 Daniel Baston
+ *
+ * This is free software; you can redistribute and/or modify it under
+ * the terms of the GNU Lesser General Public Licence as published
+ * by the Free Software Foundation.
+ * See the COPYING file for more information.
+ *
+ **********************************************************************
+ *
+ * Last port: index/strtree/BoundablePair.java (JTS-1.14)
+ *
+ **********************************************************************/
+
+#include <geos/index/strtree/BoundablePair.h>
+#include <geos/geom/Envelope.h>
+#include <geos/index/strtree/AbstractNode.h>
+#include <geos/util/IllegalArgumentException.h>
+
+BoundablePair::BoundablePair(const Boundable* boundable1, const Boundable* boundable2, ItemDistance* itemDistance) :
+	boundable1(boundable1),
+	boundable2(boundable2),
+	itemDistance(itemDistance)
+{
+	mDistance = distance();
+}
+
+const Boundable* BoundablePair::getBoundable(int i) const {
+	if (i == 0)
+		return boundable1;
+	return boundable2;
+}
+
+double BoundablePair::distance() const {
+	// if items, compute exact distance
+	if (isLeaves()) {
+		return itemDistance->distance((ItemBoundable*) boundable1, (ItemBoundable*) boundable2);
+	}
+
+	// otherwise compute distance between bounds of boundables
+	const geom::Envelope* e1 = (const geom::Envelope*) boundable1->getBounds();
+	const geom::Envelope* e2 = (const geom::Envelope*) boundable2->getBounds();
+
+	if (!e1 || !e2)
+		throw util::GEOSException("Can't compute envelope of item in BoundablePair");
+	return e1->distance(e2);
+}
+
+double BoundablePair::getDistance() const {
+	return mDistance;
+}
+
+bool BoundablePair::isLeaves() const {
+	return !(isComposite(boundable1) || isComposite(boundable2));
+}
+
+bool BoundablePair::isComposite(const Boundable* item) {
+	return dynamic_cast<const AbstractNode*>(item) != NULL;
+}
+
+double BoundablePair::area(const Boundable* b) {
+	return ((const geos::geom::Envelope*) b->getBounds())->getArea();
+}
+
+void BoundablePair::expandToQueue(BoundablePairQueue & priQ, double minDistance) {
+	bool isComp1 = isComposite(boundable1);
+	bool isComp2 = isComposite(boundable2);
+
+	/**
+	 * HEURISTIC: If both boundables are composite,
+	 * choose the one with largest area to expand.
+	 * Otherwise, simply expand whichever is composite.
+	 */
+	if (isComp1 && isComp2) {
+		if (area(boundable1) > area(boundable2)) {
+			expand(boundable1, boundable2, priQ, minDistance);
+			return;
+		} else {
+			expand(boundable2, boundable1, priQ, minDistance);
+			return;
+		}
+	}
+	else if (isComp1) {
+		expand(boundable1, boundable2, priQ, minDistance);
+		return;
+	}
+	else if (isComp2) {
+		expand(boundable2, boundable1, priQ, minDistance);
+		return;
+	}
+
+	throw new geos::util::IllegalArgumentException("neither boundable is composite");
+}
+
+void BoundablePair::expand(const Boundable* bndComposite, const Boundable* bndOther, BoundablePairQueue & priQ, double minDistance) {
+	std::vector<Boundable*> *children = ((AbstractNode*) bndComposite)->getChildBoundables();
+	for(std::vector<Boundable*>::iterator it = children->begin(); it != children->end(); ++it) {
+		Boundable* child = *it;
+		std::auto_ptr<BoundablePair> bp(new BoundablePair(child, bndOther, itemDistance));
+		if (minDistance == std::numeric_limits<double>::infinity() || bp->getDistance() < minDistance) {
+			priQ.push(bp.release());
+		}
+	}
+}
+
diff --git a/src/index/strtree/GeometryItemDistance.cpp b/src/index/strtree/GeometryItemDistance.cpp
new file mode 100644
index 0000000..af446f0
--- /dev/null
+++ b/src/index/strtree/GeometryItemDistance.cpp
@@ -0,0 +1,30 @@
+/**********************************************************************
+ *
+ * GEOS - Geometry Engine Open Source
+ * http://geos.osgeo.org
+ *
+ * Copyright (C) 2016 Daniel Baston
+ *
+ * This is free software; you can redistribute and/or modify it under
+ * the terms of the GNU Lesser General Public Licence as published
+ * by the Free Software Foundation.
+ * See the COPYING file for more information.
+ *
+ **********************************************************************
+ *
+ * Last port: index/strtree/GeometryItemDistance.java (JTS-1.14)
+ *
+ **********************************************************************/
+
+#include <geos/geom/Geometry.h>
+#include <geos/index/strtree/ItemBoundable.h>
+#include <geos/index/strtree/GeometryItemDistance.h>
+
+using namespace geos::geom;
+using namespace geos::index::strtree;
+
+double GeometryItemDistance::distance(const ItemBoundable* item1, const ItemBoundable* item2) {
+	const Geometry* g1 = (Geometry*) item1->getItem();
+	const Geometry* g2 = (Geometry*) item2->getItem();
+	return g1->distance(g2);
+}
diff --git a/src/index/strtree/Makefile.am b/src/index/strtree/Makefile.am
index de7f3d2..859de65 100644
--- a/src/index/strtree/Makefile.am
+++ b/src/index/strtree/Makefile.am
@@ -8,9 +8,11 @@ AM_CPPFLAGS = -I$(top_srcdir)/include
 libindexstrtree_la_SOURCES = \
     AbstractNode.cpp \
     AbstractSTRtree.cpp \
+    BoundablePair.cpp \
+    GeometryItemDistance.cpp \
     Interval.cpp \
     ItemBoundable.cpp \
     SIRtree.cpp \
-    STRtree.cpp 
+    STRtree.cpp
 
 libindexstrtree_la_LIBADD = 
diff --git a/src/index/strtree/Makefile.in b/src/index/strtree/Makefile.in
index d116c7c..3b833df 100644
--- a/src/index/strtree/Makefile.in
+++ b/src/index/strtree/Makefile.in
@@ -111,7 +111,8 @@ CONFIG_CLEAN_VPATH_FILES =
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 libindexstrtree_la_DEPENDENCIES =
 am_libindexstrtree_la_OBJECTS = AbstractNode.lo AbstractSTRtree.lo \
-	Interval.lo ItemBoundable.lo SIRtree.lo STRtree.lo
+	BoundablePair.lo GeometryItemDistance.lo Interval.lo \
+	ItemBoundable.lo SIRtree.lo STRtree.lo
 libindexstrtree_la_OBJECTS = $(am_libindexstrtree_la_OBJECTS)
 AM_V_lt = $(am__v_lt_ at AM_V@)
 am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
@@ -257,9 +258,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -340,6 +338,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -361,10 +360,12 @@ AM_CPPFLAGS = -I$(top_srcdir)/include
 libindexstrtree_la_SOURCES = \
     AbstractNode.cpp \
     AbstractSTRtree.cpp \
+    BoundablePair.cpp \
+    GeometryItemDistance.cpp \
     Interval.cpp \
     ItemBoundable.cpp \
     SIRtree.cpp \
-    STRtree.cpp 
+    STRtree.cpp
 
 libindexstrtree_la_LIBADD = 
 all: all-am
@@ -423,6 +424,8 @@ distclean-compile:
 
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/AbstractNode.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/AbstractSTRtree.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/BoundablePair.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/GeometryItemDistance.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Interval.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ItemBoundable.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SIRtree.Plo at am__quote@
diff --git a/src/index/strtree/STRtree.cpp b/src/index/strtree/STRtree.cpp
index 9143441..f5cd950 100644
--- a/src/index/strtree/STRtree.cpp
+++ b/src/index/strtree/STRtree.cpp
@@ -18,6 +18,7 @@
  **********************************************************************/
 
 #include <geos/index/strtree/STRtree.h>
+#include <geos/index/strtree/BoundablePair.h>
 #include <geos/geom/Envelope.h>
 
 #include <vector>
@@ -26,6 +27,7 @@
 #include <algorithm> // std::sort
 #include <iostream> // for debugging
 #include <limits>
+#include <geos/util/GEOSException.h>
 
 using namespace std;
 using namespace geos::geom;
@@ -183,6 +185,90 @@ STRtree::verticalSlices(BoundableList* childBoundables, size_t sliceCount)
 	return slices;
 }
 
+/*public*/
+const void* STRtree::nearestNeighbour(const Envelope* env, const void* item, ItemDistance* itemDist) {
+	build();
+
+	ItemBoundable bnd = ItemBoundable(env, (void*) item);
+	BoundablePair bp(getRoot(), &bnd, itemDist);
+
+	return nearestNeighbour(&bp).first;
+}
+
+std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair* initBndPair) {
+	return nearestNeighbour(initBndPair, std::numeric_limits<double>::infinity());
+}
+
+std::pair<const void*, const void*> STRtree::nearestNeighbour(ItemDistance * itemDist) {
+	BoundablePair bp(this->getRoot(), this->getRoot(), itemDist);
+	return nearestNeighbour(&bp);
+}
+
+std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair* initBndPair, double maxDistance) {
+	double distanceLowerBound = maxDistance;
+	BoundablePair* minPair = NULL;
+
+	BoundablePair::BoundablePairQueue priQ;
+	priQ.push(initBndPair);
+
+	while(!priQ.empty() && distanceLowerBound > 0.0) {
+		BoundablePair* bndPair = priQ.top();
+		double currentDistance = bndPair->getDistance();
+
+		/**
+		 * If the distance for the first node in the queue
+		 * is >= the current minimum distance, all other nodes
+		 * in the queue must also have a greater distance.
+		 * So the current minDistance must be the true minimum,
+		 * and we are done.
+		 */
+		if (minPair && currentDistance >= distanceLowerBound)
+			break;
+
+		priQ.pop();
+
+		/**
+		 * If the pair members are leaves
+		 * then their distance is the exact lower bound.
+		 * Update the distanceLowerBound to reflect this
+		 * (which must be smaller, due to the test
+		 * immediately prior to this).
+		 */
+		if (bndPair->isLeaves()) {
+			distanceLowerBound = currentDistance;
+			minPair = bndPair;
+		} else {
+			/**
+			 * Otherwise, expand one side of the pair,
+			 * (the choice of which side to expand is heuristically determined)
+			 * and insert the new expanded pairs into the queue
+			 */
+			bndPair->expandToQueue(priQ, distanceLowerBound);
+		}
+
+		if (bndPair != initBndPair && bndPair != minPair)
+            delete bndPair;
+	}
+
+	/* Free any remaining BoundablePairs in the queue */
+	while(!priQ.empty()) {
+		BoundablePair* bndPair = priQ.top();
+		priQ.pop();
+		if (bndPair != initBndPair)
+            delete bndPair;
+	}
+
+	if (!minPair)
+		throw util::GEOSException("Error computing nearest neighbor");
+
+	const void* item0 = dynamic_cast<const ItemBoundable*>(minPair->getBoundable(0))->getItem();
+	const void* item1 = dynamic_cast<const ItemBoundable*>(minPair->getBoundable(1))->getItem();
+	if (minPair != initBndPair)
+        delete minPair;
+
+	return std::pair<const void*, const void*>(item0, item1);
+}
+
 class STRAbstractNode: public AbstractNode{
 public:
 
diff --git a/src/index/sweepline/Makefile.in b/src/index/sweepline/Makefile.in
index 1803bbd..fab8443 100644
--- a/src/index/sweepline/Makefile.in
+++ b/src/index/sweepline/Makefile.in
@@ -257,9 +257,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -340,6 +337,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/io/Makefile.in b/src/io/Makefile.in
index 9d63ad0..0c8e10a 100644
--- a/src/io/Makefile.in
+++ b/src/io/Makefile.in
@@ -264,9 +264,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -347,6 +344,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/io/StringTokenizer.cpp b/src/io/StringTokenizer.cpp
index 79975d8..1b358e7 100644
--- a/src/io/StringTokenizer.cpp
+++ b/src/io/StringTokenizer.cpp
@@ -21,6 +21,7 @@
 
 #include <string>
 #include <cstdlib>
+#include <limits>
 
 using namespace std;
 
diff --git a/src/io/WKTWriter.cpp b/src/io/WKTWriter.cpp
index 8f8bec1..008eb06 100644
--- a/src/io/WKTWriter.cpp
+++ b/src/io/WKTWriter.cpp
@@ -181,7 +181,7 @@ void
 WKTWriter::appendGeometryTaggedText(const Geometry *geometry, int level,
 		Writer *writer)
 {
-  outputDimension = (std::min)( defaultOutputDimension,
+  outputDimension = std::min( defaultOutputDimension,
                          geometry->getCoordinateDimension() );
 
   indent(level, writer);
diff --git a/src/linearref/Makefile.in b/src/linearref/Makefile.in
index e9178bb..dab641d 100644
--- a/src/linearref/Makefile.in
+++ b/src/linearref/Makefile.in
@@ -260,9 +260,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -343,6 +340,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/noding/Makefile.in b/src/noding/Makefile.in
index c1a6ec2..3e9e0be 100644
--- a/src/noding/Makefile.in
+++ b/src/noding/Makefile.in
@@ -306,9 +306,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -389,6 +386,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/noding/snapround/HotPixel.cpp b/src/noding/snapround/HotPixel.cpp
index 7ff63bc..a29e31a 100644
--- a/src/noding/snapround/HotPixel.cpp
+++ b/src/noding/snapround/HotPixel.cpp
@@ -104,10 +104,10 @@ HotPixel::intersectsScaled(const Coordinate& p0,
 		const Coordinate& p1) const
 {
 
-	double const segMinx = (std::min)(p0.x, p1.x);
-	double const segMaxx = (std::max)(p0.x, p1.x);
-	double const segMiny = (std::min)(p0.y, p1.y);
-	double const segMaxy = (std::max)(p0.y, p1.y);
+	double const segMinx = std::min(p0.x, p1.x);
+	double const segMaxx = std::max(p0.x, p1.x);
+	double const segMiny = std::min(p0.y, p1.y);
+	double const segMaxy = std::max(p0.y, p1.y);
 
 	bool isOutsidePixelEnv =  maxx < segMinx
                          || minx > segMaxx
diff --git a/src/noding/snapround/Makefile.in b/src/noding/snapround/Makefile.in
index 7b66c21..c96fe3b 100644
--- a/src/noding/snapround/Makefile.in
+++ b/src/noding/snapround/Makefile.in
@@ -299,9 +299,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -382,6 +379,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/operation/Makefile.in b/src/operation/Makefile.in
index 6859ac2..3fd02ca 100644
--- a/src/operation/Makefile.in
+++ b/src/operation/Makefile.in
@@ -303,9 +303,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -386,6 +383,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/operation/buffer/BufferBuilder.cpp b/src/operation/buffer/BufferBuilder.cpp
index b671a7c..3c9b91b 100644
--- a/src/operation/buffer/BufferBuilder.cpp
+++ b/src/operation/buffer/BufferBuilder.cpp
@@ -10,7 +10,7 @@
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
- * by the Free Software Foundation. 
+ * by the Free Software Foundation.
  * See the COPYING file for more information.
  *
  **********************************************************************
@@ -32,9 +32,9 @@
 #include <geos/operation/buffer/BufferSubgraph.h>
 #include <geos/operation/buffer/SubgraphDepthLocater.h>
 #include <geos/operation/overlay/OverlayOp.h>
-#include <geos/operation/overlay/snap/SnapOverlayOp.h> 
-#include <geos/operation/overlay/PolygonBuilder.h> 
-#include <geos/operation/overlay/OverlayNodeFactory.h> 
+#include <geos/operation/overlay/snap/SnapOverlayOp.h>
+#include <geos/operation/overlay/PolygonBuilder.h>
+#include <geos/operation/overlay/OverlayNodeFactory.h>
 #include <geos/operation/linemerge/LineMerger.h>
 #include <geos/algorithm/LineIntersector.h>
 #include <geos/noding/IntersectionAdder.h>
@@ -65,7 +65,7 @@
 #define GEOS_DEBUG 0
 #endif
 
-#ifndef JTS_DEBUG 
+#ifndef JTS_DEBUG
 #define JTS_DEBUG 0
 #endif
 
@@ -149,9 +149,9 @@ BufferBuilder::bufferLineSingleSided( const Geometry* g, double distance,
 
    // First, generate the two-sided buffer using a butt-cap.
    BufferParameters modParams = bufParams;
-   modParams.setEndCapStyle(BufferParameters::CAP_FLAT); 
+   modParams.setEndCapStyle(BufferParameters::CAP_FLAT);
    modParams.setSingleSided(false); // ignore parameter for areal-only geometries
-   Geometry* buf = 0;
+   std::auto_ptr<Geometry> buf;
 
    // This is a (temp?) hack to workaround the fact that
    // BufferBuilder BufferParamaters are immutable after
@@ -159,11 +159,11 @@ BufferBuilder::bufferLineSingleSided( const Geometry* g, double distance,
    // style to FLAT for single-sided buffering
    {
       BufferBuilder tmp(modParams);
-      buf = tmp.buffer( l, distance );
+      buf.reset( tmp.buffer( l, distance ) );
    }
 
    // Create MultiLineStrings from this polygon.
-   Geometry* bufLineString = buf->getBoundary();
+   std::auto_ptr<Geometry> bufLineString ( buf->getBoundary() );
 
 #ifdef GEOS_DEBUG_SSB
    std::cerr << "input|" << *l << std::endl;
@@ -174,10 +174,12 @@ BufferBuilder::bufferLineSingleSided( const Geometry* g, double distance,
    OffsetCurveBuilder curveBuilder( precisionModel, modParams );
    std::vector< CoordinateSequence* > lineList;
 
-   std::auto_ptr< CoordinateSequence > coords ( g->getCoordinates() );
-   curveBuilder.getSingleSidedLineCurve( coords.get(), distance,
-                                         lineList, leftSide, !leftSide );
-   coords.reset();
+   {
+       std::auto_ptr< CoordinateSequence > coords(g->getCoordinates());
+       curveBuilder.getSingleSidedLineCurve(coords.get(), distance,
+           lineList, leftSide, !leftSide);
+       coords.reset();
+   }
 
    // Create a SegmentString from these coordinates.
    SegmentString::NonConstVect curveList;
@@ -202,7 +204,7 @@ BufferBuilder::bufferLineSingleSided( const Geometry* g, double distance,
    std::vector< Geometry* >* singleSidedNodedEdges =
       new std::vector< Geometry * >();
    singleSidedNodedEdges->reserve(nodedEdges->size());
-   for ( unsigned int i = 0, n = nodedEdges->size(); i < n; ++i )
+   for ( std::size_t i = 0, n = nodedEdges->size(); i < n; ++i )
    {
       SegmentString* ss = ( *nodedEdges )[i];
 
@@ -219,8 +221,8 @@ BufferBuilder::bufferLineSingleSided( const Geometry* g, double distance,
    for (size_t i=0, n=curveList.size(); i<n; ++i) delete curveList[i];
    curveList.clear();
 
-   Geometry* singleSided = geomFact->createMultiLineString(
-      singleSidedNodedEdges );
+   std::auto_ptr<Geometry> singleSided ( geomFact->createMultiLineString(
+      singleSidedNodedEdges ) );
 
 #ifdef GEOS_DEBUG_SSB
      std::cerr << "edges|" << *singleSided << std::endl;
@@ -233,7 +235,7 @@ BufferBuilder::bufferLineSingleSided( const Geometry* g, double distance,
    //       diverge from original offset curves due to the addition of
    //       intersections with caps and joins curves
    using geos::operation::overlay::snap::SnapOverlayOp;
-   Geometry* intersectedLines = SnapOverlayOp::overlayOp(*singleSided, *bufLineString, OverlayOp::opINTERSECTION).release();
+   std::auto_ptr<Geometry> intersectedLines = SnapOverlayOp::overlayOp(*singleSided, *bufLineString, OverlayOp::opINTERSECTION);
 
 #ifdef GEOS_DEBUG_SSB
      std::cerr << "intersection" << "|" << *intersectedLines << std::endl;
@@ -241,7 +243,7 @@ BufferBuilder::bufferLineSingleSided( const Geometry* g, double distance,
 
    // Merge result lines together.
    LineMerger lineMerge;
-   lineMerge.add( intersectedLines );
+   lineMerge.add( intersectedLines.get() );
    std::auto_ptr< std::vector< LineString* > > mergedLines (
 	lineMerge.getMergedLineStrings() );
 
@@ -261,12 +263,12 @@ BufferBuilder::bufferLineSingleSided( const Geometry* g, double distance,
          // included.
          //
          // Let's try and estimate a more accurate bound instead of just assuming
-         // 98%. With 98%, the episilon grows as the buffer distance grows, 
+         // 98%. With 98%, the episilon grows as the buffer distance grows,
          // so that at large distance, artifacts may skip through this filter
-         // Let the length of the line play a factor in the distance, which is still 
+         // Let the length of the line play a factor in the distance, which is still
          // going to be bounded by 98%. Take 10% of the length of the line  from the buffer distance
          // to try and minimize any artifacts.
-         const double ptDistAllowance = (std::max)(distance - l->getLength()*0.1, distance * 0.98);
+         const double ptDistAllowance = std::max(distance - l->getLength()*0.1, distance * 0.98);
          // Use 102% of the buffer width as the line-length requirement - this
          // is to ensure that line segments that is length "distance" +/-
          // epsilon is removed.
@@ -275,7 +277,7 @@ BufferBuilder::bufferLineSingleSided( const Geometry* g, double distance,
          // Clean up the front of the list.
          // Loop until the line's end is not inside the buffer width from
          // the startPoint.
-         while ( coords->size() > 1 && 
+         while ( coords->size() > 1 &&
                  coords->front().distance( startPoint ) < ptDistAllowance )
          {
             // Record the end segment length.
@@ -290,7 +292,7 @@ BufferBuilder::bufferLineSingleSided( const Geometry* g, double distance,
             // reference point, then delete the point.
             coords->deleteAt( 0 );
          }
-         while ( coords->size() > 1 && 
+         while ( coords->size() > 1 &&
                  coords->front().distance( endPoint ) < ptDistAllowance )
          {
             double segLength = coords->front().distance( ( *coords )[1] );
@@ -338,13 +340,12 @@ BufferBuilder::bufferLineSingleSided( const Geometry* g, double distance,
 
    // Clean up.
    if ( noder != workingNoder ) delete noder;
-   geomFact->destroyGeometry( buf );
-   geomFact->destroyGeometry( bufLineString );
-   geomFact->destroyGeometry( singleSided );
-   geomFact->destroyGeometry( intersectedLines );
+   buf.reset();
+   singleSided.reset();
+   intersectedLines.reset();
 
    if ( mergedLinesGeom->size() > 1 )
-   {      
+   {
       return geomFact->createMultiLineString( mergedLinesGeom );
    }
    else if ( mergedLinesGeom->size() == 1 )
@@ -376,7 +377,7 @@ BufferBuilder::buffer(const Geometry *g, double distance)
 	// factory must be the same as the one used by the input
 	geomFact=g->getFactory();
 
-  { // This scope is here to force release of resources owned by 
+  { // This scope is here to force release of resources owned by
     // OffsetCurveSetBuilder when we're doing with it
 
 	OffsetCurveBuilder curveBuilder(precisionModel, bufParams);
@@ -465,7 +466,7 @@ BufferBuilder::buffer(const Geometry *g, double distance)
 		subgraphList.clear();
 
 		throw;
-	} 
+	}
 
 	return resultGeom;
 }
@@ -552,11 +553,11 @@ std::cerr << "after noding: "
 
 		CoordinateSequence* cs = CoordinateSequence::removeRepeatedPoints(segStr->getCoordinates());
 		delete segStr;
-		if ( cs->size() < 2 ) 
+		if ( cs->size() < 2 )
 		{
 			// don't insert collapsed edges
 			// we need to take care of the memory here as cs is a new sequence
-			delete cs; 
+			delete cs;
 			continue;
 		}
 
@@ -600,7 +601,7 @@ BufferBuilder::insertUniqueEdge(Edge *e)
 		int newDelta = existingDelta + mergeDelta;
 		existingEdge->setDepthDelta(newDelta);
 
-		// we have memory release responsibility 
+		// we have memory release responsibility
 		delete e;
 
 	} else {   // no matching existing edge was found
diff --git a/src/operation/buffer/BufferOp.cpp b/src/operation/buffer/BufferOp.cpp
index 596f6a5..84f33de 100644
--- a/src/operation/buffer/BufferOp.cpp
+++ b/src/operation/buffer/BufferOp.cpp
@@ -60,13 +60,12 @@ namespace buffer { // geos.operation.buffer
 static Profiler *profiler = Profiler::instance();
 #endif
 
-namespace {
-
+#if 0
 double OLDprecisionScaleFactor(const Geometry *g,
 	double distance, int maxPrecisionDigits)
 {
 	const Envelope *env=g->getEnvelopeInternal();
-	double envSize=(std::max)(env->getHeight(), env->getWidth());
+	double envSize=std::max(env->getHeight(), env->getWidth());
 	double expandByDistance=distance > 0.0 ? distance : 0.0;
 	double bufEnvSize=envSize + 2 * expandByDistance;
 	// the smallest power of 10 greater than the buffer envelope
@@ -76,8 +75,7 @@ double OLDprecisionScaleFactor(const Geometry *g,
 	double scaleFactor=std::pow(10.0,-minUnitLog10);
 	return scaleFactor;
 }
-
-} // anonymous namespace
+#endif
 
 /*private*/
 double
diff --git a/src/operation/buffer/Makefile.in b/src/operation/buffer/Makefile.in
index 04c438c..0d1e3b7 100644
--- a/src/operation/buffer/Makefile.in
+++ b/src/operation/buffer/Makefile.in
@@ -302,9 +302,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -385,6 +382,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/operation/distance/FacetSequence.cpp b/src/operation/distance/FacetSequence.cpp
new file mode 100644
index 0000000..fe13019
--- /dev/null
+++ b/src/operation/distance/FacetSequence.cpp
@@ -0,0 +1,117 @@
+/**********************************************************************
+ *
+ * GEOS - Geometry Engine Open Source
+ * http://geos.osgeo.org
+ *
+ * Copyright (C) 2016 Daniel Baston
+ *
+ * This is free software; you can redistribute and/or modify it under
+ * the terms of the GNU Lesser General Public Licence as published
+ * by the Free Software Foundation.
+ * See the COPYING file for more information.
+ *
+ **********************************************************************
+ *
+ * Last port: operation/distance/FacetSequence.java (f6187ee2 JTS-1.14)
+ *
+ **********************************************************************/
+
+#include <geos/algorithm/CGAlgorithms.h>
+#include <geos/operation/distance/FacetSequence.h>
+
+using namespace geos::operation::distance;
+using namespace geos::algorithm;
+
+FacetSequence::FacetSequence(const CoordinateSequence* pts, size_t start, size_t end) :
+        pts(pts),
+        start(start),
+        end(end) {
+    computeEnvelope();
+}
+
+size_t FacetSequence::size() const {
+    return end - start;
+}
+
+bool FacetSequence::isPoint() const {
+    return end - start == 1;
+}
+
+double FacetSequence::distance(const FacetSequence & facetSeq) {
+    bool isPointThis = isPoint();
+    bool isPointOther = facetSeq.isPoint();
+
+    if (isPointThis && isPointOther) {
+        Coordinate pt = pts->getAt(start);
+        Coordinate seqPt = facetSeq.pts->getAt(start);
+        return pt.distance(seqPt);
+
+    } else if (isPointThis) {
+        Coordinate pt = pts->getAt(start);
+        return computePointLineDistance(pt, facetSeq);
+    } else if (isPointOther) {
+        Coordinate seqPt = facetSeq.pts->getAt(start);
+        return computePointLineDistance(seqPt, *this);
+    }
+
+    return computeLineLineDistance(facetSeq);
+}
+
+double FacetSequence::computePointLineDistance(const Coordinate & pt, const FacetSequence & facetSeq) const {
+    double minDistance = std::numeric_limits<double>::infinity();
+    double dist;
+    Coordinate q0;
+    Coordinate q1;
+
+    for (size_t i = facetSeq.start; i < facetSeq.end - 1; i++) {
+        facetSeq.pts->getAt(i, q0);
+        facetSeq.pts->getAt(i + 1, q1);
+        dist = CGAlgorithms::distancePointLine(pt, q0, q1);
+        if (dist == 0.0)
+            return dist;
+        if (dist < minDistance)
+            minDistance = dist;
+    }
+
+    return minDistance;
+}
+
+double FacetSequence::computeLineLineDistance(const FacetSequence & facetSeq) const {
+    double minDistance = std::numeric_limits<double>::infinity();
+    double dist;
+    Coordinate p0, p1, q0, q1;
+
+    for (size_t i = start; i < end - 1; i++) {
+        pts->getAt(i, p0);
+        pts->getAt(i + 1, p1);
+
+        for (size_t j = facetSeq.start; j < facetSeq.end - 1; j++) {
+            facetSeq.pts->getAt(j, q0);
+            facetSeq.pts->getAt(j + 1, q1);
+
+            dist = CGAlgorithms::distanceLineLine(p0, p1, q0, q1);
+            if (dist == 0.0)
+                return dist;
+            if (dist < minDistance)
+                minDistance = dist;
+        }
+    }
+
+    return minDistance;
+}
+
+void FacetSequence::computeEnvelope() {
+    env = Envelope();
+    for (size_t i = start; i < end; i++) {
+        env.expandToInclude(pts->getX(i), pts->getY(i));
+    }
+}
+
+const Envelope * FacetSequence::getEnvelope() const {
+    return &env;
+}
+
+const Coordinate * FacetSequence::getCoordinate(size_t index) const {
+    return &(pts->getAt(start + index));
+}
+
diff --git a/src/operation/distance/FacetSequenceTreeBuilder.cpp b/src/operation/distance/FacetSequenceTreeBuilder.cpp
new file mode 100644
index 0000000..67cd603
--- /dev/null
+++ b/src/operation/distance/FacetSequenceTreeBuilder.cpp
@@ -0,0 +1,76 @@
+/**********************************************************************
+ *
+ * GEOS - Geometry Engine Open Source
+ * http://geos.osgeo.org
+ *
+ * Copyright (C) 2016 Daniel Baston
+ *
+ * This is free software; you can redistribute and/or modify it under
+ * the terms of the GNU Lesser General Public Licence as published
+ * by the Free Software Foundation.
+ * See the COPYING file for more information.
+ *
+ **********************************************************************
+ *
+ * Last port: operation/distance/FacetSequenceTreeBuilder.java (f6187ee2 JTS-1.14)
+ *
+ **********************************************************************/
+
+#include <geos/operation/distance/FacetSequenceTreeBuilder.h>
+#include <geos/geom/LineString.h>
+#include <geos/geom/Point.h>
+
+STRtree* FacetSequenceTreeBuilder::build(const Geometry* g) {
+    std::auto_ptr<STRtree> tree(new STRtree(STR_TREE_NODE_CAPACITY));
+    std::auto_ptr<std::vector<FacetSequence*> > sections(computeFacetSequences(g));
+    for (std::vector<FacetSequence*>::iterator it = sections->begin(); it != sections->end(); ++it) {
+        FacetSequence* section = *it;
+        tree->insert(section->getEnvelope(), section);
+    }
+
+    tree->build();
+    return tree.release();
+}
+
+std::vector<FacetSequence*> * FacetSequenceTreeBuilder::computeFacetSequences(const Geometry* g) {
+    std::auto_ptr<std::vector<FacetSequence*> > sections(new std::vector<FacetSequence*>());
+
+    class FacetSequenceAdder;
+    class FacetSequenceAdder : public geom::GeometryComponentFilter {
+        std::vector<FacetSequence*>*  m_sections;
+
+    public :
+        FacetSequenceAdder(std::vector<FacetSequence*> * p_sections) :
+            m_sections(p_sections) {}
+        void filter_ro(const Geometry* geom) {
+            if (const LineString* ls = dynamic_cast<const LineString*>(geom)) {
+                const CoordinateSequence* seq = ls->getCoordinatesRO();
+                addFacetSequences(seq, *m_sections);
+            } else if (const Point* pt = dynamic_cast<const Point*>(geom)) {
+                const CoordinateSequence* seq = pt->getCoordinatesRO();
+                addFacetSequences(seq, *m_sections);
+            }
+        }
+    };
+
+    FacetSequenceAdder facetSequenceAdder(sections.get());
+    g->apply_ro(&facetSequenceAdder);
+
+    return sections.release();
+}
+
+void FacetSequenceTreeBuilder::addFacetSequences(const CoordinateSequence* pts, std::vector<FacetSequence*> & sections) {
+    size_t i = 0;
+    size_t size = pts->size();
+
+    while (i <= size - 1) {
+        size_t end = i + FACET_SEQUENCE_SIZE + 1;
+        // if only one point remains after this section, include it in this
+        // section
+        if (end >= size - 1)
+            end = size;
+        FacetSequence* sect = new FacetSequence(pts, i, end);
+        sections.push_back(sect);
+        i += FACET_SEQUENCE_SIZE;
+    }
+}
diff --git a/src/operation/distance/Makefile.am b/src/operation/distance/Makefile.am
index ec9a6af..0321697 100644
--- a/src/operation/distance/Makefile.am
+++ b/src/operation/distance/Makefile.am
@@ -11,6 +11,8 @@ libopdistance_la_SOURCES = \
     ConnectedElementLocationFilter.cpp \
     ConnectedElementPointFilter.cpp \
     DistanceOp.cpp \
+    FacetSequence.cpp \
+    FacetSequenceTreeBuilder.cpp \
     GeometryLocation.cpp 
 
 libopdistance_la_LIBADD = 
diff --git a/src/operation/distance/Makefile.in b/src/operation/distance/Makefile.in
index 8751d31..8235da8 100644
--- a/src/operation/distance/Makefile.in
+++ b/src/operation/distance/Makefile.in
@@ -111,8 +111,8 @@ CONFIG_CLEAN_VPATH_FILES =
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 libopdistance_la_DEPENDENCIES =
 am_libopdistance_la_OBJECTS = ConnectedElementLocationFilter.lo \
-	ConnectedElementPointFilter.lo DistanceOp.lo \
-	GeometryLocation.lo
+	ConnectedElementPointFilter.lo DistanceOp.lo FacetSequence.lo \
+	FacetSequenceTreeBuilder.lo GeometryLocation.lo
 libopdistance_la_OBJECTS = $(am_libopdistance_la_OBJECTS)
 AM_V_lt = $(am__v_lt_ at AM_V@)
 am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
@@ -300,9 +300,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -383,6 +380,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -406,6 +404,8 @@ libopdistance_la_SOURCES = \
     ConnectedElementLocationFilter.cpp \
     ConnectedElementPointFilter.cpp \
     DistanceOp.cpp \
+    FacetSequence.cpp \
+    FacetSequenceTreeBuilder.cpp \
     GeometryLocation.cpp 
 
 libopdistance_la_LIBADD = 
@@ -466,6 +466,8 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ConnectedElementLocationFilter.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ConnectedElementPointFilter.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/DistanceOp.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/FacetSequence.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/FacetSequenceTreeBuilder.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/GeometryLocation.Plo at am__quote@
 
 .cpp.o:
diff --git a/src/operation/intersection/Makefile.in b/src/operation/intersection/Makefile.in
index b141d70..c084861 100644
--- a/src/operation/intersection/Makefile.in
+++ b/src/operation/intersection/Makefile.in
@@ -299,9 +299,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -382,6 +379,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/operation/intersection/RectangleIntersectionBuilder.cpp b/src/operation/intersection/RectangleIntersectionBuilder.cpp
index ee886ce..986c4aa 100644
--- a/src/operation/intersection/RectangleIntersectionBuilder.cpp
+++ b/src/operation/intersection/RectangleIntersectionBuilder.cpp
@@ -509,9 +509,6 @@ RectangleIntersectionBuilder::reverseLines()
     delete ol;
   }
   lines = new_lines;
-#if GEOS_DEBUG
-  std::cout << "After lines reverse, parts are " << *this << std::endl;
-#endif
 }
 
 
diff --git a/src/operation/linemerge/Makefile.in b/src/operation/linemerge/Makefile.in
index 6b36304..593cf5f 100644
--- a/src/operation/linemerge/Makefile.in
+++ b/src/operation/linemerge/Makefile.in
@@ -300,9 +300,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -383,6 +380,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/operation/overlay/Makefile.in b/src/operation/overlay/Makefile.in
index 4e19ae2..2969b57 100644
--- a/src/operation/overlay/Makefile.in
+++ b/src/operation/overlay/Makefile.in
@@ -310,9 +310,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -393,6 +390,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/operation/overlay/PolygonBuilder.cpp b/src/operation/overlay/PolygonBuilder.cpp
index 280a180..2056532 100644
--- a/src/operation/overlay/PolygonBuilder.cpp
+++ b/src/operation/overlay/PolygonBuilder.cpp
@@ -148,7 +148,7 @@ PolygonBuilder::buildMaximalEdgeRings(const vector<DirectedEdge*> *dirEdges,
 	cerr << "  dirEdge " << i << endl
 	     << de->printEdge() << endl
 	     << " inResult:" << de->isInResult() << endl
-	     << " isArea:" << de->getLabel()->isArea() << endl;
+	     << " isArea:" << de->getLabel().isArea() << endl;
 #endif
 		if (de->isInResult() && de->getLabel().isArea())
 		{
diff --git a/src/operation/overlay/snap/GeometrySnapper.cpp b/src/operation/overlay/snap/GeometrySnapper.cpp
index 553c549..50d0e20 100644
--- a/src/operation/overlay/snap/GeometrySnapper.cpp
+++ b/src/operation/overlay/snap/GeometrySnapper.cpp
@@ -8,7 +8,7 @@
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
- * by the Free Software Foundation. 
+ * by the Free Software Foundation.
  * See the COPYING file for more information.
  *
  ***********************************************************************
@@ -42,7 +42,7 @@ namespace operation { // geos.operation
 namespace overlay { // geos.operation.overlay
 namespace snap { // geos.operation.overlay.snap
 
-const double GeometrySnapper::snapPrecisionFactor = 1e-9; 
+const double GeometrySnapper::snapPrecisionFactor = 1e-9;
 
 class SnapTransformer: public geos::geom::util::GeometryTransformer {
 
@@ -106,7 +106,7 @@ GeometrySnapper::snapTo(const geom::Geometry& g, double snapTolerance)
 
 	using std::auto_ptr;
 	using geom::util::GeometryTransformer;
-	
+
 	// Get snap points
 	auto_ptr<Coordinate::ConstVect> snapPts=extractTargetCoordinates(g);
 
@@ -123,7 +123,7 @@ GeometrySnapper::snapToSelf(double snapTolerance, bool cleanResult)
 
 	using std::auto_ptr;
 	using geom::util::GeometryTransformer;
-	
+
 	// Get snap points
 	auto_ptr<Coordinate::ConstVect> snapPts=extractTargetCoordinates(srcGeom);
 
@@ -132,7 +132,7 @@ GeometrySnapper::snapToSelf(double snapTolerance, bool cleanResult)
 	auto_ptr<GeometryTransformer> snapTrans(new SnapTransformer(snapTolerance, *snapPts));
 
 	GeomPtr result = snapTrans->transform(&srcGeom);
-	
+
 	if (cleanResult && ( dynamic_cast<const Polygon*>(result.get()) ||
 	                     dynamic_cast<const MultiPolygon*>(result.get()) ) )
 	{
@@ -148,7 +148,7 @@ double
 GeometrySnapper::computeSizeBasedSnapTolerance(const geom::Geometry& g)
 {
 	const Envelope* env = g.getEnvelopeInternal();
-	double minDimension = (std::min)(env->getHeight(), env->getWidth());
+	double minDimension = std::min(env->getHeight(), env->getWidth());
 	double snapTol = minDimension * snapPrecisionFactor;
 	return snapTol;
 }
@@ -184,7 +184,7 @@ double
 GeometrySnapper::computeOverlaySnapTolerance(const geom::Geometry& g1,
 		const geom::Geometry& g2)
 {
-        return (std::min)(computeOverlaySnapTolerance(g1), computeOverlaySnapTolerance(g2));
+        return std::min(computeOverlaySnapTolerance(g1), computeOverlaySnapTolerance(g2));
 }
 
 /* public static */
diff --git a/src/operation/overlay/snap/LineStringSnapper.cpp b/src/operation/overlay/snap/LineStringSnapper.cpp
index 887f89b..e6caec5 100644
--- a/src/operation/overlay/snap/LineStringSnapper.cpp
+++ b/src/operation/overlay/snap/LineStringSnapper.cpp
@@ -8,14 +8,14 @@
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
- * by the Free Software Foundation. 
+ * by the Free Software Foundation.
  * See the COPYING file for more information.
  *
  ***********************************************************************
  *
  * Last port: operation/overlay/snap/LineStringSnapper.java r320 (JTS-1.12)
  *
- * NOTE: algorithm changed to improve output quality by reducing 
+ * NOTE: algorithm changed to improve output quality by reducing
  *       probability of self-intersections
  *
  **********************************************************************/
@@ -153,13 +153,20 @@ cerr << " Vertex to be snapped found, snapping" << endl;
     if (vertpos == srcCoords.begin() && isClosed)
     {
       vertpos = srcCoords.end(); --vertpos;
+#if GEOS_DEBUG
+cerr << " Snapped vertex was first in a closed line, also snapping last" << endl;
+#endif
       *vertpos = snapPt;
     }
 
+#if GEOS_DEBUG
+cerr << " After snapping of vertex " << snapPt << ", srcCoors are: " << srcCoords << endl;
+#endif
+
 	}
 
 #if GEOS_DEBUG
-cerr << " After vertex snapping, srcCoors are: " << srcCoords << endl;
+cerr << " After vertices snapping, srcCoors are: " << srcCoords << endl;
 #endif
 
 }
@@ -270,7 +277,7 @@ cerr << " No segment to snap" << endl;
       *to = seg.p1 = snapPt;
       // now snap from-to (segpos) or to-next (segpos++) to newSnapPt
       if ( to == too_far ) {
-        if ( isClosed ) { 
+        if ( isClosed ) {
 #if GEOS_DEBUG
           cerr << " His end point is the last one, but is closed " << endl;
 #endif
@@ -309,7 +316,7 @@ cerr << " No segment to snap" << endl;
       *segpos = seg.p0 = snapPt;
       // now snap prev-from (--segpos) or from-to (segpos) to newSnapPt
       if ( segpos == srcCoords.begin() ) {
-        if ( isClosed ) { 
+        if ( isClosed ) {
 #if GEOS_DEBUG
           cerr << " His start point is the first one, but is closed " << endl;
 #endif
@@ -333,9 +340,11 @@ cerr << " Before seg-snapping, srcCoors are: " << srcCoords << endl;
       LineSegment prevSeg(*segpos, seg.p0);
       if ( prevSeg.distance(newSnapPt) < seg.distance(newSnapPt) ) {
 #if GEOS_DEBUG
-        cerr << " Prev segment closer, inserting " << newSnapPt << " into " << prevSeg << endl;
+        cerr << " Prev segment closer, inserting " << newSnapPt << " into "
+             << prevSeg << endl;
 #endif
         // insert into prev segment
+        ++segpos;
         srcCoords.insert(segpos, newSnapPt);
       } else {
 #if GEOS_DEBUG
@@ -378,7 +387,7 @@ LineStringSnapper::findSegmentToSnap(
 	// TODO: use std::find_if
 	for ( ; from != too_far; ++from)
 	{
-		seg.p0 = *from; 
+		seg.p0 = *from;
 		CoordinateList::iterator to = from;
 		++to;
 		seg.p1 = *to;
diff --git a/src/operation/overlay/validate/OverlayResultValidator.cpp b/src/operation/overlay/validate/OverlayResultValidator.cpp
index 464cb52..8dbeeaa 100644
--- a/src/operation/overlay/validate/OverlayResultValidator.cpp
+++ b/src/operation/overlay/validate/OverlayResultValidator.cpp
@@ -238,7 +238,7 @@ OverlayResultValidator::computeBoundaryDistanceTolerance(
 {
     using geos::operation::overlay::snap::GeometrySnapper;
 
-    return (std::min)(GeometrySnapper::computeSizeBasedSnapTolerance(g0),
+    return std::min(GeometrySnapper::computeSizeBasedSnapTolerance(g0),
                       GeometrySnapper::computeSizeBasedSnapTolerance(g1));
 }
 
diff --git a/src/operation/polygonize/Makefile.in b/src/operation/polygonize/Makefile.in
index 4545f85..9cfad90 100644
--- a/src/operation/polygonize/Makefile.in
+++ b/src/operation/polygonize/Makefile.in
@@ -300,9 +300,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -383,6 +380,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/operation/predicate/Makefile.in b/src/operation/predicate/Makefile.in
index 6a446c9..802f54f 100644
--- a/src/operation/predicate/Makefile.in
+++ b/src/operation/predicate/Makefile.in
@@ -263,9 +263,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -346,6 +343,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/operation/relate/Makefile.in b/src/operation/relate/Makefile.in
index 81ebd4d..ffef4f3 100644
--- a/src/operation/relate/Makefile.in
+++ b/src/operation/relate/Makefile.in
@@ -300,9 +300,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -383,6 +380,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/operation/relate/RelateComputer.cpp b/src/operation/relate/RelateComputer.cpp
index b781e2a..b145a84 100644
--- a/src/operation/relate/RelateComputer.cpp
+++ b/src/operation/relate/RelateComputer.cpp
@@ -196,9 +196,23 @@ RelateComputer::computeIM()
 	std::auto_ptr< std::vector<EdgeEnd*> > ee1 (
 		eeBuilder.computeEdgeEnds((*arg)[1]->getEdges())
   );
+
+#if GEOS_DEBUG
+	std::cerr << "RelateComputer::computeIM: "
+            << "inserting edge ends"
+            << std::endl;
+#endif
+
 	insertEdgeEnds(ee1.get());
 	//Debug.println("==== NodeList ===");
 	//Debug.print(nodes);
+
+#if GEOS_DEBUG
+	std::cerr << "RelateComputer::computeIM: "
+            << "labeling node edges"
+            << std::endl;
+#endif
+
 	labelNodeEdges();
 
 	/**
@@ -401,6 +415,11 @@ RelateComputer::labelNodeEdges()
 	{
 		assert(dynamic_cast<RelateNode*>(nodeIt->second));
 		RelateNode *node=static_cast<RelateNode*>(nodeIt->second);
+#if GEOS_DEBUG
+    std::cerr << "RelateComputer::labelNodeEdges: "
+              << "node edges: " << *(node->getEdges())
+              << std::endl;
+#endif
 		node->getEdges()->computeLabelling(arg);
 		//Debug.print(node.getEdges());
 		//node.print(System.out);
diff --git a/src/operation/sharedpaths/Makefile.in b/src/operation/sharedpaths/Makefile.in
index ee7eed2..7f4e942 100644
--- a/src/operation/sharedpaths/Makefile.in
+++ b/src/operation/sharedpaths/Makefile.in
@@ -298,9 +298,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -381,6 +378,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/operation/union/Makefile.in b/src/operation/union/Makefile.in
index 5110a34..48d05ba 100644
--- a/src/operation/union/Makefile.in
+++ b/src/operation/union/Makefile.in
@@ -299,9 +299,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -382,6 +379,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/operation/valid/ConnectedInteriorTester.cpp b/src/operation/valid/ConnectedInteriorTester.cpp
index d5ce2c8..f6fcec0 100644
--- a/src/operation/valid/ConnectedInteriorTester.cpp
+++ b/src/operation/valid/ConnectedInteriorTester.cpp
@@ -69,7 +69,7 @@ namespace operation { // geos.operation
 namespace valid { // geos.operation.valid
 
 ConnectedInteriorTester::ConnectedInteriorTester(GeometryGraph &newGeomGraph):
-	geometryFactory(new GeometryFactory()),
+	geometryFactory(GeometryFactory::create()),
 	geomGraph(newGeomGraph),
 	disconnectedRingcoord()
 {
@@ -77,7 +77,6 @@ ConnectedInteriorTester::ConnectedInteriorTester(GeometryGraph &newGeomGraph):
 
 ConnectedInteriorTester::~ConnectedInteriorTester()
 {
-	delete geometryFactory;
 }
 
 Coordinate&
@@ -219,7 +218,7 @@ ConnectedInteriorTester::buildEdgeRings(std::vector<EdgeEnd*> *dirEdges,
 		if(de->isInResult() && de->getEdgeRing()==NULL)
 		{
 			MaximalEdgeRing* er = new MaximalEdgeRing(de,
-			                                   geometryFactory);
+			                                   geometryFactory.get());
 			// We track MaximalEdgeRings allocations
 			// using the private maximalEdgeRings vector
 			maximalEdgeRings.push_back(er);
diff --git a/src/operation/valid/ConsistentAreaTester.cpp b/src/operation/valid/ConsistentAreaTester.cpp
index 63f50ad..ee30230 100644
--- a/src/operation/valid/ConsistentAreaTester.cpp
+++ b/src/operation/valid/ConsistentAreaTester.cpp
@@ -69,7 +69,10 @@ ConsistentAreaTester::isNodeConsistentArea()
 	 * To fully check validity, it is necessary to
 	 * compute ALL intersections, including self-intersections within a single edge.
 	 */
-	auto_ptr<SegmentIntersector> intersector(geomGraph->computeSelfNodes(&li, true));
+	auto_ptr<SegmentIntersector> intersector(geomGraph->computeSelfNodes(&li, true, true));
+	/**
+	* A proper intersection means that the area is not consistent.
+	*/
 	if (intersector->hasProperIntersection()) {
 		invalidPoint=intersector->getProperIntersectionPoint();
 		return false;
diff --git a/src/operation/valid/IsValidOp.cpp b/src/operation/valid/IsValidOp.cpp
index da3f5c4..5090e6f 100644
--- a/src/operation/valid/IsValidOp.cpp
+++ b/src/operation/valid/IsValidOp.cpp
@@ -189,7 +189,7 @@ IsValidOp::checkValid(const LinearRing *g){
 	if (validErr!=NULL) return;
 
 	LineIntersector li;
-	delete graph.computeSelfNodes(&li, true);
+	delete graph.computeSelfNodes(&li, true, true);
 	checkNoSelfIntersectingRings(&graph);
 }
 
diff --git a/src/operation/valid/Makefile.in b/src/operation/valid/Makefile.in
index d599be0..8342066 100644
--- a/src/operation/valid/Makefile.in
+++ b/src/operation/valid/Makefile.in
@@ -320,9 +320,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -403,6 +400,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/planargraph/Makefile.in b/src/planargraph/Makefile.in
index f922900..0376cf7 100644
--- a/src/planargraph/Makefile.in
+++ b/src/planargraph/Makefile.in
@@ -305,9 +305,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -388,6 +385,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/precision/GeometryPrecisionReducer.cpp b/src/precision/GeometryPrecisionReducer.cpp
index 6727928..cabb1d0 100644
--- a/src/precision/GeometryPrecisionReducer.cpp
+++ b/src/precision/GeometryPrecisionReducer.cpp
@@ -107,7 +107,7 @@ GeometryPrecisionReducer::fixPolygonalTopology(const geom::Geometry& geom )
    * geometry to targetPM, buffer in that model, then flip back
    */
   auto_ptr<Geometry> tmp;
-  auto_ptr<GeometryFactory> tmpFactory;
+  GeometryFactory::unique_ptr tmpFactory;
 
   const Geometry* geomToBuffer = &geom;
 
@@ -128,12 +128,12 @@ GeometryPrecisionReducer::fixPolygonalTopology(const geom::Geometry& geom )
 }
 
 /* private */
-auto_ptr<GeometryFactory>
+GeometryFactory::unique_ptr
 GeometryPrecisionReducer::createFactory( const GeometryFactory& oldGF,
                                          const PrecisionModel& newPM )
 {
-  auto_ptr<GeometryFactory> newFactory(
-    new GeometryFactory(&newPM,
+  GeometryFactory::unique_ptr newFactory(
+    GeometryFactory::create(&newPM,
                         oldGF.getSRID(),
                         const_cast<CoordinateSequenceFactory*>(oldGF.getCoordinateSequenceFactory()))
   );
diff --git a/src/precision/Makefile.am b/src/precision/Makefile.am
index b9fb2b7..152936f 100644
--- a/src/precision/Makefile.am
+++ b/src/precision/Makefile.am
@@ -13,6 +13,7 @@ libprecision_la_SOURCES = \
 	CommonBitsRemover.cpp \
 	EnhancedPrecisionOp.cpp \
 	GeometryPrecisionReducer.cpp \
+	MinimumClearance.cpp \
 	PrecisionReducerCoordinateOperation.cpp \
 	SimpleGeometryPrecisionReducer.cpp 
 
diff --git a/src/precision/Makefile.in b/src/precision/Makefile.in
index ffed8be..ae74d99 100644
--- a/src/precision/Makefile.in
+++ b/src/precision/Makefile.in
@@ -112,7 +112,7 @@ LTLIBRARIES = $(noinst_LTLIBRARIES)
 libprecision_la_DEPENDENCIES =
 am_libprecision_la_OBJECTS = CommonBits.lo CommonBitsOp.lo \
 	CommonBitsRemover.lo EnhancedPrecisionOp.lo \
-	GeometryPrecisionReducer.lo \
+	GeometryPrecisionReducer.lo MinimumClearance.lo \
 	PrecisionReducerCoordinateOperation.lo \
 	SimpleGeometryPrecisionReducer.lo
 libprecision_la_OBJECTS = $(am_libprecision_la_OBJECTS)
@@ -302,9 +302,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -385,6 +382,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -410,6 +408,7 @@ libprecision_la_SOURCES = \
 	CommonBitsRemover.cpp \
 	EnhancedPrecisionOp.cpp \
 	GeometryPrecisionReducer.cpp \
+	MinimumClearance.cpp \
 	PrecisionReducerCoordinateOperation.cpp \
 	SimpleGeometryPrecisionReducer.cpp 
 
@@ -473,6 +472,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CommonBitsRemover.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/EnhancedPrecisionOp.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/GeometryPrecisionReducer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MinimumClearance.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PrecisionReducerCoordinateOperation.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SimpleGeometryPrecisionReducer.Plo at am__quote@
 
diff --git a/src/precision/MinimumClearance.cpp b/src/precision/MinimumClearance.cpp
new file mode 100644
index 0000000..73ca0e6
--- /dev/null
+++ b/src/precision/MinimumClearance.cpp
@@ -0,0 +1,186 @@
+/**********************************************************************
+ *
+ * GEOS - Geometry Engine Open Source
+ * http://geos.osgeo.org
+ *
+ * Copyright (C) 2016 Daniel Baston
+ *
+ * This is free software; you can redistribute and/or modify it under
+ * the terms of the GNU Lesser General Public Licence as published
+ * by the Free Software Foundation.
+ * See the COPYING file for more information.
+ *
+ **********************************************************************
+ *
+ * Last port: precision/MinimumClearance.java (f6187ee2 JTS-1.14)
+ *
+ **********************************************************************/
+
+#include <geos/algorithm/CGAlgorithms.h>
+#include <geos/precision/MinimumClearance.h>
+#include <geos/index/strtree/STRtree.h>
+#include <geos/geom/GeometryFactory.h>
+#include <geos/geom/CoordinateArraySequenceFactory.h>
+#include <geos/operation/distance/FacetSequenceTreeBuilder.h>
+#include <geos/geom/LineSegment.h>
+#include <geos/index/ItemVisitor.h>
+
+namespace geos {
+namespace precision {
+
+MinimumClearance::MinimumClearance(const Geometry* g) : inputGeom(g) {}
+
+double MinimumClearance::getDistance() {
+    compute();
+    return minClearance;
+}
+
+std::auto_ptr<LineString> MinimumClearance::getLine() {
+    compute();
+
+    // return empty line string if no min pts were found
+    if (minClearance == std::numeric_limits<double>::infinity())
+        return std::auto_ptr<LineString>(inputGeom->getFactory()->createLineString());
+
+    return std::auto_ptr<LineString>(inputGeom->getFactory()->createLineString(minClearancePts->clone()));
+}
+
+void MinimumClearance::compute() {
+    class MinClearanceDistance : public ItemDistance {
+    private:
+        double minDist;
+        std::vector<Coordinate> minPts;
+
+        void updatePts(const Coordinate & p, const Coordinate & seg0, const Coordinate & seg1) {
+            LineSegment seg(seg0, seg1);
+
+            minPts[0] = p;
+            seg.closestPoint(p, minPts[1]);
+        }
+
+    public:
+        MinClearanceDistance() :
+                minDist(std::numeric_limits<double>::infinity()),
+                minPts(std::vector<Coordinate>(2))
+        {}
+
+        const std::vector<Coordinate> * getCoordinates() {
+            return &minPts;
+        }
+
+        double distance(const ItemBoundable* b1, const ItemBoundable* b2) {
+            FacetSequence* fs1 = static_cast<FacetSequence*>(b1->getItem());
+            FacetSequence* fs2 = static_cast<FacetSequence*>(b2->getItem());
+
+            minDist = std::numeric_limits<double>::infinity();
+
+            return distance(fs1, fs2);
+        }
+
+        double distance(const FacetSequence* fs1, const FacetSequence* fs2) {
+            // Compute MinClearance distance metric
+
+            vertexDistance(fs1, fs2);
+            if (fs1->size() == 1 && fs2->size() == 1)
+                return minDist;
+            if (minDist <= 0.0)
+                return minDist;
+
+            segmentDistance(fs1, fs2);
+            if (minDist <= 0.0)
+                return minDist;
+
+            segmentDistance(fs2, fs1);
+            return minDist;
+        }
+
+        double vertexDistance(const FacetSequence* fs1, const FacetSequence* fs2) {
+            for (size_t i1 = 0; i1 < fs1->size(); i1++) {
+                for (size_t i2 = 0; i2 < fs2->size(); i2++) {
+                    const Coordinate* p1 = fs1->getCoordinate(i1);
+                    const Coordinate* p2 = fs2->getCoordinate(i2);
+                    if (!p1->equals2D(*p2)) {
+                        double d = p1->distance(*p2);
+                        if (d < minDist) {
+                            minDist = d;
+                            minPts[0] = *p1;
+                            minPts[1] = *p2;
+                            if (d == 0.0)
+                                return d;
+                        }
+                    }
+                }
+            }
+            return minDist;
+        }
+
+        double segmentDistance(const FacetSequence* fs1, const FacetSequence* fs2) {
+            for (size_t i1 = 0; i1 < fs1->size(); i1++) {
+                for (size_t i2 = 1; i2 < fs2->size(); i2++) {
+                    const Coordinate* p = fs1->getCoordinate(i1);
+
+                    const Coordinate* seg0 = fs2->getCoordinate(i2 - 1);
+                    const Coordinate* seg1 = fs2->getCoordinate(i2);
+
+                    if (! (p->equals2D(*seg0) || p->equals2D(*seg1))) {
+                        double d = geos::algorithm::CGAlgorithms::distancePointLine(*p, *seg0, *seg1);
+                        if (d < minDist) {
+                            minDist = d;
+                            updatePts(*p, *seg0, *seg1);
+                            if (d == 0.0)
+                                return d;
+                        }
+                    }
+                }
+            }
+            return minDist;
+        }
+    };
+
+    struct ItemDeleter : public index::ItemVisitor {
+        void visitItem(void * item) {
+            delete static_cast<FacetSequence*>(item);
+        }
+    };
+
+    struct ManagedResourceSTRtree {
+        STRtree* m_tree;
+
+        ManagedResourceSTRtree(STRtree * p_tree) : m_tree(p_tree) {}
+
+        ~ManagedResourceSTRtree() {
+            ItemDeleter id;
+            m_tree->iterate(id);
+
+            delete m_tree;
+        }
+    };
+
+    // already computed
+    if (minClearancePts.get() != NULL)
+        return;
+
+    // initialize to "No Distance Exists" state
+    minClearancePts = std::auto_ptr<CoordinateSequence>(inputGeom->getFactory()->getCoordinateSequenceFactory()->create(2, 2));
+    minClearance = std::numeric_limits<double>::infinity();
+
+    // handle empty geometries
+    if (inputGeom->isEmpty())
+        return;
+
+    ManagedResourceSTRtree tree(FacetSequenceTreeBuilder::build(inputGeom));
+    MinClearanceDistance mcd;
+    std::pair<const void *, const void *> nearest = tree.m_tree->nearestNeighbour(&mcd);
+
+    minClearance = mcd.distance(
+            static_cast<const FacetSequence *>(nearest.first),
+            static_cast<const FacetSequence *>(nearest.second));
+
+    const std::vector<Coordinate>* minClearancePtsVec = mcd.getCoordinates();
+    minClearancePts->setAt((*minClearancePtsVec)[0], 0);
+    minClearancePts->setAt((*minClearancePtsVec)[1], 1);
+}
+
+
+}
+}
diff --git a/src/simplify/Makefile.in b/src/simplify/Makefile.in
index 539ca93..d470850 100644
--- a/src/simplify/Makefile.in
+++ b/src/simplify/Makefile.in
@@ -302,9 +302,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -385,6 +382,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/triangulate/Makefile.in b/src/triangulate/Makefile.in
index 9654dd4..00d1c62 100644
--- a/src/triangulate/Makefile.in
+++ b/src/triangulate/Makefile.in
@@ -299,9 +299,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -382,6 +379,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/triangulate/quadedge/Makefile.in b/src/triangulate/quadedge/Makefile.in
index d3c8e24..3531077 100644
--- a/src/triangulate/quadedge/Makefile.in
+++ b/src/triangulate/quadedge/Makefile.in
@@ -301,9 +301,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -384,6 +381,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/src/triangulate/quadedge/QuadEdgeSubdivision.cpp b/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
index 32680b5..1ceeb1d 100644
--- a/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
+++ b/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
@@ -17,6 +17,7 @@
  **********************************************************************/
 #include <geos/triangulate/quadedge/QuadEdgeSubdivision.h>
 
+#include <algorithm>
 #include <vector>
 #include <set>
 #include <iostream>
@@ -159,8 +160,8 @@ QuadEdgeSubdivision::remove(QuadEdge &e)
     QuadEdge::splice(e, e.oPrev());
     QuadEdge::splice(e.sym(), e.sym().oPrev());
 
-    // this is inefficient on an ArrayList, but this method should be called infrequently
-    quadEdges.remove(&e);
+    // this is inefficient on a std::vector, but this method should be called infrequently
+    quadEdges.erase(std::remove(quadEdges.begin(), quadEdges.end(), &e), quadEdges.end());
 
     //mark these edges as removed
     e.remove();
diff --git a/src/triangulate/quadedge/Vertex.cpp b/src/triangulate/quadedge/Vertex.cpp
index bebcbc0..2eba7ba 100644
--- a/src/triangulate/quadedge/Vertex.cpp
+++ b/src/triangulate/quadedge/Vertex.cpp
@@ -12,7 +12,7 @@
  *
  **********************************************************************
  *
- * Last port: triangulate/Vertex.java r524
+ * Last port: triangulate/Vertex.java r705
  *
  **********************************************************************/
 
@@ -51,24 +51,21 @@ int Vertex::classify(const Vertex &p0, const Vertex &p1)
 	std::auto_ptr<Vertex> a = p1.sub(p0);
 	std::auto_ptr<Vertex> b = p2.sub(p0);
 	double sa = a->crossProduct(*b);
-	int ret;
 
 	if (sa > 0.0)
-		ret =  LEFT;
+		return LEFT;
 	if (sa < 0.0)
-		ret =  RIGHT;
+		return RIGHT;
 	if ((a->getX() * b->getX() < 0.0) || (a->getY() * b->getY() < 0.0))
-		ret =  BEHIND;
+		return BEHIND;
 	if (a->magn() < b->magn())
-		ret =  BEYOND;
+		return BEYOND;
 	if (p0.equals(p2))
-		ret =  ORIGIN;
+		return ORIGIN;
 	if (p1.equals(p2))
-		ret =  DESTINATION;
+		return DESTINATION;
 	else
-		ret =  BETWEEN;
-
-	return ret;
+		return BETWEEN;
 }
 
 bool Vertex::isInCircle(const Vertex &a, const Vertex &b, const Vertex &c) const
diff --git a/src/util/Makefile.in b/src/util/Makefile.in
index da7b119..666f2ff 100644
--- a/src/util/Makefile.in
+++ b/src/util/Makefile.in
@@ -299,9 +299,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -382,6 +379,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/swig/Makefile.in b/swig/Makefile.in
index e196a8c..d462375 100644
--- a/swig/Makefile.in
+++ b/swig/Makefile.in
@@ -272,9 +272,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -355,6 +352,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/swig/geos.i b/swig/geos.i
index 8b78393..5a59cdc 100644
--- a/swig/geos.i
+++ b/swig/geos.i
@@ -28,17 +28,17 @@
    to reuse the originals but we can't without exposing
    the whole c api. */
 #define GEOS_VERSION_MAJOR 3
-#define GEOS_VERSION_MINOR 5
+#define GEOS_VERSION_MINOR 6
 #define GEOS_VERSION_PATCH 0
-#define GEOS_VERSION "3.5.0"
+#define GEOS_VERSION "3.6.0"
 #define GEOS_JTS_PORT "1.13.0"
 
 #define GEOS_CAPI_VERSION_MAJOR 1
-#define GEOS_CAPI_VERSION_MINOR 9
+#define GEOS_CAPI_VERSION_MINOR 10
 #define GEOS_CAPI_VERSION_PATCH 0
 #define GEOS_CAPI_FIRST_INTERFACE GEOS_CAPI_VERSION_MAJOR 
 #define GEOS_CAPI_LAST_INTERFACE (GEOS_CAPI_VERSION_MAJOR+GEOS_CAPI_VERSION_MINOR)
-#define GEOS_CAPI_VERSION "3.5.0-CAPI-1.9.0"
+#define GEOS_CAPI_VERSION "3.6.0-CAPI-1.10.0"
 
 /* Supported geometry types */
 enum GEOSGeomTypes { 
diff --git a/swig/python/Makefile.in b/swig/python/Makefile.in
index e0d17cf..ef976e3 100644
--- a/swig/python/Makefile.in
+++ b/swig/python/Makefile.in
@@ -344,9 +344,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -427,6 +424,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/swig/python/tests/Makefile.in b/swig/python/tests/Makefile.in
index 035b57b..2aa1f7d 100644
--- a/swig/python/tests/Makefile.in
+++ b/swig/python/tests/Makefile.in
@@ -207,9 +207,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -290,6 +287,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/swig/ruby/Makefile.in b/swig/ruby/Makefile.in
index 6d13c3f..6435838 100644
--- a/swig/ruby/Makefile.in
+++ b/swig/ruby/Makefile.in
@@ -334,9 +334,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -417,6 +414,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/swig/ruby/test/Makefile.in b/swig/ruby/test/Makefile.in
index af9ad07..5a21d22 100644
--- a/swig/ruby/test/Makefile.in
+++ b/swig/ruby/test/Makefile.in
@@ -207,9 +207,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -290,6 +287,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 255182c..c33c834 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -267,9 +267,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -350,6 +347,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/tests/bigtest/Makefile.in b/tests/bigtest/Makefile.in
index 39c5627..578a2b3 100644
--- a/tests/bigtest/Makefile.in
+++ b/tests/bigtest/Makefile.in
@@ -277,9 +277,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -364,6 +361,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/tests/bigtest/TestSweepLineSpeed.cpp b/tests/bigtest/TestSweepLineSpeed.cpp
index 04ad6c6..b6b3a65 100644
--- a/tests/bigtest/TestSweepLineSpeed.cpp
+++ b/tests/bigtest/TestSweepLineSpeed.cpp
@@ -53,7 +53,8 @@ void run(int nPts, GeometryFactory *fact) {
 
 int main(int /* argc */, char** /* argv[] */) {
 
-	GeometryFactory *fact=new GeometryFactory();
+	GeometryFactory::unique_ptr factptr = GeometryFactory::create();
+	GeometryFactory* fact = factptr.get();
 
 	run(1000,fact);
 	run(2000,fact);
@@ -71,7 +72,5 @@ int main(int /* argc */, char** /* argv[] */) {
 
 	cout << "Done" << endl;
 
-    // FIXME - mloskot: Who's gonna to eat the 'fact'? Mr. Leak!
-
 	return 0;
 }
diff --git a/tests/bigtest/bug234.cpp b/tests/bigtest/bug234.cpp
index cbc7365..2a96f2f 100644
--- a/tests/bigtest/bug234.cpp
+++ b/tests/bigtest/bug234.cpp
@@ -12,7 +12,7 @@ using namespace geos::geom;
 using namespace std;
 
 int main() {
- GeometryFactory factory;
+ GeometryFactory::unique_ptr factory = GeometryFactory::create();
 
  vector< Geometry * > *polys1 = new vector<Geometry*>();
  vector< Geometry * > *polys2 = new vector<Geometry*>();
@@ -24,8 +24,8 @@ int main() {
  coords1.add(Coordinate(5, 5));
  coords1.add(Coordinate(5, 1));
  coords1.add(Coordinate(1, 1));
- holes1->push_back( factory.createLinearRing() );
- polys1->push_back( factory.createPolygon(factory.createLinearRing(coords1), holes1) );
+ holes1->push_back( factory->createLinearRing() );
+ polys1->push_back( factory->createPolygon(factory->createLinearRing(coords1), holes1) );
 
  CoordinateArraySequence coords2;
  coords2.add(Coordinate(3, 3));
@@ -33,10 +33,10 @@ int main() {
  coords2.add(Coordinate(4, 4));
  coords2.add(Coordinate(4, 3));
  coords2.add(Coordinate(3, 3));
- polys2->push_back( factory.createPolygon(factory.createLinearRing(coords2), new vector<Geometry*>) );
+ polys2->push_back( factory->createPolygon(factory->createLinearRing(coords2), new vector<Geometry*>) );
 
- MultiPolygon *mpoly1 = factory.createMultiPolygon(polys1);
- MultiPolygon *mpoly2 = factory.createMultiPolygon(polys2);
+ MultiPolygon *mpoly1 = factory->createMultiPolygon(polys1);
+ MultiPolygon *mpoly2 = factory->createMultiPolygon(polys2);
 
  cout << "      Mpoly1: " << mpoly1->toString() << endl;
  cout << "      Mpoly2: " << mpoly2->toString() << endl;
diff --git a/tests/geostest/Makefile.in b/tests/geostest/Makefile.in
index fe354d7..207113c 100644
--- a/tests/geostest/Makefile.in
+++ b/tests/geostest/Makefile.in
@@ -255,9 +255,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -338,6 +335,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/tests/perf/Makefile.am b/tests/perf/Makefile.am
index aa7af76..558a6bb 100644
--- a/tests/perf/Makefile.am
+++ b/tests/perf/Makefile.am
@@ -1,10 +1,12 @@
 #
-# This file is part of project GEOS (http://trac.osgeo.org/geos/) 
+# This file is part of project GEOS (http://trac.osgeo.org/geos/)
 #
 SUBDIRS = \
 	operation \
 	capi
 
+LIBS = $(top_builddir)/src/libgeos.la
+
 AM_CPPFLAGS = -I$(top_srcdir)/include
 
 noinst_PROGRAMS = ClassSizes
diff --git a/tests/perf/Makefile.in b/tests/perf/Makefile.in
index 9e40bbe..8549335 100644
--- a/tests/perf/Makefile.in
+++ b/tests/perf/Makefile.in
@@ -275,7 +275,7 @@ JTS_PORT = @JTS_PORT@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
+LIBS = $(top_builddir)/src/libgeos.la
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
@@ -299,9 +299,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -382,6 +379,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -396,7 +394,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 
 #
-# This file is part of project GEOS (http://trac.osgeo.org/geos/) 
+# This file is part of project GEOS (http://trac.osgeo.org/geos/)
 #
 SUBDIRS = \
 	operation \
diff --git a/tests/perf/capi/Makefile.in b/tests/perf/capi/Makefile.in
index 1a60310..f39fa54 100644
--- a/tests/perf/capi/Makefile.in
+++ b/tests/perf/capi/Makefile.in
@@ -255,9 +255,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -343,6 +340,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/tests/perf/operation/Makefile.in b/tests/perf/operation/Makefile.in
index 220e499..b49c9a9 100644
--- a/tests/perf/operation/Makefile.in
+++ b/tests/perf/operation/Makefile.in
@@ -267,9 +267,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -350,6 +347,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/tests/perf/operation/buffer/IteratedBufferStressTest.cpp b/tests/perf/operation/buffer/IteratedBufferStressTest.cpp
index 8f17c29..ce0ab11 100644
--- a/tests/perf/operation/buffer/IteratedBufferStressTest.cpp
+++ b/tests/perf/operation/buffer/IteratedBufferStressTest.cpp
@@ -73,8 +73,8 @@ int
 main()
 {
 	PrecisionModel pm;
-	GeometryFactory gf(&pm);
-	WKTReader rdr(&gf);
+	GeometryFactory::unique_ptr gf = GeometryFactory::create(&pm);
+	WKTReader rdr(gf.get());
 
 	string inputWKT =
         "POLYGON ((110 320, 190 220, 60 200, 180 120, 120 40, 290 150, 410 40, 410 230, 500 340, 320 310, 260 370, 220 310, 110 320), (220 260, 250 180, 290 220, 360 150, 350 250, 260 280, 220 260))";
diff --git a/tests/perf/operation/buffer/Makefile.in b/tests/perf/operation/buffer/Makefile.in
index 20a2b47..b485d8f 100644
--- a/tests/perf/operation/buffer/Makefile.in
+++ b/tests/perf/operation/buffer/Makefile.in
@@ -259,9 +259,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -346,6 +343,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/tests/perf/operation/predicate/Makefile.in b/tests/perf/operation/predicate/Makefile.in
index 0255676..8241c4f 100644
--- a/tests/perf/operation/predicate/Makefile.in
+++ b/tests/perf/operation/predicate/Makefile.in
@@ -259,9 +259,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -346,6 +343,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/tests/perf/operation/predicate/RectangleIntersectsPerfTest.cpp b/tests/perf/operation/predicate/RectangleIntersectsPerfTest.cpp
index 51e3534..f3e9473 100644
--- a/tests/perf/operation/predicate/RectangleIntersectsPerfTest.cpp
+++ b/tests/perf/operation/predicate/RectangleIntersectsPerfTest.cpp
@@ -41,7 +41,7 @@ public:
   RectangleIntersectsPerfTest()
     :
     pm(),
-    fact(&pm, 0)
+    fact(GeometryFactory::create(&pm, 0))
   {}
 
   void test(int nPts)
@@ -78,7 +78,7 @@ private:
   static const int NUM_LINE_PTS = 1000;
 
   PrecisionModel pm;
-  GeometryFactory fact;
+  GeometryFactory::unique_ptr fact;
 
   void testRectangles(const Geometry& target, int nRect, double rectSize)
   {
@@ -122,7 +122,7 @@ private:
         Envelope envRect(
             baseX, baseX + dx,
             baseY, baseY + dy);
-        Geometry* rect = fact.toGeometry(&envRect);
+        Geometry* rect = fact->toGeometry(&envRect);
         rectList.push_back(rect);
       }
     }
@@ -133,7 +133,7 @@ private:
   {
       using geos::geom::util::SineStarFactory;
 
-      SineStarFactory gsf(&fact);
+      SineStarFactory gsf(fact.get());
       gsf.setCentre(origin);
       gsf.setSize(size);
       gsf.setNumPoints(nPts);
diff --git a/tests/thread/Makefile.in b/tests/thread/Makefile.in
index 5ced8f8..57f61aa 100644
--- a/tests/thread/Makefile.in
+++ b/tests/thread/Makefile.in
@@ -258,9 +258,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -341,6 +338,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/tests/unit/Makefile.am b/tests/unit/Makefile.am
index 56df4ff..4ce182e 100644
--- a/tests/unit/Makefile.am
+++ b/tests/unit/Makefile.am
@@ -41,6 +41,7 @@ geos_unit_SOURCES = \
 	algorithm/CGAlgorithms/signedAreaTest.cpp \
 	algorithm/ConvexHullTest.cpp \
 	algorithm/distance/DiscreteHausdorffDistanceTest.cpp \
+	algorithm/MinimumDiameterTest.cpp \
 	algorithm/PointLocatorTest.cpp \
 	algorithm/RobustLineIntersectionTest.cpp \
 	algorithm/RobustLineIntersectorTest.cpp \
@@ -93,6 +94,7 @@ geos_unit_SOURCES = \
 	operation/IsSimpleOpTest.cpp \
 	operation/linemerge/LineMergerTest.cpp \
 	operation/linemerge/LineSequencerTest.cpp \
+    operation/overlay/OverlayOpUnionTest.cpp \
 	operation/overlay/validate/FuzzyPointLocatorTest.cpp \
 	operation/overlay/validate/OffsetPointGeneratorTest.cpp \
 	operation/overlay/validate/OverlayResultValidatorTest.cpp \
@@ -121,16 +123,22 @@ geos_unit_SOURCES = \
 	capi/GEOSVoronoiDiagramTest.cpp \
 	capi/GEOSGeomFromWKBTest.cpp \
 	capi/GEOSGeomToWKTTest.cpp \
+	capi/GEOSGeom_setPrecisionTest.cpp \
 	capi/GEOSGetCentroidTest.cpp \
 	capi/GEOSContainsTest.cpp \
 	capi/GEOSConvexHullTest.cpp \
 	capi/GEOSDistanceTest.cpp \
+	capi/GEOSEqualsTest.cpp \
 	capi/GEOSInterruptTest.cpp \
 	capi/GEOSIntersectsTest.cpp \
 	capi/GEOSIntersectionTest.cpp \
+	capi/GEOSMinimumClearanceTest.cpp \
+	capi/GEOSMinimumRectangleTest.cpp \
+	capi/GEOSMinimumWidthTest.cpp \
 	capi/GEOSNearestPointsTest.cpp \
 	capi/GEOSWithinTest.cpp \
 	capi/GEOSSimplifyTest.cpp \
+	capi/GEOSUserDataTest.cpp \
 	capi/GEOSPreparedGeometryTest.cpp \
 	capi/GEOSPointOnSurfaceTest.cpp \
 	capi/GEOSPolygonizer_getCutEdgesTest.cpp \
@@ -143,6 +151,7 @@ geos_unit_SOURCES = \
 	capi/GEOSNodeTest.cpp \
 	capi/GEOSSnapTest.cpp \
 	capi/GEOSSharedPathsTest.cpp \
+	capi/GEOSSTRtreeTest.cpp \
 	capi/GEOSRelateBoundaryNodeRuleTest.cpp \
 	capi/GEOSRelatePatternMatchTest.cpp \
 	capi/GEOSUnaryUnionTest.cpp \
diff --git a/tests/unit/Makefile.in b/tests/unit/Makefile.in
index 976ba84..02ea620 100644
--- a/tests/unit/Makefile.in
+++ b/tests/unit/Makefile.in
@@ -125,6 +125,7 @@ am_geos_unit_OBJECTS = geos_unit.$(OBJEXT) \
 	algorithm/CGAlgorithms/signedAreaTest.$(OBJEXT) \
 	algorithm/ConvexHullTest.$(OBJEXT) \
 	algorithm/distance/DiscreteHausdorffDistanceTest.$(OBJEXT) \
+	algorithm/MinimumDiameterTest.$(OBJEXT) \
 	algorithm/PointLocatorTest.$(OBJEXT) \
 	algorithm/RobustLineIntersectionTest.$(OBJEXT) \
 	algorithm/RobustLineIntersectorTest.$(OBJEXT) \
@@ -168,6 +169,7 @@ am_geos_unit_OBJECTS = geos_unit.$(OBJEXT) \
 	operation/IsSimpleOpTest.$(OBJEXT) \
 	operation/linemerge/LineMergerTest.$(OBJEXT) \
 	operation/linemerge/LineSequencerTest.$(OBJEXT) \
+	operation/overlay/OverlayOpUnionTest.$(OBJEXT) \
 	operation/overlay/validate/FuzzyPointLocatorTest.$(OBJEXT) \
 	operation/overlay/validate/OffsetPointGeneratorTest.$(OBJEXT) \
 	operation/overlay/validate/OverlayResultValidatorTest.$(OBJEXT) \
@@ -196,15 +198,20 @@ am_geos_unit_OBJECTS = geos_unit.$(OBJEXT) \
 	capi/GEOSVoronoiDiagramTest.$(OBJEXT) \
 	capi/GEOSGeomFromWKBTest.$(OBJEXT) \
 	capi/GEOSGeomToWKTTest.$(OBJEXT) \
+	capi/GEOSGeom_setPrecisionTest.$(OBJEXT) \
 	capi/GEOSGetCentroidTest.$(OBJEXT) \
 	capi/GEOSContainsTest.$(OBJEXT) \
 	capi/GEOSConvexHullTest.$(OBJEXT) \
-	capi/GEOSDistanceTest.$(OBJEXT) \
+	capi/GEOSDistanceTest.$(OBJEXT) capi/GEOSEqualsTest.$(OBJEXT) \
 	capi/GEOSInterruptTest.$(OBJEXT) \
 	capi/GEOSIntersectsTest.$(OBJEXT) \
 	capi/GEOSIntersectionTest.$(OBJEXT) \
+	capi/GEOSMinimumClearanceTest.$(OBJEXT) \
+	capi/GEOSMinimumRectangleTest.$(OBJEXT) \
+	capi/GEOSMinimumWidthTest.$(OBJEXT) \
 	capi/GEOSNearestPointsTest.$(OBJEXT) \
 	capi/GEOSWithinTest.$(OBJEXT) capi/GEOSSimplifyTest.$(OBJEXT) \
+	capi/GEOSUserDataTest.$(OBJEXT) \
 	capi/GEOSPreparedGeometryTest.$(OBJEXT) \
 	capi/GEOSPointOnSurfaceTest.$(OBJEXT) \
 	capi/GEOSPolygonizer_getCutEdgesTest.$(OBJEXT) \
@@ -216,6 +223,7 @@ am_geos_unit_OBJECTS = geos_unit.$(OBJEXT) \
 	capi/GEOSLineString_PointTest.$(OBJEXT) \
 	capi/GEOSNodeTest.$(OBJEXT) capi/GEOSSnapTest.$(OBJEXT) \
 	capi/GEOSSharedPathsTest.$(OBJEXT) \
+	capi/GEOSSTRtreeTest.$(OBJEXT) \
 	capi/GEOSRelateBoundaryNodeRuleTest.$(OBJEXT) \
 	capi/GEOSRelatePatternMatchTest.$(OBJEXT) \
 	capi/GEOSUnaryUnionTest.$(OBJEXT) \
@@ -574,9 +582,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -657,6 +662,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -699,6 +705,7 @@ geos_unit_SOURCES = \
 	algorithm/CGAlgorithms/signedAreaTest.cpp \
 	algorithm/ConvexHullTest.cpp \
 	algorithm/distance/DiscreteHausdorffDistanceTest.cpp \
+	algorithm/MinimumDiameterTest.cpp \
 	algorithm/PointLocatorTest.cpp \
 	algorithm/RobustLineIntersectionTest.cpp \
 	algorithm/RobustLineIntersectorTest.cpp \
@@ -751,6 +758,7 @@ geos_unit_SOURCES = \
 	operation/IsSimpleOpTest.cpp \
 	operation/linemerge/LineMergerTest.cpp \
 	operation/linemerge/LineSequencerTest.cpp \
+    operation/overlay/OverlayOpUnionTest.cpp \
 	operation/overlay/validate/FuzzyPointLocatorTest.cpp \
 	operation/overlay/validate/OffsetPointGeneratorTest.cpp \
 	operation/overlay/validate/OverlayResultValidatorTest.cpp \
@@ -779,16 +787,22 @@ geos_unit_SOURCES = \
 	capi/GEOSVoronoiDiagramTest.cpp \
 	capi/GEOSGeomFromWKBTest.cpp \
 	capi/GEOSGeomToWKTTest.cpp \
+	capi/GEOSGeom_setPrecisionTest.cpp \
 	capi/GEOSGetCentroidTest.cpp \
 	capi/GEOSContainsTest.cpp \
 	capi/GEOSConvexHullTest.cpp \
 	capi/GEOSDistanceTest.cpp \
+	capi/GEOSEqualsTest.cpp \
 	capi/GEOSInterruptTest.cpp \
 	capi/GEOSIntersectsTest.cpp \
 	capi/GEOSIntersectionTest.cpp \
+	capi/GEOSMinimumClearanceTest.cpp \
+	capi/GEOSMinimumRectangleTest.cpp \
+	capi/GEOSMinimumWidthTest.cpp \
 	capi/GEOSNearestPointsTest.cpp \
 	capi/GEOSWithinTest.cpp \
 	capi/GEOSSimplifyTest.cpp \
+	capi/GEOSUserDataTest.cpp \
 	capi/GEOSPreparedGeometryTest.cpp \
 	capi/GEOSPointOnSurfaceTest.cpp \
 	capi/GEOSPolygonizer_getCutEdgesTest.cpp \
@@ -801,6 +815,7 @@ geos_unit_SOURCES = \
 	capi/GEOSNodeTest.cpp \
 	capi/GEOSSnapTest.cpp \
 	capi/GEOSSharedPathsTest.cpp \
+	capi/GEOSSTRtreeTest.cpp \
 	capi/GEOSRelateBoundaryNodeRuleTest.cpp \
 	capi/GEOSRelatePatternMatchTest.cpp \
 	capi/GEOSUnaryUnionTest.cpp \
@@ -891,6 +906,8 @@ algorithm/distance/$(DEPDIR)/$(am__dirstamp):
 algorithm/distance/DiscreteHausdorffDistanceTest.$(OBJEXT):  \
 	algorithm/distance/$(am__dirstamp) \
 	algorithm/distance/$(DEPDIR)/$(am__dirstamp)
+algorithm/MinimumDiameterTest.$(OBJEXT): algorithm/$(am__dirstamp) \
+	algorithm/$(DEPDIR)/$(am__dirstamp)
 algorithm/PointLocatorTest.$(OBJEXT): algorithm/$(am__dirstamp) \
 	algorithm/$(DEPDIR)/$(am__dirstamp)
 algorithm/RobustLineIntersectionTest.$(OBJEXT):  \
@@ -1090,6 +1107,15 @@ operation/linemerge/LineMergerTest.$(OBJEXT):  \
 operation/linemerge/LineSequencerTest.$(OBJEXT):  \
 	operation/linemerge/$(am__dirstamp) \
 	operation/linemerge/$(DEPDIR)/$(am__dirstamp)
+operation/overlay/$(am__dirstamp):
+	@$(MKDIR_P) operation/overlay
+	@: > operation/overlay/$(am__dirstamp)
+operation/overlay/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) operation/overlay/$(DEPDIR)
+	@: > operation/overlay/$(DEPDIR)/$(am__dirstamp)
+operation/overlay/OverlayOpUnionTest.$(OBJEXT):  \
+	operation/overlay/$(am__dirstamp) \
+	operation/overlay/$(DEPDIR)/$(am__dirstamp)
 operation/overlay/validate/$(am__dirstamp):
 	@$(MKDIR_P) operation/overlay/validate
 	@: > operation/overlay/validate/$(am__dirstamp)
@@ -1233,6 +1259,8 @@ capi/GEOSGeomFromWKBTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSGeomToWKTTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
+capi/GEOSGeom_setPrecisionTest.$(OBJEXT): capi/$(am__dirstamp) \
+	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSGetCentroidTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSContainsTest.$(OBJEXT): capi/$(am__dirstamp) \
@@ -1241,18 +1269,28 @@ capi/GEOSConvexHullTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSDistanceTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
+capi/GEOSEqualsTest.$(OBJEXT): capi/$(am__dirstamp) \
+	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSInterruptTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSIntersectsTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSIntersectionTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
+capi/GEOSMinimumClearanceTest.$(OBJEXT): capi/$(am__dirstamp) \
+	capi/$(DEPDIR)/$(am__dirstamp)
+capi/GEOSMinimumRectangleTest.$(OBJEXT): capi/$(am__dirstamp) \
+	capi/$(DEPDIR)/$(am__dirstamp)
+capi/GEOSMinimumWidthTest.$(OBJEXT): capi/$(am__dirstamp) \
+	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSNearestPointsTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSWithinTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSSimplifyTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
+capi/GEOSUserDataTest.$(OBJEXT): capi/$(am__dirstamp) \
+	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSPreparedGeometryTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSPointOnSurfaceTest.$(OBJEXT): capi/$(am__dirstamp) \
@@ -1277,6 +1315,8 @@ capi/GEOSSnapTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSSharedPathsTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
+capi/GEOSSTRtreeTest.$(OBJEXT): capi/$(am__dirstamp) \
+	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSRelateBoundaryNodeRuleTest.$(OBJEXT): capi/$(am__dirstamp) \
 	capi/$(DEPDIR)/$(am__dirstamp)
 capi/GEOSRelatePatternMatchTest.$(OBJEXT): capi/$(am__dirstamp) \
@@ -1312,6 +1352,7 @@ mostlyclean-compile:
 	-rm -f operation/distance/*.$(OBJEXT)
 	-rm -f operation/intersection/*.$(OBJEXT)
 	-rm -f operation/linemerge/*.$(OBJEXT)
+	-rm -f operation/overlay/*.$(OBJEXT)
 	-rm -f operation/overlay/snap/*.$(OBJEXT)
 	-rm -f operation/overlay/validate/*.$(OBJEXT)
 	-rm -f operation/polygonize/*.$(OBJEXT)
@@ -1331,6 +1372,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at algorithm/$(DEPDIR)/AngleTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at algorithm/$(DEPDIR)/ConvexHullTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at algorithm/$(DEPDIR)/InteriorPointAreaTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at algorithm/$(DEPDIR)/MinimumDiameterTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at algorithm/$(DEPDIR)/PointLocatorTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at algorithm/$(DEPDIR)/RobustLineIntersectionTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at algorithm/$(DEPDIR)/RobustLineIntersectorTest.Po at am__quote@
@@ -1346,15 +1388,20 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSCoordSeqTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSDelaunayTriangulationTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSDistanceTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSEqualsTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSGeomFromWKBTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSGeomToWKTTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSGeom_create.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSGeom_extractUniquePointsTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSGeom_setPrecisionTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSGetCentroidTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSInterruptTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSIntersectionTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSIntersectsTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSLineString_PointTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSMinimumClearanceTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSMinimumRectangleTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSMinimumWidthTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSNearestPointsTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSNodeTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSOffsetCurveTest.Po at am__quote@
@@ -1364,10 +1411,12 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSPreparedGeometryTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSRelateBoundaryNodeRuleTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSRelatePatternMatchTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSSTRtreeTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSSharedPathsTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSSimplifyTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSSnapTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSUnaryUnionTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSUserDataTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSVoronoiDiagramTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSWithinTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at capi/$(DEPDIR)/GEOSisClosedTest.Po at am__quote@
@@ -1421,6 +1470,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at operation/intersection/$(DEPDIR)/RectangleIntersectionTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at operation/linemerge/$(DEPDIR)/LineMergerTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at operation/linemerge/$(DEPDIR)/LineSequencerTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at operation/overlay/$(DEPDIR)/OverlayOpUnionTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at operation/overlay/snap/$(DEPDIR)/GeometrySnapperTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at operation/overlay/snap/$(DEPDIR)/LineStringSnapperTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at operation/overlay/validate/$(DEPDIR)/FuzzyPointLocatorTest.Po at am__quote@
@@ -1790,6 +1840,8 @@ distclean-generic:
 	-rm -f operation/intersection/$(am__dirstamp)
 	-rm -f operation/linemerge/$(DEPDIR)/$(am__dirstamp)
 	-rm -f operation/linemerge/$(am__dirstamp)
+	-rm -f operation/overlay/$(DEPDIR)/$(am__dirstamp)
+	-rm -f operation/overlay/$(am__dirstamp)
 	-rm -f operation/overlay/snap/$(DEPDIR)/$(am__dirstamp)
 	-rm -f operation/overlay/snap/$(am__dirstamp)
 	-rm -f operation/overlay/validate/$(DEPDIR)/$(am__dirstamp)
@@ -1822,7 +1874,7 @@ clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
 	mostlyclean-am
 
 distclean: distclean-am
-	-rm -rf ./$(DEPDIR) algorithm/$(DEPDIR) algorithm/CGAlgorithms/$(DEPDIR) algorithm/distance/$(DEPDIR) capi/$(DEPDIR) geom/$(DEPDIR) geom/Geometry/$(DEPDIR) geom/prep/$(DEPDIR) geom/util/$(DEPDIR) index/quadtree/$(DEPDIR) io/$(DEPDIR) linearref/$(DEPDIR) noding/$(DEPDIR) noding/snapround/$(DEPDIR) operation/$(DEPDIR) operation/buffer/$(DEPDIR) operation/distance/$(DEPDIR) operation/intersection/$(DEPDIR) operation/linemerge/$(DEPDIR) operation/overlay/snap/$(DEPDIR) operation/overlay/val [...]
+	-rm -rf ./$(DEPDIR) algorithm/$(DEPDIR) algorithm/CGAlgorithms/$(DEPDIR) algorithm/distance/$(DEPDIR) capi/$(DEPDIR) geom/$(DEPDIR) geom/Geometry/$(DEPDIR) geom/prep/$(DEPDIR) geom/util/$(DEPDIR) index/quadtree/$(DEPDIR) io/$(DEPDIR) linearref/$(DEPDIR) noding/$(DEPDIR) noding/snapround/$(DEPDIR) operation/$(DEPDIR) operation/buffer/$(DEPDIR) operation/distance/$(DEPDIR) operation/intersection/$(DEPDIR) operation/linemerge/$(DEPDIR) operation/overlay/$(DEPDIR) operation/overlay/snap/$(D [...]
 	-rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
 	distclean-tags
@@ -1868,7 +1920,7 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR) algorithm/$(DEPDIR) algorithm/CGAlgorithms/$(DEPDIR) algorithm/distance/$(DEPDIR) capi/$(DEPDIR) geom/$(DEPDIR) geom/Geometry/$(DEPDIR) geom/prep/$(DEPDIR) geom/util/$(DEPDIR) index/quadtree/$(DEPDIR) io/$(DEPDIR) linearref/$(DEPDIR) noding/$(DEPDIR) noding/snapround/$(DEPDIR) operation/$(DEPDIR) operation/buffer/$(DEPDIR) operation/distance/$(DEPDIR) operation/intersection/$(DEPDIR) operation/linemerge/$(DEPDIR) operation/overlay/snap/$(DEPDIR) operation/overlay/val [...]
+	-rm -rf ./$(DEPDIR) algorithm/$(DEPDIR) algorithm/CGAlgorithms/$(DEPDIR) algorithm/distance/$(DEPDIR) capi/$(DEPDIR) geom/$(DEPDIR) geom/Geometry/$(DEPDIR) geom/prep/$(DEPDIR) geom/util/$(DEPDIR) index/quadtree/$(DEPDIR) io/$(DEPDIR) linearref/$(DEPDIR) noding/$(DEPDIR) noding/snapround/$(DEPDIR) operation/$(DEPDIR) operation/buffer/$(DEPDIR) operation/distance/$(DEPDIR) operation/intersection/$(DEPDIR) operation/linemerge/$(DEPDIR) operation/overlay/$(DEPDIR) operation/overlay/snap/$(D [...]
 	-rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
diff --git a/tests/unit/algorithm/ConvexHullTest.cpp b/tests/unit/algorithm/ConvexHullTest.cpp
index d002bc6..abaafd0 100644
--- a/tests/unit/algorithm/ConvexHullTest.cpp
+++ b/tests/unit/algorithm/ConvexHullTest.cpp
@@ -39,21 +39,22 @@ namespace tut
 		// Typedefs used as short names by test cases
         typedef std::auto_ptr<geos::geom::Geometry> GeometryAPtr;
         typedef std::auto_ptr<geos::geom::LineString> LineStringAPtr;
+        typedef geos::geom::GeometryFactory GeometryFactory;
 
         GeometryPtr geom_;
         geos::geom::PrecisionModel pm_;
-        geos::geom::GeometryFactory factory_;
+        geos::geom::GeometryFactory::unique_ptr factory_;
         geos::io::WKTReader reader_;
 
         test_convexhull_data()
-			: geom_(0), pm_(1), factory_(&pm_, 0), reader_(&factory_)
+			: geom_(0), pm_(1), factory_(GeometryFactory::create(&pm_, 0)), reader_(factory_.get())
         {
             assert(0 == geom_);
         }
 
         ~test_convexhull_data()
         {
-            factory_.destroyGeometry(geom_);
+            factory_->destroyGeometry(geom_);
             geom_ = 0;
         }
     };
diff --git a/tests/unit/algorithm/MinimumDiameterTest.cpp b/tests/unit/algorithm/MinimumDiameterTest.cpp
new file mode 100644
index 0000000..d87c02c
--- /dev/null
+++ b/tests/unit/algorithm/MinimumDiameterTest.cpp
@@ -0,0 +1,236 @@
+/**********************************************************************
+ *
+ * GEOS - Geometry Engine Open Source
+ * http://geos.osgeo.org
+ *
+ * Copyright (C) 2015      Nyall Dawson <nyall dot dawson at gmail dot com>
+ *
+ * This is free software; you can redistribute and/or modify it under
+ * the terms of the GNU Lesser General Public Licence as published
+ * by the Free Software Foundation.
+ * See the COPYING file for more information.
+ *
+ **********************************************************************/
+
+//
+// Test Suite for geos::algorithm::MinimumDiameter
+
+#include <tut.hpp>
+// geos
+#include <geos/geom/Coordinate.h>
+#include <geos/algorithm/MinimumDiameter.h>
+#include <geos/io/WKTReader.h>
+#include <geos/io/WKTWriter.h>
+#include <geos/geom/Geometry.h>
+// std
+#include <sstream>
+#include <string>
+#include <memory>
+
+namespace tut
+{
+    //
+    // Test Group
+    //
+
+    // dummy data, not used
+    struct test_minimumdiameter_data {
+      typedef geos::geom::Geometry Geometry;
+      typedef std::auto_ptr<geos::geom::Geometry> GeomPtr;
+
+      typedef geos::geom::Coordinate Coordinate;
+      typedef geos::algorithm::MinimumDiameter MinimumDiameter;
+
+      geos::io::WKTReader reader;
+      std::auto_ptr<Geometry> geom;
+
+      test_minimumdiameter_data()
+      {}
+
+    };
+
+    typedef test_group<test_minimumdiameter_data> group;
+    typedef group::object object;
+
+    group test_minimumdiameter_data_group("geos::algorithm::MinimumDiameter");
+
+    //
+    // Test Cases
+    //
+
+    // Test of getMinimumRectangle
+    template<>
+    template<>
+    void object::test<1>()
+    {
+        GeomPtr geom(reader.read("POLYGON ((0 0, 0 20, 20 20, 20 0, 0 0))"));
+        ensure(0 != geom.get());
+
+        geos::algorithm::MinimumDiameter m(geom.get());
+        GeomPtr minRect( m.getMinimumRectangle() );
+        ensure(0 != minRect.get());
+
+        GeomPtr expectedGeom(reader.read("POLYGON ((0 0, 20 0, 20 20, 0 20, 0 0))"));
+        ensure(0 != expectedGeom.get());
+
+        ensure( minRect.get()->equalsExact(expectedGeom.get()) );
+    }
+
+    // Test with expected rotated rectangle
+    template<>
+    template<>
+    void object::test<2>()
+    {
+        GeomPtr geom(reader.read("POLYGON ((0 5, 5 10, 10 5, 5 0, 0 5))"));
+        ensure(0 != geom.get());
+
+        geos::algorithm::MinimumDiameter m(geom.get());
+        GeomPtr minRect( m.getMinimumRectangle() );
+        ensure(0 != minRect.get());
+
+        GeomPtr expectedGeom(reader.read("POLYGON ((5 0, 10 5, 5 10, 0 5, 5 0))"));
+        ensure(0 != expectedGeom.get());
+
+        ensure( minRect.get()->equalsExact(expectedGeom.get()) );
+    }
+
+    // Test with EMPTY input
+    template<>
+    template<>
+    void object::test<3>()
+    {
+        GeomPtr geom(reader.read("POLYGON EMPTY"));
+        ensure(0 != geom.get());
+
+        geos::algorithm::MinimumDiameter m(geom.get());
+        GeomPtr minRect( m.getMinimumRectangle() );
+        ensure(0 != minRect.get());
+
+        GeomPtr expectedGeom(reader.read("POLYGON EMPTY"));
+        ensure(0 != expectedGeom.get());
+
+        ensure( minRect.get()->equalsExact(expectedGeom.get()) );
+    }
+
+    // Test with Point input
+    template<>
+    template<>
+    void object::test<4>()
+    {
+        GeomPtr geom(reader.read("Point(1 2)"));
+        ensure(0 != geom.get());
+
+        geos::algorithm::MinimumDiameter m(geom.get());
+        GeomPtr minRect( m.getMinimumRectangle() );
+        ensure(0 != minRect.get());
+
+        GeomPtr expectedGeom(reader.read("Point(1 2)"));
+        ensure(0 != expectedGeom.get());
+
+        ensure( minRect.get()->equalsExact(expectedGeom.get()) );
+    }
+
+    // Test with LineString input
+    template<>
+    template<>
+    void object::test<5>()
+    {
+        GeomPtr geom(reader.read("LineString(1 2, 2 4)"));
+        ensure(0 != geom.get());
+
+        geos::algorithm::MinimumDiameter m(geom.get());
+        GeomPtr minRect( m.getMinimumRectangle() );
+        ensure(0 != minRect.get());
+
+        GeomPtr expectedGeom(reader.read("LineString(1 2, 2 4)"));
+        ensure(0 != expectedGeom.get());
+
+        ensure( minRect.get()->equalsExact(expectedGeom.get()) );
+    }
+
+    // Test minimumDiameter with Point input
+    template<>
+    template<>
+    void object::test<6>()
+    {
+        GeomPtr geom(reader.read("POINT (0 240)"));
+        ensure(0 != geom.get());
+
+        GeomPtr minDiameter( geos::algorithm::MinimumDiameter::getMinimumDiameter( geom.get() ) );
+        ensure(0 != minDiameter.get());
+
+        GeomPtr expectedGeom(reader.read("LineString (0 240, 0 240)"));
+        ensure(0 != expectedGeom.get());
+
+        ensure( minDiameter.get()->equalsExact(expectedGeom.get()) );
+    }
+
+    // Test minimumDiameter with LineString input
+    template<>
+    template<>
+    void object::test<7>()
+    {
+        GeomPtr geom(reader.read("LINESTRING (0 240, 220 240)"));
+        ensure(0 != geom.get());
+
+        GeomPtr minDiameter( geos::algorithm::MinimumDiameter::getMinimumDiameter( geom.get() ) );
+        ensure(0 != minDiameter.get());
+
+        GeomPtr expectedGeom(reader.read("LINESTRING (0 240, 0 240)"));
+        ensure(0 != expectedGeom.get());
+
+        ensure( minDiameter.get()->equalsExact(expectedGeom.get()) );
+    }
+
+    // Test minimumDiameter with Polygon input
+    template<>
+    template<>
+    void object::test<8>()
+    {
+        GeomPtr geom(reader.read("POLYGON ((0 240, 220 240, 220 0, 0 0, 0 240))"));
+        ensure(0 != geom.get());
+
+        GeomPtr minDiameter( geos::algorithm::MinimumDiameter::getMinimumDiameter( geom.get() ) );
+        ensure(0 != minDiameter.get());
+
+        GeomPtr expectedGeom(reader.read("LINESTRING (0 0, 220 0)"));
+        ensure(0 != expectedGeom.get());
+
+        ensure( minDiameter.get()->equalsExact(expectedGeom.get()) );
+    }
+
+    // Test minimumDiameter with Polygon input
+    template<>
+    template<>
+    void object::test<9>()
+    {
+        GeomPtr geom(reader.read("POLYGON ((0 240, 160 140, 220 0, 0 0, 0 240))"));
+        ensure(0 != geom.get());
+
+        GeomPtr minDiameter( geos::algorithm::MinimumDiameter::getMinimumDiameter( geom.get() ) );
+        ensure(0 != minDiameter.get());
+
+        GeomPtr expectedGeom(reader.read("LINESTRING (185.86206896551724 79.65517241379311, 0 0)"));
+        ensure(0 != expectedGeom.get());
+
+        ensure( minDiameter.get()->equalsExact(expectedGeom.get(), 0.00000000001) );
+    }
+
+    // Test minimumDiameter with complex LineString
+    template<>
+    template<>
+    void object::test<10>()
+    {
+        GeomPtr geom(reader.read("LINESTRING ( 39 119, 162 197, 135 70, 95 35, 33 66, 111 82, 97 131, 48 160, -4 182, 57 195, 94 202, 90 174, 75 134, 47 114, 0 100, 59 81, 123 60, 136 43, 163 75, 145 114, 93 136, 92 159, 105 175 )"));
+        ensure(0 != geom.get());
+
+        GeomPtr minDiameter( geos::algorithm::MinimumDiameter::getMinimumDiameter( geom.get() ) );
+        ensure(0 != minDiameter.get());
+
+        GeomPtr expectedGeom(reader.read("LINESTRING (64.46262341325811 196.41184767277855, 95 35)"));
+        ensure(0 != expectedGeom.get());
+
+        ensure( minDiameter.get()->equalsExact(expectedGeom.get(), 0.00000000001) );
+    }
+
+} // namespace tut
diff --git a/tests/unit/algorithm/PointLocatorTest.cpp b/tests/unit/algorithm/PointLocatorTest.cpp
index eaf9dca..f66e174 100644
--- a/tests/unit/algorithm/PointLocatorTest.cpp
+++ b/tests/unit/algorithm/PointLocatorTest.cpp
@@ -42,8 +42,8 @@ namespace tut
 	// for the same reason...
 	//
 	static PrecisionModel pm;
-	static GeometryFactory gf(&pm);
-        static geos::io::WKTReader reader(&gf);
+	static GeometryFactory::unique_ptr gf = GeometryFactory::create(&pm);
+	static geos::io::WKTReader reader(gf.get());
 
 	typedef std::auto_ptr<Geometry> GeomPtr;
 
@@ -96,8 +96,15 @@ namespace tut
 	    runPtLocator(Location::EXTERIOR, Coordinate(11, 11),
 	                     "LINEARRING(10 10, 10 20, 20 10, 10 10)");
 	}
-		      
 
+	// 5 - TestPointLocator Point inside MultiPoint
+	template<>
+	template<>
+	void object::test<5>()
+	{
+		runPtLocator(Location::INTERIOR, Coordinate(0, 0),
+				"MULTIPOINT ((1 1), (0 0))");
+	}
 
 } // namespace tut
 
diff --git a/tests/unit/algorithm/RobustLineIntersectionTest.cpp b/tests/unit/algorithm/RobustLineIntersectionTest.cpp
index 5baaaf2..cf471e3 100644
--- a/tests/unit/algorithm/RobustLineIntersectionTest.cpp
+++ b/tests/unit/algorithm/RobustLineIntersectionTest.cpp
@@ -244,14 +244,14 @@ namespace tut
 	test_robustlineintersection_data()
 		:
 		pm(),
-		gf(&pm),
-		reader(&gf)
+		gf(GeometryFactory::create(&pm)),
+		reader(gf.get())
 	{
 	}
 
 	PrecisionModel pm;
-	GeometryFactory gf;
-        geos::io::WKTReader reader;
+	GeometryFactory::unique_ptr gf;
+  geos::io::WKTReader reader;
 
 	};
 
diff --git a/tests/unit/algorithm/RobustLineIntersectorTest.cpp b/tests/unit/algorithm/RobustLineIntersectorTest.cpp
index c81c477..9a2fea4 100644
--- a/tests/unit/algorithm/RobustLineIntersectorTest.cpp
+++ b/tests/unit/algorithm/RobustLineIntersectorTest.cpp
@@ -238,13 +238,13 @@ namespace tut
     using geos::geom::GeometryFactory;
     using geos::geom::LineString;
 
-    GeometryFactory factory;
+    GeometryFactory::unique_ptr factory = GeometryFactory::create();
     CoordinateSequence* cs = new CoordinateArraySequence();
     cs->add(p1);
     cs->add(p2);
 
-    GeomPtr l ( factory.createLineString(cs) );
-    GeomPtr p ( factory.createPoint(q) );
+    GeomPtr l ( factory->createLineString(cs) );
+    GeomPtr p ( factory->createPoint(q) );
     ensure(!l->intersects(p.get()));
 
     ensure(!CGAlgorithms::isOnLine(q, cs));
@@ -298,9 +298,10 @@ namespace tut
     template<>
     void object::test<15>()
     {
+        using geos::geom::GeometryFactory;
         geos::geom::PrecisionModel pm(1e+13);
-        geos::geom::GeometryFactory factory(&pm);
-        geos::io::WKBReader reader(factory);
+        GeometryFactory::unique_ptr factory = GeometryFactory::create(&pm);
+        geos::io::WKBReader reader(*factory);
 
         // POINT located between 3rd and 4th vertex of LINESTRING
         // POINT(-23.1094689600055080 50.5195368635957180)
diff --git a/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp b/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
index c99f263..2cd9688 100644
--- a/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
+++ b/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
@@ -41,8 +41,8 @@ namespace tut
 	test_DiscreteHausdorffDistance_data()
 		:
 		pm(),
-		gf(&pm),
-		reader(&gf)
+		gf(GeometryFactory::create(&pm)),
+		reader(gf.get())
 	{}
 
 	static const double TOLERANCE;
@@ -73,8 +73,8 @@ namespace tut
 	}
 
 	PrecisionModel pm;
-	GeometryFactory gf;
-        geos::io::WKTReader reader;
+	GeometryFactory::unique_ptr gf;
+  geos::io::WKTReader reader;
 
 	};
 	const double test_DiscreteHausdorffDistance_data::TOLERANCE = 0.00001;
diff --git a/tests/unit/capi/GEOSContainsTest.cpp b/tests/unit/capi/GEOSContainsTest.cpp
index 8fdd927..2948523 100644
--- a/tests/unit/capi/GEOSContainsTest.cpp
+++ b/tests/unit/capi/GEOSContainsTest.cpp
@@ -4,6 +4,8 @@
 #include <tut.hpp>
 // geos
 #include <geos_c.h>
+#include <geos/io/WKBReader.h>
+#include <geos/geom/PrecisionModel.h>
 // std
 #include <cstdarg>
 #include <cstdio>
@@ -115,6 +117,109 @@ namespace tut
 
         ensure_equals(int(r2), 0);
     }
+
+    // Test outer polygon contains inner polygon with two coincident vertices
+    // with results compared depending on precision used with FIXED PMs.
+    template<>
+    template<>
+    void object::test<4>()
+    {
+        // Coincident vertives of both polygons at
+        // -700.67089999181 93743.4218587986, -713.450135807349 93754.1677576647,
+        std::string const outer("01030000800100000009000000af9dd0005ee585c0f802efbff6e2f6400000000000000000955acde0994b86c039a922afa2e3f64000000000000000002af6fb4f5d1887c07adb1c4071e3f6400000000000000000e5962b388d4f87c0bd3aeda7bae2f640000000000000000087c61344030887c07d585e6ff6e1f6400000000000000000fc8a31b5166186c0230588b20ae1f640000000000000000034733daf050186c0ed9f3ac98ae1f6400000000000000000f190aef659b385c0df2876538ce2f6400000000000000000af9dd0005ee585c0f802efbff6e2f6400000000000000000");
+        std::string const inner("0103000080010000000a000000ac21f88bbaff86c05f45d8c7b4e2f6400000000000000000467f1177ebf386c05de1971187e2f6400000000000000000fcf677888fc886c04e855a544be2f6400000000000000000c61226e540b686c0c0662d1fe7e1f640000000000000000042dc1bece8a486c09b85529f8ae1f6400000000000000000891047cde55e86c038cfa59c4ee1f6400000000000000000ae9dd0005ee585c0fa02efbff6e2f6400000000000000000975acde0994b86c038a922afa2e3f6400000000000000000287e339b09f986c01b1a083a10e3f6400000000000000000a [...]
+
+        // A contains B if precision is limited to 1e+10
+        {
+            geos::geom::PrecisionModel pm(1e+10);
+            geos::geom::GeometryFactory::unique_ptr factory = geos::geom::GeometryFactory::create(&pm);
+            geos::io::WKBReader reader(*factory);
+
+            std::istringstream sOuter(outer);
+            geom1_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sOuter));
+            std::istringstream sInner(inner);
+            geom2_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sInner));
+            ensure(0 != geom1_);
+            ensure(0 != geom2_);
+
+            int ret = GEOSContains(geom1_, geom2_);
+            ensure_equals(ret, 1);
+            ret = GEOSContains(geom2_, geom1_);
+            ensure_equals(ret, 0);
+        }
+
+        // A does NOT contain B if precision is extended to 1e+11 or beyond
+        {
+            geos::geom::PrecisionModel pm(1e+11);
+            geos::geom::GeometryFactory::unique_ptr factory = geos::geom::GeometryFactory::create(&pm);
+            geos::io::WKBReader reader(*factory);
+
+            std::istringstream sOuter(outer);
+            geom1_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sOuter));
+            std::istringstream sInner(inner);
+            geom2_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sInner));
+            ensure(0 != geom1_);
+            ensure(0 != geom2_);
+
+            int ret = GEOSContains(geom1_, geom2_);
+            ensure_equals(ret, 0);
+            ret = GEOSContains(geom2_, geom1_);
+            ensure_equals(ret, 0);
+        }
+    }
  
+    // Test outer rectangle contains inner rectangle with one coincident vertex
+    // and two vertices of the inner rectangle are on the boundary (lay on segments)
+    // of the outer rectangle.
+    // Precision model should not affect the containment test result.
+    template<>
+    template<>
+    void object::test<5>()
+    {
+        // Coincident vertext at -753.167968418005 93709.4279185742
+        //POLYGON ((-753.167968418005 93754.0955183194,-816.392328351464 93754.0955183194,-816.392328351464 93709.4279185742,-753.167968418005 93709.4279185742,-753.167968418005 93754.0955183194))
+        std::string const outer("01030000800100000005000000bd70d3ff578987c09e373e87a1e3f6400000000000000000a9f60b7d238389c09e373e87a1e3f6400000000000000000a9f60b7d238389c09625c1d8d6e0f6400000000000000000bd70d3ff578987c09625c1d8d6e0f6400000000000000000bd70d3ff578987c09e373e87a1e3f6400000000000000000");
+        //POLYGON ((-753.167968418005 93747.6909727677,-799.641978447015 93747.6909727677,-799.641978447015 93709.4279185742,-753.167968418005 93709.4279185742,-753.167968418005 93747.6909727677))
+        std::string const inner("01030000800100000005000000bd70d3ff578987c0f875390e3be3f6400000000000000000579598c522fd88c0f875390e3be3f6400000000000000000579598c522fd88c09625c1d8d6e0f6400000000000000000bd70d3ff578987c09625c1d8d6e0f6400000000000000000bd70d3ff578987c0f875390e3be3f6400000000000000000");
+
+        // A contains B if precision is limited to 1e+10
+        {
+            geos::geom::PrecisionModel pm(1e+10);
+            geos::geom::GeometryFactory::unique_ptr factory = geos::geom::GeometryFactory::create(&pm);
+            geos::io::WKBReader reader(*factory);
+
+            std::istringstream sOuter(outer);
+            geom1_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sOuter));
+            std::istringstream sInner(inner);
+            geom2_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sInner));
+            ensure(0 != geom1_);
+            ensure(0 != geom2_);
+
+            int ret = GEOSContains(geom1_, geom2_);
+            ensure_equals(ret, 1);
+            ret = GEOSContains(geom2_, geom1_);
+            ensure_equals(ret, 0);
+        }
+
+        // A contains B if FLOATING PM is used with extended precision
+        {
+            geos::geom::PrecisionModel pm;
+            geos::geom::GeometryFactory::unique_ptr factory = geos::geom::GeometryFactory::create(&pm);
+            geos::io::WKBReader reader(*factory);
+
+            std::istringstream sOuter(outer);
+            geom1_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sOuter));
+            std::istringstream sInner(inner);
+            geom2_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sInner));
+            ensure(0 != geom1_);
+            ensure(0 != geom2_);
+
+            int ret = GEOSContains(geom1_, geom2_);
+            ensure_equals(ret, 1);
+            ret = GEOSContains(geom2_, geom1_);
+            ensure_equals(ret, 0);
+        }
+    }
+
 } // namespace tut
 
diff --git a/tests/unit/capi/GEOSEqualsTest.cpp b/tests/unit/capi/GEOSEqualsTest.cpp
new file mode 100644
index 0000000..9469e8f
--- /dev/null
+++ b/tests/unit/capi/GEOSEqualsTest.cpp
@@ -0,0 +1,186 @@
+// 
+// Test Suite for C-API GEOSEquals
+
+#include <tut.hpp>
+// geos
+#include <geos_c.h>
+// std
+#include <cstdarg>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+
+namespace tut
+{
+    //
+    // Test Group
+    //
+
+    // Common data used in test cases.
+    struct test_capigeosequals_data
+    {
+        GEOSGeometry* geom1_;
+        GEOSGeometry* geom2_;
+
+        static void notice(const char *fmt, ...)
+        {
+            std::fprintf( stdout, "NOTICE: ");
+
+            va_list ap;
+            va_start(ap, fmt);
+            std::vfprintf(stdout, fmt, ap);
+            va_end(ap);
+        
+            std::fprintf(stdout, "\n");
+        }
+
+        test_capigeosequals_data()
+            : geom1_(0), geom2_(0)
+        {
+            initGEOS(notice, notice);
+        }       
+
+        ~test_capigeosequals_data()
+        {
+            GEOSGeom_destroy(geom1_);
+            GEOSGeom_destroy(geom2_);
+            geom1_ = 0;
+            geom2_ = 0;
+            finishGEOS();
+        }
+
+    };
+
+    typedef test_group<test_capigeosequals_data> group;
+    typedef group::object object;
+
+    group test_capigeosequals_group("capi::GEOSEquals");
+
+    //
+    // Test Cases
+    //
+
+    template<>
+    template<>
+    void object::test<1>()
+    {
+        geom1_ = GEOSGeomFromWKT("POLYGON EMPTY");
+        geom2_ = GEOSGeomFromWKT("POLYGON EMPTY");
+
+        ensure( 0 != geom1_ );
+        ensure( 0 != geom2_ );
+
+        char const r1 = GEOSEquals(geom1_, geom2_);
+
+        ensure_equals(r1, 1);
+
+        char const r2 = GEOSEquals(geom2_, geom1_);
+
+        ensure_equals(r2, 1);
+    }
+
+    template<>
+    template<>
+    void object::test<2>()
+    {
+        geom1_ = GEOSGeomFromWKT("POINT(2 3)");
+        geom2_ = GEOSGeomFromWKT("POINT(2 2)");
+        
+        ensure( 0 != geom1_ );
+        ensure( 0 != geom2_ );
+
+        char const r1 = GEOSEquals(geom1_, geom2_);
+
+        ensure_equals(int(r1), 0);
+
+        char const r2 = GEOSEquals(geom2_, geom1_);
+
+        ensure_equals(int(r2), 0);
+    }
+    
+    template<>
+    template<>
+    void object::test<3>()
+    {
+        geom1_ = GEOSGeomFromWKT("MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0)))");
+        geom2_ = GEOSGeomFromWKT("POLYGON((0 0,0 10,10 10,10 0,0 0))");
+        
+        ensure( 0 != geom1_ );
+        ensure( 0 != geom2_ );
+
+        char const r1 = GEOSEquals(geom1_, geom2_);
+
+        ensure_equals(int(r1), 1);
+        
+        char const r2 = GEOSEquals(geom2_, geom1_);
+
+        ensure_equals(int(r2), 1);
+    }
+
+    // This is a test for bug #357 (GEOSEquals with nan coords)
+    template<>
+    template<>
+    void object::test<4>()
+    {
+        GEOSCoordSequence* cs = GEOSCoordSeq_create(5, 2);
+
+        double nan = std::numeric_limits<double>::quiet_NaN();        
+        GEOSCoordSeq_setX(cs, 0, 1); GEOSCoordSeq_setY(cs, 0, 1);
+        for (unsigned int i=1; i<4; ++i) {
+            GEOSCoordSeq_setX(cs, i, nan);
+            GEOSCoordSeq_setY(cs, i, nan);
+        }
+        GEOSCoordSeq_setX(cs, 4, 1); GEOSCoordSeq_setY(cs, 4, 1);
+
+        geom1_ = GEOSGeom_createPolygon(GEOSGeom_createLinearRing(cs),
+                                        NULL, 0);
+
+        char const r1 = GEOSEquals(geom1_, geom1_);
+
+        ensure_equals(int(r1), 2);
+        
+    }
+
+    // This is a test for bug #357 (GEOSEquals with inf coords)
+    template<>
+    template<>
+    void object::test<5>()
+    {
+        const char *hex = "0103000020E61000000100000005000000737979F3DDCC2CC0F92154F9E7534540000000000000F07F000000000000F07F8F806E993F7E55C0304B29FFEA8554400634E8D1DD424540B5FEE6A37FCD4540737979F3DDCC2CC0F92154F9E7534540";
+
+        geom1_ = GEOSGeomFromHEX_buf((unsigned char*)hex, std::strlen(hex));
+        
+        ensure( 0 != geom1_ );
+
+        char const r1 = GEOSEquals(geom1_, geom1_);
+
+        ensure_equals(int(r1), 2);
+        
+    }
+
+#if 0 // fails
+    // This is a test for bug #752 (GEOSEquals with collection)
+    template<>
+    template<>
+    void object::test<6>()
+    {
+        const char *wkt1 = "GEOMETRYCOLLECTION(POLYGON ("
+          "(0 0, 0 4, 4 4, 4 0, 0 0)"
+          "),"
+          "POLYGON ("
+          "(3 3, 3 4, 4 4, 4 3, 3 3)"
+          "))";
+
+        geom1_ = GEOSGeomFromWKT(wkt1);
+
+        ensure( 0 != geom1_ );
+
+        char const r1 = GEOSEquals(geom1_, geom1_);
+
+        ensure_equals(int(r1), 1);
+    }
+#endif
+        
+ 
+} // namespace tut
+
diff --git a/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp b/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
new file mode 100644
index 0000000..699662a
--- /dev/null
+++ b/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
@@ -0,0 +1,186 @@
+// 
+// Test Suite for C-API GEOSGeom_setPrecision_r
+
+#include <tut.hpp>
+// geos
+#include <geos_c.h>
+// std
+#include <cstdarg>
+#include <cstdio>
+#include <cstdlib>
+
+namespace tut
+{
+    //
+    // Test Group
+    //
+
+    // Common data used in test cases.
+    struct test_capigeosgeomsetprecision_data
+    {
+        GEOSWKTWriter* wktw_;
+        GEOSGeometry* geom1_;
+        GEOSGeometry* geom2_;
+        GEOSGeometry* geom3_;
+
+        static void notice(const char *fmt, ...)
+        {
+            std::fprintf( stdout, "NOTICE: ");
+
+            va_list ap;
+            va_start(ap, fmt);
+            std::vfprintf(stdout, fmt, ap);
+            va_end(ap);
+        
+            std::fprintf(stdout, "\n");
+        }
+
+        GEOSGeometry *fromWKT(const char *wkt)
+        {
+          GEOSGeometry *g = GEOSGeomFromWKT(wkt);
+          ensure(g);
+          return g;
+        }
+        std::string toWKT(GEOSGeometry* g)
+        {
+          char* wkt = GEOSWKTWriter_write(wktw_, g);
+          std::string ret (wkt);
+          GEOSFree(wkt);
+          return ret;
+        }
+
+        test_capigeosgeomsetprecision_data()
+                : geom1_(0), geom2_(0), geom3_(0)
+        {
+            initGEOS(notice, notice);
+            wktw_ = GEOSWKTWriter_create();
+            GEOSWKTWriter_setTrim(wktw_, 1);
+            GEOSWKTWriter_setRoundingPrecision(wktw_, 10);
+            //GEOSWKTWriter_setOutputDimension(wktw_, 3);
+        }       
+
+        ~test_capigeosgeomsetprecision_data()
+        {
+            GEOSGeom_destroy(geom1_);
+            GEOSGeom_destroy(geom2_);
+            if( geom3_ )
+                GEOSGeom_destroy(geom3_);
+            GEOSWKTWriter_destroy(wktw_);
+
+            geom1_ = 0;
+            geom2_ = 0;
+            geom3_ = 0;
+            finishGEOS();
+        }
+
+    };
+
+    typedef test_group<test_capigeosgeomsetprecision_data> group;
+    typedef group::object object;
+
+    group test_capigeosgeomsetprecision_group("capi::GEOSGeom_setPrecision");
+
+    //
+    // Test Cases
+    //
+
+    template<>
+    template<>
+    void object::test<1>()
+    {
+        geom1_ = fromWKT("POLYGON EMPTY");
+        ensure(geom1_);
+        double scale = GEOSGeom_getPrecision(geom1_);
+        ensure_equals(scale, 0.0);
+        geom3_ = GEOSGeom_setPrecision(geom1_, 2.0, 0);
+        ensure(geom3_);
+        ensure_equals(toWKT(geom3_), std::string("POLYGON EMPTY"));
+        scale = GEOSGeom_getPrecision(geom3_);
+        ensure_equals(scale, 2.0);
+    }
+
+    template<>
+    template<>
+    void object::test<2>()
+    {
+        geom1_ = fromWKT("LINESTRING(-3 6, 9 1)");
+        ensure(geom1_);
+        geom3_ = GEOSGeom_setPrecision(geom1_, 2.0, 0);
+        ensure(geom3_);
+        ensure_equals(toWKT(geom3_), std::string("LINESTRING (-2 6, 10 2)"));
+    }
+
+    // See effects of precision reduction on intersection operation
+    template<>
+    template<>
+    void object::test<3>()
+    {
+        geom1_ = fromWKT("LINESTRING(2 10, 4 30)");
+        ensure(geom1_);
+        geom2_ = fromWKT("LINESTRING(4 10, 2 30)");
+        ensure(geom2_);
+        geom3_ = GEOSIntersection(geom1_, geom2_);
+        ensure(geom3_);
+        ensure_equals(toWKT(geom3_), std::string("POINT (3 20)"));
+
+        GEOSGeometry* g;
+
+        // Both inputs with precision grid of 2.0
+        g = GEOSGeom_setPrecision(geom1_, 2.0, 0); ensure(g);
+        GEOSGeom_destroy(geom1_); geom1_ = g;
+        g = GEOSGeom_setPrecision(geom2_, 2.0, 0); ensure(g);
+        GEOSGeom_destroy(geom2_); geom2_ = g;
+        GEOSGeom_destroy(geom3_);
+        geom3_ = GEOSIntersection(geom1_, geom2_);
+        ensure(geom3_);
+        ensure_equals(toWKT(geom3_), std::string("POINT (4 20)"));
+
+        // One input with precision grid of 0.5, the other of 2.0
+        g = GEOSGeom_setPrecision(geom1_, 0.5, 0); ensure(g);
+        GEOSGeom_destroy(geom1_); geom1_ = g;
+        GEOSGeom_destroy(geom3_);
+        geom3_ = GEOSIntersection(geom1_, geom2_);
+        ensure(geom3_);
+        ensure_equals(toWKT(geom3_), std::string("POINT (3 20)"));
+        double scale = GEOSGeom_getPrecision(geom1_);
+        ensure_equals(scale, 0.5);
+        scale = GEOSGeom_getPrecision(geom2_);
+        ensure_equals(scale, 2.0);
+    }
+
+    // Retain (or not) topology
+    template<>
+    template<>
+    void object::test<4>()
+    {
+        geom1_ = fromWKT("POLYGON((10 10,20 10,16 15,20 20, 10 20, 14 15, 10 10))");
+        ensure(geom1_);
+        geom2_ = GEOSGeom_setPrecision(geom1_, 5.0, 0);
+        ensure_equals(toWKT(geom2_), std::string(
+          "MULTIPOLYGON (((10 10, 15 15, 20 10, 10 10)), ((15 15, 10 20, 20 20, 15 15)))"
+        ));
+        geom3_ = GEOSGeom_setPrecision(geom1_, 5.0, GEOS_PREC_NO_TOPO);
+        ensure_equals(toWKT(geom3_), std::string(
+          "POLYGON ((10 10, 20 10, 15 15, 20 20, 10 20, 15 15, 10 10))"
+        ));
+    }
+
+    // Retain (or not) collapsed elements
+    template<>
+    template<>
+    void object::test<5>()
+    {
+        geom1_ = fromWKT("LINESTRING(1 0, 2 0)");
+        ensure(geom1_);
+        geom2_ = GEOSGeom_setPrecision(geom1_, 5.0, 0);
+        ensure_equals(toWKT(geom2_), std::string(
+          "LINESTRING EMPTY"
+        ));
+        geom3_ = GEOSGeom_setPrecision(geom1_, 5.0, GEOS_PREC_KEEP_COLLAPSED);
+        ensure_equals(toWKT(geom3_), std::string(
+          "LINESTRING (0 0, 0 0)"
+        ));
+    }
+ 
+} // namespace tut
+
diff --git a/tests/unit/capi/GEOSMinimumClearanceTest.cpp b/tests/unit/capi/GEOSMinimumClearanceTest.cpp
new file mode 100644
index 0000000..3814482
--- /dev/null
+++ b/tests/unit/capi/GEOSMinimumClearanceTest.cpp
@@ -0,0 +1,132 @@
+//
+// Test Suite for C-API GEOSMinimumClearance
+#include <tut.hpp>
+// geos
+#include <geos_c.h>
+// std
+#include <cstdarg>
+#include <cstdio>
+#include <cstdlib>
+
+namespace tut
+{
+    //
+    // Test Group
+    //
+
+    // Common data used in test cases.
+    struct test_capigeosminimumclearance_data
+    {
+        static void notice(const char *fmt, ...)
+        {
+            std::fprintf( stdout, "NOTICE: ");
+
+            va_list ap;
+            va_start(ap, fmt);
+            std::vfprintf(stdout, fmt, ap);
+            va_end(ap);
+
+            std::fprintf(stdout, "\n");
+        }
+
+        test_capigeosminimumclearance_data()
+        {
+            initGEOS(notice, notice);
+        }
+
+        ~test_capigeosminimumclearance_data()
+        {
+            finishGEOS();
+        }
+
+        void testClearance(const std::string & wkx_input,
+                           const std::string & wkx_expected,
+                           double clearance) {
+
+            GEOSGeometry* input;
+            GEOSGeometry* expected_result;
+            if (wkx_input[0] == '0')
+                input = GEOSGeomFromHEX_buf((const unsigned char*) wkx_input.c_str(), wkx_input.length());
+            else
+                input = GEOSGeomFromWKT(wkx_input.c_str());
+
+            if (wkx_expected[0] == '0')
+                expected_result = GEOSGeomFromHEX_buf((const unsigned char*) wkx_expected.c_str(), wkx_expected.length());
+            else
+                expected_result = GEOSGeomFromWKT(wkx_expected.c_str());
+
+            double d;
+            int error = GEOSMinimumClearance(input, &d);
+
+            ensure(!error);
+            if (clearance == std::numeric_limits<double>::infinity()) {
+                ensure(d == clearance);
+            } else {
+                ensure_equals("clearance", d, clearance, 1e-12);
+            }
+
+            GEOSGeometry* result = GEOSMinimumClearanceLine(input);
+            ensure(result != NULL);
+            ensure_equals(1, GEOSEquals(result, expected_result));
+
+            GEOSGeom_destroy(input);
+            GEOSGeom_destroy(expected_result);
+            GEOSGeom_destroy(result);
+        }
+
+    };
+
+    typedef test_group<test_capigeosminimumclearance_data> group;
+    typedef group::object object;
+
+    group test_capigeosminimumclearance_group("capi::GEOSMinimumClearance");
+
+    //
+    // Test Cases
+    //
+    template<>
+    template<>
+    void object::test<1>()
+    {
+        testClearance("MULTIPOINT ((100 100), (100 100))",
+                      "LINESTRING EMPTY",
+                      std::numeric_limits<double>::infinity());
+    }
+
+    template<>
+    template<>
+    void object::test<2>()
+    {
+        testClearance("MULTIPOINT ((100 100), (10 100), (30 100))",
+                      "LINESTRING (30 100, 10 100)",
+                      20);
+    }
+
+    template<>
+    template<>
+    void object::test<3>()
+    {
+        testClearance("POLYGON ((100 100, 300 100, 200 200, 100 100))",
+                      "LINESTRING (200 200, 200 100)",
+                      100);
+    }
+
+    template<>
+    template<>
+    void object::test<4>()
+    {
+        testClearance("0106000000010000000103000000010000001a00000035d42824992d5cc01b834e081dca404073b9c150872d5cc03465a71fd4c940400ec00644882d5cc03b8a73d4d1c94040376dc669882d5cc0bf9cd9aed0c940401363997e892d5cc002f4fbfecdc94040ca4e3fa88b2d5cc0a487a1d5c9c940408f1ce90c8c2d5cc0698995d1c8c94040fab836548c2d5cc0bd175fb4c7c940409f1f46088f2d5cc0962023a0c2c940407b15191d902d5cc068041bd7bfc940400397c79a912d5cc0287d21e4bcc940403201bf46922d5cc065e3c116bbc940409d9d0c8e922d5cc0060fd3beb9c940400ef7915b9 [...]
+                      "LINESTRING (-112.712119 33.575919, -112.712127 33.575885)",
+                      3.49284983912134e-05);
+    }
+
+    template<>
+    template<>
+    void object::test<5>()
+    {
+        testClearance("POLYGON EMPTY",
+                      "LINESTRING EMPTY",
+                      std::numeric_limits<double>::infinity());
+    }
+
+} // namespace tut
diff --git a/tests/unit/capi/GEOSMinimumRectangleTest.cpp b/tests/unit/capi/GEOSMinimumRectangleTest.cpp
new file mode 100644
index 0000000..5007915
--- /dev/null
+++ b/tests/unit/capi/GEOSMinimumRectangleTest.cpp
@@ -0,0 +1,84 @@
+//
+// Test Suite for C-API GEOSMinimumRotatedRectangle
+
+#include <tut.hpp>
+// geos
+#include <geos_c.h>
+// std
+#include <cstdarg>
+#include <cstdio>
+#include <cstdlib>
+
+namespace tut
+{
+    //
+    // Test Group
+    //
+
+    // Common data used in test cases.
+    struct test_capigeosminimumrectangle_data
+    {
+        GEOSGeometry* input_;
+        GEOSWKTWriter* wktw_;
+        char* wkt_;
+
+        static void notice(const char *fmt, ...)
+        {
+            std::fprintf( stdout, "NOTICE: ");
+
+            va_list ap;
+            va_start(ap, fmt);
+            std::vfprintf(stdout, fmt, ap);
+            va_end(ap);
+
+            std::fprintf(stdout, "\n");
+        }
+
+        test_capigeosminimumrectangle_data()
+            : input_(0), wkt_(0)
+        {
+            initGEOS(notice, notice);
+            wktw_ = GEOSWKTWriter_create();
+            GEOSWKTWriter_setTrim(wktw_, 1);
+            GEOSWKTWriter_setRoundingPrecision(wktw_, 8);
+        }
+
+        ~test_capigeosminimumrectangle_data()
+        {
+            GEOSGeom_destroy(input_);
+            input_ = 0;
+            GEOSWKTWriter_destroy(wktw_);
+            GEOSFree(wkt_);
+            wkt_ = 0;
+            finishGEOS();
+        }
+
+    };
+
+    typedef test_group<test_capigeosminimumrectangle_data> group;
+    typedef group::object object;
+
+    group test_capigeosminimumrectangle_group("capi::GEOSMinimumRotatedRectangle");
+
+    //
+    // Test Cases
+    //
+
+    template<>
+    template<>
+    void object::test<1>()
+    {
+        input_ = GEOSGeomFromWKT("POLYGON ((1 6, 6 11, 11 6, 6 1, 1 6))");
+        ensure( 0 != input_ );
+
+        GEOSGeometry* output = GEOSMinimumRotatedRectangle(input_);
+        ensure( 0 != output );
+        ensure( 0 == GEOSisEmpty(output) );
+
+        wkt_ = GEOSWKTWriter_write(wktw_, output);
+        ensure_equals(std::string(wkt_), std::string( "POLYGON ((6 1, 11 6, 6 11, 1 6, 6 1))"));
+
+        GEOSGeom_destroy(output);
+    }
+
+} // namespace tut
diff --git a/tests/unit/capi/GEOSMinimumWidthTest.cpp b/tests/unit/capi/GEOSMinimumWidthTest.cpp
new file mode 100644
index 0000000..11f00db
--- /dev/null
+++ b/tests/unit/capi/GEOSMinimumWidthTest.cpp
@@ -0,0 +1,99 @@
+//
+// Test Suite for C-API GEOSMinimumWidth
+#include <tut.hpp>
+// geos
+#include <geos_c.h>
+// std
+#include <cstdarg>
+#include <cstdio>
+#include <cstdlib>
+
+namespace tut
+{
+    //
+    // Test Group
+    //
+
+    // Common data used in test cases.
+    struct test_capigeosminimumwidth_data
+    {
+        GEOSGeometry* input_;
+        GEOSWKTWriter* wktw_;
+        char* wkt_;
+
+        static void notice(const char *fmt, ...)
+        {
+            std::fprintf( stdout, "NOTICE: ");
+
+            va_list ap;
+            va_start(ap, fmt);
+            std::vfprintf(stdout, fmt, ap);
+            va_end(ap);
+
+            std::fprintf(stdout, "\n");
+        }
+
+        test_capigeosminimumwidth_data()
+            : input_(0), wkt_(0)
+        {
+            initGEOS(notice, notice);
+            wktw_ = GEOSWKTWriter_create();
+            GEOSWKTWriter_setTrim(wktw_, 1);
+            GEOSWKTWriter_setRoundingPrecision(wktw_, 8);
+        }
+
+        ~test_capigeosminimumwidth_data()
+        {
+            GEOSGeom_destroy(input_);
+            input_ = 0;
+            GEOSWKTWriter_destroy(wktw_);
+            GEOSFree(wkt_);
+            wkt_ = 0;
+            finishGEOS();
+        }
+
+    };
+
+    typedef test_group<test_capigeosminimumwidth_data> group;
+    typedef group::object object;
+
+    group test_capigeosminimumwidth_group("capi::GEOSMinimumWidth");
+
+    //
+    // Test Cases
+    //
+
+    template<>
+    template<>
+    void object::test<1>()
+    {
+        input_ = GEOSGeomFromWKT("POLYGON ((0 0, 0 15, 5 10, 5 0, 0 0))");
+        ensure( 0 != input_ );
+
+        GEOSGeometry* output = GEOSMinimumWidth(input_);
+        ensure( 0 != output );
+        ensure( 0 == GEOSisEmpty(output) );
+
+        wkt_ = GEOSWKTWriter_write(wktw_, output);
+        ensure_equals(std::string(wkt_), std::string( "LINESTRING (0 0, 5 0)"));
+
+        GEOSGeom_destroy(output);
+    }
+
+    template<>
+    template<>
+    void object::test<2>()
+    {
+        input_ = GEOSGeomFromWKT("LINESTRING (0 0,0 10, 10 10)");
+        ensure( 0 != input_ );
+
+        GEOSGeometry* output = GEOSMinimumWidth(input_);
+        ensure( 0 != output );
+        ensure( 0 == GEOSisEmpty(output) );
+
+        wkt_ = GEOSWKTWriter_write(wktw_, output);
+        ensure_equals(std::string(wkt_), std::string( "LINESTRING (5 5, 0 10)"));
+        GEOSGeom_destroy(output);
+    }
+
+} // namespace tut
diff --git a/tests/unit/capi/GEOSPreparedGeometryTest.cpp b/tests/unit/capi/GEOSPreparedGeometryTest.cpp
index ea70141..378cd3f 100644
--- a/tests/unit/capi/GEOSPreparedGeometryTest.cpp
+++ b/tests/unit/capi/GEOSPreparedGeometryTest.cpp
@@ -219,8 +219,8 @@ namespace tut
     void object::test<8>()
     {
         geos::geom::PrecisionModel pm(1e+13);
-        geos::geom::GeometryFactory factory(&pm);
-        geos::io::WKBReader reader(factory);
+        geos::geom::GeometryFactory::unique_ptr factory = geos::geom::GeometryFactory::create(&pm);
+        geos::io::WKBReader reader(*factory);
 
         // POINT located between 3rd and 4th vertex of LINESTRING
         // POINT(-23.1094689600055080 50.5195368635957180)
@@ -257,7 +257,115 @@ namespace tut
         ensure_equals(ret, 1);
     }
 
-    // TODO: add lots of more tests
-    
+    // Test outer polygon contains inner polygon with two coincident vertices
+    // with results compared depending on precision used with FIXED PMs.
+    template<>
+    template<>
+    void object::test<10>()
+    {
+        // Coincident vertives of both polygons at
+        // -700.67089999181 93743.4218587986, -713.450135807349 93754.1677576647,
+        std::string const outer("01030000800100000009000000af9dd0005ee585c0f802efbff6e2f6400000000000000000955acde0994b86c039a922afa2e3f64000000000000000002af6fb4f5d1887c07adb1c4071e3f6400000000000000000e5962b388d4f87c0bd3aeda7bae2f640000000000000000087c61344030887c07d585e6ff6e1f6400000000000000000fc8a31b5166186c0230588b20ae1f640000000000000000034733daf050186c0ed9f3ac98ae1f6400000000000000000f190aef659b385c0df2876538ce2f6400000000000000000af9dd0005ee585c0f802efbff6e2f6400000000000000000");
+        std::string const inner("0103000080010000000a000000ac21f88bbaff86c05f45d8c7b4e2f6400000000000000000467f1177ebf386c05de1971187e2f6400000000000000000fcf677888fc886c04e855a544be2f6400000000000000000c61226e540b686c0c0662d1fe7e1f640000000000000000042dc1bece8a486c09b85529f8ae1f6400000000000000000891047cde55e86c038cfa59c4ee1f6400000000000000000ae9dd0005ee585c0fa02efbff6e2f6400000000000000000975acde0994b86c038a922afa2e3f6400000000000000000287e339b09f986c01b1a083a10e3f6400000000000000000a [...]
+
+        // A contains B if precision is limited to 1e+10
+        {
+            geos::geom::PrecisionModel pm(1e+10); // NOTE: higher precision fails this test case
+            geos::geom::GeometryFactory::unique_ptr factory = geos::geom::GeometryFactory::create(&pm);
+            geos::io::WKBReader reader(*factory);
+
+            std::istringstream sOuter(outer);
+            geom1_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sOuter));
+            std::istringstream sInner(inner);
+            geom2_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sInner));
+            ensure(0 != geom1_);
+            ensure(0 != geom2_);
+            prepGeom1_ = GEOSPrepare(geom1_);
+            ensure(0 != prepGeom1_);
+
+            int ret = GEOSPreparedContains(prepGeom1_, geom2_);
+            ensure_equals(ret, 1);
+            ret = GEOSPreparedContainsProperly(prepGeom1_, geom2_);
+            ensure_equals(ret, 0);
+        }
+
+        // A does NOT contain B if precision is extended to 1e+11 or beyond
+        {
+            geos::geom::PrecisionModel pm(1e+11);
+            geos::geom::GeometryFactory::unique_ptr factory = geos::geom::GeometryFactory::create(&pm);
+            geos::io::WKBReader reader(*factory);
+
+            std::istringstream sOuter(outer);
+            geom1_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sOuter));
+            std::istringstream sInner(inner);
+            geom2_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sInner));
+            ensure(0 != geom1_);
+            ensure(0 != geom2_);
+            prepGeom1_ = GEOSPrepare(geom1_);
+            ensure(0 != prepGeom1_);
+
+            int ret = GEOSPreparedContains(prepGeom1_, geom2_);
+            ensure_equals(ret, 0);
+            ret = GEOSPreparedContainsProperly(prepGeom1_, geom2_);
+            ensure_equals(ret, 0);
+        }
+    }
+
+    // Test outer rectangle contains inner rectangle with one coincident vertex
+    // and two vertices of the inner rectangle are on the boundary (lay on segments)
+    // of the outer rectangle.
+    // Precision model should not affect the containment test result.
+    template<>
+    template<>
+    void object::test<11>()
+    {
+        // Coincident vertext at -753.167968418005 93709.4279185742
+        //POLYGON ((-753.167968418005 93754.0955183194,-816.392328351464 93754.0955183194,-816.392328351464 93709.4279185742,-753.167968418005 93709.4279185742,-753.167968418005 93754.0955183194))
+        std::string const outer("01030000800100000005000000bd70d3ff578987c09e373e87a1e3f6400000000000000000a9f60b7d238389c09e373e87a1e3f6400000000000000000a9f60b7d238389c09625c1d8d6e0f6400000000000000000bd70d3ff578987c09625c1d8d6e0f6400000000000000000bd70d3ff578987c09e373e87a1e3f6400000000000000000");
+        //POLYGON ((-753.167968418005 93747.6909727677,-799.641978447015 93747.6909727677,-799.641978447015 93709.4279185742,-753.167968418005 93709.4279185742,-753.167968418005 93747.6909727677))
+        std::string const inner("01030000800100000005000000bd70d3ff578987c0f875390e3be3f6400000000000000000579598c522fd88c0f875390e3be3f6400000000000000000579598c522fd88c09625c1d8d6e0f6400000000000000000bd70d3ff578987c09625c1d8d6e0f6400000000000000000bd70d3ff578987c0f875390e3be3f6400000000000000000");
+
+        // A contains B if precision is limited to 1e+10
+        {
+            geos::geom::PrecisionModel pm(1e+10);
+            geos::geom::GeometryFactory::unique_ptr factory = geos::geom::GeometryFactory::create(&pm);
+            geos::io::WKBReader reader(*factory);
+
+            std::istringstream sOuter(outer);
+            geom1_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sOuter));
+            std::istringstream sInner(inner);
+            geom2_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sInner));
+            ensure(0 != geom1_);
+            ensure(0 != geom2_);
+            prepGeom1_ = GEOSPrepare(geom1_);
+            ensure(0 != prepGeom1_);
+
+            int ret = GEOSPreparedContains(prepGeom1_, geom2_);
+            ensure_equals(ret, 1);
+            ret = GEOSPreparedContainsProperly(prepGeom1_, geom2_);
+            ensure_equals(ret, 0);
+        }
+
+        // A contains B if FLOATING PM is used with extended precision
+        {
+            geos::geom::PrecisionModel pm;
+            geos::geom::GeometryFactory::unique_ptr factory = geos::geom::GeometryFactory::create(&pm);
+            geos::io::WKBReader reader(*factory);
+
+            std::istringstream sOuter(outer);
+            geom1_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sOuter));
+            std::istringstream sInner(inner);
+            geom2_ = reinterpret_cast<GEOSGeometry*>(reader.readHEX(sInner));
+            ensure(0 != geom1_);
+            ensure(0 != geom2_);
+            prepGeom1_ = GEOSPrepare(geom1_);
+            ensure(0 != prepGeom1_);
+
+            int ret = GEOSPreparedContains(prepGeom1_, geom2_);
+            ensure_equals(ret, 1);
+            ret = GEOSPreparedContainsProperly(prepGeom1_, geom2_);
+            ensure_equals(ret, 0);
+        }
+    }
 } // namespace tut
 
diff --git a/tests/unit/capi/GEOSSTRtreeTest.cpp b/tests/unit/capi/GEOSSTRtreeTest.cpp
new file mode 100644
index 0000000..6fb31c5
--- /dev/null
+++ b/tests/unit/capi/GEOSSTRtreeTest.cpp
@@ -0,0 +1,236 @@
+//
+// Test Suite for C-API GEOSSTRtree
+
+#include <tut.hpp>
+// geos
+#include <geos_c.h>
+// std
+#include <cstdarg>
+#include <cstdio>
+#include <cstring>
+#include <cmath>
+
+struct INTPOINT {
+	INTPOINT(int x, int y) : x(x), y(y) {}
+	int x;
+	int y;
+};
+
+static GEOSGeometry* INTPOINT2GEOS(INTPOINT* p) {
+	GEOSCoordSequence* seq = GEOSCoordSeq_create(1, 2);
+	GEOSCoordSeq_setX(seq, 0, p->x);
+	GEOSCoordSeq_setY(seq, 0, p->y);
+	return GEOSGeom_createPoint(seq);
+}
+
+static int INTPOINT_dist(const void* a, const void* b, double* distance, void* userdata) {
+	INTPOINT* p1 = (INTPOINT*) a;
+	INTPOINT* p2 = (INTPOINT*) b;
+
+	int dx = p2->x - p1->x;
+	int dy = p2->y - p1->y;
+
+	*distance = sqrt(dx*dx + dy*dy);
+	return 1;
+}
+
+namespace tut
+{
+	//
+	// Test Group
+	//
+
+	// Common data used in test cases.
+	struct test_capistrtree_data
+	{
+		test_capistrtree_data() {
+			initGEOS(notice, notice);
+		}
+
+		static void notice(const char *fmt, ...)
+		{
+			std::fprintf( stdout, "NOTICE: ");
+
+			va_list ap;
+			va_start(ap, fmt);
+			std::vfprintf(stdout, fmt, ap);
+			va_end(ap);
+
+			std::fprintf(stdout, "\n");
+		}
+
+	};
+
+	typedef test_group<test_capistrtree_data> group;
+	typedef group::object object;
+
+	group test_capistrtree_group("capi::GEOSSTRtree");
+
+	//
+	// Test Cases
+	//
+
+	// Test GEOSSTRtree_nearest with a couple of points
+	template<>
+	template<>
+	void object::test<1>()
+	{
+		GEOSGeometry* g1 = GEOSGeomFromWKT("POINT (3 3)");
+		GEOSGeometry* g2 = GEOSGeomFromWKT("POINT (2 7)");
+		GEOSGeometry* g3 = GEOSGeomFromWKT("POINT (5 4)");
+		GEOSGeometry* g4 = GEOSGeomFromWKT("POINT (3 8)");
+
+		GEOSSTRtree* tree = GEOSSTRtree_create(2);
+		GEOSSTRtree_insert(tree, g1, g1);
+		GEOSSTRtree_insert(tree, g2, g2);
+		GEOSSTRtree_insert(tree, g3, g3);
+
+		const GEOSGeometry* g5 = GEOSSTRtree_nearest(tree, g4);
+		ensure(g5 == g2);
+
+		GEOSGeom_destroy(g1);
+		GEOSGeom_destroy(g2);
+		GEOSGeom_destroy(g3);
+		GEOSGeom_destroy(g4);
+		GEOSSTRtree_destroy(tree);
+	}
+
+	// Test GEOSSTRtree_nearest with more points.  This is important because we need to make sure the tree
+	// actually has a couple of layers of depth.
+	template<>
+	template<>
+	void object::test<2>()
+	{
+		size_t ngeoms = 100;
+		std::vector<GEOSGeometry*> geoms;
+		std::vector<GEOSGeometry*> queryPoints;
+		GEOSSTRtree* tree = GEOSSTRtree_create(8);
+
+		for (size_t i = 0; i < ngeoms; i++) {
+			GEOSCoordSequence* seq = GEOSCoordSeq_create(1, 2);
+			GEOSCoordSeq_setX(seq, 0, std::rand());
+			GEOSCoordSeq_setY(seq, 0, std::rand());
+			geoms.push_back(GEOSGeom_createPoint(seq));
+			GEOSSTRtree_insert(tree, geoms[i], geoms[i]);
+		}
+
+		for (size_t i = 0; i < ngeoms; i++) {
+			GEOSCoordSequence* seq = GEOSCoordSeq_create(1, 2);
+			GEOSCoordSeq_setX(seq, 0, std::rand());
+			GEOSCoordSeq_setY(seq, 0, std::rand());
+			queryPoints.push_back(GEOSGeom_createPoint(seq));
+		}
+
+		for (size_t i = 0; i < ngeoms; i++) {
+			const GEOSGeometry* nearest = GEOSSTRtree_nearest(tree, queryPoints[i]);
+			const GEOSGeometry* nearestBruteForce = NULL;
+			double nearestBruteForceDistance = std::numeric_limits<double>::max();
+			for (size_t j = 0; j < ngeoms; j++) {
+				double distance;
+				GEOSDistance(queryPoints[i], geoms[j], &distance);
+
+				if (nearestBruteForce == NULL || distance < nearestBruteForceDistance) {
+					nearestBruteForce = geoms[j];
+					nearestBruteForceDistance = distance;
+				}
+			}
+
+			ensure(nearest == nearestBruteForce || GEOSEquals(nearest, nearestBruteForce));
+		}
+
+		for (size_t i = 0; i < ngeoms; i++) {
+			GEOSGeom_destroy(geoms[i]);
+			GEOSGeom_destroy(queryPoints[i]);
+		}
+
+		GEOSSTRtree_destroy(tree);
+	}
+
+	// GEOSSTRtree_nearest returns NULL on empty tree
+	template<>
+	template<>
+	void object::test<3>()
+	{
+		GEOSSTRtree* tree = GEOSSTRtree_create(10);
+		GEOSGeometry* g1 = GEOSGeomFromWKT("POINT (3 3)");
+		const GEOSGeometry* g2 = GEOSSTRtree_nearest(tree, g1);
+
+		ensure(g2 == NULL);
+
+		GEOSGeom_destroy(g1);
+		GEOSSTRtree_destroy(tree);
+	}
+
+	// GEOSSTRtree_nearest with a user-defined type
+	template<>
+	template<>
+	void object::test<4>()
+	{
+		INTPOINT p1(1, 1);
+		INTPOINT p2(4, 4);
+		INTPOINT p3(3, 3);
+
+		GEOSGeometry* g1 = INTPOINT2GEOS(&p1);
+		GEOSGeometry* g2 = INTPOINT2GEOS(&p2);
+		GEOSGeometry* g3 = INTPOINT2GEOS(&p3);
+
+		GEOSSTRtree* tree = GEOSSTRtree_create(4);
+		GEOSSTRtree_insert(tree, g1, &p1);
+		GEOSSTRtree_insert(tree, g2, &p2);
+
+		const INTPOINT* p4 = (const INTPOINT*) GEOSSTRtree_nearest_generic(tree, &p3, g3, &INTPOINT_dist, NULL);
+
+		ensure (p4 == &p2);
+
+		GEOSGeom_destroy(g1);
+		GEOSGeom_destroy(g2);
+		GEOSGeom_destroy(g3);
+		GEOSSTRtree_destroy(tree);
+	}
+
+	// GEOSSTRtree_nearest with a tree of empty geometries
+	template<>
+	template<>
+	void object::test<5>() {
+		GEOSGeometry* g1 = GEOSGeomFromWKT("LINESTRING EMPTY");
+		GEOSGeometry* g2 = GEOSGeomFromWKT("POINT (2 7)");
+
+		GEOSSTRtree* tree = GEOSSTRtree_create(4);
+		GEOSSTRtree_insert(tree, g1, g1);
+
+		const GEOSGeometry* g3 = GEOSSTRtree_nearest(tree, g2);
+		ensure(g3 == NULL);
+
+		GEOSGeom_destroy(g1);
+		GEOSGeom_destroy(g2);
+		GEOSSTRtree_destroy(tree);
+	}
+
+	// GEOSSTRtree_nearest with a tree containing some empty geometries
+	template<>
+	template<>
+	void object::test<6>() {
+		GEOSGeometry* g1 = GEOSGeomFromWKT("LINESTRING EMPTY");
+		GEOSGeometry* g2 = GEOSGeomFromWKT("POINT (2 7)");
+		GEOSGeometry* g3 = GEOSGeomFromWKT("POINT (12 97)");
+		GEOSGeometry* g4 = GEOSGeomFromWKT("LINESTRING (3 8, 4 8)");
+
+		GEOSSTRtree* tree = GEOSSTRtree_create(4);
+		GEOSSTRtree_insert(tree, g1, g1);
+		GEOSSTRtree_insert(tree, g2, g2);
+		GEOSSTRtree_insert(tree, g3, g3);
+
+		const GEOSGeometry* g5 = (const GEOSGeometry*) GEOSSTRtree_nearest(tree, g4);
+		ensure(g5 == g2);
+
+		GEOSGeom_destroy(g1);
+		GEOSGeom_destroy(g2);
+		GEOSGeom_destroy(g3);
+		GEOSGeom_destroy(g4);
+		GEOSSTRtree_destroy(tree);
+	}
+
+} // namespace tut
+
+
+
diff --git a/tests/unit/capi/GEOSUserDataTest.cpp b/tests/unit/capi/GEOSUserDataTest.cpp
new file mode 100644
index 0000000..a488517
--- /dev/null
+++ b/tests/unit/capi/GEOSUserDataTest.cpp
@@ -0,0 +1,105 @@
+// 
+// Test Suite for C-API GEOSSimplify
+
+#include <tut.hpp>
+// geos
+#include <geos_c.h>
+// std
+#include <cstdarg>
+#include <cstdio>
+#include <cstdlib>
+#include <memory>
+
+namespace tut
+{
+    //
+    // Test Group
+    //
+
+    // Common data used in test cases.
+    struct test_capigeouserdata_data
+    {
+        GEOSGeometry* geom_;
+
+        static void notice(const char *fmt, ...)
+        {
+            std::fprintf( stdout, "NOTICE: ");
+
+            va_list ap;
+            va_start(ap, fmt);
+            std::vfprintf(stdout, fmt, ap);
+            va_end(ap);
+        
+            std::fprintf(stdout, "\n");
+        }
+
+        test_capigeouserdata_data()
+            : geom_(0)
+        {
+            initGEOS(notice, notice);
+        }       
+
+        ~test_capigeouserdata_data()
+        {
+            GEOSGeom_destroy(geom_);
+            geom_ = 0;
+            finishGEOS();
+        }
+
+    };
+
+    typedef test_group<test_capigeouserdata_data> group;
+    typedef group::object object;
+
+    group test_capigeosuserdata_group("capi::GEOSUserData");
+
+    //
+    // Test Cases
+    //
+
+    // Test GEOSUserData
+    template<>
+    template<>
+    void object::test<1>()
+    {
+        geom_ = GEOSGeomFromWKT("POLYGON EMPTY");
+
+        ensure ( 0 != GEOSisEmpty(geom_) );
+
+        int in = 1;
+        GEOSGeom_setUserData(geom_, &in);
+
+        int* out = (int *)GEOSGeom_getUserData(geom_);
+
+        ensure_equals(*out, 1);
+    }
+
+    struct UserData
+    {
+        int a;
+        int b;
+    } ;
+
+    template<>
+    template<>
+    void object::test<2>()
+    {
+        geom_ = GEOSGeomFromWKT("POLYGON EMPTY");
+
+        ensure ( 0 != GEOSisEmpty(geom_) );
+
+        UserData in;
+        in.a = 1;
+        in.b = 2;
+
+        GEOSGeom_setUserData(geom_, &in);
+
+        struct UserData* out = (struct UserData* )GEOSGeom_getUserData(geom_);
+
+        ensure_equals(in.a, out->a);
+        ensure_equals(in.b, out->b);
+        ensure_equals(&in, out);
+    }
+
+} // namespace tut
+
diff --git a/tests/unit/geom/Geometry/clone.cpp b/tests/unit/geom/Geometry/clone.cpp
index 59e693e..5b41082 100644
--- a/tests/unit/geom/Geometry/clone.cpp
+++ b/tests/unit/geom/Geometry/clone.cpp
@@ -21,11 +21,13 @@ namespace tut {
 struct test_geometry_clone_data
 {
 	typedef std::auto_ptr<geos::geom::Geometry> GeomAutoPtr;
-	geos::geom::GeometryFactory factory;
+	typedef geos::geom::GeometryFactory GeometryFactory;
+	GeometryFactory::unique_ptr factory;
 	geos::io::WKTReader reader;
 
 	test_geometry_clone_data()
-	    : reader(&factory)
+	    : factory(GeometryFactory::create())
+	    , reader(factory.get())
 	{}
 };
 
diff --git a/tests/unit/geom/Geometry/coversTest.cpp b/tests/unit/geom/Geometry/coversTest.cpp
index 382f1ac..9cc59c3 100644
--- a/tests/unit/geom/Geometry/coversTest.cpp
+++ b/tests/unit/geom/Geometry/coversTest.cpp
@@ -21,11 +21,14 @@ namespace tut {
 struct test_contains_data
 {
 	typedef std::auto_ptr<geos::geom::Geometry> GeomAutoPtr;
-	geos::geom::GeometryFactory factory;
+	typedef geos::geom::GeometryFactory GeometryFactory;
+
+	geos::geom::GeometryFactory::unique_ptr factory;
 	geos::io::WKTReader reader;
 
 	test_contains_data()
-	    : reader(&factory)
+	    : factory(GeometryFactory::create())
+	    , reader(factory.get())
 	{}
 };
 
diff --git a/tests/unit/geom/Geometry/equalsTest.cpp b/tests/unit/geom/Geometry/equalsTest.cpp
index 0afe874..fb9ffd8 100644
--- a/tests/unit/geom/Geometry/equalsTest.cpp
+++ b/tests/unit/geom/Geometry/equalsTest.cpp
@@ -21,11 +21,10 @@ namespace tut {
 struct test_equals_data
 {
 	typedef std::auto_ptr<geos::geom::Geometry> GeomAutoPtr;
-	geos::geom::GeometryFactory factory;
 	geos::io::WKTReader reader;
 
 	test_equals_data()
-	    : reader(&factory)
+	    : reader()
 	{}
 };
 
diff --git a/tests/unit/geom/Geometry/isRectangleTest.cpp b/tests/unit/geom/Geometry/isRectangleTest.cpp
index e9f1707..04533ff 100644
--- a/tests/unit/geom/Geometry/isRectangleTest.cpp
+++ b/tests/unit/geom/Geometry/isRectangleTest.cpp
@@ -4,7 +4,6 @@
 // tut
 #include <tut.hpp>
 // geos
-#include <geos/geom/GeometryFactory.h>
 #include <geos/geom/Geometry.h>
 #include <geos/geom/Polygon.h>
 #include <geos/io/WKTReader.h>
@@ -19,11 +18,9 @@ namespace tut
 
     struct test_isrectangle_data
     {
-        geos::geom::GeometryFactory factory;
         geos::io::WKTReader reader;
 
         test_isrectangle_data()
-            : reader(&factory)
         {}
     };
 
diff --git a/tests/unit/geom/Geometry/normalize.cpp b/tests/unit/geom/Geometry/normalize.cpp
index 57c9552..f5ff038 100644
--- a/tests/unit/geom/Geometry/normalize.cpp
+++ b/tests/unit/geom/Geometry/normalize.cpp
@@ -4,7 +4,6 @@
 // tut
 #include <tut.hpp>
 // geos
-#include <geos/geom/GeometryFactory.h>
 #include <geos/geom/Geometry.h>
 #include <geos/geom/Polygon.h>
 #include <geos/io/WKTReader.h>
@@ -23,12 +22,11 @@ namespace tut {
 struct test_geometry_normalize_data
 {
   typedef std::auto_ptr<geos::geom::Geometry> GeomAutoPtr;
-  geos::geom::GeometryFactory factory;
   geos::io::WKTReader reader;
   geos::io::WKTWriter writer;
 
   test_geometry_normalize_data()
-      : reader(&factory), writer()
+      : reader(), writer()
   {
     writer.setTrim(true);
   }
diff --git a/tests/unit/geom/GeometryFactoryTest.cpp b/tests/unit/geom/GeometryFactoryTest.cpp
index 306dbd9..fdc0989 100644
--- a/tests/unit/geom/GeometryFactoryTest.cpp
+++ b/tests/unit/geom/GeometryFactoryTest.cpp
@@ -54,11 +54,13 @@ namespace tut
 
         const int srid_;
         geos::geom::PrecisionModel pm_;
-        geos::geom::GeometryFactory factory_;
+        geos::geom::GeometryFactory::unique_ptr factory_;
         geos::io::WKTReader reader_;
 
         test_geometryfactory_data()
-            : x_(5), y_(10), z_(15), srid_(666), pm_(1.0), factory_(&pm_, srid_), reader_(&factory_)
+            : x_(5), y_(10), z_(15), srid_(666), pm_(1.0),
+factory_(geos::geom::GeometryFactory::create(&pm_, srid_)),
+reader_(factory_.get())
         {}
     private:
         // Declare type as noncopyable
@@ -80,18 +82,19 @@ namespace tut
 	template<>
 	void object::test<1>()
 	{
-		geos::geom::GeometryFactory gf;
+		using geos::geom::GeometryFactory;
+		GeometryFactory::unique_ptr gf = GeometryFactory::create();
 
-		ensure_equals( gf.getSRID(), 0 );
-		ensure_equals( gf.getPrecisionModel()->getType(), geos::geom::PrecisionModel::FLOATING );
+		ensure_equals( gf->getSRID(), 0 );
+		ensure_equals( gf->getPrecisionModel()->getType(), geos::geom::PrecisionModel::FLOATING );
 
-		geos::geom::Geometry* geo = gf.createEmptyGeometry();
+		geos::geom::Geometry* geo = gf->createEmptyGeometry();
 		ensure( "createEmptyGeometry() returned null pointer.", geo != 0 );
-		ensure_equals( geo->getSRID() , gf.getSRID() );
+		ensure_equals( geo->getSRID() , gf->getSRID() );
 		ensure_equals( geo->getPrecisionModel()->getType(), geos::geom::PrecisionModel::FLOATING );
 		
 		// FREE MEMORY
-		gf.destroyGeometry(geo);
+		gf->destroyGeometry(geo);
 	}
 
 	// Test of user's constructor
@@ -107,20 +110,20 @@ namespace tut
 
 		{
 			PrecisionModel pm(1.0);
-			GeometryFactory gf(&pm, srid_, &csf);
+			GeometryFactory::unique_ptr gf = GeometryFactory::create(&pm, srid_, &csf);
 
-			ensure_equals( gf.getSRID(), srid_ );
-			ensure_equals( gf.getPrecisionModel()->getType(), geos::geom::PrecisionModel::FIXED );
+			ensure_equals( gf->getSRID(), srid_ );
+			ensure_equals( gf->getPrecisionModel()->getType(), geos::geom::PrecisionModel::FIXED );
 
-			ensure_equals( &csf, gf.getCoordinateSequenceFactory() );
+			ensure_equals( &csf, gf->getCoordinateSequenceFactory() );
 
-			GeometryPtr geo = gf.createEmptyGeometry();
+			GeometryPtr geo = gf->createEmptyGeometry();
 			ensure( "createEmptyGeometry() returned null pointer.", geo != 0 );
-			ensure_equals( geo->getSRID() , gf.getSRID() );
+			ensure_equals( geo->getSRID() , gf->getSRID() );
 			ensure_equals( geo->getPrecisionModel()->getType(), geos::geom::PrecisionModel::FIXED );
 			
 			// FREE MEMORY
-			gf.destroyGeometry(geo);
+			gf->destroyGeometry(geo);
 		}
 		// csf lifetime must exceed lifetime of the GeometryFactory instance
 
@@ -137,18 +140,18 @@ namespace tut
 		CoordinateArraySequenceFactory csf;
 
 		{
-			GeometryFactory gf(&csf);
+			GeometryFactory::unique_ptr gf = GeometryFactory::create(&csf);
 
-			ensure_equals( gf.getSRID(), 0 );
-			ensure_equals( gf.getPrecisionModel()->getType(), geos::geom::PrecisionModel::FLOATING );
+			ensure_equals( gf->getSRID(), 0 );
+			ensure_equals( gf->getPrecisionModel()->getType(), geos::geom::PrecisionModel::FLOATING );
 
-			GeometryPtr geo = gf.createEmptyGeometry();
+			GeometryPtr geo = gf->createEmptyGeometry();
 			ensure( "createEmptyGeometry() returned null pointer.", geo != 0 );
-			ensure_equals( geo->getSRID() , gf.getSRID() );
+			ensure_equals( geo->getSRID() , gf->getSRID() );
 			ensure_equals( geo->getPrecisionModel()->getType(), geos::geom::PrecisionModel::FLOATING );
 			
 			// FREE MEMORY
-			gf.destroyGeometry(geo);
+			gf->destroyGeometry(geo);
 		}
 		// csf lifetime must exceed lifetime of the GeometryFactory instance
 	}
@@ -159,20 +162,21 @@ namespace tut
 	void object::test<4>()
 	{
 		using geos::geom::PrecisionModel;
+		using geos::geom::GeometryFactory;
 
 		PrecisionModel pm(PrecisionModel::FIXED);
-		geos::geom::GeometryFactory gf(&pm);
+		GeometryFactory::unique_ptr gf(GeometryFactory::create(&pm));
 
-		ensure_equals( gf.getSRID(), 0 );
-		ensure_equals( gf.getPrecisionModel()->getType(), PrecisionModel::FIXED );
+		ensure_equals( gf->getSRID(), 0 );
+		ensure_equals( gf->getPrecisionModel()->getType(), PrecisionModel::FIXED );
 
-		GeometryPtr geo = gf.createEmptyGeometry();
+		GeometryPtr geo = gf->createEmptyGeometry();
 		ensure( "createEmptyGeometry() returned null pointer.", geo != 0 );
-		ensure_equals( geo->getSRID() , gf.getSRID() );
+		ensure_equals( geo->getSRID() , gf->getSRID() );
 		ensure_equals( geo->getPrecisionModel()->getType(), PrecisionModel::FIXED );
 		
 		// FREE MEMORY
-		gf.destroyGeometry(geo);
+		gf->destroyGeometry(geo);
 	}
 
 	// Test of user's constructor
@@ -181,20 +185,21 @@ namespace tut
 	void object::test<5>()
 	{
 		using geos::geom::PrecisionModel;
+		using geos::geom::GeometryFactory;
 
 		PrecisionModel pm(PrecisionModel::FIXED);
-		geos::geom::GeometryFactory gf(&pm, srid_);
+		GeometryFactory::unique_ptr gf(GeometryFactory::create(&pm, srid_));
 
-		ensure_equals( gf.getSRID(), srid_ );
-		ensure_equals( gf.getPrecisionModel()->getType(), PrecisionModel::FIXED );
+		ensure_equals( gf->getSRID(), srid_ );
+		ensure_equals( gf->getPrecisionModel()->getType(), PrecisionModel::FIXED );
 
-		GeometryPtr geo = gf.createEmptyGeometry();
+		GeometryPtr geo = gf->createEmptyGeometry();
 		ensure( "createEmptyGeometry() returned null pointer.", geo != 0 );
-		ensure_equals( geo->getSRID() , gf.getSRID() );
+		ensure_equals( geo->getSRID() , gf->getSRID() );
 		ensure_equals( geo->getPrecisionModel()->getType(), PrecisionModel::FIXED );
 		
 		// FREE MEMORY
-		gf.destroyGeometry(geo);
+		gf->destroyGeometry(geo);
 	}
 
 	// Test of copy constructor
@@ -202,10 +207,11 @@ namespace tut
 	template<>
 	void object::test<6>()
 	{
-		geos::geom::GeometryFactory gf(factory_);
+		using geos::geom::GeometryFactory;
+		GeometryFactory::unique_ptr gf(GeometryFactory::create(*factory_));
 
-		ensure_equals( factory_.getSRID(), gf.getSRID() );
-		ensure_equals( factory_.getPrecisionModel()->getType(), gf.getPrecisionModel()->getType() );
+		ensure_equals( factory_->getSRID(), gf->getSRID() );
+		ensure_equals( factory_->getPrecisionModel()->getType(), gf->getPrecisionModel()->getType() );
 	}
 
 	// Test of createEmptyGeometry() const
@@ -213,7 +219,7 @@ namespace tut
 	template<>
 	void object::test<7>()
 	{
-		GeometryPtr geo = factory_.createEmptyGeometry();
+		GeometryPtr geo = factory_->createEmptyGeometry();
 
 		ensure( "createEmptyGeometry() returned null pointer.", geo != 0 );
 		ensure( "createEmptyGeometry() returned non-empty geometry.", geo->isEmpty() );
@@ -229,7 +235,7 @@ namespace tut
 		*/
 
 		// FREE MEMORY
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 	}
 
 	// Test of createPoint() const
@@ -237,7 +243,7 @@ namespace tut
 	template<>
 	void object::test<8>()
 	{
-		PointPtr pt = factory_.createPoint();
+		PointPtr pt = factory_->createPoint();
 
 		ensure( "createPoint() returned null pointer.", pt != 0 );
 		ensure( "createPoint() returned non-empty point.", pt->isEmpty() );
@@ -250,17 +256,17 @@ namespace tut
 		geo = pt->getEnvelope();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = pt->getBoundary();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = pt->convexHull();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		ensure_equals( pt->getGeometryTypeId(), geos::geom::GEOS_POINT );
 		ensure_equals( pt->getDimension(), geos::geom::Dimension::P );
@@ -270,7 +276,7 @@ namespace tut
 		ensure_equals( pt->getArea(), 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(pt);
+		factory_->destroyGeometry(pt);
 	}
 
 	// Test of createPoint(const Coordinate &coordinate) const
@@ -280,7 +286,7 @@ namespace tut
 	{
 		geos::geom::Coordinate coord(x_, y_, z_);
 
-		PointPtr pt = factory_.createPoint(coord);
+		PointPtr pt = factory_->createPoint(coord);
 
 		ensure( "createPoint() returned null pointer.", pt != 0 );
 		ensure( "createPoint() returned empty point.", !pt->isEmpty() );
@@ -298,22 +304,22 @@ namespace tut
 		geo = pt->getEnvelope();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = pt->getCentroid();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = pt->getBoundary();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = pt->convexHull();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		ensure_equals( pt->getGeometryTypeId(), geos::geom::GEOS_POINT );
 		ensure_equals( pt->getDimension(), geos::geom::Dimension::P );
@@ -323,7 +329,7 @@ namespace tut
 		ensure_equals( pt->getArea(), 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(pt);
+		factory_->destroyGeometry(pt);
 	}
 
 	// Test of createPoint(CoordinateSequence *coordinates) const
@@ -338,7 +344,7 @@ namespace tut
 		ensure( "sequence is null pointer.", sequence != 0 );
 		sequence->add(coord);
 
-		PointPtr pt = factory_.createPoint(sequence);
+		PointPtr pt = factory_->createPoint(sequence);
 
 		ensure( "createPoint() returned null pointer.", pt != 0 );
 		ensure( "createPoint() returned empty point.", !pt->isEmpty() );
@@ -356,22 +362,22 @@ namespace tut
 		geo = pt->getEnvelope();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = pt->getCentroid();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = pt->getBoundary();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = pt->convexHull();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		ensure_equals( pt->getGeometryTypeId(), geos::geom::GEOS_POINT );
 		ensure_equals( pt->getDimension(), geos::geom::Dimension::P );
@@ -381,7 +387,7 @@ namespace tut
 		ensure_equals( pt->getArea(), 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(pt);
+		factory_->destroyGeometry(pt);
 	}
 
 	// Test of createPoint(const CoordinateSequence &coordinates) const
@@ -394,7 +400,7 @@ namespace tut
 		geos::geom::CoordinateArraySequence sequence;
 		sequence.add(coord);
 
-		PointPtr pt = factory_.createPoint(sequence);
+		PointPtr pt = factory_->createPoint(sequence);
 
 		ensure( "createPoint() returned null pointer.", pt != 0 );
 		ensure( "createPoint() returned empty point.", !pt->isEmpty() );
@@ -412,22 +418,22 @@ namespace tut
 		geo = pt->getEnvelope();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = pt->getCentroid();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = pt->getBoundary();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = pt->convexHull();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		ensure_equals( pt->getGeometryTypeId(), geos::geom::GEOS_POINT );
 		ensure_equals( pt->getDimension(), geos::geom::Dimension::P );
@@ -437,7 +443,7 @@ namespace tut
 		ensure_equals( pt->getArea(), 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(pt);
+		factory_->destroyGeometry(pt);
 	}
 
 	// Test of createLinearRing() const
@@ -445,7 +451,7 @@ namespace tut
 	template<>
 	void object::test<12>()
 	{
-		LinearRingPtr lr = factory_.createLinearRing();
+		LinearRingPtr lr = factory_->createLinearRing();
 
 		ensure( "createLinearRing() returned null pointer.", lr != 0 );
 		ensure( "createLinearRing() returned non-empty point.", lr->isEmpty() );
@@ -470,7 +476,7 @@ namespace tut
 		ensure_equals( lr->getArea(), 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(lr);
+		factory_->destroyGeometry(lr);
 	}
 
 	// Test of createLinearRing(CoordinateSequence* newCoords) const
@@ -483,7 +489,7 @@ namespace tut
 		ensure( coords != 0 );
 		ensure_equals( coords->getSize(), size );
 
-		LinearRingPtr lr = factory_.createLinearRing(coords);
+		LinearRingPtr lr = factory_->createLinearRing(coords);
 		ensure( "createLinearRing() returned null pointer.", lr != 0 );
 		ensure( "createLinearRing() returned empty point.", !lr->isEmpty() );
 		ensure( lr->isSimple() );
@@ -500,7 +506,7 @@ namespace tut
 		ensure_equals( lr->getArea(), 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(lr);	
+		factory_->destroyGeometry(lr);	
 	}
 
 	// Test of createLinearRing(const CoordinateSequence& coordinates) const
@@ -512,7 +518,7 @@ namespace tut
 		geos::geom::CoordinateArraySequence coords(size);
 		ensure_equals( coords.getSize(), size );
 
-		LinearRingPtr lr = factory_.createLinearRing(coords);
+		LinearRingPtr lr = factory_->createLinearRing(coords);
 		ensure( "createLinearRing() returned empty point.", !lr->isEmpty() );
 		ensure_equals( lr->getNumPoints(), size );
 		ensure( lr->isSimple() );
@@ -526,7 +532,7 @@ namespace tut
 		ensure_equals( lr->getArea(), 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(lr);
+		factory_->destroyGeometry(lr);
 	}
 
 	// Test of createLineString() const
@@ -534,7 +540,7 @@ namespace tut
 	template<>
 	void object::test<15>()
 	{
-		LineStringPtr line = factory_.createLineString();
+		LineStringPtr line = factory_->createLineString();
 		
 		ensure( "createLineString() returned null pointer.", line != 0 );
 		ensure( "createLineString() returned non-empty point.", line->isEmpty() );
@@ -550,17 +556,17 @@ namespace tut
 		geo = line->getEnvelope();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = line->getBoundary();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = line->convexHull();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		ensure_equals( line->getGeometryTypeId(), geos::geom::GEOS_LINESTRING );
 		ensure_equals( line->getDimension(), geos::geom::Dimension::L );
@@ -570,7 +576,7 @@ namespace tut
 		ensure_equals( line->getArea(), 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(line);
+		factory_->destroyGeometry(line);
 	}
 
 	// Test of createLineString(CoordinateSequence* coordinates) const
@@ -583,7 +589,7 @@ namespace tut
 		ensure( coords != 0 );
 		ensure_equals( coords->getSize(), size );
 
-		LineStringPtr line = factory_.createLineString(coords);
+		LineStringPtr line = factory_->createLineString(coords);
 		ensure( "createLineString() returned null pointer.", line != 0 );
 		ensure( "createLineString() returned empty point.", !line->isEmpty() );
 		ensure( line->isSimple() );
@@ -600,7 +606,7 @@ namespace tut
 		ensure_equals( line->getArea(), 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(line);	
+		factory_->destroyGeometry(line);	
 	}
 
 	// Test of createLineString(const CoordinateSequence& coordinates) const
@@ -612,7 +618,7 @@ namespace tut
 		geos::geom::CoordinateArraySequence coords(size);
 		ensure_equals( coords.getSize(), size );
 
-		LineStringPtr line = factory_.createLineString(coords);
+		LineStringPtr line = factory_->createLineString(coords);
 		ensure( "createLineString() returned empty point.", !line->isEmpty() );
 		ensure_equals( line->getNumPoints(), size );
 		ensure( line->isSimple() );
@@ -626,14 +632,14 @@ namespace tut
 		ensure_equals( line->getArea(), 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(line);
+		factory_->destroyGeometry(line);
 	}
 	// Test of createPolygon() const
 	template<>
 	template<>
 	void object::test<18>()
 	{
-		PolygonPtr poly = factory_.createPolygon();
+		PolygonPtr poly = factory_->createPolygon();
 
 		ensure( "createPolygon() returned null pointer.", poly != 0 );
 		ensure( "createPolygon() returned non-empty point.", poly->isEmpty() );
@@ -651,17 +657,17 @@ namespace tut
 		//geo = poly->getEnvelope();
 		//ensure( geo != 0 );
 		//ensure( geo->isEmpty() );
-		//factory_.destroyGeometry(geo);
+		//factory_->destroyGeometry(geo);
 
 		geo = poly->getBoundary();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = poly->convexHull();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		ensure_equals( poly->getGeometryTypeId(), geos::geom::GEOS_POLYGON );
 		ensure_equals( poly->getDimension(), geos::geom::Dimension::A );
@@ -671,7 +677,7 @@ namespace tut
 		ensure_equals( poly->getArea(), 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(poly);
+		factory_->destroyGeometry(poly);
 	}
 
 	// Test of createPolygon(LinearRing* shell, std::vector<Geometry*>* holes) const
@@ -695,7 +701,7 @@ namespace tut
 		ensure_equals( coords->getSize(), size );
 
 		// Create exterior ring
-		LinearRingPtr exterior = factory_.createLinearRing(coords);
+		LinearRingPtr exterior = factory_->createLinearRing(coords);
 		ensure( "createLinearRing returned null pointer.", exterior != 0 );
 		ensure( "createLinearRing() returned empty point.", !exterior->isEmpty() );
 		ensure( exterior->isSimple() );
@@ -707,7 +713,7 @@ namespace tut
 		ensure( exterior->getLength() != 0.0 );
 
 		// Create polygon
-		PolygonPtr poly = factory_.createPolygon(exterior, 0);
+		PolygonPtr poly = factory_->createPolygon(exterior, 0);
 		ensure( "createPolygon returned null pointer.", poly != 0 );
 		ensure( "createPolygon() returned empty point.", !poly->isEmpty() );
 		ensure( poly->isSimple() );
@@ -719,7 +725,7 @@ namespace tut
 		ensure( poly->getLength() != 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(poly);	
+		factory_->destroyGeometry(poly);	
 	}
 
 	// Test of createPolygon(const LinearRing& shell, const std::vector<Geometry*>& holes) const
@@ -744,7 +750,7 @@ namespace tut
 		ensure_equals( coords->getSize(), exteriorSize );
 
 		// Create exterior ring
-		LinearRingPtr exterior = factory_.createLinearRing(coords);
+		LinearRingPtr exterior = factory_->createLinearRing(coords);
 		ensure( "createLinearRing returned null pointer.", exterior != 0 );
 		ensure( "createLinearRing() returned empty point.", !exterior->isEmpty() );
 		ensure( exterior->isSimple() );
@@ -769,7 +775,7 @@ namespace tut
 		holes.push_back(hole);
 
 		// Create polygon using copy ctor
-		PolygonPtr poly = factory_.createPolygon((*exterior), holes);
+		PolygonPtr poly = factory_->createPolygon((*exterior), holes);
 		ensure( "createPolygon returned null pointer.", poly != 0 );
 		ensure( "createPolygon() returned empty point.", !poly->isEmpty() );
 		ensure( poly->isSimple() );
@@ -791,8 +797,8 @@ namespace tut
 		}
 		holes.clear();
 
-		factory_.destroyGeometry(exterior);
-		factory_.destroyGeometry(poly);
+		factory_->destroyGeometry(exterior);
+		factory_->destroyGeometry(poly);
 	}
 
 	// Test of createGeometryCollection() const
@@ -800,7 +806,7 @@ namespace tut
 	template<>
 	void object::test<21>()
 	{
-		GeometryColPtr col = factory_.createGeometryCollection();
+		GeometryColPtr col = factory_->createGeometryCollection();
 
 		ensure( "createGeometryCollection() returned null pointer.", col != 0 );
 		ensure( col->isEmpty() );
@@ -826,7 +832,7 @@ namespace tut
 		ensure_equals( col->getArea(), 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(col);
+		factory_->destroyGeometry(col);
 	}
 
 	// Test of createGeometryCollection(std::vector<Geometry*>* newGeoms) const
@@ -841,7 +847,7 @@ namespace tut
 
 		// Add single point
 		Coordinate coord(x_, y_, z_);
-		GeometryPtr point = factory_.createPoint(coord);
+		GeometryPtr point = factory_->createPoint(coord);
 		ensure( point != 0 );
 		vec->push_back(point);
 
@@ -852,17 +858,17 @@ namespace tut
 		coords->setAt(Coordinate(5, 5), 1);
 		coords->setAt(Coordinate(10, 5), 2);
 		ensure_equals( coords->getSize(), 3u );
-		GeometryPtr line = factory_.createLineString(coords);
+		GeometryPtr line = factory_->createLineString(coords);
 		vec->push_back(line);
 
 		// Create geometry collection
-		GeometryColPtr col = factory_.createGeometryCollection(vec);
+		GeometryColPtr col = factory_->createGeometryCollection(vec);
 		ensure( coords != 0 );
 		ensure_equals( col->getGeometryTypeId(), geos::geom::GEOS_GEOMETRYCOLLECTION );
 		ensure_equals( col->getNumGeometries(), 2u );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(col);
+		factory_->destroyGeometry(col);
 	}
 
 	// Test of createGeometryCollection(const std::vector<Geometry*>& newGeoms) const
@@ -876,29 +882,29 @@ namespace tut
 		std::vector<GeometryPtr> vec;
 
 		GeometryPtr geo = 0;
-		geo = factory_.createPoint(coord);
+		geo = factory_->createPoint(coord);
 		vec.push_back(geo);
 
 		coord.x *= 2;
 		coord.y *= 2;
 		coord.z *= 2;
-		geo = factory_.createPoint(coord);
+		geo = factory_->createPoint(coord);
 		vec.push_back(geo);
 
 		coord.x *= 3;
 		coord.y *= 3;
 		coord.z *= 3;
-		geo = factory_.createPoint(coord);
+		geo = factory_->createPoint(coord);
 		vec.push_back(geo);
 
 		// Factory creates copy of the vec collection
-		GeometryColPtr col = factory_.createGeometryCollection(vec);
+		GeometryColPtr col = factory_->createGeometryCollection(vec);
 		ensure( col != 0 );
 		ensure_equals( col->getGeometryTypeId() , geos::geom::GEOS_GEOMETRYCOLLECTION );
 		ensure_equals( col->getNumGeometries() , size );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(col);
+		factory_->destroyGeometry(col);
 		std::vector<GeometryPtr>::const_iterator it;
 		for (it = vec.begin(); it != vec.end(); ++it)
 		{
@@ -911,7 +917,7 @@ namespace tut
 	template<>
 	void object::test<24>()
 	{
-		MultiPointPtr mp = factory_.createMultiPoint();
+		MultiPointPtr mp = factory_->createMultiPoint();
 
 		ensure( "createMultiPoint() returned null pointer.", mp != 0 );
 		ensure( "createMultiPoint() returned non-empty point.", mp->isEmpty() );
@@ -926,17 +932,17 @@ namespace tut
 		//geo = poly->getEnvelope();
 		//ensure( geo != 0 );
 		//ensure( geo->isEmpty() );
-		//factory_.destroyGeometry(geo);
+		//factory_->destroyGeometry(geo);
 
 		geo = mp->getBoundary();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = mp->convexHull();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		ensure_equals( mp->getGeometryTypeId(), geos::geom::GEOS_MULTIPOINT );
 		ensure_equals( mp->getDimension(), geos::geom::Dimension::P );
@@ -946,7 +952,7 @@ namespace tut
 		ensure_equals( mp->getArea(), 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(mp);
+		factory_->destroyGeometry(mp);
 	}
 
 	// Test of createMultiPoint(std::vector<Geometry*>* newPoints) const
@@ -960,26 +966,26 @@ namespace tut
 		std::vector<GeometryPtr>* vec = new std::vector<GeometryPtr>();
 
 		GeometryPtr geo = 0;
-		geo = factory_.createPoint(coord);
+		geo = factory_->createPoint(coord);
 		ensure( geo != 0 );
 		vec->push_back(geo);
 
 		coord.x *= 2;
 		coord.y *= 2;
 		coord.z *= 2;
-		geo = factory_.createPoint(coord);
+		geo = factory_->createPoint(coord);
 		ensure( geo != 0 );
 		vec->push_back(geo);
 
 		coord.x *= 3;
 		coord.y *= 3;
 		coord.z *= 3;
-		geo = factory_.createPoint(coord);
+		geo = factory_->createPoint(coord);
 		ensure( geo != 0 );
 		vec->push_back(geo);
 
 		// Factory creates copy of the vec collection
-		MultiPointPtr mp = factory_.createMultiPoint(vec);
+		MultiPointPtr mp = factory_->createMultiPoint(vec);
 		ensure( mp != 0 );
 		ensure( mp->isValid() );
 		ensure( mp->isSimple() );
@@ -987,7 +993,7 @@ namespace tut
 		ensure_equals( mp->getGeometryTypeId(), geos::geom::GEOS_MULTIPOINT );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(mp);
+		factory_->destroyGeometry(mp);
 	}
 
 	// Test of createMultiPoint(const std::vector<Geometry*>& fromPoints) const
@@ -1001,23 +1007,23 @@ namespace tut
 		std::vector<GeometryPtr> vec;
 
 		GeometryPtr geo = 0;
-		geo = factory_.createPoint(coord);
+		geo = factory_->createPoint(coord);
 		vec.push_back(geo);
 
 		coord.x *= 2;
 		coord.y *= 2;
 		coord.z *= 2;
-		geo = factory_.createPoint(coord);
+		geo = factory_->createPoint(coord);
 		vec.push_back(geo);
 
 		coord.x *= 3;
 		coord.y *= 3;
 		coord.z *= 3;
-		geo = factory_.createPoint(coord);
+		geo = factory_->createPoint(coord);
 		vec.push_back(geo);
 
 		// Factory creates copy of the vec collection
-		MultiPointPtr mp = factory_.createMultiPoint(vec);
+		MultiPointPtr mp = factory_->createMultiPoint(vec);
 		ensure( mp != 0 );
 		ensure( mp->isValid() );
 		ensure( mp->isSimple() );
@@ -1025,7 +1031,7 @@ namespace tut
 		ensure_equals( mp->getGeometryTypeId(), geos::geom::GEOS_MULTIPOINT );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(mp);
+		factory_->destroyGeometry(mp);
 		std::vector<GeometryPtr>::const_iterator it;
 		for (it = vec.begin(); it != vec.end(); ++it)
 		{
@@ -1048,7 +1054,7 @@ namespace tut
 		coords.setAt(Coordinate(10, 5), 2);
 		ensure_equals( coords.getSize(), size );
 
-		MultiPointPtr mp = factory_.createMultiPoint(coords);
+		MultiPointPtr mp = factory_->createMultiPoint(coords);
 		ensure( mp != 0 );
 		ensure( mp->isValid() );
 		ensure( mp->isSimple() );
@@ -1056,7 +1062,7 @@ namespace tut
 		ensure_equals( mp->getGeometryTypeId(), geos::geom::GEOS_MULTIPOINT );
 		
 		// FREE MEMORY
-		factory_.destroyGeometry(mp);
+		factory_->destroyGeometry(mp);
 	}
 
 	// Test of createMultiLineString() const
@@ -1064,7 +1070,7 @@ namespace tut
 	template<>
 	void object::test<28>()
 	{
-		MultiLineStringPtr mls = factory_.createMultiLineString();
+		MultiLineStringPtr mls = factory_->createMultiLineString();
 
 		ensure( "createMultiLineString() returned null pointer.", mls != 0 );
 		ensure( "createMultiLineString() returned non-empty point.", mls->isEmpty() );
@@ -1079,17 +1085,17 @@ namespace tut
 		//geo = poly->getEnvelope();
 		//ensure( geo != 0 );
 		//ensure( geo->isEmpty() );
-		//factory_.destroyGeometry(geo);
+		//factory_->destroyGeometry(geo);
 
 		geo = mls->getBoundary();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = mls->convexHull();
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		ensure_equals( mls->getGeometryTypeId(), geos::geom::GEOS_MULTILINESTRING );
 		ensure_equals( mls->getDimension(), geos::geom::Dimension::L );
@@ -1099,7 +1105,7 @@ namespace tut
 		ensure_equals( mls->getArea(), 0.0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(mls);
+		factory_->destroyGeometry(mls);
 	}
 
 	// Test of createMultiLineString(std::vector<Geometry*>* newLines) const
@@ -1119,11 +1125,11 @@ namespace tut
 			const std::size_t factor = i * i;
 			CoordArrayPtr coords = new geos::geom::CoordinateArraySequence(lineSize);
 			ensure( coords != 0 );
-			coords->setAt(Coordinate(0 + factor, 0 + factor), 0);
-			coords->setAt(Coordinate(5 + factor, 5 + factor), 1);
+			coords->setAt(Coordinate(0. + factor, 0. + factor), 0);
+			coords->setAt(Coordinate(5. + factor, 5. + factor), 1);
 			ensure_equals( coords->getSize(), lineSize );
 
-			LineStringPtr line = factory_.createLineString(coords);
+			LineStringPtr line = factory_->createLineString(coords);
 			ensure( "createLineString() returned empty point.", !line->isEmpty() );
 			ensure_equals( line->getNumPoints(), lineSize );
 			ensure( line->isSimple() );
@@ -1133,7 +1139,7 @@ namespace tut
 			lines->push_back(line);
 		}
 
-		MultiLineStringPtr mls = factory_.createMultiLineString(lines);
+		MultiLineStringPtr mls = factory_->createMultiLineString(lines);
 		ensure( mls != 0 );
 		// TODO - mloskot - why isValid() returns false?
 		//ensure( mls->isValid() );
@@ -1141,7 +1147,7 @@ namespace tut
 		ensure_equals( mls->getGeometryTypeId(), geos::geom::GEOS_MULTILINESTRING );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(mls);
+		factory_->destroyGeometry(mls);
 	}
 
 	// Test of createMultiLineString(const std::vector<Geometry*>& fromLines) const
@@ -1161,11 +1167,11 @@ namespace tut
 			const std::size_t factor = i * i;
 			CoordArrayPtr coords = new geos::geom::CoordinateArraySequence(lineSize);
 			ensure( coords != 0 );
-			coords->setAt(Coordinate(0 + factor, 0 + factor), 0);
-			coords->setAt(Coordinate(5 + factor, 5 + factor), 1);
+			coords->setAt(Coordinate(0. + factor, 0. + factor), 0);
+			coords->setAt(Coordinate(5. + factor, 5. + factor), 1);
 			ensure_equals( coords->getSize(), lineSize );
 
-			LineStringPtr line = factory_.createLineString(coords);
+			LineStringPtr line = factory_->createLineString(coords);
 			ensure( "createLineString() returned empty point.", !line->isEmpty() );
 			ensure_equals( line->getNumPoints(), lineSize );
 			ensure( line->isSimple() );
@@ -1175,7 +1181,7 @@ namespace tut
 			lines.push_back(line);
 		}
 
-		MultiLineStringPtr mls = factory_.createMultiLineString(lines);
+		MultiLineStringPtr mls = factory_->createMultiLineString(lines);
 		ensure( mls != 0 );
 		// TODO - mloskot - why isValid() returns false?
 		//ensure( mls->isValid() );
@@ -1183,7 +1189,7 @@ namespace tut
 		ensure_equals( mls->getGeometryTypeId(), geos::geom::GEOS_MULTILINESTRING );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(mls);
+		factory_->destroyGeometry(mls);
 		std::vector<GeometryPtr>::const_iterator it;
 		for (it = lines.begin(); it != lines.end(); ++it)
 		{
@@ -1251,23 +1257,23 @@ namespace tut
 		PointVect vec;
 
 		PointPtr geo = 0;
-		geo = factory_.createPoint(coord);
+		geo = factory_->createPoint(coord);
 		vec.push_back(geo);
 
 		coord.x *= 2;
 		coord.y *= 2;
 		coord.z *= 2;
-		geo = factory_.createPoint(coord);
+		geo = factory_->createPoint(coord);
 		vec.push_back(geo);
 
 		coord.x *= 3;
 		coord.y *= 3;
 		coord.z *= 3;
-		geo = factory_.createPoint(coord);
+		geo = factory_->createPoint(coord);
 		vec.push_back(geo);
 
 		// Factory creates copy of the vec collection
-		GeometryAutoPtr g = factory_.buildGeometry(vec.begin(), vec.end());
+		GeometryAutoPtr g = factory_->buildGeometry(vec.begin(), vec.end());
 		ensure( g.get() != 0 );
 		ensure_equals( g->getGeometryTypeId(), geos::geom::GEOS_MULTIPOINT );
 		ensure_equals( g->getNumGeometries(), size );
diff --git a/tests/unit/geom/LineStringTest.cpp b/tests/unit/geom/LineStringTest.cpp
index 21de402..10eb4b4 100644
--- a/tests/unit/geom/LineStringTest.cpp
+++ b/tests/unit/geom/LineStringTest.cpp
@@ -33,21 +33,23 @@ namespace tut
 		typedef std::auto_ptr<geos::geom::LineString> LineStringAutoPtr;
 
 		geos::geom::PrecisionModel pm_;
-		geos::geom::GeometryFactory factory_;
+		geos::geom::GeometryFactory::unique_ptr factory_;
 		geos::io::WKTReader reader_;
 		
 		LineStringPtr empty_line_;
 
 		test_linestring_data()
-			: pm_(1000), factory_(&pm_, 0), reader_(&factory_),
-			empty_line_(factory_.createLineString(new geos::geom::CoordinateArraySequence()))
+			: pm_(1000)
+      , factory_(geos::geom::GeometryFactory::create(&pm_, 0))
+      , reader_(factory_.get())
+      , empty_line_(factory_->createLineString(new geos::geom::CoordinateArraySequence()))
 		{
             assert(0 != empty_line_);
         }
 		
         ~test_linestring_data()
         {
-            factory_.destroyGeometry(empty_line_);
+            factory_->destroyGeometry(empty_line_);
             empty_line_ = 0;
         }
     };
@@ -73,7 +75,7 @@ namespace tut
 		ensure( "sequence is null pointer.", pseq != 0 );
 
 		// Create empty linstring instance
-		LineStringAutoPtr ls(factory_.createLineString(pseq));
+		LineStringAutoPtr ls(factory_->createLineString(pseq));
 
 		ensure( ls->isEmpty() );
 		ensure( ls->isSimple() );
@@ -100,7 +102,7 @@ namespace tut
 		ensure_equals( pseq->size(), size3 );
 
 		// Create non-empty linstring instance
-		LineStringAutoPtr ls(factory_.createLineString(pseq));
+		LineStringAutoPtr ls(factory_->createLineString(pseq));
 
 		ensure( !ls->isEmpty() );
 		ensure( ls->isSimple() );
@@ -113,17 +115,17 @@ namespace tut
 		geo = ls->getEnvelope();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = ls->getBoundary();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = ls->convexHull();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		ensure_equals( ls->getGeometryTypeId(), geos::geom::GEOS_LINESTRING );
 		ensure_equals( ls->getDimension(), geos::geom::Dimension::L );
@@ -149,7 +151,7 @@ namespace tut
 			ensure_equals( pseq->size(), 1u );
 
 			// Create incomplete linstring
-			LineStringAutoPtr ls(factory_.createLineString(pseq));
+			LineStringAutoPtr ls(factory_->createLineString(pseq));
 			fail("IllegalArgumentException expected.");
 		}
 		catch (geos::util::IllegalArgumentException const& e)
@@ -183,7 +185,7 @@ namespace tut
 		ensure_equals( pseq->size(), size );
 
 		// Create examplar of linstring instance
-		LineStringAutoPtr examplar(factory_.createLineString(pseq));
+		LineStringAutoPtr examplar(factory_->createLineString(pseq));
 
 		// Create copy
 		LineStringAutoPtr copy(dynamic_cast<geos::geom::LineString*>(examplar->clone()));
@@ -201,17 +203,17 @@ namespace tut
 		geo = copy->getEnvelope();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = copy->getBoundary();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		geo = copy->convexHull();
 		ensure( geo != 0 );
 		ensure( !geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 
 		ensure_equals( copy->getGeometryTypeId(), geos::geom::GEOS_LINESTRING );
 		ensure_equals( copy->getDimension(), geos::geom::Dimension::L );
@@ -239,7 +241,7 @@ namespace tut
 		geo = empty_line_->getEnvelope();	
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 	}
 
     // Test of getBoundary() for empty linestring
@@ -251,7 +253,7 @@ namespace tut
 		geo = empty_line_->getBoundary();	
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 	}
 
     // Test of convexHull() for empty linestring
@@ -263,7 +265,7 @@ namespace tut
 		geo = empty_line_->convexHull();	
 		ensure( geo != 0 );
 		ensure( geo->isEmpty() );
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 	}
 
     // Test of getGeometryTypeId() for empty linestring
@@ -331,7 +333,7 @@ namespace tut
         ensure( line->getCoordinateDimension() == 2 );
 		
 		// FREE TESTED LINESTRING
-		factory_.destroyGeometry(line);
+		factory_->destroyGeometry(line);
 	}
 
     // Test of getEnvelope() for non-empty linestring
@@ -350,10 +352,10 @@ namespace tut
 		ensure( !envelope->isEmpty() );
 		ensure_equals( envelope->getDimension(), geos::geom::Dimension::A );
 
-		factory_.destroyGeometry(envelope);
+		factory_->destroyGeometry(envelope);
 
 		// FREE TESTED LINESTRING
-		factory_.destroyGeometry(line);
+		factory_->destroyGeometry(line);
 	}
 
 	// Test of getBoundary() for non-empty linestring
@@ -372,10 +374,10 @@ namespace tut
 		ensure( !boundary->isEmpty() );
 		ensure_equals( boundary->getGeometryTypeId(), geos::geom::GEOS_MULTIPOINT );
 		ensure_equals( boundary->getDimension(), geos::geom::Dimension::P );
-		factory_.destroyGeometry(boundary);
+		factory_->destroyGeometry(boundary);
 
 		// FREE TESTED LINESTRING
-		factory_.destroyGeometry(line);
+		factory_->destroyGeometry(line);
 	}
 
 	// Test of convexHull() for non-empty linestring
@@ -394,10 +396,10 @@ namespace tut
 		ensure( !hull->isEmpty() );
 		ensure_equals( hull->getGeometryTypeId(), geos::geom::GEOS_POLYGON );
 		ensure_equals( hull->getDimension(), geos::geom::Dimension::A );
-		factory_.destroyGeometry(hull);
+		factory_->destroyGeometry(hull);
 
 		// FREE TESTED LINESTRING
-		factory_.destroyGeometry(line);
+		factory_->destroyGeometry(line);
 	}
 
 	// Test of getGeometryTypeId() for non-empty linestring
@@ -411,7 +413,7 @@ namespace tut
 		ensure_equals( geo->getGeometryTypeId(), geos::geom::GEOS_LINESTRING );
 
 		// FREE TESTED LINESTRING
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 	}
 
 	// Test of getDimension() for non-empty linestring
@@ -425,7 +427,7 @@ namespace tut
 		ensure_equals( geo->getDimension(), geos::geom::Dimension::L );
 
 		// FREE TESTED LINESTRING
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 	}
 
 	// Test of getBoundaryDimension() for non-empty linestring
@@ -439,7 +441,7 @@ namespace tut
 		ensure_equals( geo->getBoundaryDimension(), geos::geom::Dimension::P );
 
 		// FREE TESTED LINESTRING
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 	}
 
 	// Test of getNumPoints() for non-empty linestring
@@ -454,7 +456,7 @@ namespace tut
 		ensure_equals( geo->getNumPoints(), size );
 
 		// FREE TESTED LINESTRING
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 	}
 
 	// Test of getLength() for non-empty linestring
@@ -473,7 +475,7 @@ namespace tut
 		ensure( diff <= tolerance );
 
 		// FREE TESTED LINESTRING
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 	}
 
 	// Test of getArea() for non-empty linestring
@@ -487,7 +489,7 @@ namespace tut
 		ensure_equals( geo->getArea(), 0.0 );
 
 		// FREE TESTED LINESTRING
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 	}
 
 	// Test of getGeometryType() for non-empty Polygon
@@ -502,7 +504,7 @@ namespace tut
 		ensure_equals( geo->getGeometryType(), type );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 	}
 
 } // namespace tut
diff --git a/tests/unit/geom/LinearRingTest.cpp b/tests/unit/geom/LinearRingTest.cpp
index 633e53b..7b5c68d 100644
--- a/tests/unit/geom/LinearRingTest.cpp
+++ b/tests/unit/geom/LinearRingTest.cpp
@@ -40,7 +40,7 @@ namespace tut
 		typedef geos::geom::LinearRing const* LinearRingCPtr;
 
 		geos::geom::PrecisionModel pm_;
-		geos::geom::GeometryFactory factory_;
+		geos::geom::GeometryFactory::unique_ptr factory_;
 		geos::io::WKTReader reader_;
 
 		geos::geom::LinearRing empty_ring_;
@@ -48,8 +48,9 @@ namespace tut
 		const size_t ring_size_;
 
 		test_linearring_data()
-			: pm_(1000), factory_(&pm_, 0), reader_(&factory_),
-			empty_ring_(new geos::geom::CoordinateArraySequence(), &factory_),
+			: pm_(1000), factory_(geos::geom::GeometryFactory::create(&pm_, 0))
+      , reader_(factory_.get())
+      , empty_ring_(new geos::geom::CoordinateArraySequence(), factory_.get()),
 			ring_size_(7)
 		{
 			// Create non-empty LinearRing
@@ -60,7 +61,7 @@ namespace tut
 
 		~test_linearring_data()
 		{
-			factory_.destroyGeometry(ring_);
+			factory_->destroyGeometry(ring_);
         }
 
     private:
@@ -103,7 +104,7 @@ namespace tut
 		try
 		{
 			// Create non-empty linearring instance
-			geos::geom::LinearRing ring(coords, &factory_);
+			geos::geom::LinearRing ring(coords, factory_.get());
 			ensure( !ring.isEmpty() );
 			ensure( ring.isClosed() );
 			ensure( ring.isRing() );
@@ -176,7 +177,7 @@ namespace tut
 		GeometryPtr envelope = empty_ring_.getEnvelope();	
 		ensure( envelope != 0 );
 		ensure( envelope->isEmpty() );
-		factory_.destroyGeometry(envelope);
+		factory_->destroyGeometry(envelope);
 	}
 
 	// Test of getBoundary() for empty LinearRing
@@ -187,7 +188,7 @@ namespace tut
 		GeometryPtr boundary = empty_ring_.getBoundary();	
 		ensure( boundary != 0 );
 		ensure( boundary->isEmpty() );
-		factory_.destroyGeometry(boundary);
+		factory_->destroyGeometry(boundary);
 	}
 
 	// Test of convexHull() for empty LinearRing
@@ -198,7 +199,7 @@ namespace tut
 		GeometryPtr hull = empty_ring_.convexHull();	
 		ensure( hull != 0 );
 		ensure( hull->isEmpty() );
-		factory_.destroyGeometry(hull);
+		factory_->destroyGeometry(hull);
 	}
 
 	// Test of getGeometryTypeId() for empty LinearRing
@@ -281,7 +282,7 @@ namespace tut
 		ensure_equals( envelope->getDimension(), geos::geom::Dimension::A );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(envelope);
+		factory_->destroyGeometry(envelope);
 	}
 
 	// Test of getBoundary() for non-empty LinearRing
@@ -298,7 +299,7 @@ namespace tut
 		ensure( "[OGC] The boundary of a closed Curve must be empty.", boundary->isEmpty() );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(boundary);
+		factory_->destroyGeometry(boundary);
 	}
 
 	// Test of convexHull() for non-empty LinearRing
@@ -315,7 +316,7 @@ namespace tut
 		ensure_equals( hull->getDimension(), geos::geom::Dimension::A );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(hull);
+		factory_->destroyGeometry(hull);
 	}
 
 	// Test of getGeometryTypeId() for non-empty LinearRing
@@ -388,7 +389,7 @@ namespace tut
 			ensure(geo != 0);
 
 			// FREE TESTED LINEARRING
-			factory_.destroyGeometry(geo);
+			factory_->destroyGeometry(geo);
 
 			fail("IllegalArgumentException expected.");
 		}
@@ -416,7 +417,7 @@ namespace tut
 			ensure( !ring->isValid() );
 
 			// FREE TESTED LINEARRING
-			factory_.destroyGeometry(geo);
+			factory_->destroyGeometry(geo);
 
 			fail("IllegalArgumentException expected.");
 		}
diff --git a/tests/unit/geom/MultiPointTest.cpp b/tests/unit/geom/MultiPointTest.cpp
index 4548766..a3c5af3 100644
--- a/tests/unit/geom/MultiPointTest.cpp
+++ b/tests/unit/geom/MultiPointTest.cpp
@@ -25,9 +25,10 @@ namespace tut
 	struct test_multipoint_data
 	{
 		typedef std::auto_ptr<geos::geom::MultiPoint> MultiPointAutoPtr;
+		typedef geos::geom::GeometryFactory GeometryFactory;
 
 		geos::geom::PrecisionModel pm_;
-		geos::geom::GeometryFactory factory_;
+		geos::geom::GeometryFactory::unique_ptr factory_;
 		geos::io::WKTReader reader_;
 
 		MultiPointAutoPtr empty_mp_;
@@ -36,8 +37,9 @@ namespace tut
 
 		test_multipoint_data()
 			:
-			pm_(1.0), factory_(&pm_, 0), reader_(&factory_),
-			empty_mp_(factory_.createMultiPoint()), mp_size_(5)
+			pm_(1.0), factory_(GeometryFactory::create(&pm_, 0))
+      , reader_(factory_.get())
+      , empty_mp_(factory_->createMultiPoint()), mp_size_(5)
 		{
 			// Create non-empty MultiPoint
 			GeometryPtr geo = 0;
@@ -47,7 +49,7 @@ namespace tut
 
 		~test_multipoint_data()
 		{
-			factory_.destroyGeometry(mp_);
+			factory_->destroyGeometry(mp_);
 		}
 
     private:
@@ -71,7 +73,7 @@ namespace tut
 	void object::test<1>()
 	{
 		const size_t size0 = 0;
-		MultiPointAutoPtr mp(factory_.createMultiPoint());
+		MultiPointAutoPtr mp(factory_->createMultiPoint());
 		
 		ensure( mp->isEmpty() );
 		ensure( mp->isSimple() );
@@ -115,7 +117,7 @@ namespace tut
 		ensure_equals( mp->getNumGeometries(), size0 );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 	}
 
 	// Test of isEmpty() for empty MultiPoint
@@ -150,7 +152,7 @@ namespace tut
 		GeometryPtr envelope = empty_mp_->getEnvelope();	
 		ensure( envelope != 0 );
 		ensure( envelope->isEmpty() );
-		factory_.destroyGeometry(envelope);
+		factory_->destroyGeometry(envelope);
 	}
 
 	// Test of getBoundary() for empty MultiPoint
@@ -161,7 +163,7 @@ namespace tut
 		GeometryPtr boundary = empty_mp_->getBoundary();	
 		ensure( boundary != 0 );
 		ensure( boundary->isEmpty() );
-		factory_.destroyGeometry(boundary);
+		factory_->destroyGeometry(boundary);
 	}
 
 	// Test of convexHull() for empty MultiPoint
@@ -172,7 +174,7 @@ namespace tut
 		GeometryPtr hull = empty_mp_->convexHull();	
 		ensure( hull != 0 );
 		ensure( hull->isEmpty() );
-		factory_.destroyGeometry(hull);
+		factory_->destroyGeometry(hull);
 	}
 
 	// Test of getGeometryTypeId() for empty MultiPoint
@@ -254,7 +256,7 @@ namespace tut
 		ensure_equals( envelope->getDimension(), geos::geom::Dimension::A );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(envelope);
+		factory_->destroyGeometry(envelope);
 	}
 
 	// Test of getBoundary() for non-empty LinearRing
@@ -271,7 +273,7 @@ namespace tut
 		ensure( "[OGC] The boundary of a MultiPoint is the empty set.", boundary->isEmpty() );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(boundary);
+		factory_->destroyGeometry(boundary);
 	}
 
 	// Test of convexHull() for non-empty LinearRing
@@ -288,7 +290,7 @@ namespace tut
 		ensure_equals( hull->getDimension(), geos::geom::Dimension::L );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(hull);
+		factory_->destroyGeometry(hull);
 	}
 
 	// Test of getGeometryTypeId() for non-empty LinearRing
@@ -367,7 +369,7 @@ namespace tut
 			ensure(geo != 0);
 
 			// FREE TESTED LINEARRING
-			factory_.destroyGeometry(geo);
+			factory_->destroyGeometry(geo);
 
 			fail("ParseException expected.");
 		}
diff --git a/tests/unit/geom/PointTest.cpp b/tests/unit/geom/PointTest.cpp
index 46ad09c..f65330a 100644
--- a/tests/unit/geom/PointTest.cpp
+++ b/tests/unit/geom/PointTest.cpp
@@ -36,15 +36,17 @@ namespace tut
 	typedef geos::geom::Point* PointPtr;
 	typedef std::auto_ptr<geos::geom::Point> PointAutoPtr;
 	typedef geos::geom::Point const* PointCPtr;
+	typedef geos::geom::GeometryFactory GeometryFactory;
 
 	geos::geom::PrecisionModel pm_;
-	geos::geom::GeometryFactory factory_;
+	GeometryFactory::unique_ptr factory_;
 	geos::io::WKTReader reader_;
 	PointAutoPtr empty_point_;
 	PointPtr point_;
 
 	test_point_data()
-	    : pm_(1000), factory_(&pm_, 0), reader_(&factory_), empty_point_(factory_.createPoint())
+	    : pm_(1000), factory_(GeometryFactory::create(&pm_, 0))
+      , reader_(factory_.get()), empty_point_(factory_->createPoint())
 	{
 	    // Create non-empty Point
 	    GeometryPtr geo = 0;
@@ -54,7 +56,7 @@ namespace tut
 	
 	~test_point_data()
 	{
-	    factory_.destroyGeometry(point_);
+	    factory_->destroyGeometry(point_);
 	}
     };
 
@@ -72,7 +74,7 @@ namespace tut
     template<>
     void object::test<1>()
     {
-		PointAutoPtr point(factory_.createPoint());
+		PointAutoPtr point(factory_->createPoint());
 		ensure( point->isEmpty() );
     }
 
@@ -88,7 +90,7 @@ namespace tut
 		ensure( coords != 0 );
 		coords->add(Coordinate(1.234, 5.678));
 
-		PointAutoPtr point(factory_.createPoint(coords));
+		PointAutoPtr point(factory_->createPoint(coords));
 		ensure( !point->isEmpty() );
         
         // currently the empty CoordinateArraySequence constructor 
@@ -113,7 +115,7 @@ namespace tut
 			coords->add(Coordinate(1.234, 5.678));
 			coords->add(Coordinate(4.321, 8.765));
 
-			PointAutoPtr point(factory_.createPoint(coords));
+			PointAutoPtr point(factory_->createPoint(coords));
 
 			fail("IllegalArgumentException expected.");
 		}
@@ -168,7 +170,7 @@ namespace tut
 		GeometryPtr envelope = empty_point_->getEnvelope();	
 		ensure( envelope != 0 );
 		ensure( envelope->isEmpty() );
-		factory_.destroyGeometry(envelope);
+		factory_->destroyGeometry(envelope);
 	}
 
 	// Test of getBoundary() for empty Point
@@ -179,7 +181,7 @@ namespace tut
 		GeometryPtr boundary = empty_point_->getBoundary();	
 		ensure( boundary != 0 );
 		ensure( boundary->isEmpty() );
-		factory_.destroyGeometry(boundary);
+		factory_->destroyGeometry(boundary);
 	}
 
 	// Test of convexHull() for empty Point
@@ -190,7 +192,7 @@ namespace tut
 		GeometryPtr hull = empty_point_->convexHull();	
 		ensure( hull != 0 );
 		ensure( hull->isEmpty() );
-		factory_.destroyGeometry(hull);
+		factory_->destroyGeometry(hull);
 	}
 
 	// Test of getGeometryTypeId() for empty Point
@@ -282,7 +284,7 @@ namespace tut
 		GeometryPtr envelope = point_->getEnvelope();	
 		ensure( envelope != 0 );
 		ensure( !envelope->isEmpty() );
-		factory_.destroyGeometry(envelope);
+		factory_->destroyGeometry(envelope);
 	}
 
 	// Test of getBoundary() for non-empty Point
@@ -293,7 +295,7 @@ namespace tut
 		GeometryPtr boundary = point_->getBoundary();	
 		ensure( boundary != 0 );
 		ensure( boundary->isEmpty() );
-		factory_.destroyGeometry(boundary);
+		factory_->destroyGeometry(boundary);
 	}
 
 	// Test of convexHull() for non-empty Point
@@ -304,7 +306,7 @@ namespace tut
 		GeometryPtr hull = point_->convexHull();	
 		ensure( hull != 0 );
 		ensure( !hull->isEmpty() );
-		factory_.destroyGeometry(hull);
+		factory_->destroyGeometry(hull);
 	}
 
 	// Test of getGeometryTypeId() for non-empty Point
@@ -386,8 +388,8 @@ namespace tut
 		ensure( p1->equals(p2) );
 		
 		// FREE MEMORY
-		factory_.destroyGeometry(p1);
-		factory_.destroyGeometry(p2);
+		factory_->destroyGeometry(p1);
+		factory_->destroyGeometry(p2);
 	}
 
 	// Test of equals() for non-empty Point (1.23 5.67)
@@ -402,8 +404,8 @@ namespace tut
 		ensure( p1->equals(p2) );
 		
 		// FREE MEMORY
-		factory_.destroyGeometry(p1);
-		factory_.destroyGeometry(p2);
+		factory_->destroyGeometry(p1);
+		factory_->destroyGeometry(p2);
 	}
 
 	// Test of equals() for non-empty Points (1.235 5.678) and (1.234 5.678)
@@ -418,8 +420,8 @@ namespace tut
 		ensure( !p1->equals(p2) );
 		
 		// FREE MEMORY
-		factory_.destroyGeometry(p1);
-		factory_.destroyGeometry(p2);
+		factory_->destroyGeometry(p1);
+		factory_->destroyGeometry(p2);
 	}
 
 	// Test of equals() for non-empty Points (1.2334 5.678) and (1.2333 5.678)
@@ -434,8 +436,8 @@ namespace tut
 		ensure( p1->equals(p2) );
 		
 		// FREE MEMORY
-		factory_.destroyGeometry(p1);
-		factory_.destroyGeometry(p2);
+		factory_->destroyGeometry(p1);
+		factory_->destroyGeometry(p2);
 	}
 
 	// Test of equals() for non-empty Points (1.2334 5.678) and (1.2335 5.678)
@@ -450,8 +452,8 @@ namespace tut
 		ensure( !p1->equals(p2) );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(p1);
-		factory_.destroyGeometry(p2);
+		factory_->destroyGeometry(p1);
+		factory_->destroyGeometry(p2);
 	}
 
 	// Test of equals() for non-empty Points (1.2324 5.678) and (1.2325 5.678)
@@ -466,8 +468,8 @@ namespace tut
 		ensure( !p1->equals(p2) );
 		
 		// FREE MEMORY
-		factory_.destroyGeometry(p1);
-		factory_.destroyGeometry(p2);
+		factory_->destroyGeometry(p1);
+		factory_->destroyGeometry(p2);
 	}
 
 	// Test of equals() for non-empty Points (1.2324 5.678) and (EMPTY)
@@ -482,8 +484,8 @@ namespace tut
 		ensure( !p1->equals(p2) );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(p1);
-		factory_.destroyGeometry(p2);
+		factory_->destroyGeometry(p1);
+		factory_->destroyGeometry(p2);
 	}
 
 	// Test of equals() for non-empty Points with negative coordiantes
@@ -506,11 +508,11 @@ namespace tut
 		ensure( p3->equals(pHi) );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(pLo);
-		factory_.destroyGeometry(pHi);
-		factory_.destroyGeometry(p1);
-		factory_.destroyGeometry(p2);
-		factory_.destroyGeometry(p3);
+		factory_->destroyGeometry(pLo);
+		factory_->destroyGeometry(pHi);
+		factory_->destroyGeometry(p1);
+		factory_->destroyGeometry(p2);
+		factory_->destroyGeometry(p3);
 	}
 
 	// Test of getCoordinateDimension() for 2d/3d.
diff --git a/tests/unit/geom/PolygonTest.cpp b/tests/unit/geom/PolygonTest.cpp
index 5546b60..a3d62be 100644
--- a/tests/unit/geom/PolygonTest.cpp
+++ b/tests/unit/geom/PolygonTest.cpp
@@ -33,9 +33,10 @@ namespace tut
 		// Typedefs used as short names by test cases
 		typedef std::auto_ptr<geos::geom::Geometry> GeometryAutoPtr;
 		typedef std::auto_ptr<geos::geom::Polygon> PolygonAutoPtr;
+		typedef geos::geom::GeometryFactory GeometryFactory;
 
 		geos::geom::PrecisionModel pm_;
-		geos::geom::GeometryFactory factory_;
+		GeometryFactory::unique_ptr factory_;
 		geos::io::WKTReader reader_;
 
 		PolygonAutoPtr empty_poly_;
@@ -43,8 +44,10 @@ namespace tut
 		const size_t poly_size_;
 
 		test_polygon_data() 
-			: pm_(1), factory_(&pm_, 0), reader_(&factory_),
-                empty_poly_(factory_.createPolygon()), poly_size_(7)
+			: pm_(1)
+      , factory_(GeometryFactory::create(&pm_, 0))
+      , reader_(factory_.get())
+      , empty_poly_(factory_->createPolygon()), poly_size_(7)
 		{
 			// Create non-empty LinearRing
 			GeometryPtr geo = 0;
@@ -55,7 +58,7 @@ namespace tut
         ~test_polygon_data() 
         {
             // FREE MEMORY
-            factory_.destroyGeometry(poly_);
+            factory_->destroyGeometry(poly_);
         }
 
     private:
@@ -98,7 +101,7 @@ namespace tut
 		try
 		{
 			// Create non-empty LinearRing instance
-			geos::geom::LinearRing ring(coords, &factory_);
+			geos::geom::LinearRing ring(coords, factory_.get());
 			ensure( !ring.isEmpty() );
 			ensure( ring.isClosed() );
 			ensure( ring.isRing() );
@@ -110,7 +113,7 @@ namespace tut
 			
 			// Create non-empty Polygon
 			//geos::geom::Polygon poly(exterior, 0, &factory_);
-			PolygonAutoPtr poly(factory_.createPolygon(exterior, 0));
+			PolygonAutoPtr poly(factory_->createPolygon(exterior, 0));
 			
 			ensure( !poly->isEmpty() );
 			ensure( poly->isSimple() );
@@ -186,7 +189,7 @@ namespace tut
 		GeometryPtr boundary = empty_poly_->getBoundary();	
 		ensure( boundary != 0 );
 		ensure( boundary->isEmpty() );
-		factory_.destroyGeometry(boundary);
+		factory_->destroyGeometry(boundary);
 	}
 
 	// Test of convexHull() for empty Polygon
@@ -197,7 +200,7 @@ namespace tut
 		GeometryPtr hull = empty_poly_->convexHull();	
 		ensure( hull != 0 );
 		ensure( hull->isEmpty() );
-		factory_.destroyGeometry(hull);
+		factory_->destroyGeometry(hull);
 	}
 
 	// Test of getGeometryTypeId() for empty Polygon
@@ -270,7 +273,7 @@ namespace tut
 		ensure_equals( envelope->getDimension(), geos::geom::Dimension::A );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(envelope);
+		factory_->destroyGeometry(envelope);
 	}
 
 	// Test of getBoundary() for non-empty Polygon
@@ -287,7 +290,7 @@ namespace tut
 		ensure( "[OGC] The boundary of Polygin is the set of closed Curves.", !boundary->isEmpty() );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(boundary);
+		factory_->destroyGeometry(boundary);
 	}
 
 	// Test of convexHull() for non-empty Polygon
@@ -304,7 +307,7 @@ namespace tut
 		ensure_equals( hull->getDimension(), geos::geom::Dimension::A );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(hull);
+		factory_->destroyGeometry(hull);
 	}
 
 	// Test of getGeometryTypeId() for non-empty Polygon
@@ -394,7 +397,7 @@ namespace tut
 		ensure( geo != 0 );
 		ensure( geo->equals(poly_) );
 
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 	}
 
 	// Test of getExteriorRing() for non-empty Polygon
@@ -441,7 +444,7 @@ namespace tut
 
 		ensure_equals( interior->getGeometryTypeId(), geos::geom::GEOS_LINEARRING );
 
-		factory_.destroyGeometry(geo);
+		factory_->destroyGeometry(geo);
 	}
 
 	// Test of getCoordiante() for non-empty Polygon
@@ -524,7 +527,7 @@ namespace tut
 		ensure_equals( point->getGeometryTypeId(), geos::geom::GEOS_POINT );
 
 		// FREE MEMORY
-		factory_.destroyGeometry(point);
+		factory_->destroyGeometry(point);
 	}
 
 	// Test of Geometry::getCentroid(Coordinate& ret) const for non-empty Polygon
@@ -552,7 +555,7 @@ namespace tut
 		ensure( pointCoord != 0 );
 		geos::geom::Coordinate pointCentr(*pointCoord);
 		// FREE MEMORY
-		factory_.destroyGeometry(point);
+		factory_->destroyGeometry(point);
 
 		// Second centroid
 		geos::geom::Coordinate coordCentr;
diff --git a/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp b/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
index 333076f..72f32ae 100644
--- a/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
+++ b/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
@@ -27,14 +27,17 @@ namespace tut
     // Common data used by tests
     struct test_preparedgeometryfactory_data
     {
+        typedef geos::geom::GeometryFactory GeometryFactory;
         GeometryPtr g_;
         PreparedGeometryPtr pg_;
         geos::geom::PrecisionModel pm_;
-        geos::geom::GeometryFactory factory_;
+        geos::geom::GeometryFactory::unique_ptr factory_;
         geos::io::WKTReader reader_;
 
         test_preparedgeometryfactory_data()
-            : g_(0), pg_(0), pm_(1.0), factory_(&pm_), reader_(&factory_)
+            : g_(0), pg_(0), pm_(1.0)
+            , factory_(GeometryFactory::create(&pm_))
+            , reader_(factory_.get())
         {
             assert(0 == g_);
             assert(0 == pg_);
@@ -44,7 +47,7 @@ namespace tut
         {
             // FREE MEMORY per test case
             prep::PreparedGeometryFactory::destroy(pg_);
-            factory_.destroyGeometry(g_);
+            factory_->destroyGeometry(g_);
             pg_ = 0;
             g_ = 0;
         }
@@ -115,7 +118,7 @@ namespace tut
     template<>
     void object::test<4>()
     {
-        g_ = factory_.createEmptyGeometry();
+        g_ = factory_->createEmptyGeometry();
         ensure( 0 != g_ );
         
         pg_ = prep::PreparedGeometryFactory::prepare(g_);
@@ -129,7 +132,7 @@ namespace tut
     template<>
     void object::test<5>()
     {
-        g_ = factory_.createEmptyGeometry();
+        g_ = factory_->createEmptyGeometry();
         ensure( 0 != g_ );
         
         prep::PreparedGeometryFactory pgf;
@@ -144,7 +147,7 @@ namespace tut
     template<>
     void object::test<6>()
     {
-        g_ = factory_.createPoint();
+        g_ = factory_->createPoint();
         ensure( 0 != g_ );
         
         pg_ = prep::PreparedGeometryFactory::prepare(g_);
@@ -158,7 +161,7 @@ namespace tut
     template<>
     void object::test<7>()
     {
-        g_ = factory_.createPoint();
+        g_ = factory_->createPoint();
         ensure( 0 != g_ );
         
         prep::PreparedGeometryFactory pgf;
@@ -173,7 +176,7 @@ namespace tut
     template<>
     void object::test<8>()
     {
-        g_ = factory_.createLineString();
+        g_ = factory_->createLineString();
         ensure( 0 != g_ );
         
         pg_ = prep::PreparedGeometryFactory::prepare(g_);
@@ -187,7 +190,7 @@ namespace tut
     template<>
     void object::test<9>()
     {
-        g_ = factory_.createLineString();
+        g_ = factory_->createLineString();
         ensure( 0 != g_ );
         
         prep::PreparedGeometryFactory pgf;
@@ -201,7 +204,7 @@ namespace tut
     template<>
     void object::test<10>()
     {
-        g_ = factory_.createPolygon();
+        g_ = factory_->createPolygon();
         ensure( 0 != g_ );
         
         pg_ = prep::PreparedGeometryFactory::prepare(g_);
@@ -215,7 +218,7 @@ namespace tut
     template<>
     void object::test<11>()
     {
-        g_ = factory_.createPolygon();
+        g_ = factory_->createPolygon();
         ensure( 0 != g_ );
         
         prep::PreparedGeometryFactory pgf;
@@ -230,7 +233,7 @@ namespace tut
     template<>
     void object::test<12>()
     {
-        g_ = factory_.createMultiPoint();
+        g_ = factory_->createMultiPoint();
         ensure( 0 != g_ );
         
         pg_ = prep::PreparedGeometryFactory::prepare(g_);
@@ -244,7 +247,7 @@ namespace tut
     template<>
     void object::test<13>()
     {
-        g_ = factory_.createMultiPoint();
+        g_ = factory_->createMultiPoint();
         ensure( 0 != g_ );
         
         prep::PreparedGeometryFactory pgf;
@@ -259,7 +262,7 @@ namespace tut
     template<>
     void object::test<14>()
     {
-        g_ = factory_.createMultiLineString();
+        g_ = factory_->createMultiLineString();
         ensure( 0 != g_ );
         
         pg_ = prep::PreparedGeometryFactory::prepare(g_);
@@ -273,7 +276,7 @@ namespace tut
     template<>
     void object::test<15>()
     {
-        g_ = factory_.createMultiLineString();
+        g_ = factory_->createMultiLineString();
         ensure( 0 != g_ );
         
         prep::PreparedGeometryFactory pgf;
@@ -288,7 +291,7 @@ namespace tut
     template<>
     void object::test<16>()
     {
-        g_ = factory_.createMultiPolygon();
+        g_ = factory_->createMultiPolygon();
         ensure( 0 != g_ );
         
         pg_ = prep::PreparedGeometryFactory::prepare(g_);
@@ -302,7 +305,7 @@ namespace tut
     template<>
     void object::test<17>()
     {
-        g_ = factory_.createMultiPolygon();
+        g_ = factory_->createMultiPolygon();
         ensure( 0 != g_ );
         
         prep::PreparedGeometryFactory pgf;
diff --git a/tests/unit/geom/util/GeometryExtracterTest.cpp b/tests/unit/geom/util/GeometryExtracterTest.cpp
index 1c38379..9ca7cff 100644
--- a/tests/unit/geom/util/GeometryExtracterTest.cpp
+++ b/tests/unit/geom/util/GeometryExtracterTest.cpp
@@ -26,7 +26,7 @@ namespace tut
     struct test_geometryextracter_data
     {
       geos::geom::PrecisionModel pm;
-      geos::geom::GeometryFactory gf;
+      geos::geom::GeometryFactory::unique_ptr gf;
       geos::io::WKTReader wktreader;
       geos::io::WKTWriter wktwriter;
 
@@ -38,8 +38,8 @@ namespace tut
       test_geometryextracter_data()
         :
         pm(1.0),
-        gf(&pm),
-        wktreader(&gf)
+        gf(geos::geom::GeometryFactory::create(&pm)),
+        wktreader(gf.get())
       {
       }
     };
diff --git a/tests/unit/io/WKBReaderTest.cpp b/tests/unit/io/WKBReaderTest.cpp
index 405c66f..f0c6fbe 100644
--- a/tests/unit/io/WKBReaderTest.cpp
+++ b/tests/unit/io/WKBReaderTest.cpp
@@ -31,7 +31,7 @@ namespace tut
 	struct test_wkbreader_data
 	{
 		geos::geom::PrecisionModel pm;
-		geos::geom::GeometryFactory gf;
+		geos::geom::GeometryFactory::unique_ptr gf;
 		geos::io::WKBReader wkbreader;
 		geos::io::WKBWriter xdrwkbwriter;
 		geos::io::WKBWriter ndrwkbwriter;
@@ -42,13 +42,13 @@ namespace tut
 		test_wkbreader_data()
 			:
 			pm(1.0),
-			gf(&pm),
-			wkbreader(gf),
+			gf(geos::geom::GeometryFactory::create(&pm)),
+			wkbreader(*gf),
 			// 2D only, XDR (big endian)
 			xdrwkbwriter(2, geos::io::WKBConstants::wkbXDR),
 			// 2D only, NDR (little endian)
 			ndrwkbwriter(2, geos::io::WKBConstants::wkbNDR),
-			wktreader(&gf)
+			wktreader(gf.get())
 		{}
 
 		void testInputOutput(const std::string& WKT,
@@ -261,6 +261,22 @@ namespace tut
     ensure_equals(err, "ParseException: Premature end of HEX string");
   }
 
+  // 9 - Extended HEXWKB (3dZ + srid)
+  template<>
+  template<>
+  void object::test<9>()
+  {         
+    std::stringstream hexwkb;
+    hexwkb <<
+// SRID=4326;POINT(1 2 3)
+// NDR HEXEWKB
+"01010000A0E6100000000000000000F03F00000000000000400000000000000840";
+    std::string err;
+    GeomPtr gWKB(wkbreader.readHEX(hexwkb));
+    ensure_equals(gWKB->getSRID(), 4326);
+    ensure_equals(gWKB->getCoordinateDimension(), 3);
+  }
+
 
 } // namespace tut
 
diff --git a/tests/unit/io/WKBWriterTest.cpp b/tests/unit/io/WKBWriterTest.cpp
index a3d98c6..dcfdec7 100644
--- a/tests/unit/io/WKBWriterTest.cpp
+++ b/tests/unit/io/WKBWriterTest.cpp
@@ -27,7 +27,7 @@ namespace tut
 	struct test_wkbwriter_data
 	{
 		geos::geom::PrecisionModel pm;
-		geos::geom::GeometryFactory gf;
+		geos::geom::GeometryFactory::unique_ptr gf;
 		geos::io::WKTReader wktreader;
 		geos::io::WKTWriter wktwriter;
 		geos::io::WKBReader wkbreader;
@@ -36,9 +36,9 @@ namespace tut
 		test_wkbwriter_data()
 			:
 			pm(1000.0),
-			gf(&pm),
-      wktreader(&gf),
-      wkbreader(gf)
+			gf(geos::geom::GeometryFactory::create(&pm)),
+      wktreader(gf.get()),
+      wkbreader(*gf)
 		{}
 
 	};
@@ -144,7 +144,8 @@ namespace tut
     GeomVect *geoms = new GeomVect;
     geoms->push_back( wktreader.read("POLYGON((0 0,1 0,1 1,0 1,0 0))") );
     geoms->back()->setSRID(4326);
-    Geom *geom = gf.createGeometryCollection(geoms);
+    Geom *geom = gf->createGeometryCollection(geoms);
+    geom->setSRID(4326);
     std::stringstream result_stream;
 
     wkbwriter.setOutputDimension( 2 );
@@ -154,7 +155,7 @@ namespace tut
     delete geom;
 
     std::string actual = result_stream.str();
-    ensure_equals( actual, "0107000000010000000103000000010000000500000000000000000000000000000000000000000000000000F03F0000000000000000000000000000F03F000000000000F03F0000000000000000000000000000F03F00000000000000000000000000000000");
+    ensure_equals( actual, "0107000020E6100000010000000103000000010000000500000000000000000000000000000000000000000000000000F03F0000000000000000000000000000F03F000000000000F03F0000000000000000000000000000F03F00000000000000000000000000000000" );
 
   }
 
diff --git a/tests/unit/io/WKTReaderTest.cpp b/tests/unit/io/WKTReaderTest.cpp
index a56c3fc..866ef25 100644
--- a/tests/unit/io/WKTReaderTest.cpp
+++ b/tests/unit/io/WKTReaderTest.cpp
@@ -26,7 +26,7 @@ namespace tut
 	struct test_wktreader_data
 	{
 		geos::geom::PrecisionModel pm;
-		geos::geom::GeometryFactory gf;
+		geos::geom::GeometryFactory::unique_ptr gf;
 		geos::io::WKTReader wktreader;
 		geos::io::WKTWriter wktwriter;
 
@@ -35,8 +35,8 @@ namespace tut
 		test_wktreader_data()
 			:
 			pm(1.0),
-			gf(&pm),
-			wktreader(&gf)
+			gf(geos::geom::GeometryFactory::create(&pm)),
+			wktreader(gf.get())
 		{
             wktwriter.setOutputDimension( 3 );
         }
@@ -150,8 +150,8 @@ namespace tut
             namespace ggm = geos::geom;
             namespace gio = geos::io;
             ggm::PrecisionModel pm(ggm::PrecisionModel::FLOATING);
-            ggm::GeometryFactory gf(&pm);
-            gio::WKTReader wktReader(&gf);
+            ggm::GeometryFactory::unique_ptr gf = ggm::GeometryFactory::create(&pm);
+            gio::WKTReader wktReader(gf.get());
             const std::string str = " POINT (0 0) ";
             geom.reset(wktReader.read(str)); //HERE IT FAILS
 
diff --git a/tests/unit/io/WKTWriterTest.cpp b/tests/unit/io/WKTWriterTest.cpp
index 9c34c25..b66b896 100644
--- a/tests/unit/io/WKTWriterTest.cpp
+++ b/tests/unit/io/WKTWriterTest.cpp
@@ -30,15 +30,15 @@ namespace tut
 		typedef std::auto_ptr<geos::geom::Geometry> GeomPtr;
 
 		PrecisionModel pm;
-		GeometryFactory gf;
+		GeometryFactory::unique_ptr gf;
 		WKTReader wktreader;
 		WKTWriter wktwriter;
 
 		test_wktwriter_data()
                 :
                 pm(1000.0),
-                gf(&pm),
-                wktreader(&gf)
+                gf(GeometryFactory::create(&pm)),
+                wktreader(gf.get())
             {}
 
 	};
@@ -138,8 +138,8 @@ namespace tut
   void object::test<5>()
   {         
     PrecisionModel pm3(0.001);
-    GeometryFactory gf3(&pm3);
-    WKTReader wktreader3(&gf3);
+    GeometryFactory::unique_ptr gf3(GeometryFactory::create(&pm3));
+    WKTReader wktreader3(gf3.get());
     GeomPtr geom ( wktreader3.read("POINT(123456 654321)") );
 
     std::string  result = wktwriter.write( geom.get() );
diff --git a/tests/unit/linearref/LengthIndexedLineTest.cpp b/tests/unit/linearref/LengthIndexedLineTest.cpp
index 04f33bd..6acb25b 100644
--- a/tests/unit/linearref/LengthIndexedLineTest.cpp
+++ b/tests/unit/linearref/LengthIndexedLineTest.cpp
@@ -36,13 +36,11 @@ static const double TOLERANCE_DIST = 0.001;
 struct test_lengthindexedline_data
 {
     test_lengthindexedline_data()
-        : pm(), gf(&pm), reader(&gf), writer()
+        : reader(), writer()
     {
       writer.setTrim(true);
     }
     
-    PrecisionModel pm;
-    GeometryFactory gf;
     geos::io::WKTReader reader;
     geos::io::WKTWriter writer;
     
diff --git a/tests/unit/noding/OrientedCoordinateArray.cpp b/tests/unit/noding/OrientedCoordinateArray.cpp
index 4bffbf4..82db1b2 100644
--- a/tests/unit/noding/OrientedCoordinateArray.cpp
+++ b/tests/unit/noding/OrientedCoordinateArray.cpp
@@ -26,15 +26,19 @@ namespace tut
     // Common data used by all tests
     struct test_orientedcoordinatearray_data
     {
+        typedef geos::geom::GeometryFactory GeometryFactory;
+
         geos::geom::PrecisionModel pm_;
-        geos::geom::GeometryFactory factory_;
+        GeometryFactory::unique_ptr factory_;
         geos::io::WKTReader reader_;
 
         typedef std::auto_ptr<CoordinateSequence> CoordSeqPtr;
         typedef std::auto_ptr<Geometry> GeomPtr;
 
         test_orientedcoordinatearray_data()
-          : pm_(), factory_(&pm_), reader_(&factory_) {}
+          : pm_()
+          , factory_(GeometryFactory::create(&pm_))
+          , reader_(factory_.get()) {}
 
         CoordSeqPtr coords_from_wkt(const char *wkt) {
           GeomPtr g ( reader_.read(wkt) );
diff --git a/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp b/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
index a9a3418..a0b0789 100644
--- a/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
+++ b/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
@@ -55,10 +55,10 @@ namespace tut
       typedef std::vector<SegmentString*> SegStrVct;
       typedef std::vector<Geometry*> GeomVct;
 
-      const geos::geom::GeometryFactory gf_;
+      const geos::geom::GeometryFactory *gf_;
 
       test_mcidxsnprndr_data()
-            : gf_()
+            : gf_(geos::geom::GeometryFactory::getDefaultInstance())
       {}
 
       GeomPtr getGeometry(SegStrVct& vct)
@@ -67,9 +67,9 @@ namespace tut
         for (SegStrVct::size_type i=0, n=vct.size(); i<n; ++i)
         {
           SegmentString* ss = vct[i];
-          lines->push_back( gf_.createLineString(*(ss->getCoordinates())) );
+          lines->push_back( gf_->createLineString(*(ss->getCoordinates())) );
         }
-        return GeomPtr(gf_.createMultiLineString(lines));
+        return GeomPtr(gf_->createMultiLineString(lines));
       }
 
       void getSegmentStrings(const Geometry& g, SegStrVct& vct)
diff --git a/tests/unit/operation/IsSimpleOpTest.cpp b/tests/unit/operation/IsSimpleOpTest.cpp
index 9370aca..9bbe1e5 100644
--- a/tests/unit/operation/IsSimpleOpTest.cpp
+++ b/tests/unit/operation/IsSimpleOpTest.cpp
@@ -26,13 +26,17 @@ namespace tut
 
     struct test_issimpleop_data
     {
+        typedef geos::geom::GeometryFactory GeometryFactory;
         geos::geom::PrecisionModel pm_;
-        geos::geom::GeometryFactory factory_;
+        GeometryFactory::unique_ptr factory_;
         geos::io::WKTReader reader_;
         double tolerance_;
 
         test_issimpleop_data()
-			: pm_(1), factory_(&pm_, 0), reader_(&factory_), tolerance_(0.00005)
+			: pm_(1)
+      , factory_(GeometryFactory::create(&pm_, 0))
+      , reader_(factory_.get())
+      , tolerance_(0.00005)
         {}
     };
 
diff --git a/tests/unit/operation/buffer/BufferBuilderTest.cpp b/tests/unit/operation/buffer/BufferBuilderTest.cpp
index 32aee2f..8f236d4 100644
--- a/tests/unit/operation/buffer/BufferBuilderTest.cpp
+++ b/tests/unit/operation/buffer/BufferBuilderTest.cpp
@@ -29,7 +29,7 @@ namespace tut
     // Common data used by tests
     struct test_bufferbuilder_data
     {
-        geos::geom::GeometryFactory gf;
+        const geos::geom::GeometryFactory &gf;
         geos::io::WKTReader wktreader;
         int const default_quadrant_segments;
 
@@ -37,7 +37,9 @@ namespace tut
         typedef std::auto_ptr<geos::geom::CoordinateSequence> CSPtr;
 
         test_bufferbuilder_data()
-            : gf(), wktreader(&gf), default_quadrant_segments(geos::operation::buffer::BufferParameters::DEFAULT_QUADRANT_SEGMENTS)
+            : gf(*geos::geom::GeometryFactory::getDefaultInstance())
+            , wktreader(&gf)
+            , default_quadrant_segments(geos::operation::buffer::BufferParameters::DEFAULT_QUADRANT_SEGMENTS)
         {
             ensure_equals(default_quadrant_segments, int(8));
         }
diff --git a/tests/unit/operation/buffer/BufferOpTest.cpp b/tests/unit/operation/buffer/BufferOpTest.cpp
index d1e1dc9..d769bbf 100644
--- a/tests/unit/operation/buffer/BufferOpTest.cpp
+++ b/tests/unit/operation/buffer/BufferOpTest.cpp
@@ -27,7 +27,7 @@ namespace tut
     // Common data used by tests
     struct test_bufferop_data
     {
-        geos::geom::GeometryFactory gf;
+        const geos::geom::GeometryFactory &gf;
         geos::io::WKTReader wktreader;
         int const default_quadrant_segments;
 
@@ -35,7 +35,9 @@ namespace tut
         typedef std::auto_ptr<geos::geom::CoordinateSequence> CSPtr;
 
         test_bufferop_data()
-            : gf(), wktreader(&gf), default_quadrant_segments(geos::operation::buffer::BufferParameters::DEFAULT_QUADRANT_SEGMENTS)
+            : gf(*geos::geom::GeometryFactory::getDefaultInstance())
+            , wktreader(&gf)
+            , default_quadrant_segments(geos::operation::buffer::BufferParameters::DEFAULT_QUADRANT_SEGMENTS)
         {
             ensure_equals(default_quadrant_segments, int(8));
         }
diff --git a/tests/unit/operation/distance/DistanceOpTest.cpp b/tests/unit/operation/distance/DistanceOpTest.cpp
index b7450a8..78c15d5 100644
--- a/tests/unit/operation/distance/DistanceOpTest.cpp
+++ b/tests/unit/operation/distance/DistanceOpTest.cpp
@@ -28,14 +28,13 @@ namespace tut
 	// Common data used by tests
 	struct test_distanceop_data
 	{
-		geos::geom::GeometryFactory gf;
 		geos::io::WKTReader wktreader;
 
 		typedef geos::geom::Geometry::AutoPtr GeomPtr;
 		typedef std::auto_ptr<geos::geom::CoordinateSequence> CSPtr;
 
 		test_distanceop_data()
-            : gf(), wktreader(&gf)
+            : wktreader()
 		{}
 	};
 
@@ -462,14 +461,15 @@ namespace tut
 	template<>
 	void object::test<19>()
 	{
+        using geos::geom::GeometryFactory;
         const char* wkb_geom1 = "01060000000100000001030000000100000000000000";
         const char* wkb_geom2 = "010100000000000000000000000000000000000000";
 
         geos::geom::PrecisionModel precision(geos::geom::PrecisionModel::FLOATING);
-        geos::geom::GeometryFactory f(&precision);
+        GeometryFactory::unique_ptr f(GeometryFactory::create(&precision));
         std::istringstream istr1(wkb_geom1);
         std::istringstream istr2(wkb_geom2);
-        geos::io::WKBReader wkb(f);
+        geos::io::WKBReader wkb(*f);
         GeomPtr g1(wkb.readHEX(istr1));
         GeomPtr g2(wkb.readHEX(istr2));
         ensure(g1->isValid());
diff --git a/tests/unit/operation/intersection/RectangleIntersectionTest.cpp b/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
index 7ac8ccb..57ffb5c 100644
--- a/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
+++ b/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
@@ -6,7 +6,6 @@
 // geos
 #include <geos/operation/intersection/Rectangle.h>
 #include <geos/operation/intersection/RectangleIntersection.h>
-#include <geos/geom/GeometryFactory.h>
 #include <geos/geom/Geometry.h>
 #include <geos/geom/Polygon.h>
 #include <geos/geom/Point.h>
@@ -27,7 +26,6 @@ namespace tut
     // Common data used by tests
     struct test_rectangleintersectiontest_data
     {
-        geos::geom::GeometryFactory gf;
         geos::io::WKTReader wktreader;
         geos::io::WKTWriter wktwriter;
 
@@ -37,8 +35,7 @@ namespace tut
         typedef geos::operation::intersection::RectangleIntersection RectangleIntersection;
 
         test_rectangleintersectiontest_data()
-          : gf(),
-            wktreader(&gf)
+          : wktreader()
         {
           wktwriter.setTrim(true);
         }
diff --git a/tests/unit/operation/linemerge/LineMergerTest.cpp b/tests/unit/operation/linemerge/LineMergerTest.cpp
index c191995..9c72af2 100644
--- a/tests/unit/operation/linemerge/LineMergerTest.cpp
+++ b/tests/unit/operation/linemerge/LineMergerTest.cpp
@@ -30,7 +30,6 @@ namespace tut
     typedef std::vector<geos::geom::Geometry*> GeomVect;
     typedef std::vector<geos::geom::LineString*> LineVect;
 
-    geos::geom::GeometryFactory gf;
     geos::io::WKTReader wktreader;
     geos::io::WKTWriter wktwriter;
 
@@ -42,7 +41,7 @@ namespace tut
     LineVect* mrgGeoms;
 
     test_linemerger_data()
-      : gf(), wktreader(&gf), wktwriter(), mrgGeoms(0)
+      : wktreader(), wktwriter(), mrgGeoms(0)
     {
       wktwriter.setTrim(true);
     }
@@ -161,6 +160,7 @@ namespace tut
     doTest(inpWKT, expWKT);
   }
 
+  // Only lines with coincident vertices may be merged.
   template<> template<>
   void object::test<2>()
   {
@@ -182,6 +182,7 @@ namespace tut
     doTest(inpWKT, expWKT);
   }
 
+  // Two intersecting/crossing segments must not merge
   template<> template<>
   void object::test<3>()
   {
@@ -233,6 +234,47 @@ namespace tut
     doTest(inpWKT, expWKT);
   }
 
+  // Merge segments of a triangle
+  template<> template<>
+  void object::test<7>()
+  {
+      const char* inpWKT[] = {
+        "LINESTRING(0 0, 0 5)",
+        "LINESTRING(0 5, 5 5)",
+        "LINESTRING(5 5, 5 0)",
+        "LINESTRING(5 0, 0 0)",
+        NULL };
+      const char* expWKT[] = {
+        "LINESTRING(0 0, 0 5, 5 5, 5 0, 0 0)",
+          NULL };
+
+      doTest(inpWKT, expWKT);
+  }
+
+  // Merge union of segments of a triangle
+  template<> template<>
+  void object::test<8>()
+  {
+      GeomPtr line1(readWKT("LINESTRING(0 0, 0 5)"));
+      GeomPtr line2(readWKT("LINESTRING(0 5, 5 5)"));
+      GeomPtr line3(readWKT("LINESTRING(5 5, 5 0)"));
+      GeomPtr line4(readWKT("LINESTRING(5 0, 0 0)"));
+      // Union segments incrementally
+      GeomPtr lines12(line1->Union(line2.get()));
+      GeomPtr lines123(lines12->Union(line3.get())); 
+      GeomPtr lines1234(lines123->Union(line4.get()));
+
+      // MultiLineString expected by design, see corresponding test in OverlayOpUnionTest
+      ensure_equals(lines1234->getGeometryTypeId(), geos::geom::GEOS_MULTILINESTRING);
+
+      // Merge MultiLineString into LineString
+      LineMerger lineMerger;
+      lineMerger.add(lines1234.get());
+      mrgGeoms = lineMerger.getMergedLineStrings();
+
+      GeomPtr expected(readWKT("LINESTRING(0 0, 0 5, 5 5, 5 0, 0 0)"));
+      ensure(contains(*mrgGeoms, expected.get(), true));
+  }
 
 } // namespace tut
 
diff --git a/tests/unit/operation/linemerge/LineSequencerTest.cpp b/tests/unit/operation/linemerge/LineSequencerTest.cpp
index 3ba109b..f07dacb 100644
--- a/tests/unit/operation/linemerge/LineSequencerTest.cpp
+++ b/tests/unit/operation/linemerge/LineSequencerTest.cpp
@@ -30,7 +30,6 @@ namespace tut
     typedef std::vector<geos::geom::Geometry*> GeomVect;
     typedef std::vector<geos::geom::LineString*> LineVect;
 
-    geos::geom::GeometryFactory gf;
     geos::io::WKTReader wktreader;
     geos::io::WKTWriter wktwriter;
 
@@ -40,7 +39,7 @@ namespace tut
     GeomVect inpGeoms;
 
     test_linesequencer_data()
-      : gf(), wktreader(&gf), wktwriter()
+      : wktreader(), wktwriter()
     {
       wktwriter.setTrim(true);
     }
diff --git a/tests/unit/operation/overlay/OverlayOpUnionTest.cpp b/tests/unit/operation/overlay/OverlayOpUnionTest.cpp
new file mode 100644
index 0000000..ab6ba7f
--- /dev/null
+++ b/tests/unit/operation/overlay/OverlayOpUnionTest.cpp
@@ -0,0 +1,66 @@
+// 
+// Test Suite for geos::operation::OverlayOp class for UNION
+
+#include <tut.hpp>
+// geos
+#include <geos/operation/overlay/OverlayOp.h>
+#include <geos/geom/Geometry.h>
+#include <geos/geom/GeometryFactory.h>
+#include <geos/geom/PrecisionModel.h>
+#include <geos/io/WKBReader.h>
+#include <geos/io/WKTReader.h>
+// std
+#include <string>
+#include <memory>
+
+using namespace geos::geom;
+using namespace geos::operation;
+
+namespace tut
+{
+    //
+    // Test Group
+    //
+
+    struct test_overlayopunion_data
+    {
+        typedef geos::geom::Geometry::AutoPtr GeometryPtr;
+        typedef geos::geom::GeometryFactory GeometryFactory;
+        typedef geos::geom::GeometryFactory::unique_ptr GeometryFactoryPtr;
+    };
+
+    typedef test_group<test_overlayopunion_data> group;
+    typedef group::object object;
+
+    group test_overlayopunion_group("geos::operation::OverlayOp::UNION");
+
+    //
+    // Test Cases
+    //
+
+    // 1 - Union four connected segments of a square
+    template<>
+    template<>
+    void object::test<1>()
+    {
+        GeometryFactoryPtr factory = geos::geom::GeometryFactory::create();
+        geos::io::WKTReader reader(*factory);
+        GeometryPtr line1(reader.read("LINESTRING(0 0, 0 5)"));
+        GeometryPtr line2(reader.read("LINESTRING(0 5, 5 5)"));
+        GeometryPtr line3(reader.read("LINESTRING(5 5, 5 0)"));
+        GeometryPtr line4(reader.read("LINESTRING(5 0, 0 0)"));
+
+        // union segments incrementally
+        GeometryPtr lines12(line1->Union(line2.get()));
+        GeometryPtr lines123(lines12->Union(line3.get())); 
+        GeometryPtr lines1234(lines123->Union(line4.get()));
+
+        ensure_equals(lines1234->getGeometryTypeId(), geos::geom::GEOS_MULTILINESTRING);
+        
+        // NOTE: Since the union operation makes no effort to simplify and
+        // drop nodes of degree 2 from the built topology,
+        // do not expect GEOS_LINESTRING.
+        // See LineMergerTest where the test triangle is generated as a single LineString.
+    }
+
+} // namespace tut
diff --git a/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp b/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp
index b3d9205..d283c02 100644
--- a/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp
+++ b/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp
@@ -24,16 +24,13 @@ namespace tut
     {
         typedef std::auto_ptr<geos::geom::Geometry> GeomAutoPtr;
 
-        geos::geom::GeometryFactory factory;
-
         geos::io::WKTReader reader;
 
         typedef geos::operation::overlay::snap::GeometrySnapper GeometrySnapper;
 
         test_geometrysnapper_data()
                 :
-                factory(), // initialize before use!
-                reader(&factory)
+                reader()
         {
         }
     };
diff --git a/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp b/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
index 8c38e90..4657868 100644
--- a/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
+++ b/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
@@ -293,7 +293,6 @@ namespace tut
   }
 
   // Test two candidate vertices snaps
-/* The following one fails, I bet in JTS too.. but haven't tested
   template<>
   template<>
   void object::test<8>()
@@ -329,6 +328,50 @@ namespace tut
     ensure_equals(ret->operator[](1), src_b);
     ensure_equals(ret->operator[](2), src_c);
   }
-*/
+
+  // Snap of last segment in closed linestring
+  // See https://trac.osgeo.org/geos/ticket/758
+  template<>
+  template<>
+  void object::test<9>()
+  {
+    using geos::geom::Coordinate;
+    using geos::operation::overlay::snap::LineStringSnapper;
+
+    typedef std::auto_ptr<Coordinate::Vect> CoordsVectAptr;
+
+
+    // Source: (1 1, 5 9, 9 1, 1 1)
+    Coordinate src_a(1, 1);
+    Coordinate src_b(5, 9);
+    Coordinate src_c(9, 1);
+    Coordinate::Vect srcCoords;
+    srcCoords.push_back(src_a);
+    srcCoords.push_back(src_b);
+    srcCoords.push_back(src_c);
+    srcCoords.push_back(src_a);
+
+    // Snap: (0 0, 10 0, 1 0.5)
+    Coordinate snp_a(0, 0);
+    Coordinate snp_b(10, 0);
+    Coordinate snp_c(1, 0.5);
+    Coordinate::ConstVect snpCoords;
+    snpCoords.push_back( &snp_a );
+    snpCoords.push_back( &snp_b );
+    snpCoords.push_back( &snp_c );
+
+    // Snap with tolerance of 2
+    // (both first and second point could be snapped)
+    LineStringSnapper snapper(srcCoords, 2);
+
+    // Expect: (0 0, 5 9, 10 0, 1 0.5, 0 0)
+    CoordsVectAptr ret(snapper.snapTo(snpCoords));
+    ensure_equals(ret->size(), 5u);
+    ensure_equals(ret->operator[](0), snp_a); //  0 0
+    ensure_equals(ret->operator[](1), src_b); //  5 9
+    ensure_equals(ret->operator[](2), snp_b); // 10 0
+    ensure_equals(ret->operator[](3), snp_c); //  1 0.5
+    ensure_equals(ret->operator[](4), snp_a); //  0 0
+  }
 
 } // namespace tut
diff --git a/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp b/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
index 3694215..671b122 100644
--- a/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
+++ b/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
@@ -25,7 +25,6 @@ namespace tut
 	// Common data used by tests
 	struct test_fuzzypointlocator_data
 	{
-		geos::geom::GeometryFactory gf;
 		geos::io::WKTReader wktreader;
 		geos::io::WKBReader wkbreader;
 
@@ -35,9 +34,8 @@ namespace tut
 
 		test_fuzzypointlocator_data()
 			:
-			gf(),
-			wktreader(&gf),
-			wkbreader(gf)
+			wktreader(),
+			wkbreader()
 		{
 			std::string wkt("POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))");
 			g.reset(wktreader.read(wkt));
diff --git a/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp b/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
index 6beb593..f283fc0 100644
--- a/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
+++ b/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
@@ -27,7 +27,7 @@ namespace tut
 	// Common data used by tests
 	struct test_offsetpointgenerator_data
 	{
-		geos::geom::GeometryFactory gf;
+		const geos::geom::GeometryFactory& gf;
 		geos::io::WKTReader wktreader;
 		geos::algorithm::PointLocator locator;
 
@@ -37,7 +37,7 @@ namespace tut
 
 		test_offsetpointgenerator_data()
 			:
-			gf(),
+			gf(*GeometryFactory::getDefaultInstance()),
 			wktreader(&gf)
 		{
 		}
diff --git a/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp b/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
index d65ef47..eae56ba 100644
--- a/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
+++ b/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
@@ -27,7 +27,6 @@ namespace tut
 	// Common data used by tests
 	struct test_overlayresultvalidator_data
 	{
-		geos::geom::GeometryFactory gf;
 		geos::io::WKTReader wktreader;
 		geos::algorithm::PointLocator locator;
 
@@ -37,8 +36,7 @@ namespace tut
 
 		test_overlayresultvalidator_data()
 			:
-			gf(),
-			wktreader(&gf)
+			wktreader()
 		{
 		}
 
diff --git a/tests/unit/operation/polygonize/PolygonizeTest.cpp b/tests/unit/operation/polygonize/PolygonizeTest.cpp
index 156e7f2..cb15db2 100644
--- a/tests/unit/operation/polygonize/PolygonizeTest.cpp
+++ b/tests/unit/operation/polygonize/PolygonizeTest.cpp
@@ -29,7 +29,6 @@ namespace tut
     // Common data used by tests
     struct test_polygonizetest_data
     {
-        geos::geom::GeometryFactory gf;
         geos::io::WKTReader wktreader;
         geos::io::WKTWriter wktwriter;
 
@@ -39,8 +38,7 @@ namespace tut
         typedef geos::operation::polygonize::Polygonizer Polygonizer;
 
         test_polygonizetest_data()
-          : gf(),
-            wktreader(&gf)
+          : wktreader()
         {
           wktwriter.setTrim(true);
         }
diff --git a/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp b/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
index 96d2408..af5a9b0 100644
--- a/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
+++ b/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
@@ -28,7 +28,6 @@ namespace tut
   {
     typedef geos::operation::sharedpaths::SharedPathsOp SharedPathsOp;
 
-    geos::geom::GeometryFactory gf;
     geos::io::WKTReader wktreader;
     geos::io::WKTWriter wktwriter;
 
@@ -38,7 +37,7 @@ namespace tut
     SharedPathsOp::PathList backDir;
 
     test_shpathop_data()
-      : gf(), wktreader(&gf), wktwriter()
+      : wktreader(), wktwriter()
     {
       wktwriter.setTrim(true);
     }
diff --git a/tests/unit/operation/union/CascadedPolygonUnionTest.cpp b/tests/unit/operation/union/CascadedPolygonUnionTest.cpp
index 620bf2b..66b36b0 100644
--- a/tests/unit/operation/union/CascadedPolygonUnionTest.cpp
+++ b/tests/unit/operation/union/CascadedPolygonUnionTest.cpp
@@ -25,15 +25,15 @@ namespace tut
     // Common data used by tests
     struct test_cascadedpolygonuniontest_data
     {
-        geos::geom::GeometryFactory gf;
+        const geos::geom::GeometryFactory& gf;
         geos::io::WKTReader wktreader;
         geos::io::WKTWriter wktwriter;
 
         typedef geos::geom::Geometry::AutoPtr GeomPtr;
 
         test_cascadedpolygonuniontest_data()
-          : gf(),
-            wktreader(&gf)
+          : gf(*geos::geom::GeometryFactory::getDefaultInstance())
+          , wktreader(&gf)
         {}
     };
 
diff --git a/tests/unit/operation/union/UnaryUnionOpTest.cpp b/tests/unit/operation/union/UnaryUnionOpTest.cpp
index 09bd48b..38a098b 100644
--- a/tests/unit/operation/union/UnaryUnionOpTest.cpp
+++ b/tests/unit/operation/union/UnaryUnionOpTest.cpp
@@ -26,7 +26,8 @@ namespace tut
     // Common data used by tests
     struct test_unaryuniontest_data
     {
-        geos::geom::GeometryFactory gf;
+        typedef geos::geom::GeometryFactory GeometryFactory;
+        GeometryFactory::unique_ptr gf;
         geos::io::WKTReader wktreader;
         geos::io::WKTWriter wktwriter;
 
@@ -35,8 +36,8 @@ namespace tut
         typedef geos::operation::geounion::UnaryUnionOp UnaryUnionOp;
 
         test_unaryuniontest_data()
-          : gf(),
-            wktreader(&gf)
+          : gf(GeometryFactory::create()),
+            wktreader(gf.get())
         {
           wktwriter.setTrim(true);
         }
@@ -85,7 +86,7 @@ namespace tut
 
           GeomPtr result;
           if ( geoms.empty() )
-            result = UnaryUnionOp::Union(geoms, gf);
+            result = UnaryUnionOp::Union(geoms, *gf);
           else
             result = UnaryUnionOp::Union(geoms);
 
diff --git a/tests/unit/operation/valid/IsValidTest.cpp b/tests/unit/operation/valid/IsValidTest.cpp
index 7b822d0..c2eac13 100644
--- a/tests/unit/operation/valid/IsValidTest.cpp
+++ b/tests/unit/operation/valid/IsValidTest.cpp
@@ -33,12 +33,13 @@ namespace tut
     struct test_isvalidop_data
     {
 	typedef std::auto_ptr<Geometry> GeomPtr;
+        typedef geos::geom::GeometryFactory GeometryFactory;
 
         geos::geom::PrecisionModel pm_;
-        geos::geom::GeometryFactory factory_;
+        GeometryFactory::unique_ptr factory_;
 
         test_isvalidop_data()
-			: pm_(1), factory_(&pm_, 0)
+			: pm_(1), factory_(GeometryFactory::create(&pm_, 0))
         {}
     };
 
@@ -59,7 +60,7 @@ namespace tut
 	CoordinateSequence* cs = new CoordinateArraySequence();
 	cs->add(Coordinate(0.0, 0.0));
 	cs->add(Coordinate(1.0, DoubleNotANumber));
-	GeomPtr line ( factory_.createLineString(cs) );
+	GeomPtr line ( factory_->createLineString(cs) );
 
 
 	IsValidOp isValidOp(line.get());
diff --git a/tests/unit/operation/valid/ValidClosedRingTest.cpp b/tests/unit/operation/valid/ValidClosedRingTest.cpp
index a981d5c..f79dcd9 100644
--- a/tests/unit/operation/valid/ValidClosedRingTest.cpp
+++ b/tests/unit/operation/valid/ValidClosedRingTest.cpp
@@ -38,13 +38,16 @@ namespace tut
     struct test_validclosedring_data
     {
 	typedef std::auto_ptr<Geometry> GeomPtr;
+        typedef geos::geom::GeometryFactory GeometryFactory;
 
         geos::geom::PrecisionModel pm_;
-        geos::geom::GeometryFactory factory_;
+        GeometryFactory::unique_ptr factory_;
         geos::io::WKTReader rdr;
 
         test_validclosedring_data()
-			: pm_(1), factory_(&pm_, 0), rdr(&factory_)
+			: pm_(1)
+      , factory_(GeometryFactory::create(&pm_, 0))
+      , rdr(factory_.get())
         {}
 
 	GeomPtr fromWKT(const std::string& wkt)
diff --git a/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp b/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
index d7062d3..bdcffbd 100644
--- a/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
+++ b/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
@@ -40,11 +40,14 @@ namespace tut
 	typedef std::auto_ptr<Geometry> GeomPtr;
 
         geos::geom::PrecisionModel pm_;
-        geos::geom::GeometryFactory factory_;
+        typedef geos::geom::GeometryFactory GeometryFactory;
+        geos::geom::GeometryFactory::unique_ptr factory_;
         geos::io::WKTReader rdr;
 
         test_ValidSelfTouchingRingFormingHole_data()
-			: pm_(1), factory_(&pm_, 0), rdr(&factory_)
+      : pm_(1)
+      , factory_(GeometryFactory::create(&pm_, 0))
+      , rdr(factory_.get())
         {}
 
 	GeomPtr fromWKT(const std::string& wkt)
diff --git a/tests/unit/precision/GeometryPrecisionReducerTest.cpp b/tests/unit/precision/GeometryPrecisionReducerTest.cpp
index 4e58da2..8f52bb5 100644
--- a/tests/unit/precision/GeometryPrecisionReducerTest.cpp
+++ b/tests/unit/precision/GeometryPrecisionReducerTest.cpp
@@ -25,11 +25,12 @@ namespace tut
     struct test_gpr_data
     {
         typedef std::auto_ptr<geos::geom::Geometry> GeometryPtr;
+        typedef geos::geom::GeometryFactory GeometryFactory;
 
         geos::geom::PrecisionModel pm_float_;
         geos::geom::PrecisionModel pm_fixed_;
-        geos::geom::GeometryFactory factory_;
-        geos::geom::GeometryFactory factory_fixed_;
+        GeometryFactory::unique_ptr factory_;
+        GeometryFactory::unique_ptr factory_fixed_;
         geos::io::WKTReader reader_;
         geos::precision::GeometryPrecisionReducer reducer_;
         geos::precision::GeometryPrecisionReducer reducerKeepCollapse_; // keep collapse
@@ -38,12 +39,12 @@ namespace tut
         test_gpr_data() :
             pm_float_(),
             pm_fixed_(1),
-            factory_(&pm_float_, 0),
-            factory_fixed_(&pm_fixed_, 0),
-            reader_(&factory_),
+            factory_(GeometryFactory::create(&pm_float_, 0)),
+            factory_fixed_(GeometryFactory::create(&pm_fixed_, 0)),
+            reader_(factory_.get()),
             reducer_(pm_fixed_),
             reducerKeepCollapse_(pm_fixed_),
-            reducerChangePM_(factory_fixed_)
+            reducerChangePM_(*factory_fixed_)
         {
             reducerKeepCollapse_.setRemoveCollapsedComponents(false);
         }
@@ -171,7 +172,7 @@ namespace tut
         GeometryPtr result(reducerChangePM_.reduce(*g1));
 
         ensure( result->equalsExact(g2.get()) );
-        ensure( result->getFactory() == &factory_fixed_ );
+        ensure( result->getFactory() == factory_fixed_.get() );
     }
 
     // Test points with changed PM
@@ -185,7 +186,7 @@ namespace tut
         GeometryPtr result(reducerChangePM_.reduce(*g1));
 
         ensure( result->equalsExact(g2.get()) );
-        ensure( result->getFactory() == &factory_fixed_ );
+        ensure( result->getFactory() == factory_fixed_.get() );
     }
 
 
diff --git a/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp b/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
index 26b8e93..642506c 100644
--- a/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
+++ b/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
@@ -23,10 +23,11 @@ namespace tut
     struct test_sgpr_data
     {
         typedef std::auto_ptr<geos::geom::Geometry> GeometryPtr;
+        typedef geos::geom::GeometryFactory GeometryFactory;
 
         geos::geom::PrecisionModel pm_float_;
         geos::geom::PrecisionModel pm_fixed_;
-        geos::geom::GeometryFactory factory_;
+        GeometryFactory::unique_ptr factory_;
         geos::io::WKTReader reader_;
         geos::precision::SimpleGeometryPrecisionReducer reducer_;
         geos::precision::SimpleGeometryPrecisionReducer reducer2_; // keep collapse
@@ -34,8 +35,8 @@ namespace tut
         test_sgpr_data() :
             pm_float_(),
             pm_fixed_(1),
-            factory_(&pm_float_, 0),
-            reader_(&factory_),
+            factory_(GeometryFactory::create(&pm_float_, 0)),
+            reader_(factory_.get()),
             reducer_(&pm_fixed_),
             reducer2_(&pm_fixed_)
         {
diff --git a/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp b/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
index 8720158..13a5289 100644
--- a/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
+++ b/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
@@ -27,8 +27,6 @@ namespace tut
 	// Common data used by tests
 	struct test_dpsimp_data
 	{
-		geos::geom::PrecisionModel pm;
-		geos::geom::GeometryFactory gf;
 		geos::io::WKTReader wktreader;
         geos::io::WKTWriter wktwriter;
 
@@ -36,9 +34,7 @@ namespace tut
 
 		test_dpsimp_data()
 			:
-			pm(geos::geom::PrecisionModel::FLOATING),
-			gf(&pm),
-			wktreader(&gf)
+			wktreader()
 		{}
 	};
 
diff --git a/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp b/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
index 121c04b..f4a2612 100644
--- a/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
+++ b/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
@@ -28,14 +28,18 @@ namespace tut
 	struct test_tpsimp_data
 	{
 		geos::geom::PrecisionModel pm;
-		geos::geom::GeometryFactory gf;
+		typedef geos::geom::GeometryFactory GeometryFactory;
+		GeometryFactory::unique_ptr gf;
 		geos::io::WKTReader wktreader;
 		geos::io::WKTWriter wktwriter;
 
 		typedef geos::geom::Geometry::AutoPtr GeomPtr;
 
 		test_tpsimp_data()
-            : pm(1.0), gf(&pm), wktreader(&gf), wktwriter()
+            : pm(1.0)
+            , gf(GeometryFactory::create(&pm))
+            , wktreader(gf.get())
+            , wktwriter()
 		{
 			//wktwriter.setTrim(1);
 		}
diff --git a/tests/unit/triangulate/DelaunayTest.cpp b/tests/unit/triangulate/DelaunayTest.cpp
index 719e8d9..d4e0c26 100644
--- a/tests/unit/triangulate/DelaunayTest.cpp
+++ b/tests/unit/triangulate/DelaunayTest.cpp
@@ -49,7 +49,7 @@ namespace tut
 		Geometry *expected = reader.read(expectedWkt);
 		DelaunayTriangulationBuilder builder;
 		builder.setTolerance(tolerance);
-		GeometryFactory geomFact;
+    const GeometryFactory& geomFact(*GeometryFactory::getDefaultInstance());
 
 		builder.setSites(*sites);
 		if(computeTriangles)
@@ -84,7 +84,7 @@ namespace tut
 		triangulator.insertSite(Vertex(0, 0));
 
 		//extract the triangles from the subdivision
-		GeometryFactory geomFact;
+    const GeometryFactory& geomFact(*GeometryFactory::getDefaultInstance());
 		std::auto_ptr<GeometryCollection> tris = sub.getTriangles(geomFact);
 	}
 
@@ -181,14 +181,12 @@ namespace tut
 		v->push_back( Coordinate (150,200) );
 		v->push_back( Coordinate (180,270) );
 		v->push_back( Coordinate (275,163) );
+		geos::geom::CoordinateArraySequence seq(v);
 
-		geos::geom::CoordinateArraySequence *seq = new CoordinateArraySequence(v);
-
-		Envelope env = DelaunayTriangulationBuilder::envelope(*seq);
+		Envelope env = DelaunayTriangulationBuilder::envelope(seq);
 
 		ensure_equals(env.getWidth() , 125);
 		ensure_equals(env.getHeight() , 107);
-
 	}
 
 } // namespace tut
diff --git a/tests/unit/triangulate/VoronoiTest.cpp b/tests/unit/triangulate/VoronoiTest.cpp
index d8aa471..ec41e09 100644
--- a/tests/unit/triangulate/VoronoiTest.cpp
+++ b/tests/unit/triangulate/VoronoiTest.cpp
@@ -52,7 +52,7 @@ namespace tut
 		std::auto_ptr<Geometry> sites ( reader.read(sitesWkt) );
 		std::auto_ptr<Geometry> expected ( reader.read(expectedWkt) );
 		std::auto_ptr<GeometryCollection> results;
-		GeometryFactory geomFact;
+    const GeometryFactory& geomFact(*GeometryFactory::getDefaultInstance());
 		builder.setSites(*sites);
 
 		//set Tolerance:
diff --git a/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp b/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp
index dc22738..a61ed39 100644
--- a/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp
+++ b/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp
@@ -37,15 +37,11 @@ namespace tut
 	// dummy data, not used
 	struct test_quadedgesub_data
 	{
-		geos::geom::PrecisionModel pm;
-		geos::geom::GeometryFactory gf;
 		geos::io::WKTReader reader;
 		geos::io::WKTWriter writer;
 		test_quadedgesub_data()
       :
-			pm(),
-			gf(&pm),
-			reader(gf),
+			reader(),
 			writer()
 		{
 			writer.setTrim(true);
@@ -78,8 +74,8 @@ namespace tut
 		ensure(!sub.isOnEdge(e, Coordinate(10, 10)));
 		ensure(!sub.isVertexOfEdge(e, Vertex(10, 10)));
 
-		GeometryFactory geomFact;
-		std::auto_ptr<GeometryCollection> tris = sub.getTriangles(geomFact);
+		GeometryFactory::unique_ptr geomFact(GeometryFactory::create());
+		std::auto_ptr<GeometryCollection> tris = sub.getTriangles(*geomFact);
 		tris.reset();
 		//WKTWriter wkt;
 		//printf("%s\n", wkt.writeFormatted(tris).c_str());
@@ -103,7 +99,7 @@ namespace tut
 		triangulator.insertSites(*vertices);
 
 		//Test for getVoronoiDiagram::
-		GeometryFactory geomFact;
+		const GeometryFactory& geomFact(*GeometryFactory::getDefaultInstance());
 		std::auto_ptr<GeometryCollection> polys = subdiv->getVoronoiDiagram(geomFact);
 		const char *expected_str = "GEOMETRYCOLLECTION (POLYGON ((-5849.974929324658 2268.0517257497568, -4529.9920486948895 2247.139449440667, 221.20588235294116 210.91176470588235, -684.4227119984187 -2848.644297291955, -5849.974929324658 2268.0517257497568)), POLYGON ((212.5 -3774.5, -684.4227119984187 -2848.644297291955, 221.20588235294116 210.91176470588235, 2448.7167655626645 2188.608343256571, 6235.0370264064295 2248.0370264064295, 212.5 -3774.5)), POLYGON ((-4529.9920486948895 2247.139 [...]
 //		std::cout << polys->toString() << std::endl;
@@ -151,7 +147,7 @@ namespace tut
     triangulator.insertSites(*vertices);
 
     //Test for getVoronoiDiagram::
-    GeometryFactory geomFact;
+		const GeometryFactory& geomFact(*GeometryFactory::getDefaultInstance());
     std::auto_ptr<GeometryCollection> polys = subdiv->getVoronoiDiagram(geomFact);
     for (std::size_t i=0; i<polys->getNumGeometries(); ++i) {
       const Polygon* p = dynamic_cast<const Polygon*>(polys->getGeometryN(i));
diff --git a/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp b/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp
index 60a9546..1a6a339 100644
--- a/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp
+++ b/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp
@@ -25,13 +25,16 @@ namespace tut
     struct test_uniquecoordinatearrayfilter_data
 	{
 		typedef std::auto_ptr<geos::geom::Geometry> GeometryPtr;
+		typedef geos::geom::GeometryFactory GeometryFactory;
 		
 		geos::geom::PrecisionModel pm_;
-		geos::geom::GeometryFactory factory_;
+		GeometryFactory::unique_ptr factory_;
 		geos::io::WKTReader reader_;
 
 		test_uniquecoordinatearrayfilter_data()
-			: pm_(1), factory_(&pm_, 0), reader_(&factory_)
+			: pm_(1)
+      , factory_(GeometryFactory::create(&pm_, 0))
+      , reader_(factory_.get())
 		{}		
 	};
 
diff --git a/tests/xmltester/CMakeLists.txt b/tests/xmltester/CMakeLists.txt
index c6c7534..3ee3eea 100644
--- a/tests/xmltester/CMakeLists.txt
+++ b/tests/xmltester/CMakeLists.txt
@@ -56,10 +56,10 @@ if(GEOS_ENABLE_TESTS)
     ${XMLTESTS_DIR}/buffer.xml
     ${XMLTESTS_DIR}/test.xml
     ${XMLTESTS_DIR}/singlesidedbuffer.xml
-    ${XMLTESTS_DIR}/bug176.xml
-    ${XMLTESTS_DIR}/bug188.xml
-    ${XMLTESTS_DIR}/bug244.xml
-    ${XMLTESTS_DIR}/bug275.xml
+    ${XMLTESTS_DIR}/ticket/bug176.xml
+    ${XMLTESTS_DIR}/ticket/bug188.xml
+    ${XMLTESTS_DIR}/ticket/bug244.xml
+    ${XMLTESTS_DIR}/ticket/bug275.xml
     ${XMLTESTS_DIR}/general/TestBoundary.xml
     ${XMLTESTS_DIR}/general/TestBuffer.xml
     ${XMLTESTS_DIR}/general/TestBufferMitredJoin.xml
diff --git a/tests/xmltester/Makefile.in b/tests/xmltester/Makefile.in
index 45f9282..b26d66d 100644
--- a/tests/xmltester/Makefile.in
+++ b/tests/xmltester/Makefile.in
@@ -502,9 +502,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -585,6 +582,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff --git a/tests/xmltester/SimpleWKTTester.cpp b/tests/xmltester/SimpleWKTTester.cpp
index af0b1d5..a71e3bb 100644
--- a/tests/xmltester/SimpleWKTTester.cpp
+++ b/tests/xmltester/SimpleWKTTester.cpp
@@ -39,7 +39,9 @@ int main(int /*argc*/, char** /*argv*/)
 		ifstream in("WKTIn");
 		string instr;
 		string outstr;
-		WKTReader *r = new WKTReader(new GeometryFactory(new PrecisionModel(),10));
+		PrecisionModel pm;
+    GeometryFactory::unique_ptr gf = GeometryFactory::create(&pm, 10);
+		WKTReader *r = new WKTReader(gf.get());
 		WKTWriter *w = new WKTWriter();
 		Geometry *g;
 
diff --git a/tests/xmltester/XMLTester.cpp b/tests/xmltester/XMLTester.cpp
index e87e3e7..f3192a3 100644
--- a/tests/xmltester/XMLTester.cpp
+++ b/tests/xmltester/XMLTester.cpp
@@ -435,7 +435,7 @@ XMLTester::parseRun(const TiXmlNode* node)
         std::cerr << *curr_file <<": run: Precision Model: " << pm->toString() <<std::endl;
     }
 
-    factory.reset(new geom::GeometryFactory(pm.get()));
+    factory = geom::GeometryFactory::create(pm.get());
     wktreader.reset(new io::WKTReader(factory.get()));
     wktwriter.reset(new io::WKTWriter());
     wkbreader.reset(new io::WKBReader(*factory));
@@ -768,6 +768,15 @@ XMLTester::parseTest(const TiXmlNode* node)
 
             if (actual_result==opRes) success=1;
         }
+        else if (opName=="relatestring")
+        {
+            std::auto_ptr<geom::IntersectionMatrix> im(gA->relate(gB));
+            assert(im.get());
+
+            actual_result=im->toString();
+
+            if (actual_result==opRes) success=1;
+        }
 
         else if (opName=="isvalid")
         {
diff --git a/tests/xmltester/XMLTester.h b/tests/xmltester/XMLTester.h
index 4d5942e..f43d0c7 100644
--- a/tests/xmltester/XMLTester.h
+++ b/tests/xmltester/XMLTester.h
@@ -51,7 +51,7 @@ private:
 	geom::Geometry *gT;
 
 	std::auto_ptr<geom::PrecisionModel> pm;
-	std::auto_ptr<geom::GeometryFactory> factory;
+	geom::GeometryFactory::unique_ptr factory;
 	std::auto_ptr<io::WKTReader> wktreader;
 	std::auto_ptr<io::WKTWriter> wktwriter;
 	std::auto_ptr<io::WKBReader> wkbreader;
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 7b77293..ee9ce4c 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -237,9 +237,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PHP = @PHP@
-PHPUNIT = @PHPUNIT@
-PHP_CONFIG = @PHP_CONFIG@
 PYTHON = @PYTHON@
 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
@@ -320,6 +317,7 @@ program_transform_name = @program_transform_name@
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/geos.git



More information about the Pkg-grass-devel mailing list