NEWS 100 KB
Newer Older
1 2
PostGIS 3.0.0
2019/xx/xx
3 4
* Breaking Changes *
  - #3888, Raster support now available as a separate extension
5
           (Sandro Santilli)
6
  - #3807, Extension library files no longer include the minor version.
7 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.
           Please REINDEX your ND indexes after upgrade.
12

13 14
* New Features *
  - #2902, postgis_geos_noop (Sandro Santilli)
15
  - #4128, ST_AsMVT support for Feature ID (Stepan Kuzmin)
16 17 18
  - #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)
19

20
* Enhancements and fixes *
21
  - #4153, ST_Segmentize now splits segments proportionally (Darafei
22
           Praliaskouski).
23
  - #4162, ST_DWithin documentation examples for storing geometry and
24
           radius in table (Darafei Praliaskouski, github user Boscop).
25
  - #4161, MVT: Drop geometries smaller than the resolution (Raúl Marín)
26
  - #4176, ST_Intersects supports GEOMETRYCOLLECTION (Darafei Praliaskouski)
27
  - #4181, St_AsMVTGeom: Avoid type changes due to validation (Raúl Marín)
28
  - #4183, St_AsMVTGeom: Drop invalid geometries after simplification (Raúl Marín)
29
  - #4188, Avoid division by zero in KMeans (Raúl Marín)
30
  - #4189, Fix undefined behaviour in SADFWrite (Raúl Marín)
31
  - #4191, Fix undefined behaviour in ptarray_clone_deep (Raúl Marín)
32
  - #4211, Fix ST_Subdivide for minimal exterior ring with minimal hole (Darafei
33
           Praliaskouski)
34
  - #3457, Fix raster envelope shortcut in ST_Clip (Sai-bot)
35
  - #4215, Use floating point compare in ST_DumpAsPolygons (Darafei Praliaskouski)
36
  - #4155, Support for GEOMETRYCOLLECTION, POLYGON, TIN, TRIANGLE in
37
           ST_LocateBetween and ST_LocateBetweenElevations (Darafei Praliaskouski)
38
  - #2767, Documentation for AddRasterConstraint optional parameters (Sunveer Singh)
39
  - #4326, Allocate enough memory in gidx_to_string (Raúl Marín)
40
  - #4190, Avoid undefined behaviour in gserialized_estimate (Raúl Marín)
41
  - #4233, Fix undefined behaviour in gserialized_spgist_picksplit_nd (Raúl Marín)
42
  - #4247, Avoid undefined behaviour in next_float functions (Raúl Marín)
43
  - #4249, Fix undefined behaviour in raster intersection (Raúl Marín)
44

45
PostGIS 2.5.0
46 47 48 49 50
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
51

52
* New Features *
53 54 55
  - #1847, SP-GiST 2D and 3D support for PostgreSQL 11+ (Esteban Zimányi and
           Arthur Lesuisse from Université Libre de Bruxelles (ULB), Darafei
           Praliaskouski)
56
  - #4056, ST_FilterByM (Nicklas Avén)
57
  - #4050, ST_ChaikinSmoothing (Nicklas Avén)
58
  - #3989, ST_Buffer single sided option (Stephen Knox)
59
  - #3876, ST_Angle function (Rémi Cura)
60
  - #3564, ST_LineInterpolatePoints (Dan Baston)
61
  - #3896, PostGIS_Extensions_Upgrade() (Regina Obe)
62
  - #3913, Upgrade when creating extension from unpackaged (Sandro Santilli)
63
  - #2256, _postgis_index_extent() for extent from index (Paul Ramsey)
Dan Baston's avatar
Dan Baston committed
64
  - #3176, Add ST_OrientedEnvelope (Dan Baston)
Dan Baston's avatar
Dan Baston committed
65
  - #4029, Add ST_QuantizeCoordinates (Dan Baston)
66
  - #4063, Optional false origin point for ST_Scale (Paul Ramsey)
67 68
  - #4082, Add ST_BandFileSize and ST_BandFileTimestamp,
           extend ST_BandMetadata (Even Rouault)
69 70 71
  - #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
72

73
* Breaking Changes *
74
  - #4054, ST_SimplifyVW changed from > tolerance to >= tolerance
75
  - #3885, version number removed from address_standardize lib file
76
           (Regina Obe)
77
  - #3893, raster support functions can only be loaded in the same schema
78
           with core PostGIS functions. (Sandro Santilli)
79
  - #4035, remove dummy pgis_abs type from aggregate/collect routines.
80
           (Paul Ramsey)
81
  - #4069, drop support for GEOS < 3.5 and PostgreSQL < 9.4 (Regina Obe)
82
  - #4082, ST_BandMetaData extended to include filesize, timestamp (Even Rouault)
83

