mirror of
https://github.com/postgres/postgres.git
synced 2026-04-06 09:45:29 -04:00
First-draft release notes for 18.3.
As usual, the release notes for other branches will be made by cutting these down, but put them up for community review first.
This commit is contained in:
parent
041e02e6a6
commit
c5edc6c8ff
1 changed files with 256 additions and 0 deletions
|
|
@ -1,6 +1,262 @@
|
|||
<!-- doc/src/sgml/release-18.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-18-3">
|
||||
<title>Release 18.3</title>
|
||||
|
||||
<formalpara>
|
||||
<title>Release date:</title>
|
||||
<para>2026-02-26</para>
|
||||
</formalpara>
|
||||
|
||||
<para>
|
||||
This release contains a small number of fixes from 18.2.
|
||||
For information about new features in major release 18, see
|
||||
<xref linkend="release-18"/>.
|
||||
</para>
|
||||
|
||||
<sect2 id="release-18-3-migration">
|
||||
<title>Migration to Version 18.3</title>
|
||||
|
||||
<para>
|
||||
A dump/restore is not required for those running 18.X.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
However, if you are upgrading from a version earlier than 18.2,
|
||||
see <xref linkend="release-18-2"/>.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="release-18-3-changes">
|
||||
<title>Changes</title>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<!--
|
||||
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
||||
Branch: REL_18_STABLE [817f74600] 2026-02-16 17:16:59 +0200
|
||||
Branch: REL_17_STABLE [4a36c89f1] 2026-02-16 17:18:17 +0200
|
||||
Branch: REL_16_STABLE [23064542f] 2026-02-16 17:20:29 +0200
|
||||
Branch: REL_15_STABLE [899de38d8] 2026-02-16 17:20:51 +0200
|
||||
Branch: REL_14_STABLE [547a8aaa7] 2026-02-16 17:20:56 +0200
|
||||
-->
|
||||
<para>
|
||||
Fix failure after replaying a multixid truncation record from WAL
|
||||
that was generated by an older minor version (Heikki Linnakangas)
|
||||
<ulink url="&commit_baseurl;817f74600">§</ulink>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Erroneous logic for coping with the way that previous versions
|
||||
handled multixid wraparound led to replay failure, with messages
|
||||
like <quote>could not access status of transaction</quote>.
|
||||
A typical scenario in which this could occur is a standby server of
|
||||
the latest minor version consuming WAL from a primary server of an
|
||||
older version.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<!--
|
||||
Author: Noah Misch <noah@leadboat.com>
|
||||
Branch: master [9f4fd119b] 2026-02-14 12:16:16 -0800
|
||||
Branch: REL_18_STABLE [6e045e1a6] 2026-02-14 12:16:19 -0800
|
||||
Branch: REL_17_STABLE [5d5232bc3] 2026-02-14 12:16:20 -0800
|
||||
Branch: REL_16_STABLE [bdfb37228] 2026-02-14 12:16:20 -0800
|
||||
Branch: REL_15_STABLE [a20eb248c] 2026-02-14 12:16:21 -0800
|
||||
Branch: REL_14_STABLE [14b1fd617] 2026-02-14 12:16:21 -0800
|
||||
Branch: master [8cef93d8a] 2026-02-16 18:04:58 -0800
|
||||
Branch: REL_18_STABLE [d04b34d68] 2026-02-16 18:05:01 -0800
|
||||
Branch: REL_17_STABLE [50d361f62] 2026-02-16 18:05:02 -0800
|
||||
Branch: REL_16_STABLE [2280ab354] 2026-02-16 18:05:02 -0800
|
||||
Branch: REL_15_STABLE [ec86152e0] 2026-02-16 18:05:02 -0800
|
||||
Branch: REL_14_STABLE [a0769e74d] 2026-02-16 18:05:03 -0800
|
||||
Branch: master [4644f8b23] 2026-02-14 12:16:16 -0800
|
||||
Branch: REL_18_STABLE [4174e41b9] 2026-02-14 12:16:19 -0800
|
||||
Branch: REL_17_STABLE [8e73530f1] 2026-02-14 12:16:20 -0800
|
||||
Branch: REL_16_STABLE [45eb47230] 2026-02-14 12:16:20 -0800
|
||||
Branch: REL_15_STABLE [5b305ebcc] 2026-02-14 12:16:20 -0800
|
||||
Branch: REL_14_STABLE [44fc85bbf] 2026-02-14 12:16:21 -0800
|
||||
-->
|
||||
<para>
|
||||
Avoid incorrect complaint of invalid encoding
|
||||
when <function>substring()</function> is applied
|
||||
to <quote>toasted</quote> data (Noah Misch)
|
||||
<ulink url="&commit_baseurl;6e045e1a6">§</ulink>
|
||||
<ulink url="&commit_baseurl;d04b34d68">§</ulink>
|
||||
<ulink url="&commit_baseurl;4174e41b9">§</ulink>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The fix for CVE-2026-2006 was too aggressive and could raise an
|
||||
error about an incomplete character in cases that are actually
|
||||
valid.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<!--
|
||||
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
||||
Branch: master [18bcdb75d] 2026-02-20 11:56:42 +0200
|
||||
Branch: REL_18_STABLE [041e02e6a] 2026-02-20 11:56:50 +0200
|
||||
-->
|
||||
<para>
|
||||
Fix oversight in the fix for CVE-2026-2007 (Zsolt Parragi)
|
||||
<ulink url="&commit_baseurl;041e02e6a">§</ulink>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If the <quote>bounds</quote> array needed to be expanded, because
|
||||
the input contained more trigrams than the initial guess,
|
||||
<function>generate_trgm_only</function> didn't return the modified
|
||||
array pointer to its caller. That would lead to incorrect output
|
||||
from <function>strict_word_similarity()</function> and related
|
||||
functions, or in rare cases a crash. The faulty code is reached if
|
||||
the input string becomes longer when it's converted to lower case.
|
||||
The only known instances of that occur when an ICU locale is used
|
||||
with certain single-byte encodings.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<!--
|
||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||
Branch: master [759b03b24] 2026-02-18 14:14:44 -0500
|
||||
Author: Andrew Dunstan <andrew@dunslane.net>
|
||||
Branch: REL_18_STABLE [2f6ee7b38] 2026-02-18 10:31:03 -0500
|
||||
-->
|
||||
<para>
|
||||
Fix the volatility marking
|
||||
of <function>json_strip_nulls()</function>
|
||||
and <function>jsonb_strip_nulls()</function> (Andrew Dunstan)
|
||||
<ulink url="&commit_baseurl;2f6ee7b38">§</ulink>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
These functions have always been considered immutable, but
|
||||
refactoring in version 18 accidentally marked them stable instead.
|
||||
That prevents their use in index expressions and could cause
|
||||
unnecessary repeat evaluations in queries. This fix corrects the
|
||||
marking in newly-initialized database clusters (including clusters
|
||||
that are <application>pg_upgrade</application>'d to 18.3 or later).
|
||||
However it will not help existing clusters made using 18.0 through
|
||||
18.2.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If this mistake affects your usage of these functions, the
|
||||
recommended fix for an existing cluster is a manual catalog update.
|
||||
As superuser, perform
|
||||
<programlisting>
|
||||
UPDATE pg_catalog.pg_proc SET provolatile = 'i' WHERE oid IN ('3261','3262');
|
||||
</programlisting>
|
||||
in each affected database. Update <literal>template0</literal>
|
||||
and <literal>template1</literal> as well, so that databases made in
|
||||
future will have the fix.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<!--
|
||||
Author: Richard Guo <rguo@postgresql.org>
|
||||
Branch: master [691977d37] 2026-02-20 17:57:53 +0900
|
||||
Branch: REL_18_STABLE [ed57c207c] 2026-02-20 18:00:02 +0900
|
||||
Branch: REL_17_STABLE [bcaf1b510] 2026-02-20 18:01:56 +0900
|
||||
Branch: REL_16_STABLE [ec20a4552] 2026-02-20 18:04:26 +0900
|
||||
-->
|
||||
<para>
|
||||
Fix computation of the set of potentially-nulling outer joins for
|
||||
the output of a <literal>LATERAL UNION ALL</literal> subquery
|
||||
(Richard Guo)
|
||||
<ulink url="&commit_baseurl;ed57c207c">§</ulink>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This error could lead to skipping <literal>NOT NULL</literal> tests
|
||||
in the mistaken belief that they were unnecessary, resulting in
|
||||
wrong query output.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<!--
|
||||
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
||||
Branch: master [78a5e3074] 2026-02-11 18:50:57 +0200
|
||||
Branch: REL_18_STABLE [53463b4b2] 2026-02-11 18:51:06 +0200
|
||||
Branch: REL_17_STABLE [842473337] 2026-02-11 18:51:12 +0200
|
||||
Branch: REL_16_STABLE [2332911ae] 2026-02-11 18:51:19 +0200
|
||||
Branch: REL_15_STABLE [ebc53ca7b] 2026-02-11 18:51:25 +0200
|
||||
Branch: REL_14_STABLE [82b495cdd] 2026-02-11 18:51:32 +0200
|
||||
-->
|
||||
<para>
|
||||
Fix <function>pg_stat_get_backend_wait_event()</function>
|
||||
and <function>pg_stat_get_backend_wait_event_type()</function>
|
||||
to report values for auxiliary processes (Heikki Linnakangas)
|
||||
<ulink url="&commit_baseurl;53463b4b2">§</ulink>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Previously these functions returned NULL for auxiliary processes,
|
||||
but that's inconsistent with
|
||||
the <structname>pg_stat_activity</structname> view.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<!--
|
||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||
Branch: master [9863c9075] 2026-02-11 16:53:14 -0500
|
||||
Branch: REL_18_STABLE [ce4b7e3a1] 2026-02-11 16:53:14 -0500
|
||||
Branch: REL_17_STABLE [dfd850980] 2026-02-11 16:53:14 -0500
|
||||
Branch: REL_16_STABLE [c66f4cff1] 2026-02-11 16:53:14 -0500
|
||||
Branch: REL_15_STABLE [254b15cbf] 2026-02-11 16:53:14 -0500
|
||||
Branch: REL_14_STABLE [2b93d3820] 2026-02-11 16:53:14 -0500
|
||||
-->
|
||||
<para>
|
||||
Fix casting a composite-type variable to a domain type when
|
||||
returning its value from a PL/pgSQL function (Tom Lane)
|
||||
<ulink url="&commit_baseurl;ce4b7e3a1">§</ulink>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If the variable's value is NULL, a <quote>cache lookup failed for
|
||||
type 0</quote> error resulted.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<!--
|
||||
Author: Michael Paquier <michael@paquier.xyz>
|
||||
Branch: master [a6f823e77] 2026-02-17 08:41:26 +0900
|
||||
Branch: REL_18_STABLE [4a0843c53] 2026-02-17 08:41:30 +0900
|
||||
Branch: REL_17_STABLE [0dfbe42da] 2026-02-17 08:41:32 +0900
|
||||
Branch: REL_16_STABLE [31d0b917d] 2026-02-17 08:41:34 +0900
|
||||
Branch: REL_15_STABLE [63c05e03b] 2026-02-17 08:41:35 +0900
|
||||
Branch: REL_14_STABLE [f604cc695] 2026-02-17 08:41:37 +0900
|
||||
-->
|
||||
<para>
|
||||
Fix potential null pointer dereference
|
||||
in <filename>contrib/hstore</filename>'s binary input function
|
||||
(Michael Paquier)
|
||||
<ulink url="&commit_baseurl;4a0843c53">§</ulink>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<type>hstore</type>'s receive function crashed on input containing
|
||||
duplicate keys. <type>hstore</type> values generated by Postgres
|
||||
would never contain duplicate keys, so this mistake has gone
|
||||
unnoticed. The crash could be provoked by malicious or corrupted
|
||||
data.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-18-2">
|
||||
<title>Release 18.2</title>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue