# Appendix

Release Notes

## PostGIS 3.5.5

2026/02/09

This version requires PostgreSQL 12-18, GEOS 3.8 or higher, and Proj 6.1+. To take advantage of all features, GEOS 3.12+ is needed. To take advantage of all SFCGAL features, SFCGAL 1.5.0+ is needed.

### Bug Fixes

5959, #5984, Prevent histogram target overflow when analysing massive tables (Darafei Praliaskouski)

6020, schema qualify call in ST_MPointFromText (Paul Ramsey)

6023, Fix robustness issue in ptarray_contains_point (Sandro Santilli)

6027, Fix RemoveUnusedPrimitives without topology in search_path (Sandro Santilli)

6028, crash indexing malformed empty polygon (Paul Ramsey)

GH-841, small memory leak in address_standardizer (Maxim Korotkov)

5998, [tiger_geocoder] [security] CVE-2022-2625, make sure tables requires by extension are owned by extension

5853, Issue with topology and tiger geocoder upgrade scripts (Regina Obe, Spencer Bryson)

## PostGIS 3.5.4

2025/10/16

This version requires PostgreSQL 12-18beta1, GEOS 3.8 or higher, and Proj 6.1+. To take advantage of all features, GEOS 3.12+ is needed. To take advantage of all SFCGAL features, SFCGAL 1.5.0+ is needed.

### Bug Fixes

5977, Fix downgrade protection with standard conforming strings off (Sandro Santilli)

5951, Fix crash in ST_GetFaceEdges with corrupted topology (Sandro Santilli)

5947, [topology] Fix crash in ST_ModEdgeHeal (Sandro Santilli)

5925, 5946, [topology] Have GetFaceContainingPoint survive EMPTY edges (Sandro Santilli)

5936, [topology] Do script-based upgrade in a single transaction (Sandro Santilli)

5908, [topology] Fix crash in GetFaceContainingPoint (Sandro Santilli)

5907, [topology] Fix crash in TopoGeo_AddPolygon with EMPTY input (Sandro Santilli)

5922, [topology] Fix crash in TopoGeo_AddLinestring with EMPTY input (Sandro Santilli)

5921, Crash freeing uninitialized pointer (Arsenii Mukhin)

5912, Crash on GML with xlink and no prefix (Paul Ramsey)

5905, Crash on deeply nested geometries (Paul Ramsey)

5909, ST_ValueCount crashes on empty table (Paul Ramsey)

5917, ST_Relate becomes unresponsive (Paul Ramsey)

5923, CG_ExtrudeStraightSkeleton crashes on empty polygon (Loïc Bartoletti)

5935, Require GDAL 2.4 for postgis_raster and switch to GDALGetDataTypeSizeBytes (Laurențiu Nicola)

GT-257, fix issue with xsltproc with path has spaces (Laurențiu Nicola)

5938, incorrect parameter order in ST_Relate caching (Paul Ramsey)

5927, ST_IsCollection throwing exception (Paul Ramsey)

5902, ST_PointFromText cannot create geometries with M (Paul Ramsey)

5943, Memory leak in handling GEOS GeometryFactory (Megan Ma)

5407, Use memset in place of bzero (Paul Ramsey)

5082, LRS proportions clamped to [0,1] (Pawel Ostrowski)

5985, Fix configure issue with Debian 12 and 13 (Regina Obe, Sandro Santilli)

5991, CircularString distance error (Paul Ramsey)

5994, Null pointer in ST_AsGeoJsonRow (Alexander Kukushkin)

5989, ST_Distance error on CurvePolygon (Paul Ramsey)

5962, Consistent clipping of MULTI/POINT (Paul Ramsey)

5754, ST_ForcePolygonCCW reverses lines (Paul Ramsey)

## PostGIS 3.5.3

2025/05/17

This version requires PostgreSQL 12-18beta1, GEOS 3.8 or higher, and Proj 6.1+. To take advantage of all features, GEOS 3.12+ is needed. To take advantage of all SFCGAL features, SFCGAL 1.5.0+ is needed.

### Bug Fixes

Do not complain about illegal option when calling shp2pgsql -? (Sandro Santilli, Giovanni Zezza)

5862, [topology] Prevent another topology corruption with TopoGeo_addPoint near almost collinear edges (Sandro Santilli)

