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

43
PostGIS 2.5.0
44 45 46 47 48
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
49

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

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

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

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

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

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

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

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

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

316 317 318
PostGIS 2.4.0alpha
2017/08/05
See PostGIS 2.4.0 section for details
319

Sandro Santilli's avatar
Sandro Santilli committed
320

321 322
PostGIS 2.3.3
2017/07/01
Regina Obe's avatar
Regina Obe committed
323

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

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


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

 * Important / Breaking Changes *
382

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

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

389 390
  - #3396, ST_EstimatedExtent, throw WARNING instead of ERROR
           (Regina Obe)
391

Paul Ramsey's avatar
Paul Ramsey committed
392
 * Deprecated signatures *
393

Paul Ramsey's avatar
Paul Ramsey committed
394 395
 * New Features *

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

434
 * Bug Fixes
Sandro Santilli's avatar
Sandro Santilli committed
435

436
 - #2841, ST_MinimumBoundingCircle not covering original
Sandro Santilli's avatar
Sandro Santilli committed
437

438 439 440 441
 * Performance Enhancements *

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

Sandro Santilli's avatar
Sandro Santilli committed
447

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

Sandro Santilli's avatar
Sandro Santilli committed
452

453 454 455
PostGIS 2.3.0beta1
2016/09/06
See PostGIS 2.3.0 section for details
456

Sandro Santilli's avatar
Sandro Santilli committed
457

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

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

519
 * Important / Breaking Changes *
Bborie Park's avatar
Bborie Park committed
520

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

Bborie Park's avatar
Bborie Park committed
538 539
 * Deprecated signatures *

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

Bborie Park's avatar
Bborie Park committed
551
 * New Features *
552

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

 * Enhancements *

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

Bborie Park's avatar
Bborie Park committed
646 647
 * Bug Fixes *

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

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

Sandro Santilli's avatar
Sandro Santilli committed
668

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

Sandro Santilli's avatar
Sandro Santilli committed
694

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

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

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

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

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

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


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

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

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

867
PostGIS 2.1.0
868
2013/08/17
Paul Ramsey's avatar
Paul Ramsey committed
869

870 871
 * Important / Breaking Changes  *

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

891
 * Deprecated signatures *
892

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

909 910
 * New Features *

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

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

978
 * Enhancements *
979

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

1038
 * Fixes *
1039

1040
  - #1839, handling of subdatasets in GeoTIFF in raster2pgsql.
1041
  - #1840, fix logic of when to compute # of tiles in raster2pgsql.
1042 1043 1044
  - #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
1045 1046
           when count is zero
  - #1932, fix raster2pgsql of syntax for index tablespaces
1047
  - #1936, ST_GeomFromGML on CurvePolygon causes server crash
1048
  - #1939, remove custom data types: summarystats, histogram, quantile,
Paul Ramsey's avatar
Paul Ramsey committed
1049
           valuecount
1050
  - #1951, remove crash on zero-length linestrings
1051
  - #1957, ST_Distance