84
* Enhancements and Fixes*
85 86
  - Upgrade scripts from multiple old versions are now all symlinks
    to a single upgrade script (Sandro Santilli)
Sandro Santilli's avatar
Sandro Santilli committed
87
  - #3944, Update to EPSG register v9.2 (Even Rouault)
88
  - #3927, Parallel implementation of ST_AsMVT
89
  - #3925, Simplify geometry using map grid cell size before generating MVT
90 91
  - #3899, BTree sort order is now defined on collections of EMPTY and
           same-prefix geometries (Darafei Praliaskouski)
Regina Obe's avatar
Regina Obe committed
92
  - #3864, Performance improvement for sorting POINT geometries
93 94
           (Darafei Praliaskouski)
  - #3900, GCC warnings fixed, make -j is now working (Darafei Praliaskouski)
Sandro Santilli's avatar
Sandro Santilli committed
95 96
  - TopoGeo_addLinestring robustness improvements (Sandro Santilli)
    #1855, #1946, #3718, #3838
97
  - #3234, Do not accept EMPTY points as topology nodes (Sandro Santilli)
98
  - #1014, Hashable geometry, allowing direct use in CTE signatures (Paul Ramsey)
99
  - #3097, Really allow MULTILINESTRING blades in ST_Split() (Paul Ramsey)
100
  - #3942, geojson: Do not include private header for json-c >= 0.13 (Björn Esser)
101
  - #3954, ST_GeometricMedian now supports point weights (Darafei Praliaskouski)
102 103
  - #3965, #3971, #3977, #4071 ST_ClusterKMeans rewritten: better initialization,
           faster convergence, K=2 even faster (Darafei Praliaskouski)
104 105
  - #3982, ST_AsEncodedPolyline supports LINESTRING EMPTY and MULTIPOINT EMPTY
           (Darafei Praliaskouski)
106
  - #3986, ST_AsText now has second argument to limit decimal digits
107
           (Marc Ducobu, Darafei Praliaskouski)
108 109
  - #4020, Casting from box3d to geometry now returns correctly connected
           PolyhedralSurface (Matthias Bay)
110
  - #2508, ST_OffsetCurve now works with collections (Darafei Praliaskouski)
111
  - #4006, ST_GeomFromGeoJSON support for json and jsonb as input
112
           (Paul Ramsey, Regina Obe)
113
  - #4038, ST_Subdivide now selects pivot for geometry split that reuses input
114
           vertices. (Darafei Praliaskouski)
115
  - #4025, #4032 Fixed precision issue in ST_ClosestPointOfApproach,
116
           ST_DistanceCPA, and ST_CPAWithin (Paul Ramsey, Darafei Praliaskouski)
117
  - #4076, Reduce use of GEOS in topology implementation (Björn Harrtell)
118 119 120
  - #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)
121
  - #4084: Fixed wrong code-comment regarding front/back of BOX3D (Matthias Bay)
122
  - #4060, #4094, PostgreSQL JIT support (Raúl Marín, Laurenz Albe)
123
  - #3960, ST_Centroid now uses lwgeom_centroid (Darafei Praliaskouski)
Dan Baston's avatar
Dan Baston committed
124 125
  - #4027, Remove duplicated code in lwgeom_geos (Darafei Praliaskouski,
           Daniel Baston)
126 127 128
  - #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).
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
  - #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)
156

157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 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 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236
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
237
PostGIS 2.4.0
238
2017/09/30
Regina Obe's avatar
Regina Obe committed
239

240
 * New Features *
241 242
  - #3822, Have postgis_full_version() also show and check version of
           PostgreSQL the scripts were built against (Sandro Santilli)
243
  - #2411, curves support in ST_Reverse (Sandro Santilli)
244
  - #2951, ST_Centroid for geography (Danny Götte)
245 246
  - #3788, Allow postgis_restore.pl to work on directory-style (-Fd) dumps
           (Roger Crew)
247 248
  - #3772, Direction agnostic ST_CurveToLine output (Sandro Santilli / KKGeo)
  - #2464, ST_CurveToLine with MaxError tolerance (Sandro Santilli / KKGeo)
249
  - #3599, Geobuf output support via ST_AsGeobuf (Björn Harrtell)
250
  - #3661, Mapbox vector tile output support via ST_AsMVT (Björn Harrtell / CartoDB)
251
  - #3689, Add orientation checking and forcing functions (Dan Baston)
252 253
  - #3753, Gist penalty speed improvements for 2D and ND points
           (Darafei Praliaskouski, Andrey Borodin)
254
  - #3677, ST_FrechetDistance (Shinichi Sugiyama)
255
  - Most aggregates (raster and geometry),
Regina Obe's avatar
Regina Obe committed
256
    and all stable / immutable (raster and geometry) marked as parallel safe
257
  - #2249, ST_MakeEmptyCoverage for raster (David Zwarg, ainomieli)