5841, Change approach to interrupt handling to conform to PgSQL recommended practice (Paul Ramsey)

5855, Fix index binding in ST_DFullyWithin (Paul Ramsey)

5819, Support longer names in estimated extent (Paul Ramsey)

Fix misassignment of result in _lwt_HealEdges (Maxim Korotkov)

5876, ST_AddPoint with empty argument adds garbage (Paul Ramsey)

5874, Line substring returns wrong answer (Paul Ramsey)

5829, geometry_columns with non-standard constraints (Paul Ramsey)

5818, GT-244 Fix CG_IsSolid function (Loïc Bartoletti)

5885, Fix documentation about grid-based overlay operations (Sandro Santilli)

For SFCGAL 2.1.0+ prevent using deprecated functions (Regina Obe)

## PostGIS 3.5.2

2025/01/18

This version requires PostgreSQL 12-17, GEOS 3.8 or higher, and Proj 6.1+. To take advantage of all features, GEOS 3.12+ is needed. To take advantage of all SFCGAL features, SFCGAL 1.5.0+ is needed.

### Bug Fixes

#5677, Retain SRID during unary union (Paul Ramsey)

#5833, pg_upgrade fix for postgis_sfcgal (Regina Obe)

#5564, BRIN crash fix and support for parallel in PG17+ (Paul Ramsey, Regina Obe)

## PostGIS 3.5.1

2024/12/22

This version requires PostgreSQL 12-17, GEOS 3.8 or higher, and Proj 6.1+. To take advantage of all features, GEOS 3.12+ is needed. To take advantage of all SFCGAL features, SFCGAL 1.5.0+ is needed.

### Breaking Changes

#5677, Retain SRID during unary union (Paul Ramsey)

#5792, [topology] Prevent topology corruption with TopoGeo_addPoint near almost collinear edges (Sandro Santilli)

#5795, [topology] Fix ST_NewEdgesSplit can cause invalid topology (Björn Harrtell)

#5794, [topology] Fix crash in TopoGeo_addPoint (Sandro Santilli)

#5785, [raster] ST_MapAlgebra segfaults when expression references a supernumerary rast argument (Dian M Fay)

#5787, Check that ST_ChangeEdgeGeom doesn't change winding of rings (Sandro Santilli)

#5791, Add legacy stubs for old transaction functions to allow pg_upgrade (Regina Obe)

#5800, PROJ compiled version reading the wrong minor and micro (Regina Obe)

#5790, Non-schema qualified calls causing issue with materialized views (Regina Obe)

#5812, Performance regression in ST_Within (Paul Ramsey)

#5815, Remove hash/merge promise from <> operator (Paul Ramsey)

#5823, Build support for Pg18 (Paul Ramsey)

### Enhancements

#5782, Improve robustness of min distance calculation (Sandro Santilli)

[topology] Speedup topology building when closing large rings with many holes (Björn Harrtell)

#5810, Update tiger geocoder to handle TIGER 2024 data (Regina Obe)

### Breaking Changes

#5799, make ST_TileEnvelope clip envelopes to tile plane extent (Paul Ramsey)

## PostGIS 3.5.0

2024/09/25

This version requires PostgreSQL 12-17, GEOS 3.8 or higher, and Proj 6.1+. To take advantage of all features, GEOS 3.12+ is needed. To take advantage of all SFCGAL features, SFCGAL 1.5.0+ is needed.

Many thanks to our translation teams, in particular:

Dapeng Wang, Zuo Chenwei from HighGo (Chinese Team)

Teramoto Ikuhiro (Japanese Team)

Vincent Bre (French Team)

### Breaking Changes

#5546, TopoGeometry <> TopoGeometry is now ambiguous, to get the old behaviour, assuming your TopoGeometry objects are named tg1 and tg2, use: ( id(tg1) <> id(tg2) OR topology_id(tg1) <> topology_id(tg2) OR layer_id(tg1) <> layer_id(tg2) OR type(tg1) <> type(tg2) ) (Sandro Santilli)

#5536, comments are not anymore included in PostGIS extensions (Sandro Santilli)

xmllint is now required to build comments (Sandro Santilli)

DocBook5 XSL is now required to build html (Sandro Santilli)

