File: compatibility.xml

package info (click to toggle)
pike8.0 8.0.1956-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 60,580 kB
  • sloc: ansic: 259,734; xml: 36,320; makefile: 3,748; sh: 1,713; cpp: 1,349; awk: 1,036; lisp: 655; javascript: 468; asm: 242; objc: 240; pascal: 157; sed: 34
file content (146 lines) | stat: -rw-r--r-- 6,240 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<chapter title="Backward Compatibility">

<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>

<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>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>
           <c><ref>Image.Font</ref></c></r>
        <r><c><ref>7.6::Image.image</ref></c>
           <c><ref>Image.Image</ref></c></r>
        <r><c><ref>7.6::_Charset</ref></c>
           <c><ref>Locale.Charset.module</ref></c></r>
        <r><c><ref>7.6::spider.isbasechar()</ref></c>
           <c><ref>Parser.XML.isbasechar()</ref></c></r>
        <r><c><ref>7.6::spider.iscombiningchar()</ref></c>
           <c><ref>Parser.XML.iscombiningchar()</ref></c></r>
        <r><c><ref>7.6::spider.isdigit()</ref></c>
           <c><ref>Parser.XML.isdigit()</ref></c></r>
        <r><c><ref>7.6::spider.isextender()</ref></c>
           <c><ref>Parser.XML.isextender()</ref></c></r>
        <r><c><ref>7.6::spider.isfirstnamechar()</ref></c>
           <c><ref>Parser.XML.isfirstnamechar()</ref></c></r>
        <r><c><ref>7.6::spider.ishexchar()</ref></c>
           <c><ref>Parser.XML.ishexchar()</ref></c></r>
        <r><c><ref>7.6::spider.isidographic()</ref></c>
           <c><ref>Parser.XML.isidographic()</ref></c></r>
        <r><c><ref>7.6::spider.isletter()</ref></c>
           <c><ref>Parser.XML.isletter()</ref></c></r>
        <r><c><ref>7.6::spider.isnamechar()</ref></c>
           <c><ref>Parser.XML.isnamechar()</ref></c></r>
        <r><c><ref>7.6::spider.isspace()</ref></c>
           <c><ref>Parser.XML.ispace()</ref></c></r>
      </matrix>
    </p>
  </subsection>
  <subsection title="Compiler">
    <p>The compiler used to not complain about use of
       the keyword <tt>nomask</tt>.</p>
  </subsection>
  <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 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>