summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2022-02-04 14:55:00 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2022-02-04 14:55:00 -0500
commitab22eea83169c8d0eb15050ce61cbe3d7dae4de6 (patch)
tree2fb91310707a391ac93800c1479e40c9d06b548b /doc/src
parent2a3958e4d9b9b1e82adefa11f3e69ea5c16efb45 (diff)
First-draft release notes for 14.2.
As usual, the release notes for older branches will be made by cutting these down, but put them up for community review first.
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/release-14.sgml1207
1 files changed, 1207 insertions, 0 deletions
diff --git a/doc/src/sgml/release-14.sgml b/doc/src/sgml/release-14.sgml
index 0c76ddd2c95..82f961d2281 100644
--- a/doc/src/sgml/release-14.sgml
+++ b/doc/src/sgml/release-14.sgml
@@ -1,6 +1,1213 @@
<!-- doc/src/sgml/release-14.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+ <sect1 id="release-14-2">
+ <title>Release 14.2</title>
+
+ <formalpara>
+ <title>Release date:</title>
+ <para>2022-02-10</para>
+ </formalpara>
+
+ <para>
+ This release contains a variety of fixes from 14.1.
+ For information about new features in major release 14, see
+ <xref linkend="release-14"/>.
+ </para>
+
+ <sect2>
+ <title>Migration to Version 14.2</title>
+
+ <para>
+ A dump/restore is not required for those running 14.X.
+ </para>
+
+ <para>
+ However, some bugs have been found that may have resulted in
+ corrupted indexes, as explained in the first two changelog entries.
+ If any of those cases apply to you, it's recommended to reindex
+ possibly-affected indexes after updating.
+ </para>
+
+ <para>
+ Also, if you are upgrading from a version earlier than 14.1,
+ see <xref linkend="release-14-1"/>.
+ </para>
+ </sect2>
+
+ <sect2>
+ <title>Changes</title>
+
+ <itemizedlist>
+
+ <listitem>
+<!--
+Author: Andres Freund <andres@anarazel.de>
+Branch: master [18b87b201] 2022-01-13 18:13:41 -0800
+Branch: REL_14_STABLE [dad1539ae] 2022-01-14 10:56:12 -0800
+-->
+ <para>
+ Fix corruption of HOT chains when a RECENTLY_DEAD tuple changes
+ state to fully DEAD during page pruning (Andres Freund)
+ </para>
+
+ <para>
+ This happens when the last transaction that could <quote>see</quote>
+ the tuple ends while the page is being pruned. It was then possible
+ to remove a tuple that is pointed to by a redirect item elsewhere on
+ the page. While that causes no immediate problem, when the item slot
+ is re-used by some new tuple, that tuple would be thought to be part
+ of the pre-existing HOT chain, creating a form of index corruption.
+ If this seems to have affected a table, <command>REINDEX</command>
+ should repair the damage.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Michael Paquier <michael@paquier.xyz>
+Branch: master [f99870dd8] 2021-12-08 11:01:08 +0900
+Branch: REL_14_STABLE [64ab21f0e] 2021-12-08 11:01:14 +0900
+Branch: REL_13_STABLE [9acea52ea] 2021-12-08 11:01:19 +0900
+Branch: REL_12_STABLE [5ed74d874] 2021-12-08 11:01:23 +0900
+-->
+ <para>
+ Enforce standard locking protocol for TOAST table updates, to prevent
+ problems with <command>REINDEX CONCURRENTLY</command> (Michael Paquier)
+ </para>
+
+ <para>
+ If applied to a TOAST table or TOAST table's index, <command>REINDEX
+ CONCURRENTLY</command> tended to produce a corrupted index. This
+ happened because sessions updating TOAST entries released
+ their <literal>ROW EXCLUSIVE</literal> locks immediately, rather
+ than holding them until transaction commit as all other updates do.
+ The fix is to make TOAST updates hold the table lock according to the
+ normal rule. Any existing corrupted indexes can be repaired by
+ reindexing again.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Etsuro Fujita <efujita@postgresql.org>
+Branch: master [f862d5705] 2022-02-03 15:15:00 +0900
+Branch: REL_14_STABLE [7b0cec2fa] 2022-02-03 15:15:01 +0900
+Author: Andres Freund <andres@anarazel.de>
+Branch: master [7c1aead6c] 2022-02-03 10:44:26 -0800
+Branch: REL_14_STABLE [2a3958e4d] 2022-02-03 10:44:38 -0800
+-->
+ <para>
+ Fix crash in EvalPlanQual rechecks for tables with a mix of local
+ and foreign partitions (Etsuro Fujita)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Michael Paquier <michael@paquier.xyz>
+Branch: master [dc084d7c7] 2022-01-29 10:22:42 +0900
+Branch: REL_14_STABLE [b30282fcc] 2022-01-29 10:23:17 +0900
+-->
+ <para>
+ Fix dangling pointer in <command>COPY TO</command>
+ (Bharath Rupireddy)
+ </para>
+
+ <para>
+ This oversight could cause an incorrect error message or a crash
+ after an error in <command>COPY</command>.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tomas Vondra <tomas.vondra@postgresql.org>
+Branch: master [6d554e3fc] 2022-01-23 03:16:31 +0100
+Branch: REL_14_STABLE [a192243c7] 2022-01-23 03:18:02 +0100
+Branch: REL_13_STABLE [267ccc38b] 2022-01-23 03:20:32 +0100
+-->
+ <para>
+ Avoid null-pointer crash in <command>ALTER STATISTICS</command>
+ when the statistics object is dropped concurrently (Tomas Vondra)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Alexander Korotkov <akorotkov@postgresql.org>
+Branch: master [5cc9c8374] 2021-12-13 17:17:33 +0300
+Branch: REL_14_STABLE [7615edd1d] 2021-12-13 17:20:07 +0300
+-->
+ <para>
+ Correctly handle alignment padding when extracting a range from a
+ multirange (Alexander Korotkov)
+ </para>
+
+ <para>
+ This error could cause crashes when handling multiranges over
+ variable-length data types.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [647889667] 2022-01-16 16:39:26 -0500
+Branch: REL_14_STABLE [17da9d4c2] 2022-01-16 16:39:26 -0500
+-->
+ <para>
+ Fix over-optimistic use of hashing for
+ anonymous <type>RECORD</type> data types (Tom Lane)
+ </para>
+
+ <para>
+ This prevents some cases of <quote>could not identify a hash
+ function for type record</quote> errors.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: David Rowley <drowley@postgresql.org>
+Branch: master [f9a74c149] 2022-01-25 21:10:03 +1300
+Branch: REL_14_STABLE [357ff6615] 2022-01-25 21:14:27 +1300
+Branch: REL_13_STABLE [f8807e774] 2022-01-25 21:15:00 +1300
+Branch: REL_12_STABLE [2ccd8fb29] 2022-01-25 21:15:40 +1300
+-->
+ <para>
+ Fix incorrect plan creation for parallel single-child Append nodes
+ (David Rowley)
+ </para>
+
+ <para>
+ In some cases the Append would be simplified away when it should not
+ be, leading to wrong query results (duplicated rows).
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [4ace45677] 2022-01-01 16:12:03 -0500
+Branch: REL_14_STABLE [cabea571d] 2022-01-01 16:12:03 -0500
+Branch: REL_13_STABLE [45ae42714] 2022-01-01 16:12:03 -0500
+Branch: REL_12_STABLE [f789b7732] 2022-01-01 16:12:03 -0500
+Branch: REL_11_STABLE [e3a4c7981] 2022-01-01 16:12:03 -0500
+Branch: REL_10_STABLE [70a31a0e3] 2022-01-01 16:12:03 -0500
+Branch: master [9a3ddeb51] 2022-01-03 15:42:27 -0500
+Branch: REL_14_STABLE [d228af79d] 2022-01-03 15:42:27 -0500
+Branch: REL_13_STABLE [20d08b2c6] 2022-01-03 15:42:27 -0500
+Branch: REL_12_STABLE [9c4f38908] 2022-01-03 15:42:27 -0500
+Branch: REL_11_STABLE [ec3674521] 2022-01-03 15:42:27 -0500
+Branch: REL_10_STABLE [7d344f004] 2022-01-03 15:42:27 -0500
+-->
+ <para>
+ Fix index-only scan plans for cases where not all index columns can
+ be returned (Tom Lane)
+ </para>
+
+ <para>
+ If an index has both returnable and non-returnable columns, and one
+ of the non-returnable columns is an expression using a table column
+ that appears in a returnable index column, then a query using that
+ expression could result in an index-only scan plan that attempts to
+ read the non-returnable column, instead of recomputing the
+ expression from the returnable column as intended. The
+ non-returnable column would read as NULL, resulting in wrong query
+ results.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: David Rowley <drowley@postgresql.org>
+Branch: master [411137a42] 2021-11-24 23:29:14 +1300
+Branch: REL_14_STABLE [c2dc7b9e1] 2021-11-24 23:29:56 +1300
+-->
+ <para>
+ Fix Memoize plan nodes to handle subplans that use parameters
+ coming from above the Memoize (David Rowley)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: David Rowley <drowley@postgresql.org>
+Branch: master [e502150f7] 2021-11-24 10:06:59 +1300
+Branch: REL_14_STABLE [6c32c0977] 2021-11-24 10:07:38 +1300
+-->
+ <para>
+ Fix Memoize plan nodes to work correctly with non-hashable join
+ operators (David Rowley)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [9c356f4b2] 2021-12-16 15:36:02 -0500
+Branch: REL_14_STABLE [f9a8bc9f2] 2021-12-16 15:36:02 -0500
+Branch: REL_13_STABLE [da0d8a454] 2021-12-16 15:36:02 -0500
+Branch: REL_12_STABLE [e1fd61c8c] 2021-12-16 15:36:02 -0500
+Branch: REL_11_STABLE [c43d72b24] 2021-12-16 15:36:02 -0500
+Branch: REL_10_STABLE [1acf34586] 2021-12-16 15:36:02 -0500
+-->
+ <para>
+ Ensure that casting to an unspecified typmod generates a RelabelType
+ node rather than a length-coercion function call (Tom Lane)
+ </para>
+
+ <para>
+ While the coercion function should do the right thing (nothing),
+ this translation is undesirably inefficient.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [8e2e0f758] 2022-01-29 11:41:18 -0500
+Branch: REL_14_STABLE [c025067f6] 2022-01-29 11:41:18 -0500
+Branch: REL_13_STABLE [5ad70564f] 2022-01-29 11:41:12 -0500
+-->
+ <para>
+ Fix checking of <type>anycompatible</type>-family data type matches
+ (Tom Lane)
+ </para>
+
+ <para>
+ In some cases the parser would think that a function or operator
+ with <type>anycompatible</type>-family polymorphic parameters
+ matches a set of arguments that it really shouldn't match. In
+ reported cases, that led to matching more than one operator to a
+ call, leading to ambiguous-operator errors; but a failure later on
+ is also possible.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+Branch: master [44bd3ed33] 2021-11-26 11:14:27 -0300
+Branch: REL_14_STABLE [d24dac954] 2021-11-26 11:14:27 -0300
+Branch: REL_13_STABLE [ef41c3fd6] 2021-11-26 11:14:27 -0300
+Branch: REL_12_STABLE [9c6ab1ef3] 2021-11-26 11:14:27 -0300
+Branch: REL_11_STABLE [2c3fddcbb] 2021-11-26 11:14:27 -0300
+Branch: REL_10_STABLE [72cf39d51] 2021-11-26 11:14:27 -0300
+-->
+ <para>
+ Fix WAL replay failure when database consistency is reached exactly
+ at a WAL page boundary (&Aacute;lvaro Herrera)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tomas Vondra <tomas.vondra@postgresql.org>
+Branch: master [f192e1bdf] 2022-01-27 20:13:55 +0100
+Branch: REL_14_STABLE [fb2f8e534] 2022-01-27 20:15:37 +0100
+Branch: REL_13_STABLE [e90f258ac] 2022-01-27 20:16:39 +0100
+Branch: REL_12_STABLE [4b8af2bf8] 2022-01-27 20:17:36 +0100
+Branch: REL_11_STABLE [5cb88648e] 2022-01-27 20:18:22 +0100
+Branch: REL_10_STABLE [4ef38fbe8] 2022-01-27 20:19:39 +0100
+-->
+ <para>
+ Fix startup of a physical replica to tolerate transaction ID
+ wraparound (Abhijit Menon-Sen, Tomas Vondra)
+ </para>
+
+ <para>
+ If a replica server is started while the set of active transactions
+ on the primary crosses a wraparound boundary (so that there are some
+ newer transactions with smaller XIDs than older ones), the replica
+ would fail with <quote>out-of-order XID insertion in
+ KnownAssignedXids</quote>. The replica would retry, but could never
+ get past that error.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Amit Kapila <akapila@postgresql.org>
+Branch: master [5e97905a2] 2021-12-09 08:36:59 +0530
+Branch: REL_14_STABLE [614b77d65] 2021-12-09 08:49:50 +0530
+Branch: REL_13_STABLE [3f06c00cf] 2021-12-09 09:00:35 +0530
+-->
+ <para>
+ In logical replication, avoid double transmission of a child table's
+ data (Hou Zhijie)
+ </para>
+
+ <para>
+ If a publication includes both child and parent tables, and has
+ the <literal>publish_via_partition_root</literal> option set,
+ subscribers uselessly initiated synchronization on both child and
+ parent tables. Ensure that only the parent table is synchronized in
+ such cases.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [6aa518614] 2022-01-24 15:33:38 -0500
+Branch: REL_14_STABLE [1efcc5946] 2022-01-24 15:33:34 -0500
+Branch: REL_13_STABLE [d67354d87] 2022-01-24 15:33:34 -0500
+Branch: REL_12_STABLE [689f75d6e] 2022-01-24 15:33:34 -0500
+Branch: REL_11_STABLE [4ec54498c] 2022-01-24 15:33:34 -0500
+Branch: REL_10_STABLE [9af6d4b5a] 2022-01-24 15:33:34 -0500
+Branch: master [3c06ec6d1] 2022-01-24 12:09:46 -0500
+Branch: REL_14_STABLE [ef9706bbc] 2022-01-24 12:09:46 -0500
+Branch: REL_13_STABLE [c94c6612d] 2022-01-24 12:09:46 -0500
+Branch: REL_12_STABLE [a8ce5c8d7] 2022-01-24 12:09:46 -0500
+Branch: REL_11_STABLE [449a69623] 2022-01-24 12:09:46 -0500
+Branch: REL_10_STABLE [daf658982] 2022-01-24 12:09:46 -0500
+-->
+ <para>
+ Remove lexical limitations for SQL commands issued on a logical
+ replication connection (Tom Lane)
+ </para>
+
+ <para>
+ The walsender process would fail for a SQL command containing an
+ unquoted semicolon, or with dollar-quoted literals containing odd
+ numbers of single or double quote marks, or when the SQL command
+ starts with a comment. Moreover, faulty error recovery could lead
+ to unexpected errors in later commands too.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Amit Kapila <akapila@postgresql.org>
+Branch: master [e464cb7af] 2021-12-08 15:18:56 +0530
+Branch: REL_14_STABLE [f2e1730ee] 2021-12-08 15:21:12 +0530
+-->
+ <para>
+ Ensure that replication origin timestamp is set while replicating
+ a <command>ROLLBACK PREPARED</command> operation (Masahiko Sawada)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Michael Paquier <michael@paquier.xyz>
+Branch: master [237d1f317] 2022-01-21 14:54:04 +0900
+Branch: REL_14_STABLE [84db5169d] 2022-01-21 14:54:47 +0900
+Branch: REL_13_STABLE [b5f634116] 2022-01-21 14:54:51 +0900
+Branch: REL_12_STABLE [1c0452c48] 2022-01-21 14:54:55 +0900
+Branch: REL_11_STABLE [0ffe2975c] 2022-01-21 14:54:59 +0900
+Branch: REL_10_STABLE [919be95c6] 2022-01-21 14:55:04 +0900
+-->
+ <para>
+ Fix possible loss of the commit timestamp for the last
+ subtransaction of a transaction (Alex Kingsborough, Kyotaro Horiguchi)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Andres Freund <andres@anarazel.de>
+Branch: master [1fabec7d7] 2022-01-21 11:22:55 -0800
+Branch: REL_14_STABLE [2b7dbe4bd] 2022-01-21 11:24:12 -0800
+Branch: REL_13_STABLE [fd48e5f5d] 2022-01-21 11:24:12 -0800
+Branch: REL_12_STABLE [1c6d055ba] 2022-01-21 11:24:12 -0800
+Branch: REL_11_STABLE [2c15b29f7] 2022-01-21 11:24:12 -0800
+Branch: REL_10_STABLE [f862cc09f] 2022-01-21 11:24:12 -0800
+-->
+ <para>
+ Be sure to <function>fsync</function>
+ the <filename>pg_logical/mappings</filename> subdirectory during
+ checkpoints (Nathan Bossart)
+ </para>
+
+ <para>
+ On some filesystems this oversight could lead to losing logical
+ rewrite status files after a system crash.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tomas Vondra <tomas.vondra@postgresql.org>
+Branch: master [20b9fa308] 2022-01-15 19:06:48 +0100
+Branch: REL_14_STABLE [ea212bd95] 2022-01-15 19:05:22 +0100
+Branch: REL_13_STABLE [d6817032d] 2022-01-15 19:14:00 +0100
+Branch: REL_12_STABLE [9d1bcf5dc] 2022-01-15 19:02:58 +0100
+Branch: REL_11_STABLE [491182e52] 2022-01-15 18:32:20 +0100
+Branch: REL_10_STABLE [9211c2e38] 2022-01-15 18:30:45 +0100
+-->
+ <para>
+ Build extended statistics for partitioned tables (Justin Pryzby)
+ </para>
+
+ <para>
+ A previous bug fix disabled building of extended statistics for
+ old-style inheritance trees, but it also prevented building them for
+ partitioned tables, which was an unnecessary restriction.
+ If you have created statistics objects for partitioned tables, you
+ may wish to explicitly <command>ANALYZE</command> those tables after
+ installing this update, rather than waiting for auto-analyze to do it.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tomas Vondra <tomas.vondra@postgresql.org>
+Branch: master [36c4bc6e7] 2022-01-15 02:20:54 +0100
+Branch: REL_14_STABLE [2cc007fd0] 2022-01-15 02:26:26 +0100
+Branch: REL_13_STABLE [acfde7c58] 2022-01-15 02:30:06 +0100
+Branch: REL_12_STABLE [76569ad6f] 2022-01-15 03:14:55 +0100
+Branch: REL_11_STABLE [b3cac25f4] 2022-01-15 02:40:40 +0100
+Branch: REL_10_STABLE [ff0e7c7e8] 2022-01-15 03:05:06 +0100
+-->
+ <para>
+ Ignore extended statistics for inheritance trees (Justin Pryzby)
+ </para>
+
+ <para>
+ A previous bug fix disabled building of extended statistics for
+ old-style inheritance trees, but any existing statistics data was
+ not removed, and that data would become more and more out-of-date
+ over time. Adjust the planner to ignore such data. Extended
+ statistics for the individual child tables are still built and used,
+ however.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [7ead9925f] 2022-01-06 16:46:46 -0500
+Branch: REL_14_STABLE [f285d9583] 2022-01-06 16:46:46 -0500
+Branch: REL_13_STABLE [86d4bbb56] 2022-01-06 16:46:46 -0500
+Branch: REL_12_STABLE [ccc7c3ad8] 2022-01-06 16:46:46 -0500
+Branch: REL_11_STABLE [2ce113a4f] 2022-01-06 16:46:46 -0500
+Branch: REL_10_STABLE [e5b044c84] 2022-01-06 16:46:46 -0500
+-->
+ <para>
+ Disallow altering data type of a partitioned table's columns when
+ the partitioned table's row type is used as a composite type
+ elsewhere (Tom Lane)
+ </para>
+
+ <para>
+ This restriction has long existed for regular tables, but through an
+ oversight it was not checked for partitioned tables.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Michael Paquier <michael@paquier.xyz>
+Branch: master [f0d43947a] 2021-11-25 15:04:56 +0900
+Branch: REL_14_STABLE [e415916e2] 2021-11-25 15:05:24 +0900
+Branch: REL_13_STABLE [37827de43] 2021-11-25 15:05:28 +0900
+Branch: REL_12_STABLE [216156fec] 2021-11-25 15:05:31 +0900
+Branch: REL_11_STABLE [dffe80e55] 2021-11-25 15:05:34 +0900
+Branch: REL_10_STABLE [817c469c2] 2021-11-25 15:05:37 +0900
+-->
+ <para>
+ Disallow <literal>ALTER TABLE ... DROP NOT NULL</literal> for a
+ column that is part of a replica identity index (Haiying Tang, Hou
+ Zhijie)
+ </para>
+
+ <para>
+ The same prohibition already existed for primary key indexes.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [d8fbbb925] 2022-01-22 13:32:40 -0500
+Branch: REL_14_STABLE [3839e29c5] 2022-01-22 13:32:40 -0500
+Branch: REL_13_STABLE [31b7b4d26] 2022-01-22 13:32:40 -0500
+Branch: REL_12_STABLE [e2d53c876] 2022-01-22 13:32:40 -0500
+Branch: REL_11_STABLE [26c841ed1] 2022-01-22 13:32:40 -0500
+-->
+ <para>
+ Correctly update cached table state during <command>ALTER TABLE ADD
+ PRIMARY KEY USING INDEX</command> (Hou Zhijie)
+ </para>
+
+ <para>
+ Concurrent sessions failed to update their opinion of whether the
+ table has a primary key, possibly causing incorrect logical
+ replication behavior.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Amit Kapila <akapila@postgresql.org>
+Branch: master [354a1f8d2] 2021-11-16 08:10:13 +0530
+Branch: REL_14_STABLE [232fd72a5] 2021-11-16 08:34:24 +0530
+Branch: REL_13_STABLE [63c3eeddc] 2021-11-16 08:46:12 +0530
+Branch: REL_12_STABLE [9816e2d31] 2021-11-16 09:05:51 +0530
+Branch: REL_11_STABLE [40fb634b1] 2021-11-16 09:25:04 +0530
+Branch: REL_10_STABLE [2c0443c59] 2021-11-16 09:44:00 +0530
+-->
+ <para>
+ Correctly update cached table state when switching <literal>REPLICA
+ IDENTITY</literal> index (Tang Haiying, Hou Zhijie)
+ </para>
+
+ <para>
+ Concurrent sessions failed to update their opinion of which index is
+ the replica identity one, possibly causing incorrect logical
+ replication behavior.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [f4e7ae2b8] 2021-11-20 14:29:56 -0500
+Branch: REL_14_STABLE [6d07cbc50] 2021-11-20 14:29:56 -0500
+-->
+ <para>
+ Fix failure of SP-GiST indexes when indexed column's data type is
+ binary-compatible with the declared input type of the operator class
+ (Tom Lane)
+ </para>
+
+ <para>
+ Such cases should work, but failed with <quote>compress method must
+ be defined when leaf type is different from input type</quote>.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Amit Kapila <akapila@postgresql.org>
+Branch: master [0f0cfb494] 2021-11-19 09:04:40 +0530
+Branch: REL_14_STABLE [ead49ebc0] 2021-11-19 09:14:09 +0530
+Branch: REL_13_STABLE [33b6dd83e] 2021-11-19 09:24:00 +0530
+-->
+ <para>
+ Allow parallel vacuuming and concurrent index building to be ignored
+ while computing oldest xmin (Masahiko Sawada)
+ </para>
+
+ <para>
+ Non-parallelized instances of these operations were already ignored,
+ but the logic did not work for parallelized cases. Holding back the
+ xmin horizon has undesirable effects such as delaying vacuum
+ cleanup.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Peter Geoghegan <pg@bowt.ie>
+Branch: master [db6736c93] 2022-01-12 15:41:04 -0800
+Branch: REL_14_STABLE [41ee68a91] 2022-01-12 15:41:02 -0800
+-->
+ <para>
+ Fix memory leak when updating expression indexes (Peter Geoghegan)
+ </para>
+
+ <para>
+ An <command>UPDATE</command> affecting many rows could consume
+ significant amounts of memory.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [babe545ca] 2021-12-01 13:44:46 -0500
+Branch: REL_14_STABLE [8f4b0200e] 2021-12-01 13:44:47 -0500
+Branch: REL_13_STABLE [7413caabe] 2021-12-01 13:44:47 -0500
+Branch: REL_12_STABLE [5cf08b4db] 2021-12-01 13:44:47 -0500
+Branch: REL_11_STABLE [82d354411] 2021-12-01 13:44:47 -0500
+Branch: REL_10_STABLE [fec187dc3] 2021-12-01 13:44:47 -0500
+-->
+ <para>
+ Avoid leaking memory during <command>REASSIGN OWNED BY</command>
+ operations that reassign ownership of many objects (Justin Pryzby)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Michael Paquier <michael@paquier.xyz>
+Branch: master [6ce16088b] 2022-01-05 10:27:07 +0900
+Branch: REL_14_STABLE [5ddfebded] 2022-01-05 10:27:47 +0900
+Branch: REL_13_STABLE [3f8062bcf] 2022-01-05 10:27:53 +0900
+-->
+ <para>
+ Improve performance of walsenders sending logical changes by
+ avoiding unnecessary cache accesses (Hou Zhijie)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Magnus Hagander <magnus@hagander.net>
+Branch: master [2dbb7b9b2] 2022-01-26 09:58:59 +0100
+Branch: REL_14_STABLE [4afae689e] 2022-01-26 09:59:14 +0100
+Branch: REL_13_STABLE [81596645c] 2022-01-26 09:59:19 +0100
+Branch: REL_12_STABLE [aa58f5c53] 2022-01-26 09:59:23 +0100
+-->
+ <para>
+ Fix display of <literal>cert</literal> authentication method's
+ options in <structname>pg_hba_file_rules</structname> view (Magnus
+ Hagander)
+ </para>
+
+ <para>
+ The <literal>cert</literal> authentication method implies
+ <literal>clientcert=verify-full</literal>, but the
+ <structname>pg_hba_file_rules</structname> view incorrectly reported
+ <literal>clientcert=verify-ca</literal>.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Fujii Masao <fujii@postgresql.org>
+Branch: master [108505d76] 2022-01-28 11:24:42 +0900
+Branch: REL_14_STABLE [6e7ee55e7] 2022-01-28 11:25:45 +0900
+-->
+ <para>
+ Ensure that the session targeted
+ by <function>pg_log_backend_memory_contexts()</function> sends its
+ results only to the server's log (Fujii Masao)
+ </para>
+
+ <para>
+ Previously, a sufficiently high setting
+ of <varname>client_min_messages</varname> could result in the log
+ message also being sent to the connected client. Since that client
+ hadn't requested it, that would be surprising (and possibly a wire
+ protocol violation).
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [43c217512] 2022-01-13 17:49:46 -0500
+Branch: REL_14_STABLE [4aee39ddb] 2022-01-13 17:49:26 -0500
+Branch: REL_13_STABLE [ca14c4184] 2022-01-13 17:49:26 -0500
+Branch: REL_12_STABLE [45a3cefad] 2022-01-13 17:49:26 -0500
+Branch: REL_11_STABLE [3a1bfe256] 2022-01-13 17:49:26 -0500
+Branch: REL_10_STABLE [3433a1fc7] 2022-01-13 17:49:26 -0500
+-->
+ <para>
+ Fix display of whole-row variables appearing
+ in <literal>INSERT ... VALUES</literal> rules (Tom Lane)
+ </para>
+
+ <para>
+ A whole-row variable would be printed as <quote>var.*</quote>,
+ but that allows it to be expanded to individual columns when
+ the rule is reloaded, resulting in different semantics.
+ Attach an explicit cast to prevent that, as we do elsewhere.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [a8d8445a7] 2021-11-17 11:31:31 -0500
+Branch: REL_14_STABLE [5d5779aea] 2021-11-17 11:31:31 -0500
+-->
+ <para>
+ When reverse-listing a SQL-standard function body, display function
+ parameters appropriately within <command>INSERT ... SELECT</command>
+ (Tom Lane)
+ </para>
+
+ <para>
+ Previously, they'd come out
+ as <literal>$<replaceable>N</replaceable></literal> even when the
+ parameter had a name.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Michael Paquier <michael@paquier.xyz>
+Branch: master [098c13455] 2021-11-11 15:00:59 +0900
+Branch: REL_14_STABLE [b609db715] 2021-11-11 15:01:45 +0900
+Branch: REL_13_STABLE [13c8adf90] 2021-11-11 15:01:54 +0900
+-->
+ <para>
+ Fix one-byte buffer overrun when applying Unicode string
+ normalization to an empty string (Michael Paquier)
+ </para>
+
+ <para>
+ The practical impact of this is limited thanks to alignment
+ considerations; but in debug builds, a warning was raised.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+Branch: master [f66885bec] 2022-01-04 13:01:05 -0300
+Branch: REL_14_STABLE [f185f35a8] 2022-01-04 13:01:05 -0300
+Branch: REL_13_STABLE [29f9fb8fe] 2022-01-04 13:01:05 -0300
+Branch: REL_12_STABLE [6b681cd05] 2022-01-04 13:01:05 -0300
+Branch: REL_11_STABLE [28cd57416] 2022-01-04 13:01:05 -0300
+Branch: REL_10_STABLE [026a93727] 2022-01-04 13:01:05 -0300
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+Branch: master [67a8cb5cb] 2022-01-04 13:21:23 -0300
+Branch: REL_14_STABLE [f9db153c2] 2022-01-04 13:21:23 -0300
+Branch: REL_13_STABLE [33fdd9f85] 2022-01-04 13:21:23 -0300
+Branch: REL_12_STABLE [397b43948] 2022-01-04 13:21:23 -0300
+Branch: REL_11_STABLE [b63851a45] 2022-01-04 13:21:23 -0300
+Branch: REL_10_STABLE [4a8282425] 2022-01-04 13:21:23 -0300
+Author: Michael Paquier <michael@paquier.xyz>
+Branch: master [2e577c944] 2021-12-22 15:38:00 +0900
+Branch: REL_14_STABLE [8a22a40b2] 2021-12-22 15:38:05 +0900
+Author: Michael Paquier <michael@paquier.xyz>
+Branch: master [ece8c7619] 2021-12-14 10:58:15 +0900
+Branch: REL_14_STABLE [4be3e005e] 2021-12-14 10:58:25 +0900
+Branch: REL_13_STABLE [3f710fc2b] 2021-12-14 10:58:29 +0900
+Branch: REL_12_STABLE [65af1e842] 2021-12-14 10:58:33 +0900
+Branch: REL_11_STABLE [8abb6c27e] 2021-12-14 10:58:37 +0900
+-->
+ <para>
+ Fix or remove some incorrect assertions (Simon Riggs, Michael
+ Paquier, Alexander Lakhin)
+ </para>
+
+ <para>
+ These errors should affect only debug builds, not production.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [1f655fdc3] 2022-01-21 15:36:27 -0500
+Branch: REL_14_STABLE [f4ebf0dbe] 2022-01-21 15:36:28 -0500
+Branch: REL_13_STABLE [64ebb43df] 2022-01-21 15:36:28 -0500
+Branch: REL_12_STABLE [5521d8139] 2022-01-21 15:36:29 -0500
+Branch: REL_11_STABLE [37f5dc8b8] 2022-01-21 15:36:29 -0500
+Branch: REL_10_STABLE [0c7c94f90] 2022-01-21 15:36:30 -0500
+-->
+ <para>
+ Fix race condition that could lead to failure to localize error
+ messages that are reported early in multi-threaded use
+ of <application>libpq</application>
+ or <application>ecpglib</application> (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [f3f467b8f] 2022-01-17 12:52:44 -0500
+Branch: REL_14_STABLE [050949877] 2022-01-17 12:52:44 -0500
+Branch: REL_13_STABLE [f27af7b88] 2022-01-17 12:52:44 -0500
+Branch: REL_12_STABLE [38f099ef9] 2022-01-17 12:52:44 -0500
+Branch: REL_11_STABLE [8b107467c] 2022-01-17 12:52:44 -0500
+Branch: REL_10_STABLE [9d66c43eb] 2022-01-17 12:52:45 -0500
+-->
+ <para>
+ Avoid calling <function>strerror</function>
+ from <application>libpq</application>'s <function>PQcancel</function>
+ function (Tom Lane)
+ </para>
+
+ <para>
+ <function>PQcancel</function> is supposed to be safe to call from a
+ signal handler, but <function>strerror</function> is not safe. The
+ faulty usage only occurred in the unlikely event of failure to
+ send the cancel message to the server, perhaps explaining the lack
+ of reports.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [d6eb5a0c2] 2021-11-12 14:55:32 -0500
+Branch: REL_14_STABLE [99389cb66] 2021-11-12 14:55:32 -0500
+Branch: REL_13_STABLE [843925fad] 2021-11-12 14:55:32 -0500
+Branch: REL_12_STABLE [523adcc12] 2021-11-12 14:55:32 -0500
+Branch: REL_11_STABLE [b062ca508] 2021-11-12 14:55:32 -0500
+Branch: REL_10_STABLE [3bc46e4e9] 2021-11-12 14:55:32 -0500
+-->
+ <para>
+ Make <application>psql</application>'s <command>\password</command>
+ command default to setting the password
+ for <literal>CURRENT_USER</literal>, not the connection's original
+ user name (Tom Lane)
+ </para>
+
+ <para>
+ This agrees with the documented behavior, and avoids probable
+ permissions failure if <command>SET ROLE</command> or <command>SET
+ SESSION AUTHORIZATION</command> has been done since the session began.
+ To reduce confusion, the role name to be acted on is now always
+ included in the password prompt.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [9007d4ea7] 2022-01-17 21:19:02 -0500
+Branch: REL_14_STABLE [3886785b4] 2022-01-17 21:18:49 -0500
+Branch: REL_13_STABLE [90e0f9fd8] 2022-01-17 21:18:49 -0500
+-->
+ <para>
+ Fix <application>psql</application> <literal>\d</literal> command's
+ query for identifying parent triggers (Justin Pryzby)
+ </para>
+
+ <para>
+ The previous coding failed with <quote>more than one row returned by
+ a subquery used as an expression</quote> if a partition had triggers
+ and there were unrelated statement-level triggers of the same name
+ on some parent partitioned table.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Michael Paquier <michael@paquier.xyz>
+Branch: master [fe594abf7] 2022-01-08 16:44:45 +0900
+Branch: REL_14_STABLE [f5bea8360] 2022-01-08 16:45:14 +0900
+-->
+ <para>
+ Make <application>psql</application>'s <literal>\d</literal> command
+ sort a table's extended statistics objects by name not OID (Justin
+ Pryzby)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [fe7551744] 2022-01-16 14:59:20 -0500
+Branch: REL_14_STABLE [d91d4338e] 2022-01-16 14:59:20 -0500
+Branch: REL_13_STABLE [90a847e6d] 2022-01-16 14:59:20 -0500
+-->
+ <para>
+ Fix <application>psql</application>'s tab-completion of label values
+ for enum types (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Michael Paquier <michael@paquier.xyz>
+Branch: master [10260c794] 2021-11-25 12:16:21 +0900
+Branch: REL_14_STABLE [d2198b459] 2021-11-25 12:17:05 +0900
+Branch: master [58651d8dd] 2021-11-30 09:55:50 +0900
+Branch: REL_14_STABLE [5550a9c38] 2021-11-30 09:55:56 +0900
+-->
+ <para>
+ Fix failures on Windows when using the terminal as data source
+ or destination (Dmitry Koval, Juan José Santamaría Flecha, Michael
+ Paquier)
+ </para>
+
+ <para>
+ This affects <application>psql</application>'s
+ <command>\copy</command> command, as well
+ as <application>pg_recvlogical</application> with
+ <option>-f -</option>.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [2131c049d] 2022-01-17 13:30:04 -0500
+Branch: REL_14_STABLE [4e8726566] 2022-01-17 13:30:04 -0500
+Branch: REL_13_STABLE [d18ec312f] 2022-01-17 13:30:04 -0500
+Branch: REL_12_STABLE [6d1a854c1] 2022-01-17 13:30:04 -0500
+Branch: REL_11_STABLE [92e6c1c9b] 2022-01-17 13:30:04 -0500
+Branch: REL_10_STABLE [62bfa554b] 2022-01-17 13:30:04 -0500
+-->
+ <para>
+ In <application>psql</application> and some other client programs,
+ avoid trying to invoke <function>gettext()</function> from a
+ control-C signal handler (Tom Lane)
+ </para>
+
+ <para>
+ While no reported failures have been traced to this mistake, it seems
+ highly unlikely to be a safe thing to do.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [282b6d00a] 2021-11-21 14:13:35 -0500
+Branch: REL_14_STABLE [3bd7556bb] 2021-11-21 14:13:35 -0500
+Branch: REL_13_STABLE [33edf4a3c] 2021-11-21 14:13:35 -0500
+Branch: REL_12_STABLE [93295932d] 2021-11-21 14:13:35 -0500
+Branch: REL_11_STABLE [c2242d364] 2021-11-21 14:13:35 -0500
+Branch: REL_10_STABLE [3ce5d0884] 2021-11-21 14:13:35 -0500
+-->
+ <para>
+ Allow canceling the initial password prompt
+ in <application>pg_receivewal</application>
+ and <application>pg_recvlogical</application> (Tom Lane, Nathan
+ Bossart)
+ </para>
+
+ <para>
+ Previously it was impossible to terminate these programs via control-C
+ while they were prompting for a password.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [b55f2b692] 2021-11-22 17:16:29 -0500
+Branch: REL_14_STABLE [0fdf67476] 2021-11-22 17:16:29 -0500
+Branch: REL_13_STABLE [d4f6a36d8] 2021-11-22 17:16:29 -0500
+Branch: REL_12_STABLE [69949ea68] 2021-11-22 17:16:29 -0500
+Branch: REL_11_STABLE [54619a25d] 2021-11-22 17:16:29 -0500
+Branch: REL_10_STABLE [2b36973d9] 2021-11-22 17:16:29 -0500
+-->
+ <para>
+ Fix <application>pg_dump</application>'s dump ordering for
+ user-defined casts (Tom Lane)
+ </para>
+
+ <para>
+ In rare cases, the output script might refer to a user-defined cast
+ before it had been created.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [0b126c6a4] 2021-11-22 15:25:48 -0500
+Branch: REL_14_STABLE [aedc4600d] 2021-11-22 15:25:48 -0500
+Branch: REL_13_STABLE [6fc8b145e] 2021-11-22 15:25:48 -0500
+Branch: REL_12_STABLE [1e7f588ad] 2021-11-22 15:25:48 -0500
+Branch: master [db3a660c6] 2021-11-22 15:57:31 -0500
+Branch: REL_14_STABLE [72842a575] 2021-11-22 15:57:43 -0500
+Branch: REL_13_STABLE [b542e4596] 2021-11-22 15:57:52 -0500
+Branch: REL_12_STABLE [72582531b] 2021-11-22 15:57:59 -0500
+Branch: REL_11_STABLE [22d2b6611] 2021-11-22 15:58:05 -0500
+Branch: REL_10_STABLE [b599b8f39] 2021-11-22 15:58:12 -0500
+-->
+ <para>
+ Fix <application>pg_dump</application>'s <option>--inserts</option>
+ and <option>--column-inserts</option> modes to handle tables
+ containing both generated columns and dropped columns (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [248c3a937] 2021-11-17 14:16:34 -0500
+Branch: REL_14_STABLE [53c4a580e] 2021-11-17 14:16:34 -0500
+Branch: REL_13_STABLE [c8b5221b5] 2021-11-17 14:16:34 -0500
+Branch: REL_12_STABLE [8378dad4c] 2021-11-17 14:16:34 -0500
+Branch: REL_11_STABLE [a414eb850] 2021-11-17 14:16:34 -0500
+Branch: REL_10_STABLE [13799bb93] 2021-11-17 14:16:34 -0500
+Branch: master [3cac2c8ca] 2021-11-17 13:08:25 -0500
+Branch: REL_14_STABLE [6b413b41b] 2021-11-17 13:08:25 -0500
+Branch: REL_13_STABLE [bbda88c33] 2021-11-17 13:08:25 -0500
+Branch: REL_12_STABLE [12bf11889] 2021-11-17 13:08:25 -0500
+-->
+ <para>
+ Fix possible mis-reporting of errors
+ in <application>pg_dump</application>
+ and <application>pg_basebackup</application> (Tom Lane)
+ </para>
+
+ <para>
+ The previous code failed to check for errors from some kernel calls,
+ and could report the wrong errno values in other cases.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [54b1cb7eb] 2022-01-08 14:54:39 -0500
+Branch: REL_14_STABLE [043c1e1a7] 2022-01-08 14:54:39 -0500
+Branch: REL_13_STABLE [823d4c7e2] 2022-01-08 14:54:39 -0500
+Branch: REL_12_STABLE [3a69d45af] 2022-01-08 14:54:39 -0500
+Branch: REL_11_STABLE [38cbdd22d] 2022-01-08 14:54:39 -0500
+Branch: REL_10_STABLE [b21986908] 2022-01-08 14:54:39 -0500
+-->
+ <para>
+ Fix results of index-only scans
+ on <filename>contrib/btree_gist</filename> indexes
+ on <type>char(<replaceable>N</replaceable>)</type> columns (Tom Lane)
+ </para>
+
+ <para>
+ Index-only scans returned column values with trailing spaces
+ removed, which is not the expected behavior. That happens because
+ that's how it's stored in the index. This fix changes the logic to
+ store <type>char(<replaceable>N</replaceable>)</type> values with
+ the expected amount of space padding. The behavior of the index
+ will not change immediately unless you <command>REINDEX</command>
+ it; otherwise space-stripped values will be gradually replaced over
+ time during updates. Queries that do not use index-only scan plans
+ will be unaffected in any case.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Etsuro Fujita <efujita@postgresql.org>
+Branch: master [9e283fc85] 2022-01-27 16:15:00 +0900
+Branch: REL_14_STABLE [d1cca9441] 2022-01-27 16:15:02 +0900
+Author: Etsuro Fujita <efujita@postgresql.org>
+Branch: master [6c07f9ebc] 2022-01-21 17:45:00 +0900
+Branch: REL_14_STABLE [700e8fe6d] 2022-01-21 17:45:02 +0900
+-->
+ <para>
+ Fix edge cases in <filename>postgres_fdw</filename>'s handling of
+ asynchronous queries (Etsuro Fujita)
+ </para>
+
+ <para>
+ These errors could lead to crashes or incorrect results when
+ attempting to parallelize scans of foreign tables.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [bd233bdd8] 2022-01-25 18:52:44 -0500
+Branch: REL_14_STABLE [803f0b173] 2022-02-01 19:03:41 -0500
+Branch: REL_13_STABLE [4d7d196ff] 2022-02-01 19:03:41 -0500
+Branch: REL_12_STABLE [aa2215d6b] 2022-02-01 19:03:41 -0500
+Branch: REL_11_STABLE [e41176bd6] 2022-02-01 19:03:41 -0500
+Branch: REL_10_STABLE [a72c43012] 2022-02-01 19:03:41 -0500
+-->
+ <para>
+ Change <application>configure</application> to use
+ Python's <application>sysconfig</application> module, rather than
+ the deprecated <application>distutils</application> module, to
+ determine how to build PL/Python (Peter Eisentraut, Tom Lane, Andres
+ Freund)
+ </para>
+
+ <para>
+ With Python 3.10, this
+ avoids <application>configure</application>-time warnings
+ about <application>distutils</application> being deprecated and
+ scheduled for removal in Python 3.12. Presumably, once 3.12 is
+ out, <literal>configure --with-python</literal> would fail
+ altogether. This future-proofing does come at a
+ cost: <application>sysconfig</application> did not exist before
+ Python 2.7, nor before 3.2 in the Python 3 branch, so it is no
+ longer possible to build PL/Python against long-dead Python
+ versions.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [b63710164] 2021-11-30 17:18:04 -0500
+Branch: REL_14_STABLE [175edafd1] 2021-11-30 17:18:04 -0500
+-->
+ <para>
+ Re-allow cross-compilation
+ without <application>OpenSSL</application> (Tom Lane)
+ </para>
+
+ <para>
+ <application>configure</application> should assume
+ that <filename>/dev/urandom</filename> will be available on the
+ target system, but it failed instead.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Andres Freund <andres@anarazel.de>
+Branch: master [c89f40974] 2022-01-30 16:42:14 -0800
+Branch: REL_14_STABLE [8484e3812] 2022-01-30 16:42:42 -0800
+Branch: REL_13_STABLE [0dc0fe7b6] 2022-01-30 16:42:45 -0800
+Branch: REL_12_STABLE [f173738d5] 2022-01-30 16:42:47 -0800
+Branch: REL_11_STABLE [ad95a639a] 2022-01-30 16:42:49 -0800
+Branch: REL_10_STABLE [2557a03f8] 2022-01-30 16:43:07 -0800
+-->
+ <para>
+ Fix PL/Perl compile failure on Windows with Perl 5.28 and later
+ (Victor Wagner)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Peter Eisentraut <peter@eisentraut.org>
+Branch: master [99e4d24a9] 2021-11-25 14:19:22 +0100
+Branch: REL_14_STABLE [1cc13b83e] 2021-11-25 14:30:12 +0100
+Branch: REL_13_STABLE [04875ae92] 2021-11-25 14:30:46 +0100
+Branch: REL_12_STABLE [0d335cbd5] 2021-11-25 14:31:01 +0100
+Branch: REL_11_STABLE [a83b1bab0] 2021-11-25 14:32:26 +0100
+Branch: REL_10_STABLE [4339e10f0] 2021-11-25 14:32:43 +0100
+-->
+ <para>
+ Fix PL/Python compile failure with Python 3.11 and later (Peter
+ Eisentraut)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Michael Paquier <michael@paquier.xyz>
+Branch: master [b2265d305] 2021-11-24 13:03:23 +0900
+Branch: REL_14_STABLE [0e681fa45] 2021-11-24 13:03:55 +0900
+Branch: REL_13_STABLE [baef657d3] 2021-11-24 13:03:59 +0900
+Branch: REL_12_STABLE [420d5e40b] 2021-11-24 13:04:03 +0900
+Branch: REL_11_STABLE [1061e41ff] 2021-11-24 13:04:07 +0900
+Branch: REL_10_STABLE [82881a9b9] 2021-11-24 13:04:12 +0900
+-->
+ <para>
+ Add support for building with Visual Studio 2022 (Hans Buschmann)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Andrew Dunstan <andrew@dunslane.net>
+Branch: master [c3879a7b4] 2022-01-07 16:07:45 -0500
+Branch: REL_14_STABLE [a7772e874] 2022-01-07 16:14:04 -0500
+Branch: REL_13_STABLE [f3ded9c46] 2022-01-07 16:14:16 -0500
+Branch: REL_12_STABLE [a4cde9153] 2022-01-07 16:14:23 -0500
+Branch: REL_11_STABLE [c7fa0f55d] 2022-01-07 16:14:32 -0500
+Branch: REL_10_STABLE [d897361c7] 2022-01-07 16:14:40 -0500
+Branch: master [f80900be0] 2022-01-20 10:13:18 -0500
+Branch: REL_14_STABLE [156a846d9] 2022-01-20 10:20:40 -0500
+Branch: REL_13_STABLE [31680730e] 2022-01-20 10:20:51 -0500
+Branch: REL_12_STABLE [22d8c2570] 2022-01-20 10:21:02 -0500
+Branch: REL_11_STABLE [0a79feeca] 2022-01-20 10:21:12 -0500
+Branch: REL_10_STABLE [a5bd14d93] 2022-01-20 10:21:28 -0500
+-->
+ <para>
+ Allow the <filename>.bat</filename> wrapper scripts in our MSVC
+ build system to be called without first changing into their
+ directory (Anton Voloshin, Andrew Dunstan)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-14-1">
<title>Release 14.1</title>