NEWS 98.6 KB
Newer Older
1 2
PostGIS 3.0.0
2019/xx/xx
3 4 5
* Breaking Changes *
  - #3888, Raster support now available as a separate extension
    (Sandro Santilli)
6 7 8 9
  - #3807, Extension library files no longer include the minor version.
        Use New configure switch --with-library-minor-version
        if you need the old behavior (Regina Obe)

10 11
* New Features *
  - #2902, postgis_geos_noop (Sandro Santilli)
12
  - #4128, ST_AsMVT support for Feature ID (Stepan Kuzmin)
13

14
* Enhancements and fixes *
15 16
  - #4153, ST_Segmentize now splits segments proportionally (Darafei
    Praliaskouski).
17 18
  - #4162, ST_DWithin documentation examples for storing geometry and
    radius in table (Darafei Praliaskouski, github user Boscop).
19
  - #4161, MVT: Drop geometries smaller than the resolution (Raúl Marín)
20
  - #4176, ST_Intersects supports GEOMETRYCOLLECTION (Darafei Praliaskouski)
21
  - #4181, St_AsMVTGeom: Avoid type changes due to validation (Raúl Marín)
22
  - #4183, St_AsMVTGeom: Drop invalid geometries after simplification (Raúl Marín)
23

24
PostGIS 2.5.0
25 26 27 28 29
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
30

31
* New Features *
32
  - #1847, spgist 2d and 3d support for PG 11+
Regina Obe's avatar
Regina Obe committed
33 34
    (Esteban Zimányi and Arthur Lesuisse from Université Libre de Bruxelles (ULB),
      Darafei Praliaskouski)
35
  - #4056, ST_FilterByM (Nicklas Avén)
36
  - #4050, ST_ChaikinSmoothing (Nicklas Avén)
37
  - #3989, ST_Buffer single sided option (Stephen Knox)
38
  - #3876, ST_Angle function (Rémi Cura)
39
  - #3564, ST_LineInterpolatePoints (Dan Baston)
40
  - #3896, PostGIS_Extensions_Upgrade() (Regina Obe)
41
  - #3913, Upgrade when creating extension from unpackaged (Sandro Santilli)
42
  - #2256, _postgis_index_extent() for extent from index (Paul Ramsey)
Dan Baston's avatar
Dan Baston committed
43
  - #3176, Add ST_OrientedEnvelope (Dan Baston)
Dan Baston's avatar
Dan Baston committed
44
  - #4029, Add ST_QuantizeCoordinates (Dan Baston)
45
  - #4063, Optional false origin point for ST_Scale (Paul Ramsey)
46 47
  - #4082, Add ST_BandFileSize and ST_BandFileTimestamp,
           extend ST_BandMetadata (Even Rouault)
48 49 50
  - #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
51

52
* Breaking Changes *
53
  - #4054, ST_SimplifyVW changed from > tolerance to >= tolerance
54
  - #3885, version number removed from address_standardize lib file
55
          (Regina Obe)
56
  - #3893, raster support functions can only be loaded in the same schema
57
           with core PostGIS functions. (Sandro Santilli)
58
  - #4035, remove dummy pgis_abs type from aggregate/collect routines.
59
           (Paul Ramsey)
60
  - #4069, drop support for GEOS < 3.5 and PostgreSQL < 9.4 (Regina Obe)
61
  - #4082, ST_BandMetaData extended to include filesize, timestamp (Even Rouault)
62

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

136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 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
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
216
PostGIS 2.4.0
217
2017/09/30
Regina Obe's avatar
Regina Obe committed
218

219
 * New Features *
220 221
  - #3822, Have postgis_full_version() also show and check version of
           PostgreSQL the scripts were built against (Sandro Santilli)
222
  - #2411, curves support in ST_Reverse (Sandro Santilli)
223
  - #2951, ST_Centroid for geography (Danny Götte)
224 225
  - #3788, Allow postgis_restore.pl to work on directory-style (-Fd) dumps
           (Roger Crew)
226 227
  - #3772, Direction agnostic ST_CurveToLine output (Sandro Santilli / KKGeo)
  - #2464, ST_CurveToLine with MaxError tolerance (Sandro Santilli / KKGeo)
228
  - #3599, Geobuf output support via ST_AsGeobuf (Björn Harrtell)