258
  - #3709, Allow signed distance for ST_Project (Darafei Praliaskouski)
259
  - #524, Covers support for polygon on polygon, line on line,
260
          point on line for geography (Danny Götte)
261

Regina Obe's avatar
Regina Obe committed
262
* Enhancements and Fixes*
263 264 265
  - 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
266

267
  - Support for PostgreSQL 10
Regina Obe's avatar
Regina Obe committed
268 269
  - Preliminary support for PostgreSQL 11
  - #3645, Avoid loading logically deleted records from shapefiles
270 271 272 273
  - #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
274 275
  - #3647, better handling of noding in ST_Node using GEOSNode
          (Wouter Geraedts)
Regina Obe's avatar
Regina Obe committed
276 277
  - #3684, Update to EPSG register v9
          (Even Rouault)
278
  - #3830, Fix initialization of incompatible type (>=9.6) address_standardizer
279
  - #3662, Make shp2pgsql work in debug mode by sending debug to stderr
280 281 282
  - #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
283
  - #3844, Make = operator a strict equality test, and < > to rough "spatial sorting"
284
  - #3855, ST_AsTWKB memory and speed improvements
285

286 287 288 289 290 291 292 293 294 295
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.
296

297 298 299
PostGIS 2.4.0rc1
2017/09/13
Note possible breaking changes since 2.4.0 beta1 release are:
300
* Breaking Changes *
Regina Obe's avatar
Regina Obe committed
301
  - B-Tree index operators < = > changed to provide better spatial locality on sorting
302 303 304
    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
305
    If your code relies on old left-to-right box compare ordering,
306 307 308 309 310 311 312
    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
313

314 315 316
PostGIS 2.4.0beta1
2017/09/02
See PostGIS 2.4.0 section for details
Sandro Santilli's avatar
Sandro Santilli committed
317

318 319 320
PostGIS 2.4.0alpha
2017/08/05
See PostGIS 2.4.0 section for details
321

Sandro Santilli's avatar
Sandro Santilli committed
322

323 324
PostGIS 2.3.3
2017/07/01
Regina Obe's avatar
Regina Obe committed
325

326 327 328 329 330 331 332 333 334
  * 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
335
           (Darafei Praliaskouski)
336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355
  - #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
356

357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377
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
378 379


Paul Ramsey's avatar
Paul Ramsey committed
380
PostGIS 2.3.0
Regina Obe's avatar
Regina Obe committed
381
2016/09/26
Paul Ramsey's avatar
Paul Ramsey committed
382 383

 * Important / Breaking Changes *
384

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

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

391 392
  - #3396, ST_EstimatedExtent, throw WARNING instead of ERROR
           (Regina Obe)
393

Paul Ramsey's avatar
Paul Ramsey committed
394
 * Deprecated signatures *
395

Paul Ramsey's avatar
Paul Ramsey committed
396 397
 * New Features *

398 399
  - Add support for custom TOC in postgis_restore.pl
    (Christoph Moench-Tegeder)
400 401 402
  - Add support for negative indexing in ST_PointN and ST_SetPoint
    (Rémi Cura)
  - Add parameters for geography ST_Buffer (Thomas Bonfort)
403 404
  - TopoGeom_addElement, TopoGeom_remElement (Sandro Santilli)
  - populate_topology_layer (Sandro Santilli)
405
  - #454,  ST_WrapX and lwgeom_wrapx (Sandro Santilli)
406
  - #1758, ST_Normalize (Sandro Santilli)
407
  - #2236, shp2pgsql -d now emits "DROP TABLE IF EXISTS"
Dan Baston's avatar
Dan Baston committed
408
  - #2259, ST_VoronoiPolygons and ST_VoronoiLines (Dan Baston)
Sandro Santilli's avatar
Sandro Santilli committed
409
  - #2841 and #2996, ST_MinimumBoundingRadius and new ST_MinimumBoundingCircle
Dan Baston's avatar
Dan Baston committed
410
           implementation using Welzl's algorithm (Dan Baston)
411
  - #2991, Enable ST_Transform to use PROJ.4 text (Mike Toews)
412
  - #3059, Allow passing per-dimension parameters in ST_Expand (Dan Baston)
413 414 415
  - #3339, ST_GeneratePoints (Paul Ramsey)
  - #3362, ST_ClusterDBSCAN (Dan Baston)
  - #3364, ST_GeometricMedian (Dan Baston)
416 417
  - #3391, Add table inheritance support in ST_EstimatedExtent
           (Alessandro Pasotti)
418 419 420 421
  - #3424, ST_MinimumClearance (Dan Baston)
  - #3428, ST_Points (Dan Baston)
  - #3465, ST_ClusterKMeans (Paul Ramsey)
  - #3469, ST_MakeLine with MULTIPOINTs (Paul Norman)
422
  - #3549, Support PgSQL 9.6 parallel query mode, as far as possible
423
           (Paul Ramsey, Regina Obe)
424
  - #3557, Geometry function costs based on query stats (Paul Norman)
425
  - #3591, Add support for BRIN indexes. PostgreSQL 9.4+ required.
426 427 428 429 430
           (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
431
  - #3547, Update tiger geocoder to support TIGER 2016
432
           and to support both http and ftp.
Dan Baston's avatar
Dan Baston committed
433 434
  - #3613, Segmentize geography using equal length segments
           (Hugo Mercier of Oslandia)
435

436
 * Bug Fixes
Sandro Santilli's avatar
Sandro Santilli committed
437

438
 - #2841, ST_MinimumBoundingCircle not covering original
Sandro Santilli's avatar
Sandro Santilli committed
439

440 441 442 443
 * Performance Enhancements *

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

Sandro Santilli's avatar
Sandro Santilli committed
449

Regina Obe's avatar
Regina Obe committed
450 451 452
PostGIS 2.3.0rc1
2016/09/19
See PostGIS 2.3.0 section for details
Sandro Santilli's avatar
Sandro Santilli committed
453

Sandro Santilli's avatar
Sandro Santilli committed
454

455 456 457
PostGIS 2.3.0beta1
2016/09/06
See PostGIS 2.3.0 section for details
458

Sandro Santilli's avatar
Sandro Santilli committed
459

Sandro Santilli's avatar
Sandro Santilli committed
460 461 462 463 464 465 466 467 468 469 470 471 472
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
473
  - #3461, ST_GeomFromKML crashes Postgres when there are
Sandro Santilli's avatar
Sandro Santilli committed
474 475 476 477 478 479 480 481 482
           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
483

484 485 486 487 488 489 490 491 492 493 494
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)
495
  - #3355, geography ST_Segmentize has geometry bbox
496 497 498 499 500 501 502
  - #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
503
  - #3388, #3410, Fix missing end-points in ST_RemoveRepeatedPoints
504 505 506 507 508 509 510 511 512 513 514 515 516 517
  - #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
518
PostGIS 2.2.0
519
2015/10/07
Bborie Park's avatar
Bborie Park committed
520

521
 * Important / Breaking Changes *
Bborie Park's avatar
Bborie Park committed
522

523
  - PROJ4 4.6 and higher only
524 525 526
  - #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.
527 528
  - #3022, ValidateTopology swapped meaning of id1 and id2 for the
           'edge crosses node' error (now edge_id,node_id)
529 530
  - #2565, ST_SummaryStats(tablename, rastercolumn, ...) uses
           ST_SummaryStatsAgg()
531
  - #2567, ST_Count(tablename, rastercolumn, ...) uses ST_CountAgg()
532
  - #2842, raster - Hide unselectable tables from raster_overview
533
        and raster_columns
534 535
  - By default, PostGIS raster disables all GDAL drivers affecting
    out-db rasters, ST_FromGDALRaster() and ST_AsGDALRaster() variants
536
  - #3181, POINT EMPTY is now stored as POINT(NaN NaN) in WKB, instead of as MULTIPOINT EMPTY
537 538
  - Java binding moved to separate repository:
    https://github.com/postgis/postgis-java
539

Bborie Park's avatar
Bborie Park committed
540 541
 * Deprecated signatures *

542 543
  - #2748, ST_Shift_Longitude renamed to ST_ShiftLongitude,
           ST_Find_Extent renamed to ST_FindExtent,
544 545
           ST_Combine_BBox renamed to ST_CombineBbox,
           ST_Length_Spheroid renamed to ST_LengthSpheroid,
546 547 548
           ST_Distance_Spheroid renamed to ST_DistanceSpheroid,
           ST_Distance_Sphere renamed to ST_DistanceSphere,
           ST_3DLength_Spheroid deprecated (use ST_LengthSpheroid)
549
  - #2769, ST_Mem_Size renamed to ST_MemSize
550
  - #2565, ST_SummaryStats(tablename, rastercolumn, ...)
551
  - #2567, ST_Count(tablename, rastercolumn, ...)
552

Bborie Park's avatar
Bborie Park committed
553
 * New Features *
554

555 556
  - Topology API in liblwgeom
    (Sandro Santilli / Regione Toscana - SITA)
557
  - New lwgeom_version method in liblwgeom
558
  - New lwgeom_unaryunion method in liblwgeom
559
  - New lwgeom_linemerge method in liblwgeom
560 561 562
  - 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)
563
  - #3169, ST_ApproximateMedialAxis (Sandro Santilli)
564
  - ST_CPAWithin (Sandro Santilli / Boundless)
565 566
  - Add |=| operator with CPA semantic and KNN support with PgSQL 9.5+
    (Sandro Santilli / Boundless)
