aboutsummaryrefslogtreecommitdiffstats
path: root/erts/doc/src/notes_history.xml
diff options
context:
space:
mode:
Diffstat (limited to 'erts/doc/src/notes_history.xml')
-rw-r--r--erts/doc/src/notes_history.xml503
1 files changed, 503 insertions, 0 deletions
diff --git a/erts/doc/src/notes_history.xml b/erts/doc/src/notes_history.xml
new file mode 100644
index 0000000000..cc3b938c86
--- /dev/null
+++ b/erts/doc/src/notes_history.xml
@@ -0,0 +1,503 @@
+<?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>ERTS Release Notes History</title>
+ <prepared>otp_appnotes</prepared>
+ <docno>nil</docno>
+ <date>nil</date>
+ <rev>nil</rev>
+ <file>notes_history.xml</file>
+ </header>
+
+ <section>
+ <title>ERTS 5.4</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>The BIF <c><![CDATA[is_record(Record,RecordTag)]]></c> has been added to
+ the run-time system. It checks that <c><![CDATA[Record]]></c> is a tuple
+ whose first element is the atom <c><![CDATA[RecordTag.]]></c> No check
+ is made of the size of the tuple (because the run-time
+ system doesn't know anything about records).</p>
+ <p>Note that normally the compiler translates calls to
+ <c><![CDATA[is_record/2]]></c> to code that also verify the size of the
+ tuple, in addition to verifying the first element. The
+ BIF version will be used <c><![CDATA[is_record/2]]></c> is applied or
+ if the second argument is not a literal atom (e.g. a
+ variable or another term type, in which case the BIF will
+ generate a <c><![CDATA[badarg]]></c> exception).</p>
+ <p>Own Id: OTP-4812</p>
+ </item>
+ <item>
+ <p>Guards of mach specifications are corrected to resemble
+ the semantics of guards in real code more closely. The
+ implementation now corresponds to the documentation in
+ ERTS User's Guide. The following things are corrected:</p>
+ <list type="bulleted">
+ <item>Guard semantics was wrong when it came to logical
+ operators and exceptions.
+ <c><![CDATA[{'or',{'is_integer','$1'},{'or','$1','$1'}}]]></c>
+ evaluated to <c><![CDATA[true]]></c> with <c><![CDATA['$1']]></c> bound to an
+ integer.</item>
+ <item>Unary + and - was not implemented.</item>
+ <item>Calling operators as Bif's was not supported by
+ <c><![CDATA[ets/dbg:fun2ms]]></c> (<c><![CDATA[erlang:'or'(A,B)]]></c> etc).</item>
+ <item>Old typetests (like <c><![CDATA[integer(X)]]></c> instead of
+ <c><![CDATA[is_integer(X))]]></c> was not supported by
+ <c><![CDATA[ets/dbg:fun2ms]]></c>.</item>
+ <item>Semicolon (;) in guards was not supported by
+ <c><![CDATA[ets/dbg:fun2ms]]></c>.</item>
+ </list>
+ <p>*** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>Own Id: OTP-4927</p>
+ </item>
+ <item>
+ <p>A potential initialization failure when using threads and
+ elib_malloc has been removed.</p>
+ <p>Own Id: OTP-5125</p>
+ </item>
+ <item>
+ <p>Several problems in the 64-bit emulator has been
+ corrected. For instance, the emulator could crash while
+ running the Debugger.</p>
+ <p>Own Id: OTP-5146</p>
+ </item>
+ <item>
+ <p>The match spec parse transform <c><![CDATA[ms_transform]]></c> no
+ longer accepts the <c><![CDATA[andalso]]></c> and <c><![CDATA[orelse]]></c>
+ constructs in guards for consistency with the standard
+ Erlang language. A future release of Erlang/OTP may allow
+ <c><![CDATA[andalso]]></c> and <c><![CDATA[orelse]]></c> in guards.</p>
+ <p>*** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>Own Id: OTP-5149</p>
+ </item>
+ <item>
+ <p>In rare circumstances in a process that has caught
+ exceptions and uses funs, the process would be killed
+ when changing code because the code server would think
+ that the process still held references to the funs.</p>
+ <p>Own Id: OTP-5153</p>
+ </item>
+ <item>
+ <p><c><![CDATA[erlang:system_monitor/2]]></c> no longer sends any
+ monitoring messages to the system monitor process from
+ itself. This behavior is more consistent with other trace
+ functionality.</p>
+ <p>*** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>Own Id: OTP-5183</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>The documentation stated that <c><![CDATA[ets:safe_fixtable/2]]></c>
+ could return <c><![CDATA[true]]></c> or <c><![CDATA[false,]]></c> that was wrong,
+ it always returns <c><![CDATA[true]]></c>.</p>
+ <p>Own Id: OTP-4830</p>
+ </item>
+ <item>
+ <p>The unary '+' operator has been changed to throw an
+ <c><![CDATA[badarith]]></c> exception if its argument is not numeric (or
+ fail in a guard). It used its argument unchanged whatever
+ the type. Given the new meaning, unary '+' can now be
+ used to test whether a term is numeric.</p>
+ <p>*** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>Own Id: OTP-4928</p>
+ </item>
+ <item>
+ <p>Process identifiers and port identifiers have been
+ made more unique. Previously 18 bits were used as id in
+ the internal representation of process and port
+ identifiers. Now 28 bits are used.</p>
+ <p>The maximum limit on the number of concurrently existing
+ processes due to the representation of pids has been
+ increased to 268435456 processes. The same is true for
+ ports. This limit will at least on a 32-bit architecture be
+ impossible to reach due to memory shortage.</p>
+ <p><em>NOTE:</em> By default, the <c><![CDATA[ERTS]]></c>, and the
+ <c><![CDATA[erl_interface]]></c>, <c><![CDATA[ei]]></c>, and <c><![CDATA[jinterface]]></c>
+ libraries are now only guaranteed to be compatible with
+ other Erlang/OTP components from the same release. It is
+ possible to set each component in compatibility mode of
+ an earlier release, though. See the documentation for
+ respective component on how to set it in compatibility
+ mode.</p>
+ <p>*** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>Own Id: OTP-4968 Aux Id: OTP-4196 </p>
+ </item>
+ <item>
+ <p>A new internal thread library for the ERTS has been
+ added.</p>
+ <p>Own Id: OTP-5048</p>
+ </item>
+ <item>
+ <p>The system's performance could degrade severely if one
+ process held numerous links or monitors. The issue is
+ resolved.</p>
+ <p>Own Id: OTP-5079</p>
+ </item>
+ <item>
+ <p>A new function, <c><![CDATA[string:to_integer/1]]></c>, has been added.</p>
+ <p>Own Id: OTP-5081 Aux Id: OTP-5136 </p>
+ </item>
+ <item>
+ <p>A new function, <c><![CDATA[string:to_float/1]]></c>, has been added.</p>
+ <p>Own Id: OTP-5136 Aux Id: OTP-5081 </p>
+ </item>
+ <item>
+ <p>The exception code for calling a fun with wrong number of
+ arguments has been changed from simply <c><![CDATA[badarity]]></c> to
+ <c><![CDATA[{badarity,{Fun,Args}}]]></c>.</p>
+ <p>*** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>Own Id: OTP-5139</p>
+ </item>
+ <item>
+ <p>The long-awaited <c><![CDATA[try]]></c>...<c><![CDATA[catch]]></c> construction
+ is included in this release. However, its use in
+ production code is not yet supported as there are several
+ known cases of legal code crashing the compiler. We plan
+ to release a patch to the compiler (including the
+ documentation) and at that time <c><![CDATA[try]]></c>...<c><![CDATA[catch]]></c>
+ will be supported.</p>
+ <p>Own Id: OTP-5150</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>ERTS 5.3.6.6</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>A bug that caused an emulator crash when using system
+ monitor of long GC has been fixed.</p>
+ <p>Own Id: OTP-5123</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>ERTS 5.3.6.5</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p><c><![CDATA[erlang:memory(ets)]]></c> and <c><![CDATA[c:memory(ets)]]></c>
+ sometimes reported erroneous values. This bug has now been
+ fixed.</p>
+ <p>Own Id: OTP-5115 Aux Id: seq9063 </p>
+ </item>
+ <item>
+ <p>There is now a packet size limit option for <c><![CDATA[gen_tcp]]></c>
+ sockets. See the manual for <c><![CDATA[inet:setopts/2]]></c>.</p>
+ <p>The ASN.1 BER packet decoding for <c><![CDATA[gen_tcp]]></c> sockets
+ can now decode indefinite length packets.</p>
+ <p>Own Id: OTP-5128</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>Port index was unnecessarily incremented by port table
+ size when port table got full. This unnecessary increment
+ has now been removed.</p>
+ <p>Own Id: OTP-5119</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>ERTS 5.3.6.3</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Resolved a build problem on Mac OS 10.3 ("Panther").
+ Because of a conflict with the zlib sources included in
+ the Erlang run-time system and the zlib library included
+ in Panther, linking would fail.</p>
+ <p>Minor optimization on all Unix systems: caching the
+ system name returned from the uname() system call.
+ (Thanks to David N. Welton.)</p>
+ <p>Own Id: OTP-5069</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><![CDATA[inet_default_listen_options]]></c> and
+ <c><![CDATA[inet_default_connect_options]]></c>, see the <c><![CDATA[inet]]></c>
+ manual page for details.</p>
+ <p>Own Id: OTP-5080</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>ERTS 5.3.6.2</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>A few portability enhancements for the R9C-1 Open Source
+ release: The installer for Windows can now be built with
+ NSIS 2.0 (as well as with the NSIS 2.0b3). The driver
+ header files updated to allowed drivers to be built which
+ the MinGW compiler on Windows. Minor portability
+ enhancement in <c><![CDATA[io_lib:fread]]></c>.</p>
+ <p>Own Id: OTP-4789</p>
+ </item>
+ <item>
+ <p>Conversion of extremely small floating point numbers in
+ the external format (distribution) could sometimes fail
+ leading to unexpected closing of distribution channels,
+ i.e. generating nodedowns for healthy nodes.</p>
+ <p>Own Id: OTP-5026 Aux Id: seq8631 EABln12478 </p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>ERTS 5.3.6.1</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Conversion of extremely small floating point numbers in
+ the external format (distribution) could sometimes fail
+ leading to unexpected closing of distribution channels,
+ i.e. generating nodedowns for healthy nodes.</p>
+ <p>Own Id: OTP-5026 Aux Id: seq8631 EABln12478 </p>
+ </item>
+ </list>
+ </section>
+
+ <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>
+ <title>Known Bugs and Problems</title>
+ <list type="bulleted">
+ <item>
+ <p>Emulator with elib_malloc enabled could hang when many
+ I/O threads were in use.</p>
+ <p>Own Id: OTP-5028 Aux Id: EABln13041, EABln12253 </p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>ERTS 5.3.6</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Distributed monitoring in combination with nodes
+ restarting did not behave correctly in rare
+ circumstances.</p>
+ <p>Own Id: OTP-4914</p>
+ </item>
+ <item>
+ <p>A module containing code similar to <c><![CDATA[receive after 4.1]]></c>
+ could not be loaded.</p>
+ <p>Own Id: OTP-4963 Aux Id: seq8344 </p>
+ </item>
+ <item>
+ <p>Problems fixed in <c><![CDATA[file:open/2]]></c>: <c><![CDATA["/dev/null"]]></c>
+ can now be opened. Opening a FIFO will now return an error
+ instead of hanging the emulator. The documentation has been
+ updated to point out that <c><![CDATA[file:open/2]]></c> returns
+ the error code <c><![CDATA[eisdir]]></c> when the pathname is not a
+ regular file (the pathname is not necessarily a directory).</p>
+ <p>Own Id: OTP-4992</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>The Solaris kernel poll feature was changed from a
+ compile time option to a runtime option. The kernel poll
+ feature can be enabled, by passing the command-line
+ argument <c><![CDATA[+K true]]></c> to an emulator (see <c><![CDATA[erl(1)]]></c>)
+ that have kernel poll support, i.e. an emulator for
+ Solaris 8. By default the kernel poll feature is disabled.</p>
+ <p>Own Id: OTP-4979 Aux Id: seq8478 </p>
+ </item>
+ <item>
+ <p>Before the Erlang emulator writes an <c><![CDATA[erl_crash.dump]]></c>
+ file (for any reason), it will close all open files and
+ sockets.</p>
+ <p>Own Id: OTP-4985 Aux Id: EABln10730, EABln11277,
+ EABln11279 </p>
+ </item>
+ <item>
+ <p>The <c><![CDATA[+c]]></c> switch has been added to disable time
+ correction in the runtime system, this should be used on
+ systems where one is certain no dramatic wall clock time
+ changes will occur and the time correction algorithm is too
+ costly (namely very fast Linux systems where loads of
+ <c><![CDATA[erlang:now()]]></c> are executed).</p>
+ <p>Own Id: OTP-4986</p>
+ </item>
+ <item>
+ <p>The <c><![CDATA[process_flag/2,3]]></c> BIFs now take a flag
+ <c><![CDATA[min_heap_size]]></c> that allows changing an existing
+ process's minimum heap size. The actual size will only be
+ changed when the next garbage collection occurs.</p>
+ <p>Own Id: OTP-4991 Aux Id: seq8515, OTP-4987 </p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>ERTS 5.3.4</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>A possibility to make distribution messages be qued 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><![CDATA[{undef,[{M,F,A}|...]}]]></c>
+ would be reported. Now the primitive loader lets the
+ error logger print an error report if a file operation
+ fails. All file errors except <c><![CDATA[enoent]]></c> and
+ <c><![CDATA[enotdir]]></c> are reported this way.</p>
+ <p>Own Id: OTP-4925 Aux Id: OTP-4952 </p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>ERTS 5.3.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>
+ <item>
+ <p><c><![CDATA[erlang:register/2]]></c> does no longer generate an ERROR
+ REPORT to the error logger when the name already is
+ registered. If the name is already registered the process
+ function will crash with <c><![CDATA[{'EXIT',Reason}]]></c> and that is
+ enough. It is up to the caller to decide if it is an
+ error that the name is already registered.</p>
+ <p>Own Id: OTP-4892</p>
+ </item>
+ <item>
+ <p>When using <c><![CDATA[erlang:system_monitor(Pid,{long_gc,Time})]]></c>,
+ and the GC time exceeded 1 second, it sometimes erroneously
+ showed up as about 4300 seconds. This bug has now been
+ corrected.</p>
+ <p>Own Id: OTP-4903 Aux Id: seq8379 </p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>Starting Erlang with the <c><![CDATA[+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>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>ERTS 5.3.2</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>The elib_malloc alternative dynamic memory allocator has
+ been improved to use an address order best fit strategy.
+ The instrumented emulator has been improved to be able to
+ catch memory allocations done by external libraries. The
+ emulator flag <c><![CDATA[+r]]></c> (stands for "relocate") makes
+ <c><![CDATA[ets]]></c> updates always result in an object relocation,
+ which significantly lessens the memory fragmentation in
+ certain systems. The <c><![CDATA[erlang:system_info/1]]></c> bif can
+ now be called with the argument <c><![CDATA[ets_realloc_moves]]></c>
+ and will return <c><![CDATA[true]]></c> if the <c><![CDATA[+r]]></c> emulator flag
+ is in effect, <c><![CDATA[false]]></c> otherwise.</p>
+ <p>Own Id: OTP-4838 Aux Id: seq8156 </p>
+ </item>
+ </list>
+ </section>
+ </section>
+</chapter>
+