229
  - #3661, Mapbox vector tile output support via ST_AsMVT (Björn Harrtell / CartoDB)
230
  - #3689, Add orientation checking and forcing functions (Dan Baston)
231 232
  - #3753, Gist penalty speed improvements for 2D and ND points
           (Darafei Praliaskouski, Andrey Borodin)
233
  - #3677, ST_FrechetDistance (Shinichi Sugiyama)
234
  - Most aggregates (raster and geometry),
Regina Obe's avatar
Regina Obe committed
235
    and all stable / immutable (raster and geometry) marked as parallel safe
236
  - #2249, ST_MakeEmptyCoverage for raster (David Zwarg, ainomieli)
237
  - #3709, Allow signed distance for ST_Project (Darafei Praliaskouski)
238
  - #524, Covers support for polygon on polygon, line on line,
239
          point on line for geography (Danny Götte)
240

Regina Obe's avatar
Regina Obe committed
241
* Enhancements and Fixes*
242 243 244
  - 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
245

246
  - Support for PostgreSQL 10
Regina Obe's avatar
Regina Obe committed
247 248
  - Preliminary support for PostgreSQL 11
  - #3645, Avoid loading logically deleted records from shapefiles
249 250 251 252
  - #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
253 254
  - #3647, better handling of noding in ST_Node using GEOSNode
          (Wouter Geraedts)
Regina Obe's avatar
Regina Obe committed
255 256
  - #3684, Update to EPSG register v9
          (Even Rouault)
257
  - #3830, Fix initialization of incompatible type (>=9.6) address_standardizer
258
  - #3662, Make shp2pgsql work in debug mode by sending debug to stderr
259 260 261
  - #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
262
  - #3844, Make = operator a strict equality test, and < > to rough "spatial sorting"
263
  - #3855, ST_AsTWKB memory and speed improvements
264

265 266 267 268 269 270 271 272 273 274
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.
275

276 277 278
PostGIS 2.4.0rc1
2017/09/13
Note possible breaking changes since 2.4.0 beta1 release are:
279
* Breaking Changes *
Regina Obe's avatar
Regina Obe committed
280
  - B-Tree index operators < = > changed to provide better spatial locality on sorting
281 282 283
    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
284
    If your code relies on old left-to-right box compare ordering,
285 286 287 288 289 290 291
    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
292

293 294 295
PostGIS 2.4.0beta1
2017/09/02
See PostGIS 2.4.0 section for details
Sandro Santilli's avatar
Sandro Santilli committed
296

297 298 299
PostGIS 2.4.0alpha
2017/08/05
See PostGIS 2.4.0 section for details
300

Sandro Santilli's avatar
Sandro Santilli committed
301

302 303
PostGIS 2.3.3
2017/07/01
Regina Obe's avatar
Regina Obe committed
304

305 306 307 308 309 310 311 312 313
  * 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
314
           (Darafei Praliaskouski)
315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334
  - #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
335

336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356
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
357 358


Paul Ramsey's avatar
Paul Ramsey committed
359
PostGIS 2.3.0
Regina Obe's avatar
Regina Obe committed
360
2016/09/26
Paul Ramsey's avatar
Paul Ramsey committed
361 362

 * Important / Breaking Changes *
363

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

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

370 371
  - #3396, ST_EstimatedExtent, throw WARNING instead of ERROR
           (Regina Obe)
372

Paul Ramsey's avatar
Paul Ramsey committed
373
 * Deprecated signatures *
374

Paul Ramsey's avatar
Paul Ramsey committed
375 376
 * New Features *

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

415
 * Bug Fixes
Sandro Santilli's avatar
Sandro Santilli committed
416

417
 - #2841, ST_MinimumBoundingCircle not covering original
Sandro Santilli's avatar
Sandro Santilli committed
418

419 420 421 422
 * Performance Enhancements *

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

Sandro Santilli's avatar
Sandro Santilli committed
428

Regina Obe's avatar
Regina Obe committed
429 430 431
PostGIS 2.3.0rc1
2016/09/19
See PostGIS 2.3.0 section for details
Sandro Santilli's avatar
Sandro Santilli committed
432

Sandro Santilli's avatar
Sandro Santilli committed
433

434 435 436
PostGIS 2.3.0beta1
2016/09/06
See PostGIS 2.3.0 section for details
437