567
  - #3131, KNN support for the geography type (Paul Ramsey / CartoDB)
568
  - #3023, ST_ClusterIntersecting / ST_ClusterWithin (Dan Baston)
569 570
  - #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)
571
  - #3062, Allow passing M factor to ST_Scale (Sandro Santilli / Boundless)
572
  - #3139, ST_BoundingDiagonal (Sandro Santilli / Boundless)
573
  - #3129, ST_IsValidTrajectory (Sandro Santilli / Boundless)
574
  - #3128, ST_ClosestPointOfApproach (Sandro Santilli / Boundless)
575
  - #3152, ST_DistanceCPA (Sandro Santilli / Boundless)
576
  - Canonical output for index key types
577
  - ST_SwapOrdinates (Sandro Santilli / Boundless)
578
  - #2918, Use GeographicLib functions for geodetics (Mike Toews)
579 580
  - #3074, ST_Subdivide to break up large geometry (Paul Ramsey / CartoDB)
  - #3040, KNN GiST index based centroid (<<->>)
581
           n-D distance operators (Sandro Santilli / Boundless)
582
  - Interruptibility API for liblwgeom (Sandro Santilli / CartoDB)
583
  - #2939, ST_ClipByBox2D (Sandro Santilli / CartoDB)
584 585
  - #2247, ST_Retile and ST_CreateOverview: in-db raster overviews creation
           (Sandro Santilli / Vizzuality)
586 587
  - #899, -m shp2pgsql attribute names mapping -m switch
           (Regina Obe / Sandro Santilli)
588
  - #1678, Added GUC postgis.gdal_datapath to specify GDAL config
589
           variable GDAL_DATA
590
  - #2843, Support reprojection on raster import
591
           (Sandro Santilli / Vizzuality)
592
  - #2349, Support for encoded_polyline input/output (Kashif Rasul)
593
  - #2159, report libjson version from postgis_full_version()
594
  - #2770, ST_MemSize(raster)
595
  - Add postgis_noop(raster)
596
  - Added missing variants of ST_TPI(), ST_TRI() and ST_Roughness()
597 598
  - Added GUC postgis.gdal_enabled_drivers to specify GDAL config
    variable GDAL_SKIP
599 600
  - Added GUC postgis.enable_outdb_rasters to enable access to
    rasters with out-db bands
601
  - #2387, address_standardizer extension as part of PostGIS
602
           Stephen Woodbridge (imaptools.com), Walter Sinclair, Regina Obe
603
  - #2816, address_standardizer_data_us extension
604 605
           provides reference lex,gaz,rules for address_standardizer
           Stephen Woodbridge (imaptools.com), Walter Sinclair, Regina Obe
606
  - #2341, New mask parameter for ST_MapAlgebra
Sandro Santilli's avatar
Sandro Santilli committed
607
  - #2397, read encoding info automatically in shapefile loader
608
  - #2430, ST_ForceCurve
609
  - #2565, ST_SummaryStatsAgg()
610
  - #2567, ST_CountAgg()
611
  - #2632, ST_AsGML() support for curved features
612
  - #2652, Add --upgrade-path switch to run_test.pl
613
  - #2754, sfcgal wrapped as an extension
Nicklas Avén's avatar
Nicklas Avén committed
614
  - #2227, Simplification with Visvalingam-Whyatt algorithm
615
           ST_SimplifyVW, ST_SetEffectiveArea (Nicklas Avén)
Nicklas Avén's avatar
Nicklas Avén committed
616
  - Functions to encode and decode TWKB
617
    ST_AsTWKB, ST_GeomFromTWKB (Paul Ramsey / Nicklas Avén / CartoDB)
Sandro Santilli's avatar
Sandro Santilli committed
618 619 620

 * Enhancements *

621
  - #3223, Add memcmp short-circuit to ST_Equals (Daniel Baston)
622
  - #3227, Tiger geocoder upgraded to support Tiger 2015 census
623
  - #2278, Make liblwgeom potentially ABI-compatible between micro releases
624 625
  - #897, ST_AsX3D support for GeoCoordinates and systems "GD" "WE"
           ability to flip x/y axis (use option = 2, 3)
626 627
  - ST_Split: allow splitting lines by multilines, multipoints
              and (multi)polygon boundaries
628
  - #3070, Simplify geometry type constraint
629 630 631
  - #2839, Implement selectivity estimator for functional indexes,
           speeding up spatial queries on raster tables.
           (Sandro Santilli / Vizzuality)
632
  - #2361, Added spatial_index column to raster_columns view
633
  - #2390, Testsuite for pgsql2shp
634 635
  - #2527, Added -k flag to raster2pgsql to skip checking that
           band is NODATA
636
  - #2616, Reduce text casts during topology building and export
637
  - #2717, support startpoint, endpoint, pointn, numpoints for compoundcurve
