2026-02-09  Regina Obe <lr@pcorp.us>

	* doc/release_notes.xml: Fix missing </para>

2026-02-09  Regina Obe <lr@pcorp.us>

	* NEWS, README.postgis, Version.config, doc/release_notes.xml,
	extensions/upgradeable_versions.mk: Prep for PostGIS 3.6.2 release

2026-02-09  Regina Obe <lr@pcorp.us>

	* .cirrus.yml: FIXES TO CIRRUS CI - Get rid of $NCPU and put in a 2 instead and lower the ram.
	References #6047 for PostGIS 3.6.2 - Change FreeBSD to 14.3, 14.2 is no longer available

2026-02-09  Regina Obe <lr@pcorp.us>

	* extensions/postgis_extension_helper.sql.in,
	extensions/postgis_extension_helper_uninstall.sql,
	extensions/postgis_tiger_geocoder/Makefile.in,
	extensions/postgis_tiger_geocoder/sql_bits/remove_from_extension.sq
	l.in, extensions/postgis_topology/Makefile.in,
	extensions/postgis_topology/sql_bits/remove_from_extension.sql.in: 
	Remove postgis_extension_remove_objects Closes #5853 for PostGIS
	3.6.2 Fix postgis_tiger_geocoder upgrade for PostgreSQL < 16 Closes #6032
	for PostGIS 3.6.2

2026-02-02  Maksim Korotkov <m.korotkov@postgrespro.ru>

	* postgis/flatgeobuf.c: Fix memory allocation size for arrays in
	flatgeobuf_decode_row The original code incorrectly allocated memory
	for pointers instead of the actual types, potentially causing buffer
	overflows or memory corruption since it was allocating insufficient
	memory (size of pointer instead of size of Datum/bool).  Found by PostgesPro.  Fixes: 3ae2c5844 ("FlatGeobuf format
	input/output") Signed-off-by: Maksim Korotkov
	<m.korotkov@postgrespro.ru>

2026-01-27  Paul Ramsey <pramsey@cleverelephant.ca>

	* postgis/gserialized_typmod.c: Fix mixed declarations mistake

2026-01-27  bdreiss <bd_reiss@gmx.at>

	* postgis/gserialized_typmod.c: The geodetic flag was queried after
	gser has been freed ################################################### BUG REPORT
	################################################## ### DESCRITPION ### The geodetic flag was queried after gser has been freed in line 143,
	leading to a use-after-free bug. This means the behaviour is
	undefined and it is not clear, which branch will be taken (and
	therefor, whether geometry or geography is returned). Below you find
	the output from gdb can be seen, that confirms that a) the point is
	indeed inserted with the wrong flag and b) also after selecting the
	point from the table remains unset. Issues when using SQL could not
	be produced.  ### SETUP IN PG ### CREATE EXTENSION postgis; CREATE TABLE test_geog (id SERIAL PRIMARY
	KEY, geog geography(POINT, 4326)); INSERT INTO test_geog (geog)
	VALUES (ST_GeogFromText('SRID=4326;POINT(-77.0092 38.889588)')); ### GDB OUPUT AND STEPS TO REPRODUCE ### postgres@localhost:~$ gdb --args /usr/local/pgsql/bin/postgres
	--single -D $PGDATA postgres (gdb) break gserialized_typmod.c:143 (gdb) break gserialized_typmod.c:150 (gdb) break geography_out (gdb) run backend> INSERT INTO test_geog (geog) VALUES
	(ST_GeogFromText('SRID=4326;MULTIPOINT EMPTY')); Breakpoint 1,
	postgis_valid_typmod (gser=0x58f991a3f378, typmod=1107460) at
	gserialized_typmod.c:143 143     gserialized_typmod.c: No such file
	or directory.  (gdb) call gserialized_is_geodetic(gser) $1 = 1 (gdb) c Continuing.  Breakpoint 2, postgis_valid_typmod (gser=0x58f991a8e150,
	typmod=1107460) at gserialized_typmod.c:151 151     in
	gserialized_typmod.c (gdb) call gserialized_is_geodetic(gser) $2 = 0 (gdb) c Continuing.  backend> backend> INSERT INTO test_geog (geog)
	VALUES (ST_GeogFromText('SRID=4326;POINT(-77.0092 38.889588)')); Breakpoint 2, postgis_valid_typmod (gser=0x58f991a3dca8,
	typmod=1107460) at gserialized_typmod.c:151 151     in
	gserialized_typmod.c (gdb) call gserialized_is_geodetic(gser) $4 = 1 (gdb) c Continuing.  backend> backend> select geog from test_geog
	         where id=1; 1: geog        (typeid = 14296, len = -1, typmod = 1107460, byval =
	        f) ---- Breakpoint 3, geography_out (fcinfo=0x7ffe871b40e0) at
	/usr/local/pgsql/include/server/postgres.h:319 319
	return (Pointer) X; (gdb) set $gser = (GSERIALIZED *) pg_detoast_datum((void *)
	fcinfo->args[0].value) (gdb) call gserialized_is_geodetic($gser) $7 = 0 (gdb) c Continuing.           1: geog =
	        "0101000020E6100000000000000000F87F000000000000F87F"
	        (typeid = 14296, len = -1, typmod = 1107460, byval = f) ----
	backend> select geog from test_geog where id=2;          1: geog        (typeid = 14296, len = -1, typmod = 1107460,
	        byval = f) ---- Breakpoint 3, geography_out (fcinfo=0x7ffe871b40e0) at
	/usr/local/pgsql/include/server/postgres.h:319 319
	return (Pointer) X; (gdb) set $gser = (GSERIALIZED *) pg_detoast_datum((void *)
	fcinfo->args[0].value) (gdb) call gserialized_is_geodetic($gser) $8 = 1 (gdb) c Continuing.           1: geog =
	        "0101000020E6100000E3C798BB964053C000750305DE714340"
	        (typeid = 14296, len = -1, typmod = 1107460, byval = f) ----
	backend> ### INFO ### postgres=# SELECT version();                                               version

	--------------------------------------------------------------------------------------------------- PostgreSQL 18.1 on x86_64-pc-linux-gnu, compiled by gcc (Debian
	 12.2.0-14+deb12u1) 12.2.0, 64-bit (1 row) postgres=# SELECT postgis_full_version();
	postgis_full_version
	----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	--------------------------------------------------------------------------------------------------------------------------------------------------------------- POSTGIS="3.6.1 f533623" [EXTENSION] PGSQL="180"
	 GEOS="3.11.1-CAPI-1.17.1" PROJ="9.1.1 NETWORK_ENABLED=OFF
	 URL_ENDPOINT=https://cdn.proj.org
	 USER_WRITABLE_DIRECTORY=/home/postgres/.loc al/share/proj
	DATABASE_PATH=/usr/share/proj/proj.db" (compiled against PROJ 9.1.1)
	LIBXML="2.9.14" LIBJSON="0.16" LIBPROTOBUF="1.4.1" WAGYU="0.5.0
	(Internal)" (1 row) COMPILE FLAGS USED: CC=clang ./configure --with-pgconfig=/usr/bin/pg_config CFLAGS="-O0
	-g -fsanitize=address -fno-omit-frame-pointer"
	LDFLAGS="-fsanitize=address"
	###############################################################################################################

