[postgis-tickets] [SCM] PostGIS branch stable-2.5 updated. 2.5.8-11-g0a61704a2

git at osgeo.org git at osgeo.org
Fri Nov 11 14:07:36 PST 2022


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "PostGIS".

The branch, stable-2.5 has been updated
       via  0a61704a2b07a7eea5977621a9b1a7df7ebda924 (commit)
       via  85ad0861ca995ce493163df0dea6a695ecd03ef8 (commit)
      from  47f59d9bcc174548a2802807337f042a9b076c65 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 0a61704a2b07a7eea5977621a9b1a7df7ebda924
Author: Regina Obe <lr at pcorp.us>
Date:   Fri Nov 11 17:07:28 2022 -0500

    Make split ordering be consistent across GEOS versions and take out tests that return different answers

diff --git a/regress/split.sql b/regress/split.sql
index a8d2a8ef7..a3a9a3ed9 100644
--- a/regress/split.sql
+++ b/regress/split.sql
@@ -1,73 +1,70 @@
 -- Split line by point of different SRID
-select st_split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=5;POINT(5 1)');
+select '0.1', ST_Split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=5;POINT(5 1)');
 
 -- Split line by point on the line interior
-select '1',st_asewkt(st_split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;POINT(5 0)'));
-select '1.1',st_asewkt(st_split('SRID=10;LINESTRING(10 0, 0 0)', 'SRID=10;POINT(5 0)'));
+select '1',ST_AsEWKT(ST_Normalize(ST_Split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;POINT(5 0)')));
+select '1.1',ST_AsEWKT(ST_Normalize(ST_Split('SRID=10;LINESTRING(10 0, 0 0)', 'SRID=10;POINT(5 0)')));
 
 -- Split line by point on the line boundary
-select '2',st_asewkt(st_split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;POINT(10 0)'));
+select '2',ST_AsEWKT(ST_Normalize(ST_Split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;POINT(10 0)')));
 
 -- Split line by point on the line exterior
-select '3',st_asewkt(st_split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;POINT(5 1)'));
-
--- Split line by line of different SRID
-select st_split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=5;LINESTRING(5 1, 10 1)');
+select '3',ST_AsEWKT(ST_Normalize(ST_Split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;POINT(5 1)')));
 
 -- Split line by disjoint line
-select '4', st_asewkt(ST_Split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;LINESTRING(20 0, 20 20)'));
+select '4', ST_AsEWKT(ST_Normalize(ST_Split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;LINESTRING(20 0, 20 20)')));
 
 -- Split line by touching line
-select '5', st_asewkt(ST_Split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;LINESTRING(10 -5, 10 5)'));
+select '5', ST_AsEWKT(ST_Normalize(ST_Split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;LINESTRING(10 -5, 10 5)')));
 
 -- Split line by crossing line
-select '6', st_asewkt(ST_Split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;LINESTRING(5 -5, 5 5)'));
+select '6', ST_AsEWKT(ST_Normalize(ST_Split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;LINESTRING(5 -5, 5 5)')));
 
 -- Split line by multiply-crossing line
-select '7', st_asewkt(ST_Split('SRID=10;LINESTRING(0 0, 10 0, 10 10, 0 10, 0 20, 10 20)', 'SRID=10;LINESTRING(5 -5, 5 25)'));
+select '7', ST_AsEWKT(ST_Normalize(ST_Split('SRID=10;LINESTRING(0 0, 10 0, 10 10, 0 10, 0 20, 10 20)', 'SRID=10;LINESTRING(5 -5, 5 25)')));
 
 -- Split line by overlapping line (1)
-select '8.1', st_asewkt(ST_Split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;LINESTRING(5 0, 20 0)'));
+select '8.1', ST_AsEWKT(ST_Normalize(ST_Split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;LINESTRING(5 0, 20 0)')));
 -- Split line by contained line (2)
-select '8.2', st_asewkt(ST_Split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;LINESTRING(5 0, 8 0)'));
+select '8.2', ST_AsEWKT(ST_Normalize(ST_Split('SRID=10;LINESTRING(0 0, 10 0)', 'SRID=10;LINESTRING(5 0, 8 0)')));
 
 -- Split exterior-only polygon by crossing line
-select '20', st_asewkt(ST_Split('SRID=12;POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 'SRID=12;LINESTRING(5 -5, 5 15)'));
+select '20', ST_AsEWKT(ST_Normalize(ST_Split('SRID=12;POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 'SRID=12;LINESTRING(5 -5, 5 15)')));
 
 -- Split single-hole polygon by line crossing both exterior and hole
-select '21', st_asewkt(ST_Split('SRID=12;POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 8 2, 8 8, 2 8, 2 2))', 'SRID=12;LINESTRING(5 -5, 5 15)'));
+select '21', ST_AsEWKT(ST_Normalize(ST_Split('SRID=12;POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 8 2, 8 8, 2 8, 2 2))', 'SRID=12;LINESTRING(5 -5, 5 15)')));
 
 -- Split single-hole polygon by line crossing only exterior
-select '22', st_asewkt(ST_Split('SRID=12;POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(5 2, 8 2, 8 8, 5 8, 5 2))', 'SRID=12;LINESTRING(2 -5, 2 15)'));
+select '22', ST_AsEWKT(ST_Normalize(ST_Split('SRID=12;POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(5 2, 8 2, 8 8, 5 8, 5 2))', 'SRID=12;LINESTRING(2 -5, 2 15)')));
 
 -- Split double-hole polygon by line crossing exterior and both holes
-select '23', st_asewkt(ST_Split('SRID=12;POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 8 2, 8 4, 2 4, 2 2),(2 6,8 6,8 8,2 8,2 6))', 'SRID=12;LINESTRING(5 -5, 5 15)'));
+select '23', ST_AsEWKT(ST_Normalize(ST_Split('SRID=12;POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 8 2, 8 4, 2 4, 2 2),(2 6,8 6,8 8,2 8,2 6))', 'SRID=12;LINESTRING(5 -5, 5 15)')));
 
 -- Split multiline by line crossing both
-select '30', st_asewkt(st_split('SRID=10;MULTILINESTRING((0 0, 10 0),(0 5, 10 5))', 'SRID=10;LINESTRING(5 -5, 5 10)'));
+select '30', ST_AsEWKT(ST_Normalize(ST_Split('SRID=10;MULTILINESTRING((0 0, 10 0),(0 5, 10 5))', 'SRID=10;LINESTRING(5 -5, 5 10)')));
 
 -- Split multiline by line crossing only one of them
-select '31', st_asewkt(st_split('SRID=10;MULTILINESTRING((0 0, 10 0),(0 5, 10 5))', 'SRID=10;LINESTRING(5 -5, 5 2)'));
+select '31', ST_AsEWKT(ST_Normalize(ST_Split('SRID=10;MULTILINESTRING((0 0, 10 0),(0 5, 10 5))', 'SRID=10;LINESTRING(5 -5, 5 2)')));
 
 -- Split multiline by disjoint line
-select '32', st_asewkt(st_split('SRID=10;MULTILINESTRING((0 0, 10 0),(0 5, 10 5))', 'SRID=10;LINESTRING(5 10, 5 20)'));
+select '32', ST_AsEWKT(ST_Normalize(ST_Split('SRID=10;MULTILINESTRING((0 0, 10 0),(0 5, 10 5))', 'SRID=10;LINESTRING(5 10, 5 20)')));
 
 -- Split multiline by point on one of them
-select '40', st_asewkt(st_split('SRID=10;MULTILINESTRING((0 0, 10 0),(0 5, 10 5))', 'SRID=10;POINT(5 0)'));
+select '40', ST_AsEWKT(ST_Normalize(ST_Split('SRID=10;MULTILINESTRING((0 0, 10 0),(0 5, 10 5))', 'SRID=10;POINT(5 0)')));
 
 -- Split multipolygon by line
-select '50', st_asewkt(ST_Split('SRID=12;MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 8 2, 8 4, 2 4, 2 2),(2 6,8 6,8 8,2 8,2 6)),((20 0,20 10, 30 10, 30 0, 20 0),(25 5, 28 5, 25 8, 25 5)))', 'SRID=12;LINESTRING(5 -5, 5 15)'));
+select '50', ST_AsEWKT(ST_Normalize(ST_Split('SRID=12;MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 8 2, 8 4, 2 4, 2 2),(2 6,8 6,8 8,2 8,2 6)),((20 0,20 10, 30 10, 30 0, 20 0),(25 5, 28 5, 25 8, 25 5)))', 'SRID=12;LINESTRING(5 -5, 5 15)')));
 
 -- Split geometrycollection by line
-select '60', st_asewkt(ST_Split('SRID=12;GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 8 2, 8 4, 2 4, 2 2),(2 6,8 6,8 8,2 8,2 6)),((20 0,20 10, 30 10, 30 0, 20 0),(25 5, 28 5, 25 8, 25 5))),MULTILINESTRING((0 0, 10 0),(0 5, 10 5)))', 'SRID=12;LINESTRING(5 -5, 5 15)'));
+select '60', ST_AsEWKT(ST_Normalize(ST_Split('SRID=12;GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 8 2, 8 4, 2 4, 2 2),(2 6,8 6,8 8,2 8,2 6)),((20 0,20 10, 30 10, 30 0, 20 0),(25 5, 28 5, 25 8, 25 5))),MULTILINESTRING((0 0, 10 0),(0 5, 10 5)))', 'SRID=12;LINESTRING(5 -5, 5 15)')));
 
 -- Split 3d line by 2d line
-select '70', st_asewkt(ST_Split('SRID=11;LINESTRING(1691983.26 4874594.81 312.24, 1691984.86 4874593.69 312.24, 1691979.54 4874586.09 312.24, 1691978.03 4874587.16 298.36)', 'SRID=11;LINESTRING(1691978.0 4874589.0,1691982.0 4874588.53, 1691982.0 4874591.0)'));
+select '70', ST_AsEWKT(ST_Normalize(ST_Split('SRID=11;LINESTRING(1691983.26 4874594.81 312.24, 1691984.86 4874593.69 312.24, 1691979.54 4874586.09 312.24, 1691978.03 4874587.16 298.36)', 'SRID=11;LINESTRING(1691978.0 4874589.0,1691982.0 4874588.53, 1691982.0 4874591.0)')));
 
 -- Split collapsed line by point
 -- See http://trac.osgeo.org/postgis/ticket/1772
-select '80', st_asewkt(ST_Split('LINESTRING(0 1, 0 1, 0 1)', 'POINT(0 1)'));
-select '81', st_asewkt(ST_Split('LINESTRING(0 1, 0 1)', 'POINT(0 1)'));
+select '80', ST_AsEWKT(ST_Normalize(ST_Split('LINESTRING(0 1, 0 1, 0 1)', 'POINT(0 1)')));
+select '81', ST_AsEWKT(ST_Normalize(ST_Split('LINESTRING(0 1, 0 1)', 'POINT(0 1)')));
 
 -- Split long line by vertex point
 -- See http://trac.osgeo.org/postgis/ticket/2173
@@ -79,25 +76,25 @@ select '82', st_equals(g, st_union(
     st_geometryn(st_split(g, st_pointn(g,p)), 2))) from inp;
 
 -- Split line by multiline
-select '83', st_asewkt(ST_Split(
+select '83', ST_AsEWKT(ST_Split(
   'SRID=3;LINESTRING(1 -1,1 1)',
   'SRID=3;MULTILINESTRING((10 0, 10 4),(-4 0, 4 0))'
 ));
 
 -- Split line by polygon (boundary)
-select '84', st_asewkt(ST_Split(
+select '84', ST_AsEWKT(ST_Split(
   'SRID=3;LINESTRING(1 -1,1 1)',
   'SRID=3;POLYGON((-10 -10,-10 10,10 10,10 -10,-10 -10),(-4 2,-4 0,4 0,4 2,-4 2))'
 ));
 
 -- Split line by multipolygon (boundary)
-select '85', st_asewkt(ST_Split(
+select '85', ST_AsEWKT(ST_Split(
   'SRID=3;LINESTRING(1 -2,1 1,4 1)',
   'SRID=3;MULTIPOLYGON(((0 -1,0 -3,2 -3,2 -1,0 -1)),((3 0,3 2,5 2,5 0,3 0)))'
 ));
 
 -- Split multiline by multipoint
-select '86', st_asewkt(ST_Split(
+select '86', ST_AsEWKT(ST_Split(
   'SRID=3;MULTILINESTRING((0 0,10 0),(5 -5, 5 5),(0 20,10 20))',
   'SRID=3;MULTIPOINT(2 6,5 0,5 20,2 20,8 20,8 0,5 -2,0 0, 5 -5, 10 20)'
 ));
diff --git a/regress/split_expected b/regress/split_expected
index 6181214b9..2a501de48 100644
--- a/regress/split_expected
+++ b/regress/split_expected
@@ -1,26 +1,25 @@
-ERROR:  Operation on mixed SRID geometries
-1|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0))
-1.1|SRID=10;GEOMETRYCOLLECTION(LINESTRING(10 0,5 0),LINESTRING(5 0,0 0))
+ERROR:  Operation on mixed SRID geometries (LineString, 10) != (Point, 5)
+ERROR:  Operation on mixed SRID geometries (LineString, 10) != (LineString, 5)
+1.1|SRID=10;GEOMETRYCOLLECTION(LINESTRING(5 0,10 0),LINESTRING(0 0,5 0))
 2|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,10 0))
 3|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,10 0))
-ERROR:  Operation on mixed SRID geometries
 4|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,10 0))
 5|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,10 0))
-6|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0))
-7|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0,10 10,5 10),LINESTRING(5 10,0 10,0 20,5 20),LINESTRING(5 20,10 20))
+6|SRID=10;GEOMETRYCOLLECTION(LINESTRING(5 0,10 0),LINESTRING(0 0,5 0))
+7|SRID=10;GEOMETRYCOLLECTION(LINESTRING(5 10,0 10,0 20,5 20),LINESTRING(5 0,10 0,10 10,5 10),LINESTRING(5 20,10 20),LINESTRING(0 0,5 0))
 ERROR:  Splitter line has linear intersection with input
 ERROR:  Splitter line has linear intersection with input
-20|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 10)))
-21|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 8,5 8,5 10)))
-22|SRID=12;GEOMETRYCOLLECTION(POLYGON((2 0,0 0,0 10,2 10,2 0)),POLYGON((2 10,10 10,10 0,2 0,2 10),(5 2,8 2,8 8,5 8,5 2)))
-23|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10)))
-30|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0),LINESTRING(0 5,5 5),LINESTRING(5 5,10 5))
-31|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0),LINESTRING(0 5,10 5))
-32|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,10 0),LINESTRING(0 5,10 5))
-40|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0),LINESTRING(0 5,10 5))
-50|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25 8,25 5)))
-60|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25 8,25 5)),LINESTRING(0 0,5 0),LINESTRING(5 0,10 0),LINESTRING(0 5,5 5),LINESTRING(5 5,10 5))
-70|SRID=11;GEOMETRYCOLLECTION(LINESTRING(1691983.26 4874594.81 312.24,1691984.86 4874593.69 312.24,1691982 4874589.60428571 312.24),LINESTRING(1691982 4874589.60428571 312.24,1691981.30515131 4874588.61164472 312.24),LINESTRING(1691981.30515131 4874588.61164472 312.24,1691979.54 4874586.09 312.24,1691978.03 4874587.16 298.36))
+20|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,5 10,10 10,10 0,5 0)),POLYGON((0 0,0 10,5 10,5 0,0 0)))
+21|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,5 2,8 2,8 8,5 8,5 10,10 10,10 0,5 0)),POLYGON((0 0,0 10,5 10,5 8,2 8,2 2,5 2,5 0,0 0)))
+22|SRID=12;GEOMETRYCOLLECTION(POLYGON((2 0,2 10,10 10,10 0,2 0),(5 2,8 2,8 8,5 8,5 2)),POLYGON((0 0,0 10,2 10,2 0,0 0)))
+23|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10,10 10,10 0,5 0)),POLYGON((0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0,0 0)))
+30|SRID=10;GEOMETRYCOLLECTION(LINESTRING(5 5,10 5),LINESTRING(5 0,10 0),LINESTRING(0 5,5 5),LINESTRING(0 0,5 0))
+31|SRID=10;GEOMETRYCOLLECTION(LINESTRING(5 0,10 0),LINESTRING(0 5,10 5),LINESTRING(0 0,5 0))
+32|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 5,10 5),LINESTRING(0 0,10 0))
+40|SRID=10;GEOMETRYCOLLECTION(LINESTRING(5 0,10 0),LINESTRING(0 5,10 5),LINESTRING(0 0,5 0))
+50|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10,10 10,10 0,5 0)),POLYGON((0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0,0 0)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25 8,25 5)))
+60|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10,10 10,10 0,5 0)),POLYGON((0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0,0 0)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25 8,25 5)),LINESTRING(5 5,10 5),LINESTRING(5 0,10 0),LINESTRING(0 5,5 5),LINESTRING(0 0,5 0))
+70|SRID=11;GEOMETRYCOLLECTION(LINESTRING(1691982 4874589.60428571 312.24,1691984.86 4874593.69 312.24,1691983.26 4874594.81 312.24),LINESTRING(1691978.03 4874587.16 298.36,1691979.54 4874586.09 312.24,1691981.30515131 4874588.61164472 312.24),LINESTRING(1691981.30515131 4874588.61164472 312.24,1691982 4874589.60428571 312.24))
 80|GEOMETRYCOLLECTION(LINESTRING(0 1,0 1,0 1))
 81|GEOMETRYCOLLECTION(LINESTRING(0 1,0 1))
 82|t