Bborie Park's avatar
Bborie Park committed
638
  - #2747, Add support for GDAL 2.0
639
  - #2754, SFCGAL can now be installed with CREATE EXTENSION
Regina Obe's avatar
Regina Obe committed
640
       Vincent Mora (Oslandia)
641
  - #2828, Convert ST_Envelope(raster) from SQL to C
642 643
  - #2829, Shortcut ST_Clip(raster) if geometry fully contains the raster
           and no NODATA specified
644
  - #2906, Update tiger geocoder to handle tiger 2014 data
Paul Ramsey's avatar
Paul Ramsey committed
645
  - #3048, Speed up geometry simplification (J.Santana @ CartoDB)
646
  - #3092, Slow performance of geometry_columns with many tables
647

Bborie Park's avatar
Bborie Park committed
648 649
 * Bug Fixes *

650 651
  - #2893, Allow interruptibility of ST_Segmentize(geometry)
           (Sandro Santilli / CartoDB)
652
  - #2540, Change GUC name for GDAL_DATA to postgis.gdal_datapath
653 654
  - #2777, Raster max extent constraint based upon envelope to behave
           like geometry extent
655 656
  - #2822, Use @ operator instead of ST_CoveredBy() for raster
           max extent constraint
657
  - #3018, GROUP BY geography sometimes returns duplicate rows
658
  - #3020, ST_AddBand out-db bug where height using width value
659
  - #3084, shp2pgsql - illegal number format when specific system locale set
660
  - #3061, Allow duplicate points in JSON, GML, GML ST_GeomFrom* functions
661 662
  - #3086, ST_DumpValues() crashes backend on cleanup with invalid
           band indexes
663

Sandro Santilli's avatar
Sandro Santilli committed
664 665 666 667
 * 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
668
  - #1220, lwerror and lwnotice function became internal to liblwgeom
Sandro Santilli's avatar
Sandro Santilli committed
669

Sandro Santilli's avatar
Sandro Santilli committed
670

671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694
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
695

Sandro Santilli's avatar
Sandro Santilli committed
696

697 698 699 700 701 702 703
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
704
  - #3050, Speed up geometry type reading (J.Santana @ CartoDB)
705 706 707 708 709 710 711 712 713 714 715 716 717 718 719

 * 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
720

721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737
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
738

739 740 741 742 743 744 745 746 747 748 749 750 751 752 753
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 *

754
  - #2605, armel: _ST_Covers() returns true for point in hole
755 756 757 758 759 760 761 762 763 764 765 766 767 768 769
  - #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
770
  - #2775, lwline_from_lwmpoint leaks memory
771 772 773 774 775 776 777 778
  - #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)
779
  - #2903, Unable to compile on FreeBSD
780
  - #2927  reverse_geocode not filling in direction prefix (tiger geocoder)
781 782
           get rid of deprecated ST_Line_Locate_Point called

783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799
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


800 801 802 803 804 805 806 807 808 809 810
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
811
  - #2546, GeoJSON with string coordinates parses incorrectly
812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829
  - #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
830

831 832 833 834 835 836 837 838 839 840
 * 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 *

841
  - #2514, Change raster license from GPL v3+ to v2+, allowing
842 843 844 845 846 847 848 849 850 851 852 853
           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
854
  - #2504, Fix segfault on bogus pgsql2shp call
855 856 857 858 859 860 861 862 863 864 865 866 867
  - #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
868

869
PostGIS 2.1.0
870
2013/08/17
Paul Ramsey's avatar
Paul Ramsey committed
871

872 873
 * Important / Breaking Changes  *

874 875
  - #1653, Removed srid parameter from ST_Resample(raster) and variants
           with reference raster no longer apply reference raster's SRID.
876
  - #1962 ST_Segmentize - As a result of
877
          the introduction of geography support, The construct:
878
		 SELECT ST_Segmentize('LINESTRING(1 2, 3 4)',0.5);
879
		will result in ambiguous function error
880
  - #2026, ST_Union(raster) now unions all bands of all rasters
881
  - #2089, liblwgeom: lwgeom_set_handlers replaces lwgeom_init_allocators.
882 883 884
  - #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
885 886
  - ST_Intersects(raster, geometry) behaves in the same manner as
    ST_Intersects(geometry, raster).
887 888
  - point variant of ST_SetValue(raster) previously did not check SRID
    of input geometry and raster.
889 890
  - ST_Hillshade parameters azimuth and altitude are now in degrees
    instead of radians.
891
  - ST_Slope and ST_Aspect return pixel values in degrees instead of radians.
892

893
 * Deprecated signatures *
894

895 896 897 898 899 900
  - #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
901
  - ST_Estimated_Extent renamed to ST_EstimatedExtent
