NEWS 104 KB
Newer Older
1 2
PostGIS 3.0.0
2019/xx/xx
3
* Breaking Changes *
4
  - #4267, Bump minimum GEOS version to 3.6 (Regina Obe, Darafei Praliaskouski)
5
  - #3888, Raster support now available as a separate extension
6
           (Sandro Santilli)
7
  - #3807, Extension library files no longer include the minor version.
8 9 10 11
           Use New configure switch --with-library-minor-version
           if you need the old behavior (Regina Obe)
  - #4230, ND box operators (overlaps, contains, within, equals) now don't look on
           dimentions that aren't present in both operands.
12 13
           Please REINDEX your ND indexes after upgrade. (Darafei Praliaskouski)
  - #4229, Dropped support for PostgreSQL < 9.5. (Darafei Praliaskouski)
14 15
  - #4260, liblwgeom headers are not installed anymore.
           If your project depends on them available, please use
16
           librttopo instead. (Darafei Praliaskouski)
17
  - #4258, Remove SFCGAL support for ST_Area, ST_Distance, ST_Intersection,
18 19
           ST_Difference, ST_Union, ST_Intersects, ST_3DIntersects, ST_3DDistance
           and postgis.backend switch (Darafei Praliaskouski)
20
  - #4267, Enable Proj 6 deprecated APIs (Darafei Praliaskouski, Raúl Marín)
21
  - #4268, Bump minimum SFCGAL version to 1.3.1 (Darafei Praliaskouski)
22
  - #4331, ST_3DMakeBox now returns error instead of a miniscule box (Regina Obe)
23
  - #4342, Removed "versioned" variants of ST_AsGeoJSON and ST_AsKML (Paul Ramsey)
24
  - #4356, ST_Accum removed. Use array_agg instead. (Darafei Praliaskouski)
25

26 27
* New Features *
  - #2902, postgis_geos_noop (Sandro Santilli)
28
  - #4128, ST_AsMVT support for Feature ID (Stepan Kuzmin)
29 30 31
  - #4230, SP-GiST and GiST support for ND box operators overlaps, contains,
           within, equals (Esteban Zimányi and Arthur Lesuisse from Université
           Libre de Bruxelles (ULB), Darafei Praliaskouski)
32
  - #4171, ST_3DLineInterpolatePoint (Julien Cabieces, Vincent Mora)
33
  - #4311, Introduce `--with-wagyu` as an option for MVT polygons (Raúl Marín)
34
  - #1833, ST_AsGeoJSON(row) generates full GeoJSON Features (Joe Conway)
35 36
  - #3687, Casts json(geometry) and jsonb(geometry) for implicit GeoJSON
           generation (Paul Ramsey)
37

38
* Enhancements and fixes *
39
  - #4342, Move deprecated functions into legacy.sql file
40 41
  - #4341, Using "support function" API in PgSQL 12+ to replace SQL inlining
           as the mechanism for providing index support under ST_Intersects, et al
42 43
  - #4330, postgis_restore OOM when output piped to an intermediate process
           (Hugh Ranalli)
Paul Ramsey's avatar
Paul Ramsey committed
44 45
  - #4322, Support for Proj 6+ API, bringing more accurate datum transforms
           and support for WKT projections
46
  - #4153, ST_Segmentize now splits segments proportionally (Darafei
47
           Praliaskouski).
48
  - #4162, ST_DWithin documentation examples for storing geometry and
49
           radius in table (Darafei Praliaskouski, github user Boscop).
50 51
  - #4161 and #4294, ST_AsMVTGeom: Shortcut geometries smaller than the
           resolution (Raúl Marín)
52
  - #4176, ST_Intersects supports GEOMETRYCOLLECTION (Darafei Praliaskouski)
53 54
  - #4181, ST_AsMVTGeom: Avoid type changes due to validation (Raúl Marín)
  - #4183, ST_AsMVTGeom: Drop invalid geometries after simplification (Raúl Marín)
55
  - #4188, Avoid division by zero in KMeans (Raúl Marín)
56
  - #4189, Fix undefined behaviour in SADFWrite (Raúl Marín)
57
  - #4191, Fix undefined behaviour in ptarray_clone_deep (Raúl Marín)
58
  - #4211, Fix ST_Subdivide for minimal exterior ring with minimal hole (Darafei
59
           Praliaskouski)
60
  - #3457, Fix raster envelope shortcut in ST_Clip (Sai-bot)
61
  - #4215, Use floating point compare in ST_DumpAsPolygons (Darafei Praliaskouski)
62
  - #4155, Support for GEOMETRYCOLLECTION, POLYGON, TIN, TRIANGLE in
63
           ST_LocateBetween and ST_LocateBetweenElevations (Darafei Praliaskouski)
64
  - #2767, Documentation for AddRasterConstraint optional parameters (Sunveer Singh)
65
  - #4326, Allocate enough memory in gidx_to_string (Raúl Marín)
66
  - #4190, Avoid undefined behaviour in gserialized_estimate (Raúl Marín)
67
  - #4233, Fix undefined behaviour in gserialized_spgist_picksplit_nd (Raúl Marín)
68
  - #4247, Avoid undefined behaviour in next_float functions (Raúl Marín)
69
  - #4249, Fix undefined behaviour in raster intersection (Raúl Marín)
70
  - #4246, Fix undefined behaviour in ST_3DDistance (Raúl Marín)
71
  - #4244, Avoid unaligned memory access in BOX2D_out (Raúl Marín)
72 73
  - #4139, Make mixed-dimension ND index build tree correctly (Darafei Praliaskouski,
           Arthur Lesuisse, Andrew Gierth, Raúl Marín)
74
  - #4262, Document MULTISURFACE compatibility of ST_LineToCurve (Steven Ottens)
75
  - #4276, ST_AsGeoJSON documentation refresh (Darafei Praliaskouski)
76
  - #4292, ST_AsMVT: parse JSON numeric values with decimals as doubles (Raúl Marín)
77
  - #4300, ST_AsMVTGeom: Always return the simplest geometry (Raúl Marín)
78 79
  - #4301, ST_Subdivide: fix endless loop on coordinates near coincident to bounds
           (Darafei Praliaskouski)
80
  - #4289, ST_AsMVTGeom: Transform coordinates space before clipping (Raúl Marín)
81
  - #4275, Avoid passing a NULL pointer to GEOSisEmpty (Raúl Marín)
82
  - #4296, Use `server_version_num` instead of parsing `version()` (Raúl Marín)
83
  - #4272, Improve notice message when unable to compute stats (Raúl Marín)
84
  - #4314, ST_ClipByBox2D: Do not throw when the geometry is invalid (Raúl Marín)
85
  - #4313, #4307, PostgreSQL 12 compatibility (Laurenz Albe, Raúl Marín)
86
  - #4299, #4304, ST_GeneratePoints is now VOLATILE. IMMUTABLE version with
87
           seed parameter added. (Mike Taves)
88
  - #4278, ST_3DDistance and ST_3DIntersects now support Solid TIN and Solid
89
           POLYHEDRALSURFACE (Darafei Praliaskouski)
90
  - #4348, ST_AsMVTGeom (GEOS): Enforce validation at all times (Raúl Marín)
91
  - #4361, Fix postgis_type_name with (GEOMETRYM,3) (Matt Bretl)
92 93 94
  - #4295, Allow GEOMETRYCOLLECTION in ST_Overlaps, ST_Contains, ST_ContainsProperly,
           ST_Covers, ST_CoveredBy, ST_Crosses, ST_Touches, ST_Disjoint, ST_Relate,
           ST_Equals (Esteban Zimányi)
95 96
  - #4340, ST_Union aggregate now can handle more than 1 GB of geometries
           (Darafei Praliaskouski)
97 98
  - #4378, Allow passing TINs as input to GEOS-backed functions (Darafei
           Praliaskouski)
99
  - #4368, Reorder LWGEOM struct members to minimize extra padding (Raúl Marín)
