aboutsummaryrefslogtreecommitdiffstats
path: root/erts/doc/src/notes.xml
diff options
context:
space:
mode:
Diffstat (limited to 'erts/doc/src/notes.xml')
-rw-r--r--erts/doc/src/notes.xml419
1 files changed, 418 insertions, 1 deletions
diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml
index 70f2d95103..c11509131c 100644
--- a/erts/doc/src/notes.xml
+++ b/erts/doc/src/notes.xml
@@ -30,6 +30,423 @@
</header>
<p>This document describes the changes made to the ERTS application.</p>
+<section><title>Erts 5.7.5</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fix <c>binary_to_term</c> crash on compressed term with
+ corrupt size field.</p>
+ <p>
+ Own Id: OTP-8336</p>
+ </item>
+ <item>
+ <p>
+ Processes and/or ports could get stuck on a blocked
+ scheduler when <c>erlang:system_flag(multi_scheduling,
+ block)</c> was used.</p>
+ <p>
+ Processes and/or ports could get stuck on an offline
+ scheduler when schedulers online were reduced using
+ <c>erlang:system_flag(schedulers_online,
+ SchedulersOnline)</c>.</p>
+ <p>
+ Own Id: OTP-8342</p>
+ </item>
+ <item>
+ <p>Building on Windows will now work if the paths to
+ <c>mc.exe</c> and <c>rc.exe</c> contain spaces. The
+ README.win32 file has been updated with some information
+ about building using Visual Studio 2008. (Thanks to
+ Andrew Thompson.)</p>
+ <p>
+ Own Id: OTP-8345</p>
+ </item>
+ <item>
+ <p>
+ EPMD now correctly handles the extra data field which can
+ be given in the ALIVE2_REQ request and retrieved in the
+ PORT2_RESP response. (Thanks to Klas Johansson.)</p>
+ <p>
+ Own Id: OTP-8361</p>
+ </item>
+ <item>
+ <p>
+ The configure test for reliable floating point exceptions
+ has been update to work on modern versions of Mac OS X.
+ (Thanks to Trannie Carter.)</p>
+ <p>
+ Own Id: OTP-8368</p>
+ </item>
+ <item>
+ <p>
+ ERTS makefiles used to detect the use of a gcc C compiler
+ by checking if CC equaled gcc. That is, the makefiles
+ failed to detect gcc C compilers with other command line
+ names than gcc. `configure' now substitute GCC into the
+ makefiles. If CC is a gcc C compiler, GCC will have the
+ value yes. (Thanks to Jean-S�bastien P�dron)</p>
+ <p>
+ Own Id: OTP-8373</p>
+ </item>
+ <item>
+ <p>
+ ETS bug causing the <c>memory</c> counter from
+ <c>ets:info</c> for ordered_set's to sometimes get out of
+ synch and absurdly high.</p>
+ <p>
+ Own Id: OTP-8377 Aux Id: seq11442 </p>
+ </item>
+ <item>
+ <p>
+ Immediately repeated multi-scheduling block/unblock
+ cycles using <c>erlang:system_flag(multi_scheduling,
+ block | unblock)</c> could deadlock the runtime system.</p>
+ <p>
+ Own Id: OTP-8386</p>
+ </item>
+ <item>
+ <p>A number of bugs concerning re and unicode are
+ corrected:</p>
+ <p>re:compile no longer looses unicode option, which also
+ fixes bug in re:split.</p>
+ <p>re:replace now handles unicode charlist replacement
+ argument</p>
+ <p>re:replace now handles unicode RE charlist argument
+ correctly</p>
+ <p>re:replace now handles binary unicode output correctly
+ when nothing is replaced.</p>
+ <p>Most code, testcases and error isolation done by Rory
+ Byrne.</p>
+ <p>
+ Own Id: OTP-8394</p>
+ </item>
+ <item>
+ <p>
+ The loading of native code was not properly atomic in the
+ SMP emulator, which could cause crashes. Also a per-MFA
+ information table for the native code has now been
+ protected with a lock since it turns that it could be
+ accessed concurrently in the SMP emulator. (Thanks to
+ Mikael Pettersson.)</p>
+ <p>
+ Own Id: OTP-8397</p>
+ </item>
+ <item>
+ <p>
+ Fix processes in exiting status that are about to be
+ scheduled, to not be allowed to garbage collect.</p>
+ <p>
+ Own Id: OTP-8420</p>
+ </item>
+ <item>
+ <p>Removed bogus "\011" character sequence in
+ documentation.</p>
+ <p>
+ Own Id: OTP-8422</p>
+ </item>
+ <item>
+ <p>
+ The resolver routines failed to look up the own node name
+ as hostname, if the OS native resolver was erroneously
+ configured, bug reported by Yogish Baliga, now fixed.</p>
+ <p>
+ The resolver routines now tries to parse the hostname as
+ an IP string as most OS resolvers do, unless the native
+ resolver is used.</p>
+ <p>
+ The DNS resolver inet_res and file resolver inet_hosts
+ now do not read OS configuration files until they are
+ needed. Since the native resolver is default, in most
+ cases they are never needed.</p>
+ <p>
+ The DNS resolver's automatic updating of OS configuration
+ file data (/etc/resolv.conf) now uses the 'domain'
+ keyword as default search domain if there is no 'search'
+ keyword.</p>
+ <p>
+ Own Id: OTP-8426 Aux Id: OTP-8381 </p>
+ </item>
+ <item>
+ <p>
+ The re module: A regular expression with an option change
+ at the start of a pattern that had top-level alternatives
+ could cause overwriting and/or a crash. (Thanks to
+ Michael Santos.)</p>
+ <p>
+ Own Id: OTP-8438</p>
+ </item>
+ <item>
+ <p>
+ Harmless buffer overflow by one byte in asn1 and
+ ram_file_drv.</p>
+ <p>
+ Own Id: OTP-8451</p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Improved GC performance after BIF/NIF call when a lot of
+ heap fragments was created. This will mainly benefit NIFs
+ that return large compound terms.</p>
+ <p>
+ Own Id: OTP-8240</p>
+ </item>
+ <item>
+ <p>Incompatible changes in the experimental NIF
+ feature.</p> <list><item> Changed the NIF function
+ prototypes in order to allow more than 3 function
+ arguments. </item><item> <c>enif_get_data</c> renamed as
+ <c>enif_priv_data</c>. </item><item>
+ <c>enif_make_string</c> got a third argument for
+ character encoding. </item><item> The return value of
+ <c>erlang:load_nif/2</c> on error changed. </item></list>
+ <p>Read more in the documentation of <c>erl_nif</c> and
+ <c>erlang:load_nif/2</c></p>.
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-8304</p>
+ </item>
+ <item>
+ <p>Cross compilation improvements and other build system
+ improvements.</p>
+ <p>Most notable:</p> <list><item> Lots of cross
+ compilation improvements. The old cross compilation
+ support was more or less non-existing as well as broken.
+ Please, note that the cross compilation support should
+ still be considered as experimental. Also note that old
+ cross compilation configurations cannot be used without
+ modifications. For more information on cross compiling
+ Erlang/OTP see the <c>$ERL_TOP/INSTALL-CROSS.md</c> file.
+ </item><item> Support for staged install using <url
+ href="http://www.gnu.org/prep/standards/html_node/DESTDIR.html">DESTDIR</url>.
+ The old broken <c>INSTALL_PREFIX</c> has also been fixed.
+ For more information see the <c>$ERL_TOP/INSTALL.md</c>
+ file. </item><item> Documentation of the <c>release</c>
+ target of the top <c>Makefile</c>. For more information
+ see the <c>$ERL_TOP/INSTALL.md</c> file. </item><item>
+ <c>make install</c> now by default creates relative
+ symbolic links instead of absolute ones. For more
+ information see the <c>$ERL_TOP/INSTALL.md</c> file.
+ </item><item> <c>$ERL_TOP/configure --help=recursive</c>
+ now works and prints help for all applications with
+ <c>configure</c> scripts. </item><item> Doing <c>make
+ install</c>, or <c>make release</c> directly after
+ <c>make all</c> no longer triggers miscellaneous
+ rebuilds. </item><item> Existing bootstrap system is now
+ used when doing <c>make install</c>, or <c>make
+ release</c> without a preceding <c>make all</c>.
+ </item><item> The <c>crypto</c> and <c>ssl</c>
+ applications use the same runtime library path when
+ dynamically linking against <c>libssl.so</c> and
+ <c>libcrypto.so</c>. The runtime library search path has
+ also been extended. </item><item> The <c>configure</c>
+ scripts of <c>erl_interface</c> and <c>odbc</c> now
+ search for thread libraries and thread library quirks the
+ same way as <c>erts</c> do. </item><item> The
+ <c>configure</c> script of the <c>odbc</c> application
+ now also looks for odbc libraries in <c>lib64</c> and
+ <c>lib/64</c> directories when building on a 64-bit
+ system. </item><item> The <c>config.h.in</c> file in the
+ <c>erl_interface</c> application is now automatically
+ generated in instead of statically updated which reduces
+ the risk of <c>configure</c> tests without any effect.
+ </item></list>
+ <p>(Thanks to Henrik Riomar for suggestions and
+ testing)</p>
+ <p>(Thanks to Winston Smith for the AVR32-Linux cross
+ configuration and testing)</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-8323</p>
+ </item>
+ <item>
+ <p>NIF improvements:</p> <list><item> Driver API for
+ multi-threading made available for NIFs. </item><item>
+ Support for mempory managed (garbage collected) resource
+ objects. A way to pass "pointers" to native data
+ structures between C and Erlang in a safe way.
+ </item><item> Support for references, floats and term
+ comparison. </item><item> Various new functions, like
+ <c>enif_inspect_iolist_as_binary</c>,
+ <c>enif_make_sub_binary</c>, <c>enif_get_string</c>,
+ <c>enif_get_atom</c>, <c>enif_make_tuple_from_array</c>,
+ <c>enif_make_list_from_array</c>,
+ <c>enif_make_existing_atom</c>. </item></list>
+ <p>
+ Own Id: OTP-8335</p>
+ </item>
+ <item>
+ <p>
+ Minor alignment adjustments of scheduler specific data.</p>
+ <p>
+ Own Id: OTP-8341</p>
+ </item>
+ <item>
+ <p>The documentation is now possible to build in an open
+ source environment after a number of bugs are fixed and
+ some features are added in the documentation build
+ process. </p>
+ <p>- The arity calculation is updated.</p>
+ <p>- The module prefix used in the function names for
+ bif's are removed in the generated links so the links
+ will look like
+ "http://www.erlang.org/doc/man/erlang.html#append_element-2"
+ instead of
+ "http://www.erlang.org/doc/man/erlang.html#erlang:append_element-2".</p>
+ <p>- Enhanced the menu positioning in the html
+ documentation when a new page is loaded.</p>
+ <p>- A number of corrections in the generation of man
+ pages (thanks to Sergei Golovan)</p>
+ <p>- The legal notice is taken from the xml book file so
+ OTP's build process can be used for non OTP
+ applications.</p>
+ <p>
+ Own Id: OTP-8343</p>
+ </item>
+ <item>
+ <p>
+ There is new <c>erlang:binary_to_term/2</c> BIF that
+ takes an option list. The option <c>safe</c> can be used
+ to prevent creation of resources that are not garbage
+ collected (such as atoms). (Thanks to Jayson Vantuyl.)</p>
+ <p>
+ Own Id: OTP-8367</p>
+ </item>
+ <item>
+ <p>
+ The default settings for garbage collection of binaries
+ has been adjusted to be less aggressive than in R13B03.
+ It is now also possible configure the settings for binary
+ GC. See the documentation for <c>spawn_opt/2-5</c>,
+ <c>erlang:system_info/1</c>, <c>erlang:system_flag/2</c>,
+ <c>process_flag/2-3</c>, <c>erlang:trace/3</c>, and the
+ documenation for <c>erl</c> for the new command line
+ options <c>+hms</c> and <c>+hmbs</c>.</p>
+ <p>
+ Own Id: OTP-8370</p>
+ </item>
+ <item>
+ <p>
+ A bug causing memory corruption in re:run() has been
+ corrected. (Thanks to Yamashina Hio.)</p>
+ <p>
+ Own Id: OTP-8375</p>
+ </item>
+ <item>
+ <p>
+ The <c>-Werror</c> option for <c>erlc</c> and the
+ compiler option <c>warnings_as_errors</c> will cause
+ warnings to be treated as errors. (Thanks to Christopher
+ Faulet.)</p>
+ <p>
+ Own Id: OTP-8382</p>
+ </item>
+ <item>
+ <p>
+ Explicit top directories in archive files are now
+ optional.</p>
+ <p>
+ For example, if an archive (app-vsn.ez) just contains an
+ app-vsn/ebin/mod.beam file, the file info for the app-vsn
+ and app-vsn/ebin directories are faked using the file
+ info from the archive file as origin. The virtual
+ direcories can also be listed. For short, the top
+ directories are virtual if they does not exist.</p>
+ <p>
+ Own Id: OTP-8387</p>
+ </item>
+ <item>
+ <p>
+ An unnecessary lock operation in os:timestamp/0 has been
+ eliminated, making it slightly more efficient. (Thanks to
+ Jonas Falkevik and Tuncer Ayaz.)</p>
+ <p>
+ Own Id: OTP-8390</p>
+ </item>
+ <item>
+ <p>
+ There is a new <c>+t</c> emulator option for changing the
+ maximum number of atoms. (Thanks to Julien Barbot.)</p>
+ <p>
+ Own Id: OTP-8405</p>
+ </item>
+ <item>
+ <p>
+ Fixed numerous compiler warnings generated by gcc 4.4.1
+ and tile-cc 2.0.1.78377 when compiling the runtime
+ system.</p>
+ <p>
+ Own Id: OTP-8412</p>
+ </item>
+ <item>
+ <p>
+ <c>configure</c> learned the option
+ <c>--enable-m32-build</c> to force the building of a
+ 32-bit run-time on systems where the default C compiler
+ generates 64-bit executables by default.</p>
+ <p>
+ Own Id: OTP-8415</p>
+ </item>
+ <item>
+ <p>
+ HiPE now works in the 64-bit emulator on Mac OS X.
+ (Thanks to Geoff Cant.)</p>
+ <p>
+ Own Id: OTP-8416</p>
+ </item>
+ <item>
+ <p>
+ Improved handling of symbolic links to escripts</p>
+ <p>
+ Own Id: OTP-8417</p>
+ </item>
+ <item>
+ <p>
+ Add lock profiling tool.</p>
+ <p>
+ The Lock profiling tool, lcnt, can make use of the
+ internal lock statistics when the runtime system is built
+ with this feature enabled.</p>
+ <p>
+ This provides a mechanism to examine potential lock
+ bottlenecks within the runtime itself.</p>
+ <p>
+ - Add erts_debug:lock_counters({copy_save, bool()}). This
+ option enables or disables statistics saving for
+ destroyed processes and ets-tables. Enabling this might
+ consume a lot of memory.</p>
+ <p>
+ - Add id-numbering for lock classes which is otherwise
+ undefined.</p>
+ <p>
+ Own Id: OTP-8424</p>
+ </item>
+ <item>
+ <p>
+ Removed spurious options to the emulator from escript.</p>
+ <p>
+ Own Id: OTP-8427</p>
+ </item>
+ <item>
+ <p>
+ Minor documentation fixes. Mainly anchor adjustments.</p>
+ <p>
+ Own Id: OTP-8457</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Erts 5.7.4</title>
<section><title>Fixed Bugs and Malfunctions</title>
@@ -4264,7 +4681,7 @@
</item>
<item>
<p>The runtime system with SMP support did not slowly adjust
- it's view of time when the system time suddenly changed.</p>
+ its view of time when the system time suddenly changed.</p>
<p>Timeouts could sometimes timeout too early on the runtime
system with SMP support.</p>
<p>Own Id: OTP-6202</p>