902 903 904
  - ST_Line_Interpolate_Point renamed to ST_LineInterpolatePoint
  - ST_Line_Substring renamed to ST_LineSubstring
  - ST_Line_Locate_Point renamed to ST_LineLocatePoint
905
  - ST_Force_XXX renamed to ST_ForceXXX
906 907
  - ST_MapAlgebraFctNgb and 1 and 2 raster variants of ST_MapAlgebraFct.
    Use ST_MapAlgebra instead
908 909
  - 1 and 2 raster variants of ST_MapAlgebraExpr.
    Use expression variants of ST_MapAlgebra instead
910

911 912
 * New Features *

913 914 915
 Refer to http://postgis.net/docs/manual-2.1/PostGIS_Special_Functions_Index.html#NewFunctions_2_1
 for complete list of new functions

916
  - #310, ST_DumpPoints converted to a C function (Nathan Wagner)
917
  - #739, UpdateRasterSRID()
918 919
  - #945, improved join selectivity, N-D selectivity calculations,
    user accessible selectivity and stats reader functions for
920
    testing (Paul Ramsey / OpenGeo)
921 922
  - toTopoGeom with TopoGeometry sink (Sandro Santilli / Vizzuality)
  - clearTopoGeom (Sandro Santilli / Vizzuality)
923
  - ST_Segmentize(geography) (Paul Ramsey / OpenGeo)
924
  - ST_DelaunayTriangles (Sandro Santilli / Vizzuality)
925
  - ST_NearestValue, ST_Neighborhood (Bborie Park / UC Davis)
926 927
  - ST_PixelAsPoint, ST_PixelAsPoints (Bborie Park / UC Davis)
  - ST_PixelAsCentroid, ST_PixelAsCentroids (Bborie Park / UC Davis)
928
  - ST_Raster2WorldCoord, ST_World2RasterCoord (Bborie Park / UC Davis)
929
  - Additional raster/raster spatial relationship functions
930
    (ST_Contains, ST_ContainsProperly, ST_Covers, ST_CoveredBy, ST_Disjoint,
931
    ST_Overlaps, ST_Touches, ST_Within, ST_DWithin, ST_DFullyWithin)
932
    (Bborie Park / UC Davis)
933 934
  - Added array variants of ST_SetValues() to set many pixel values of a band
    in one call (Bborie Park / UC Davis)
935
  - #1293, ST_Resize(raster) to resize rasters based upon width/height
936
  - #1627, package tiger_geocoder as a PostgreSQL extension
937
  - #1643, #2076, Upgrade tiger geocoder to support loading tiger 2011 and 2012
938
    (Regina Obe / Paragon Corporation) Funded by Hunter Systems Group
939
  - GEOMETRYCOLLECTION support for ST_MakeValid (Sandro Santilli / Vizzuality)
940
  - #1709, ST_NotSameAlignmentReason(raster, raster)
941
  - #1818, ST_GeomFromGeoHash and friends (Jason Smith (darkpanda))
942
  - #1856, reverse geocoder rating setting for prefer numbered highway name
943
  - ST_PixelOfValue (Bborie Park / UC Davis)
944
  - Casts to/from PostgreSQL geotypes (point/path/polygon).
945 946 947
  - 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)
948
  - ST_Tile(raster) to break up a raster into tiles (Bborie Park / UC Davis)
949
  - #1895, new r-tree node splitting algorithm (Alex Korotkov)
950 951
  - #2011, ST_DumpValues to output raster as array (Bborie Park / UC Davis)
  - #2018, ST_Distance support for CircularString, CurvePolygon, MultiCurve,
952
    MultiSurface, CompoundCurve
953
  - #2030, n-raster (and n-band) ST_MapAlgebra (Bborie Park / UC Davis)
954
  - #2193, Utilize PAGC parser as drop in replacement for tiger normalizer
955
            (Steve Woodbridge, Regina Obe)
956
  - #2210, ST_MinConvexHull(raster)
957
  - lwgeom_from_geojson in liblwgeom (Sandro Santilli / Vizzuality)
958
  - #1687, ST_Simplify for TopoGeometry (Sandro Santilli / Vizzuality)
959
  - #2228, TopoJSON output for TopoGeometry (Sandro Santilli / Vizzuality)
960
  - #2123, ST_FromGDALRaster
961
  - #613, ST_SetGeoReference with numerical parameters instead of text
962
  - #2276, ST_AddBand(raster) variant for out-db bands
963
  - #2280, ST_Summary(raster)
964
  - #2163, ST_TPI for raster (Nathaniel Clay)
965
  - #2164, ST_TRI for raster (Nathaniel Clay)
966
  - #2302, ST_Roughness for raster (Nathaniel Clay)
967
  - #2290, ST_ColorMap(raster) to generate RGBA bands
968
  - #2254, Add SFCGAL backend support.
969
           (Backend selection throught postgis.backend var)