100 101
  - #4141, Use uint64 to handle row counts in the topology extension (Raúl Marín)

102

103
PostGIS 2.5.0
104 105 106 107 108
2018/09/23
WARNING: If compiling with PostgreSQL+JIT, LLVM >= 6 is required
Supported PostgreSQL versions for this release are:
PostgreSQL 9.4 - PostgreSQL 12 (in development)
GEOS >= 3.5
109

110
* New Features *
111 112 113
  - #1847, SP-GiST 2D and 3D support for PostgreSQL 11+ (Esteban Zimányi and
           Arthur Lesuisse from Université Libre de Bruxelles (ULB), Darafei
           Praliaskouski)
114
  - #4056, ST_FilterByM (Nicklas Avén)
115
  - #4050, ST_ChaikinSmoothing (Nicklas Avén)
116
  - #3989, ST_Buffer single sided option (Stephen Knox)
117
  - #3876, ST_Angle function (Rémi Cura)
118
  - #3564, ST_LineInterpolatePoints (Dan Baston)
119
  - #3896, PostGIS_Extensions_Upgrade() (Regina Obe)
120
  - #3913, Upgrade when creating extension from unpackaged (Sandro Santilli)
121
  - #2256, _postgis_index_extent() for extent from index (Paul Ramsey)
Dan Baston's avatar
Dan Baston committed
122
  - #3176, Add ST_OrientedEnvelope (Dan Baston)
Dan Baston's avatar
Dan Baston committed
123
  - #4029, Add ST_QuantizeCoordinates (Dan Baston)
124
  - #4063, Optional false origin point for ST_Scale (Paul Ramsey)
125 126
  - #4082, Add ST_BandFileSize and ST_BandFileTimestamp,
           extend ST_BandMetadata (Even Rouault)
127 128 129
  - #2597, Add ST_Grayscale (Bborie Park)
  - #4007, Add ST_SetBandPath (Bborie Park)
  - #4008, Add ST_SetBandIndex (Bborie Park)
Regina Obe's avatar
Regina Obe committed
130

131
* Breaking Changes *
132
  - #4054, ST_SimplifyVW changed from > tolerance to >= tolerance
133
  - #3885, version number removed from address_standardize lib file
134
           (Regina Obe)
135
  - #3893, raster support functions can only be loaded in the same schema
136
           with core PostGIS functions. (Sandro Santilli)
137
  - #4035, remove dummy pgis_abs type from aggregate/collect routines.
138
           (Paul Ramsey)
139
  - #4069, drop support for GEOS < 3.5 and PostgreSQL < 9.4 (Regina Obe)
140
  - #4082, ST_BandMetaData extended to include filesize, timestamp (Even Rouault)
141

142
* Enhancements and Fixes*
143 144
  - Upgrade scripts from multiple old versions are now all symlinks
    to a single upgrade script (Sandro Santilli)
Sandro Santilli's avatar
Sandro Santilli committed
145
  - #3944, Update to EPSG register v9.2 (Even Rouault)
146
  - #3927, Parallel implementation of ST_AsMVT
147
  - #3925, Simplify geometry using map grid cell size before generating MVT
148 149
  - #3899, BTree sort order is now defined on collections of EMPTY and
           same-prefix geometries (Darafei Praliaskouski)
Regina Obe's avatar
Regina Obe committed
150
  - #3864, Performance improvement for sorting POINT geometries
151 152
           (Darafei Praliaskouski)
  - #3900, GCC warnings fixed, make -j is now working (Darafei Praliaskouski)
Sandro Santilli's avatar
Sandro Santilli committed
153 154
  - TopoGeo_addLinestring robustness improvements (Sandro Santilli)
    #1855, #1946, #3718, #3838
155
  - #3234, Do not accept EMPTY points as topology nodes (Sandro Santilli)
156
  - #1014, Hashable geometry, allowing direct use in CTE signatures (Paul Ramsey)
157
  - #3097, Really allow MULTILINESTRING blades in ST_Split() (Paul Ramsey)
158
  - #3942, geojson: Do not include private header for json-c >= 0.13 (Björn Esser)
159
  - #3954, ST_GeometricMedian now supports point weights (Darafei Praliaskouski)
160 161
  - #3965, #3971, #3977, #4071 ST_ClusterKMeans rewritten: better initialization,
           faster convergence, K=2 even faster (Darafei Praliaskouski)
162 163
  - #3982, ST_AsEncodedPolyline supports LINESTRING EMPTY and MULTIPOINT EMPTY
           (Darafei Praliaskouski)
164
  - #3986, ST_AsText now has second argument to limit decimal digits
165
           (Marc Ducobu, Darafei Praliaskouski)
166 167
  - #4020, Casting from box3d to geometry now returns correctly connected
           PolyhedralSurface (Matthias Bay)
168
  - #2508, ST_OffsetCurve now works with collections (Darafei Praliaskouski)
169
  - #4006, ST_GeomFromGeoJSON support for json and jsonb as input
170
           (Paul Ramsey, Regina Obe)
171
  - #4038, ST_Subdivide now selects pivot for geometry split that reuses input
172
           vertices. (Darafei Praliaskouski)
173
  - #4025, #4032 Fixed precision issue in ST_ClosestPointOfApproach,
174
           ST_DistanceCPA, and ST_CPAWithin (Paul Ramsey, Darafei Praliaskouski)
175
  - #4076, Reduce use of GEOS in topology implementation (Björn Harrtell)
176 177 178
  - #4080, Add external raster band index to ST_BandMetaData
  - Add Raster Tips section to Documentation for information about
    Raster behavior (e.g. Out-DB performance, maximum open files)
179
  - #4084: Fixed wrong code-comment regarding front/back of BOX3D (Matthias Bay)
180
  - #4060, #4094, PostgreSQL JIT support (Raúl Marín, Laurenz Albe)
181
  - #3960, ST_Centroid now uses lwgeom_centroid (Darafei Praliaskouski)
Dan Baston's avatar
Dan Baston committed
182 183
  - #4027, Remove duplicated code in lwgeom_geos (Darafei Praliaskouski,
           Daniel Baston)
184 185 186
  - #4115, Fix a bug that created MVTs with incorrect property values under
    parallel plans (Raúl Marín).
  - #4120, ST_AsMVTGeom: Clip using tile coordinates (Raúl Marín).
187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213
  - #4132, ST_Intersection on Raster now works without throwing TopologyException
          (Vinícius A.B. Schmidt, Darafei Praliaskouski)
  - #4177, #4180 Support for PostgreSQL 12 dev branch (Laurenz Albe, Raúl Marín)
  - #4156, ST_ChaikinSmoothing: also smooth start/end point of
  polygon by default (Darafei Praliaskouski)

PostGIS 2.4.5
2018/09/12

  * Bug Fixes and Enhancements

  - #4031, Survive to big MaxError tolerances passed to ST_CurveToLine
           (Sandro Santilli)
  - #4058, Fix infinite loop in linearization of a big radius small arc
           (Sandro Santilli)
  - #4071, ST_ClusterKMeans crash on NULL/EMPTY fixed (Darafei Praliaskouski)
  - #4079, ensure St_AsMVTGeom outputs CW oriented polygons (Paul Ramsey)
  - #4070, use standard interruption error code on GEOS interruptions
           (Paul Ramsey)
  - #3980, delay freeing input until processing complete (lucasvr)
  - #4090, PG 11 support (Paul Ramsey, Raúl Marín)
  - #4077, Serialization failure for particular empty geometry cases (Paul Ramsey)
  - #3997, fix bug in lwgeom_median and avoid division by zero (Raúl Marín)
  - #4093, Inconsistent results from qsort callback (yugr)
  - #4081, Geography DWithin() issues for certain cases (Paul Ramsey)
  - #4105, Parallel build of tarball (Bas Couwenberg)
  - #4163, MVT: Fix resource leak when the first geometry is NULL (Raúl Marín)