2026-01-26  Maksim Korotkov <m.korotkov@postgrespro.ru>

	* postgis/geography_centroid.c: Replace check for avoiding NULL
	dereference Fixes: 9726c4770 ("missed file commit for ST_Centroid Geography
	support references #2951") Signed-off-by: Maksim Korotkov <m.korotkov@postgrespro.ru>

2026-01-20  Paul Ramsey <pramsey@cleverelephant.ca>

	* NEWS: News item for 680639af5

2026-01-20  Maksim Korotkov <m.korotkov@postgrespro.ru>

	* extensions/address_standardizer/standard.c: Avoid potential NULL
	dereference in std_free() After check against NULL the pointer std
	-> pagc_p was used unsafely.  Found by PostgresPro with Svace Static Analyzer.  Fixes: c6091a4bb
	("Prep to move address_standardizer into extensions folder")
	Signed-off-by: Maksim Korotkov <m.korotkov@postgrespro.ru>

2026-01-16  Loïc Bartoletti <loic.bartoletti@oslandia.com>

	* sfcgal/regress/sfcgal_v2.sql, sfcgal/regress/sfcgal_v2_expected: 
	test(sfcgal): Fix Buffer3D tests against SFCGAL 2.3.0 SFCGAL 2.3.0 improves sphere generation using icosahedron algorithm
	to avoid float issue.  The geometry is slightly different and test
	must be adapted accordingly.

2026-01-14  Sandro Santilli <strk@kbt.io>

	* .codespell.ignore: Add surnames to spellcheck ignore list

2026-01-14  Sandro Santilli <strk@kbt.io>

	* liblwgeom/lwalgorithm.c: Stop using a tolerance for point-same
	functions References #6023 in 3.6 branch (3.6.2dev) This is partially reverting 80eefad13bd00d1e56d2bec36cd5140f87775ce4

2026-01-13  Sandro Santilli <strk@kbt.io>

	* NEWS: Add missing NEWS item

2026-01-13  Sandro Santilli <strk@kbt.io>

	* liblwgeom/cunit/cu_ptarray.c, liblwgeom/ptarray.c: Fix robustness
	issue in ptarray_contains_point References #6023 in 3.6 branch (3.6.2dev) Includes unit test

2025-12-22  Sandro Santilli <strk@kbt.io>

	* NEWS, doc/developer.md: Fix some spelling typos

2025-12-22  Sandro Santilli <strk@kbt.io>

	* NEWS, topology/sql/cleanup/RemoveUnusedPrimitives.sql.in,
	topology/test/regress/removeunusedprimitives.sql: Fix
	RemoveUnusedPrimitives without "topology" in search_path Includes regression test.  References #6027 in stable-3.6 branch (3.6.2dev)

2025-12-15  Paul Ramsey <pramsey@cleverelephant.ca>

	* NEWS, liblwgeom/cunit/cu_gserialized2.c,
	liblwgeom/gserialized2.c, liblwgeom/lwin_wkb.c: Convert
	POLYGON(EMPTY) a polygon with an empty ring into POLYGON EMPTY a
	polygon with no rings, in the WKB input routine. Handle any existing
	POLYGON(EMPTY) in the gserialized_is_empty routine. References #6028

2025-11-30  Regina Obe <lr@pcorp.us>

	* .drone-1.0.yml, .woodpecker/regress.yml: Get rid of drone and
	refine wood-pecker to include removed drone items

2025-11-19  Paul Ramsey <pramsey@cleverelephant.ca>

	* schema qualify call in ST_MPointFromText, references #6020

