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