Bug fix release : otp_src_R16B02 Build date : 2013-09-17 This is R16B02, the second maintenance release for the R16B major release. You can find the README file for the release at http://www.erlang.org/download/otp_src_R16B02.readme (this file) The source distribution and binary distributions for Windows can be downloaded from http://www.erlang.org/download/otp_src_R16B02.tar.gz http://www.erlang.org/download/otp_win32_R16B02.exe http://www.erlang.org/download/otp_win64_R16B02.exe 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_R16B02.tar.gz http://www.erlang.org/download/otp_doc_man_R16B02.tar.gz We also want to thank those that sent us patches, suggestions and bug reports, The OTP Team --- otp ----------------------------------------------------------------- OTP-11221 A new test scope has been added which is meant to be used for making sure that the Erlang VM and other platform specific libraries have been compiled correctly for you system. The tests are executed just as normal tests, only that you use ts:smoke_test instead of ts:run. See ts:help() for more details. OTP-11288 configure now accepts any Erlang/OTP applications as an option to the --without flag. For more details see the Installation Guide for more details. --- asn1-2.0.3 ---------------------------------------------------------- OTP-11193 The format of the xml source for documentation is corrected in order to conform to the DTDs and to pass xmllint without errors. OTP-11300 For the PER and UPER formats, code generation especially for encoding has been improved. When encoding BIT STRINGs, values longer than the maximum size for the BIT STRING type would be truncated silently - they now cause an exception. Open types greater than 16383 bytes will now be correctly encoded and decoded. IMPORTANT NOTE: For ASN.1 specifications that depend on each other, such as the S1AP-* specifications, it is important to recompile all specifications (compiling some with this version of the compiler and some with an older version will not work). --- common_test-1.7.3 --------------------------------------------------- OTP-11132 Documentation is added for ct_netconfc:send and ct_netconfc:send_rpc. OTP-11166 ct_netconfc:create_subscription only allowed one XML element inside the 'filter' element. According to RFC5277 it should be allowed to add any number of elements inside the filter, so this is now corrected. OTP-11175 The error handler installed by the Common Test hook cth_log_redirect did not respond to init:stop/1/2. This has been corrected. OTP-11176 Calling ct:pal/2 or ct:print/2 when Common Test was not running, would cause an exit. This has been changed and the string is now simply printed to stdout instead. OTP-11193 The format of the xml source for documentation is corrected in order to conform to the DTDs and to pass xmllint without errors. OTP-11238 Fixed problem with the cth_log_redirect hook making calls to an undefined function in ct_logs. OTP-11244 When running tests with the 'repeat' option, the Common Test utility process did not always terminate quickly enough after a test run, causing the start of the next run to fail. A monitor is now used to ensure termination of the utility process after each test run. OTP-11263 Test Server installed an error handler (test_server_h) only to be able to write the name of the current test case to stdout whenever it received an error- or progress report. This functionality was not useful and has been removed. The built-in Common Test hook, cth_log_redirect, has instead been improved to now also tag all error- and progress reports in the log with suite-, group-, and/or test case name. OTP-11272 A new log, the "Pre- and Post Test I/O Log", has been introduced, which makes it possible to capture error- and progress reports, as well as printouts made with ct:log/2 and ct:pal/2, before and after a test run. (Some minor improvements of the logging system have been made at the same time). Links to the new log are found on the Common Test Framework Log page. The Common Test User's Guide has been updated with information about the new log and also with a new section on how to synchronize external applications with Common Test by means of the CT Hook init and terminate functions. --- compiler-4.9.3 ------------------------------------------------------ OTP-11201 Fix matching of floating point middle-endian machines. Thanks to Johannes Weissl. OTP-11211 Restrict inlining of local fun references. Thanks to Anthony Ramine. OTP-11212 Silence a misleading warning with some comprehensions. Thanks to Anthony Ramine. OTP-11240 Expressions such as 'B = is_integer(V), if B and B -> ok end' would crash the compiler. OTP-11247 Forbid returning a match context in beam_validator. Thanks to Anthony Ramine. OTP-11304 compile:file2/2 with the option report_errors could return ErrorInfo tuples with only two elements, while the documentation says that the ErrorInfo tuple always has three elements. Also updated the documentation to add that the first element may be 'none' if no line number is applicable. --- crypto-3.1 ---------------------------------------------------------- OTP-11320 Refactor ecdsa cipher to simplify code and improve performance. --- debugger-3.2.12 ----------------------------------------------------- OTP-11201 Fix matching of floating point middle-endian machines. Thanks to Johannes Weissl. --- diameter-1.4.3 ------------------------------------------------------ OTP-11172 Fix UTF8String encode. Encode now accepts any nested list of codepoints and binaries. A list containing a binary was previously misinterpreted and the documentation was incomplete. OTP-11184 Ensure DWR isn't sent immediately after DWA. This was possible if the timing was unfortunate. An incoming DWR now properly resets the watchdog timer. OTP-11293 Fix faulty encode of Failed-AVP Reception of a CER, DWR or DPR that has decode failures caused encode of the corresponding answer message to fail. OTP-11299 Fix broken service_opt() spawn_opt. The option was ignored. --- edoc-0.7.12.1 ------------------------------------------------------- OTP-11310 The encoding of the notes.xml file has been changed from latin1 to utf-8 to avoid future merge problems. --- erl_docgen-0.3.4.1 -------------------------------------------------- OTP-11193 The format of the xml source for documentation is corrected in order to conform to the DTDs and to pass xmllint without errors. OTP-11310 The encoding of the notes.xml file has been changed from latin1 to utf-8 to avoid future merge problems. --- erl_interface-3.7.14 ------------------------------------------------ OTP-11196 Introduced functionality for inspection of system and build configuration. OTP-11284 Header and library files from ic and erl_interface are now installed into usr/{include,lib}. Note that these directories are unversioned, so the latest installed version will be the one in the directory. OTP-11289 Fix location of true binary under Mac OSX. Thanks to Simon Cornish. --- erts-5.10.3 --------------------------------------------------------- OTP-11090 The documentation of predefined types and built-in types has been corrected. OTP-11157 There is a new somewhat experimental socket option 'netns' that can set the network namespace for a socket on Linux:es where it is supported. See the documentation. OTP-11174 New allocator strategy aoffcbf (address order first fit carrier best fit). Supports carrier migration but with better CPU performance than aoffcaobf. OTP-11196 Introduced functionality for inspection of system and build configuration. OTP-11201 Fix matching of floating point middle-endian machines. Thanks to Johannes Weissl. OTP-11206 Fix changing terminal parameters in to_erl Change the behaviour of to_erl to use TCSADRAIN instead of TCSANOW when changing terminal parameters. This makes the serial driver wait for the output queues to be empty before applying the terminal parameter change. Thanks to Stefan Zegenhagen. OTP-11214 Fix compile error on ARM and GCC versions greater than 4.1.0. Thanks to Johannes Weissl. OTP-11215 run_erl: Redirect standard streams to /dev/null. Thanks to Johannes Weissl. OTP-11218 The default value of {flush, boolean()} in erlang:halt/2 is documented to be 'true' if the status is an integer. The implementation behaviour was reversed. The Implementation is now corrected to adhere to the documentation. Thanks to Jose Valim for reporting the error. OTP-11225 Fix serious race bug in R16B01 that could cause PID mix-ups when a lot of processes were spawned and terminated in a very rapid pace on an SMP emulator with at least two scheduler threads. OTP-11227 Misc. corrections in documentation for erl_driver. Thanks to Giacomo Olgeni. OTP-11232 Validating a trace pattern with the option silent no longer incorrectly enables/disables the silent option of the calling process. OTP-11239 Fix documentation regarding binary_part. OTP-11246 Fixed a bug where GCC 4.8 and later use a more aggressive loop optimization algorithm that broke some previously working code in the efile driver. Thanks to Tomas Abrahamsson for reporting this issue. OTP-11251 Make edlin understand a few important control keys. Thanks to Stefan Zegenhagen. OTP-11264 Fixed bug when printing memory allocator acul option in crash dump. OTP-11265 Opening a new compressed file on Windows could in rare (random) cases result in {error,eisdir} or other error codes although it should have succeeded. This is now corrected. OTP-11278 Export type zlib:zstream/0. Thanks to Loic Hoguin. OTP-11282 Add erl option to set schedulers by percentages. For applications where measurements show enhanced performance from the use of a non-default number of emulator scheduler threads, having to accurately set the right number of scheduler threads across multiple hosts each with different numbers of logical processors is difficult because the erl +S option requires absolute numbers of scheduler threads and scheduler threads online to be specified. To address this issue, add a +SP option to erl, similar to the existing +S option but allowing the number of scheduler threads and scheduler threads online to be set as percentages of logical processors configured and logical processors available, respectively. For example, "+SP 50:25" sets the number of scheduler threads to 50% of the logical processors configured, and the number of scheduler threads online to 25% of the logical processors available. The +SP option also interacts with any settings specified with the +S option, such that the combination of options "+S 4:4 +SP 50:50" (in either order) results in 2 scheduler threads and 2 scheduler threads online. Thanks to Steve Vinoski OTP-11290 Fixed a race condition when closing a trace port that would cause the emulator to crash. OTP-11303 Extend erl_driver interface with lock names Lock and thread names are already a feature in the driver interface. This extension will let developers read these names which eases debugging. OTP-11311 Fix incorrect values returned by integer_to_binary/2. Thanks to Juan Jose Comellas. OTP-11317 Fix system_flag scheduling_statistics - disable . Thanks to Steve Vinoski. OTP-11321 The documentation of predefined types has been corrected Thanks to Kostis Sagonas. --- et-1.4.4.5 ---------------------------------------------------------- OTP-11310 The encoding of the notes.xml file has been changed from latin1 to utf-8 to avoid future merge problems. --- eunit-2.2.5 --------------------------------------------------------- OTP-11217 Wrap eunit macros into begin ... end blocks. Thanks to Anthony Ramine. --- hipe-3.10.2.1 ------------------------------------------------------- OTP-11310 The encoding of the notes.xml file has been changed from latin1 to utf-8 to avoid future merge problems. --- ic-4.3.3 ------------------------------------------------------------ OTP-11284 Header and library files from ic and erl_interface are now installed into usr/{include,lib}. Note that these directories are unversioned, so the latest installed version will be the one in the directory. --- inets-5.9.6 --------------------------------------------------------- OTP-11190 httpc: Allow content body in DELETE requests. Thanks to James Wheare. OTP-11202 Add missing brackets to report formatting on ftp_progress process exit. Thanks to Artur Wilniewczyc. OTP-11210 Fix some errors in the inets documentation. Thanks to Johannes Weissl. OTP-11226 Fix various typos in httpd, inets. Thanks to Tomohiko Aono. OTP-11260 Fix httpd config option 'erl_script_nocache'. Thanks to Johannes Weissl. --- kernel-2.16.3 ------------------------------------------------------- OTP-10676 The previous undocumented function ntoa/1 has been added to inet docs and exported in the inet module. OTP-11209 Fix indentation of User switch command help in Erlang shell. Thanks to Sylvain Benner. OTP-11219 Fix typo in abcast() function comment. Thanks to Johannes Weissl. OTP-11250 Add application:ensure_all_started/1-2. Thanks to Fred Hebert. OTP-11251 Make edlin understand a few important control keys. Thanks to Stefan Zegenhagen. OTP-11301 Cleanup of hipe_unified_loader, eliminating uses of is_subtype/2 in specs, change module-local void functions to return 'ok' instead of [] and made sure there are no dialyzer warnings with --Wunmatched_returns. Thanks to Kostis Sagonas. --- megaco-3.17.0.2 ----------------------------------------------------- OTP-11196 Introduced functionality for inspection of system and build configuration. --- mnesia-4.10 --------------------------------------------------------- OTP-10957 Fix timing issues in checkpoint creation. OTP-11241 Fixed a problem where the fallback BUP file is removed when calling mnesia:uninstall_fallback and mnesia is not started. --- observer-1.3.1.1 ---------------------------------------------------- OTP-11310 The encoding of the notes.xml file has been changed from latin1 to utf-8 to avoid future merge problems. --- odbc-2.10.17 -------------------------------------------------------- OTP-11193 The format of the xml source for documentation is corrected in order to conform to the DTDs and to pass xmllint without errors. OTP-11196 Introduced functionality for inspection of system and build configuration. OTP-11233 Prevent odbcserver crash if it's executed and supplied incorrect data to stdin. Thanks to Sergei Golovan. --- os_mon-2.2.13 ------------------------------------------------------- OTP-11207 Use 'df -k -l' to query FreeBSD and OpenBSD about diskspace on local disks. Previously 'df' -k -t ufs' was used but this will not handle zfs or other disks. Just use '-l' instead of listing potential filesystems. OTP-11213 Fix compilation on Solaris. Thanks to Maciej Malecki. OTP-11298 Fix broken cpu_sup:nprocs and others on Solaris 64-bit. Thanks to Simon Cornish. --- parsetools-2.0.10 --------------------------------------------------- OTP-11269 A bug causing Yecc to generate badly formed parsers when encountering very simple recursive rules has been fixed. (Thanks to Eric Pailleau.) OTP-11286 A bug where Unicode filenames combined with Latin-1 encoding could crash Yecc and Leex has been fixed. OTP-11313 Fix leex module`s inability to build unicode-aware lexers. Thanks to Pierre Fenoll. --- percept-0.8.8.2 ----------------------------------------------------- OTP-11310 The encoding of the notes.xml file has been changed from latin1 to utf-8 to avoid future merge problems. --- public_key-0.20 ----------------------------------------------------- OTP-10874 Extend PKCS-7 to support SCEP (Simple Certificate Enrollment Protocol). OTP-11281 public_key:pem_entry_decode/2 now handles AES-128-CBC ciphered keys. Thanks to Simon Cornish. --- reltool-0.6.4.1 ----------------------------------------------------- OTP-11310 The encoding of the notes.xml file has been changed from latin1 to utf-8 to avoid future merge problems. --- runtime_tools-1.8.12 ------------------------------------------------ OTP-11196 Introduced functionality for inspection of system and build configuration. OTP-11222 The process trace flag 'silent' is now allowed in call to dbg:p/2. --- sasl-2.3.3 ---------------------------------------------------------- OTP-11252 Add Fd usage in rb logging. Thanks to Eric Pailleau. --- snmp-4.24.1 --------------------------------------------------------- OTP-11177 [agent] Reading the value of the vacmViewTreeFamilyMask returs it in the wrong (internal) format. The vacmViewTreeFamilyMask is defined to be a bit string in the MIB (OCTET STRING). Internally a bitlist (list of 1's and 0's) is used. However, the MIB implementation assumed the latter, effectively rendering all attempts to read/set masks via SNMP unsuccessful. Since the mask is used in hot paths (e.g. access permission checks for each SNMP operation, the bitlist representation of the mask has benefits (e.g. faster processing). Reading/writing the view mask objects is less time-critical. Therefore, to fix the issue, convert between bitlist representation and bitstring when the vacmViewTreeFamilyMask objects are accessed. OTP-11192 [agent] The counter increment function in the local-db was incorrect. It did not handle counter wrap correctly. --- snmp-4.24.2 --------------------------------------------------------- OTP-11216 [agent] Improved documentation for the functions for loading and unloading mibs, see snmpa:load_mibs/1,2,3 and snmpa:unload_mibs/1,2,3 for more info. Also added new functions for loading and unloading a single mib, see snmpa:load_mib/1,2 and snmpa:unload_mib/1,2 for more info. --- ssh-2.1.8 ----------------------------------------------------------- OTP-11189 Do not chmod ~/.ssh unnecessarily. OTP-11199 Make ssh_cli.erl handle CTRL+C. Thanks to Stefan Zegenhagen. OTP-11249 Clarified timeout options in documentation. OTP-11256 Add openssh_zlib compression type to ssh_transport. Thanks to Louis-Philippe Gauthier. --- ssl-5.3.1 ----------------------------------------------------------- OTP-11228 Setopts during renegotiation caused the renegotiation to be unsuccessful. If calling setopts during a renegotiation the FSM state might change during the handling of the setopts messages, this is now handled correctly. OTP-11229 Now handles signature_algorithm field in digitally_signed properly with proper defaults. Prior to this change some elliptic curve cipher suites could fail reporting the error "bad certificate". OTP-11230 The code emulating the inet header option was changed in the belief that it made it inet compatible. However the testing is a bit hairy as the inet option is actually broken, now the tests are corrected and the header option should work in the same broken way as inet again, preferably use the bitsyntax instead. OTP-11255 Make the ssl manager name for erlang distribution over SSL/TLS relative to the module name of the ssl_manager. This can be beneficial when making tools that rename modules for internal processing in the tool. OTP-11271 Add documentation regarding log_alert option. --- stdlib-1.19.3 ------------------------------------------------------- OTP-11200 Fixed type typo in gen_server. OTP-11208 Update type specs in filelib and io_prompt. Thanks to Jose Valim. OTP-11219 Fix typo in abcast() function comment. Thanks to Johannes Weissl. OTP-11245 The functions dets:foldl/3, dets:foldr/3, and dets:traverse/2 did not release the table after having traversed the table to the end. The bug was introduced in R16B. (Thanks to Manuel Duran Aguete.) OTP-11251 Make edlin understand a few important control keys. Thanks to Stefan Zegenhagen. OTP-11254 If the fun M:F/A construct was used erroneously the linter could crash. (Thanks to Mikhail Sobolev.) OTP-11261 The specifications of io_lib:fread/2,3 have been corrected. (Thanks to Chris King and Kostis Sagonas for pinpointing the bug.) OTP-11266 Export the edge/0 type from the digraph module. Thanks to Alex Ronne Petersen. OTP-11268 Fix variable usage tracking in erl_lint and fixed unsafe variable tracking in try expressions. Thanks to Anthony Ramine. --- test_server-3.6.3 --------------------------------------------------- OTP-11263 Test Server installed an error handler (test_server_h) only to be able to write the name of the current test case to stdout whenever it received an error- or progress report. This functionality was not useful and has been removed. The built-in Common Test hook, cth_log_redirect, has instead been improved to now also tag all error- and progress reports in the log with suite-, group-, and/or test case name. OTP-11272 A new log, the "Pre- and Post Test I/O Log", has been introduced, which makes it possible to capture error- and progress reports, as well as printouts made with ct:log/2 and ct:pal/2, before and after a test run. (Some minor improvements of the logging system have been made at the same time). Links to the new log are found on the Common Test Framework Log page. The Common Test User's Guide has been updated with information about the new log and also with a new section on how to synchronize external applications with Common Test by means of the CT Hook init and terminate functions. --- tools-2.6.12 -------------------------------------------------------- OTP-11198 Remove trailing spaces in Emacs templates. Thanks to Roberto Aloi. OTP-11242 Fixed the Emacs erlang-mode to accommodate the coding style where lists written across several lines have each line starting with a comma. Thanks to Magnus Henoch. OTP-11270 Make the Emacs Erlang mode TRAMP-aware when compiling. Thanks to Tomas Abrahamsson. --- wx-1.1 -------------------------------------------------------------- OTP-11196 Introduced functionality for inspection of system and build configuration. OTP-11279 Fix return value in wxStatusBar:getFieldRect/2 and add wxClipboardTextEvent and wxPanel:setFocusIgnoringChildren/1. --- xmerl-1.3.4 --------------------------------------------------------- OTP-11224 Fixed various typos in xmerl documentation. Thanks to David Welton.