214

215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294
PostGIS 2.4.4
2018/04/08

 * Bug fixes *
  - #3055, [raster] ST_Clip() on a raster without band crashes the server
          (Regina Obe)
  - #3942, geojson: Do not include private header for json-c >= 0.13
           (Björn Esser)
  - #3952, ST_Transform fails in parallel mode (Paul Ramsey)
  - #3978, Fix KNN when upgrading from 2.1 or older (Sandro Santilli)
  - #4003, lwpoly_construct_circle: Avoid division by zero (Raúl Marín Rodríguez)
  - #4004, Avoid memory exhaustion when building a btree index (Edmund Horner)
  - #4016, proj 5.0.0 support (Raúl Marín Rodríguez)
  - #4017, lwgeom lexer memory corruption (Peter E)
  - #4020, Casting from box3d to geometry now returns correctly connected
           PolyhedralSurface (Matthias Bay)
  - #4025, #4032 Incorrect answers for temporally "almost overlapping" ranges
           (Paul Ramsey, Darafei Praliaskouski)
  - #4052, schema qualify several functions in geography (Regina Obe)
  - #4055, ST_ClusterIntersecting drops SRID (Daniel Baston)
  - #4067, Guard lookup of namespace in internal call case

 * Enhancements *
  - #3946, Compile support for PgSQL 11 (Paul Ramsey)
  - #3992, Use PKG_PROG_PKG_CONFIG macro from pkg.m4 to detect pkg-config
           (Bas Couwenberg)
  - #4044, Upgrade support for PgSQL 11 (Regina Obe)

PostGIS 2.4.3
2018/01/17

 * Bug fixes *
  - #3713, Support encodings that happen to output a '\' character
  - #3827, Set configure default to not do interrupt testing,
           was causing false negatives for many people (Regina Obe)
           revised to be standards compliant in #3988 (Greg Troxel)
  - #3930, Minimum bounding circle issues on 32-bit platforms
  - #3965, ST_ClusterKMeans used to lose some clusters on initialization
           (Darafei Praliaskouski)
  - #3956, Brin opclass object does not upgrade properly (Sandro Santilli)
  - #3982, ST_AsEncodedPolyline supports LINESTRING EMPTY and MULTIPOINT EMPTY
           (Darafei Praliaskouski)
  - #3975, ST_Transform runs query on spatial_ref_sys without schema
           qualification. Was causing restore issues. (Paul Ramsey)

 * Enhancements *
  - #3944, Update to EPSG register v9.2 (Even Rouault)

PostGIS 2.4.2
2017/11/15

 * Bug fixes *
  - #3917, Fix zcta5 load
  - #3667, Fix for bug in geography ST_Segmentize
  - #3926, Add missing 2.2.6 and 2.3.4 upgrade paths (Muhammad Usama)


PostGIS 2.4.1
2017/10/18

 * Bug fixes *
  - #3864, Fix memory leaks in BTREE operators
  - #3869, Fix build with "gold" linker
  - #3845, Gracefully handle short-measure issue
  - #3871, Performance tweak for geometry cmp function
  - #3879, Division by zero in some arc cases
  - #3878, Single defn of signum in header
  - #3880, Undefined behaviour in TYPMOD_GET_SRID
  - #3875, Fix undefined behaviour in shift operation
  - #3864, Performance improvements for b-tree geometry sorts
  - #3874, lw_dist2d_pt_arc division by zero
  - #3882, undefined behaviour in zigzag with negative inputs
  - #3891, undefined behaviour in pointarray_to_encoded_polyline
  - #3895, throw error on malformed WKB input
  - #3886, fix rare missing boxes in geometry subdivision
  - #3907, Allocate enough space for all possible GBOX string outputs (Raúl Marín Rodríguez)

 * Enhancements *
  - #3815, Tiger 2017 data support and option to load zcta5

Regina Obe's avatar
Regina Obe committed
295
PostGIS 2.4.0
296
2017/09/30
Regina Obe's avatar
Regina Obe committed
297

298
 * New Features *
299 300
  - #3822, Have postgis_full_version() also show and check version of
           PostgreSQL the scripts were built against (Sandro Santilli)
301
  - #2411, curves support in ST_Reverse (Sandro Santilli)
302
  - #2951, ST_Centroid for geography (Danny Götte)
303 304
  - #3788, Allow postgis_restore.pl to work on directory-style (-Fd) dumps
           (Roger Crew)
305 306
  - #3772, Direction agnostic ST_CurveToLine output (Sandro Santilli / KKGeo)
  - #2464, ST_CurveToLine with MaxError tolerance (Sandro Santilli / KKGeo)
307
  - #3599, Geobuf output support via ST_AsGeobuf (Björn Harrtell)
308
  - #3661, Mapbox vector tile output support via ST_AsMVT (Björn Harrtell / CartoDB)
309
  - #3689, Add orientation checking and forcing functions (Dan Baston)
310 311
  - #3753, Gist penalty speed improvements for 2D and ND points
           (Darafei Praliaskouski, Andrey Borodin)
312
  - #3677, ST_FrechetDistance (Shinichi Sugiyama)
313
  - Most aggregates (raster and geometry),
Regina Obe's avatar
Regina Obe committed
314
    and all stable / immutable (raster and geometry) marked as parallel safe
315
  - #2249, ST_MakeEmptyCoverage for raster (David Zwarg, ainomieli)
316
  - #3709, Allow signed distance for ST_Project (Darafei Praliaskouski)
317
  - #524, Covers support for polygon on polygon, line on line,
318
          point on line for geography (Danny Götte)
319

Regina Obe's avatar
Regina Obe committed
320
* Enhancements and Fixes*
321 322 323
  - Many corrections to docs and several translations almost complete.
    Andreas Schild who provided many corrections to core docs.
    PostGIS Japanese translation team first to reach completion of translation.
Sandro Santilli's avatar
Sandro Santilli committed
324

325
  - Support for PostgreSQL 10
Regina Obe's avatar
Regina Obe committed
326 327
  - Preliminary support for PostgreSQL 11
  - #3645, Avoid loading logically deleted records from shapefiles
328 329 330 331
  - #3747, Add zip4 and address_alphanumeric as attributes
           to norm_addy tiger_geocoder type.
  - #3748, address_standardizer lookup tables update
           so pagc_normalize_address better standardizes abbreviations
332 333
  - #3647, better handling of noding in ST_Node using GEOSNode
          (Wouter Geraedts)
Regina Obe's avatar
Regina Obe committed
334 335
  - #3684, Update to EPSG register v9
          (Even Rouault)
336
  - #3830, Fix initialization of incompatible type (>=9.6) address_standardizer
337
  - #3662, Make shp2pgsql work in debug mode by sending debug to stderr
338 339 340
  - #3405, Fixed memory leak in lwgeom_to_points
  - #3832, Support wide integer fields as int8 in shp2pgsql
  - #3841, Deterministic sorting support for empty geometries in btree geography
Regina Obe's avatar
Regina Obe committed
341
  - #3844, Make = operator a strict equality test, and < > to rough "spatial sorting"
342
  - #3855, ST_AsTWKB memory and speed improvements
343

344 345 346 347 348 349 350 351 352 353
PostGIS 2.4.0rc2
2017/09/24
* Fixes and Enhancements since PostGIS 2.4.0rc1 *
  - Numerous fixes to ST_AsMVT, ST_AsGeoBuf
  - ST_AsTWKB speed and memory performance enhancments
  - ST_RepeatedPoints speed improvements
  - ST_ConcaveHull bug fix

See PostGIS 2.4.0 section for details of
new features and enhancements in this release.
354

355 356 357
PostGIS 2.4.0rc1
2017/09/13
Note possible breaking changes since 2.4.0 beta1 release are:
358
* Breaking Changes *
Regina Obe's avatar
Regina Obe committed
359
  - B-Tree index operators < = > changed to provide better spatial locality on sorting
