Add missing LIBS
[geos.git] / NEWS
blob51206be65f68da655d3b81bc41a576a26bf3f229
1 Changes in 3.6.0
2 2015-MM-DD
4 - New things:
5   - CAPI: GEOSGeom_setPrecision (#713) - PHP: Geometry->setPrecision
6   - CAPI: GEOSGeom_getPrecision - PHP: Geometry->getPrecision
7   - CAPI: GEOSMinimumRotatedRectangle and GEOSMinimumWidth
8     (#729, Nyall Dawson)
9   - CAPI: GEOSSTRtree_nearest (#768, Dan Baston)
10   - CAPI: GEOSMinimumClearance and GEOSMinimumClearanceLine
11     (#776, Dan Baston)
12 - Improvements:
13   - ...
14 - C++ API changes:
15   - Automatic memory management for GeometryFactory objects
18 Changes in 3.5.0
19 2015-08-16
21 - New things:
22   - Voronoi API (#627)
23   - PHP: Geometry->normalize method
24   - GEOS_USE_ONLY_R_API macro support (#695)
25   - PHP: WKBReader->read() & WKBWriter::write() methods (Benjamin Morel)
26   - GEOSClipByRect (#699, Mika Heiskanen, Sandro Santilli)
27   - CAPI: thread-safe message handling API (#663, Pepijn Van Eeckhoudt)
28 - Improvements:
29   - Speed-up intersection and difference between geometries
30     with small bounding box overlap.
31   - CAPI: add MULTILINESTRING support for GEOSisClosed (Benjamin Morel)
32 - C++ API changes:
33   - Added no-parameter CoordinateSequenceFactory::create method (Sandro Mani)
35 Changes in 3.4.2
36 2013-08-25
38 - Bug fixes / improvements
39   - Use a double for PrecisionModel scale, avoiding overflows 
40     should fix 32-bit regression failures (#652)
41   - isnan workaround OS detection missing NetBSD, DragonFly, Sun nuance (#650)
42   - Do not distribute platform.h and version.h, but install both (#601)
43   - Non-standard ChangeLog file in 3.4.0 and 3.4.1 releases (#654) 
44   - new travis bot (#657)
45   - accept multiple Nan representations (#656)
46                 
48 Changes in 3.4.1
49 2013-08-17
51 - Bug fixes / improvements
52   - Assertion failure snapping line to points of rectangle
53     smaller than tolerance (#649)
54   - Can't build using cmake with tar ball (#644)
56 Changes in 3.4.0
57 2013-08-11
59 - New things:
60   - Delaunay Triangulation API (#487, #565, #570, #567)
61   - Interruptibility API (C and C++)
62   - CAPI: GEOSNode (#496) - PHP: Geometry->node
63   - GeometryPrecisionReducer class (#496, #526)
64   - BufferInputLineSimplifier header exposed (#548)
65   - New Centroid class supporting mixed geometry components (#612)
66   - io::Writer::reserve() method
67   - CAPI: GEOSNearestPoints
68   - Add --cclibs, --static-clibs and --static-cclibs to geos-config (#497)
69   - Early bail out of overlay exception if input is invalid
71 - C++ API changes:
72   - New noding::GeometryNoder class
73   - Added BufferOp::setSingleSided 
74   - Signature of most functions taking a Label changed to take it
75     by reference rather than pointer.
76   - Signature of most functions taking an IntersectionMatrix changed
77     to take it by reference rather than pointer.
78   - GraphComponent::label is now a Label value (from a pointer)
79   - NodedSegmentString takes ownership of CoordinateSenuence now
80   - io::Writer's toString() returns by const ref, write() takes a const ref
81   - Unify prototypes of WKTReader and WKBReader constructor (#310) 
82   - GeometryCollection::computeEnvelopInternal and 
83     GeometryCollection::compareToSameClass are marked virtual (#478)
84   
85 - Bug fixes / improvements
86   - A point interpolated from a line does not always intersect 
87     the same line (#323) 
88   - Port ConvexHull robustness fix from JTS-1.13 (#457)
89   - Improve Overlay robustness by reducing input precision on topology
90     exception and by refusing to accept unnoded output (#459)
91   - Improve Buffer robustness by reducing input precision on topology
92     exception (#605)
93   - Mismatch segment sides in OffsetCurveBuilder (#633 )
94   - Fixed Linear Referencing API to handle MultiLineStrings consistently
95     by always using the lowest possible index value, and by trimming
96     zero-length components from results (#323)
97   - Fixed CMake configuration to set correct SOVERSION (current - age)
98   - Fix EMPTY return from single-point lines and zero-length polygons (#612)
99   - CMakeLists.txt, tools/geos_svn_revision_cmake.h.in: Add
100           geos_svn_revision.h generator to CMake config (#643)
101         - Makefile.vc 'clean' step leaks obj files (#607) 
103 Changes in 3.3.9
104 2013-09-04
106 - Bug fixes / improvements
107     - Fix OffsetCurve op in presence of duplicated vertices (#602)
108     - Fix LineSegmentVisitor copy ctor (#636)
109     - Fix area boundary return from GEOSPointOnSurface (#623)
110     - Speedup GEOSWKBReader_read (#621)
111     - Fix RobustLineIntersector handling of invalid intersection points (#622)
112     - Reduce likelyhood of invalid output from snap operation (#629, #501)
113     - Reduce memory fragmentation of prepared Polygon/Point intersection op
114     - Fix mingw64 compile (#630)
115     - Fix bug in HotPixel constructor (#635)
116     - Fix install location of linearref headers (#624)
117     - Fix multi-geometry constructor to drop SRID from components (#583)
118   
119 Changes in 3.3.8
120 2013-02-28
122 - Bug fixes / improvements
123     - IsValidOp: throw proper error on nested shells (#608)
124     - Fix header guards (#617, #618, #619)
125     - WKTWriter::appendCoordinate optimisation
126     - Fix centroid computation for collections with empty components (#582)
128 Changes in 3.3.7
129 2013-01-22 
131 - Bug fixes / improvements
132     - Fix abort in RightmostEdgeFinder (#605)
133     - Do not force precision reduction below 6 significant digits
134       while trying to obtain a valid Buffer output (#605)
135     - Fix GEOSPointOnSurface with zero-length linestring (#609)
136     - Fix EMPTY return from zero-area polygon (#613)
137     - Segfault from symdifference (#615)
139 Changes in 3.3.6
140 2012-11-15 -- that's Post-GIS day !
142 - Bug fixes / improvements
143     - Add support for testing with phpunit 3.6 (not loosing support for 3.4)
144     - Segfault from intersection (#586, #598, #599)
146 Changes in 3.3.5
147 2012-06-25
149 - Bug fixes / improvements
150     - Correctly increment CAPI lib version from 3.3.3 (#558)
151     - Port robustness fix to CentroidArea (#559)
152     - Always return POINT from GEOSGetCentroid, even for EMPTY (#560)
153     - Always return POINT from GEOSPointOnSurface, even for EMPTY (#561)
155 Changes in 3.3.4
156 2012-05-31
158 - Bug fixes / improvements
159     - Do not abort on NaN overlay input (#530)
160     - Reduce CommonBitsRemover harmful effects during overlay op (#527)
161     - Better cross-compiler support (#534)
162     - Enable overlay ops short-circuits (#542)
163     - Envelope-based short-circuit for symDifference (#543)
164     - Fix support for PHP 5.4 (#513)
165     - Fix TopologyPreservingSimplifier invalid output on closed line (#508)
166     - Reduce calls to ptNotInList, greatly speeding up Polygonizer (#545)
168 Changes in 3.3.3
169 2012-04-01
171 - Bug fixes / improvements
172     - Fix simplification of collections with empty items (#519)
173     - Fix MSVC compilation of ambiguous log() call (#506)
174     - Fix CMake issues with std:: namespace detection (#493)
176 Changes in 3.3.2
177 2012-01-05
179 - Bug fixes / improvements
180     - Fix CMAKE_CXX_FLAGS overriding -std=gnu++0x (#489)
181     - Missing versions update in CMake configuration (#490)
182     - Fix noding of self-intersecting lines through UnaryUnion (#482)
183     - Fix handling of collapsed edges skipping in BufferOp (#494)
184     - Print up to 18 digits of precision for TopologyException points
185     - Fix noding with reduced precision in Buffer operation (#473)
186     - Fix HotPixel original point invalidation (#498)
187     - Fix CascadedPolygonUnion to discard non-polygonal components (#499)
188     - Improve buffer robustness by reverting to non-snaprounding noder (#495)
189     - Fix C++11 build by avoiding std::pair<auto_ptr> (#491)
190     - Add --clibs to geos-config and GEOS_C_LIBS to geos.m4 (#497)
191     - Apply shoelace formula for area calculation (#485)
192     - Fix default initialization issue for clang (#500)
193     - Improve overlay robustness by fixing areal validity on snapping (#488)
195 Changes in 3.3.1
196 2011-09-27
198 - Bug fixes / improvements
199   - Fix memory leak on invalid geometry in InteriorPointArea (#475)
200   - ValidOp abort in presence of 2 touching holes forming an island (#449)
201   - Enable prepared intersects operation for points
202   - Fortify suspicious code found by static analisys tools
203   - Fix for SOLARIS build (#461)
204   - Fix EMPTY result from GEOSOffsetCurve with distance 0 (#454)
205   - Fix Geometry::clone to copy SRID (#464)
206   - Fix for clang builds (#463)
207   - Fix out-of-place builds for python binding (#332) and regress testing
208   - Fix OS X framework cmake build (#385)
210 Changes in 3.3.0
211 2011-05-30
213 - New things:
214   - CAPI: GEOSBufferWithParams (allows single sided buffers)
215   - CAPI: GEOSOffsetCurve deprecates GEOSSingleSidedBuffer
216   - CAPI: GEOSUnaryUnion deprecates GEOSCascadedUnion
217   - CAPI: GEOSisValidDetail: tell state, reason & location apart. allows
218           passing flags.
219   - CAPI: GEOSContext_setNoticeHandler_r, GEOSContext_setErrorHandler_r
220   - CAPI: GEOSGeom_createEmptyPoint, GEOSGeom_createEmptyLineString
221           GEOSGeom_createEmptyPolygon, GEOSGeom_createEmptyCollection
222   - CAPI: GEOSGeom_extractUniquePoints
223   - CAPI: GEOSGetGeometryN support for single geometries
224   - CAPI: GEOSPolygonize_full to return all informations computed by
225           the polygonizer
226   - CAPI: GEOSOrientationIndex
227   - CAPI: GEOSSharedPaths to find shared paths and their orientation
228   - CAPI: GEOSSnap 
229   - CAPI: GEOSRelatePatternMatch 
230   - CAPI: GEOSCovers, GEOSCoveredBy (#396) 
231   - CAPI: GEOSRelateBoundaryNodeRule (#399) 
232   - CAPI: GEOSGeom_getCoordinateDimension() (#311)
233   - CAPI: GEOSWKTWriter_setOutputDimension, GEOSWKTWriter_setOld3D (#292)
234   -  PHP: new PHP5 bindings based on CAPI
235 - Semantic C++ API changes:
236   - Geometry inheritance chain changed to introduce Puntal, Lineal
237     and Polygonal classes (virtual inheritance introduced)
238   - Polygonizer::getInvalidRingLines retains ownership of vector elements
239   - Geometry::isWithinDistance method is now const
240   - Polygonizer::getCutEdges returns by const ref
241   - Polygonizer::getDangles returns by const ref
242   - Empty LinearRings are closed by definition
243 - Bug fixes / improvements
244   - Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs
245   - Invalid compound geometries reported as valid (#333)
246   - Return up to 15 digits of precision from GEOSisValidReason_t (#329)
247   - CAPI: do not leak contexts when using the non-reentrant interface
248   - Fix duplicated dangles returned by Polygonizer
249   - Fix SnapIfNeededOverlayOp to throw the originating exception
250   - Fixed LineMerger to skip lines with only a single unique coordinate
251   - Fix NodedSegmentString to handle zero-length line segments correctly
252     (via safeOctant)
253   - Fixed buffer OffsetCurveSetBuilder to handle "flat" rings correctly
254   - Added illegal state check in LineSegment::pointAlongOffset() 
255   - Improved performance of RectangleIntersects by always using
256     segment-scanning and refining SegmentIntersectionTester
257   - Reduce memory use in PreparedGeometry predicates (#342)
258   - Fix infinite loop in RobustDeterminant with nan/inf input (#357)
260 Changes in 3.2.0 
261 2009-12-14
263 - Add Single-sided buffer operation
264 - JTS-1.10 sync ...
265   - Drastically improved Buffer speed (20x for a case in testsuite)
266   - Improved EdgeList duplicate edge finding
267   - Added algorithm::distance package
268   - Added algorithm::Angle class
269   - Added algorithm::BoundaryNodeRule class
270   - IsSimpleOp can now return non-simple location coordinate
271   - DistanceOp can now check for 'within distance' predicate
272     (earlier exit)
273   - MultiPolygon::getBoundary always return MultiLineString, also
274     when the result is the EMPTY geometry.
275 - Various bug and leak fixes, optimizations
276 - Replace MarkupSTL with tinyXML
278 Changes in 3.1.0
280 - PreparedGeometry operations for very fast predicate testing.
281   - Intersects()
282   - Covers() 
283   - CoveredBy()
284   - ContainsProperly()
285 - Easier builds under MSVC and OpenSolaris
286 - Thread-safe CAPI option
287 - IsValidReason added to CAPI
288 - GEOSPolygonizer_getCutEdges added to CAPI
289 - CascadedUnion operation for fast unions of geometry sets
290 - Numerous bug fixes.
291   http://trac.osgeo.org/geos/query?status=closed&milestone=3.1.0&order=priority
293 Changes in 3.0.0
295    These are mostly ABI breaking changes.
296    In few cases the API also changed, but the most external one
297    (the documented one) should be unchanged.
299 - New things:
300         - Added geom::BinaryOp class performing a binary operation
301           using different heuristics to reduce probability of robustness
302           issues. Both C-API and XMLTester now use this class for
303           binary operations.
304         - Added covers() and coveredBy() predicates to Geometry class
305         - Added overlay::overlayOp() adapter class
306         - Added GEOSSimplify() and GEOSTopologyPreserveSimplify()
307           to the C API
308         - Added closed ring checks in IsValidOp
309         - Multi-input support in XMLTester 
310         - HEXWKB I/O
311         - Envelope(string) ctor
312         - Ruby interface
313         - New ShortCircuitedGeometryVisitor class
314         - New operation/predicate package
315         - Added CGAlgorithms::isPointInRing() version working with
316           Coordinate::ConstVect type (faster!)
317         - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence
318           class.
319         - Moved GetNumGeometries() and GetGeometryN() interfaces
320           from GeometryCollection to Geometry class.
321         - New planarSubgraph class
322         - New ConnectedSubgraphFinder class.
323         - New LineSequencer class
324         - New WKTWriter::toLineString and ::toPoint convenience methods
325         - New IsValidOp::setSelfTouchingRingFormingHoleValid method
326         - New WKTWriter::toLineString and ::toPoint convenience methods
327         - New IsValidOp::setSelfTouchingRingFormingHoleValid method
328         - New Envelope::centre()
329         - New Envelope::intersection(Envelope)
330         - New Envelope::expandBy(distance, [ydistance])
331         - New LineString::reverse()
332         - New MultiLineString::reverse()
333         - New Geometry::buffer(distance, quadSeg, endCapStyle)
334         - New SnapRounding code
335         - New size() and operator[] interfaces to CoordinateSequence
336         - New ScaledNoder class
337         - New unit tests (make check rule)
339 - Optimizations:
340         - WKT parser speedup
341         - Function inlining
342         - Coordinate copies reduction
343         - Heap allocations reduction
344         - More classes made final
345         - Better use of standard containers
346         - Use of singletons when appropriate
347         - Removed many function calls in loops' end conditions
348         - Improved XMLTester output and user interface
349         - Improved memory use in geos::geom::util::PolygonExtractor
350         - Ported JTS-1.7 version of ConvexHull with big attention to
351           memory usage optimizations.
352         - Changed CoordinateArrayFilter to reduce memory copies
353         - Changed UniqueCoordinateArrayFilter to reduce memory copies
354         - Added rectangle-based optimizations of intersects() and
355           contains() ops
356         - Inlined all planarGraphComponent class
357         - More iterators returning methods and inlining in planargraph.
358         - Obsoleted toInternalGeometry/fromInternalGeometry 
359         - Improved buffering speed and robustness by using Snap Rounding
361 - Semantic changes
363         - SegmentString: getCoordinates() doesn't return a clone
364           anymore, getCoordinatesRO() obsoleted.
365         - JTS packages mapped to geos:: sub-namespaces
366         - Geometry::getInteriorPoint() returns NULL if called
367           against an EMPTY geom
368         - LineString::get{Start,End}Point return NULL for
369           EMPTY geoms
370         - GEOSException is now derived by std::runtim_exception
371           and thrown by const reference.
372         - Geometry constructors made protected, to force use
373           of a GeometryFactory.
375 - Correctness:
376         - More const-correct signatures
377         - Stronger methods typing (removed some void * args).
378         - Changed index-related funx signatures to use size_t
379           rather then int
380         - More const-correctness in Buffer "package"
381         - Bugfix in LineString::getCoordinate() failing to return
382           NULL from getCoordinat() when empty.
383         - Use unsigned int for indexes and sizes.
385 - Layout changes:
386         - Namespaces mapping JTS packages
387         - Renamed classes after JTS names (namespaces use made this possible
388           w/out name clashes)
389         - Splitted headers, for build speedup and possible API reduction.
390         - Moved source/bigtest and source/test to tests/bigtest
391           and test/xmltester
392         - Moved C-API in it's own top-level dir capi/
393         - Reworked automake scripts to produce a static lib for each subdir
394           and then link all subsystem's libs togheter
395         - Renamed DefaultCoordinateSequence to CoordinateArraySequence.
396         - Renamed OverlayOp opcodes by prepending the 'op' prefix, and
397           given the enum a name (OpCode) for type-safety.
399 - Bug fixes:
400         - Fixed bug causing redundant linestrings to be returned in the
401           result of overlaying polygons containing touching holes (#13)
402         - Fixed integer conversion bug
403         - Fixed PointLocator handling of LinearRings
404         - Added missing ::clone() methods for Multi* geoms 
406 - (Partial) Detailed list of changes:
407         - Changed SegmentNode to contain a *real* Coordinate (not a pointer)
408           to reduce construction costs.
409         - Changed geomgraph nodeMap to use Coordinate pointers as keys
410         - Envelope destructor made non-virtual to give compiler more static
411           binding options.
412         - Changed BufferSubgraph::computeDepths to use a set instead of a
413           vector for checking visited Edges.
414         - Made LineIntersector a concrete type
415         - Node::isIncidentEdgeInResult() method made virtual
416         - Const-correct signatures in LineMerger package
417         - Changed operation/valid/*NestedRingTester classes interface
418           to use Coordinate pointers instead of copies.
419         - Changed EdgeIntersectionList to use a set instead of a vector
420         - Changed DepthSegment to store a real Coordinate rather then a pointer.
421         - Changed SubgraphDepthLocater to store real containers rather then
422           pointers.
423         - Changed BufferSubgraph to store a real RightmostEdgeFinder and real
424           containers rather then pointers.
425         - CoordinateSequence API changes:
426                 - point index and size related functions
427                   use unsigned int rather then int
428         - Changed EdgeEndStar to maintain a single container for EdgeEnds 
429         - Changed PlanarGraph::addEdges to take a const vector by ref
430           rathern then a non-const vector by pointer
431         - Changed EdgeList::addAll to take a const vector by ref
432           rather then a non-const vector by pointer
433         - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *)
434           const to CoordinateSequence
435         - LineBuilder::lineEdgesList made a real vector, rather then pointer
436           (private member)
437         - SegmentString::eiList made a real SegmentNodeList, rather then
438           a pointer (private member)
439         - Removed coordinate copies in ElevationMatrix::elevate
440         - Changed CoordinateFilter interface to have a const method
441           for filter_rw, updated interfaces using this to take
442           const CoordinateFilter (apply_rw).
445 Changes in 2.2.4
447         - Added version.in.vc to distribution
449 Changes in 2.2.1
451 - Support for MingW builds
452 - Bugfix in Polygonizer chocking on invalid LineString inputs
453 - CAPI: small leak removed in GEOSHasZ() 
455 Changes in 2.2.0
457 - Performance improvement in OverlayOp::insertUniqueEdge()
458 - CoordinateSequence copy removal in EdgeRing
459 - Minor memory allocation improvements 
460 - Higher dimensions interface for CoordinateSequence
461 - Added getCoordinatesRO for Point class
462 - NEW WKB IO
463 - NEW Simplified and stabler C API 
465 Changes in 2.1.4
467 - Severe BUGFIX in BufferSubgraphGT and other functions used
468   as StrictWeakOrdering predicates for sort()
470 Changes in 2.1.3
472 - win32/mingw build support
473 - Segfault fix in LinearRing and LineString constructors
474 - Segfault fix in Polygonizer
475 - XMLTester installed by default
476 - XMLTester code cleanup
477 - Fixed handling of collection input in GeometryFactory::buildGeometry
478 - Added shortcircuit test for Union operation
479 - Reduced useless Coordinate copies in CGAlgorithms::isPointInRing()
480 - Performance improvements in CGAlgorithms::isOnLine()
481 - Other minor performance improvements
482 - New Node::isIncidentEdgeInResult() method
483 - OverlayOp's PointBuilder performance improvement by reduction
484   of LineIntersector calls.
485 - Optimizations in Buffer operation
486 - Sever BUGFIX in DepthSegmentLT as suggested by Graeme Hiebert
488 Changes in 2.1.2
490 - Segfault fix in Point::isEmpty
491 - Mem Leak fix in OffsetCurveBuilder::getRingCurve
492 - Bugfix in LineSegment::reverse
493 - Added multipolygon buffering test in source/test/testLeaksBig
494 - Ported JTS robustness patch for RobustLineIntersector
495 - Removed useless Coordinate copies in OverlayOp::mergeZ()
496 - Avoided throws by IsValid on invalid input
497 - Stricter C++ syntax (math.h=>cmath, ieeefp.h in "C" block, ostringstream
498   instead of sprintf)
499 - Better support for older compilers (Polygonizer::LineStringAdder friendship)
500 - Removed useless Coordinate copies in CGAlgorithms::isOnLine()
501 - Added support for polygonize and parametrized buffer tests in XMLTester
502 - Fixed support for --includedir and --libdir
503 - Fixed Z interpolation in LineIntersector
504 - Handled NULL results from getCentroid() in XMLTester
505 - Segfault fix in (EMPTY)Geometry::getCentroid()
506 - Made polygon::getBoundary() always OGC-valid (no LinearRings)
507 - Input checking and promoting in GeometryFactory::createMultiLineString()
508 - Segfault fix in GeometryEditor::editPolygon()
511 Changes in 2.1.1
513 - Fixed uninitialized Coordinate in TopologyException
514 - Added install of version.h, platform.h and timeval.h
515 - Memleak fix in PolygonizeGraph
516 - Memleak fix in OverlayOp
517 - Compiler warnings removal
518 - Cleaner w32 build
519 - Z interpolation in overlay operations
520 - Debian package build scripts
523 Changes in 2.1.0
525 - Added Polygonizer and LineMerger classes.
526 - python wrapper examples
527 - General cleanup / warnings removal
528 - cleaner win32 / older copilers builds
529 - Reduced heap allocations
530 - debian package builder scripts
531 - reduction of standard C lib headers dependency
532 - Z support in overlay operations.
535 Changes in 2.0.0
537 - CoordinateList renamed to CoordinateSequence, BasicCoordinateList
538   renamed to DefaultCoordinateSequence to reflect JTS changes.
539   DefaultCoordinateSequenceFactory and CoordinateSequenceFactory
540   got same interface as JTS.
541 - Added geos/version.h defining versioning infos
542 - Added geos.h for quick inclusion. It will include geos/geom.h,
543   new geos/version.h, geos/util.h geos/io.h and geos/unload.h
544   (geometry input/output, exceptions, operations).
545 - Added a geos::version() function showing GEOS and equivalent
546   JTS versions as strings.
547 - All geometry constructors take ownership of given arguments.
548   GeometryFactory provides pass-by-reference geometry creators
549   to take care of a deep-copy.
550 - GeometryFactory::createMultiPoint(const CoordinateList *)
551   has been renamed to
552   GeometryFactory::createMultiPoint(const CoordinateList &)
553   to reflect copy semantic
554 - GeometryFactory: EMPTY geometry creation do now have their
555   own constructors taking no arguments.
556 - Geometry constructors taking PrecisionModel and SRID have
557   been dropped. You have to use GeometryFactory instead.
558 - WKTWriter default constructor has been dropped. You need
559   to initialize it with an explicit GeometryFactory