diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml
index 8354e1e4e082314385068c5c1f375dd4ed2ec3ca..5724d801ab38e4a1a4a531d43954294adf25381b 100644
--- a/doc/src/sgml/release.sgml
+++ b/doc/src/sgml/release.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.595 2009/03/26 02:40:37 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.596 2009/03/26 02:48:53 momjian Exp $ -->
 <!--
 
 Typical markup:
@@ -1075,7 +1075,7 @@ do it for earlier branch release files.
    </sect3>
 
    <sect3>
-    <title>Database Operations</title>
+    <title>Database Manipulation</title>
     <itemizedlist>
 
      <listitem>
@@ -1171,67 +1171,102 @@ do it for earlier branch release files.
    </sect3>
 
    <sect3>
-    <title>Vacuum</title>
+    <title>EXPLAIN</title>
     <itemizedlist>
 
      <listitem>
       <para>
-       Allow relation forks to track free space (Heikki)
+       Have EXPLAIN VERBOSE show the output columns of a query (Tom)
       </para>
 
       <para>
-       This allows the recording of all free space discovered by vacuum in
-       *.fsm files, rather than having to limit recording to a fixed-sized
-       shared memory area;  max_fsm_pages and max_fsm_relations settings
-       have been removed.
+       Previously EXPLAIN VERBOSE output an internal representation of the
+       output columns.
       </para>
      </listitem>
 
      <listitem>
       <para>
-       New visibility map file to track pages that do not require vacuum
-       (Heikki)
+       Have EXPLAIN honor debug_print_plan (Tom)  bjm: verify behavior, this
+       replaces EXPLAIN VERBOSE?
       </para>
+     </listitem>
 
+     <listitem>
       <para>
-       This allows VACUUM to avoid sequentially scanning a table when only a
-       portion of the table needs vacuuming.
+       Allow EXPLAIN on CREATE TABLE AS (Peter)
       </para>
      </listitem>
 
+    </itemizedlist>
+
+   </sect3>
+
+   <sect3>
+    <title>Indexes</title>
+    <itemizedlist>
+
      <listitem>
       <para>
-       Track explicit transaction snapshots (Alvaro)
+       Dramatically improve the speed of building and accessing hash indexes
+       (Tom Raney, Shreya Bhargava, Kenneth Marshall, Tom) 
       </para>
 
       <para>
-       This improves space reuse by vacuum in the presence of long-running
-       transactions.
+       This allows hash indexes to be often faster than btree indexes.
+       However, hash indexes are still not crash-safe.
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Add vacuum_freeze_table_age to postgresql.conf to control when VACUUM should
-       ignore the visibility map and do a full table scan to set frozen xids
-       (Heikki)
+       Have hash indexes store only the hashed value, not the full indexed
+       columns (Xiao Meng)
+      </para>
+
+      <para>
+       This greatly reduces the size of hash indexes for long indexed
+       values, and improves performance.
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Add ability to specify autovacuum and TOAST parameters in
-       CREATE TABLE (Alvaro, Euler Taveira de Oliveira)
+       Remove requirement to use "@@@" when doing GIN weighted lookups on full
+       text indexes (Tom)
       </para>
+     </listitem>
 
+     <listitem>
       <para>
-       Autovacuum options uses to be stored in a system table.
+       Add optimizer selectivity function for '@@' text search operations (Jan
+       Urbanski)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Add --freeze option to vacuumdb (Bruce)
+       Add partial match support for GIN indexes (Teodor Sigaev, Oleg Bartunov)
+      </para>
+     </listitem>
+
+     <listitem>
+      <para>
+       Allow prefix matching in full text searches (Teodor Sigaev, Oleg
+       Bartunov)
+      </para>
+     </listitem>
+
+     <listitem>
+      <para>
+       Support multi-column GIN indexes (Teodor Sigaev)
+      </para>
+     </listitem>
+
+     <listitem>
+      <para>
+       Special xxx_pattern_ops LIKE indexes can now be used for simple equality
+       comparisons (Tom)
       </para>
      </listitem>
 
@@ -1240,30 +1275,67 @@ do it for earlier branch release files.
    </sect3>
 
    <sect3>
-    <title>EXPLAIN</title>
+    <title>VACUUM</title>
     <itemizedlist>
 
      <listitem>
       <para>
