4c60a42003-11-07Martin Nilsson <!doctype html><html><head><title>Pike Reference Manual</title> <meta charset='utf-8'></head>
3557292019-08-07Henrik Grubbström (Grubba) <body><dl><dt><h1 class='header'>21. Backward Compatibility</h1></dt><dd><p>Pike is a language under active development. This can lead to incompatibilities between different versions of Pike. To alleviate this problem Pike has a backward compatibility layer.</p><p>The backward compatibility layer can be engaged in two ways; either by starting the Pike interpreter with the <tt>-V</tt> option, or by using the <tt>#pike</tt> preprocessor directive.</p><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></dd>
9add812019-07-04Henrik Grubbström (Grubba) <dt><a name='21.1'></a>
3557292019-08-07Henrik Grubbström (Grubba) <h2 class='header'>21.1. Pike 8.0</h2></dt> <dd></dd> <dt><a name='21.1.1'></a> <h3 class='header'>21.1.1. Global Functions</h3></dt> <dd></dd> <dt><a name='21.1.2'></a> <h3 class='header'>21.1.2. Modules</h3></dt> <dd><p>The following modules and functions have moved, been renamed or been deleted: <table class='box'> </table>
57bd3c2019-08-05Henrik Grubbström (Grubba)  </p></dd>
3557292019-08-07Henrik Grubbström (Grubba) <dt><a name='21.1.3'></a> <h3 class='header'>21.1.3. Compiler</h3></dt> <dd></dd> <dt><a name='21.1.4'></a> <h3 class='header'>21.1.4. Runtime</h3></dt> <dd></dd>
57bd3c2019-08-05Henrik Grubbström (Grubba) <dt><a name='21.2'></a>
3557292019-08-07Henrik Grubbström (Grubba) <h2 class='header'>21.2. Pike 7.8</h2></dt> <dd></dd>
57bd3c2019-08-05Henrik Grubbström (Grubba) <dt><a name='21.2.1'></a>
3557292019-08-07Henrik Grubbström (Grubba) <h3 class='header'>21.2.1. Global Functions</h3></dt> <dd><p><code>decode_value()</code> used to be able to decode programs using the 'old style' program encoding.</p></dd> <dt><a name='21.2.2'></a> <h3 class='header'>21.2.2. Modules</h3></dt> <dd><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: <table class='box'> <tr><td><code>7.8::Gdbm.gdbm</code></td><td><code>Gdbm.DB</code></td></tr> <tr><td><code>7.8::Locale.Charset</code></td><td><code>Charset</code></td></tr> <tr><td><code>7.8::SSL.alert</code></td><td><code>SSL.Alert</code></td></tr> <tr><td><code>7.8::SSL.connection</code> + <code>7.8::SSL.handshake</code></td><td><code>SSL.ClientConnection</code> + <code>SSL.ServerConnection</code></td></tr> <tr><td><code>7.8::SSL.context</code></td><td><code>SSL.Context</code></td></tr> <tr><td><code>7.8::SSL.packet</code></td><td><code>SSL.Packet</code></td></tr> <tr><td><code>7.8::SSL.session</code></td><td><code>SSL.Session</code></td></tr> <tr><td><code>7.8::SSL.sslfile</code></td><td><code>SSL.File</code></td></tr> <tr><td><code>7.8::SSL.sslport</code></td><td><code>SSL.Port</code></td></tr> <tr><td><code>7.8::SSL.state</code></td><td><code>SSL.State</code></td></tr> <tr><td><code>7.8::Tools.PEM</code></td><td><code>Standards.PEM</code></td></tr> <tr><td><code>7.8::Tools.X509</code></td><td><code>Standards.X509</code></td></tr> <tr><td><code>7.8::Yabu.db</code></td><td><code>Yabu.DB</code></td></tr> <tr><td><code>7.8::Yabu.table</code></td><td><code>Yabu.Table</code></td></tr> <tr><td><code>7.8::_PGsql</code></td><td>(deleted)</td></tr> <tr><td><code>7.8:_files</code></td><td><code>_Stdio</code></td></tr> </table>
0f6ad72019-07-07Henrik Grubbström (Grubba) 
3557292019-08-07Henrik Grubbström (Grubba)  </p></dd> <dt><a name='21.2.3'></a> <h3 class='header'>21.2.3. Compiler</h3></dt> <dd><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></dd> <dt><a name='21.2.4'></a> <h3 class='header'>21.2.4. Build options</h3></dt> <dd><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></dd>
57bd3c2019-08-05Henrik Grubbström (Grubba) <dt><a name='21.3'></a>
3557292019-08-07Henrik Grubbström (Grubba) <h2 class='header'>21.3. Pike 7.6 and earlier</h2></dt>
0f6ad72019-07-07Henrik Grubbström (Grubba) <dd></dd>
57bd3c2019-08-05Henrik Grubbström (Grubba) <dt><a name='21.3.1'></a>
3557292019-08-07Henrik Grubbström (Grubba) <h3 class='header'>21.3.1. Deprecated</h3></dt> <dd><p>The backward compatibility code for Pike 7.6 and earlier has been removed in Pike 8.2.</p></dd></dl></body></html>