Sandro Santilli's avatar
Sandro Santilli committed
438

Sandro Santilli's avatar
Sandro Santilli committed
439 440 441 442 443 444 445 446 447 448 449 450 451
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
452
  - #3461, ST_GeomFromKML crashes Postgres when there are
Sandro Santilli's avatar
Sandro Santilli committed
453 454 455 456 457 458 459 460 461
           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
462

463 464 465 466 467 468 469 470 471 472 473
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)
474
  - #3355, geography ST_Segmentize has geometry bbox
475 476 477 478 479 480 481
  - #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
482
  - #3388, #3410, Fix missing end-points in ST_RemoveRepeatedPoints
483 484 485 486 487 488 489 490 491 492 493 494 495 496
  - #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
497
PostGIS 2.2.0
498
2015/10/07
Bborie Park's avatar
Bborie Park committed
499

500
 * Important / Breaking Changes *
Bborie Park's avatar
Bborie Park committed
501

502
  - PROJ4 4.6 and higher only
503 504 505
  - #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.
506 507
  - #3022, ValidateTopology swapped meaning of id1 and id2 for the
           'edge crosses node' error (now edge_id,node_id)
508 509
  - #2565, ST_SummaryStats(tablename, rastercolumn, ...) uses
           ST_SummaryStatsAgg()
510
  - #2567, ST_Count(tablename, rastercolumn, ...) uses ST_CountAgg()
511
  - #2842, raster - Hide unselectable tables from raster_overview
512
        and raster_columns
513 514
  - By default, PostGIS raster disables all GDAL drivers affecting
    out-db rasters, ST_FromGDALRaster() and ST_AsGDALRaster() variants
515
  - #3181, POINT EMPTY is now stored as POINT(NaN NaN) in WKB, instead of as MULTIPOINT EMPTY
516 517
  - Java binding moved to separate repository:
    https://github.com/postgis/postgis-java
518

Bborie Park's avatar
Bborie Park committed
519 520
 * Deprecated signatures *

521 522
  - #2748, ST_Shift_Longitude renamed to ST_ShiftLongitude,
           ST_Find_Extent renamed to ST_FindExtent,
523 524
           ST_Combine_BBox renamed to ST_CombineBbox,
           ST_Length_Spheroid renamed to ST_LengthSpheroid,
525 526 527
           ST_Distance_Spheroid renamed to ST_DistanceSpheroid,
           ST_Distance_Sphere renamed to ST_DistanceSphere,
           ST_3DLength_Spheroid deprecated (use ST_LengthSpheroid)
528
  - #2769, ST_Mem_Size renamed to ST_MemSize
529
  - #2565, ST_SummaryStats(tablename, rastercolumn, ...)
530
  - #2567, ST_Count(tablename, rastercolumn, ...)
531

Bborie Park's avatar
Bborie Park committed
532
 * New Features *
533

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

 * Enhancements *

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

Bborie Park's avatar
Bborie Park committed
627 628
 * Bug Fixes *

629 630
  - #2893, Allow interruptibility of ST_Segmentize(geometry)
           (Sandro Santilli / CartoDB)
631
  - #2540, Change GUC name for GDAL_DATA to postgis.gdal_datapath
632 633
  - #2777, Raster max extent constraint based upon envelope to behave
           like geometry extent
634 635
  - #2822, Use @ operator instead of ST_CoveredBy() for raster
           max extent constraint
636
  - #3018, GROUP BY geography sometimes returns duplicate rows
637
  - #3020, ST_AddBand out-db bug where height using width value
638
  - #3084, shp2pgsql - illegal number format when specific system locale set
639
  - #3061, Allow duplicate points in JSON, GML, GML ST_GeomFrom* functions
640 641
  - #3086, ST_DumpValues() crashes backend on cleanup with invalid
           band indexes
642

Sandro Santilli's avatar
Sandro Santilli committed
643 644 645 646
 * 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
647
  - #1220, lwerror and lwnotice function became internal to liblwgeom
Sandro Santilli's avatar
Sandro Santilli committed
648

Sandro Santilli's avatar
Sandro Santilli committed
649

650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673
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
674

Sandro Santilli's avatar
Sandro Santilli committed
675

676 677 678 679 680 681 682
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
683
  - #3050, Speed up geometry type reading (J.Santana @ CartoDB)
