Bug fix release : otp_src_R13B03 Build date : 2009-11-23 This is R13B03, the third maintenance release for the R13B major release. You can find the README file for the release at http://www.erlang.org/download/otp_src_R13B03.readme (this file) The source distribution and binary distribution for Windows can be downloaded from http://www.erlang.org/download/otp_src_R13B03.tar.gz http://www.erlang.org/download/otp_win32_R13B03.exe The distribution can also be downloaded using the BitTorrent protocol. Use the following torrent files to download the source distribution and binary distribution for Windows: http://www.erlang.org/download/otp_src_R13B03.tar.gz.torrent http://www.erlang.org/download/otp_win32_R13B03.exe.torrent Note: To unpack the TAR archive you need a GNU TAR compatible program. For installation instructions please read the README file that is part of the distribution. The on-line documentation can be found at: http://www.erlang.org/doc/ You can also download the complete HTML documentation or the Unix manual files http://www.erlang.org/download/otp_doc_html_R13B03.tar.gz http://www.erlang.org/download/otp_doc_man_R13B03.tar.gz We also want to thank those that sent us patches, suggestions and bug reports, The OTP Team --- HIGHLIGHTS ---------------------------------------------------------- OTP-8220 A module can have native implemented functions (NIFs) that are dynamically loaded by calling erlang:load_nif/2. This is an experimental feature that is not yet intended for production systems. It is released with intention to get some early feedback on the interfaces before they are carved in stone. --- documentation ------------------------------------------------------- OTP-8282 Removed bogus "\011" character sequence in documentation. --- otp ----------------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8264 OTP can be built and run on Windows 7. --- appmon-2.1.10.2 ----------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- asn1-1.6.12 --------------------------------------------------------- OTP-8256 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- common_test-1.4.6 --------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8235 For a failed test case, the tc_done event is supposed to report info on the form {failed,Error}. Only Error was reported, however, which has now been fixed. OTP-8284 It is now possible to fail a test case from the end_per_testcase/2 function, by returning {fail,Reason}. OTP-8285 It is now possible to fail a test case by having the end_tc/3 framework function return {fail,Reason} for the test case. OTP-8286 The test_server framework API (e.g. the end_tc/3 function) has been modified. See the test_server_ctrl documentation for details. OTP-8287 Various updates of the test events have been implemented. The data field for some events, such as tc_done and tc_auto_skip has been modified to make pattern matching on the data easier and more consistent. Also the order in which some events are received has been altered. E.g. the tc_auto_skip event for a test case now comes after the tc_done for the failed configuration function (not before) which makes more sense. Note that no new events have been added and that the event record remains unchanged. OTP-8288 The marquee used for test names on the all_runs.html page has been removed on request. Note that the test name field has the full text string in a title tag, which is displayed when hovering the mouse pointer over it (i.e. if the web browser supports title tags). OTP-8289 If the init_per_testcase/2 function fails, the test case now gets marked and counted as auto skipped, not user skipped (which would previously happen). OTP-8290 It is now possible to refresh the top level index files in an arbitrary log directory by specifying a {refresh_logs,LogDir} tuple in the ct:run_test/1 options list. Also the -refresh_logs flag for the run_test script has been extended to take an optional LogDir argument, i.e. -refresh_logs [LogDir]. If no LogDir is specified, current working directory is assumed, unless the log directory is set with the -logdir flag. OTP-8294 It was previously required that test suites were located under a test object (or OTP application) sub-directory named "test" (or under a directory named "_test"). This has been changed so that Common Test now looks for suites primarily in a test sub-directory only if the directory exists. Otherwise it will assume the suites are stored in the same directory the user specifies with e.g. the 'dir' start flag/option. --- compiler-4.6.4 ------------------------------------------------------ OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8238 The compiler's 'E' option now works with modules with types and specifications. OTP-8269 The compiler could crash if invalid calls to is_record/2 was used in (for example) a list comprehension. (Thanks to Tobias Lindahl.) OTP-8271 Certain uses of binary matching in a begin-end in a list comprehension could cause the compiler to crash or generate incorrect code. OTP-8295 The -on_load() directive can be used to run a function when a module is loaded. It is documented in the section about code loading in the Reference Manual. --- cosEvent-2.1.7 ------------------------------------------------------ OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- cosEventDomain-1.1.7 ------------------------------------------------ OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- cosFileTransfer-1.1.9 ----------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- cosNotification-1.1.12 ---------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- cosProperty-1.1.10 -------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- cosTime-1.1.7 ------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- cosTransactions-1.2.8 ----------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- crypto-1.6.2 -------------------------------------------------------- OTP-8068 An erroneous type spec for gen:start/6 caused dialyzer to erroneously issue warnings when {spawn_opt, SpawnOptionList} was passed in the option list to the gen_server and gen_fsm start functions. OTP-8261 Fixed emulator crash caused by crypto using an old openssl version that did not cope with large file descriptors. --- crypto-1.6.3 -------------------------------------------------------- OTP-8200 Suppressed false valgrind errors caused by libcrypto using uninitialized data as entropy. OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8281 When the crypto application failed to load the OpenSSL/LibEAY shared object, error indication was sparse. Now a more specific error message is sent to the error logger. --- debugger-3.2.1 ------------------------------------------------------ OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- dialyzer-2.1.0 ------------------------------------------------------ OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8300 Dialyzer can statically detect some kinds of data races in Erlang programs. Use the new option -Wrace_conditions to enable the race analysis. The technique is described in a paper which is available at: http://www.it.uu.se/research/group/hipe/dialyzer/publications /races.pdf Added support for packages (thanks to Maria Christakis). There has been a major change in the default mode of Dialyzer. Previously, the default mode was the GUI, while now it is the command line. As a result of this change, it is now possible to analyze a set of files/dirs with the command: dialyzer file1 ... fileN In other words, the -c (--command-line) option is no longer necessary, though it will be retained for some time for backwards compatibility. To start dialyzer's GUI use either of the following commands: dialyzer --gui %% for the old gs-based GUI dialyzer --wx %% for the new wx-based GUI (where available) There is a new option --apps which allows the user to easily refer to Erlang/OTP applications and include them in the analysis or in the building of the PLT. For example, we recommend building the PLT with: dialyzer --build_plt --apps erts kernel stdlib mnesia ... The new option can also take absolute file names as well as applications. Note that the application versions that will be included in the PLT are those that correspond to the Erlang/OTP system which is used. Dialyzer has a new wxWidgets based GUI (thanks to Elli Frangaki) for platforms where the wx application is available. --- docbuilder-0.9.8.6 -------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- edoc-0.7.6.5 -------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- erl_interface-3.6.4 ------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- erts-5.7.4 ---------------------------------------------------------- OTP-8193 The use of pthread_cond_timedwait() have been completely removed from the runtime system. This since its behavior is unpredictable when the system clock is suddenly changed. The previous use of it was harmless. OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8202 A new garbage collecting strategy for binaries which is more aggressive than the previous implementation. Binaries now has a virtual binary heap tied to each process. When binaries are created or received to a process it will check if the heap limit has been reached and if a reclaim should be done. This imitates the behavior of ordinary Erlang terms. The virtual heaps are grown and shrunk like ordinary heaps. This will lessen the memory footprint of binaries in a system. OTP-8205 The ErlDrvTermData term types used by driver_output_term() and driver_send_term() have been extended with the term types ERL_DRV_INT64, and ERL_DRV_UINT64 for passing 64-bit integers. Also the 64-bit integer data types ErlDrvSInt64 and ErlDrvUInt64 have been introduced. For more information see the erl_driver(3) documentation. OTP-8207 An insufficient stack allocation was made when reading CPU information on BSD operating systems. (Thanks Michael Turner and Akira Kitada) OTP-8209 A bug when supplying an argument without a dash directly after the program name when starting erlang could prevent distribution to start. This is now corrected. OTP-8215 [escript] The restriction that the first line in escripts must begin with #! has been removed. [escript] Some command line options to the escript executable has now been documented. For example you can run an escript in the debugger by just adding a command line option. [escript] The documentation of the escript header syntax has been clarified. For example the header is optional. This means that it is possible to directly "execute" .erl, .beam and.zip files. OTP-8218 A ticker process could potentially be blocked indefinitely trying to send a tick to a node not responding. If this happened, the connection would not be brought down as it should. OTP-8219 The instruction for building OTP on Windows was outdated and incomplete, the document is updated. Also the otp_build script required windows drives to show up in Cygwin using the /cygdrive prefix. That requirement is now removed. OTP-8220 A module can have native implemented functions (NIFs) that are dynamically loaded by calling erlang:load_nif/2. This is an experimental feature that is not yet intended for production systems. It is released with intention to get some early feedback on the interfaces before they are carved in stone. OTP-8221 The float/1 BIF would always force a garbage collection. The BIFs size/1, byte_size/1, bit_size/1, abs/1, and round/1 would force a garbage-collection if the result was not a sufficiently small integer. OTP-8225 The erlang:port_command/3 BIF has been added. erlang:port_command/3 is currently not auto imported, but it is planned to be auto imported in OTP R14. For more information see the erlang(3) documentation. OTP-8230 Using certain firewalls (i.e. MS IAS Client and certain versions of COMODO) could expose an undocumented behaviour in the Win32 socket interface causing the name resolution calls to hang infinitely. This is now worked around by adding possibilities for port programs under Windows to use overlapped I/O on their standard input/output file handles. OTP-8236 'configure --enable-darwin-64bit' would fail if Snow Leopard had been booted with the 64-bit kernel. (Thanks to Ryan M. Graham.) OTP-8242 Fixed bug on ETS tables with write_concurrency. The emulator could crash when doing a select or match with a bound key without finding any object. OTP-8245 The information-request / information-response, and group-leader-change-request / group-leader-changed-response signal pairs described below did not always adhere to the signal order guarantees of Erlang's signal model in the runtime system with SMP support. These signals could for example sometimes pass exit signals. The following BIFs behaviors can be modeled as if an asynchronous information-request signal is sent to Pid. If Pid is alive, it responds with an asynchronous information-response signal; otherwise, the runtime system responds with a no-such-process signal. When the response is received, the caller transforms it into the result of the BIF. is_process_alive(Pid) erlang:process_display(Pid, Type) process_info(Pid) process_info(Pid, ItemSpec) When Pid resides on the same node as the caller of group_leader(GroupLeader, Pid), the group_leader/2 BIFs behavior can be modeled as if an asynchronous group-leader-change-request signal is sent to Pid. If Pid is alive, it responds with an asynchronous group-leader-changed-response signal; otherwise, the runtime system responds with a no-such-process signal. When the response is received, the caller transforms it into the result of the BIF. The distributed case which only consists of an asynchronous group-leader-change-request signal and no response is not effected. OTP-8257 Errors in the system_profile documentation has been corrected. OTP-8279 Low watermark socket option modified high watermark instead of low watermark in the inet_driver. (Thanks to Feng Yu and Tuncer Ayaz) OTP-8297 A race condition could cause the runtime system with SMP support to end up in a completely unresponsive state. --- et-1.3.3 ------------------------------------------------------------ OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- eunit-2.1.4 --------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- gs-1.5.11 ----------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- hipe-3.7.4 ---------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8301 Misc updates. --- ic-4.2.23 ----------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- inets-5.2 ----------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8204 [httpc] Streaming to file did not work. OTP-8206 Fixing spelling in doc and code. OTP-8247 [ftpc] The *ls* operation (LIST command) with wildcards did not work properly. This function is documented as working on directories, but this is actually not according the standard. The LIST command is specified to operate on a directory or other group of files, or a file. Previously, an attempt was made to check if the listing returned by the server was actually an error message. This was done by changing remote directory (cd) into the (assumed) "directory". This may work if Pathname was actually a directory, but as this is not always the case, this test does not work. Instead, we now return the actual server result and leave the interpretation to the caller. OTP-8248 [httpc] Fixes various bugs in timeout and keep-alive queue handling. 1) When a queued request times out, the error message is sent the owner of the active request. 2) Requests in the keep-alive queue is forgotten when handler terminates. 3) Timeout out requests are retried. Jean-Sébastien Pédron OTP-8249 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8258 [ftpc] The FTP client has been changed in the following way: 1) It is now also possible to start a standalone FTP client process using the re-introduced ftp:open function. This is an alternative to starting the client using the Inets service framework. 2) Previously, the FTP client attempted to use IPv6, unless otherwise instructed (the ip_v6_disabled flag), and only used IPv4 if this did not work. This has now been *changed*. A new option, ipfamily, has been introduced, with the default value *inet* (IPv4). See ftp:open for more info. OTP-8280 [httpd] Unnecessarily strict matching when handling closing sockets. --- inviso-0.6.1 -------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- jinterface-1.5.2 ---------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- kernel-2.13.4 ------------------------------------------------------- OTP-8198 A link in pg2(3) has been fixed. (Thanks to Christophe Romain.) OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8218 A ticker process could potentially be blocked indefinitely trying to send a tick to a node not responding. If this happened, the connection would not be brought down as it should. OTP-8259 A bug in pg2 when members who died did not leave process groups has been fixed. (Thanks to Matthew Dempsky.) OTP-8266 The top directory in archive files does not need to have a -vsn suffix anymore. For example if the archive file has the name like mnesia-4.4.7.ez the top directory in the archive can either be named mnesia or mnesia-4.4.7. If the archive file has a name like mnesia.ez the top directory in the archive must be named mnesia as earlier. OTP-8295 The -on_load() directive can be used to run a function when a module is loaded. It is documented in the section about code loading in the Reference Manual. --- megaco-3.12 --------------------------------------------------------- OTP-8183 Improve handling of async transaction reply. For requests issued using megaco:cast, asynchronous, the reply will be delivered using the handle_transaction_reply callback function. If a receiver of a request does not reply in time, megaco re-sends the request. If the receiver of the request sends the reply at the same time as the sender re-sends, it will also send a reply to the resent request (thinking the first reply got lost). These two replies may arrive more or less at the same time causing confusion if the request had been issued using megaco:cast. In order to improve this situation, a number of improvements have been done: 1) When the first reply arrives, we start a timer. The timeout time for the timer is specified by the config option: request_keep_alive_timeout 2) We also keep track of how many replies has been received (we do this as long as the request_keep_alive timer is running). 3) Each reply that arrives while the timer is running (including the first) will be delivered using the handle_trans_reply callback function, but with the UserReply augmented to include a serial number indicating which reply number this is. The first reply will be zero (0). Note that if the timer was *not* configured, megaco will act exactly as before! 4) Replies arriving after the timer has expired will be delivered in the same way as before, using the handle_unexpected_trans callback function. OTP-8212 If the megaco app received a transaction reply, for a request issued using the megaco:call function, from the wrong MG (wrong MId), megaco would still deliver the reply as if it came from the correct MG (right MId). This has been changed so that instead the function will return with the error reason. See megaco:call for more info. --- megaco-3.13 --------------------------------------------------------- OTP-8239 A minor optimization by using ets:update_element instead of ets:insert for some table updates. OTP-8249 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- mnesia-4.4.12 ------------------------------------------------------- OTP-8250 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- observer-0.9.8.1 ---------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- odbc-2.10.6 --------------------------------------------------------- OTP-8250 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8291 Applied a patch from Andrew Thompson, which fixes some error cases. --- orber-3.6.14 -------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- os_mon-2.2.4 -------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8211 Memsup did not read memory correctly on MaxOSX Snowleopard. This has now been corrected. (Thanks to Joel Reymont) OTP-8226 Removed unused code in cpu_sup.erl. --- otp_mibs-1.0.6 ------------------------------------------------------ OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- parsetools-2.0.1 ---------------------------------------------------- OTP-8197 A minor bug in leex(3) has been fixed. OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8231 leex no longer uses the deprecated regexp module. --- percept-0.8.3 ------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- pman-2.7.1 ---------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- public_key-0.4 ------------------------------------------------------ OTP-8250 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- reltool-0.5.1 ------------------------------------------------------- OTP-8199 In the new release of Reltool (0.5) there is a severe bug that may cause your source files to be deleted. The bug is triggered when you generate a target system WITH archive files AND your library directories are given with absolute paths. (Library directories are given with the ERL_LIBS environment variable or with the lib_dirs configuration parameter.) --- reltool-0.5.2 ------------------------------------------------------- OTP-8254 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the HTML frames are removed. --- runtime_tools-1.8.2 ------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- sasl-2.1.8 ---------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- snmp-4.14 ----------------------------------------------------------- OTP-8223 [compiler] Include object and notification groups in the compiled mib. This will make it possible to import groups from other mibs. Also the SNMPv2-MIB-file has been updated to a more up-to-date version. OTP-8228 [manager] Added support for message filtering in the network interface module provided with the application. The component that actually make the filter decisions is the network interface filter module. This module must implement the network interface filter behaviour for message filtering. See also the Configuring the application chapter of the User's Guide to see how to configure this feature. OTP-8237 The MIBs delivered as part of the application is now also available as man pages, section 7. --- snmp-4.15 ----------------------------------------------------------- OTP-8229 [manager] When information of an unknown agent is received, it was previously delivered to the default user via calls to all the functions of the callback API depending on the info type (pdu, trap, report or inform). The problem was that the TargetName argument was useless in this case (only an already known agent has a known/valid TargetName, but the TargetName used in these call was generated "on the fly"). This has now been changed so that when a message is received from an unknown agent, then only handle_agent (for the default user) is called, but now this call also has a Type argument, which is pdu | trap | report | inform depending on what kind of message was actually received, thus making it possible for the user to properly analyze the data received. To handle this, the snmpm_user behaviour has been updated. OTP-8249 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- ssh-1.1.7 ----------------------------------------------------------- OTP-8121 Now clear all processes when a connection is terminated. OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8277 In some rare cases the connection handler could enter an infinite loop. OTP-8278 If an SFTP server did not respond with EOF, the function ssh_sftp:list_dir/2/3 would enter an infinite loop. --- ssl-3.10.5 ---------------------------------------------------------- OTP-8224 Allow clients to not send certificates if option fail_if_no_peer_cert was not set. OTP-8244