360 361 362
    and have expected behavior on GROUP BY.
    If you have btree index for geometry or geography, you need to REINDEX it, or review
    if it was created by accident and needs to be replaced with GiST index.
Regina Obe's avatar
Regina Obe committed
363
    If your code relies on old left-to-right box compare ordering,
364 365 366 367 368 369 370
    update it to use << >> operators.
  - ST_AsMVT aggregate now overloaded and arg order changed.
    Check your code if you are already using this function.
  - _ST_DumpPoints removed, was no longer needed after PostGIS 2.1.0
    when ST_DumpPoints got reimplemented in C

See PostGIS 2.4.0 section for details of new features and fixes in this release
371

372 373 374
PostGIS 2.4.0beta1
2017/09/02
See PostGIS 2.4.0 section for details
Sandro Santilli's avatar
Sandro Santilli committed
375

376 377 378
PostGIS 2.4.0alpha
2017/08/05
See PostGIS 2.4.0 section for details
379

Sandro Santilli's avatar
Sandro Santilli committed
380

381 382
PostGIS 2.3.3
2017/07/01
Regina Obe's avatar
Regina Obe committed
383

384 385 386 387 388 389 390 391 392
  * Bug Fixes

  - #3777, GROUP BY anomaly with empty geometries
  - #3711, Azimuth error upon adding 2.5D edges to topology
  - #3726, PDF manual from dblatex renders fancy quotes for programlisting
           (Mike Toews)
  - #3738, raster: Using -s without -Y in raster2pgsql transforms
           raster data instead of setting srid
  - #3744, ST_Subdivide loses subparts of inverted geometries
393
           (Darafei Praliaskouski)
394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413
  - #3750, @ and ~ operator not always schema qualified in geometry
           and raster functions. Causes restore issues.
           (Shane StClair of Axiom Data Science)
  - #3682, Strange fieldlength for boolean in result of pgsql2shp
  - #3701, Escape double quotes issue in pgsql2shp
  - #3704, ST_AsX3D crashes on empty geometry
  - #3730, Change ST_Clip from Error to Notice when ST_Clip can't compute a band


PostGIS 2.3.2
2017/01/31

  * Bug Fixes

  - #3418, KNN recheck in 9.5+ fails with index returned tuples in wrong order
  - #3675, Relationship functions not using an index in some cases
  - #3680, PostGIS upgrade scripts missing GRANT for views
  - #3683, Unable to update postgis after postgres pg_upgrade going from < 9.5 to pg > 9.4
  - #3688, ST_AsLatLonText: round minutes

Sandro Santilli's avatar
Sandro Santilli committed
414

415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435
PostGIS 2.3.1
2016/11/28

  * Bug Fixes

  - #1973, st_concavehull() returns sometimes empty geometry collection
           (gde)
  - #3501, add raster constraint max extent exceeds array size limit
           for large tables
  - #3643, PostGIS not building on latest OSX XCode
  - #3644, Deadlock on interrupt
  - #3650, Mark ST_Extent, ST_3DExtent and ST_Mem*
           agg functions as parallel safe so they can be parallelized
  - #3652, Crash on Collection(MultiCurve())
  - #3656, Fix upgrade of aggregates from 2.2 or lower version
  - #3659, Crash caused by raster GUC define after CREATE EXTENSION
           using wrong memory context. (manaeem)
  - #3665, Index corruption and memory leak in BRIN indexes
           (Julien Rouhaud of Dalibo)
  - #3667, geography ST_Segmentize bug
           (Hugo Mercier of Oslandia)
Sandro Santilli's avatar
Sandro Santilli committed
436 437


Paul Ramsey's avatar
Paul Ramsey committed
438
PostGIS 2.3.0
Regina Obe's avatar
Regina Obe committed
439
2016/09/26
Paul Ramsey's avatar
Paul Ramsey committed
440 441

 * Important / Breaking Changes *
442

443
  - #3466, Casting from box3d to geometry now returns a 3D
Regina Obe's avatar
Regina Obe committed
444
           geometry (Julien Rouhaud of Dalibo)
445

446 447
  - #3604, pgcommon/Makefile.in orders CFLAGS incorrectly leading to
           wrong liblwgeom.h (Greg Troxel)
Sandro Santilli's avatar
Sandro Santilli committed
448

449 450
  - #3396, ST_EstimatedExtent, throw WARNING instead of ERROR
           (Regina Obe)
451

Paul Ramsey's avatar
Paul Ramsey committed
452
 * Deprecated signatures *
453

Paul Ramsey's avatar
Paul Ramsey committed
454 455
 * New Features *

456 457
  - Add support for custom TOC in postgis_restore.pl
    (Christoph Moench-Tegeder)
458 459 460
  - Add support for negative indexing in ST_PointN and ST_SetPoint
    (Rémi Cura)
  - Add parameters for geography ST_Buffer (Thomas Bonfort)
461 462
  - TopoGeom_addElement, TopoGeom_remElement (Sandro Santilli)
  - populate_topology_layer (Sandro Santilli)
463
  - #454,  ST_WrapX and lwgeom_wrapx (Sandro Santilli)
464
  - #1758, ST_Normalize (Sandro Santilli)
465
  - #2236, shp2pgsql -d now emits "DROP TABLE IF EXISTS"
Dan Baston's avatar
Dan Baston committed
466
  - #2259, ST_VoronoiPolygons and ST_VoronoiLines (Dan Baston)
Sandro Santilli's avatar
Sandro Santilli committed
467
  - #2841 and #2996, ST_MinimumBoundingRadius and new ST_MinimumBoundingCircle
Dan Baston's avatar
Dan Baston committed
468
           implementation using Welzl's algorithm (Dan Baston)
469
  - #2991, Enable ST_Transform to use PROJ.4 text (Mike Toews)
470
  - #3059, Allow passing per-dimension parameters in ST_Expand (Dan Baston)
471 472 473
  - #3339, ST_GeneratePoints (Paul Ramsey)
  - #3362, ST_ClusterDBSCAN (Dan Baston)
  - #3364, ST_GeometricMedian (Dan Baston)
474 475
  - #3391, Add table inheritance support in ST_EstimatedExtent
           (Alessandro Pasotti)
476 477 478 479
  - #3424, ST_MinimumClearance (Dan Baston)
  - #3428, ST_Points (Dan Baston)
  - #3465, ST_ClusterKMeans (Paul Ramsey)
  - #3469, ST_MakeLine with MULTIPOINTs (Paul Norman)
480
  - #3549, Support PgSQL 9.6 parallel query mode, as far as possible
481
           (Paul Ramsey, Regina Obe)
482
  - #3557, Geometry function costs based on query stats (Paul Norman)
483
  - #3591, Add support for BRIN indexes. PostgreSQL 9.4+ required.
484 485 486 487 488
           (Giuseppe Broccolo of 2nd Quadrant, Julien Rouhaud
            and Ronan Dunklau of Dalibo)
  - #3496, Make postgis non-relocateable for extension install,
           schema qualify calls in functions (Regina Obe)
           Should resolve once and for all for extensions #3494, #3486, #3076
489
  - #3547, Update tiger geocoder to support TIGER 2016
490
           and to support both http and ftp.
Dan Baston's avatar
Dan Baston committed
491 492
  - #3613, Segmentize geography using equal length segments
           (Hugo Mercier of Oslandia)
493

494
 * Bug Fixes
Sandro Santilli's avatar
Sandro Santilli committed
495

496
 - #2841, ST_MinimumBoundingCircle not covering original
Sandro Santilli's avatar
Sandro Santilli committed
497

498 499 500 501
 * Performance Enhancements *

  - #75, Enhancement to PIP short circuit (Dan Baston)
  - #3383, Avoid deserializing small geometries during index operations
502
           (Dan Baston)
503
  - #3400, Minor optimization of PIP routines (Dan Baston)