684 685 686 687 688 689 690 691 692 693 694 695 696 697 698

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

700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716
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
717

718 719 720 721 722 723 724 725 726 727 728 729 730 731 732
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 *

733
  - #2605, armel: _ST_Covers() returns true for point in hole
734 735 736 737 738 739 740 741 742 743 744 745 746 747 748
  - #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
749
  - #2775, lwline_from_lwmpoint leaks memory
750 751 752 753 754 755 756 757
  - #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)
758
  - #2903, Unable to compile on FreeBSD
759
  - #2927  reverse_geocode not filling in direction prefix (tiger geocoder)
760 761
           get rid of deprecated ST_Line_Locate_Point called

762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778
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


779 780 781 782 783 784 785 786 787 788 789
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
790
  - #2546, GeoJSON with string coordinates parses incorrectly
791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808
  - #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
809

810 811 812 813 814 815 816 817 818 819
 * 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 *

820
  - #2514, Change raster license from GPL v3+ to v2+, allowing
821 822 823 824 825 826 827 828 829 830 831 832
           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
833
  - #2504, Fix segfault on bogus pgsql2shp call
834 835 836 837 838 839 840 841 842 843 844 845 846
  - #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
847

848
PostGIS 2.1.0
849
2013/08/17
Paul Ramsey's avatar
Paul Ramsey committed
850

851 852
 * Important / Breaking Changes  *

853 854
  - #1653, Removed srid parameter from ST_Resample(raster) and variants
           with reference raster no longer apply reference raster's SRID.
855
  - #1962 ST_Segmentize - As a result of
856
          the introduction of geography support, The construct:
857
		 SELECT ST_Segmentize('LINESTRING(1 2, 3 4)',0.5);
858
		will result in ambiguous function error
859
  - #2026, ST_Union(raster) now unions all bands of all rasters
860
  - #2089, liblwgeom: lwgeom_set_handlers replaces lwgeom_init_allocators.
861 862 863
  - #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
864 865
  - ST_Intersects(raster, geometry) behaves in the same manner as
    ST_Intersects(geometry, raster).
866 867
  - point variant of ST_SetValue(raster) previously did not check SRID
    of input geometry and raster.
868 869
  - ST_Hillshade parameters azimuth and altitude are now in degrees
    instead of radians.
870
  - ST_Slope and ST_Aspect return pixel values in degrees instead of radians.
871

872
 * Deprecated signatures *
873

874 875 876 877 878 879
  - #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
880
  - ST_Estimated_Extent renamed to ST_EstimatedExtent
881 882 883
  - ST_Line_Interpolate_Point renamed to ST_LineInterpolatePoint
  - ST_Line_Substring renamed to ST_LineSubstring
  - ST_Line_Locate_Point renamed to ST_LineLocatePoint
884
  - ST_Force_XXX renamed to ST_ForceXXX
885 886
  - ST_MapAlgebraFctNgb and 1 and 2 raster variants of ST_MapAlgebraFct.
    Use ST_MapAlgebra instead
887 888
  - 1 and 2 raster variants of ST_MapAlgebraExpr.
    Use expression variants of ST_MapAlgebra instead
889

890 891
 * New Features *

892 893 894
 Refer to http://postgis.net/docs/manual-2.1/PostGIS_Special_Functions_Index.html#NewFunctions_2_1
 for complete list of new functions

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

959
 * Enhancements *
960

961
  - #823,  tiger geocoder: Make loader_generate_script download portion
Paul Ramsey's avatar
Paul Ramsey committed
962
           less greedy
963 964
  - #826,  raster2pgsql no longer defaults to padding tiles. Flag -P
           can be used to pad tiles
965
  - #1363, ST_AddBand(raster, ...) array version rewritten in C
966
  - #1364, ST_Union(raster, ...) aggregate function rewritten in C
967
  - #1655, Additional default values for parameters of ST_Slope
968
  - #1661, Add aggregate variant of ST_SameAlignment
969
  - #1719, Add support for Point and GeometryCollection ST_MakeValid inputs
970
  - #1780, support ST_GeoHash for geography
Paul Ramsey's avatar
Paul Ramsey committed
971
  - #1796, Big performance boost for distance calculations in geography
972
  - #1802, improved function interruptibility.
