diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml
index 2ad812420f..370d68811a 100644
--- a/doc/src/sgml/release.sgml
+++ b/doc/src/sgml/release.sgml
@@ -1,4 +1,4 @@
-
+
@@ -63,6 +63,228 @@ do it for earlier branch release files.
review, so each item is truly a community effort.
+
+ Release 8.3.7
+
+
+ Release date
+ 2009-03-16
+
+
+
+ This release contains a variety of fixes from 8.3.6.
+ For information about new features in the 8.3 major release, see
+ .
+
+
+
+ Migration to Version 8.3.7
+
+
+ A dump/restore is not required for those running 8.3.X.
+ However, if you are upgrading from a version earlier than 8.3.5,
+ see the release notes for 8.3.5.
+
+
+
+
+
+ Changes
+
+
+
+
+
+ Prevent error recursion crashes when encoding conversion fails (Tom)
+
+
+
+ This change extends fixes made in the last two minor releases for
+ related failure scenarios. The previous fixes were narrowly tailored
+ for the original problem reports, but we have now recognized that
+ any> error thrown by an encoding conversion function could
+ potentially lead to infinite recursion while trying to report the
+ error. The solution therefore is to disable translation and encoding
+ conversion and report the plain-ASCII form of any error message,
+ if we find we have gotten into a recursive error reporting situation.
+
+
+
+
+
+ Disallow CREATE CONVERSION> with the wrong encodings
+ for the specified conversion function (Heikki)
+
+
+
+ This prevents one possible scenario for encoding conversion failure.
+ The previous change is a backstop to guard against other kinds of
+ failures in the same area.
+
+
+
+
+
+ Fix xpath()> to not modify the path expression unless
+ necessary, and to make a saner attempt at it when necessary (Andrew)
+
+
+
+ The SQL standard suggests that xpath> should work on data
+ that is a document fragment, but libxml> doesn't support
+ that, and indeed it's not clear that this is sensible according to the
+ XPath standard. xpath> attempted to work around this
+ mismatch by modifying both the data and the path expression, but the
+ modification was buggy and could cause valid searches to fail. Now,
+ xpath> checks whether the data is in fact a well-formed
+ document, and if so invokes libxml> with no change to the
+ data or path expression. Otherwise, a different modification method
+ that is somewhat less likely to fail is used.
+
+
+
+
+ The new modification method is still not 100% satisfactory, and it
+ seems likely that no real solution is possible. This patch should
+ therefore be viewed as a band-aid to keep from breaking existing
+ applications unnecessarily. It is likely that
+ PostgreSQL> 8.4 will simply reject use of
+ xpath> on data that is not a well-formed document.
+
+
+
+
+
+
+ Fix core dump when to_char()> is given format codes that
+ are inappropriate for the type of the data argument (Tom)
+
+
+
+
+
+ Fix possible failure in text search when C locale is used with
+ a multi-byte encoding (Teodor)
+
+
+
+ Crashes were possible on platforms where wchar_t> is narrower
+ than int>; Windows in particular.
+
+
+
+
+
+ Fix extreme inefficiency in text search parser's handling of an
+ email-like string containing multiple @> characters (Heikki)
+
+
+
+
+
+ Fix planner problem with sub-SELECT> in the output list
+ of a larger subquery (Tom)
+
+
+
+ The known symptom of this bug is a failed to locate grouping
+ columns> error that is dependent on the datatype involved;
+ but there could be other issues as well.
+
+
+
+
+
+ Fix decompilation of CASE WHEN> with an implicit coercion
+ (Tom)
+
+
+
+ This mistake could lead to Assert failures in an Assert-enabled build,
+ or an unexpected CASE WHEN clause> error message in other
+ cases, when trying to examine or dump a view.
+
+
+
+
+
+ Fix possible misassignment of the owner of a TOAST table's rowtype (Tom)
+
+
+
+ If CLUSTER> or a rewriting variant of ALTER TABLE>
+ were executed by someone other than the table owner, the
+ pg_type> entry for the table's TOAST table would end up
+ marked as owned by that someone. This caused no immediate problems,
+ since the permissions on the TOAST rowtype aren't examined by any
+ ordinary database operation. However, it could lead to unexpected
+ failures if one later tried to drop the role that issued the command
+ (in 8.1 or 8.2), or owner of data type appears to be invalid>
+ warnings from pg_dump> after having done so (in 8.3).
+
+
+
+
+
+ Change UNLISTEN> to exit quickly if the current session has
+ never executed any LISTEN> command (Tom)
+
+
+
+ Most of the time this is not a particularly useful optimization, but
+ since DISCARD ALL> invokes UNLISTEN>, the previous
+ coding caused a substantial performance problem for applications that
+ made heavy use of DISCARD ALL>.
+
+
+
+
+
+ Fix PL/pgSQL to not treat INTO> after INSERT> as
+ an INTO-variables clause anywhere in the string, not only at the start;
+ in particular, don't fail for INSERT INTO> within
+ CREATE RULE> (Tom)
+
+
+
+
+
+ Clean up PL/pgSQL error status variables fully at block exit
+ (Ashesh Vashi and Dave Page)
+
+
+
+ This is not a problem for PL/pgSQL itself, but the omission could cause
+ the PL/pgSQL Debugger to crash while examining the state of a function.
+
+
+
+
+
+ Retry failed calls to CallNamedPipe()> on Windows
+ (Steve Marshall, Magnus)
+
+
+
+ It appears that this function can sometimes fail transiently;
+ we previously treated any failure as a hard error, which could
+ confuse LISTEN>/NOTIFY> as well as other
+ operations.
+
+
+
+
+
+ Add MUST> (Mauritius Island Summer Time) to the default list
+ of known timezone abbreviations (Xavier Bugaud)
+
+
+
+
+
+
+
+
Release 8.3.6
@@ -4319,6 +4541,171 @@ current_date < 2017-11-17
+
+ Release 8.2.13
+
+
+ Release date
+ 2009-03-16
+
+
+
+ This release contains a variety of fixes from 8.2.12.
+ For information about new features in the 8.2 major release, see
+ .
+
+
+
+ Migration to Version 8.2.13
+
+
+ A dump/restore is not required for those running 8.2.X.
+ However, if you are upgrading from a version earlier than 8.2.11,
+ see the release notes for 8.2.11.
+
+
+
+
+
+ Changes
+
+
+
+
+
+ Prevent error recursion crashes when encoding conversion fails (Tom)
+
+
+
+ This change extends fixes made in the last two minor releases for
+ related failure scenarios. The previous fixes were narrowly tailored
+ for the original problem reports, but we have now recognized that
+ any> error thrown by an encoding conversion function could
+ potentially lead to infinite recursion while trying to report the
+ error. The solution therefore is to disable translation and encoding
+ conversion and report the plain-ASCII form of any error message,
+ if we find we have gotten into a recursive error reporting situation.
+
+
+
+
+
+ Disallow CREATE CONVERSION> with the wrong encodings
+ for the specified conversion function (Heikki)
+
+
+
+ This prevents one possible scenario for encoding conversion failure.
+ The previous change is a backstop to guard against other kinds of
+ failures in the same area.
+
+
+
+
+
+ Fix core dump when to_char()> is given format codes that
+ are inappropriate for the type of the data argument (Tom)
+
+
+
+
+
+ Fix possible failure in contrib/tsearch2> when C locale is
+ used with a multi-byte encoding (Teodor)
+
+
+
+ Crashes were possible on platforms where wchar_t> is narrower
+ than int>; Windows in particular.
+
+
+
+
+
+ Fix extreme inefficiency in contrib/tsearch2> parser's
+ handling of an email-like string containing multiple @>
+ characters (Heikki)
+
+
+
+
+
+ Fix decompilation of CASE WHEN> with an implicit coercion
+ (Tom)
+
+
+
+ This mistake could lead to Assert failures in an Assert-enabled build,
+ or an unexpected CASE WHEN clause> error message in other
+ cases, when trying to examine or dump a view.
+
+
+
+
+
+ Fix possible misassignment of the owner of a TOAST table's rowtype (Tom)
+
+
+
+ If CLUSTER> or a rewriting variant of ALTER TABLE>
+ were executed by someone other than the table owner, the
+ pg_type> entry for the table's TOAST table would end up
+ marked as owned by that someone. This caused no immediate problems,
+ since the permissions on the TOAST rowtype aren't examined by any
+ ordinary database operation. However, it could lead to unexpected
+ failures if one later tried to drop the role that issued the command
+ (in 8.1 or 8.2), or owner of data type appears to be invalid>
+ warnings from pg_dump> after having done so (in 8.3).
+
+
+
+
+
+ Fix PL/pgSQL to not treat INTO> after INSERT> as
+ an INTO-variables clause anywhere in the string, not only at the start;
+ in particular, don't fail for INSERT INTO> within
+ CREATE RULE> (Tom)
+
+
+
+
+
+ Clean up PL/pgSQL error status variables fully at block exit
+ (Ashesh Vashi and Dave Page)
+
+
+
+ This is not a problem for PL/pgSQL itself, but the omission could cause
+ the PL/pgSQL Debugger to crash while examining the state of a function.
+
+
+
+
+
+ Retry failed calls to CallNamedPipe()> on Windows
+ (Steve Marshall, Magnus)
+
+
+
+ It appears that this function can sometimes fail transiently;
+ we previously treated any failure as a hard error, which could
+ confuse LISTEN>/NOTIFY> as well as other
+ operations.
+
+
+
+
+
+ Add MUST> (Mauritius Island Summer Time) to the default list
+ of known timezone abbreviations (Xavier Bugaud)
+
+
+
+
+
+
+
+
Release 8.2.12
@@ -8953,6 +9340,128 @@ current_date < 2017-11-17
+
+ Release 8.1.17
+
+
+ Release date
+ 2009-03-16
+
+
+
+ This release contains a variety of fixes from 8.1.16.
+ For information about new features in the 8.1 major release, see
+ .
+
+
+
+ Migration to Version 8.1.17
+
+
+ A dump/restore is not required for those running 8.1.X.
+ However, if you are upgrading from a version earlier than 8.1.15,
+ see the release notes for 8.1.15.
+
+
+
+
+
+ Changes
+
+
+
+
+
+ Prevent error recursion crashes when encoding conversion fails (Tom)
+
+
+
+ This change extends fixes made in the last two minor releases for
+ related failure scenarios. The previous fixes were narrowly tailored
+ for the original problem reports, but we have now recognized that
+ any> error thrown by an encoding conversion function could
+ potentially lead to infinite recursion while trying to report the
+ error. The solution therefore is to disable translation and encoding
+ conversion and report the plain-ASCII form of any error message,
+ if we find we have gotten into a recursive error reporting situation.
+
+
+
+
+
+ Disallow CREATE CONVERSION> with the wrong encodings
+ for the specified conversion function (Heikki)
+
+
+
+ This prevents one possible scenario for encoding conversion failure.
+ The previous change is a backstop to guard against other kinds of
+ failures in the same area.
+
+
+
+
+
+ Fix core dump when to_char()> is given format codes that
+ are inappropriate for the type of the data argument (Tom)
+
+
+
+
+
+ Fix decompilation of CASE WHEN> with an implicit coercion
+ (Tom)
+
+
+
+ This mistake could lead to Assert failures in an Assert-enabled build,
+ or an unexpected CASE WHEN clause> error message in other
+ cases, when trying to examine or dump a view.
+
+
+
+
+
+ Fix possible misassignment of the owner of a TOAST table's rowtype (Tom)
+
+
+
+ If CLUSTER> or a rewriting variant of ALTER TABLE>
+ were executed by someone other than the table owner, the
+ pg_type> entry for the table's TOAST table would end up
+ marked as owned by that someone. This caused no immediate problems,
+ since the permissions on the TOAST rowtype aren't examined by any
+ ordinary database operation. However, it could lead to unexpected
+ failures if one later tried to drop the role that issued the command
+ (in 8.1 or 8.2), or owner of data type appears to be invalid>
+ warnings from pg_dump> after having done so (in 8.3).
+
+
+
+
+
+ Clean up PL/pgSQL error status variables fully at block exit
+ (Ashesh Vashi and Dave Page)
+
+
+
+ This is not a problem for PL/pgSQL itself, but the omission could cause
+ the PL/pgSQL Debugger to crash while examining the state of a function.
+
+
+
+
+
+ Add MUST> (Mauritius Island Summer Time) to the default list
+ of known timezone abbreviations (Xavier Bugaud)
+
+
+
+
+
+
+
+
Release 8.1.16
@@ -13146,6 +13655,85 @@ psql -t -f fixseq.sql db1 | psql -e db1
+
+ Release 8.0.21
+
+
+ Release date
+ 2009-03-16
+
+
+
+ This release contains a variety of fixes from 8.0.20.
+ For information about new features in the 8.0 major release, see
+ .
+
+
+
+ Migration to Version 8.0.21
+
+
+ A dump/restore is not required for those running 8.0.X.
+ However, if you are upgrading from a version earlier than 8.0.6,
+ see the release notes for 8.0.6.
+
+
+
+
+
+ Changes
+
+
+
+
+
+ Prevent error recursion crashes when encoding conversion fails (Tom)
+
+
+
+ This change extends fixes made in the last two minor releases for
+ related failure scenarios. The previous fixes were narrowly tailored
+ for the original problem reports, but we have now recognized that
+ any> error thrown by an encoding conversion function could
+ potentially lead to infinite recursion while trying to report the
+ error. The solution therefore is to disable translation and encoding
+ conversion and report the plain-ASCII form of any error message,
+ if we find we have gotten into a recursive error reporting situation.
+
+
+
+
+
+ Disallow CREATE CONVERSION> with the wrong encodings
+ for the specified conversion function (Heikki)
+
+
+
+ This prevents one possible scenario for encoding conversion failure.
+ The previous change is a backstop to guard against other kinds of
+ failures in the same area.
+
+
+
+
+
+ Fix core dump when to_char()> is given format codes that
+ are inappropriate for the type of the data argument (Tom)
+
+
+
+
+
+ Add MUST> (Mauritius Island Summer Time) to the default list
+ of known timezone abbreviations (Xavier Bugaud)
+
+
+
+
+
+
+
+
Release 8.0.20
@@ -17625,6 +18213,85 @@ typedefs (Michael)
+
+ Release 7.4.25
+
+
+ Release date
+ 2009-03-16
+
+
+
+ This release contains a variety of fixes from 7.4.24.
+ For information about new features in the 7.4 major release, see
+ .
+
+
+
+ Migration to Version 7.4.25
+
+
+ A dump/restore is not required for those running 7.4.X.
+ However, if you are upgrading from a version earlier than 7.4.11,
+ see the release notes for 7.4.11.
+
+
+
+
+
+ Changes
+
+
+
+
+
+ Prevent error recursion crashes when encoding conversion fails (Tom)
+
+
+
+ This change extends fixes made in the last two minor releases for
+ related failure scenarios. The previous fixes were narrowly tailored
+ for the original problem reports, but we have now recognized that
+ any> error thrown by an encoding conversion function could
+ potentially lead to infinite recursion while trying to report the
+ error. The solution therefore is to disable translation and encoding
+ conversion and report the plain-ASCII form of any error message,
+ if we find we have gotten into a recursive error reporting situation.
+
+
+
+
+
+ Disallow CREATE CONVERSION> with the wrong encodings
+ for the specified conversion function (Heikki)
+
+
+
+ This prevents one possible scenario for encoding conversion failure.
+ The previous change is a backstop to guard against other kinds of
+ failures in the same area.
+
+
+
+
+
+ Fix core dump when to_char()> is given format codes that
+ are inappropriate for the type of the data argument (Tom)
+
+
+
+
+
+ Add MUST> (Mauritius Island Summer Time) to the default list
+ of known timezone abbreviations (Xavier Bugaud)
+
+
+
+
+
+
+
+
Release 7.4.24