-       Have EXPLAIN VERBOSE show the output columns of a query (Tom)
+       Allow relation forks to track free space (Heikki)
       </para>
 
       <para>
-       Previously EXPLAIN VERBOSE output an internal representation of the
-       output columns.
+       This allows the recording of all free space discovered by vacuum in
+       *.fsm files, rather than having to limit recording to a fixed-sized
+       shared memory area;  max_fsm_pages and max_fsm_relations settings
+       have been removed.
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Have EXPLAIN honor debug_print_plan (Tom)  bjm: verify behavior, this
-       replaces EXPLAIN VERBOSE?
+       New visibility map file to track pages that do not require vacuum
+       (Heikki)
+      </para>
+
+      <para>
+       This allows VACUUM to avoid sequentially scanning a table when only a
+       portion of the table needs vacuuming.
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Allow EXPLAIN on CREATE TABLE AS (Peter)
+       Track explicit transaction snapshots (Alvaro)
+      </para>
+
+      <para>
+       This improves space reuse by vacuum in the presence of long-running
+       transactions.
+      </para>
+     </listitem>
+
+     <listitem>
+      <para>
+       Add vacuum_freeze_table_age to postgresql.conf to control when VACUUM should
+       ignore the visibility map and do a full table scan to set frozen xids
+       (Heikki)
+      </para>
+     </listitem>
+
+     <listitem>
+      <para>
+       Add ability to specify autovacuum and TOAST parameters in
+       CREATE TABLE (Alvaro, Euler Taveira de Oliveira)
+      </para>
+
+      <para>
+       Autovacuum options uses to be stored in a system table.
+      </para>
+     </listitem>
+
+     <listitem>
+      <para>
+       Add --freeze option to vacuumdb (Bruce)
       </para>
      </listitem>
 
@@ -1416,164 +1488,133 @@ do it for earlier branch release files.
    </sect3>
 
    <sect3>
-    <title>General Functions</title>
+    <title>Arrays</title>
     <itemizedlist>
 
      <listitem>
       <para>
-       Document that setseed() allows values from -1 to 1 (not 0 to 1), and
-       enforce the valid range (Kris Jurka)
+       Have cast on ARRAY[] apply to all elements, not just the array result
+       (Brendan Jurd)
       </para>
-     </listitem>
 
-     <listitem>
       <para>
-       Add server side lo_import(filename, oid) function (Tatsuo)
+       This allows NULL ARRAY[] entries as long as it is properly cast
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Add quote_nullable(), which behaves like quote_literal() but returns
-       'NULL' for a null argument (Brendan Jurd)
+       Make the SQL ARRAY dimensions optional to match the SQL standard
+       (Peter)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Improve full text search headline() generation to allow several
-       fragments (Sushant Sinha)
+       Add array_ndims() function to return the number of dimensions of an array (Robert
+       Haas)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Add suppress_redundant_updates_trigger() trigger function to avoid
-       non-data-changing updates (Andrew)
+       Add array_length() function to return the length of an array for the
+       specified dimensions (Jim Nasby, Robert Haas, Peter Eisentraut)
       </para>
-     </listitem>
 
-     <listitem>
       <para>
-       Add div(NUMERIC, NUMERIC) for NUMERIC division, without rounding (Tom)
+       Also add identically-functioning SQL-standard function cardinality().
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Add timestamp and timestamptz versions of generate_series() (Hitoshi
-       Harada)
+       Add new aggregate function array_agg(), which returns all aggregated
+       values as a single array (Robert Haas, Jeff Davis, Peter)
       </para>
      </listitem>
 
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Database Informational Functions</title>
-    <itemizedlist>
-
      <listitem>
       <para>
-       Implement current_query() for use by functions that need to know the
-       currently running query (Tomas Doran)
+       Add function unnest(), which converts an array to individual row values
+       (Tom)
       </para>
-     </listitem>
 
-     <listitem>
       <para>