commit 85ad0861ca995ce493163df0dea6a695ecd03ef8
Author: Regina Obe <lr at pcorp.us>
Date:   Fri Nov 11 12:54:53 2022 -0500

    Prepping for PostGIS 2.5.9 release

diff --git a/NEWS b/NEWS
index 435415a1d..88a8effe9 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,8 @@
 PostGIS 2.5.9
-2022/11/xx
+2022/11/11
+This release works for PostgreSQL 9.4 thru PostgreSQL 12 and is the End-Of-Life release
+of the PostGIS 2.5 series.
+
  * Bug fixes *
 
   - #5241, Crash on ST_SnapToGrid with empty multis (Regina Obe)
diff --git a/Version.config b/Version.config
index 97e83bdcd..7625af52e 100644
--- a/Version.config
+++ b/Version.config
@@ -5,7 +5,7 @@
 
 POSTGIS_MAJOR_VERSION=2
 POSTGIS_MINOR_VERSION=5
-POSTGIS_MICRO_VERSION=9dev
+POSTGIS_MICRO_VERSION=9
 
 # Liblwgeom interface versioning, reset to 0:0:0 (cur:age:rev)
 # when changing POSTGIS_MINOR_VERSION
diff --git a/doc/release_notes.xml b/doc/release_notes.xml
index 230a9bcc3..b2240171e 100644
--- a/doc/release_notes.xml
+++ b/doc/release_notes.xml
@@ -2,6 +2,19 @@
 <appendix id="release_notes">
   <title>Appendix</title>
     <subtitle>Release Notes</subtitle>