973
  - #1823, add parameter in ST_AsGML to use id column for GML 3 output
974
           (become mandatory since GML 3.2.1)
975
  - #1856, tiger geocoder: reverse geocoder rating setting for prefer
Paul Ramsey's avatar
Paul Ramsey committed
976
           numbered highway name
977
  - #1938, Refactor basic ST_AddBand to add multiple new bands in one call
978
  - #1978, wrong answer when calculating length of a closed circular
Paul Ramsey's avatar
Paul Ramsey committed
979
           arc (circle)
980 981
  - #1989, Preprocess input geometry to just intersection with raster
           to be clipped
982
  - #2021, Added multi-band support to ST_Union(raster, ...) aggregate function
983
  - #2006, better support of ST_Area(geography) over poles and dateline
984
  - #2065, ST_Clip(raster, ...) now a C function
985 986 987 988 989 990 991 992 993 994 995 996 997
  - #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
998
  - TopologySummary output now includes unregistered layers and a count
999
           of missing TopoGeometry objects from their natural layer.
1000
  - ST_HillShade(), ST_Aspect() and ST_Slope() have one new optional
1001 1002
           parameter to interpolate NODATA pixels before running the
           operation.
1003
  - Point variant of ST_SetValue(raster) is now a wrapper around geomval
1004
           variant of ST_SetValues(rast).
1005
  - Proper support for raster band's isnodata flag in core API and loader.
1006
  - Additional default values for parameters of ST_Aspect and ST_HillShade
1007
  - #2178, ST_Summary now advertises presence of known srid with an [S] flag
1008
  - #2202, Make libjson-c optional (--without-json configure switch)
1009
  - #2213, Add support libjson-c 0.10+
1010
  - #2231, raster2pgsql supports user naming of filename column with -n
1011
  - #2200, ST_Union(raster, uniontype) unions all bands of all rasters
1012 1013
  - #2264, postgis_restore.pl support for restoring into databases
           with postgis in a custom schema
1014 1015
  - #2244, emit warning when changing raster's georeference if raster has
           out-db bands
1016 1017
  - #2222, add parameter OutAsIn to flag whether ST_AsBinary should
           return out-db bands as in-db bands
1018

1019
 * Fixes *
1020

1021
  - #1839, handling of subdatasets in GeoTIFF in raster2pgsql.
1022
  - #1840, fix logic of when to compute # of tiles in raster2pgsql.
1023 1024 1025
  - #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
1026 1027
           when count is zero
  - #1932, fix raster2pgsql of syntax for index tablespaces
1028
  - #1936, ST_GeomFromGML on CurvePolygon causes server crash
1029
  - #1939, remove custom data types: summarystats, histogram, quantile,
Paul Ramsey's avatar
Paul Ramsey committed
1030
           valuecount
1031
  - #1951, remove crash on zero-length linestrings
1032
  - #1957, ST_Distance to a one-point LineString returns NULL
1033
  - #1976, Geography point-in-ring code overhauled for more reliability
1034
  - #1981, cleanup of unused variables causing warnings with gcc 4.6+
1035
  - #1996, support POINT EMPTY in GeoJSON output
1036
  - #2062, improve performance of distance calculations
1037
  - #2057, Fixed linking issue for raster2psql to libpq
1038
  - #2077, Fixed incorrect values returning from ST_Hillshade()
1039
  - #2019, ST_FlipCoordinates does not update bbox
1040
  - #2100, ST_AsRaster may not return raster with specified pixel type
1041
  - #2126, Better handling of empty rasters from ST_ConvexHull()
1042
  - #2165, ST_NumPoints regression failure with CircularString
1043
  - #2168, ST_Distance is not always commutative
1044
  - #2182, Fix issue with outdb rasters with no SRID and ST_Resize
1045 1046
  - #2188, Fix function parameter value overflow that caused problems
           when copying data from a GDAL dataset
1047 1048
  - #2198, Fix incorrect dimensions used when generating bands of out-db
           rasters in ST_Tile()
1049
  - #2201, ST_GeoHash wrong on boundaries
1050 1051
  - #2203, Changed how rasters with unknown SRID and default geotransform
           are handled when passing to GDAL Warp API
1052 1053
  - #2215, Fixed raster exclusion constraint for conflicting name of
           implicit index