#5602, Drop support for GEOS 3.6 and 3.7 (Regina Obe)

#5571, Improve ST_GeneratePoints performance, but old seeded pseudo random points will need to be regenerated.

#5596, GH-749, Allow promoting column as an id in ST_AsGeoJson(record,..). Views and materialized views that use the ST_AsGeoJSON(record ..) will need rebuilding to upgrade to new signature (Jan Tojnar)

#5496, ST_Clip all variants replaced, will require rebuilding of materialized views that use them (funding from The National Institute for Agricultural and Food Research and Technology (INIA-CSIC)), Regina Obe

#5659, ST_DFullyWithin behaviour has changed to be ST_Contains(ST_Buffer(A, R), B) (Paul Ramsey)

Remove the WFS_locks extra package. (Paul Ramsey)

5747, GH-776, ST_Length: Return 0 for CurvePolygon (Dan Baston)

5770, support for GEOS 3.13 and RelateNG. Most functionality remains the same, but new GEOS predicate implementation has a few small changes.

Boundary Node Rule relate matrices might be different when using the "multi-valent end point" rule.

Relate matrices for situations with invalid MultiPolygons with shared boundaries might be different. Run ST_MakeValid to get valid inputs to feed to the calculation.

Zero length LineStrings are treated as if they are the equivalent Point object.

### Deprecated signatures

GH-761, ST_StraightSkeleton => CG_StraightSkeleton (Loïc Bartoletti)

GH-189, All SFCGAL functions now use the prefix CG_, with the old ones using ST_ being deprecated. (Loïc Bartoletti)

### New features

Improvements in the 'postgis' script:

- new command list-enabled

- new command list-all

- command upgrade upgrades all databases that need to be

- command status reports status of all databases

(Sandro Santilli)

#5742, expose version of PROJ at compile time (Sandro Santilli)

#5721, postgis_topology: Allow sharing sequences between different topologies (Lars Opsahl)

#5667, postgis_topology: TopoGeo_LoadGeometry (Sandro Santilli)

#5055, add explicit <> geometry operator to prevent non-unique error with <> and != (Paul Ramsey)

Add ST_HasZ/ST_HasM (Loïc Bartoletti)

GT-123, postgis_sfcgal: CG_YMonotonePartition, CG_ApproxConvexPartition, CG_GreeneApproxConvexPartition and CG_OptimalConvexPartition (Loïc Bartoletti)

GT-156, postgis_sfcgal: CG_Visibility (Loïc Bartoletti)

GT-157, postgis_sfcgal: Add ST_ExtrudeStraightSkeleton (Loïc Bartoletti)

#5496, postgis_raster: ST_Clip support for touched (Regina Obe)

GH-760, postgis_sfcgal: CG_Intersection, CG_3DIntersects, CG_Intersects, CG_Difference, CG_Union (and aggregate), CG_Triangulate, CG_Area, CG_3DDistance, CG_Distance (Loïc Bartoletti)

#5687, Don't rely on search_path to determine postgis schema Fix for PG17 security change (Regina Obe)

#5705, GH-767, ST_RemoveIrrelevantPointsForView (Sam Peters)

#5706, GH-768, ST_RemoveSmallParts (Sam Peters)

### Enhancements

5550, Fix upgrades from 2.x in sandboxed systems (Sandro Santilli)

#3587, postgis_topology: faster load of big lines in topologies (Sandro Santilli)

#5670, postgis_topology: faster ST_CreateTopoGeo (Sandro Santilli)

#5531, documentation format upgraded to DocBook 5 (Sandro Santilli)

#5543, allow building without documentation (Sandro Santilli)

#5596, GH-749, Allow promoting column as an id in ST_AsGeoJson(record,..). (Jan Tojnar)

GH-744, Don't create docbook.css for the HTML manual, use style.css instead (Chris Mayo)

Faster implementation of point-in-poly cached index (Paul Ramsey)

Improve performance of ST_GeneratePoints (Paul Ramsey)

#5361, ST_CurveN, ST_NumCurves and consistency in accessors on curved geometry (Paul Ramsey)

GH-761, postgis_sfcgal: Add an optional parameter to CG_StraightSkeleton (was ST_StraightSkeleton) to use m as a distance in result (Hannes Janetzek, Loïc Bartoletti)