<!-- Converted by db4-upgrade version 1.1 -->
<appendix xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="release_notes">
  <title>Release Notes</title>
    <section xml:id="release_notes_3_7_0">
    <title>PostGIS 3.7.0</title>
    <subtitle>2026/xx/xx</subtitle>
    <para>This version requires GEOS 3.10+, PostgreSQL 14-19beta1, Proj 6.1+, libgmp. To take advantage of all features postgis extension features, GEOS 3.15+ is needed. To take advantage of all postgis_sfcgal extension features SFCGAL 2.3+ is needed.</para>
     <simplesect>
      <title>Breaking Changes</title>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/5688">#5688</link>, [topology] topology building functions now interpret tolerance 0 (old default) to really mean 0 and want -1 (new default) to mean &quot;use topology precision&quot; (Sandro Santilli)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/6024">#6024</link>, Remove support for PostgreSQL 12 and 13 (Regina Obe)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/6040">#6040</link>, ST_GeoHash round trip through ST_GeomFromGeoHash (Paul Ramsey)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/6053">#6053</link>, [address_standardizer] Extension removed and moved to <link xlink:href="https://github.com/postgis/address_standardizer">https://github.com/postgis/address_standardizer</link> (Paul Ramsey)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/6052">#6052</link>, [tiger_geocoder] Extension removed and moved to <link xlink:href="https://git.osgeo.org/postgis/postgis_tiger_geocoder">https://git.osgeo.org/postgis/postgis_tiger_geocoder</link> (Regina Obe)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/6079">#6079</link>, Remove support for GEOS &lt; 3.10 (Sandro Santilli)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/1793">#1793</link>, Remove ST_MemCollect aggregate (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://github.com/postgis/postgis/pull/848">GH-848</link>, CG_AlphaShape now returns a MultiPolygon (Jean Felder)</para>
    </simplesect>
    <simplesect>
      <title>New Features</title>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/1124">#1124</link>, <link xlink:href="https://trac.osgeo.org/postgis/ticket/2935">#2935</link>, <link xlink:href="https://trac.osgeo.org/postgis/ticket/3033">#3033</link>, <link xlink:href="https://trac.osgeo.org/postgis/ticket/4658">#4658</link>, <link xlink:href="https://trac.osgeo.org/postgis/ticket/4659">#4659</link>, [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</para>
      <para>-if-not-exists makes creation actions idempotent (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/4208">#4208</link>, Add single-geometry variants of ST_MaxDistance and ST_LongestLine (Darafei Praliaskouski)</para>
      <para>[topology] FindVertexSegmentPairsBelowDistance function (Sandro Santilli)</para>
      <para>ST_CoverageEdges, returns MultiLinestring of distinct shared edges in polygonal coverage (Paul Ramsey)</para>
      <para>ST_MinimumSpanningTree, window function to calculate MST (Paul Ramsey)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/5993">#5993</link>, [topology] Add max_edges parameter to TopoGeo_AddLinestring (Sandro Santilli)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/6001">#6001</link>, support MultiLineString in ST_MakeLine (Paul Ramsey)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2858">#2858</link>, ST_MMin and ST_MMax (Paul Ramsey)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/5941">#5941</link>, [raster] Support GDT_Float16 pixel type (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/5992">#5992</link>, Optimize GiST index for repeated edge subdivision in topology (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/5702">#5702</link>, Allow the compiler to detect the parallelism -flto=auto (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/4798">#4798</link>, ST_AsGeoJSON warns about duplicate property keys (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/5950">#5950</link>, Document POSTGIS_REGRESS_DB_OWNER for sandboxed regression roles (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/4332">#4332</link>, Clarify the scope of several Function Reference categories (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/4222">#4222</link>, [raster] ST_DumpAsPolygons honours PostgreSQL interrupts (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/5109">#5109</link>, Document the meaning of topology.next_left_edge and topology.next_right_edge links (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/5889">#5889</link>, [topology] Include representative locations in topology build errors (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2614">#2614</link>, Use GEOSPreparedDistance and caching to accelerate ST_DWithin (Paul Ramsey)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/6022">#6022</link>, Document ST_AsMVTGeom tile-coordinate simplification (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://github.com/postgis/postgis/pull/839">GH-839</link>, ST_Multi support for TIN and surfaces (Loïc Bartoletti)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/4398">#4398</link>, Add ST_CatmullSmoothing smoothes but retains original vertices (Paul Ramsey)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/4560">#4560</link>, ST_3DInterpolatePoint for M interpolation from XYZ inputs (Paul Ramsey)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/1291">#1291</link>, ST_MakePolygon support for curved rings (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://gitea.osgeo.org/postgis/postgis/pulls/270">GT-270</link>, Add NURBSCurve (Loïc Bartoletti)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2863">#2863</link>, Add ST_XSize, ST_YSize, ST_ZSize, and ST_MSize dimension helpers (Darafei Praliaskouski)</para>
      <para>[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)</para>
    </simplesect>
    <simplesect>
      <title>Enhancements</title>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2045">#2045</link>, pgsql2shp query dumps no longer require temporary table privileges (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/1577">#1577</link>, [loader] Report unsupported .zip archive input before trying to open shapefile sidecar files (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/3158">#3158</link>, Move geometry and geography typmod bit helpers out of the public liblwgeom header (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/4678">#4678</link>, [raster] Move st_sum4ma neighborhood callback to C (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2116">#2116</link>, [raster] Add ST_Value nearest-neighbor boundary options (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2804">#2804</link>, <link xlink:href="https://trac.osgeo.org/postgis/ticket/4315">#4315</link>, [raster] Support two-argument ST_MapAlgebra callbacks and pass callback call data as actual arguments (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2898">#2898</link>, Document SQL function cost tiers for contributors</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/6062">#6062</link>, [topology] Stop using recursive snapping, for improved robustness (Sandro Santilli)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/6065">#6065</link>, Improved winding order computation robustness for rings having collapsed elements (Sandro Santilli)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/3743">#3743</link>, <link xlink:href="https://trac.osgeo.org/postgis/ticket/4385">#4385</link>, [raster loader] Document raster2pgsql -s FROM_SRID:SRID reprojection support and clarify index creation timing for append loads (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2137">#2137</link>, [raster] Reuse matching source raster overviews in raster2pgsql -l (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/4749">#4749</link>, Use point-in-polygon predicate fast paths for point-only GeometryCollections (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/5532">#5532</link>, Validate the manual against DocBook XMLSchema in check-xml (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/6087">#6087</link>, Add a repository-owned CI status checker and static dashboard generator (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2807">#2807</link>, [raster] Preserve missing NODATA values in ST_MapAlgebra outputs (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2832">#2832</link>, [raster] Avoid padding single-tile raster2pgsql overviews when padding is not requested (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2623">#2623</link>, Generate a pgsql2shp GID field when exporting geometry-only shapefiles (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2850">#2850</link>, Preserve pgsql2shp numeric precision and scale in DBF metadata (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2386">#2386</link>, Add raster2pgsql man page (Darafei Praliaskouski)</para>
      <para>Build PostgreSQL extension modules with `-fno-semantic-interposition` when 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 18 `pgbench` microbenchmark over 100k four-point groups this reduced `ST_Collect` aggregate latency by about 4% (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/5973">#5973</link>, Install PostGIS utilities under `pg_config --bindir` by default and document `pg_config`-derived install paths more accurately (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2808">#2808</link>, Clarify postgis_full_version() output when installed component scripts are newer than core scripts (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/5593">#5593</link>, 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)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/5645">#5645</link>, Docs: keep code operators (&quot;=&gt;&quot;) intact in translated manuals by enforcing verbatim CSS (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/1408">#1408</link>, Docs: flatten transparent manual images onto white backgrounds for PDF builds while keeping HTML images transparent (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2838">#2838</link>, Emit valid X3D Coordinate nodes for 2D polygon output (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/1705">#1705</link>, Infer constraint metadata for direct view and materialized view geometry columns (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://github.com/postgis/postgis/pull/899">GH-899</link>, [raster] Honor PostgreSQL interrupts in long-running GDAL progress callbacks (Darafei Praliaskouski)</para>
      <para><link xlink:href="https://trac.osgeo.org/postgis/ticket/2583">#2583</link>, Preserve Z/ZM dimensional qualifiers in ST_AsEWKT output for TIN (Darafei Praliaskouski)</para>
    </simplesect>
  </section>
</appendix>
