diff --git a/refdoc/chapters/compatibility.xml b/refdoc/chapters/compatibility.xml
index 36ec9f623a7079bdf5b293551877f53aacf1b919..71fe122e97d639e6bb8a16cf1d70e206cb740601 100644
--- a/refdoc/chapters/compatibility.xml
+++ b/refdoc/chapters/compatibility.xml
@@ -11,15 +11,89 @@
 <p>The backward compatibility layer affects both the compiler and the
    available modules.</p>
 
+<p>Note that the backward compatibility layer does not necessarily
+   compensate for all incompatibilities documented here, and that
+   there may be other incompatibilities that have not been documented.</p>
+
 <p>The remainder of this chapter describes the main incompatibilities
    between the various versions of Pike and the current version.</p>
 
-<section title="Pike 7.6">
+<section title="Pike 7.8">
   <subsection title="Global Functions">
+    <p><ref>decode_value()</ref> used to be able to decode programs using
+       the 'old style' program encoding.</p>
+  </subsection>
+  <subsection title="Modules">
+    <p>The SSL module API has had major changes since Pike 7.8.</p>
+    <p>The following modules and functions have moved, been renamed or
+       been deleted:
+      <matrix>
+        <r><c><ref>7.8::Gdbm.gdbm</ref></c>
+           <c><ref>Gdbm.DB</ref></c></r>
+        <r><c><ref>7.8::Locale.Charset</ref></c>
+           <c><ref>Charset</ref></c></r>
+        <r><c><ref>7.8::SSL.alert</ref></c>
+           <c><ref>SSL.Alert</ref></c></r>
+        <r><c><ref>7.8::SSL.connection</ref> +
+              <ref>7.8::SSL.handshake</ref></c>
+           <c><ref>SSL.ClientConnection</ref> +
+              <ref>SSL.ServerConnection</ref></c></r>
+        <r><c><ref>7.8::SSL.context</ref></c>
+           <c><ref>SSL.Context</ref></c></r>
+        <r><c><ref>7.8::SSL.packet</ref></c>
+           <c><ref>SSL.Packet</ref></c></r>
+        <r><c><ref>7.8::SSL.session</ref></c>
+           <c><ref>SSL.Session</ref></c></r>
+        <r><c><ref>7.8::SSL.sslfile</ref></c>
+           <c><ref>SSL.File</ref></c></r>
+        <r><c><ref>7.8::SSL.sslport</ref></c>
+           <c><ref>SSL.Port</ref></c></r>
+        <r><c><ref>7.8::SSL.state</ref></c>
+           <c><ref>SSL.State</ref></c></r>
+        <r><c><ref>7.8::Tools.PEM</ref></c>
+           <c><ref>Standards.PEM</ref></c></r>
+        <r><c><ref>7.8::Tools.X509</ref></c>
+           <c><ref>Standards.X509</ref></c></r>
+        <r><c><ref>7.8::Yabu.db</ref></c>
+           <c><ref>Yabu.DB</ref></c></r>
+        <r><c><ref>7.8::Yabu.table</ref></c>
+           <c><ref>Yabu.Table</ref></c></r>
+        <r><c><ref>7.8::_PGsql</ref></c>
+           <c>(deleted></c></r>
+        <r><c><ref>7.8:_files</ref></c>
+           <c><ref>_Stdio</ref></c></r>
+      </matrix>
+    </p>
+  </subsection>
+  <subsection title="Compiler">
+    <p>The compiler used to not complain about use of
+       the keyword <tt>static</tt>.</p>
+    <p>The ancient syntax for arrays (<tt>string *</tt> was an alias for
+       <tt>array(string)</tt>) used to be supported (but complained about),
+       but has now been removed completely.</p>
+  </subsection>
+  <subsection title="Build options">
+    <p>The builtin security sandbox has been deprecated.</p>
+    <p>Compiling without support for bignums is no longer supported.</p>
+    <p>The (optional) support for facet classes has been removed.</p>
   </subsection>
+</section>
+
+<section title="Pike 7.6">
   <subsection title="Modules">
-    <p>The following modules and functions have moved or been renamed:
+    <p>Signal handlers in GTK2 used to get their arguments in the
+       form of an array.</p>
+    <p>Sql.mysql used to automatically attempt to reconnect on
+       broken connection.</p>
+    <p>The following modules and functions have moved, been renamed or
+       been deleted:
       <matrix>
+        <r><c><ref>ADT.Heap.size()</ref></c>
+           <c>Deprecated by <ref>ADT.Heap._sizeof()</ref></c></r>
+        <r><c><ref>ADT.Heap.top()</ref></c>
+           <c>Deprecated by <ref>ADT.Heap.pop()</ref></c></r>
+        <r><c><ref>7.6::Array.transpose_old</ref></c>
+           <c>(deleted)</c></r>
         <r><c><ref>7.6::Image.colortable</ref></c>
            <c><ref>Image.Colortable</ref></c></r>
         <r><c><ref>7.6::Image.font</ref></c>
@@ -52,235 +126,21 @@
     </p>
   </subsection>
   <subsection title="Compiler">
+    <p>The compiler used to not complain about use of
+       the keyword <tt>nomask</tt>.</p>
   </subsection>
-</section>
-<section title="Pike 7.4">
-  <subsection title="SQL Headerfiles">
-    <p>Pike 7.4 had some SQL-related headerfiles <tt>msql.h</tt>,
-      <tt>mysql.h</tt> and <tt>postgres.h</tt> that just performed
-      <tt>import</tt> of the corresponding module, and nothing else.</p>
-  </subsection>
-  <subsection title="Modules">
-    <p><ref>7.4::Standards.PKCS.Signature.build_digest()</ref> used to
-      expect a <ref>7.4::Crypto.md5</ref>-style hash object as
-      the second argument.</p>
-    <p>The lifetime for the <ref>Stdio.Fd</ref> object used by a
-      <ref>7.4::Stdio.File</ref> object could differ from the lifetime
-      of the using object. This could in theory cause problems for code
-      that uses <ref>Stdio.File()->dup()</ref> or
-      <ref>Stdio.File()->assign()</ref>.</p>
-    <p>Destructing a locked <ref>7.4::Thread.Mutex</ref> object had
-      the effect of also destructing the corresponding key object.</p>
-    <p><ref>7.4::Tools.Standalone.extract_autodoc</ref> had a different
-      argument list.</p>
-    <p><ref>7.4::explode_path()</ref> splitted a string on <tt>/</tt>
-      on all systems except NT, where it spitted on both <tt>/</tt> and
-      <tt>\</tt>.</p>
-    <p>The following modules and functions have moved, been renamed or
-      been deleted:
-      <matrix>
-        <r><c><ref>7.4::ADT.Heap()->top()</ref></c>
-           <c><ref>ADT.Heap()->pop()</ref></c></r>
-        <r><c><ref>7.4::Crypto</ref></c>
-           <c>(deprecated by <ref>Nettle</ref>)</c></r>
-        <r><c><ref>7.4::_Crypto</ref></c>
-           <c>(deprecated by <ref>Nettle</ref>)</c></r>
-        <r><c><ref>7.4::Locale.Charset.ascii</ref></c>
-           <c>(deprecated by <ref>Locale.Charset.ASCIIDec</ref>)</c></r>
-        <r><c><ref>7.4::Locale.Charset._encoder</ref></c>
-           <c><ref>Locale.Charset.Encoder</ref></c></r>
-        <r><c><ref>7.4::Protocols.SMTP.protocol</ref></c>
-           <c><ref>Protocols.SMTP.Protocol</ref></c></r>
-        <r><c><ref>7.4::Protocols.SMTP.client</ref></c>
-           <c><ref>Protocols.SMTP.Client</ref></c></r>
-        <r><c><ref>7.4::Protocols.SMTP.client()->reply_codes</ref></c>
-           <c><ref>Protocols.SMTP.replycodes</ref></c></r>
-        <r><c><ref>7.4::Regexp</ref></c>
-           <c><ref>Regexp.SimpleRegexp</ref></c></r>
-        <r><c><ref>7.4::Sql.sql</ref></c><c><ref>Sql.Sql</ref></c></r>
-        <r><c><ref>7.4::Standards.ASN1.Encode</ref></c>
-           <c>(deprecated by <ref>Standards.ASN1.Types</ref>)</c></r>
-        <r><c><ref>7.4::rusage()</ref></c>
-           <c>(deprecated by <ref>System.getrusage</ref>)</c></r>
-        <r><c><ref>7.4::hash()</ref></c>
-           <c><ref>hash_7_4()</ref></c></r>
-        <r><c><ref>7.4::call_with_creds()</ref></c>
-           <c><ref>__builtin.security.call_with_creds()</ref></c></r>
-        <r><c><ref>7.4::get_current_creds()</ref></c>
-           <c><ref>__builtin.security.get_current_creds()</ref></c></r>
-        <r><c><ref>7.4::get_object_creds()</ref></c>
-           <c><ref>__builtin.security.get_object_creds()</ref></c></r>
-        <r><c><ref>7.4::_pipe_debug()</ref></c>
-           <c><ref>Pipe._pipe_debug()</ref></c></r>
-        <r><c><ref>7.4::getpwent()</ref></c>
-           <c><ref>System.getpwent()</ref></c></r>
-        <r><c><ref>7.4::endpwent()</ref></c>
-           <c><ref>System.endpwent()</ref></c></r>
-        <r><c><ref>7.4::setpwent()</ref></c>
-           <c><ref>System.setpwent()</ref></c></r>
-        <r><c><ref>7.4::getgrent()</ref></c>
-           <c><ref>System.getgrent()</ref></c></r>
-        <r><c><ref>7.4::endgrent()</ref></c>
-           <c><ref>System.endgrent()</ref></c></r>
-        <r><c><ref>7.4::setgrent()</ref></c>
-           <c><ref>System.getgrent()</ref></c></r>
-      </matrix>
-    </p>
-  </subsection>
-  <subsection title="Compiler">
-  </subsection>
-</section>
-<section title="Pike 7.2">
-  <subsection title="Modules">
-    <p><ref>7.2::Parser.XML.Simple</ref>, <ref>7.2::Parser.XML.Validating</ref>
-      as well as <ref>7.2::Parser.XML.Tree.parse_input()</ref> used to be more
-      lenient.</p>
-    <p>Most functions in <ref>7.2::Protocols.LDAP.client</ref> used to
-      have different calling conventions.</p>
-    <p><ref>7.2::Thread.Condition()->wait()</ref> used to support being called
-      without a <ref>Thread.Mutex</ref>. This support was removed since it
-      introduced race-conditions in almost all code that used the feature.</p>
-    <p><ref>7.2::dirname()</ref> used to return <tt>""</tt> for the path
-      <tt>"/"</tt>.</p>
-    <p><ref>7.2::new()</ref> and <ref>7.2::clone()</ref> have been obsoleted
-      by <expr>((program)prog)(@args)</expr>.</p>
-    <p>The following modules and functions have moved, been renamed or
-      been deleted:
-      <matrix>
-        <r><c><ref>7.2::Gmp.pow</ref></c><c><ref>pow</ref></c></r>
-        <r><c><ref>7.2::LR</ref></c><c><ref>Parser.LR</ref></c></r>
-        <r><c><ref>7.2::LR.item</ref></c>
-           <c><ref>Parser.LR.Parser.Item</ref> (protected)</c></r>
-        <r><c><ref>7.2::LR.parser</ref></c>
-           <c><ref>Parser.LR.Parser</ref></c></r>
-        <r><c><ref>7.2::LR.priority</ref></c>
-           <c><ref>Parser.LR.Priority</ref></c></r>
-        <r><c><ref>7.2::LR.rule</ref></c><c><ref>Parser.LR.Rule</ref></c></r>
-        <r><c><ref>7.2::LR.scanner</ref></c><c>(deleted)</c></r>
-        <r><c><ref>7.2::String.strmult</ref></c>
-           <c>(deprecated by <ref>`*</ref>)</c></r>
-        <r><c><ref>7.2::String.String_buffer</ref></c>
-           <c>(deprecated by <ref>String.Buffer</ref>)</c></r>
-        <r><c><ref>7.2::system</ref></c><c><ref>System</ref></c></r>
-        <r><c><ref>7.2::sleep</ref></c><c><ref>delay</ref></c></r>
-        <r><c><ref>7.2::default_yp_domain</ref></c>
-           <c><ref>Yp.default_domain</ref></c></r>
-        <r><c><ref>7.2::_low_program_name</ref></c>
-           <c><ref>spider._low_program_name</ref></c></r>
-        <r><c><ref>7.2::set_start_quote</ref></c>
-           <c><ref>spider.set_start_quote</ref></c></r>
-        <r><c><ref>7.2::set_end_quote</ref></c>
-           <c><ref>spider.set_end_quote</ref></c></r>
-        <r><c><ref>7.2::parse_accessed_database</ref></c>
-           <c><ref>spider.parse_accessed_database</ref></c></r>
-        <r><c><ref>7.2::_dump_obj_table</ref></c>
-           <c><ref>spider._dump_obj_table</ref></c></r>
-        <r><c><ref>7.2::parse_html</ref></c>
-           <c><ref>spider.parse_html</ref></c></r>
-        <r><c><ref>7.2::parse_html_lines</ref></c>
-           <c><ref>spider.parse_html_lines</ref></c></r>
-        <r><c><ref>7.2::discdate</ref></c>
-           <c><ref>spider.discdate</ref></c></r>
-        <r><c><ref>7.2::stardate</ref></c>
-           <c><ref>spider.stardate</ref></c></r>
-        <r><c><ref>7.2::get_all_active_fd</ref></c>
-           <c><ref>spider.get_all_active_fd</ref></c></r>
-        <r><c><ref>7.2::fd_info</ref></c>
-           <c><ref>spider.fd_info</ref></c></r>
-      </matrix>
-    </p>
-  </subsection>
-  <subsection title="Compiler">
-  </subsection>
-</section>
-<section title="Pike 7.0">
-  <subsection title="Simulate">
-    <p><tt>#include</tt> of <tt>&lt;simulate.h&gt;</tt> or import of
-    the <ref>7.0::Simulate</ref> module provided some compatibility
-    with LPC.</p>
-    <p>The compatibility functions were
-    <ref>7.0::Simulate.member_array()</ref>,
-    <ref>7.0::Simulate.previous_object()</ref>,
-    <ref>7.0::Simulate.this_function()</ref>,
-    <ref>7.0::Simulate.get_function()</ref>,
-    <ref>7.0::Simulate.map_regexp()</ref>
-    as well was various functions from the <ref>Array</ref>, <ref>String</ref>
-    and <ref>Process</ref> modules.</p>
-    <p>The following functions were provided under alternate names:
-      <matrix>
-        <r><c><ref>7.0::Simulate.all_efuns</ref></c>
-           <c><ref>all_constants</ref></c></r>
-        <r><c><ref>7.0::Simulate.explode</ref></c>
-           <c><ref>`/</ref></c></r>
-        <r><c><ref>7.0::Simulate.filter_array</ref></c>
-           <c><ref>filter</ref></c></r>
-        <r><c><ref>7.0::Simulate.map_array</ref></c>
-           <c><ref>map</ref></c></r>
-        <r><c><ref>7.0::Simulate.implode</ref></c>
-           <c><ref>`*</ref></c></r>
-        <r><c><ref>7.0::Simulate.m_indices</ref></c>
-           <c><ref>indices</ref></c></r>
-        <r><c><ref>7.0::Simulate.m_sizeof</ref></c>
-           <c><ref>sizeof</ref></c></r>
-        <r><c><ref>7.0::Simulate.m_values</ref></c>
-           <c><ref>values</ref></c></r>
-        <r><c><ref>7.0::Simulate.strstr</ref></c>
-           <c><ref>search</ref></c></r>
-        <r><c><ref>7.0::Simulate.sum</ref></c>
-           <c><ref>`+</ref></c></r>
-        <r><c><ref>7.0::Simulate.add_efun</ref></c>
-           <c><ref>add_constant</ref></c></r>
-        <r><c><ref>7.0::Simulate.l_sizeof</ref></c>
-           <c><ref>sizeof</ref></c></r>
-        <r><c><ref>7.0::Simulate.listp</ref></c>
-           <c><ref>multisetp</ref></c></r>
-        <r><c><ref>7.0::Simulate.mklist</ref></c>
-           <c><ref>mkmultiset</ref></c></r>
-        <r><c><ref>7.0::Simulate.aggregate_list</ref></c>
-           <c><ref>aggregate_multiset</ref></c></r>
-        <r><c><ref>7.0::Simulate.query_host_name</ref></c>
-           <c><ref>gethostname</ref></c></r>
-      </matrix>
-    </p>
-    <p>A single mathematical constant was also provided;
-      <ref>7.0::Simulate.PI</ref> with a value close to
-      <tt>3.1415926535897932384626433832795080</tt>.
-    </p>
-  </subsection>
-  <subsection title="Modules">
-    <p>The <ref>7.0::Colors</ref> module contained lots of color definitions
-       with three-element arrays containing the Red, Green and Blue components.
-       These color definitions are now provided by the <ref>Image.Colors</ref>
-       module.</p>
-    <p><ref>7.0::Stdio.File()->stat()</ref> and
-       <ref>7.0::Stdio.FILE()->stat()</ref> as well as
-       <ref>7.2::file_stat()</ref> used to return an array with
-       integers and not a <ref>Stdio.Stat</ref> object.</p>
-    <p><ref>7.0::_typeof()</ref> used to return a string and not a type.</p>
-    <p><ref>7.0::m_delete()</ref> used to return the mapping and not
-       the deleted value.</p>
-    <p>The following modules and functions have moved or been renamed:
-      <matrix>
-        <r><c><ref>7.0::Calendar</ref></c><c><ref>Calendar_I</ref></c></r>
-        <r><c><ref>7.0::hash</ref></c><c><ref>hash_7_0</ref></c></r>
-        <r><c><ref>7.0::Stack.stack</ref></c><c><ref>ADT.Stack</ref></c></r>
-      </matrix>
-    </p>
-  </subsection>
-  <subsection title="Compiler">
+  <subsection title="Runtime">
+    <p>The <tt>main()</tt> function used to get the environment
+       as a mapping in argument number three.</p>
+    <p>The API for <ref>Debug.describe_program()</ref> was different.</p>
   </subsection>
 </section>
-<section title="Pike 0.6">
-  <subsection title="Laxer Types">
-    <p>Several functions, including <ref>0.6::Array.map</ref> and
-    <ref>0.6::aggregate</ref>, had much more lenient types than in
-    later versions.</p>
-  </subsection>
-  <subsection title="readline">
-    <p>There was a global function <ref>0.6::readline()</ref> that
-    provided some simple readline support. This was obsoleted by
-    the <ref>Readline</ref> module.</p>
+
+<section title="Pike 7.4 and earlier">
+  <subsection title="Deprecated">
+    <p>The backward compatibility code for Pike 7.4 and earlier
+       has been removed in Pike 8.0.</p>
   </subsection>
 </section>
 
-</chapter>
\ No newline at end of file
+</chapter>
diff --git a/refdoc/structure/traditional.xml b/refdoc/structure/traditional.xml
index a733eba75f176e8733bca967f7e976a1f5caea22..9756d7cfbd8b73559db00f3a224fd481f327975f 100644
--- a/refdoc/structure/traditional.xml
+++ b/refdoc/structure/traditional.xml
@@ -141,10 +141,9 @@
   </dir>
 
   <void>
-    <!-- The 7.0 and 7.2 module should perhaps be added to a
-         compatible chapter, but it needs a modifying
+    <!-- The compatibility modules should perhaps be added to a
+         compatibility chapter, but they would need a modifying
          wrapper first. -->
-    <insert-move entity="7-4::"/>
     <insert-move entity="7-6::"/>
     <insert-move entity="7-8::"/>
     <insert-move entity="_Roxen"/>