504
  - Make adding a line to topology interruptible (Sandro Santilli)
505
  - Documentation updates from Mike Toews
Sandro Santilli's avatar
Sandro Santilli committed
506

Sandro Santilli's avatar
Sandro Santilli committed
507

Regina Obe's avatar
Regina Obe committed
508 509 510
PostGIS 2.3.0rc1
2016/09/19
See PostGIS 2.3.0 section for details
Sandro Santilli's avatar
Sandro Santilli committed
511

Sandro Santilli's avatar
Sandro Santilli committed
512

513 514 515
PostGIS 2.3.0beta1
2016/09/06
See PostGIS 2.3.0 section for details
516

Sandro Santilli's avatar
Sandro Santilli committed
517

Sandro Santilli's avatar
Sandro Santilli committed
518 519 520 521 522 523 524 525 526 527 528 529 530
PostGIS 2.2.2
2016/03/22

 * Bug Fixes *

  - #3463, Fix crash on face-collapsing edge change
  - #3422, Improve ST_Split robustness on standard precision double
           systems (arm64, ppc64el, s390c, powerpc, ...)
  - #3427, Update spatial_ref_sys to EPSG version 8.8
  - #3433, ST_ClusterIntersecting incorrect for MultiPoints
  - #3435, ST_AsX3D fix rendering of concave geometries
  - #3436, memory handling mistake in ptarray_clone_deep
  - #3437, ST_Intersects incorrect for MultiPoints
531
  - #3461, ST_GeomFromKML crashes Postgres when there are
Sandro Santilli's avatar
Sandro Santilli committed
532 533 534 535 536 537 538 539 540
           innerBoundaryIs and no outerBoundaryIs
  - #3429, upgrading to 2.3 or from 2.1 can cause loop/hang on some platforms
  - #3460, ST_ClusterWithin 'Tolerance not defined' error after upgrade
  - #3490, Raster data restore issues, materialized views
  		     Scripts postgis_proc_set_search_path.sql,
           rtpostgis_proc_set_search_path.sql refer to
           http://postgis.net/docs/manual-2.2/RT_FAQ.html#faq_raster_data_not_restore
  - #3426, failing POINT EMPTY tests on fun architectures

Sandro Santilli's avatar
Sandro Santilli committed
541

542 543 544 545 546 547 548 549 550 551 552
PostGIS 2.2.1
2016/01/06

 * Bug Fixes *

  - #2232, avoid accumulated error in SVG rounding
  - #3321, Fix performance regression in topology loading
  - #3329, Fix robustness regression in TopoGeo_addPoint
  - #3349, Fix installation path of postgis_topology scripts
  - #3351, set endnodes isolation on ST_RemoveIsoEdge
           (and lwt_RemIsoEdge)
553
  - #3355, geography ST_Segmentize has geometry bbox
554 555 556 557 558 559 560
  - #3359, Fix toTopoGeom loss of low-id primitives from
           TopoGeometry definition
  - #3360, _raster_constraint_info_scale invalid input syntax
  - #3375, crash in repeated point removal for collection(point)
  - #3378, Fix handling of hierarchical TopoGeometries
           in presence of multiple topologies
  - #3380, #3402, Decimate lines on topology load
Sandro Santilli's avatar
Sandro Santilli committed
561
  - #3388, #3410, Fix missing end-points in ST_RemoveRepeatedPoints
562 563 564 565 566 567 568 569 570 571 572 573 574 575
  - #3389, Buffer overflow in lwgeom_to_geojson
  - #3390, Compilation under Alpine Linux 3.2 gives an error when
           compiling the postgis and postgis_topology extensions
  - #3393, ST_Area NaN for some polygons
  - #3401, Improve ST_Split robustness on 32bit systems
  - #3404, ST_ClusterWithin crashes backend
  - #3407, Fix crash on splitting a face or an edge
           defining multiple TopoGeometry objects
  - #3411, Clustering functions not using spatial index
  - #3412, Improve robustness of snapping step in TopoGeo_addLinestring
  - #3415, Fix OSX 10.9 build under pkgsrc
  - Fix memory leak in lwt_ChangeEdgeGeom [liblwgeom]


Bborie Park's avatar
Bborie Park committed
576
PostGIS 2.2.0
577
2015/10/07
Bborie Park's avatar
Bborie Park committed
578

579
 * Important / Breaking Changes *
Bborie Park's avatar
Bborie Park committed
580

581
  - PROJ4 4.6 and higher only
582 583 584
  - #2703, KNN <-> operator now returns the correct distance ordering
           for all geometry types, not just for points. Code that expects
           the looser "centroid distance" ordering should be updated.
585 586
  - #3022, ValidateTopology swapped meaning of id1 and id2 for the
           'edge crosses node' error (now edge_id,node_id)
587 588
  - #2565, ST_SummaryStats(tablename, rastercolumn, ...) uses
           ST_SummaryStatsAgg()
589
  - #2567, ST_Count(tablename, rastercolumn, ...) uses ST_CountAgg()
590
  - #2842, raster - Hide unselectable tables from raster_overview
591
        and raster_columns
592 593
  - By default, PostGIS raster disables all GDAL drivers affecting
    out-db rasters, ST_FromGDALRaster() and ST_AsGDALRaster() variants
594
  - #3181, POINT EMPTY is now stored as POINT(NaN NaN) in WKB, instead of as MULTIPOINT EMPTY
595 596
  - Java binding moved to separate repository:
    https://github.com/postgis/postgis-java
597

Bborie Park's avatar
Bborie Park committed
598 599
 * Deprecated signatures *

600 601
  - #2748, ST_Shift_Longitude renamed to ST_ShiftLongitude,
           ST_Find_Extent renamed to ST_FindExtent,
602 603
           ST_Combine_BBox renamed to ST_CombineBbox,
           ST_Length_Spheroid renamed to ST_LengthSpheroid,
604 605 606
           ST_Distance_Spheroid renamed to ST_DistanceSpheroid,
           ST_Distance_Sphere renamed to ST_DistanceSphere,
           ST_3DLength_Spheroid deprecated (use ST_LengthSpheroid)
607
  - #2769, ST_Mem_Size renamed to ST_MemSize
608
  - #2565, ST_SummaryStats(tablename, rastercolumn, ...)
609
  - #2567, ST_Count(tablename, rastercolumn, ...)
610

Bborie Park's avatar
Bborie Park committed
611
 * New Features *
612

613 614
  - Topology API in liblwgeom
    (Sandro Santilli / Regione Toscana - SITA)
615
  - New lwgeom_version method in liblwgeom
616
  - New lwgeom_unaryunion method in liblwgeom
617
  - New lwgeom_linemerge method in liblwgeom
618 619 620
  - New lwgeom_is_simple method in liblwgeom
  - #3117, Add SFCGAL 1.1 support: add ST_3DDifference, ST_3DUnion,
           ST_Volume, ST_MakeSolid, ST_IsSolid (Vincent Mora / Oslandia)
621
  - #3169, ST_ApproximateMedialAxis (Sandro Santilli)
622
  - ST_CPAWithin (Sandro Santilli / Boundless)
623 624
  - Add |=| operator with CPA semantic and KNN support with PgSQL 9.5+
    (Sandro Santilli / Boundless)
625
  - #3131, KNN support for the geography type (Paul Ramsey / CartoDB)
626
  - #3023, ST_ClusterIntersecting / ST_ClusterWithin (Dan Baston)
627 628
  - #2703, Exact KNN results for all geometry types, aka "KNN re-check" (Paul Ramsey / CartoDB)
  - #1137, Allow a tolerance value in ST_RemoveRepeatedPoints (Paul Ramsey / CartoDB)
629
  - #3062, Allow passing M factor to ST_Scale (Sandro Santilli / Boundless)
630
  - #3139, ST_BoundingDiagonal (Sandro Santilli / Boundless)
631
  - #3129, ST_IsValidTrajectory (Sandro Santilli / Boundless)