970 971
           Functions available both throught GEOS or SFCGAL:
            ST_Intersects, ST_3DIntersects, ST_Intersection, ST_Area,
972 973 974 975 976 977 978 979
            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)

980
 * Enhancements *
981

982
  - #823,  tiger geocoder: Make loader_generate_script download portion
Paul Ramsey's avatar
Paul Ramsey committed
983
           less greedy
984 985
  - #826,  raster2pgsql no longer defaults to padding tiles. Flag -P
           can be used to pad tiles
986
  - #1363, ST_AddBand(raster, ...) array version rewritten in C
987
  - #1364, ST_Union(raster, ...) aggregate function rewritten in C
988
  - #1655, Additional default values for parameters of ST_Slope
989
  - #1661, Add aggregate variant of ST_SameAlignment
990
  - #1719, Add support for Point and GeometryCollection ST_MakeValid inputs
991
  - #1780, support ST_GeoHash for geography
Paul Ramsey's avatar
Paul Ramsey committed
992
  - #1796, Big performance boost for distance calculations in geography
993
  - #1802, improved function interruptibility.
994
  - #1823, add parameter in ST_AsGML to use id column for GML 3 output
995
           (become mandatory since GML 3.2.1)
996
  - #1856, tiger geocoder: reverse geocoder rating setting for prefer
Paul Ramsey's avatar
Paul Ramsey committed
997
           numbered highway name
998
  - #1938, Refactor basic ST_AddBand to add multiple new bands in one call
999
  - #1978, wrong answer when calculating length of a closed circular
Paul Ramsey's avatar
Paul Ramsey committed
1000
           arc (circle)
1001 1002
  - #1989, Preprocess input geometry to just intersection with raster
           to be clipped
1003
  - #2021, Added multi-band support to ST_Union(raster, ...) aggregate function
1004
  - #2006, better support of ST_Area(geography) over poles and dateline
1005
  - #2065, ST_Clip(raster, ...) now a C function
1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018
  - #2069, Added parameters to ST_Tile(raster) to control padding of tiles
  - #2078, New variants of ST_Slope, ST_Aspect and ST_HillShade to provide
           solution to handling tiles in a coverage
  - #2097, Added RANGE uniontype option for ST_Union(raster)
  - #2105, Added ST_Transform(raster) variant for aligning output to
           reference raster
  - #2119, Rasters passed to ST_Resample(), ST_Rescale(), ST_Reskew(),
           and ST_SnapToGrid() no longer require an SRID
  - #2141, More verbose output when constraints fail to be added
           to a raster column
  - #2143, Changed blocksize constraint of raster to allow multiple values
  - #2148, Addition of coverage_tile constraint for raster
  - #2149, Addition of spatially_unique constraint for raster
1019
  - TopologySummary output now includes unregistered layers and a count
1020
           of missing TopoGeometry objects from their natural layer.
1021
  - ST_HillShade(), ST_Aspect() and ST_Slope() have one new optional
1022 1023
           parameter to interpolate NODATA pixels before running the
           operation.
1024
  - Point variant of ST_SetValue(raster) is now a wrapper around geomval
1025
           variant of ST_SetValues(rast).
1026
  - Proper support for raster band's isnodata flag in core API and loader.
1027
  - Additional default values for parameters of ST_Aspect and ST_HillShade
1028
  - #2178, ST_Summary now advertises presence of known srid with an [S] flag
1029
  - #2202, Make libjson-c optional (--without-json configure switch)
1030
  - #2213, Add support libjson-c 0.10+
1031
  - #2231, raster2pgsql supports user naming of filename column with -n
1032
  - #2200, ST_Union(raster, uniontype) unions all bands of all rasters
1033 1034
  - #2264, postgis_restore.pl support for restoring into databases
           with postgis in a custom schema
1035 1036
  - #2244, emit warning when changing raster's georeference if raster has
           out-db bands
1037 1038
  - #2222, add parameter OutAsIn to flag whether ST_AsBinary should
           return out-db bands as in-db bands
1039

1040
 * Fixes *
1041

1042
  - #1839, handling of subdatasets in GeoTIFF in raster2pgsql.
1043
  - #1840, fix logic of when to compute # of tiles in raster2pgsql.
1044 1045 1046
  - #1870, align the docs and actual behavior of raster's ST_Intersects
  - #1872, fix ST_ApproxSummarystats to prevent division by zero
  - #1875, ST_SummaryStats returns NULL for all parameters except count
Bborie Park's avatar
Bborie Park committed
1047 1048
           when count is zero
  - #1932, fix raster2pgsql of syntax for index tablespaces
1049
  - #1936, ST_GeomFromGML on CurvePolygon causes server crash
1050
  - #1939, remove custom data types: summarystats, histogram, quantile,
Paul Ramsey's avatar
Paul Ramsey committed
1051
           valuecount