diff --git a/doc/src/sgml/release-13.sgml b/doc/src/sgml/release-13.sgml
index 86f8be0cdba..1896ff22d3d 100644
--- a/doc/src/sgml/release-13.sgml
+++ b/doc/src/sgml/release-13.sgml
@@ -1,6 +1,905 @@
+
+ Release 13.14
+
+
+ Release date:
+ 2024-02-08
+
+
+
+ This release contains a variety of fixes from 13.13.
+ For information about new features in major release 13, see
+ .
+
+
+
+ Migration to Version 13.14
+
+
+ A dump/restore is not required for those running 13.X.
+
+
+
+ However, one bug was fixed that could have resulted in corruption of
+ GIN indexes during concurrent updates. If you suspect such
+ corruption, reindex affected indexes after installing this update.
+
+
+
+ Also, if you are upgrading from a version earlier than 13.13,
+ see .
+
+
+
+
+ Changes
+
+
+
+
+
+
+ Fix memory leak when performing JIT inlining (Andres Freund,
+ Daniel Gustafsson)
+
+
+
+ There have been multiple reports of backend processes suffering
+ out-of-memory conditions after sufficiently many JIT compilations.
+ This fix should resolve that.
+
+
+
+
+
+
+ When dequeueing from an LWLock, avoid needing to search the list of
+ waiting processes (Andres Freund)
+
+
+
+ This fixes O(N^2) behavior when the list of waiters is long. In
+ some use-cases this results in substantial throughput improvements.
+
+
+
+
+
+
+ Avoid generating incorrect partitioned-join plans (Richard Guo)
+
+
+
+ Some uncommon situations involving lateral references could create
+ incorrect plans. Affected queries could produce wrong answers, or
+ odd failures such as variable not found in subplan target
+ list, or executor crashes.
+
+
+
+
+
+
+ Fix incorrect wrapping of subquery output expressions in
+ PlaceHolderVars (Tom Lane)
+
+
+
+ This fixes incorrect results when a subquery is underneath an outer
+ join and has an output column that laterally references something
+ outside the outer join's scope. The output column might not appear
+ as NULL when it should do so due to the action of the outer join.
+
+
+
+
+
+
+ Avoid requesting an oversize shared-memory area in parallel hash
+ join (Thomas Munro, Andrei Lepikhov, Alexander Korotkov)
+
+
+
+ The limiting value was too large, allowing invalid DSA memory
+ alloc request size errors to occur with sufficiently large
+ expected hash table sizes.
+
+
+
+
+
+
+ Avoid assertion failures in heap_update()
+ and heap_delete() when a tuple to be updated by
+ a foreign-key enforcement trigger fails the extra visibility
+ crosscheck (Alexander Lakhin)
+
+
+
+ This error had no impact in non-assert builds.
+
+
+
+
+
+
+ Fix possible failure during ALTER TABLE ADD
+ COLUMN on a complex inheritance tree (Tender Wang)
+
+
+
+ If a grandchild table would inherit the new column via multiple
+ intermediate parents, the command failed with tuple already
+ updated by self.
+
+
+
+
+
+
+ Fix problems with duplicate token names in ALTER TEXT
+ SEARCH CONFIGURATION ... MAPPING commands (Tender Wang,
+ Michael Paquier)
+
+
+
+
+
+
+ Properly lock the associated table during DROP
+ STATISTICS (Tomas Vondra)
+
+
+
+ Failure to acquire the lock could result in tuple
+ concurrently deleted errors if the DROP
+ executes concurrently with ANALYZE.
+
+
+
+
+
+
+ Fix function volatility checking for GENERATED
+ and DEFAULT expressions (Tom Lane)
+
+
+
+ These places could fail to detect insertion of a volatile function
+ default-argument expression, or decide that a polymorphic function
+ is volatile although it is actually immutable on the datatype of
+ interest. This could lead to improperly rejecting or accepting
+ a GENERATED clause, or to mistakenly applying the
+ constant-default-value optimization in ALTER TABLE ADD
+ COLUMN.
+
+
+
+
+
+
+ Detect that a new catalog cache entry became stale while detoasting
+ its fields (Tom Lane)
+
+
+
+ We expand any out-of-line fields in a catalog tuple before inserting
+ it into the catalog caches. That involves database access which
+ might cause invalidation of catalog cache entries — but the
+ new entry isn't in the cache yet, so we would miss noticing that it
+ should get invalidated. The result is a race condition in which an
+ already-stale cache entry could get made, and then persist
+ indefinitely. This would lead to hard-to-predict misbehavior.
+ Fix by rechecking the tuple's visibility after detoasting.
+
+
+
+
+
+
+ Fix edge-case integer overflow detection bug on some platforms (Dean
+ Rasheed)
+
+
+
+ Computing 0 - INT64_MIN should result in an
+ overflow error, and did on most platforms. However, platforms with
+ neither integer overflow builtins nor 128-bit integers would fail to
+ spot the overflow, instead returning INT64_MIN.
+
+
+
+
+
+
+ Detect Julian-date overflow when adding or subtracting
+ an interval to/from a timestamp (Tom Lane)
+
+
+
+ Some cases that should cause an out-of-range error produced an
+ incorrect result instead.
+
+
+
+
+
+
+ Add more checks for overflow in interval_mul()
+ and interval_div() (Dean Rasheed)
+
+
+
+ Some cases that should cause an out-of-range error produced an
+ incorrect result instead.
+
+
+
+
+
+
+ Make the pg_file_settings view check
+ validity of unapplied values for settings
+ with backend
+ or superuser-backend context (Tom Lane)
+
+
+
+ Invalid values were not noted in the view as intended. This escaped
+ detection because there are very few settings in these groups.
+
+
+
+
+
+
+ Match collation too when matching an existing index to a new
+ partitioned index (Peter Eisentraut)
+
+
+
+ Previously we could accept an index that has a different collation
+ from the corresponding element of the partition key, possibly
+ leading to misbehavior.
+
+
+
+
+
+
+ Fix insufficient locking when cleaning up an incomplete split of
+ a GIN index's internal page (Fei Changhong, Heikki Linnakangas)
+
+
+
+ The code tried to do this with shared rather than exclusive lock on
+ the buffer. This could lead to index corruption if two processes
+ attempted the cleanup concurrently.
+
+
+
+
+
+
+ Avoid premature release of buffer pin in GIN index insertion
+ (Tom Lane)
+
+
+
+ If an index root page split occurs concurrently with our own
+ insertion, the code could fail with buffer NNNN is not owned
+ by resource owner.
+
+
+
+
+
+
+ Avoid failure with partitioned SP-GiST indexes (Tom Lane)
+
+
+
+ Trying to use an index of this kind could lead to No such
+ file or directory errors.
+
+
+
+
+
+
+ Fix ownership change reporting for large objects (Tom Lane)
+
+
+
+ A no-op ALTER LARGE OBJECT OWNER command (that
+ is, one selecting the existing owner) passed the wrong class ID to
+ the PostAlterHook, probably confusing any
+ extension using that hook.
+
+
+
+
+
+
+ Prevent standby servers from incorrectly processing dead index
+ tuples during subtransactions (Fei Changhong)
+
+
+
+ The startedInRecovery flag was not
+ correctly set for a subtransaction. This affects only processing of
+ dead index tuples. It could allow a query in a subtransaction to
+ ignore index entries that it should return (if they are already dead
+ on the primary server, but not dead to the standby transaction), or
+ to prematurely mark index entries as dead that are not yet dead on
+ the primary. It is not clear that the latter case has any serious
+ consequences, but it's not the intended behavior.
+
+
+
+
+
+
+ Fix deadlock between a logical replication apply worker, its
+ tablesync worker, and a session process trying to alter the
+ subscription (Shlok Kyal)
+
+
+
+ One edge of the deadlock loop did not involve a lock wait, so the
+ deadlock went undetected and would persist until manual
+ intervention.
+
+
+
+
+
+
+ Return the correct status code when a new client disconnects without
+ responding to the server's password challenge (Liu Lang, Tom Lane)
+
+
+
+ In some cases we'd treat this as a loggable error, which was not the
+ intention and tends to create log spam, since common clients
+ like psql frequently do this. It may
+ also confuse extensions that
+ use ClientAuthentication_hook.
+
+
+
+
+
+
+ Fix incompatibility with OpenSSL 3.2
+ (Tristan Partin, Bo Andreson)
+
+
+
+ Use the BIO app_data field for our private storage,
+ instead of assuming it's okay to use the data field.
+ This mistake didn't cause problems before, but with 3.2 it leads
+ to crashes and complaints about double frees.
+
+
+
+
+
+
+ Be more wary about OpenSSL not
+ setting errno on error (Tom Lane)
+
+
+
+ If errno isn't set, assume the cause of the
+ reported failure is read EOF. This fixes rare cases of strange
+ error reports like could not accept SSL connection:
+ Success.
+
+
+
+
+
+
+ Report ENOMEM errors from file-related system
+ calls as ERRCODE_OUT_OF_MEMORY,
+ not ERRCODE_INTERNAL_ERROR (Alexander Kuzmenkov)
+
+
+
+
+
+
+ Avoid race condition when libpq
+ initializes OpenSSL support concurrently in two different threads
+ (Willi Mann, Michael Paquier)
+
+
+
+
+
+
+ Fix timing-dependent failure in GSSAPI data transmission (Tom Lane)
+
+
+
+ When using GSSAPI encryption in non-blocking
+ mode, libpq sometimes failed
+ with GSSAPI caller failed to retransmit all data needing to
+ be retried.
+
+
+
+
+
+
+ In pg_dump, don't dump RLS policies or
+ security labels for extension member objects (Tom Lane, Jacob
+ Champion)
+
+
+
+ Previously, commands would be included in the dump to set these
+ properties, which is really incorrect since they should be
+ considered as internal affairs of the extension. Moreover, the
+ restoring user might not have adequate privilege to set them, and
+ indeed the dumping user might not have enough privilege to dump them
+ (since dumping RLS policies requires acquiring lock on their table).
+
+
+
+
+
+
+ In pg_dump, don't dump an extended
+ statistics object if its underlying table isn't being dumped
+ (Rian McGuire, Tom Lane)
+
+
+
+ This conforms to the behavior for other dependent objects such as
+ indexes.
+
+
+
+
+
+
+ Fix crash in contrib/intarray if an array with
+ an element equal to INT_MAX is inserted into
+ a gist__int_ops index
+ (Alexander Lakhin, Tom Lane)
+
+
+
+
+
+
+ Report a better error
+ when contrib/pageinspect's
+ hash_bitmap_info() function is applied to a
+ partitioned hash index (Alexander Lakhin, Michael Paquier)
+
+
+
+
+
+
+ Report a better error
+ when contrib/pgstattuple's
+ pgstathashindex() function is applied to a
+ partitioned hash index (Alexander Lakhin)
+
+
+
+
+
+
+ On Windows, suppress autorun options when launching subprocesses
+ in pg_ctl
+ and pg_regress (Kyotaro Horiguchi)
+
+
+
+ When launching a child process via cmd.exe,
+ pass the flag to prevent executing any autorun
+ commands specified in the registry. This avoids possibly-surprising
+ side effects.
+
+
+
+
+
+
+ Fix compilation failures with libxml2
+ version 2.12.0 and later (Tom Lane)
+
+
+
+
+
+
+ Fix compilation failure of WAL_DEBUG code on
+ Windows (Bharath Rupireddy)
+
+
+
+
+
+
+ Suppress compiler warnings from Python's header files
+ (Peter Eisentraut, Tom Lane)
+
+
+
+ Our preferred compiler options provoke warnings about constructs
+ appearing in recent versions of Python's header files. When using
+ gcc, we can suppress these warnings with
+ a pragma.
+
+
+
+
+
+
+ Avoid deprecation warning when compiling with LLVM 18 (Thomas Munro)
+
+
+
+
+
+
+ Update time zone data files to tzdata
+ release 2024a for DST law changes in Greenland, Kazakhstan, and
+ Palestine, plus corrections for the Antarctic stations Casey and
+ Vostok. Also historical corrections for Vietnam, Toronto, and
+ Miquelon.
+
+
+
+
+
+
+
+
Release 13.13