summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/html/release-13-4.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/html/release-13-4.html')
-rw-r--r--doc/src/sgml/html/release-13-4.html475
1 files changed, 475 insertions, 0 deletions
diff --git a/doc/src/sgml/html/release-13-4.html b/doc/src/sgml/html/release-13-4.html
new file mode 100644
index 0000000..a572e79
--- /dev/null
+++ b/doc/src/sgml/html/release-13-4.html
@@ -0,0 +1,475 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>E.1. Release 13.4</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="prev" href="release.html" title="Appendix E. Release Notes" /><link rel="next" href="release-13-3.html" title="E.2. Release 13.3" /></head><body id="docContent" class="container-fluid col-10"><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">E.1. Release 13.4</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="release.html" title="Appendix E. Release Notes">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="release.html" title="Appendix E. Release Notes">Up</a></td><th width="60%" align="center">Appendix E. Release Notes</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 13.4 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="release-13-3.html" title="E.2. Release 13.3">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="RELEASE-13-4"><div class="titlepage"><div><div><h2 class="title" style="clear: both">E.1. Release 13.4</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="release-13-4.html#id-1.11.6.5.4">E.1.1. Migration to Version 13.4</a></span></dt><dt><span class="sect2"><a href="release-13-4.html#id-1.11.6.5.5">E.1.2. Changes</a></span></dt></dl></div><p><strong>Release date: </strong>2021-08-12</p><p>
+ This release contains a variety of fixes from 13.3.
+ For information about new features in major release 13, see
+ <a class="xref" href="release-13.html" title="E.5. Release 13">Section E.5</a>.
+ </p><div class="sect2" id="id-1.11.6.5.4"><div class="titlepage"><div><div><h3 class="title">E.1.1. Migration to Version 13.4</h3></div></div></div><p>
+ A dump/restore is not required for those running 13.X.
+ </p><p>
+ However, if you are upgrading from a version earlier than 13.2,
+ see <a class="xref" href="release-13-2.html" title="E.3. Release 13.2">Section E.3</a>.
+ </p></div><div class="sect2" id="id-1.11.6.5.5"><div class="titlepage"><div><div><h3 class="title">E.1.2. Changes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
+ Fix mis-planning of repeated application of a projection step
+ (Tom Lane)
+ </p><p>
+ The planner could create an incorrect plan in cases where two
+ ProjectionPaths were stacked on top of each other. The only known
+ way to trigger that situation involves parallel sort operations, but
+ there may be other instances. The result would be crashes or
+ incorrect query results.
+ Disclosure of server memory contents is also possible.
+ (CVE-2021-3677)
+ </p></li><li class="listitem"><p>
+ Disallow SSL renegotiation more completely (Michael Paquier)
+ </p><p>
+ SSL renegotiation has been disabled for some time, but the server
+ would still cooperate with a client-initiated renegotiation request.
+ A maliciously crafted renegotiation request could result in a server
+ crash (see OpenSSL issue CVE-2021-3449). Disable the feature
+ altogether on OpenSSL versions that permit doing so, which are
+ 1.1.0h and newer.
+ </p></li><li class="listitem"><p>
+ Restore the Portal-level snapshot after <code class="command">COMMIT</code>
+ or <code class="command">ROLLBACK</code> within a procedure (Tom Lane)
+ </p><p>
+ This change fixes cases where an attempt to fetch a toasted value
+ immediately after <code class="command">COMMIT</code>/<code class="command">ROLLBACK</code>
+ would fail with errors like <span class="quote">“<span class="quote">no known snapshots</span>”</span> or
+ <span class="quote">“<span class="quote">missing chunk number 0 for toast value</span>”</span>.
+ </p><p>
+ Some extensions may attempt to execute SQL code outside of any
+ Portal. They are responsible for ensuring that an outer snapshot
+ exists before doing so. Previously, not providing a snapshot might
+ work or it might not; now it will consistently fail
+ with <span class="quote">“<span class="quote">cannot execute SQL without an outer snapshot or
+ portal</span>”</span>.
+ </p></li><li class="listitem"><p>
+ Avoid misbehavior when persisting the output of a cursor that's
+ reading a non-stable query (Tom Lane)
+ </p><p>
+ Previously, we'd always rewind and re-read the whole query result,
+ possibly getting results different from the earlier execution,
+ causing great confusion later. For a NO SCROLL cursor, we can fix
+ this by only storing the not-yet-read portion of the query output,
+ which is sufficient since a NO SCROLL cursor can't be backed up.
+ Cursors with the SCROLL option remain at hazard, but that was
+ already documented to be an unsafe option to use with a non-stable
+ query. Make those documentation warnings stronger.
+ </p><p>
+ Also force NO SCROLL mode for the implicit cursor used by
+ a <span class="application">PL/pgSQL</span> FOR-over-query loop,
+ to avoid this type of problem when persisting such a cursor
+ during an intra-procedure commit.
+ </p></li><li class="listitem"><p>
+ Reject <code class="literal">SELECT ... GROUP BY GROUPING SETS (()) FOR
+ UPDATE</code> (Tom Lane)
+ </p><p>
+ This should be disallowed, just as <code class="literal">FOR UPDATE</code>
+ with a plain <code class="literal">GROUP BY</code> is disallowed, but the test
+ for that failed to handle empty grouping sets correctly.
+ The end result would be a null-pointer dereference in the executor.
+ </p></li><li class="listitem"><p>
+ Reject cases where a query in <code class="literal">WITH</code>
+ rewrites to just <code class="command">NOTIFY</code> (Tom Lane)
+ </p><p>
+ Such cases previously crashed.
+ </p></li><li class="listitem"><p>
+ In <code class="type">numeric</code> multiplication, round the result rather than
+ failing if it would have more than 16383 digits after the decimal
+ point (Dean Rasheed)
+ </p></li><li class="listitem"><p>
+ Fix corner-case errors and loss of precision when
+ raising <code class="type">numeric</code> values to very large powers
+ (Dean Rasheed)
+ </p></li><li class="listitem"><p>
+ Fix division-by-zero failure in <code class="function">to_char()</code>
+ with <code class="literal">EEEE</code> format and a <code class="type">numeric</code> input
+ value less than 10^(-1001) (Dean Rasheed)
+ </p></li><li class="listitem"><p>
+ Fix <code class="function">pg_size_pretty(bigint)</code> to round negative
+ values consistently with the way it rounds positive ones (and
+ consistently with the <code class="type">numeric</code> version) (Dean Rasheed,
+ David Rowley)
+ </p></li><li class="listitem"><p>
+ Make <code class="literal">pg_filenode_relation(0, 0)</code> return NULL
+ rather than failing (Justin Pryzby)
+ </p></li><li class="listitem"><p>
+ Make <code class="command">ALTER EXTENSION</code> lock the extension when
+ adding or removing a member object (Tom Lane)
+ </p><p>
+ The previous coding allowed <code class="command">ALTER EXTENSION
+ ADD/DROP</code> to occur concurrently with <code class="command">DROP
+ EXTENSION</code>, leading to a crash or corrupt catalog entries.
+ </p></li><li class="listitem"><p>
+ Fix <code class="command">ALTER SUBSCRIPTION</code> to reject an empty slot
+ name (Japin Li)
+ </p></li><li class="listitem"><p>
+ When cloning a partitioned table's triggers to a new partition,
+ ensure that their enabled status is copied
+ (Álvaro Herrera)
+ </p></li><li class="listitem"><p>
+ Avoid alias conflicts in queries generated
+ for <code class="command">REFRESH MATERIALIZED VIEW CONCURRENTLY</code>
+ (Tom Lane, Bharath Rupireddy)
+ </p><p>
+ This command failed on materialized views containing columns with
+ certain names, notably <code class="structfield">mv</code>
+ and <code class="structfield">newdata</code>.
+ </p></li><li class="listitem"><p>
+ Fix <code class="command">PREPARE TRANSACTION</code> to check correctly
+ for conflicting session-lifespan and transaction-lifespan locks
+ (Tom Lane)
+ </p><p>
+ A transaction cannot be prepared if it has both session-lifespan and
+ transaction-lifespan locks on the same advisory-lock ID value. This
+ restriction was not fully checked, which could lead to a PANIC
+ during <code class="command">PREPARE TRANSACTION</code>.
+ </p></li><li class="listitem"><p>
+ Fix misbehavior of <code class="command">DROP OWNED BY</code> when the target
+ role is listed more than once in an RLS policy (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Skip unnecessary error tests when removing a role from an RLS policy
+ during <code class="command">DROP OWNED BY</code> (Tom Lane)
+ </p><p>
+ Notably, this fixes some cases where it was necessary to be a
+ superuser to use <code class="command">DROP OWNED BY</code>.
+ </p></li><li class="listitem"><p>
+ Re-allow old-style Windows locale names in <code class="command">CREATE
+ COLLATION</code> commands (Thomas Munro)
+ </p><p>
+ Previously we were failing because the operating system can't
+ provide version information for such locales. At some point
+ we may decide to require version information, but no such policy
+ exists yet, so re-allow the case for now.
+ </p></li><li class="listitem"><p>
+ Disallow whole-row variables in <code class="literal">GENERATED</code>
+ expressions (Tom Lane)
+ </p><p>
+ Use of a whole-row variable clearly violates the rule that a
+ generated column cannot depend on itself, so such cases have no
+ well-defined behavior. The actual behavior frequently included a
+ crash.
+ </p></li><li class="listitem"><p>
+ Fix usage of <code class="structfield">tableoid</code>
+ in <code class="literal">GENERATED</code> expressions (Tom Lane)
+ </p><p>
+ Some code paths failed to provide a valid value for this system
+ column while evaluating a <code class="literal">GENERATED</code> expression.
+ </p></li><li class="listitem"><p>
+ Don't store a <span class="quote">“<span class="quote">fast default</span>”</span> when adding a column to a
+ foreign table (Andrew Dunstan)
+ </p><p>
+ The fast default is useless since no local heap storage exists for
+ such a table, but it confused subsequent operations. In addition to
+ suppressing creation of such catalog entries in <code class="command">ALTER
+ TABLE</code> commands, adjust the downstream code to cope
+ when one is incorrectly present.
+ </p></li><li class="listitem"><p>
+ Allow index state flags to be updated transactionally
+ (Michael Paquier, Andrey Lepikhov)
+ </p><p>
+ This avoids failures when dealing with index predicates that aren't
+ really immutable. While that's not considered a supported case, the
+ original reason for using a non-transactional update here is long
+ gone, so we may as well change it.
+ </p></li><li class="listitem"><p>
+ Avoid corrupting the plan cache entry when <code class="command">CREATE
+ DOMAIN</code> or <code class="command">ALTER DOMAIN</code> appears
+ in a cached plan (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Make walsenders show their latest replication commands
+ in <code class="structname">pg_stat_activity</code> (Tom Lane)
+ </p><p>
+ Previously, a walsender would show its latest SQL command, which was
+ confusing if it's now doing some replication operation instead.
+ Now we show replication-protocol commands on the same footing as SQL
+ commands.
+ </p></li><li class="listitem"><p>
+ Make
+ <code class="structname">pg_settings</code>.<code class="structfield">pending_restart</code>
+ show as true when the pertinent entry
+ in <code class="filename">postgresql.conf</code> has been removed
+ (Álvaro Herrera)
+ </p><p>
+ <code class="structfield">pending_restart</code> correctly showed the case
+ where an entry that cannot be changed without a postmaster restart
+ has been modified, but not where the entry had been removed
+ altogether.
+ </p></li><li class="listitem"><p>
+ On 64-bit Windows, allow the effective value
+ of <code class="varname">work_mem</code>
+ times <code class="varname">hash_mem_multiplier</code> to exceed 2GB
+ (Tom Lane)
+ </p><p>
+ This allows <code class="varname">hash_mem_multiplier</code> to be used for
+ its intended purpose of preventing large hash aggregations from
+ spilling to disk, even when <span class="quote">“<span class="quote">large</span>”</span> means multiple
+ gigabytes.
+ </p></li><li class="listitem"><p>
+ Fix mis-planning of queries involving regular tables that are
+ inheritance children of foreign tables (Amit Langote)
+ </p><p>
+ <code class="command">SELECT FOR UPDATE</code> and related commands would fail
+ with assertion failures or <span class="quote">“<span class="quote">could not find junk column</span>”</span>
+ errors in such cases.
+ </p></li><li class="listitem"><p>
+ Fix pullup of constant function-in-FROM results when the FROM item
+ is marked <code class="literal">LATERAL</code> (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Fix corner-case failure of a new standby to follow a new primary
+ (Dilip Kumar, Robert Haas)
+ </p><p>
+ Under a narrow combination of conditions, the standby could wind up
+ trying to follow the wrong WAL timeline.
+ </p></li><li class="listitem"><p>
+ Update minimum recovery point when WAL replay of a transaction abort
+ record causes file truncation (Fujii Masao)
+ </p><p>
+ File truncation is irreversible, so it's no longer safe to stop
+ recovery at a point earlier than that record. The corresponding
+ case for transaction commit was fixed years ago, but this one was
+ overlooked.
+ </p></li><li class="listitem"><p>
+ Advance oldest-required-WAL-segment horizon properly after a
+ replication slot is invalidated (Kyotaro Horiguchi)
+ </p><p>
+ If all slots were invalidated, the horizon would not move again,
+ eventually allowing the server's WAL storage to run out of space.
+ </p></li><li class="listitem"><p>
+ In walreceivers, avoid attempting catalog lookups after an error
+ (Masahiko Sawada, Bharath Rupireddy)
+ </p></li><li class="listitem"><p>
+ Ensure that a standby server's startup process will respond to a
+ shutdown signal promptly while waiting for WAL to arrive (Fujii
+ Masao, Soumyadeep Chakraborty)
+ </p></li><li class="listitem"><p>
+ Correctly clear shared state after failing to become a member of a
+ transaction commit group (Amit Kapila)
+ </p><p>
+ Given the right timing, this could cause an assertion failure when
+ some later session re-uses the same PGPROC object.
+ </p></li><li class="listitem"><p>
+ Add locking to avoid reading incorrect relmapper data in the face of
+ a concurrent write from another process (Heikki Linnakangas)
+ </p></li><li class="listitem"><p>
+ Improve progress reporting for the sort phase of a parallel btree
+ index build (Matthias van de Meent)
+ </p></li><li class="listitem"><p>
+ Improve checks for violations of replication protocol (Tom Lane)
+ </p><p>
+ Logical replication workers frequently used Asserts to check for
+ cases that could be triggered by invalid or out-of-order replication
+ commands. This seems unwise, so promote these tests to regular
+ error checks.
+ </p></li><li class="listitem"><p>
+ Fix assorted crash cases in logical replication of partitioned-table
+ updates (Amit Langote, Tom Lane)
+ </p></li><li class="listitem"><p>
+ Fix potential crash when firing AFTER triggers of partitioned tables
+ in logical replication workers (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Fix deadlock when multiple logical replication workers try to
+ truncate the same table (Peter Smith, Haiying Tang)
+ </p></li><li class="listitem"><p>
+ Fix error cases and memory leaks in logical decoding of speculative
+ insertions (Dilip Kumar)
+ </p></li><li class="listitem"><p>
+ Fix memory leak in logical replication output (Amit Langote)
+ </p></li><li class="listitem"><p>
+ Avoid leaving an invalid record-type hash table entry behind after
+ an error (Sait Talha Nisanci)
+ </p><p>
+ This could lead to later crashes or memory leakage.
+ </p></li><li class="listitem"><p>
+ Fix plan cache reference leaks in some error cases in
+ <code class="command">CREATE TABLE ... AS EXECUTE</code> (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Fix race condition in code for sharing tuple descriptors across
+ parallel workers (Thomas Munro)
+ </p><p>
+ Given the right timing, a crash could result.
+ </p></li><li class="listitem"><p>
+ Fix race condition when invalidating an obsolete replication slot
+ concurrently with an attempt to drop or update it (Andres Freund,
+ Álvaro Herrera)
+ </p></li><li class="listitem"><p>
+ Fix possible race condition when releasing BackgroundWorkerSlots
+ (Tom Lane)
+ </p><p>
+ It's likely that this doesn't fix any observable bug on Intel
+ hardware, but machines with weaker memory ordering rules could
+ have problems.
+ </p></li><li class="listitem"><p>
+ Fix latent crash in sorting code (Ronan Dunklau)
+ </p><p>
+ One code path could attempt to free a null pointer. The case
+ appears unreachable in the core server's use of sorting, but perhaps
+ it could be triggered by extensions.
+ </p></li><li class="listitem"><p>
+ Harden B-tree posting list split code against corrupt data
+ (Peter Geoghegan)
+ </p><p>
+ Throw an error, rather than crashing, for an attempt to insert an
+ item with a TID identical to an existing entry. While that
+ shouldn't ever happen, it has been reported to happen when the index
+ is inconsistent with its table.
+ </p></li><li class="listitem"><p>
+ Prevent infinite loops in SP-GiST index insertion (Tom Lane)
+ </p><p>
+ In the event that INCLUDE columns take up enough space to prevent a
+ leaf index tuple from ever fitting on a page, the text_ops operator
+ class would get into an infinite loop vainly trying to make the
+ tuple fit.
+ While pre-v11 versions don't have INCLUDE columns, back-patch this
+ anti-looping fix to them anyway, as it seems like a good defense
+ against bugs in operator classes.
+ </p></li><li class="listitem"><p>
+ Ensure that SP-GiST index insertion can be terminated by a query
+ cancel request (Tom Lane, Álvaro Herrera)
+ </p></li><li class="listitem"><p>
+ Fix uninitialized-variable bug that could
+ cause <span class="application">PL/pgSQL</span> to act as though
+ an <code class="literal">INTO</code> clause
+ specified <code class="literal">STRICT</code>, even though it didn't
+ (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Don't abort the process for an out-of-memory failure in libpq's
+ printing functions (Tom Lane)
+ </p></li><li class="listitem"><p>
+ In <span class="application">ecpg</span>, allow the <code class="type">numeric</code>
+ value <span class="systemitem">INT_MIN</span> (usually -2147483648) to be
+ converted to integer (John Naylor)
+ </p></li><li class="listitem"><p>
+ In <span class="application">psql</span> and other client programs, avoid
+ overrunning the ends of strings when dealing with invalidly-encoded
+ data (Tom Lane)
+ </p><p>
+ An incorrectly-encoded multibyte character near the end of a string
+ could cause various processing loops to run past the string's
+ terminating NUL, with results ranging from no detectable issue to
+ a program crash, depending on what happens to be in the following
+ memory. This is reminiscent of CVE-2006-2313, although these
+ particular cases do not appear to have interesting security
+ consequences.
+ </p></li><li class="listitem"><p>
+ Fix <span class="application">pg_dump</span> to correctly handle triggers
+ on partitioned tables whose enabled status is different from their
+ parent triggers' status
+ (Justin Pryzby, Álvaro Herrera)
+ </p></li><li class="listitem"><p>
+ Avoid <span class="quote">“<span class="quote">invalid creation date in header</span>”</span> warnings
+ observed when running <span class="application">pg_restore</span> on an
+ archive file created in a different time zone (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Make <span class="application">pg_upgrade</span> carry forward the old
+ installation's <code class="literal">oldestXID</code> value (Bertrand Drouvot)
+ </p><p>
+ Previously, the new installation's <code class="literal">oldestXID</code> was
+ set to a value old enough to (usually) force immediate
+ anti-wraparound autovacuuming. That's not desirable from a
+ performance standpoint; what's worse, installations using large
+ values of <code class="varname">autovacuum_freeze_max_age</code> could suffer
+ unwanted forced shutdowns soon after an upgrade.
+ </p></li><li class="listitem"><p>
+ Extend <span class="application">pg_upgrade</span> to detect and warn
+ about extensions that should be upgraded (Bruce Momjian)
+ </p><p>
+ A script file is now produced containing the <code class="command">ALTER
+ EXTENSION UPDATE</code> commands needed to bring extensions up to
+ the versions that are considered default in the new installation.
+ </p></li><li class="listitem"><p>
+ Avoid problems when
+ switching <span class="application">pg_receivewal</span> between
+ compressed and non-compressed WAL storage (Michael Paquier)
+ </p></li><li class="listitem"><p>
+ Fix <code class="filename">contrib/postgres_fdw</code> to work usefully with
+ generated columns (Etsuro Fujita)
+ </p><p>
+ <code class="filename">postgres_fdw</code> will now behave reasonably with
+ generated columns, so long as a generated column in a foreign table
+ represents a generated column in the remote table. <code class="command">IMPORT
+ FOREIGN SCHEMA</code> will now import generated columns that way
+ by default.
+ </p></li><li class="listitem"><p>
+ In <code class="filename">contrib/postgres_fdw</code>, avoid attempting
+ catalog lookups after an error (Tom Lane)
+ </p><p>
+ While this usually worked, it's not very safe since the error might
+ have been one that made catalog access nonfunctional. A side effect
+ of the fix is that messages about data conversion errors will now
+ mention the query's table and column aliases (if used) rather than
+ the true underlying name of a foreign table or column.
+ </p></li><li class="listitem"><p>
+ Improve the isolation-test infrastructure (Tom Lane, Michael Paquier)
+ </p><p>
+ Allow isolation test steps to be annotated to show the expected
+ completion order. This allows getting stable results from
+ otherwise-racy test cases, without the long delays that we
+ previously used (not entirely successfully) to fend off race
+ conditions.
+ Allow non-quoted identifiers as isolation test session/step names
+ (formerly, all such names had to be double-quoted).
+ Detect and warn about unused steps in isolation tests.
+ Improve display of query results in isolation tests.
+ Remove isolationtester's <span class="quote">“<span class="quote">dry-run</span>”</span> mode.
+ Remove memory leaks in isolationtester itself.
+ </p></li><li class="listitem"><p>
+ Reduce overhead of cache-clobber testing (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Fix <span class="application">PL/Python</span>'s regression tests to pass
+ with Python 3.10 (Honza Horak)
+ </p></li><li class="listitem"><p>
+ Make <code class="literal">printf("%s", NULL)</code>
+ print <code class="literal">(null)</code> instead of crashing (Tom Lane)
+ </p><p>
+ This should improve server robustness in corner cases, and it syncs
+ our <code class="function">printf</code> implementation with common libraries.
+ </p></li><li class="listitem"><p>
+ Fix incorrect log message when point-in-time recovery stops at
+ a <code class="command">ROLLBACK PREPARED</code> record (Simon Riggs)
+ </p></li><li class="listitem"><p>
+ Improve <code class="command">ALTER TABLE</code>'s messages for
+ wrong-relation-kind errors (Kyotaro Horiguchi)
+ </p></li><li class="listitem"><p>
+ Clarify error messages referring to <span class="quote">“<span class="quote">non-negative</span>”</span>
+ values (Bharath Rupireddy)
+ </p></li><li class="listitem"><p>
+ Fix <span class="application">configure</span> to work with OpenLDAP 2.5,
+ which no longer has a separate <code class="filename">libldap_r</code>
+ library (Adrian Ho, Tom Lane)
+ </p><p>
+ If there is no <code class="filename">libldap_r</code> library, we now
+ silently assume that <code class="filename">libldap</code> is thread-safe.
+ </p></li><li class="listitem"><p>
+ Add new make targets <code class="literal">world-bin</code>
+ and <code class="literal">install-world-bin</code> (Andrew Dunstan)
+ </p><p>
+ These are the same as <code class="literal">world</code>
+ and <code class="literal">install-world</code> respectively, except that they
+ do not build or install the documentation.
+ </p></li><li class="listitem"><p>
+ Fix make rule for TAP tests (<code class="literal">prove_installcheck</code>)
+ to work in PGXS usage (Andrew Dunstan)
+ </p></li><li class="listitem"><p>
+ Adjust JIT code to prepare for forthcoming LLVM API change
+ (Thomas Munro, Andres Freund)
+ </p><p>
+ LLVM 13 has made an incompatible API change that will cause crashing
+ of our previous JIT compiler.
+ </p></li><li class="listitem"><p>
+ Avoid assuming that strings returned by GSSAPI libraries are
+ null-terminated (Tom Lane)
+ </p><p>
+ The GSSAPI spec provides for a string pointer and length. It seems
+ that in practice the next byte after the string is usually zero,
+ so that our previous coding didn't actually fail; but we do have
+ a report of AddressSanitizer complaints.
+ </p></li><li class="listitem"><p>
+ Enable building with GSSAPI on MSVC (Michael Paquier)
+ </p><p>
+ Fix various incompatibilities with modern Kerberos builds.
+ </p></li><li class="listitem"><p>
+ In MSVC builds, include <code class="option">--with-pgport</code> in the set of
+ configure options reported by <span class="application">pg_config</span>,
+ if it had been specified (Andrew Dunstan)
+ </p></li></ul></div></div></div><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navfooter"><hr></hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="release.html" title="Appendix E. Release Notes">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="release.html" title="Appendix E. Release Notes">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="release-13-3.html" title="E.2. Release 13.3">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix E. Release Notes </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 13.4 Documentation">Home</a></td><td width="40%" align="right" valign="top"> E.2. Release 13.3</td></tr></table></div></body></html> \ No newline at end of file