source: git/NEWS@ 49f6621

3.10 3.11 3.12 3.7 3.8 3.9 gh-autolink gh-pages main main-relate-ng 3.7.0rc1
Last change on this file since 49f6621 was 49f6621, checked in by Regina Obe <lr@…>, 6 years ago

Prepping for geos 3.7.0rc1 release

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