PostGIS 3.7.0alpha1
The PostGIS Team is pleased to release PostGIS 3.7.0alpha1! Best Served with PostgreSQL 19 Beta1 and GEOS 3.15 which will be released soon.
This version requires PostgreSQL 14 - 19beta1, GEOS 3.10 or higher, and Proj 6.1+. To take advantage of all features, GEOS 3.15+ is needed. To take advantage of all SFCGAL features SFCGAL 2.3.0+ is needed.
-
Cheat Sheets:
This release is an alpha of a major release, it includes bug fixes since PostGIS 3.6.4 and new features.
There are many new features, enhancements, and bug fixes we will not be back-porting to older versions. We especially want to highlight breaking changes which may impact upgrade or use.
- #5688, [topology] topology building functions now interpret tolerance 0 (old default) to really mean 0 and want -1 (new default) to mean “use topology precision” (Sandro Santilli)
- #6024, Remove support for PostgreSQL 12 and 13 (Regina Obe)
- #6040, ST_GeoHash round trip through ST_GeomFromGeoHash (Paul Ramsey)
- #6053, [address_standardizer] Extension removed and moved to https://github.com/postgis/address_standardizer (Paul Ramsey)
- #6052, [tiger_geocoder] Extension removed and moved to https://git.osgeo.org/postgis/postgis_tiger_geocoder (Regina Obe)
- #6079, Remove support for GEOS < 3.10 (Sandro Santilli)
- #1793, Remove ST_MemCollect aggregate (Darafei Praliaskouski)
- GH-848, CG_AlphaShape now returns a MultiPolygon (Jean Felder)
After installing the binaries or after running pg_upgrade:
For PostGIS 3 series do below which will upgrade all your postgis extensions.
SELECT postgis_extensions_upgrade();
For PostGIS 2 series:
ALTER EXTENSION postgis UPDATE;
SELECT postgis_extensions_upgrade();
SELECT postgis_extensions_upgrade();
- #1124, #2935, #3033, #4658, #4659, [loader] Rework loader arguments: shp2pgsql can create UNLOGGED tables and choose the feature id column name, shp2pgsql –drop-table can emit DROP TABLE before prepare output, raster2pgsql/shp2pgsql expose loader actions as long options, both loaders accept long aliases for existing options, and -if-not-exists makes creation actions idempotent (Darafei Praliaskouski)
- #4208, Add single-geometry variants of ST_MaxDistance and ST_LongestLine (Darafei Praliaskouski)
- [topology] FindVertexSegmentPairsBelowDistance function (Sandro Santilli)
- ST_CoverageEdges, returns MultiLinestring of distinct shared edges in polygonal coverage (Paul Ramsey)
- ST_MinimumSpanningTree, window function to calculate MST (Paul Ramsey)
- #5993, [topology] Add max_edges parameter to TopoGeo_AddLinestring (Sandro Santilli)
- #6001, support MultiLineString in ST_MakeLine (Paul Ramsey)
- #2858, ST_MMin and ST_MMax (Paul Ramsey)
- #5941, [raster] Support GDT_Float16 pixel type (Darafei Praliaskouski)
- #5992, Optimize GiST index for repeated edge subdivision in topology (Darafei Praliaskouski)
- #5702, Allow the compiler to detect the parallelism -flto=auto (Darafei Praliaskouski)
- #4798, ST_AsGeoJSON warns about duplicate property keys (Darafei Praliaskouski)
- #5950, Document POSTGIS_REGRESS_DB_OWNER for sandboxed regression roles (Darafei Praliaskouski)
- #4332, Clarify the scope of several Function Reference categories (Darafei Praliaskouski)
- #4222, [raster] ST_DumpAsPolygons honours PostgreSQL interrupts (Darafei Praliaskouski)
- #5109, Document the meaning of topology.next_left_edge and topology.next_right_edge links (Darafei Praliaskouski)
- #5889, [topology] Include representative locations in topology build errors (Darafei Praliaskouski)
- #2614, Use GEOSPreparedDistance and caching to accelerate ST_DWithin (Paul Ramsey)
- #6022, Document ST_AsMVTGeom tile-coordinate simplification (Darafei Praliaskouski)
- GH-839, ST_Multi support for TIN and surfaces (Loïc Bartoletti)
- #4398, Add ST_CatmullSmoothing smoothes but retains original vertices (Paul Ramsey)
- #4560, ST_3DInterpolatePoint for M interpolation from XYZ inputs (Paul Ramsey)
- #1291, ST_MakePolygon support for curved rings (Darafei Praliaskouski)
- GT-270, Add NURBSCurve (Loïc Bartoletti)
- #2863, Add ST_XSize, ST_YSize, ST_ZSize, and ST_MSize dimension helpers (Darafei Praliaskouski)
- [fuzzers] Centralize OSS-Fuzz build/dependency logic in PostGIS scripts, prefer requested CXX over pg_config –cc for internal C++ checks, and make fuzzer linking/runtime dependency packaging portable (Darafei Praliaskouski)
- #2045, pgsql2shp query dumps no longer require temporary table privileges (Darafei Praliaskouski)
- #1577, [loader] Report unsupported .zip archive input before trying to open shapefile sidecar files (Darafei Praliaskouski)
- #3158, Move geometry and geography typmod bit helpers out of the public liblwgeom header (Darafei Praliaskouski)
- #4678, [raster] Move st_sum4ma neighborhood callback to C (Darafei Praliaskouski)
- #2116, [raster] Add ST_Value nearest-neighbor boundary options (Darafei Praliaskouski)
- #2804, #4315, [raster] Support two-argument ST_MapAlgebra callbacks and pass callback call data as actual arguments (Darafei Praliaskouski)
- #2898, Document SQL function cost tiers for contributors
- #6062, [topology] Stop using recursive snapping, for improved robustness (Sandro Santilli)
- #6065, Improved winding order computation robustness for rings having collapsed elements (Sandro Santilli)
- #3743, #4385, [raster loader] Document raster2pgsql -s FROM_SRID:SRID reprojection support and clarify index creation timing for append loads (Darafei Praliaskouski)
- #2137, [raster] Reuse matching source raster overviews in raster2pgsql -l (Darafei Praliaskouski)
- #4749, Use point-in-polygon predicate fast paths for point-only GeometryCollections (Darafei Praliaskouski)
- #5532, Validate the manual against DocBook XMLSchema in check-xml (Darafei Praliaskouski)
- #6087, Add a repository-owned CI status checker and static dashboard generator (Darafei Praliaskouski)
- #2807, [raster] Preserve missing NODATA values in ST_MapAlgebra outputs (Darafei Praliaskouski)
- #2832, [raster] Avoid padding single-tile raster2pgsql overviews when padding is not requested (Darafei Praliaskouski)
- #2623, Generate a pgsql2shp GID field when exporting geometry-only shapefiles (Darafei Praliaskouski)
- #2850, Preserve pgsql2shp numeric precision and scale in DBF metadata (Darafei Praliaskouski)
- #2386, Add raster2pgsql man page (Darafei Praliaskouski)
- Build PostgreSQL extension modules with
-fno-semantic-interpositionwhen available so LTO can optimize same-DSO calls to exported PostGIS entry points directly instead of routing through the module PLT; in a local PostgreSQL 18pgbenchmicrobenchmark over 100k four-point groups this reducedST_Collectaggregate latency by about 4% (Darafei Praliaskouski) - #5973, Install PostGIS utilities under
pg_config --bindirby default and documentpg_config-derived install paths more accurately (Darafei Praliaskouski) - #2808, Clarify postgis_full_version() output when installed component scripts are newer than core scripts (Darafei Praliaskouski)
- #5593, Docs: render manual images with GraphicsMagick without temporary files, enabling parallel builds, keeping ImageMagick fallbacks working, and documenting the generator workflow for contributors (Darafei Praliaskouski)
- #5645, Docs: keep code operators ("=>") intact in translated manuals by enforcing verbatim CSS (Darafei Praliaskouski)
- #1408, Docs: flatten transparent manual images onto white backgrounds for PDF builds while keeping HTML images transparent (Darafei Praliaskouski)
- #4616, Detect pgsql2shp query keywords case-insensitively (Darafei Praliaskouski)
- #2838, Emit valid X3D Coordinate nodes for 2D polygon output (Darafei Praliaskouski)
- Fix WKB and TWKB parser resource exhaustion on malformed input (Darafei Praliaskouski)
- #6083, Pass configured dependency include paths to fuzzer smoke builds (Darafei Praliaskouski)
- #3103, Add regression coverage for exact-schema find_srid and geometry_columns lookups (Darafei Praliaskouski)
- #1705, Infer constraint metadata for direct view and materialized view geometry columns (Darafei Praliaskouski)
- #6038, Avoid stale relation lookups in geometry_columns after topology objects are dropped (Darafei Praliaskouski)
- #5655, [doc] Skip XML validation during
make checkwhen xsltproc is unavailable (Darafei Praliaskouski) - #5487, Improve error detail for repeated upgrades after an incomplete deprecated-function cleanup (Darafei Praliaskouski)
- GH-899, [raster] Honor PostgreSQL interrupts in long-running GDAL progress callbacks (Darafei Praliaskouski)
- #5975, Initialize skipped union-find cluster ids deterministically (Darafei Praliaskouski)
- #5904, [topology] Avoid MinGW format warnings when logging topology ids (Darafei Praliaskouski)
- GH-885, [topology] Avoid GMP overflow in ring orientation for very large finite coordinates (Darafei Praliaskouski)
- #6073, #6074, Stabilize geography LRS endpoint interpolation and pole centroid regressions on 32-bit systems (Darafei Praliaskouski)
- #6082, Fix Japanese PDF build by avoiding non-ASCII arrows in SQL program listings (Darafei Praliaskouski)
- GH-888, [sfcgal] Avoid stale detoasted geometry access in CG_Visibility empty-input handling for SFCGAL < 2.2 (Darafei Praliaskouski)
- #3179, Mark truncated libpgcommon PostgreSQL messages instead of silently dropping the tail (Darafei Praliaskouski)
- #6003, Avoid size_t formats in liblwgeom logging/error wrappers for MinGW builds (Darafei Praliaskouski)
- GH-886, ST_ClusterRelateWin validates NULL relate matrices before detoasting them (Darafei Praliaskouski)
- GH-889, ST_Relate pattern inversion avoids out-of-bounds access on short DE-9IM patterns (Darafei Praliaskouski)
- GH-890, Avoid GIDX BRIN summary merges across mismatched dimensions (Darafei Praliaskouski)
- #5948, [topology] Prevent MakeTopologyPrecise from erasing edges when grid size exceeds their extent (Darafei Praliaskouski)
- #5959, Prevent histogram target overflow when analysing massive tables (Darafei Praliaskouski)
- #6080, Avoid out-of-bounds hex WKB lookup for high-bit input bytes (Darafei Praliaskouski)
- GH-895, Qualify pg_class lookup during SRID/PROJ validation (Darafei Praliaskouski)
- #4828, geometry_columns handles NOT VALID SRID checks without errors (Darafei Praliaskouski)
- #6048, [raster] ST_Clip no longer crashes when clipping sparse band selections (Darafei Praliaskouski)
- GH-894, [raster] Fix Float16 import, mixed nodata warping, band replacement cleanup, GDAL credential redaction, and Python GDAL compatibility (Darafei Praliaskouski)
- Flatgeobuf schema mismatch vulnerability (NeuroWinter)
- #5899, pg_upgrade issue for non-standard geography SRID (Paul Ramsey)
- #2583, Preserve Z/ZM dimensional qualifiers in ST_AsEWKT output for TIN (Darafei Praliaskouski)
If you come across any issues, feel free to report via our ticket tracker or mailing list with details
View all tickets for 3.7.0alpha1 milestone.