+    <sect1>
+      <title>PostGIS 2.5.9</title>
+      <para>Release Date: 2022/11/11</para>
+      <para>This release works for PostgreSQL 9.4-12 and is the End-Of-Life release
+of the PostGIS 2.5 series.</para>
+      <simplesect>
+          <title>Bug fixes</title>
+          <para><ulink url="https://trac.osgeo.org/postgis/ticket/5241">5241</ulink>, Crash on ST_SnapToGrid with empty multis (Regina Obe)</para>
+          <para><ulink url="https://trac.osgeo.org/postgis/ticket/5280">5280</ulink>, shp2pgsql: Handle load of dbase character fields with no width specified (Regina Obe)</para>
+          <para><ulink url="https://trac.osgeo.org/postgis/ticket/5240">5240</ulink>, ST_DumpPoints crash with empty polygon (Regina Obe)</para>
+          <para><ulink url="https://trac.osgeo.org/postgis/ticket/5084">5084</ulink>, Bad rasterization of linestring (Gilles Vuidel)</para>
+      </simplesect>
+    </sect1>
     <sect1>
       <title>PostGIS 2.5.8</title>
       <para>Release Date: 2022/08/18</para>

-----------------------------------------------------------------------

Summary of changes:
 NEWS                   |  5 ++++-
 Version.config         |  2 +-
 doc/release_notes.xml  | 13 +++++++++++
 regress/split.sql      | 59 ++++++++++++++++++++++++--------------------------
 regress/split_expected | 33 ++++++++++++++--------------
 5 files changed, 62 insertions(+), 50 deletions(-)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list