-       Add pg_get_keywords() function to return predefined parser keywords
-       (Dave Page)
+       This is the opposite of array_agg().
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Add function pg_get_functiondef() to see a functions definition (Abhijit
-       Menon-Sen)
+       Add array_fill() to create arrays initialized with a value (Pavel Stehule)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Modify pg_relation_size() to handle free space map (*.fsm) files
-       (Heikki)
+       Add generate_subscripts() to generate array subscripts (Pavel Stehule)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Modify pg_relation_size() to use 'regclass' (Heikki)
-      </para>
-
-      <para>
-       pg_relation_size(data_type_name) no longer works.
+       Generate proper error if a SERIAL array is specified (Tom)
       </para>
      </listitem>
 
-     <listitem>
-      <para>
-       Add boot_val and reset_val columns to pg_settings output (Greg Smith)
-      </para>
-     </listitem>
+    </itemizedlist>
 
-     <listitem>
-      <para>
-       Add support for CURRENT_CATALOG, CURRENT_SCHEMA, SET CATALOG, SET SCHEMA
-       (Peter)
-      </para>
+   </sect3>
 
-      <para>
-       These are SQL-standard capabilities.
-      </para>
-     </listitem>
+   <sect3>
+    <title>General Functions</title>
+    <itemizedlist>
 
      <listitem>
       <para>
-       Add pg_typeof() function to return the data type of any value (Brendan
-       Jurd)
+       Document that setseed() allows values from -1 to 1 (not 0 to 1), and
+       enforce the valid range (Kris Jurka)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Have version() return information about whether the server is a 32
-       or 64-bit binary (Bruce)
+       Add server side lo_import(filename, oid) function (Tatsuo)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Fix the behavior of information schema columns is_insertable_into and
-       is_updatable to be consistent (Peter)
+       Add quote_nullable(), which behaves like quote_literal() but returns
+       'NULL' for a null argument (Brendan Jurd)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Convert remaining builtin set-returning functions to use OUT parameters
-       (Jaime Casanova)
+       Improve full text search headline() generation to allow several
+       fragments (Sushant Sinha)
       </para>
+     </listitem>
 
+     <listitem>
       <para>
-       This makes it possible to call these functions without specifying
-       a column list:  pg_show_all_settings(), pg_lock_status(),
-       pg_prepared_xact(), pg_prepared_statement(), pg_cursor()
+       Add suppress_redundant_updates_trigger() trigger function to avoid
+       non-data-changing updates (Andrew)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Have pg_*_is_visible and has_*_privilege functions return NULL for
-       invalid oids, rather than generate an error (Tom)
+       Add div(NUMERIC, NUMERIC) for NUMERIC division, without rounding (Tom)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Add has_column_privilege() and has_any_column_privilege() functions
-       (Stephen Frost, Tom)
+       Add timestamp and timestamptz versions of generate_series() (Hitoshi
+       Harada)
       </para>
      </listitem>
 
@@ -1582,121 +1623,109 @@ do it for earlier branch release files.
    </sect3>
 
    <sect3>
-    <title>Function Creation</title>
+    <title>Object Information Functions</title>
     <itemizedlist>
 
      <listitem>
       <para>
-       Support variadic functions (functions with a variable number of
-       arguments) (Pavel Stehule)
+       Implement current_query() for use by functions that need to know the
+       currently running query (Tomas Doran)
       </para>
+     </listitem>
 
+     <listitem>
       <para>
-       Only trailing arguments can be of variable length, and they all must
-       be of the same data type.
+       Add pg_get_keywords() function to return predefined parser keywords
+       (Dave Page)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Allow DEFAULT values for function arguments (Pavel Stehule)
+       Add function pg_get_functiondef() to see a functions definition (Abhijit
+       Menon-Sen)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Add CREATE FUNCTION ... RETURNS TABLE clause (Pavel Stehule)
+       Modify pg_relation_size() to handle free space map (*.fsm) files
+       (Heikki)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Allow SQL-language functions to return the output of an INSERT/UPDATE/DELETE
-       RETURNING clause (Tom)
+       Modify pg_relation_size() to use 'regclass' (Heikki)
       </para>
 
       <para>
-       Formerly only SELECT was supported.
+       pg_relation_size(data_type_name) no longer works.
       </para>
      </listitem>
 
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Arrays</title>
-    <itemizedlist>
-
      <listitem>
       <para>
-       Have cast on ARRAY[] apply to all elements, not just the array result
-       (Brendan Jurd)
-      </para>
-
-      <para>
-       This allows NULL ARRAY[] entries as long as it is properly cast
+       Add boot_val and reset_val columns to pg_settings output (Greg Smith)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Make the SQL ARRAY dimensions optional to match the SQL standard
+       Add support for CURRENT_CATALOG, CURRENT_SCHEMA, SET CATALOG, SET SCHEMA
        (Peter)
       </para>