632
  - #3128, ST_ClosestPointOfApproach (Sandro Santilli / Boundless)
633
  - #3152, ST_DistanceCPA (Sandro Santilli / Boundless)
634
  - Canonical output for index key types
635
  - ST_SwapOrdinates (Sandro Santilli / Boundless)
636
  - #2918, Use GeographicLib functions for geodetics (Mike Toews)
637 638
  - #3074, ST_Subdivide to break up large geometry (Paul Ramsey / CartoDB)
  - #3040, KNN GiST index based centroid (<<->>)
639
           n-D distance operators (Sandro Santilli / Boundless)
640
  - Interruptibility API for liblwgeom (Sandro Santilli / CartoDB)
641
  - #2939, ST_ClipByBox2D (Sandro Santilli / CartoDB)
642 643
  - #2247, ST_Retile and ST_CreateOverview: in-db raster overviews creation
           (Sandro Santilli / Vizzuality)
644 645
  - #899, -m shp2pgsql attribute names mapping -m switch
           (Regina Obe / Sandro Santilli)
646
  - #1678, Added GUC postgis.gdal_datapath to specify GDAL config
647
           variable GDAL_DATA
648
  - #2843, Support reprojection on raster import
649
           (Sandro Santilli / Vizzuality)
650
  - #2349, Support for encoded_polyline input/output (Kashif Rasul)
651
  - #2159, report libjson version from postgis_full_version()
652
  - #2770, ST_MemSize(raster)
653
  - Add postgis_noop(raster)
654
  - Added missing variants of ST_TPI(), ST_TRI() and ST_Roughness()
655 656
  - Added GUC postgis.gdal_enabled_drivers to specify GDAL config
    variable GDAL_SKIP
657 658
  - Added GUC postgis.enable_outdb_rasters to enable access to
    rasters with out-db bands
659
  - #2387, address_standardizer extension as part of PostGIS
660
           Stephen Woodbridge (imaptools.com), Walter Sinclair, Regina Obe
661
  - #2816, address_standardizer_data_us extension
662 663
           provides reference lex,gaz,rules for address_standardizer
           Stephen Woodbridge (imaptools.com), Walter Sinclair, Regina Obe
664
  - #2341, New mask parameter for ST_MapAlgebra
Sandro Santilli's avatar
Sandro Santilli committed
665
  - #2397, read encoding info automatically in shapefile loader
666
  - #2430, ST_ForceCurve
667
  - #2565, ST_SummaryStatsAgg()
668
  - #2567, ST_CountAgg()
669
  - #2632, ST_AsGML() support for curved features
670
  - #2652, Add --upgrade-path switch to run_test.pl
671
  - #2754, sfcgal wrapped as an extension
Nicklas Avén's avatar
Nicklas Avén committed
672
  - #2227, Simplification with Visvalingam-Whyatt algorithm
673
           ST_SimplifyVW, ST_SetEffectiveArea (Nicklas Avén)
Nicklas Avén's avatar
Nicklas Avén committed
674
  - Functions to encode and decode TWKB
675
    ST_AsTWKB, ST_GeomFromTWKB (Paul Ramsey / Nicklas Avén / CartoDB)
Sandro Santilli's avatar
Sandro Santilli committed
676 677 678

 * Enhancements *

679
  - #3223, Add memcmp short-circuit to ST_Equals (Daniel Baston)
680
  - #3227, Tiger geocoder upgraded to support Tiger 2015 census
681
  - #2278, Make liblwgeom potentially ABI-compatible between micro releases
682 683
  - #897, ST_AsX3D support for GeoCoordinates and systems "GD" "WE"
           ability to flip x/y axis (use option = 2, 3)
684 685
  - ST_Split: allow splitting lines by multilines, multipoints
              and (multi)polygon boundaries
686
  - #3070, Simplify geometry type constraint
687 688 689
  - #2839, Implement selectivity estimator for functional indexes,
           speeding up spatial queries on raster tables.
           (Sandro Santilli / Vizzuality)
690
  - #2361, Added spatial_index column to raster_columns view
691
  - #2390, Testsuite for pgsql2shp
692 693
  - #2527, Added -k flag to raster2pgsql to skip checking that
           band is NODATA
694
  - #2616, Reduce text casts during topology building and export
695
  - #2717, support startpoint, endpoint, pointn, numpoints for compoundcurve
Bborie Park's avatar
Bborie Park committed
696
  - #2747, Add support for GDAL 2.0
697
  - #2754, SFCGAL can now be installed with CREATE EXTENSION
Regina Obe's avatar
Regina Obe committed
698
       Vincent Mora (Oslandia)
699
  - #2828, Convert ST_Envelope(raster) from SQL to C
700 701
  - #2829, Shortcut ST_Clip(raster) if geometry fully contains the raster
           and no NODATA specified
702
  - #2906, Update tiger geocoder to handle tiger 2014 data
Paul Ramsey's avatar
Paul Ramsey committed
703
  - #3048, Speed up geometry simplification (J.Santana @ CartoDB)
704
  - #3092, Slow performance of geometry_columns with many tables
705

Bborie Park's avatar
Bborie Park committed
706 707
 * Bug Fixes *

708 709
  - #2893, Allow interruptibility of ST_Segmentize(geometry)
           (Sandro Santilli / CartoDB)
710
  - #2540, Change GUC name for GDAL_DATA to postgis.gdal_datapath
711 712
  - #2777, Raster max extent constraint based upon envelope to behave
           like geometry extent
713 714
  - #2822, Use @ operator instead of ST_CoveredBy() for raster
           max extent constraint
715
  - #3018, GROUP BY geography sometimes returns duplicate rows
716
  - #3020, ST_AddBand out-db bug where height using width value
717
  - #3084, shp2pgsql - illegal number format when specific system locale set
718
  - #3061, Allow duplicate points in JSON, GML, GML ST_GeomFrom* functions
719 720
  - #3086, ST_DumpValues() crashes backend on cleanup with invalid
           band indexes
721

Sandro Santilli's avatar
Sandro Santilli committed
722 723 724 725
 * Code refactoring *

  - Split raster/rt_core/rt_api.c and raster/rt_pg/rt_pg.c files into
    smaller files for ease of long-term maintenance and development
726
  - #1220, lwerror and lwnotice function became internal to liblwgeom
Sandro Santilli's avatar
Sandro Santilli committed
727

Sandro Santilli's avatar
Sandro Santilli committed
728

729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752
PostGIS 2.1.8
2015/07/07

 * Bug Fixes *

  - #3159, do not force a bbox cache on ST_Affine
  - #3018, GROUP BY geography sometimes returns duplicate rows
  - #3048, shp2pgsql - illegal number format when specific system locale set
  - #3094, Malformed GeoJSON inputs crash backend
  - #3104, st_asgml introduces random characters in ID field
  - #3155, Remove liblwgeom.h on make uninstall
  - #3177, gserialized_is_empty cannot handle nested empty cases
  - Fix crash in ST_LineLocatePoint


PostGIS 2.1.7
2015/03/30

 * Bug Fixes *

  - #3086, ST_DumpValues() crashes backend on cleanup with invalid
           band indexes
  - #3088, Do not (re)define strcasestr in a liblwgeom.h
  - #3094, Malformed GeoJSON inputs crash backend
753

Sandro Santilli's avatar
Sandro Santilli committed
754

755 756 757 758 759 760 761
PostGIS 2.1.6
2015/03/20

 * Enhancements *

  - #3000, Ensure edge splitting and healing algorithms use indexes
  - #3048, Speed up geometry simplification (J.Santana @ CartoDB)
Sandro Santilli's avatar
Sandro Santilli committed
762
  - #3050, Speed up geometry type reading (J.Santana @ CartoDB)
