Bug fix release : otp_src_R14B04 Build date : 2011-10-04 This is R14B04, the fourth maintenance release for the R14B major release. You can find the README file for the release at http://www.erlang.org/download/otp_src_R14B04.readme (this file) The source distribution and binary distribution for Windows can be downloaded from http://www.erlang.org/download/otp_src_R14B04.tar.gz http://www.erlang.org/download/otp_win32_R14B04.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_R14B04.tar.gz.torrent http://www.erlang.org/download/otp_win32_R14B04.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_R14B04.tar.gz http://www.erlang.org/download/otp_doc_man_R14B04.tar.gz We also want to thank those that sent us patches, suggestions and bug reports, The OTP Team --- otp ----------------------------------------------------------------- OTP-9491 Again: Call chmod without the "-f" flag Commit 7ed11a886fc8fcaf3c2b8324294e2f24e02b0f28 removed the "-f" flag from chmod calls in Makefiles: | "-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. Meanwhile, new "chmod -f" calls have been added. This commit removes the "-f" flag from those new calls. (Thanks to Holger Weiß) OTP-9555 Improve spelling throughout documentation, code comments and error messages --- asn1-1.6.18 --------------------------------------------------------- OTP-9536 Implement or fix -Werror option If -Werror is enabled and there are warnings no output file is written. Also make sure that error/warning reporting is consistent. (Thanks to Tuncer Ayaz) --- common_test-1.5.5 --------------------------------------------------- OTP-8933 Various corrections and updates to improve the handling and reporting of errors. OTP-9155 The dir and suite start option can now be used in combination. E.g. executing my_SUITE in directory my_tests can either be specified as "ct_run -suite my_tests/my_SUITE" or as "ct_run -dir my_tests -suite my_SUITE". Furthermore, the specification: ct:run_test([{suite,["./my_SUITE"]},{testcase,t1}]) is now interpreted as ct:run_test([{suite,"./my_SUITE"},{testcase,t1}]), i.e. only testcase t1 in test suite my_SUITE - not all cases - will be executed. OTP-9237 An error in how comments are colored in the test suite overview html log file has been corrected. As result, a new framework callback function, format_comment/1, has been introduced. OTP-9369 Automatically generated init- and end-configuration functions for test case groups caused incorrect execution order of test cases. This has been corrected. OTP-9370 If multiple directories were specified with the 'logdir' flag/option, Common Test would crash. This has been fixed so that an error is properly reported instead. OTP-9371 If ct:log/2 was called with bad arguments, this could cause the Common Test IO handling process to crash. This fault has been corrected. OTP-9372 A new option, 'logopts', has been introduced, to make it possible to modify some aspects of the logging behaviour in Common Test (or Test Server). For example, whenever an io printout is made, test_server adds newline (\n) to the end of the output string. This may not always be a preferred action and can therefore be disabled by means of "ct_run ... -logopts no_nl" (or ct:run_test([..., {logopts,[no_nl]}])). A new framework callback function, get_logopts/0, has been introduced (see the ct_framework module for details). OTP-9379 A bug has been fixed that made Test Server call the end_tc/3 framework function with an incorrect module name as first argument. OTP-9396 A new option, 'logopts', has been introduced, to make it possible to modify some aspects of the logging behaviour in Common Test (or Test Server). For example, if the html version of the test suite source code should not be generated during the test run (and consequently be unavailable in the log file system), the feature may be disabled by means of "ct_run ... -logopts no_src" (or ct:run_test([..., {logopts,[no_src]}])). A new framework callback function, get_logopts/0, has been introduced (see the ct_framework module for details). OTP-9398 If a timetrap timeout occured during execution of of a function in a lib module (i.e. a function called directly or indirectly from a test case), the Suite argument in the end_tc/3 framework callback function would not correctly contain the name of the test suite, but the lib module. (This would only happen if the lib module was compiled with ct.hrl included). This error has been solved. OTP-9429 Corrections of the vts mode. It will now report errors (about e.g. incorrect config files) instead of crashing or hanging. Furthermore, the requirement that the test directory name must have a "_test" suffix has been removed. Also, a workaround has been implemented for the limitation that the file browser (in many web browsers) will only return the basic file name, not the full directory path (which made it impossible to have config files in other directories than the main test directory). OTP-9445 CT Hooks can now be assigned a priority. The priority of a CTH determines when it should execute in relation to other CTHs. The CTH with the lowest priority will be executed first, CTHs with equal priority will be executed in the order which they were installed. OTP-9499 Add a proplist() type Recently I was adding specs to an API and found that there is no canonical proplist() type defined. (Thanks to Ryan Zezeski) OTP-9501 It is now possible to use a tuple {M,F,A}, or a fun, as timetrap specification in the suite info function or test case info functions. The function must return a valid timeout value, as documented in the common_test man page and in the User's Guide. OTP-9518 It is now possible to use the 'step' flag/option to run the debugger for test suites that contain test case groups. This previously caused Common Test to crash. If 'step config' is specified, breakpoints are now also automatically set on init_per_group and end_per_group. Note that breakpoints are always set automatically on test case functions and this is true also for grouped cases. OTP-9520 The test index page was not refreshed at the start of each test suite which made it impossible to follow test execution by means of refreshing the browser window (no links to follow). This has been fixed. OTP-9543 A new built-in common test hook has been added which captures error_logger and SASL event and prints them in the testcase log. To disable this (and any other built-in hooks) pass 'enable_builtin_hooks false' to common test. OTP-9564 Common Test now has the possibility to have built-in hooks which are started by default when any test is run. To disable built-in hooks pass 'enable_builtin_hooks false' to common test. See the common test hooks documentation for more details. OTP-9584 If a test suite would start with a test case group defined without the init_per_group/2 and end_per_group/2 function, init_per_suite/1 would not execute initially and logging of the test run would fail. This error has been fixed. OTP-9592 The "Missing Suites" link from the top level index page was incorrect and has been fixed. --- compiler-4.7.5 ------------------------------------------------------ OTP-9534 Compiler options given in the source code using a -compile() attribute used to be included twice in Mod:module_info(compile). They are now only included once at the beginning of the list of options. OTP-9571 beam_disasm: Handle stripped BEAM files beam_disasm:file/1 would crash if asked to disassemble a stripped BEAM file without an "Attr" chunk. (Thanks to Haitao Li) --- cosFileTransfer-1.1.12 ---------------------------------------------- OTP-9550 XML files have been corrected. --- crypto-2.0.3.1 ------------------------------------------------------ OTP-9566 crypto changed to be dynamically linked against OpenSSL --- crypto-2.0.3.2 ------------------------------------------------------ OTP-9603 Changed crypto and ssl to be dynamically linked to OpenSSL and use version 0.9.8 of OpenSSL (instead of 0.9.7) on PowerPC. --- crypto-2.0.4 -------------------------------------------------------- OTP-9526 crypto:rand_uniform works correctly for negative integers. Fails with badarg exception for invalid ranges (when Hi =< Lo) instead of returning incorrect output. OTP-9532 Fix win32 OpenSSL static linking (Thanks to Dave Cottlehuber) --- dialyzer-2.4.4 ------------------------------------------------------ OTP-9483 Update results of race_SUITE/extract_translations Update results of small_SUITE/flatten Add codec_can and list_to_bitstring tests Fix bug when reporting unused functions Update Dialyzer r9c_suite results Fix dialyzer warning on default clause for binary comprehension (Thanks to Ivan Dubrov) OTP-9489 Fix server loop detection Dialyzer does not normally emit warnings for functions that implement non-terminating server loops. This detection failed when some of the elements in an SCC terminated normally (being for example list comprehensions or other generic anonymous functions that were included in the SCC). This patch fixes that. OTP-9496 Types for several BIFs have been extended/corrected. Also the types for types for lists:keyfind/3, lists:keysearch/3, and lists:keyemember/3 have been corrected. The incorrect/incomplete types could cause false dialyzer warnings. OTP-9499 Add a proplist() type Recently I was adding specs to an API and found that there is no canonical proplist() type defined. (Thanks to Ryan Zezeski) OTP-9529 Suppress some warnings about generation of non-returning funs No warnings are emitted for funs that are non-returning when the function that generates them has a contract that specifies that it will return such a non-returning fun. Enhance Dialyzer's inference on comparisons This patch makes Dialyzer aware of Erlang's total ordering of terms, enabling discrepancy detection in cases where e.g. integer() < tuple() is treated as a comparison that might also return false (when it is certain to always return true). Minor fix in dead code Fix infinite loop in dataflow Update r9c/{inets,mnesia} results in dialyzer's test suite Add origin information to #fun_var closures (Thanks to Tuncer Ayaz and Maria Christakis) OTP-9560 Quote atoms if necessary in types Atoms in some occurrences were not correctly quoted when formatted to strings, for instance by the typer program (Thanks to Tomas Abrahamsson) Update Dialyzer's reference results OTP-9597 Fix typer's crash for nonexisting files Remove unused macro Fix bug in dataflow Decrease tuple arity limit This fixes a memory related crash. --- diameter-0.10 ------------------------------------------------------- OTP-9467 @id required in dictionary files only when @messages is specified. @id defines an application identifier and this is used only when sending or receiving messages. A dictionary can define only AVP's however, to be included by other dictionaries using @inherits, in which case it makes no sense to require @id. Note that message definitions are not inherited with @inherits, only AVP's OTP-9469 Allow @enum when AVP is defined in an inherited dictionary. 3GPP standards (for one) extend the values allowed for RFC 3588 AVP's of type Enumerated. Previously, extending an AVP was only possible by completely redefining the AVP. OTP-9538 Handle #sctp_paddr_change and #sctp_pdapi_event from gen_sctp. The events are enabled by default but diameter_sctp neither disabled nor dealt with them. Reception of such an event caused a transport process to crash. OTP-9553 Migrate testsuites to pure common test and add both suites and testcases. OTP-9577 Fix header folding bug. A prepare_request callback from diameter can return a diameter_header record in order to set values in the header of an outgoing request. A fault in diameter_lib:fold_tuple/3 caused the subsequent encode of the outgoing request to fail. OTP-9578 Fix bugs in sending of answer-message replies. 3001 (DIAMETER_COMMAND_UNSUPPORTED) was not sent since the decode placed the AVP list in the wrong field of the diameter_packet, causing the subsequent encode to fail. Session-Id was also set improperly, causing encode to fail even in this case. OTP-9579 Fix improper use of error_logger:info_report/2. Function doesn't take a format string and arguments as it was called. Instead use error_logger:info_report/1 and use the same report format as used for warning and error reports. OTP-9580 Fix and clarify semantics of peer filters. An eval filter returning a non-true value caused the call process to fail and the doc was vague on how an exception was treated. Clarify that the non-tuple host/realm filters assume messages of a certain form. OTP-9581 Requests of arbitrary form. diameter:call/4 can be passed anything, as long as the subsequent prepare_request callback returns a term that can be encoded. OTP-9583 Fix and clarify relay behaviour. Implicit filtering of the sending peer in relaying a request could cause loop detection to be preempted in a manner not specified by RFC3588. Reply with 3002 (DIAMETER_UNABLE_TO_DELIVER) on anything but an answer to a relayed request. --- docbuilder-0.9.8.11 ------------------------------------------------- OTP-9509 The docbuilder application has been deprecated and will be removed in the R15 release. --- edoc-0.7.9 ---------------------------------------------------------- OTP-9350 no_return is a new built-in type. OTP-9463 synchronized with edoc development version forgot to ensure that xmerl is found in path for include_lib to work fix -spec declaration that doesn't work in R13B04 eliminate warnings about unused imports removed CVS-keywords from source files (Thanks to Richard Carlsson ) OTP-9499 Add a proplist() type Recently I was adding specs to an API and found that there is no canonical proplist() type defined. (Thanks to Ryan Zezeski) OTP-9590 Removed some never-matching clauses reported by dialyzer Fix macro expansion in comments following Erlang types URI-escape bytes as two hex digits always (reported by Alfonso De Gregorio) Updated author e-mail Recognize some more URI schemas in wiki text, in particular https (Thanks to Richard Carlsson) --- erl_docgen-0.2.6 ---------------------------------------------------- OTP-9360 Bug fixes. OTP-9541 The manpage generation has been improved. OTP-9562 Fix eix file generation for new function spec references. OTP-9563 The function signatures in the pdf files was not in a fixed font. OTP-9576 The parts level in the system documentation was missing in the bookmarks menu for the pdf and the copyright year generation for PDF was not correct. OTP-9588 The indentation after Warning: and Note: in manpages has been improved. --- erl_interface-3.7.5 ------------------------------------------------- OTP-9390 Align ei buffer according to size of pointers OTP-9530 ei: integer overflow in string/atom encoding ei_encode_atom() and ei_encode_string() use strlen() to get the length of the buffer. As strlen() returns an unsigned long long and both ei functions take a signed integer, the length fields may overflow. Check so that the results of strlen can be held in a signed integer. (Thanks to Michael Santos) OTP-9550 XML files have been corrected. OTP-9559 Make comment and documentation reflect code in erl_interface/src/misc/ei_decode_term.c (Thanks to Anneli Cuss) --- erts-5.8.4.1 -------------------------------------------------------- OTP-9339 The erts_alloc_util framework has been extended with functionality for separation of small blocks from other blocks in separate carriers. This functionality is currently disabled by default, but can be enabled in order to finetune memory management. For more information see erts_alloc(3). OTP-9422 Fix bug in tracing with matchspec body containing enable_trace or disable_trace. Could cause emulator crash if trace was altered with erlang:trace_pattern by racing process during ongoing tracing. OTP-9423 Fix emulator deadlock in ets:delete on tables with write_concurrency caused by race with concurrent process that tries to do other operation on the same table. Does not apply to ordered_set. Bug exist since R14B. --- erts-5.8.5 ---------------------------------------------------------- OTP-9284 Several bugs concerning constant binary constructions such as <<0:4294967295>> have been corrected. Depending on the actual size of the binary and the type of run-time system (32-bit, halfword, 64-bit), such expression could either crash the run-time system or make the loader refuse loading of the module. OTP-9344 The Erlsrv utility failed to stop the erlang machine if no StopAction was defined when the service was stopped. This is now corrected. OTP-9356 Types and specifications have been added. OTP-9373 Due to a bug in glibc the runtime system could abort while trying to destroy a mutex. A fix for this was introduced in R14B02. This fix did, however, not solve the problem. The runtime system will now issue a warning instead of aborting. OTP-9377 Replace atom in DRV macro in prim_file with string An experimental version of Dialyzer discovered that the atom that replaced the DRV macro in prim_file ends up in calls to erlang:open_port({spawn, Driver}, Portopts) as the Driver argument. The documentation states that this call requires a string there. This change is also consistent with the one introduced in commit 0f03b1e9d2bef3bc830c31a369261af4c5234727 by Kostis Sagonas. OTP-9387 Fix typos in the epmd documentation (Thanks to Holger Weiß ) OTP-9394 Fix faulty integer terms created by NIF API from 64-bit integers on halfword emulator. (Thanks to Paolo Negri and Paul Davis) OTP-9424 New allocator strategy "address order first fit". May ease the emptying of memory carriers and thereby real release of memory back to the OS. OTP-9427 Fix epmd crash on vxworks caused by faulty argument to select() system call. OTP-9435 The ets:test_ms function could in rare cases truncate the error messages. This is now corrected. OTP-9452 Fix bug related to hibernate and HiPE (clear F_HIBERNATE_SCHED flag) F_HIBERNATE_SCHED flag that was introduced in b7ecdcd1ae9e11b8f75e must be cleared in hipe_mode_switch as well. Otherwise, processes running HiPE code that hibernate, wake up and then trap into a BIF will not be rescheduled.(Thanks to Paul Guyot) OTP-9453 Fix bug in FreeBSD topology detection code (Thanks to Paul Guyot) OTP-9454 Fix use of logical operator && with constant operand instead of bitwise & (Thanks to Cristian Greco) OTP-9455 inet: error if fd does not match socket domain If an IPv4 fd is opened as an IPv6 socket, unexpected behaviour can occur. For example, if an IPv4 UDP socket is opened and passed into Erlang as an IPv6 socket, the first 3 bytes (corresponding to 1 byte representing the protocol family, 2 bytes set to the port) are stripped from the payload. The cause of the UDP payload truncation happens in inet_drv.c:packet_inet_input when a call to inet_get_address fails silently because the family is set to PF_INET6 but the buffer len is the size of an IPv4 struct sockaddr_in. (Thanks to Andrew Tunnell-Jones for finding the bug and the test case!) OTP-9487 erts: use a union to avoid strict aliasing issues Use a union for pointer type conversion to avoid compiler warnings about strict-aliasing violations with gcc-4.1. gcc >= 4.2 does not emit the warning. erts: adapt matrix_nif to R14 erl_nif API changes (Thanks To Tuncer Ayaz) OTP-9488 fix 64-bit issues in the garbage collection (Thanks to Richard Carlsson) OTP-9495 The new erlang:check_old_code/1 BIF checks whether a module has old code. OTP-9500 epmd: fix compiler warnings Suppress compiler warnings about ignored return values. (Thanks to Michael Santos ) OTP-9504 Fix non-existing function (erlang:disconnect/1) in distributed reference manual (Thanks to Fabian Król) OTP-9506 Update documentation and specifications of some of the zlib functions. OTP-9512 Document fdatasync -lrt requirement (SunOS <= 5.10) (Thanks to Tuncer Ayaz) OTP-9525 Let epmd ignore empty ERL_EPMD_ADDRESS If the environment variable ERL_EPMD_ADDRESS is set to the empty string, empd now behaves like it does by default when ERL_EPMD_ADDRESS is unset. That is, in this case, epmd now listens on all available interfaces instead of using only the loopback interface, which happened because epmd added the loopback address to the (in this case empty) list of addresses specified via ERL_EPMD_ADDRESS. Also, epmd now ignores ERL_EPMD_ADDRESS if it contains only separator characters (comma and space). The same applies to epmd's -address option.(Thanks to Holger Weiß) OTP-9527 Remove dead code in erl_compile (Thanks to Tuncer Ayaz) OTP-9528 Add erlang:external_size/2 BIF This BIF's second parameter is a list of options. Currently the only allowed option is {minor_version, Version} where version is either 0 (default) or 1. (Thanks to Filipe David Manana ) OTP-9531 Detect the available CPUs on IRIX Add support for querying the number of configured and online processors on SGI systems running IRIX.(Thanks to Holger Weiß) OTP-9533 Fix enif_compare on 64bits machines In 64bits machines the Sint type has a size of 8 bytes, while on 32bits machines it has a 4 bytes size. enif_compare was ignoring this and therefore returning incorrect values when the result of the CMP function (which returns a Sint value) doesn't fit in 4 bytes. (Thanks to Filipe David Manana) OTP-9536 Implement or fix -Werror option If -Werror is enabled and there are warnings no output file is written. Also make sure that error/warning reporting is consistent. (Thanks to Tuncer Ayaz) OTP-9537 In some rare cases we did not have a run queue when scheduling misc ops. This is now fixed. OTP-9542 Remove misc. compiler warnings OTP-9544 Two bugs in gen_sctp has been corrected: getopts/setopts hence also send could only be called from socket owner, and options 'linger', 'rcvbuf' and 'sndbuf' was read from wrong protocol layer hence read wrong values by getopts. OTP-9547 Erlang/OTP can now be built on MacOS X Lion. OTP-9550 XML files have been corrected. OTP-9557 Fix potential errors inspired by running cppcheck(1) (Thanks to Christian von Roques) OTP-9567 When auxiliary work was enqueued on a scheduler, the wakeup of the scheduler in order to handle this work could be lost. Wakeups in order to handle ordinary work were not effected by this bug. The bug only effected runtime systems with SMP support as follows: Deallocation of some ETS data structures could be delayed. On Linux systems not using the NPTL thread library (typically ancient systems with kernel versions prior to 2.6) and Windows systems, the {Port, {exit_status, Status}} message from a terminating port program could be delayed. That is, it only effected port programs which had been started by passing exit_status as an option to open_port/2. OTP-9586 Handle rare race in the crypto key server functionality --- et-1.4.4 ------------------------------------------------------------ OTP-9470 Dialyzer warnings have been fixed. --- eunit-2.2.1 --------------------------------------------------------- OTP-9465 Generate separate surefire XMLs for each test suite Previously the test cases of all test suites (=modules) were put in one and the same surefire report XML thereby breaking the principle of least astonishment and making post analysis harder. Assume the following layout: src/x.erl src/y.erl test/x_tests.erl test/y_tests.erl The results for both x_tests and y_tests were written to only one report grouped under either module x or y (seemingly randomly). Now two reports, one for module x and one for y are generated. (Thanks to Klas Johansson) OTP-9505 Updated to EUnit version 2.2.0 New macros assertNotMatch(Guard, Expr), assertNotEqual(Unexpected, Expr), and assertNotException(Class, Term, Expr). The debugMsg macro now also prints the pid of the current process. When testing all modules in a directory, tests in Module_tests.erl are no longer executed twice. The use of regexp internally has been replaced with re. (Thanks to Richard Carlsson) OTP-9591 Removed some never-matching clauses reported by dialyzer Updated author e-mails and homepages Removed cvs keywords from files Removed files that should not be checked in (Thanks to Richard Carlsson) --- gs-1.5.14 ----------------------------------------------------------- OTP-9542 Remove misc. compiler warnings --- hipe-3.8.1 ---------------------------------------------------------- OTP-9496 Types for several BIFs have been extended/corrected. Also the types for types for lists:keyfind/3, lists:keysearch/3, and lists:keyemember/3 have been corrected. The incorrect/incomplete types could cause false dialyzer warnings. OTP-9511 Clean up hipe.hrl.src (Thanks to Tuncer Ayaz) OTP-9556 Fix bug with binary pattern matching of floats of variable size Pattern matching of floats with variable size (<>) did always fail. Judging from similar code for ints, this bug is simply a typo.(Thanks to Paul Guyot) OTP-9560 Quote atoms if necessary in types Atoms in some occurrences were not correctly quoted when formatted to strings, for instance by the typer program (Thanks to Tomas Abrahamsson) Update Dialyzer's reference results OTP-9597 Fix typer's crash for nonexisting files Remove unused macro Fix bug in dataflow Decrease tuple arity limit This fixes a memory related crash. --- ic-4.2.27 ----------------------------------------------------------- OTP-9460 Reduced compile overhead (Thanks to Haitao Li). --- inets-5.7 ----------------------------------------------------------- OTP-5566 [httpc|httpd] Added support for IPv6 with ssl. OTP-9317 [httpc] Remove unnecessary usage of iolist_to_binary when processing body (for PUT and POST). Filipe David Manana OTP-9342 [ftp] FTP client doesn't work with IPv6 host. Attila Rajmund Nohl OTP-9343 Peer/sockname resolv doesn't work with IPv6 addrs in HTTP. Attila Rajmund Nohl. OTP-9365 [httpc] Clients started stand-alone not properly handled. Also it was not documented how to use them, that is that once started, they are represented by a pid() and not by their profile(). --- inets-5.7.1 --------------------------------------------------------- OTP-9433 [httpc] Parsing of a cookie expire date should be more forgiving. That is, if the parsing fails, the date should be ignored. Also added support for (yet another) date format: "Tue Jan 01 08:00:01 2036 GMT". OTP-9434 [httpc] Rewrote cookie parsing. Among other things solving cookie processing from www.expedia.com. OTP-9524 [httpd] Typofix in httpd_file:handle_error message (Thanks to András Veres-Szentkirályi ) OTP-9561 [httpd] Fix httpd directory traversal on Windows. Directory traversal was possible on Windows where backward slash is used as directory separator. --- kernel-2.14.5 ------------------------------------------------------- OTP-9260 The types and specifications of the inet modules have been improved. OTP-9356 Types and specifications have been added. OTP-9485 Contracts in STDLIB and Kernel have been improved and type errors have been corrected. OTP-9506 Update documentation and specifications of some of the zlib functions. OTP-9514 Fix type of Packet arg of gen_tcp:send/2 and gen_udp:send/4 The type is marked as a binary() or a string() but in practice it can be an iodata(). The test suite was updated to confirm the gen_tcp/2 and gen_udp:send/4 functions accept iodata() (iolists) packets. (Thanks to Filipe David Manana) OTP-9550 XML files have been corrected. --- megaco-3.15.1.1 ----------------------------------------------------- OTP-9550 XML files have been corrected. --- mnesia-4.5 ---------------------------------------------------------- OTP-9473 Fix protocol issues. Mnesia-4.4.19 could not communicate with to older nodes. OTP-9550 XML files have been corrected. OTP-9551 Dump the log even if no transactions have been invoked on local node, otherwise the log will grow forever with decisions from the other nodes who have tables on disk. Thanks Marek Majkowski. OTP-9558 Use dedicated api for clear_table, i.e. instead of match_delete use delete_all_objects. Thanks KukHyun Lee. --- observer-0.9.10 ----------------------------------------------------- OTP-9515 Do not install *.bat files on non-win32 machines (Thanks to Hans Ulrich Niedermann) --- odbc-2.10.11 -------------------------------------------------------- OTP-8407 Add code to handle old ODBC drivers on solaris. Also adds tests with MySQL. OTP-8493 Odbc now supports SQL_WLONGVARCHAR, thanks to Hanfei Shen for the patch. OTP-9444 When using output parameters the internal odbc state was not correctly cleaned causing the next call to param_query to misbehave. OTP-9550 XML files have been corrected. --- orber-3.6.22 -------------------------------------------------------- OTP-9550 XML files have been corrected. --- os_mon-2.2.7 -------------------------------------------------------- OTP-9542 Remove misc. compiler warnings --- parsetools-2.0.6 ---------------------------------------------------- OTP-8318 Dialyzer warnings have been removed. OTP-9376 yecc: add warnings_as_errors option(Thanks to Tuncer ayaz) OTP-9484 Fix incorrect order of pseudo variables in yecc example The example is for converting from infix to prefix. This change uses to correct ordering of the triplet. (Thanks to Garret Smith) OTP-9536 Implement or fix -Werror option If -Werror is enabled and there are warnings no output file is written. Also make sure that error/warning reporting is consistent. (Thanks to Tuncer Ayaz) OTP-9550 XML files have been corrected. --- percept-0.8.6 ------------------------------------------------------- OTP-9490 Fix message handling in select requests percept_db used to send results in untagged messages, and use a non selective receive to extract them. When percept is used from the shell process, this can confuse other messages with the actual result. Add a tag to the message to be {result, Result}. Add demonitor to avoid keeping DOWN message in the queue fix one spec in do_start/0 (Thanks to Ahmed Omar) --- public_key-0.13 ----------------------------------------------------- OTP-9464 replace "a ssl" with "an ssl" reindent pkix_path_validation/3 Trivial documentation fixes (Thanks to Christian von Roques ) --- reltool-0.5.7 ------------------------------------------------------- OTP-9383 If a module was duplicated in the library directories visible to reltool, and the configuration did not point out which file to use, then reltool:start would always fail. A pop-up is added which asks if you want to continue with a safe and minimal configuration. OTP-9384 wx would sometimes crash due to an empty radiobox on the 'releases' tab of the system window. This radiobox is removed, and replaced by a listbox which will always contain at least kernel and stdlib applications. --- runtime_tools-1.8.6 ------------------------------------------------- OTP-9458 Two new built-in trace pattern aliases have been added: caller_trace (c) and caller_exception_trace (cx). See the dbg:ltp/0 documentation for more info. --- sasl-2.1.10 --------------------------------------------------------- OTP-9306 The release_handler functionality on windows services was broken. This has been corrected. OTP-9395 release_handler:install_release could be very slow when there are many processes in the system. Some optimization work has been done both in erts and in the release handler in order to improve this. A new option, purge, is added to release_handler:check_install_release which can be called first in order to speed up the execution of release_handler:install_release. OTP-9402 If a new version of an application did not include any erlang module changes, the code path of the application was not updated by the release_handler unless a 'load_object_code' instruction was added for the application. This would be a problem if e.g. only some files in the priv dir were changed since calls to code:lib_dir or code:priv_dir would then point to the old location of the application. This has been corrected - now code:replace_path/2 will be called for all applications that are changed (i.e. when the application's vsn is changed in the .rel file). OTP-9417 The appup instruction 'delete_module' would cause a crash during upgrade if the module to be deleted was not loaded. This has been corrected. OTP-9507 If a path was given as ONLY 'ebin' and not for example './ebin', then systools:make_tar would fail with a function_clause exception in filename:join/1. This has been corrected. (Thanks to Nikola Skoric for reporting). OTP-9536 Implement or fix -Werror option If -Werror is enabled and there are warnings no output file is written. Also make sure that error/warning reporting is consistent. (Thanks to Tuncer Ayaz) OTP-9546 Improved error information for timeouts during release_handler:install_release. This patch addresses two cases where a timeout will occur during upgrade. 1) if a supervisor is suspended (call to get children from supervisor will hang) 2) if the child spec for a supervisor incorrectly states that it is a worker with a dynamic set of modules (call to get modules from gen_event will hang) An error report will now be printed, and the return value of release_handler:install_release will indicate what happened. (Thanks to joe williams) --- snmp-4.20.1 --------------------------------------------------------- OTP-9400 [agent] Did not handle transport domains properly in some cases, for instance trap sending. OTP-9425 [agent] Wrong default transport domain, snmpUDPDomain, instead of transportDomainUdpIpv4. --- snmp-4.21 ----------------------------------------------------------- OTP-9305 [manager] No way to specify transport domain. Transport domains was assumed to be IPv4. This has now been changed so that it can also be IPv6. To facilitate this, the transportDomain is now a (new) valid option. This also mean that the transport behaviour has changed. OTP-9354 The snmp config tool could not handle (manager) audit trail config because the option seqno was not handled. OTP-9367 [agent] The SNMP ACM cache was not properly updated when changes where made to the VACM security-to-group, access and view-tree-family tables. OTP-9437 [compiler] Added the option warnings_as_errors which specifies whether warnings should be treated as errors. Tuncer Ayaz. OTP-9442 Fixed install directory typo for man3. Peter Lemenkov Hans Ulrich Niedermann --- snmp-4.21.1 --------------------------------------------------------- OTP-9236 [manager] Enable community override for GET and GETNEXT requests. OTP-9446 [agent] Some minor debugging improvements. OTP-9447 [compiler] Used wrong variable name (for warnings-as-errors variable), which caused the compiler to crash when using the snmpc script. Also added the option --Werror for the SNMP MIB compiler (escript) frontend (to mimic erlc), which specifies whether warnings should be treated as errors. OTP-9536 Implement or fix -Werror option If -Werror is enabled and there are warnings no output file is written. Also make sure that error/warning reporting is consistent. (Thanks to Tuncer Ayaz) --- ssh-2.0.8 ----------------------------------------------------------- OTP-9386 Calling ssh_sftp:stop_channel/1 resulted in that the trap_exit flag was set to true for the invoking process. --- ssl-4.1.5.1 --------------------------------------------------------- OTP-9346 The clean up of the session table now works as intended. In ssl-4.1.5 temporary clean-up processes would crash resulting in that the session table would not be cleaned up (e.i. using more and more memory) and error reports would be printed, but connections would not be affected. Thanks to Ferenc Holzhauser for so promptly reporting this and suggesting a solution. --- ssl-4.1.5.2 --------------------------------------------------------- OTP-9603 Changed crypto and ssl to be dynamically linked to OpenSSL and use version 0.9.8 of OpenSSL (instead of 0.9.7) on PowerPC. --- ssl-4.1.6 ----------------------------------------------------------- OTP-9364 Adds function clause to avoid denial of service attack. Thanks to Vinod for reporting this vulnerability. OTP-9382 Error handling code now takes care of inet:getopts/2 and inets:setopts/2 crashes. Thanks to Richard Jones for reporting this. OTP-9461 Support explicit use of packet option httph and httph_bin OTP-9464 replace "a ssl" with "an ssl" reindent pkix_path_validation/3 Trivial documentation fixes (Thanks to Christian von Roques ) OTP-9589 Decoding of hello extensions could fail to come to the correct conclusion due to an error in a binary match pattern. Thanks to Ben Murphy. --- stdlib-1.17.5 ------------------------------------------------------- OTP-9356 Types and specifications have been added. OTP-9368 erl_tar:extract failed when executed inside a directory with some parent directory to which the user has no read access. This has been corrected. OTP-9412 A bug in erl_scan:set_attribute/3 has been fixed. OTP-9413 The contract of io_lib:fread() has been corrected. OTP-9418 The contracts of the queue module have been modified. OTP-9439 A crash in io_lib:fread/2 when end of input data was encountered while trying to match literal characters, which should return {more,_,_,_} but instead crashed, has been corrected. Reported by Klas Johansson. A similar peculiarity for io:fread when encountering end of file before any field data has also been corrected. OTP-9450 The contract of timer:now_diff() has been corrected. (Thanks to Alex Morarash). OTP-9456 Fix minor typo in gen_fsm documentation (Thanks to Haitao Li) OTP-9471 The contracts of zip:zip_list_dir/1 and zip:zip_get/2 have been corrected. OTP-9472 A bug in zip:zip_open() has been fixed. OTP-9485 Contracts in STDLIB and Kernel have been improved and type errors have been corrected. OTP-9496 Types for several BIFs have been extended/corrected. Also the types for types for lists:keyfind/3, lists:keysearch/3, and lists:keyemember/3 have been corrected. The incorrect/incomplete types could cause false dialyzer warnings. OTP-9498 Fix trivial documentation errors(Thanks to Matthias Lang) OTP-9499 Add a proplist() type Recently I was adding specs to an API and found that there is no canonical proplist() type defined. (Thanks to Ryan Zezeski) OTP-9502 fix supervisors restarting temporary children In the current implementation of supervisors, temporary children should never be restarted. However, when a temporary child is restarted as part of a one_for_all or rest_for_one strategy where the failing process is not the temporary child, the supervisor still tries to restart it. Because the supervisor doesn't keep some of the MFA information of temporary children, this causes the supervisor to hit its restart limit and crash. This patch fixes the behaviour by inserting a clause in terminate_children/2-3 (private function) that will omit temporary children when building a list of killed processes, to avoid having the supervisor trying to restart them again. Only supervisors in need of restarting children used the list, so the change should be of no impact for the functions that called terminate_children/2-3 only to kill all children. The documentation has been modified to make this behaviour more explicit. (Thanks to Fred Hebert) OTP-9516 fix broken edoc annotations (Thanks to Richard Carlsson) OTP-9550 XML files have been corrected. OTP-9586 Handle rare race in the crypto key server functionality --- test_server-3.4.5 --------------------------------------------------- OTP-9237 An error in how comments are colored in the test suite overview html log file has been corrected. As result, a new framework callback function, format_comment/1, has been introduced. OTP-9311 Test Server did not release SASL TTY handlers (sasl_report_tty_h and error_logger_tty_h) properly after each test run. This error has been fixed. OTP-9369 Automatically generated init- and end-configuration functions for test case groups caused incorrect execution order of test cases. This has been corrected. OTP-9371 If ct:log/2 was called with bad arguments, this could cause the Common Test IO handling process to crash. This fault has been corrected. OTP-9372 A new option, 'logopts', has been introduced, to make it possible to modify some aspects of the logging behaviour in Common Test (or Test Server). For example, whenever an io printout is made, test_server adds newline (\n) to the end of the output string. This may not always be a preferred action and can therefore be disabled by means of "ct_run ... -logopts no_nl" (or ct:run_test([..., {logopts,[no_nl]}])). A new framework callback function, get_logopts/0, has been introduced (see the ct_framework module for details). OTP-9379 A bug has been fixed that made Test Server call the end_tc/3 framework function with an incorrect module name as first argument. OTP-9396 A new option, 'logopts', has been introduced, to make it possible to modify some aspects of the logging behaviour in Common Test (or Test Server). For example, if the html version of the test suite source code should not be generated during the test run (and consequently be unavailable in the log file system), the feature may be disabled by means of "ct_run ... -logopts no_src" (or ct:run_test([..., {logopts,[no_src]}])). A new framework callback function, get_logopts/0, has been introduced (see the ct_framework module for details). OTP-9397 If end_per_testcase caused a timetrap timeout, the actual test case status was discarded and the test case logged as successful (even if the case had actually failed before the call to end_per_testcase). This fault has been fixed. OTP-9398 If a timetrap timeout occured during execution of of a function in a lib module (i.e. a function called directly or indirectly from a test case), the Suite argument in the end_tc/3 framework callback function would not correctly contain the name of the test suite, but the lib module. (This would only happen if the lib module was compiled with ct.hrl included). This error has been solved. OTP-9499 Add a proplist() type Recently I was adding specs to an API and found that there is no canonical proplist() type defined. (Thanks to Ryan Zezeski) OTP-9501 It is now possible to use a tuple {M,F,A}, or a fun, as timetrap specification in the suite info function or test case info functions. The function must return a valid timeout value, as documented in the common_test man page and in the User's Guide. OTP-9550 XML files have been corrected. OTP-9584 If a test suite would start with a test case group defined without the init_per_group/2 and end_per_group/2 function, init_per_suite/1 would not execute initially and logging of the test run would fail. This error has been fixed. --- toolbar-1.4.2 ------------------------------------------------------- OTP-9555 Improve spelling throughout documentation, code comments and error messages --- tools-2.6.6.5 ------------------------------------------------------- OTP-9416 Bugs in xref(3) have been fixed. (Thanks to Matthias Lang.) OTP-9503 Teach the emacs mode to compile yecc and leex files If visiting a .yrl or .xrl file in emacs with erlang-mode, then the `erlang-compile' function (normally bound to C-c C-k), now knows how to compile yecc and leex files, and then, if that compilation succeeds, also compiles the resulting .erl files. Also introduce a `erlang-compile-command-function-alist' to make it possible to hook in other functions for computing compilation commands/expressions, depending on file name. (Thanks to Tomas Abrahamsson ) --- typer-0.9.2 --------------------------------------------------------- OTP-9560 Quote atoms if necessary in types Atoms in some occurrences were not correctly quoted when formatted to strings, for instance by the typer program (Thanks to Tomas Abrahamsson) Update Dialyzer's reference results OTP-9597 Fix typer's crash for nonexisting files Remove unused macro Fix bug in dataflow Decrease tuple arity limit This fixes a memory related crash. --- webtool-0.8.9 ------------------------------------------------------- OTP-9515 Do not install *.bat files on non-win32 machines (Thanks to Hans Ulrich Niedermann) --- wx-0.99 ------------------------------------------------------------- OTP-9415 Support virtual tables in wxListCtrl. OTP-9513 wx: fix obsolete guard warning (list/1) (Thanks to Tuncer Ayaz) OTP-9550 XML files have been corrected. --- xmerl-1.2.10 -------------------------------------------------------- OTP-9410 Fixed a schema search bug in xmerl_xsd. A new flag was needed in the xsd_state record so if the state is saved there is an incompatibility and a state conversion is needed. OTP-9411 Fixed xmerl_scan problems with entities in attribute values. OTP-9457 Streaming bug in xmerl_scan. If the continuation_fun runs out of input at the end of an attribute value then it crashed. (Thanks to Simon Cornish) OTP-9548 Fixed xmerl_ucs UCS2 little endian en/decoding Corrected number of shift bytes in xmerl_ucs:char_to_ucs2le and recursive call from from_ucs2le to from_ucs4le. (Thanks to Michal Ptaszek) OTP-9552 Add latin9 (iso-8859-15) support in xmerl_ucs (Thanks to David Julien) OTP-9555 Improve spelling throughout documentation, code comments and error messages