aboutsummaryrefslogblamecommitdiffstats
path: root/lib/kernel/doc/src/notes_history.xml
blob: 2f6ceb9d427d15a392774b9bd369eaa1786f3651 (plain) (tree)
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415





























































































































































































































































































































































































































                                                                                                                          
<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE chapter SYSTEM "chapter.dtd">

<chapter>
  <header>
    <copyright>
      <year>2006</year><year>2009</year>
      <holder>Ericsson AB. All Rights Reserved.</holder>
    </copyright>
    <legalnotice>
      The contents of this file are subject to the Erlang Public License,
      Version 1.1, (the "License"); you may not use this file except in
      compliance with the License. You should have received a copy of the
      Erlang Public License along with this software. If not, it can be
      retrieved online at http://www.erlang.org/.
    
      Software distributed under the License is distributed on an "AS IS"
      basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
      the License for the specific language governing rights and limitations
      under the License.
    
    </legalnotice>

    <title>Kernel Release Notes History</title>
    <prepared></prepared>
    <docno></docno>
    <date></date>
    <rev></rev>
  </header>

  <section>
    <title>Kernel 2.10</title>

    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>Added documentation of configuration parameter
            <c>net_setuptime</c>.</p>
          <p>Own Id: OTP-5117 Aux Id: seq8908</p>
        </item>
      </list>
    </section>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>The <c>disk_log</c> module has been slightly changed for
            the purpose of reducing the risk of memory problems due
            to corrupt files. The <c>chunk</c> commands have been
            optimized by increasing the chunk size from 8 kilobytes
            to 64 kilobytes.</p>
          <p>Own Id: OTP-4530 Aux Id: seq7646</p>
        </item>
        <item>
          <p>The code server used <c>prim_file</c> for its file
            operations. This made it impossible to load code from a
            boot server. Now the code server uses <c>erl_prim_loader</c>
            for these operations instead.</p>
          <p>Own Id: OTP-4819 Aux Id: OTP-4802, OTP-4846</p>
        </item>
        <item>
          <p>New functions - <c>rpc:call/5</c> and
            <c>rpc:block_call/5</c>. They have a timeout argument! See
            the documentation for details.</p>
          <p>Own Id: OTP-4849 Aux Id: seq8250</p>
        </item>
        <item>
          <p>A new environment parameter <c>browser_cmd</c> has been
            introduced which defines how to display help text (HTML
            files).</p>
          <p>Own Id: OTP-4852</p>
        </item>
        <item>
          <p>The system configuration file <c>sys.config</c> can now
            contain names of other configuration files as well as
            application configuration data.</p>
          <p>Thus, it is now possible to have several configuration
            files in connection with release handling. See
            <c>config(4)</c> and <em>OTP Design Principles</em> for
            more information.</p>
          <p>Own Id: OTP-4867 Aux Id: OTP-1968</p>
        </item>
        <item>
          <p>It is now possible to compile files with <c>erlc</c> without
            getting a lot of (for compilation) unnecessary code
            loaded and executed (like distribution, inet config,
            etc). <c>erlc</c> now also calls <c>erl</c> with <c>-boot start_clean</c> (so that SASL is not started even if
            <c>start_sasl</c> is default boot script).</p>
          <p>Own Id: OTP-4878</p>
        </item>
        <item>
          <p>Disk logs can now be opened or closed in parallel. In
            particular, if some log is being repaired, other logs can
            still be opened or closed.</p>
          <p>Own Id: OTP-4913</p>
        </item>
        <item>
          <p>Native lookup (system calls) is now default resolver
            method on all platforms. Also the user inet configuration
            method has changed so that a Kernel variable, <c>inetrc</c>,
            should now be used to specify the name of the user inet
            config file (if it exists). This is all documented in the
            ERTS User's Guide.</p>
          <p>*** POTENTIAL INCOMPATIBILITY ***</p>
          <p>Own Id: OTP-4983</p>
        </item>
        <item>
          <p>Previously missing documentation of
            <c>erlang:system_info/1</c> and <c>erlang:system_flag/2</c>
            have been added.</p>
          <p>Own Id: OTP-5038 Aux Id: seq8708</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Kernel 2.9.6.8</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>The code server now caches <c>.app</c> files as well as
            <c>.beam</c> files. Application controller calls
            the function <c>code:where_is_file/1</c> to locate
            the cached <c>.app</c> file so that <c>file:consult/1</c>
            may be used instead of <c>file:path_consult/2</c> to read
            the file. This is much more efficient.</p>
          <p>Own Id: OTP-5097 Aux Id: seq8956</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Kernel 2.9.6.7</title>

    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>Improved setup of connection between nodes to avoid that
            some nodes get lower priority (and thus times out) when
            many nodes are connected simultaneously.</p>
          <p>Own Id: OTP-5116 Aux Id: seq8908</p>
        </item>
        <item>
          <p>There is now a packet size limit option for <c>gen_tcp</c>
            sockets. See the manual for <c>inet:setopts/2</c>.</p>
          <p>The ASN.1 BER packet decoding for <c>gen_tcp</c> sockets
            can now decode indefinite length packets.</p>
          <p>Own Id: OTP-5128</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Kernel 2.9.6.6</title>

    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>A helper for <c>global</c> would terminate if it received
            unknown types of messages, causing <c>global</c> to
            terminate too. Changed so that the helper process logs and
            ignore strange messages.</p>
          <p>Own Id: OTP-5078 Aux Id: seq_8839</p>
        </item>
      </list>
    </section>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>The ability to set system wide options for TCP sockets is
            added through the Kernel application variables
            <c>inet_default_listen_options</c> and
            <c>inet_default_connect_options</c>, see the <c>inet</c>
            manual page for details.</p>
          <p>Own Id: OTP-5080</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Kernel 2.9.6.5</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>Fixed error that made code server crash if invalid
            directories were added to the path.</p>
          <p>Own Id: OTP-5070 Aux Id: OTP-5060, EABln14115</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Kernel 2.9.6.4</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>Speed improvements in <c>code:add_path(s)[az]/1</c> when
            the cache is activated.</p>
          <p>Own Id: OTP-5060 Aux Id: seq8315, EABln14115</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Kernel 2.9.6.2</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>Remote spawn on a nonreachable node now gives warning
            instead of error in the error_log.</p>
          <p>Own Id: OTP-5030 Aux Id: seq8663]</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Kernel 2.9.6.1</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>An error that made the code server ignore version numbers
            on <c>lib</c> directories has been corrected.</p>
          <p>Own Id: OTP-5020</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Kernel 2.9.5</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>A possibility to make distribution messages be queued up
            during running of Erlang code, so that larger packages is
            sent over the network is added.</p>
          <p>Own Id: OTP-4916</p>
        </item>
        <item>
          <p>When code loading failed it was impossible to know
            exactly what caused it, only <c>{undef,[{M,F,A}|...]}</c>
            would be reported. Now the primitive loader lets the
            <c>error_logger</c> print an error report if a file
            operation fails. All file errors except <c>enoent</c> and
            <c>enotdir</c> are reported this way.</p>
          <p>Own Id: OTP-4925 Aux Id: OTP-4952</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Kernel 2.9.4</title>

    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>Bugs have been fixed in the <c>disk_log</c> module: if
            <c>reopen</c> failed to rename a file, a message could
            erroneously be sent to the client; if requests were
            queued while a log was blocked, no replies were sent to
            the blocked processes should the log be closed.</p>
          <p>Own Id: OTP-4880 Aux Id: seq7902</p>
        </item>
        <item>
          <p>In rare cases, the <c>global</c> name registration could
            hang during simultaneous startup of several nodes, due to a
            cyclic deadlock in the <c>global:loop_the_locker</c>
            processes.</p>
          <p>Own Id: OTP-4902 Aux Id: seq8275</p>
        </item>
      </list>
    </section>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>The Kernel variable <c>net_setuptime</c> can now be defined
            in fractions of seconds (using a floating point number).</p>
          <p>Own Id: OTP-4915</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Kernel 2.9.3</title>

    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>The driver for dynamically linked in drivers has been
            fixed to delete loaded drivers when its Erlang server
            dies. The Erlang server has also been updated to improve
            the start-on-demand behaviour.</p>
          <p>Own Id: OTP-4876 Aux Id: OTP-4855 seq8272</p>
        </item>
      </list>
    </section>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>Starting Erlang with the <c>+Bi</c> flag (to ignore ^C), now
            also disables the quit ('q') option in the JCL menu.</p>
          <p>Own Id: OTP-4897</p>
        </item>
        <item>
          <p>A STDLIB application variable, <c>shell_esc</c>, has been
            introduced that controls the behaviour of ^G. If
            <c>shell_esc</c> is set to <c>abort</c>, ^G restarts the
            shell. If set to <c>jcl</c>, ^G invokes the JCL menu. The
            latter is default.</p>
          <p>Own Id: OTP-4898 Aux Id: OTP-4897</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Kernel 2.9.2</title>

    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>The boot server had become broken. Now it works again.</p>
          <p>Own Id: OTP-4846 Aux Id: OTP-4802, OTP-4819</p>
        </item>
        <item>
          <p>When loading a dynamically linked in driver through
            <c>erl_ddll</c>, the server <c>ddll_server</c> that held
            the port for the driver handling shared libraries got
            the group leader of the invoking application. Later, when
            the application was terminated, it killed all processes in
            its group, also the <c>ddll_server</c>, so the driver still
            had some shared libraries loaded. Finally, when
            the <c>ddll_server</c> was restarted it assumed that all
            shared libraries its driver knew of was statically linked,
            so the dynamically linked in drivers that was loaded when
            <c>ddll_server</c> was killed could neither be loaded nor
            unloaded. This bug has now been fixed by setting the group
            leader of <c>ddll_server</c> to something harmless and more
            eternal, and by unloading all remaining dynamically linked
            in drivers when <c>ddll_server</c> starts. A race condition
            when starting <c>ddll_server</c> has also been fixed.</p>
          <p>Own Id: OTP-4855 Aux Id: OTP-4876 seq8272</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Kernel 2.9.1</title>

    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>When the emulator was started with command line arguments
            <c>-run</c> or <c>-s</c> and the started code did an
            uncatched <c>erlang:throw/1</c>, the emulator ignored
            the throw which is rather strange. Now the init process
            exits with <c>nocatch</c> as expected.</p>
          <p>Own Id: OTP-4788 Aux Id: seq8129</p>
        </item>
        <item>
          <p>The code server could hang if invoked early in the startup.
            For example if the emulator was started with <c>"-s file eval Filename"</c> and <c>Filename</c> contained a
            call to <c>code:add_patha/1</c> the code server accidentally
            tried to execute code in an unloaded module from inside
            the code that loaded a module - hence hangup. This bug has
            now been fixed.</p>
          <p>Note! Starting Erlang through code loading from a remote
            Erlang boot server will not work after this patch. It will
            be fixed in a later patch. Rumours has it that remote boot
            server code loading did not work before this patch either.
            It is not a commonly used feature.</p>
          <p>*** POTENTIAL INCOMPATIBILITY ***</p>
          <p>Own Id: OTP-4802 Aux Id: seq8314</p>
        </item>
      </list>
    </section>
  </section>
</chapter>