763 764 765 766 767 768 769 770 771 772 773 774 775 776 777

 * Bug Fixes *

  - #2941, allow geography columns with SRID other than 4326
  - #3069, small objects getting inappropriately fluffed up w/ boxes
  - #3068, Have postgis_typmod_dims return NULL for unconstrained dims
  - #3061, Allow duplicate points in JSON, GML, GML ST_GeomFrom* functions
  - #3058, Fix ND-GiST picksplit method to split on the best plane
  - #3052, Make operators <-> and <#> available for PostgreSQL < 9.1
  - #3045, Fix dimensionality confusion in &&& operator
  - #3016, Allow unregistering layers of corrupted topologies
  - #3015, Avoid exceptions from TopologySummary
  - #3020, ST_AddBand out-db bug where height using width value
  - #3031, Allow restore of Geometry(Point) tables dumped with empties in them

Sandro Santilli's avatar
Sandro Santilli committed
778

779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795
PostGIS 2.1.5
2014/12/18

 * Enhancements *

  - #2933, Speedup construction of large multi-geometry objects

 * Bug Fixes *

  - #2947, Fix memory leak in lwgeom_make_valid for single-component
           collection input
  - #2949, Fix memory leak in lwgeom_mindistance2d for curve input
  - #2931, BOX representation is case sensitive
  - #2942, PostgreSQL 9.5 support
  - #2953, 2D stats not generated when Z/M values are extreme
  - #3009, Geography cast may effect underlying tuple

Sandro Santilli's avatar
Sandro Santilli committed
796

797 798 799 800 801 802 803 804 805 806 807 808 809 810 811
PostGIS 2.1.4
2014/09/10

 * Enhancements *

  - #2745, Speedup ST_Simplify calls against points
  - #2747, Support for GDAL 2.0
  - #2749, Make rtpostgis_upgrade_20_21.sql ACID
  - #2811, Do not specify index names when loading shapefiles/rasters
  - #2829, Shortcut ST_Clip(raster) if geometry fully contains the raster
           and no NODATA specified
  - #2895, Raise cost of ST_ConvexHull(raster) to 300 for better query plans

 * Bug Fixes *

812
  - #2605, armel: _ST_Covers() returns true for point in hole
813 814 815 816 817 818 819 820 821 822 823 824 825 826 827
  - #2911, Fix output scale on ST_Rescale/ST_Resample/ST_Resize of rasters
           with scale 1/-1 and offset 0/0.
  - Fix crash in ST_Union(raster)
  - #2704, ST_GeomFromGML() does not work properly with array of gml:pos
    (Even Roualt)
  - #2708, updategeometrysrid doesn't update srid check when schema
           not specified. Patch from Marc Jansen
  - #2720, lwpoly_add_ring should update maxrings after realloc
  - #2759, Fix postgis_restore.pl handling of multiline object comments
           embedding sql comments
  - #2774, fix undefined behavior in ptarray_calculate_gbox_geodetic
  - Fix potential memory fault in ST_MakeValid
  - #2784, Fix handling of bogus argument to --with-sfcgal
  - #2772, Premature memory free in RASTER_getBandPath (ST_BandPath)
  - #2755, Fix regressions tests against all versions of SFCGAL
828
  - #2775, lwline_from_lwmpoint leaks memory
829 830 831 832 833 834 835 836
  - #2802, ST_MapAlgebra checks for valid callback function return value
  - #2803, ST_MapAlgebra handles no userarg and STRICT callback function
  - #2834, ST_Estimated_Extent and mixedCase table names (regression bug)
  - #2845, Bad geometry created from ST_AddPoint
  - #2870, Binary insert into geography column results geometry being inserted
  - #2872, make install builds documentation (Greg Troxell)
  - #2819, find isfinite or replacement on Centos5 / Solaris
  - #2899, geocode limit 1 not returning best answer (tiger geocoder)
837
  - #2903, Unable to compile on FreeBSD
838
  - #2927  reverse_geocode not filling in direction prefix (tiger geocoder)
839 840
           get rid of deprecated ST_Line_Locate_Point called

841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857
PostGIS 2.1.3
2014/05/13

 * Important / Breaking Changes  *

  - Add control of GDAL drivers with the environment variable
    POSTGIS_GDAL_ENABLED_DRIVERS. By default, all GDAL drivers are disabled
  - Add ability to disable out-db raster bands with the environment variable
    POSTGIS_ENABLE_OUTDB_RASTERS. By default, out-db raster bands are disabled

 * Bug Fixes *

  - #2697, invalid GeoJSON Polygon input crashes server process
  - #2700, Fix dumping of higher-dimension datasets with null rows
  - #2706, ST_DumpPoints of EMPTY geometries crashes server


858 859 860 861 862 863 864 865 866 867 868
PostGIS 2.1.2
2014/03/31

 * Important Changes *

 * Bug Fixes *

  - #2666, Error out at configure time if no SQL preprocessor can be found
  - #2534, st_distance returning incorrect results for large geographies
  - #2539, Check for json-c/json.h presence/usability before json/json.h
  - #2543, invalid join selectivity error from simple query
869
  - #2546, GeoJSON with string coordinates parses incorrectly
870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887
  - #2547, Fix ST_Simplify(TopoGeometry) for hierarchical topogeoms
  - #2552, Fix NULL raster handling in ST_AsPNG, ST_AsTIFF and
           ST_AsJPEG
  - #2555, Fix parsing issue of range arguments of ST_Reclass
  - #2556, geography ST_Intersects results depending on insert order
  - #2580, Do not allow installing postgis twice in the same database
  - #2589, Remove use of unnecessary void pointers
  - #2607, Cannot open more than 1024 out-db files in one process
  - #2610, Ensure face splitting algorithm uses the edge index
  - #2615, EstimatedExtent (and hence, underlying stats) gathering wrong bbox
  - #2619, Empty rings array in GeoJSON polygon causes crash
  - #2634, regression in sphere distance code
  - #2638, Geography distance on M geometries sometimes wrong
  - #2648, #2653, Fix topology functions when "topology" is not in search_path
  - #2654, Drop deprecated calls from topology
  - #2655, Let users without topology privileges call postgis_full_version()
  - #2674, Fix missing operator = and hash_raster_ops opclass on raster
  - #2675, #2534, #2636, #2634, #2638, Geography distance issues with tree optimization
888

889 890 891 892 893 894 895 896 897 898
 * Enhancements *

  - #2494, avoid memcopy in GiST index (hayamiz)
  - #2560, soft upgrade: avoid drop/recreate of aggregates that hadn't changed

PostGIS 2.1.1
2013/11/08

 * Important Changes *

899
  - #2514, Change raster license from GPL v3+ to v2+, allowing
900 901 902 903 904 905 906 907 908 909 910 911
           distribution of PostGIS Extension as GPLv2.

 * Bug Fixes *

  - #2396, Make regression tests more endian-agnostic
  - #2434, Fix ST_Intersection(geog,geog) regression in rare cases
  - #2454, Fix behavior of ST_PixelAsXXX functions regarding
           exclude_nodata_value parameter
  - #2449, Fix potential infinite loop in index building
  - #2489, Fix upgrades from 2.0 leaving stale function signatures
  - #2493, Fix behavior of ST_DumpValues when passed an empty raster
  - #2502, Fix postgis_topology_scripts_installed() install schema
912
  - #2504, Fix segfault on bogus pgsql2shp call
913 914 915 916 917 918 919 920 921 922 923 924 925
  - #2512, Support for foreign tables and materialized views in
           raster_columns and raster_overviews
  - #2525, Fix handling of SRID in nested collections
  - #2528, Fix memory leak in ST_Split / lwline_split_by_line
  - #2532, Add missing raster/geometry commutator operators
  - #2533, Remove duplicated signatures

 * Enhancements *

  - #2463, support for exact length calculations on arc geometries
  - #2478, support for tiger 2013
  - #2527, Added -k flag to raster2pgsql to skip checking that
           band is NODATA
926

927
PostGIS 2.1.0
928
2013/08/17
Paul Ramsey's avatar
Paul Ramsey committed
929