-     </listitem>
 
-     <listitem>
       <para>
-       Add array_ndims() function to return the number of dimensions of an array (Robert
-       Haas)
+       These are SQL-standard capabilities.
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Add array_length() function to return the length of an array for the
-       specified dimensions (Jim Nasby, Robert Haas, Peter Eisentraut)
-      </para>
-
-      <para>
-       Also add identically-functioning SQL-standard function cardinality().
+       Add pg_typeof() function to return the data type of any value (Brendan
+       Jurd)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Add new aggregate function array_agg(), which returns all aggregated
-       values as a single array (Robert Haas, Jeff Davis, Peter)
+       Have version() return information about whether the server is a 32
+       or 64-bit binary (Bruce)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Add function unnest(), which converts an array to individual row values
-       (Tom)
+       Fix the behavior of information schema columns is_insertable_into and
+       is_updatable to be consistent (Peter)
       </para>
+     </listitem>
 
+     <listitem>
       <para>
-       This is the opposite of array_agg().
+       Convert remaining builtin set-returning functions to use OUT parameters
+       (Jaime Casanova)
       </para>
-     </listitem>
 
-     <listitem>
       <para>
-       Add array_fill() to create arrays initialized with a value (Pavel Stehule)
+       This makes it possible to call these functions without specifying
+       a column list:  pg_show_all_settings(), pg_lock_status(),
+       pg_prepared_xact(), pg_prepared_statement(), pg_cursor()
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Add generate_subscripts() to generate array subscripts (Pavel Stehule)
+       Have pg_*_is_visible and has_*_privilege functions return NULL for
+       invalid oids, rather than generate an error (Tom)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Generate proper error if a SERIAL array is specified (Tom)
+       Add has_column_privilege() and has_any_column_privilege() functions
+       (Stephen Frost, Tom)
       </para>
      </listitem>
 
@@ -1705,70 +1734,41 @@ do it for earlier branch release files.
    </sect3>
 
    <sect3>
-    <title>Indexes</title>
+    <title>Function Creation</title>
     <itemizedlist>
 
      <listitem>
       <para>
-       Dramatically improve the speed of building and accessing hash indexes
-       (Tom Raney, Shreya Bhargava, Kenneth Marshall, Tom) 
-      </para>
-
-      <para>
-       This allows hash indexes to be often faster than btree indexes.
-       However, hash indexes are still not crash-safe.
-      </para>
-     </listitem>
-
-     <listitem>
-      <para>
-       Have hash indexes store only the hashed value, not the full indexed
-       columns (Xiao Meng)
-      </para>
-
-      <para>
-       This greatly reduces the size of hash indexes for long indexed
-       values, and improves performance.
-      </para>
-     </listitem>
-
-     <listitem>
-      <para>
-       Remove requirement to use "@@@" when doing GIN weighted lookups on full
-       text indexes (Tom)
+       Support variadic functions (functions with a variable number of
+       arguments) (Pavel Stehule)
       </para>
-     </listitem>
 
-     <listitem>
       <para>
-       Add optimizer selectivity function for '@@' text search operations (Jan
-       Urbanski)
+       Only trailing arguments can be of variable length, and they all must
+       be of the same data type.
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Add partial match support for GIN indexes (Teodor Sigaev, Oleg Bartunov)
+       Allow DEFAULT values for function arguments (Pavel Stehule)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Allow prefix matching in full text searches (Teodor Sigaev, Oleg
-       Bartunov)
+       Add CREATE FUNCTION ... RETURNS TABLE clause (Pavel Stehule)
       </para>
      </listitem>
 
      <listitem>
       <para>
-       Support multi-column GIN indexes (Teodor Sigaev)
+       Allow SQL-language functions to return the output of an INSERT/UPDATE/DELETE
+       RETURNING clause (Tom)
       </para>
-     </listitem>
 
-     <listitem>
       <para>
-       Special xxx_pattern_ops LIKE indexes can now be used for simple equality
-       comparisons (Tom)
+       Formerly only SELECT was supported.
       </para>
      </listitem>