Manual: Minor version history fixes
diff --git a/src/manual/en_US/book.xml b/src/manual/en_US/book.xml
index 5ab63c3..f59d2eb 100644
--- a/src/manual/en_US/book.xml
+++ b/src/manual/en_US/book.xml
@@ -27616,7 +27616,7 @@
       <section xml:id="versions_2_3_28">
         <title>2.3.28</title>
 
-        <para>Release date: [FIXME]</para>
+        <para>Release date: 2018-03-30 + release process</para>
 
         <section>
           <title>Changes on the FTL side</title>
@@ -27654,8 +27654,10 @@
             </listitem>
 
             <listitem>
-              <para>Added new built-ins: <literal>sequence?min</literal> and
-              <literal>sequence?max</literal> (<link
+              <para>Added new built-ins:
+              <literal><replaceable>sequence</replaceable>?min</literal> and
+              <literal><replaceable>sequence</replaceable>?max</literal>
+              (<link
               xlink:href="https://issues.apache.org/jira/browse/FREEMARKER-86">FREEMARKER-86</link>),
               which return the smallest and greatest item from a list of
               numbers or date/time/date-times. <link
@@ -27766,16 +27768,15 @@
 
             <listitem>
               <para>When specifying the <literal>output_format</literal>
-              configuration settings with
+              configuration setting with
               <literal>String</literal>-<literal>String</literal> key-value
               pairs (like with <literal>Configuration.setSetting(String,
               String)</literal> or in a <literal>.properties</literal> file),
-              it's now possible to specify the standard output formats by name
-              rather than by class name (like
-              <literal>output_format=HTML</literal>). (Custom formats still
-              has to be referred by class name, as FreeMarker can't discover
-              what their names are, since it's not aware of the custom
-              classes.)</para>
+              it's now possible to specify the standard output formats by
+              short name (like <literal>output_format=HTML</literal>) rather
+              than by class name. (Custom formats still has to be referred by
+              class name, as FreeMarker can't discover what their names are,
+              since it's not aware of the custom classes.)</para>
             </listitem>
 
             <listitem>
@@ -27783,7 +27784,7 @@
               <literal>Configuration.removeTemplateFromCache</literal>
               overload that has a <literal>Object
               customLookupCondition</literal> parameter. This is useful to
-              manually evacuate a template from the cache that was get via a
+              manually evacuate a template from the cache that was get with a
               non-<literal>null</literal> custom lookup condition.</para>
             </listitem>
 
@@ -27862,16 +27863,16 @@
               <para>The default arithmetic engine
               (<literal>ArithmeticEngine.BIGDECIMAL_ENGINE</literal>) can now
               compare infinite (both positive and negative) to any other
-              standard type. Earlier, since <literal>BigDecimal</literal>
-              can't represent infinite, it was only working in certain special
-              cases. Also did some performance optimizations to slightly
-              decrease the impact and number of conversions to
-              <literal>BigDecimal</literal>.</para>
+              standard numerical type. Earlier, since
+              <literal>BigDecimal</literal> can't represent infinite, it was
+              only working in certain special cases. Also there were some
+              performance optimizations to slightly decrease the impact and
+              number of conversions to <literal>BigDecimal</literal>.</para>
             </listitem>
 
             <listitem>
               <para>Avoided possible performance bottleneck when executing
-              templates on many threads, caused be that
+              templates on many threads, caused by that
               <literal>java.beans.PropertyDescriptor.getReadMethod()</literal>
               is synchronized (<link
               xlink:href="https://issues.apache.org/jira/browse/FREEMARKER-80">FREEMARKER-80</link>).</para>
@@ -27906,28 +27907,29 @@
             <listitem>
               <para>When the <link
               linkend="pgui_config_incompatible_improvements_how_to_set"><literal>incompatible_improvements</literal>
-              setting</link> is set to 2.3.28 (or greater), fixed legacy
+              setting</link> is set to 2.3.28 (or greater): Fixed legacy
               parser glitch where a tag can be closed with an illegal
               <literal>]</literal> (when it's not part of an expression)
               despite that the tag syntax is set to angle brackets. For
               example <literal>&lt;#if x]</literal> worked just like
-              <literal>&lt;#if x&gt;</literal>. Note that it doesn't affect
-              the legal usage of <literal>]</literal>, like <literal>&lt;#if
-              x[0]&gt;</literal> works correctly without this fix as
-              well.</para>
+              <literal>&lt;#if x&gt;</literal>. Note that this legacy glitch
+              didn't affect the legal usage of <literal>]</literal>, like
+              <literal>&lt;#if x[0]&gt;</literal> has always worked
+              correctly.</para>
             </listitem>
 
             <listitem>
               <para>Fixed parser bug that disallowed using
-              <literal>&gt;</literal> at the top-level inside an interpolation
-              (<literal>${...}</literal>). It had the same reason why
-              <literal>&lt;#if x &gt; y&gt;</literal> doesn't work as naively
-              expected, but there's no real ambiguity in <literal>${x &gt;
-              y}</literal>, so now it's allowed. Note that <literal>${(x &gt;
-              y)?c}</literal> and <literal>${(x &gt; y)?string('y',
-              'n')}</literal>, which are how booleans are commonly printed,
-              have always worked, as the <literal>&gt;</literal> operation is
-              not on the top-level inside the interpolation.</para>
+              <literal>&gt;</literal> as the top-level expression inside an
+              interpolation (<literal>${...}</literal>). It had the same
+              reason why <literal>&lt;#if x &gt; y&gt;</literal> doesn't work
+              as naively expected, but there's no real ambiguity in
+              <literal>${x &gt; y}</literal>, so now it's allowed. Note that
+              <literal>${(x &gt; y)?c}</literal> and <literal>${(x &gt;
+              y)?string('y', 'n')}</literal>, which are how booleans are
+              commonly printed, have always worked, as the
+              <literal>&gt;</literal> operation is not on the top-level inside
+              the interpolation.</para>
             </listitem>
 
             <listitem>
@@ -27945,7 +27947,7 @@
           <itemizedlist>
             <listitem>
               <para>FreeMarker has graduated from the Apache Incubator (as of
-              2018-03-31), and now is a normal top-level project at Apache.
+              2018-03-21), and now is a normal top-level project at Apache.
               Therefore, the version number doesn't contain
               <quote>-incubating</quote> anymore.</para>
             </listitem>
@@ -28786,18 +28788,6 @@
           The license is still Apache License Version 2.0, just like earlier,
           but the owner is different. The official full product name has
           changed to Apache FreeMarker.</para>
-
-          <para><emphasis role="bold">Disclaimer:</emphasis><emphasis> Apache
-          FreeMarker is an effort undergoing incubation at The Apache Software
-          Foundation (ASF), sponsored by the <link
-          xlink:href="http://incubator.apache.org">Apache Incubator</link>.
-          Incubation is required of all newly accepted projects until a
-          further review indicates that the infrastructure, communications,
-          and decision making process have stabilized in a manner consistent
-          with other successful ASF projects. While incubation status is not
-          necessarily a reflection of the completeness or stability of the
-          code, it does indicate that the project has yet to be fully endorsed
-          by the ASF.</emphasis></para>
         </section>
 
         <section>