930 931
 * Important / Breaking Changes  *

932 933
  - #1653, Removed srid parameter from ST_Resample(raster) and variants
           with reference raster no longer apply reference raster's SRID.
934
  - #1962 ST_Segmentize - As a result of
935
          the introduction of geography support, The construct:
936
		 SELECT ST_Segmentize('LINESTRING(1 2, 3 4)',0.5);
937
		will result in ambiguous function error
938
  - #2026, ST_Union(raster) now unions all bands of all rasters
939
  - #2089, liblwgeom: lwgeom_set_handlers replaces lwgeom_init_allocators.
940 941 942
  - #2150, regular_blocking is no longer a constraint. column of same name
           in raster_columns now checks for existance of spatially_unique
           and coverage_tile constraints
943 944
  - ST_Intersects(raster, geometry) behaves in the same manner as
    ST_Intersects(geometry, raster).
945 946
  - point variant of ST_SetValue(raster) previously did not check SRID
    of input geometry and raster.
947 948
  - ST_Hillshade parameters azimuth and altitude are now in degrees
    instead of radians.
949
  - ST_Slope and ST_Aspect return pixel values in degrees instead of radians.
950

951
 * Deprecated signatures *
952

953 954 955 956 957 958
  - #2104, ST_World2RasterCoord, ST_World2RasterCoordX and
           ST_World2RasterCoordY renamed to ST_WorldToRasterCoord,
           ST_WorldToRasterCoordX and ST_WorldToRasterCoordY.
           ST_Raster2WorldCoord, ST_Raster2WorldCoordX and
           ST_Raster2WorldCoordY renamed to ST_RasterToWorldCoord,
           ST_RasterToWorldCoordX and ST_RasterToWorldCoordY
959
  - ST_Estimated_Extent renamed to ST_EstimatedExtent
960 961 962
  - ST_Line_Interpolate_Point renamed to ST_LineInterpolatePoint
  - ST_Line_Substring renamed to ST_LineSubstring
  - ST_Line_Locate_Point renamed to ST_LineLocatePoint
963
  - ST_Force_XXX renamed to ST_ForceXXX
964 965
  - ST_MapAlgebraFctNgb and 1 and 2 raster variants of ST_MapAlgebraFct.
    Use ST_MapAlgebra instead
966 967
  - 1 and 2 raster variants of ST_MapAlgebraExpr.
    Use expression variants of ST_MapAlgebra instead
968

969 970
 * New Features *

971 972 973
 Refer to http://postgis.net/docs/manual-2.1/PostGIS_Special_Functions_Index.html#NewFunctions_2_1
 for complete list of new functions

974
  - #310, ST_DumpPoints converted to a C function (Nathan Wagner)
975
  - #739, UpdateRasterSRID()
976 977
  - #945, improved join selectivity, N-D selectivity calculations,
    user accessible selectivity and stats reader functions for
978
    testing (Paul Ramsey / OpenGeo)
979 980
  - toTopoGeom with TopoGeometry sink (Sandro Santilli / Vizzuality)
  - clearTopoGeom (Sandro Santilli / Vizzuality)
981
  - ST_Segmentize(geography) (Paul Ramsey / OpenGeo)
982
  - ST_DelaunayTriangles (Sandro Santilli / Vizzuality)
983
  - ST_NearestValue, ST_Neighborhood (Bborie Park / UC Davis)
984 985
  - ST_PixelAsPoint, ST_PixelAsPoints (Bborie Park / UC Davis)
  - ST_PixelAsCentroid, ST_PixelAsCentroids (Bborie Park / UC Davis)
986
  - ST_Raster2WorldCoord, ST_World2RasterCoord (Bborie Park / UC Davis)
987
  - Additional raster/raster spatial relationship functions
988
    (ST_Contains, ST_ContainsProperly, ST_Covers, ST_CoveredBy, ST_Disjoint,
989
    ST_Overlaps, ST_Touches, ST_Within, ST_DWithin, ST_DFullyWithin)
990
    (Bborie Park / UC Davis)
991 992
  - Added array variants of ST_SetValues() to set many pixel values of a band
    in one call (Bborie Park / UC Davis)
993
  - #1293, ST_Resize(raster) to resize rasters based upon width/height
994
  - #1627, package tiger_geocoder as a PostgreSQL extension
995
  - #1643, #2076, Upgrade tiger geocoder to support loading tiger 2011 and 2012
996
    (Regina Obe / Paragon Corporation) Funded by Hunter Systems Group
997
  - GEOMETRYCOLLECTION support for ST_MakeValid (Sandro Santilli / Vizzuality)
998
  - #1709, ST_NotSameAlignmentReason(raster, raster)
999
  - #1818, ST_GeomFromGeoHash and friends (Jason Smith (darkpanda))
1000
  - #1856, reverse geocoder rating setting for prefer numbered highway name
1001
  - ST_PixelOfValue (Bborie Park / UC Davis)
1002
  - Casts to/from PostgreSQL geotypes (point/path/polygon).
1003 1004 1005
  - Added geomval array variant of ST_SetValues() to set many pixel values of
    a band using a set of geometries and corresponding values in one call
    (Bborie Park / UC Davis)
1006
  - ST_Tile(raster) to break up a raster into tiles (Bborie Park / UC Davis)
1007
  - #1895, new r-tree node splitting algorithm (Alex Korotkov)
1008 1009
  - #2011, ST_DumpValues to output raster as array (Bborie Park / UC Davis)
  - #2018, ST_Distance support for CircularString, CurvePolygon, MultiCurve,
1010
    MultiSurface, CompoundCurve
1011
  - #2030, n-raster (and n-band) ST_MapAlgebra (Bborie Park / UC Davis)
1012
  - #2193, Utilize PAGC parser as drop in replacement for tiger normalizer
1013
            (Steve Woodbridge, Regina Obe)
1014
  - #2210, ST_MinConvexHull(raster)
1015
  - lwgeom_from_geojson in liblwgeom (Sandro Santilli / Vizzuality)
1016
  - #1687, ST_Simplify for TopoGeometry (Sandro Santilli / Vizzuality)
1017
  - #2228, TopoJSON output for TopoGeometry (Sandro Santilli / Vizzuality)
1018
  - #2123, ST_FromGDALRaster
1019
  - #613, ST_SetGeoReference with numerical parameters instead of text
1020
  - #2276, ST_AddBand(raster) variant for out-db bands
1021
  - #2280, ST_Summary(raster)
1022
  - #2163, ST_TPI for raster (Nathaniel Clay)
1023
  - #2164, ST_TRI for raster (Nathaniel Clay)
1024
  - #2302, ST_Roughness for raster (Nathaniel Clay)
1025
  - #2290, ST_ColorMap(raster) to generate RGBA bands
1026
  - #2254, Add SFCGAL backend support.
1027
           (Backend selection throught postgis.backend var)
1028 1029
           Functions available both throught GEOS or SFCGAL:
            ST_Intersects, ST_3DIntersects, ST_Intersection, ST_Area,
1030 1031 1032 1033 1034 1035 1036 1037
            ST_Distance, ST_3DDistance
           New functions available only with SFCGAL backend:
            ST_3DIntersection, ST_Tesselate, ST_3DArea, ST_Extrude, ST_ForceLHR
            ST_Orientation, ST_Minkowski, ST_StraightSkeleton
            postgis_sfcgal_version
           New function available in PostGIS: ST_ForceSFS
           (Olivier Courtin and Hugo Mercier / Oslandia)

1038
 * Enhancements *
1039

1040
  - #823,  tiger geocoder: Make loader_generate_script download portion
Paul Ramsey's avatar
Paul Ramsey committed
1041
           less greedy
1042 1043
  - #826,  raster2pgsql no longer defaults to padding tiles. Flag -P
           can be used to pad tiles
1044
  - #1363, ST_AddBand(raster, ...) array version rewritten in C