Bug fix release : otp_src_R14B03 Build date : 2011-05-24 This is R14B03, the third maintenance release for the R14B major release. You can find the README file for the release at http://www.erlang.org/download/otp_src_R14B03.readme (this file) The source distribution and binary distribution for Windows can be downloaded from http://www.erlang.org/download/otp_src_R14B03.tar.gz http://www.erlang.org/download/otp_win32_R14B03.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_R14B03.tar.gz.torrent http://www.erlang.org/download/otp_win32_R14B03.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_R14B03.tar.gz http://www.erlang.org/download/otp_doc_man_R14B03.tar.gz We also want to thank those that sent us patches, suggestions and bug reports, The OTP Team --- HIGHLIGHTS ---------------------------------------------------------- OTP-9321 == diameter == Initial release of the diameter application. --- otp ----------------------------------------------------------------- OTP-9176 Use of escript in documentation build is straightened up. Thanks to Boris Mühmer for the initial patch. OTP-9287 The find_redist script has been updated to support new windows SDKs, thanks to Dave Cottlehuber. --- asn1-1.6.17 --------------------------------------------------------- OTP-9286 Test cases which started failing when timer:tc was changed to not catch are corrected. OTP-9303 The bounds checking in the asn1_erl_driver when the length value of a TLV is a Long Definite Length is corrected. Thanks to Vance Shipley. --- common_test-1.5.3.1 ------------------------------------------------- OTP-9200 Removes backwards incompatability introduced between test_server and common_test in R14B02. --- common_test-1.5.4 --------------------------------------------------- OTP-9159 It was previously not possible to use timetrap value 'infinity' with ct:timetrap/1. This has been fixed. OTP-9160 It is now possible to return a tuple {fail,Reason} from init_per_testcase/2. The result is that the associated test case gets logged as failed without ever executing. OTP-9161 Common Test now accepts, but ignores, empty test case group specifications. OTP-9195 The Common Test VTS mode has been updated to be able to report test results of suites that include test case groups (when it would previously crash). OTP-9210 Common Test now refreshes the very top level index.html page at the start of each individual test in a test run, so that progress of the ongoing test can be tracked by following the link to its overview page. OTP-9233 A bug that made it impossible to cancel the previous timetrap when calling ct:timetrap/1 has been corrected. OTP-9264 Fix bug which would make cth's to not be removed when out of scope when adding a cth in suite/0 and crashing in pre_init_per_suite. --- compiler-4.7.4 ------------------------------------------------------ OTP-9134 If a variable is matched out in binary matching and used as the size for a binary element, it would seem to be unbound if used in a subsequent match operation. (Thanks to Bernard Duggan.) OTP-9152 Eliminate incorrect warning in sys_core_fold --- cosEvent-2.1.11 ----------------------------------------------------- OTP-9319 Removed superfluous usage of shy in the documentation since it can cause problem if a buggy tool is used. --- cosEventDomain-1.1.11 ----------------------------------------------- OTP-9319 Removed superfluous usage of shy in the documentation since it can cause problem if a buggy tool is used. --- cosFileTransfer-1.1.11 ---------------------------------------------- OTP-9319 Removed superfluous usage of shy in the documentation since it can cause problem if a buggy tool is used. --- cosNotification-1.1.17 ---------------------------------------------- OTP-9319 Removed superfluous usage of shy in the documentation since it can cause problem if a buggy tool is used. --- cosProperty-1.1.14 -------------------------------------------------- OTP-9319 Removed superfluous usage of shy in the documentation since it can cause problem if a buggy tool is used. --- cosTime-1.1.11 ------------------------------------------------------ OTP-9319 Removed superfluous usage of shy in the documentation since it can cause problem if a buggy tool is used. --- cosTransactions-1.2.11 ---------------------------------------------- OTP-9319 Removed superfluous usage of shy in the documentation since it can cause problem if a buggy tool is used. --- crypto-2.0.2.2 ------------------------------------------------------ OTP-9225 Strengthened random number generation. (Thanks to Geoff Cant) --- crypto-2.0.3 -------------------------------------------------------- OTP-9172 Various small documentation fixes (Thanks to Bernard Duggan) OTP-9275 New crypto support for streaming of AES CTR and HMAC. (Thanks to Travis Jensen) OTP-9280 Due to standard library DLL mismatches between versions of OpenSSL and Erlang/OTP, OpenSSL is now linked statically to the crypto driver on Windows. This fixes problems starting crypto when running Erlang as a service on all Windows versions. --- dialyzer-2.4.3 ------------------------------------------------------ OTP-9175 Fix the name of an error function(Thanks to Maria christakis) OTP-9219 Fix crash related with the contract blame assignment patch OTP-9226 dialyzer/doc: synchronize manual.txt and dialyzer.xml (Thanks to Tuncer Ayaz) OTP-9278 Simplify Dialyzer's test suite structure *_SUITE.erl files are now automatically generated by the respective data directories by the Makefile. --- diameter-0.9 -------------------------------------------------------- OTP-9321 Initial release of the diameter application. OTP-9323 Documentation completion. --- docbuilder-0.9.8.10 ------------------------------------------------- OTP-9143 fop 1.0 crashed when building the docbuilder pdf with the following message "java.lang.IllegalArgumentException: factor < 0; was: -1".
This is a known bug in fop 1.0 (fop bug id: Bug 50524) when there is a word that consist of a single soft hyphen (&shy;). this has been fixed in fop source archive but not it's not in a release yet. It's fixed in our documentation by removing the soft hyphens where this is a problem. --- edoc-0.7.8 ---------------------------------------------------------- OTP-9165 Fix infinite loop for malformed edoc input When processing an edoc comment with ``` in it, if the comment ends without a matching ''' then an infinite loop occurs in the function edoc_wiki:strip_empty_lines/2. This change fixes that by adding a clause to return from the function upon the end of the comment input. This allows an error to be thrown to indicate the problem, which is the same behaviour as leaving either `` or ` unmatched. (Thanks to Taylor Venable) OTP-9301 Bugs concerning the option report_missing_types that was added in EDoc-0.7.7 have been corrected: the option was misspelled in the source, and local definitions as well as the function tags @private and @hidden were not handled correctly. (Thanks to Manolis Papadakis.) --- erl_docgen-0.2.5 ---------------------------------------------------- OTP-9261 The support for using Erlang specifications and types has been improved. --- erl_interface-3.7.4 ------------------------------------------------- OTP-9151 Fix using sizeof() for array given as function argument When using the sizeof() operator for an array given as function argument it returns the size of the pointer. In this case, the affected function hex(char digest[16], char buff[33]) will just print 4 or 8 byte instead of the full length of 16 bytes, on 32bit and 64bit systems respectively. (Thanks to Cristian greco) OTP-9241 Initialize to and to_name in erl_receive_msg. (Thanks to Göran Larsson) OTP-9252 erl_interface: fix compile error(Thanks to Michael Santos) --- erts-5.8.3.1 -------------------------------------------------------- OTP-9181 Ets table type ordered_set could order large integer keys wrongly on pure 64bit platforms. This is now corrected. OTP-9197 A "receive after timeout" could be lost in a process being garbage collected by another process. The garbage collect was either explicit using the garbage_collect/1 BIF, or implicit during code loading. The status of a process was unnecessarily set to waiting before a process was enqueued in a run queue. This bug was harmless up until OTP-R14B01. In OTP-R14B02 erlang:hibernate/3 was fixed (OTP-9125). After the introduction of OTP-9125, the previously harmless process status bug sometimes caused erroneous badarg exceptions from process_info(). OTP-9125 also introduced a thread unsafe access to the status field of a process which now also have been fixed. --- erts-5.8.3.2 -------------------------------------------------------- OTP-9258 Fix halfword emulator bug in ets:select_delete for ordered_set that caused emulator to crash. --- erts-5.8.4 ---------------------------------------------------------- OTP-9118 Fix binary and iolist overflow problems. Typically problems arose in length calculation where the result would exceed (1 bsl 32 - 1). OTP-9139 Using the old erlang shell (i.e. erl instead on werl) on windows and doing several init:restart's would eventually hang the VM. That is no longer the case. OTP-9140 Removed recursive C code when printing Erlang terms to buffers, avoiding stack overflows that could cause VM to crash. OTP-9145 The send_timeout option in gen_tcp did not work properly in active mode or with {active,once} options. This is now corrected. OTP-9150 New enif_is_exception function to allow NIFs to determine whether an ERL_NIF_TERM represents an exception. (Thanks to Steve Vinoski) OTP-9154 Fixed various typos across the documentation (Thanks to Tuncer Ayaz) OTP-9163 Remove duplicate stack entries which could occur after calling certain BIFs. OTP-9164 A race when starting two nodes simultaneously using run_erl has been removed. OTP-9189 Add documentation on .erlang processing back again (Thanks to Gabor Liptak) OTP-9192 Remove gratuitous paren in driver_entry(Thanks to Tuncer Ayaz) OTP-9194 Fix some wrong pointer dereferences (Thanks to Cristian Greco) OTP-9205 erts: Remove unused variables (Thanks to Tuncer Ayaz) OTP-9209 The documentation for init:get_args/0 has been removed. init:get_args/0 itself was deprecated in R9C and removed in R12B. (Thanks to Eric Pailleau.) OTP-9211 A process being garbage collected by another process could be scheduled on another scheduler. This prevented this scheduler from doing any useful work until the garbage collection was done. This either occurred due to a explicit call to the garbage_collect/1 BIF, or due to a garbage collection part of code loading. A process being garbage collected like this will now not be scheduled until the garbage collection has completed. OTP-9213 Allow user to specify the IP address epmd binds to The IP address(es) epmd binds to can now be specified by the user, either via epmd's new "-address" option or (if that's not used) by setting the environment variable ERL_EPMD_ADDRESS. Multiple addresses may be specified using a comma-separated list. If the loopback address is not in this list, it will be added implicitly, so that the daemon can be queried by an interactive epmd process.(Thanks to Holger Weiß) OTP-9214 epmd: include host address in local access check In FreeBSD jails, the source and destination address of connections to localhost are changed to be the IP address of the jail. Consider connections from the host's IP address to itself (e.g., the source and destination address match) to be local for the access control checks. (Thanks to Michal Santos and Tom at diogunix.com) OTP-9215 Fix list returned by net_kernel:epmd_module Function epmd_module of net_kernel returns a list instead of an atom, when the epmd_module-flag is used. (Thanks to Markus Knofe) OTP-9223 Fix epmd's dbg_perror() output The dbg_perror() function now hands the current errno value over to dbg_gen_printf(). This fixes the problem that errno had been reset to zero by the time it was used (to print the corresponding error message) in the dbg_gen_printf() function. (Thanks to Holger Weiß) OTP-9224 heart: remove garbage appended to heart command heart:get_cmd/0 is documented to return an empty string if the command is cleared. get_cmd/0 returns 2 extra bytes: 1 byte for the trailing null, 1 byte from the op (the op is an unsigned char and 2 bytes are allocated for it in the returned buffer). (Thanks to Michael Santos) OTP-9245 file: fix hang reading compressed files The gzio driver goes into an infinite loop when reading past the end of a compressed file. Reported-By: Alex Morarash (Thanks to Michael Santos) OTP-9250 Eliminate alias warnings from gcc 4.5.2 OTP-9251 Unsigned integer may overflow in error message (Thanks to Michael Santos) OTP-9253 Driver names should be strings, not atoms OTP-9254 driver_entry: Remove gratuitous paren and fix typo (Thanks to Tuncer Ayaz) OTP-9262 Fix format specifiers in erl_exit messages Fix an error message by using an unsigned integer specifier as seen in a tweet by @metabrew: #erlang VM crashed with "no next heap size found: -2090496108, offset 0", suddenly allocated all available RAM Also correct mis-typed string formats in bif.c.(Thanks to Michael Santos) OTP-9263 net_drv: remove unused tcp request id inet_drv: remove gratuitous assignment (Thanks to Tuncer Ayaz) OTP-9270 Teach run_erl RUN_ERL_DISABLE_FLOWCNTRL for disabling flow control Flow control can cause unwanted behaviour of the beam process, if accidentally hit Ctrl-S (instead of Ctrl-D to detach) the entire beam may be blocked. Fix this problem by making it possible to turn off flow control by setting the environment variable RUN_ERL_DISABLE_FLOWCNTRL. (Thanks to Jonas Faklkevik) OTP-9276 Remove unnecessary validation copy in prim_file:drv_command/3 (Thanks to Tony Rogvall) OTP-9279 Symbolic link handling on windows have been slightly updated to map error conditions more consequently and correctly read directory links created outside of the Erlang environment. OTP-9280 Due to standard library DLL mismatches between versions of OpenSSL and Erlang/OTP, OpenSSL is now linked statically to the crypto driver on Windows. This fixes problems starting crypto when running Erlang as a service on all Windows versions. OTP-9281 The following bugs due to missing memory barriers have been fixed: ETS tables using the write_concurrency option could potentially get into an internally inconsistent state. ETS tables using the ordered_set option could potentially get into an internally inconsistent state. A number of memory barriers have been added when building with the libatomic_ops API (i.e. when passing --with-libatomic_ops=PATH to configure) and the tilera atomics API (i.e. when building for the tilera chip). Note that these bugs were due to erroneous usage of the APIs, and not in the implementations of the APIs. When using these APIs the following bugs where present: The BIF erlang:ports/0 could return an erroneous result. A thread blocking other threads during code loading, or setup of tracing could potentially read invalid data. Fixation of ETS tables could potentially get into an internally inconsistent state. OTP-9291 Halfword emulator memory handling improvements: Much more of internal memory structures have been made able to use "high" memory and are no longer restricted to the 4Gb limit that still applies for all process heap data. Fixed faulty values from erlang:memory() caused by 32-bit counter overflow. New counter low in erlang:memory() that sums up all memory restricted by 4Gb limit. OTP-9292 Fix halfword bug for ETS ordered_set when doing select/match with partly bound key. OTP-9297 The value set in the undocumented and unsupported ERL_version_FLAGS (e.g. ERL_R14B03_FLAGS) environment variable can now be overridden by the command line (similar to ERL_AFLAGS). OTP-9298 Fix bug in code:is_module_native that caused crash for deleted modules. OTP-9302 Calling driver_async_cancel() could cause a scheduler thread to enter an eternal loop doing no useful work. (Thanks to Anders Ramsell) --- et-1.4.3 ------------------------------------------------------------ OTP-9238 The popup window 'contents viewer' did not display properly on Windows. --- eunit-2.1.7 --------------------------------------------------------- OTP-9220 Increase depth of error messages in Eunit Surefire reports Currently, error messages in Eunit Surefire reports are shortened just like when written to a terminal. However, the space limitations that constrain terminal output do not apply here, so it's more useful to include more of the error message. The new depth of 100 should be enough for most cases, while protecting against runaway errors. (Thanks to Magnus Henoch) OTP-9269 Don't let eunit_surefire report back to eunit when stopping When eunit is terminating, a stop message is sent to all listeners and eunit then waits for *one* result message but previously both eunit_tty and eunit_surefire sent a response on error. Don't send a result message from eunit_surefire; let eunit_tty take care of all result reporting, both positive and negative to avoid race conditions and inconsistencies. (Thanks to Klas Johansson) --- hipe-3.8 ------------------------------------------------------------ OTP-9182 Fix hipe bug causing minor heap corruption related to binary matching. The bug has not been confirmed as the cause of any actual fault symptom. OTP-9198 Enable HiPE by default when compiling for PPC64 OTP-9277 Fix handling of <<_:N,_:_*M>> type expressions Fix the argument of erlang:list_to_bitstring/1 Remove unneeded function 'sequence/2' Same functionality provided by string:join/2. --- inets-5.6 ----------------------------------------------------------- OTP-9094 [httpc] Add support for upload body streaming (PUT and POST) OTP-9114 [ftp] Added (type) spec for all exported functions. OTP-9123 [httpd] mod_esi:deliver/2 made to accept binary data. OTP-9124 [httpd] Prevent XSS in error pages. Prevent user controlled input from being interpreted as HTML in error pages by encoding the reserved HTML characters. OTP-9131 [httpd] Wrong security property names used in documentation. security_data_file used instead of data_file. security_max_retries instead of max_retries. security_block_time instead of block_time. security_fail_expire_time instead of fail_expire_time. security_auth_timeout instead of auth_timeout. OTP-9157 [httpd] Improved error messages. OTP-9158 [httpd] Fix timeout message generated by mod_esi. When a mod_esi request times out, the code to send a timeout response was incorrect and generated an internal server error as well as an invalid response line. OTP-9172 Various small documentation fixes (Thanks to Bernard Duggan) OTP-9202 [httpd] Extended support for file descriptors. In order to be able to bind to a privileged port without running the erlang VM as root, the support for using file descriptors has been improved. It is now possible to add to the config (option fd) when calling the inets:start(httpd, ...) function. OTP-9230 Default ssl implementation changed to essl (erlang ssl). OTP-9246 [httpc] httpc manager crashes. When a request results in a retry, the request id will be "reused" in the previous implementation a race condition could occur causing the manager to crash. This is now avoided by using proc_lib:init_ack and gen_server:enter_loop to allow more advanced initialization of httpc_handlers without blocking the httpc_manger and eliminating extra processes that can cause race conditions. OTP-9289 Calling gen_tcp:connect with option {ip, {127,0,0,1}} results in an exit with reason badarg. Neither SSL nor INETS catches this, resulting in crashes with incomprehensible reasons. --- kernel-2.14.4 ------------------------------------------------------- OTP-9145 The send_timeout option in gen_tcp did not work properly in active mode or with {active,once} options. This is now corrected. OTP-9154 Fixed various typos across the documentation (Thanks to Tuncer Ayaz) OTP-9168 Fix typo in doc of rpc:pmap/3 (Thanks to Ricardo Catalinas Jiménez) OTP-9221 A bug in inet_res, the specialized DNS resolver, has been corrected. A late answer with unfortunate timing could cause a runtime exception. Some code cleanup and improvements also tagged along. Thanks to Evegeniy Khramtsov for a pinpointing bug report and bug fix testing. OTP-9268 Types and specifications have been added. OTP-9272 Erlang types and specifications are used for documentation. OTP-9337 Two opaque types that could cause warnings when running Dialyzer have been modified. --- mnesia-4.4.18 ------------------------------------------------------- OTP-9170 Call chmod without the "-f" flag "-f" is a non-standard chmod option which at least SGI IRIX and HP UX do not support. As the only effect of the "-f" flag is to suppress warning messages, it can be safely omitted. (Thanks to Holger Weiß) OTP-9186 Mnesia sometimes failed to update meta-information in large systems, which could cause table content to be inconsistent between nodes. --- mnesia-4.4.19 ------------------------------------------------------- OTP-9285 Mnesia could crash if mnesia:add_table_index/2 was invoked before the table was loaded on all nodes. OTP-9304 Add {majority, boolean()} per-table option. With {majority, true} set for a table, write transactions will abort if they cannot commit to a majority of the nodes that have a copy of the table. Currently, the implementation hooks into the prepare_commit, and forces an asymmetric transaction if the commit set affects any table with the majority flag set. In the commit itself, the transaction will abort if it cannot satisfy the majority requirement for all tables involved in the transaction.(Thanks to Ulf Wiger) --- orber-3.6.21 -------------------------------------------------------- OTP-9326 Eliminated Dialyzer warnings. --- os_mon-2.2.6 -------------------------------------------------------- OTP-9216 Add NetBSD support to memsup and disksup (Thanks to Andrew Thompson) OTP-9217 Add support for DragonFlyBSD to memsup DragonFly was partially supported by os_mon already but when trying to start the os_mon application it'd crash with an error about an unknown operating system in memsup. This patch changes memsup to use the FreeBSD sysctl method to get memory information when on DragonFly. (Thanks to Andrew Thompson ) --- public_key-0.12 ----------------------------------------------------- OTP-9144 The public_key application now supports encode/decode of ssh public-key files. --- reltool-0.5.6 ------------------------------------------------------- OTP-9135 The system level option app_files is documented to allow the values keep | strip | all, but it only allowed keep. This is corrected. OTP-9229 Allow the same module name in multiple applications visible to reltool, as long as all but one of the applications/modules are explicitely excluded. (Thanks to Andrew Gopienko and Jay Nelson) --- sasl-2.1.9.4 -------------------------------------------------------- OTP-9142 Remove traces of release_handler reading from filesystem when it has Masters list There are a couple of places in release_handler and release_handler_1 that assumed it has a disk to read from, which in the case of an erl_prim_loader Loader other than efile is not necessarily true Add check_paths/2 to do the equivalent of check_path/1 for when there is a Masters list Change get_vsn to no longer get sent File paths but instead use the Bin since beam_lib:version being sent a file path causes it to read the local file system Add get_current_vsn/1 as an equivalent to beam_lib:version(code:which(Mod)), but using erl_prim_loader:get_file instead of reading from local file system (Thanks to Steven Gravell) OTP-9146 Change default behaviour to not check src code when creating release Add new option src_tests to systools:make_script and systools:make_tar. The old option no_module_tests is now ignored as this is the default behaviour. OTP-9149 rb:stop did sometimes return {error,running}. This came from supervisor:delete_child and happened when the rb_server has not yet terminated when this function was called. Instead of having a separate gen_server call to rb_server for stopping the process, supervisor:terminate_child is now called. This is a synchronous function - i.e. it waits for the process to actually terminate before it returns. A file descriptor leak in rb:scan_files is corrected. The index file was never closed after reading. A mismatch in the behavior of rb:filter, when filter included 'no', is corrected. Such filters will now return *all* non-matching reports, not only the 'proplist' reports. OTP-9166 Start and end date for rb:filter/2 was specified as {{Y-M-D},...} in the help text instead of {{Y,M,D},...}. This has been corrected. OTP-9185 If some, but not all, of the sasl environment variables related to the log_mf_h error handler were missing sasl would successfully start but silently skip starting log_mf_h. This is corrected so sasl startup will now fail if one or two of the three variables are given. If none of the variables are given, sasl will start as before without starting log_mf_h. --- snmp-4.20 ----------------------------------------------------------- OTP-9022 Fixed encode/decode of values of type Counter32. This type is an unsigned integer 32, but is actually encoded as an signed integer 32, but the encode/decode function treated it as if it was encoded as an unsigned integer 32. OTP-9088 TBD OTP-9119 [agent] Add handling multiple engine-id(s) for trap sending. See snmp_community_mib:add_community/6 for more info. OTP-9162 [manager] Add override options argument to request functions. OTP-9174 [manager] The old API functions (for get and set requests) are now officially deprecated. They will be removed as of R16B. OTP-9183 [agent] Allow user to pass "extra info" to the net-if process when sending notifications. OTP-9208 Added type specs for functions that do not return. --- ssh-2.0.5 ----------------------------------------------------------- OTP-9225 Strengthened random number generation. (Thanks to Geoff Cant) --- ssh-2.0.6 ----------------------------------------------------------- OTP-9232 A memory leak has been fixed. I.e. per terminated connection the size of a pid and the length of a user name string was not cleared. --- ssh-2.0.7 ----------------------------------------------------------- OTP-9273 An unexpected message would crash the ssh_connection_handler and close the connection. Now an error message is generated instead. --- ssl-4.1.5 ----------------------------------------------------------- OTP-9227 Updated dialyzer spec OTP-9283 Invalidation of a session for reusing should first flag that the session may no longer be reused and then later when all possible pending reuses have been handled delete the session from the database. This could otherwise cause the client to terminate due to {badarg,[{erlang,byte_size,[undefined]}, and the server to terminate due to {{badmatch,{resumed,undefined}}. OTP-9289 Calling gen_tcp:connect with option {ip, {127,0,0,1}} results in an exit with reason badarg. Neither SSL nor INETS catches this, resulting in crashes with incomprehensible reasons. OTP-9310 In TLS 1.1, failure to properly close a connection no longer requires that a session not be resumed. This is a change from TLS 1.0 to conform with widespread implementation practice. Erlang ssl will now in TLS 1.0 conform to the widespread implementation practice instead of the specification to avoid performance issues. --- stdlib-1.17.4 ------------------------------------------------------- OTP-9147 The default value undefined was added to records field types in such a way that the result was not always a well-formed type. This bug has been fixed. OTP-9148 Update index file atomically Since the log_mf_h index file might be read by other processes than the error handler (e.g. by the rb tool), this file should be updated atomically. This will avoid hitting the time gap between opening the file in write mode (and thus emptying the file) and the actual update with the new contents. To do this, a temporary file is written, and the file:rename/1 used to replace the real index file. OTP-9154 Fixed various typos across the documentation (Thanks to Tuncer Ayaz) OTP-9167 Supervisors should not save child-specs for temporary processes when they terminate as they should not be restarted. Saving the temporary child spec will result in that you can not start a new temporary process with the same child spec as an already terminated temporary process. Since R14B02 you can not restart a temporary temporary process as arguments are no longer saved, it has however always been semantically incorrect to restart a temporary process. Thanks to Filipe David Manana for reporting this and suggesting a solution. OTP-9169 Add timer:tc/1 and remove the catch in tc/2 and tc/3. The time measuring functions will thus no longer trap exits, errors or throws caused by the measured function. OTP-9172 Various small documentation fixes (Thanks to Bernard Duggan) OTP-9201 Allow supervisor:terminate_child(SupRef,Pid) for simple_one_for_one supervisors supervisor:terminate_child/2 was earlier not allowed if the supervisor used restart strategy simple_one_for_one. This is now changed so that children of this type of supervisors can be terminated by specifying the child's Pid. (Thanks to Vance Shipley.) OTP-9218 Fix format_status bug for unregistered gen_event processes Port the gen_fsm code for format_status to gen_event in order to prevent a lists:concat([...,pid()]) crash when calling sys:get_status/1 on an unregistered gen_event process. Refactor format_status header code from gen_* behaviours to module gen. Extend the format_status tests in gen_event_SUITE to cover format_status bugs with anonymous gen_event processes. (Thanks To Geoff Cant) OTP-9242 List of pids changed to 'set' in supervisor for dynamic temporary children. Accessing the list would not scale well when adding/deleting many children. (Thanks to Evgeniy Khramtsov) OTP-9244 Change pool module to attempt to attach to nodes that are already running The pool module prints out an error message and takes no further action for nodes that are already running. This patch changes that behavior so that if the return from slave:start/3 is {already_running, Node} then an attempt to attach to the node is still made. This makes sense because the node has been specified by the user in the .hosts.erlang file indicating a wish for the node to be part of the pool and a manual attach can be successfully made after the pool is started.(Thanks to Kelly McLaughlin) OTP-9256 unicode: document 16#FFFE and 16#FFFF (non chars)(Thanks to Tuncer Ayaz) OTP-9267 Types and specifications have been added. OTP-9271 Erlang types and specifications are used for documentation. OTP-9282 Allow Dets tablenames to be arbitrary terms. OTP-9307 re: remove gratuitous "it " in manpage (Thanks to Tuncer Ayaz) OTP-9322 A bug in erl_eval(3) has been fixed. OTP-9333 A specification that could cause problems for Dialyzer has been fixed. An opaque type in erl_eval has been turned in to a ordinary type. This is a temporary fix. --- syntax_tools-1.6.7.1 ------------------------------------------------ OTP-9180 In a file containing declarations and comments without any empty lines between them, the recomment_forms() function would associate a multi-line comment with the declaration above it rather than the one following it. (Thanks to Richard Carlsson and Kostis Sagonas.) --- test_server-3.4.3.1 ------------------------------------------------- OTP-9200 Removes backwards incompatability introduced between test_server and common_test in R14B02. --- test_server-3.4.4 --------------------------------------------------- OTP-9138 When running tests with auto-compilation disabled, Common Test could only display the test suite source code on html format in the test case log if the source file was located in the same directory as the pre-compiled suite. This has been modified so that Common Test now tries to locate the source file by means of the test suite module info (Suite:module_info/1). As a result, a suite may now be compiled to a different output directory (e.g. $MYTEST/bin) than the source code directory (e.g. $MYTEST/src), without the source-code-to-html generation being affected. OTP-9159 It was previously not possible to use timetrap value 'infinity' with ct:timetrap/1. This has been fixed. OTP-9160 It is now possible to return a tuple {fail,Reason} from init_per_testcase/2. The result is that the associated test case gets logged as failed without ever executing. OTP-9233 A bug that made it impossible to cancel the previous timetrap when calling ct:timetrap/1 has been corrected. OTP-9249 Added DragonflyBSD check in test_server configure. --- tools-2.6.6.4 ------------------------------------------------------- OTP-9179 Change make:files to behave more like erlc This change removes the unnecessary checks on the files when make:files is called and allows the error checking to be done in compile:file, where the error messages are produced. It does not affect the return value. (Thanks to Sam bobroff) OTP-9204 add user specified compiler options on form reloading In order to be able to test non-exported functions from another (test) module it is necessary to compile the specific module (at least during the test phase) with the export_all compiler option. This allows complete separation of testing and productive code. At the moment it is not possible to combine this with a test code coverage using the cover module. The problem is that when cover compiling a module using cover:compile_* the code is reloaded into the emulator omitting/filtering the passed user options. In my example above the export_all option would be removed and the non-exported functions cannot be called any more. (Thanks to Tobias Schlager) OTP-9255 Inhibit electric newline after "->" when inside a type spec The Erlang mode for Emacs inserts a newline after every "->", which saves you one keystroke when writing a function, but that is inappropriate when writing a type spec, as you'd normally keep the spec on one line. This change inhibits the automatic insertion when the current line starts with "-spec" or "-type".(Thanks to Magnus Henoch) OTP-9300 Add a check logic to prevent file descriptor leak cover module handle files as raw in export and import. Assert counts of ports are the same at the beginning and at the end of the test case.(Thanks to Shunichi Shinohara) --- tv-2.1.4.7 ---------------------------------------------------------- OTP-9153 tv: Allow table viewer to display refs, ports and small binaries Table viewer displayed #Port, #Ref, or #Bin as place holders for their respective object types in ets and mnesia tables. This can make table viewer difficult to use when viewing tables containing those data types. It doesn't make sense to render large binaries so #Bin will still be used for binaries that exceed 100 bytes. (Thanks to Blaine whittle) --- typer-0.9.1 --------------------------------------------------------- OTP-9173 Add options -pa Dir and -pz Dir to TypEr Setting code path options is useful e.g. when analyzing programs that use parse transforms.(Thanks to Tomas Abrahamsson) --- webtool-0.8.8 ------------------------------------------------------- OTP-9172 Various small documentation fixes (Thanks to Bernard Duggan) --- wx-0.98.10 ---------------------------------------------------------- OTP-9324 Fixed wx app files on mac and solaris. Thanks Jachym Holecek and Joe Williams. --- xmerl-1.2.9 --------------------------------------------------------- OTP-9187 Fix minor typos and improve punctuation in the xmerl_xpath @doc comment (Thanks to Marcus Marinelli) OTP-9228 Added the xmerl test suites and examples to the open source distribution. OTP-9274 Prevent xmerl from over-normalizing character references in attributes Section 3.3.3 of the XML Recommendation gives the rules for attribute-value normalization. One of those rules requires that character references not be re-normalized after being replaced with the referenced characters. (Thanks to Tom Moertel) OTP-9288 Fixed the default encoding option in SAX parser.