A ssl:ssl_accept/3 could crash a connection if the timing was wrong.

Removed info message if the socket closed without a proper disconnect from the ssl layer.

ssl:send/2 is now blocking until the message is sent.

--- ssl-3.10.6 ---------------------------------------------------------- OTP-8275 The ssl:ssl_accept/3 issue was not properly fixed in the previous patch, see OTP-8244. --- ssl-3.10.7 ---------------------------------------------------------- OTP-8218 A ticker process could potentially be blocked indefinitely trying to send a tick to a node not responding. If this happened, the connection would not be brought down as it should. OTP-8250 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8260 Code cleanup from Kostis. --- stdlib-1.16.3.1 ----------------------------------------------------- OTP-8068 An erroneous type spec for gen:start/6 caused dialyzer to erroneously issue warnings when {spawn_opt, SpawnOptionList} was passed in the option list to the gen_server and gen_fsm start functions. OTP-8261 Fixed emulator crash caused by crypto using an old openssl version that did not cope with large file descriptors. --- stdlib-1.16.4 ------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8215 [escript] The restriction that the first line in escripts must begin with #! has been removed. [escript] Some command line options to the escript executable has now been documented. For example you can run an escript in the debugger by just adding a command line option. [escript] The documentation of the escript header syntax has been clarified. For example the header is optional. This means that it is possible to directly "execute" .erl, .beam and.zip files. OTP-8216 Optimized array:from_orddict/1, it is now faster and uses less memory if the orddict was sparse. Changed array:reset/2, it will now never expand the array which it could before for non fixed arrays. See the documentation. OTP-8227 The Erlang Pretty Printer (erl_pp) now puts the leading [ of list comprehensions as well as the leading << of bit string comprehensions on a separate line in order to expose the Cover counter of the template. OTP-8232 The extension ".xrl" used for Leex input files is now recognized by the compiler. OTP-8255 Some clarifications have been made in the documentation regarding gen_server, gen_fsm, and gen_event behavior when handling 'EXIT' messages from the parent process. For more information see the gen_server(3), gen_fsm(3), and gen_event(3) documentation. OTP-8295 The -on_load() directive can be used to run a function when a module is loaded. It is documented in the section about code loading in the Reference Manual. --- syntax_tools-1.6.4 -------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- test_server-3.3.5 --------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8284 It is now possible to fail a test case from the end_per_testcase/2 function, by returning {fail,Reason}. OTP-8285 It is now possible to fail a test case by having the end_tc/3 framework function return {fail,Reason} for the test case. OTP-8286 The test_server framework API (e.g. the end_tc/3 function) has been modified. See the test_server_ctrl documentation for details. OTP-8289 If the init_per_testcase/2 function fails, the test case now gets marked and counted as auto skipped, not user skipped (which would previously happen). --- toolbar-1.4.1 ------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- tools-2.6.5 --------------------------------------------------------- OTP-8188 The coverage analysis tool cover has been improved when it comes to handling list and bit string comprehensions (a counter for each qualifier), bit syntax expressions (the Value and Size expressions), and try expressions (the body called Exprs in the Reference Manual). A few (not all) situations where several expressions are put on the same line are also handled better than before. OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8210 Emacs erlang-mode improvements. A lot of erlang compilation improvements from Tomas Abrahamsson, two new options erlang-compile-erlang-function and erlang-compile-extra-opts. Compilation splits the window to two windows. Fixed next-error. Applied patch from Victor Ren, which fixes how erlang-templates are loaded so they don't interfere with other modes. Changed the font highlighting and improved indentation of try catch after constructs, and various other fixes. Added rudimentary support for type() and spec(). Added a large patch from Anders Dahlin which reworked when indentation and the syntax highlighting. OTP-8270 When loading Cover compiled code on remote nodes running code in the loaded module, a badarg failure was sometimes the result. This bug has been fixed. OTP-8273 The short-circuit operators andalso and orelse are now handled correctly by the coverage analysis tool cover (it is no longer checked that the second argument returns a Boolean value.) --- tv-2.1.4.4 ---------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- typer-0.1.7.3 ------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- webtool-0.8.5 ------------------------------------------------------- OTP-8201 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. --- wx-0.98.4 ----------------------------------------------------------- OTP-8243 Added wx_object improvements from Mazen. Fixed pid issues, reported by Mazen. Added wxLogNull class, reported by Amit Murthy. Various configure fixes. OTP-8250 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed. OTP-8292 wx now builds with wxWidgets 2.8.4 or a later 2.8 release, thanks Nico Kruber. --- xmerl-1.2.3 --------------------------------------------------------- OTP-8251 A continuation clause of parse_reference/3 had it's parameters in wrong order. OTP-8252 A new option to turn off the parsing of an external DTD is added to xmerl_sax_parser:file/2 and xmerl_sax_parser:stream/2 (skip_external_dtd). OTP-8253 The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed.