Bug fix release : otp_src_R16B01 Build date : 2013-06-18 This is R16B01, the first maintenance release for the R16B major release. You can find the README file for the release at http://www.erlang.org/download/otp_src_R16B01.readme (this file) The source distribution and binary distributions for Windows can be downloaded from http://www.erlang.org/download/otp_src_R16B01.tar.gz http://www.erlang.org/download/otp_win32_R16B01.exe http://www.erlang.org/download/otp_win64_R16B01.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_R16B01.tar.gz http://www.erlang.org/download/otp_doc_man_R16B01.tar.gz We also want to thank those that sent us patches, suggestions and bug reports, The OTP Team --- HIGHLIGHTS ---------------------------------------------------------- OTP-10279 == erts == Support for migration of memory carriers between memory allocator instances has been introduced. By default this feature is not enabled and do not effect the characteristics of the system. When enabled it has the following impact on the characteristics of the system: -- Reduced memory footprint when the memory load is unevenly distributed between scheduler specific allocator instances. -- Depending on the default allocaton strategy used on a specific allocator there might or might not be a slight performance loss. -- When enabled on the fix_alloc allocator, a different strategy for management of fix blocks will be used. -- The information returned from erlang:system_info({allocator, A}), and erlang:system_info({allocator_sizes, A}) will be slightly different when this feature has been enabled. An mbcs_pool tuple will be present giving information about abandoned carriers, and in the fix_alloc case no fix_types tuple will be present. For more information, see the documentation of the +Macul command line argument. OTP-11009 == ssl public_key crypto common_test dialyzer ssh stdlib snmp inets == Integrate elliptic curve contribution from Andreas Schultz In order to be able to support elliptic curve cipher suites in SSL/TLS, additions to handle elliptic curve infrastructure has been added to public_key and crypto. This also has resulted in a rewrite of the crypto API to gain consistency and remove unnecessary overhead. All OTP applications using crypto has been updated to use the new API. Impact: Elliptic curve cryptography (ECC) offers equivalent security with smaller key sizes than other public key algorithms. Smaller key sizes result in savings for power, memory, bandwidth, and computational cost that make ECC especially attractive for constrained environments. OTP-11159 == erts == Lift static limitation (FD_SETSIZE) for file descriptors on Mac OS X. (Thanks to Anthony Ramine) --- otp ----------------------------------------------------------------- OTP-11117 Properly ignore os_mon and otp_mibs generated includes --- asn1-2.0.1.1 -------------------------------------------------------- OTP-10916 The generated decoder for the 'per' and 'uper' backends did not correctly decode ENUMERATEDs with a single value. The generated encoder for the 'per' and 'uper' backends generated an empty binary for a top-level type that did not need to be encoded (such as an ENUMERATED with a single value). The correct result should be a binary containing a 0 byte. --- asn1-2.0.1.2 -------------------------------------------------------- OTP-10995 When an object set is an actual parameter, the extension marker for the object set could get lost (which would cause the decoding of unknown values to fail). --- asn1-2.0.2 ---------------------------------------------------------- OTP-11016 Postscript files no longer needed for the generation of PDF files have been removed. OTP-11111 Fix some Makefile rules that didn't support silent rules. Thanks to Anthony Ramine. OTP-11134 PER/UPER: A semi-constrained INTEGER with a non-zero lower bound would be incorrectly decoded. This bug was introduced in R16. PER/UPER: Given INTEGER (10..MAX, ...), attempting to decode any integer below 10 would cause the encoder to enter an infinite loop. PER/UPER: For a type with an extensible SIZE constraint, sizes outside of the root range were incorrectly encoded. Given a constraint such as (SIZE (5, ...)), encoding a size less than 5 would fail (PER/UPER). Similarly, for BER decoding would fail. PER: The encoder did not align a known multiplier string (such as IA5String) of length 16 bits (exactly) to an octet boundary. In rare circumstances, DEFAULT values for the UPER backend could be wrongly encoded. OTP-11153 UPER: The compiler would crash when compiling an ENUMERATED having more than 63 extended values. PER/UPER: A SEQUENCE with more 64 extended values could not be decoded. OTP-11154 When decoding a SEQUENCE defined inline inside a an extension addition group, the record named generated by the decoding code would not match the name in the generated .hrl file. --- common_test-1.7.2 --------------------------------------------------- OTP-10126 A design flaw in the generic connection handling in Common Test made it impossible to implement a connection handler that could map multiple connection names (i.e. configuration variable aliases) to single connection pids. This problem has been solved. OTP-10494 If it could not be decided which test case a certain log printout belonged to, the common test framework log was earlier used. Such printouts are now instead sent to unexpected_io.log.html in test_server so that there is only one place to look for "missing" printouts. OTP-10648 If a telnet connection is hanging, then a call to ct_telnet:close/1 will time out after 5 seconds and the connection process is brutally killed. In some cases the connection would not be unregistered and attempts at opening a new connection with the same name would make common_test try to reuse the same connection since it believed that it was still alive. This has been corrected - a killed connection is now always unregistered. OTP-10855 Test performance has been improved by means of a cache for the top level HTML index logs (all_runs.html and index.html, in the logdir directory). This solves problems with slow start up times and test execution times increasing with the number of ct_run directories stored in logdir. The cached index entries are stored in RAM during test execution and are saved to file in logdir (for faster start up times) whenever a test run finishes. OTP-10856 The '-force_stop' flag to use with time-limited repeats of test runs can now be used with a new 'skip_rest' option which causes the rest of the test cases in the ongoing test job to be skipped when the time limit is reached. E.g. 'ct_run -spec xxx -duration 010000 -force_stop skip_rest' OTP-10857 Testing of the test specification functionality has been improved and a couple of minor bugs have been discovered and corrected. OTP-10902 Make cover smarter about finding source from beam. In particular, search using the source path in module_info if the current heuristic fails. OTP-10920 Add a variant of ct_slave:start/2 that starts a node with specified options on the local host. OTP-11009 Integrate elliptic curve contribution from Andreas Schultz In order to be able to support elliptic curve cipher suites in SSL/TLS, additions to handle elliptic curve infrastructure has been added to public_key and crypto. This also has resulted in a rewrite of the crypto API to gain consistency and remove unnecessary overhead. All OTP applications using crypto has been updated to use the new API. Impact: Elliptic curve cryptography (ECC) offers equivalent security with smaller key sizes than other public key algorithms. Smaller key sizes result in savings for power, memory, bandwidth, and computational cost that make ECC especially attractive for constrained environments. OTP-11016 Postscript files no longer needed for the generation of PDF files have been removed. OTP-11044 A link is added from the red error printout in a test case log (for a failed test case) to the full error description at the end of the log. The reason for this is that the error description in the red field is sometimes truncated at 50 characters in order to keep the log as short and easy to read as possible. OTP-11046 Links to the top level index files in some HTML footers had disappeared. This error has been corrected. Also, a problem with the suite overview log file not being closed properly has been solved. OTP-11052 Common Test would, in case of timetrap error, print a warning in the log if end_per_testcase wasn't implemented in the suite, even though it's an optional function. This printout has been removed. OTP-11095 A new option 'no_prompt_check' is added to ct_telnet:expect/3. If this option is used, ct_telnet will not wait for a prompt or a newline before attempting to match the given pattern. --- compiler-4.9.2 ------------------------------------------------------ OTP-10939 Compiling functions with complex boolean operations in guards could be very slow. (Thanks to Magnus Muller for reporting this issue.) OTP-11005 Fix optimization of some binary comprehensions. Thanks to Anthony Ramine. OTP-11069 Use a set to store ref registers in beam_receive. Thanks to Anthony Ramine. OTP-11119 Certain guard expressions used in a receive statement could cause the compiler to crash. OTP-11129 Fix renaming of bs_put_string instructions. Thanks to Anthony Ramine. --- cosEvent-2.1.14 ----------------------------------------------------- OTP-11016 Postscript files no longer needed for the generation of PDF files have been removed. --- cosFileTransfer-1.1.15 ---------------------------------------------- OTP-11016 Postscript files no longer needed for the generation of PDF files have been removed. --- cosNotification-1.1.20 ---------------------------------------------- OTP-11016 Postscript files no longer needed for the generation of PDF files have been removed. --- crypto-3.0 ---------------------------------------------------------- OTP-11009 Integrate elliptic curve contribution from Andreas Schultz In order to be able to support elliptic curve cipher suites in SSL/TLS, additions to handle elliptic curve infrastructure has been added to public_key and crypto. This also has resulted in a rewrite of the crypto API to gain consistency and remove unnecessary overhead. All OTP applications using crypto has been updated to use the new API. Impact: Elliptic curve cryptography (ECC) offers equivalent security with smaller key sizes than other public key algorithms. Smaller key sizes result in savings for power, memory, bandwidth, and computational cost that make ECC especially attractive for constrained environments. OTP-11058 Fixed a spelling mistake in crypto docs. Thanks to Klaus Trainer --- debugger-3.2.11 ----------------------------------------------------- OTP-10899 A new checkbox has been added. When it is checked, the range set by the erl flag +pc is used for determining when to print lists of integers as strings. When it is unchecked, integer lists are never printed as strings. A minor incompatibility: settings saved by Erlang R16B01 or later cannot be read by Erlang R16B or earlier. OTP-11041 Erlang source files with non-ASCII characters are now encoded in UTF-8 (instead of latin1). --- dialyzer-2.6.1 ------------------------------------------------------ OTP-10918 Include module, function and arity in Dialyzer's "overlapping domain" warnings. Thanks to Magnus Henoch. OTP-10996 Improve Dialyzer output for scan errors. Thanks to Magnus Henoch. OTP-11009 Integrate elliptic curve contribution from Andreas Schultz In order to be able to support elliptic curve cipher suites in SSL/TLS, additions to handle elliptic curve infrastructure has been added to public_key and crypto. This also has resulted in a rewrite of the crypto API to gain consistency and remove unnecessary overhead. All OTP applications using crypto has been updated to use the new API. Impact: Elliptic curve cryptography (ECC) offers equivalent security with smaller key sizes than other public key algorithms. Smaller key sizes result in savings for power, memory, bandwidth, and computational cost that make ECC especially attractive for constrained environments. OTP-11027 Bitstring type inference and duplicate module error message fixes. Thanks to Stavros Aronis. OTP-11041 Erlang source files with non-ASCII characters are now encoded in UTF-8 (instead of latin1). OTP-11057 A bug that made it impossible to do any analyses from the GUI has been fixed. --- diameter-1.4.1.1 ---------------------------------------------------- OTP-10898 Add transport_opt() watchdog_config to allow non-standard behaviour of the watchdog state machine. This can be useful during test but should not be used on nodes that must conform to RFC 3539. OTP-10942 Fix broken Vendor-Specific-Application-Id configuration. RFC 6733 changed the definition of this Grouped AVP, changing the arity of Vendor-Id from 1* to 1. A component Vendor-Id can now be either list- or integer-valued in service and transport configuration, allowing it to be used with both RFC 3588 and RFC 6733 dictionaries. --- diameter-1.4.2 ------------------------------------------------------ OTP-9610 Allow peer connections to be shared between Erlang nodes for the purpose of sending outgoing requests. A diameter_app(3) pick_peer/4 callback gets a list of remote candidates as argument, allowing a callback on one node to select a transport connection established on another node. The service_opt() share_peers controls the extent to which local connections are shared with remote nodes. The service_opt() use_shared_peers controls the extent to which connections shared from remote nodes are utilized on the local node. OTP-10893 Allow listening diameter_{tcp,sctp} transports to be configured with remote addresses. Option 'accept' allows remote addresses to be configured as tuples or regular expressions. Remote addresses are matched against the configured values at connection establishment, any non-matching address causing the connection to be aborted. OTP-10972 Detect more transport_opt() configuration errors at diameter:add_transport/2. Many errors would previously not be detected until transport start, diameter:add_transport/2 returning 'ok' but transport connections failing to be established. An error tuple is now returned. OTP-10986 Make explicit local address configuration optional in diameter_tcp:start/3. The default address (as determined by gen_tcp) is now used when a local address is not explicitly configured. OTP-11007 Fix handling of 5014 (INVALID_AVP_LENGTH) errors. This was in some cases reported as 3009 (INVALID_AVP_BITS). Note that the correction is partially implemented in modules generated by diameterc(1): a dictionary file must be recompiled for the correction to apply to any messages it defines. OTP-11014 Fix faulty capitalization in release notes. Diameter = the protocol.
diameter = the Erlang application. OTP-11017 Improve handling of unrecognized service options. Such options were silently ignored by diameter:start_service/2. An error tuple is now returned. OTP-11019 Fix watchdog memory leak. Entries were not removed from a service-specific ets table, causing them to be orphaned at connection reestablishment for listening transports, and diameter:remove_transport/2 for both listening and connecting transports. The fault was introduced by OTP-10692 in diameter-1.4.1 (R16B). OTP-11026 Fix decode failure on AVP Length < 8. The failure caused the message in question to be discarded. OTP-11045 Respect Host-IP-Address configuration. Addresses returned from a transport module were always used to populate Host-IP-Address AVP's in an outgoing CER/CEA, which precluded the sending of a VIP address. Transport addresses are now only used if Host-IP-Address is unspecified. OTP-11050 Don't send default Inband-Security-Id in CER/CEA. RFC 6733 recommends against the use of Inband-Security-Id. Only send a value that differs from the default, NO_INBAND_SECURITY = 0. OTP-11051 Fix mkdir race. Install could fail if examples/code and examples/dict were created in parallel. Noticed on FreeBSD. OTP-11060 Make spawn options for request processes configurable. OTP-11087 Fix recognition of 5001 on mandatory AVP's. An AVP setting the M-bit was not regarded as erroneous if it was defined in the dictionary in question and its container (message or Grouped AVP) had an 'AVP' field. It's now regarded as a 5001 error (AVP_UNSUPPORTED), as in the case that the AVP is not defined. Note that the correction is partially implemented in modules generated by diameterc(1): a dictionary file must be recompiled for the correction to apply to any messages it defines. OTP-11092 Fix setting of Failed-AVP on handle_request {answer_message, 5xxx} return. Failed-AVP was never in the outgoing answer-message. It is now set with the AVP from the first entry with the specified Result-Code in the errors field of the incoming diameter_packet, if found. OTP-11115 Fix watchdog function_clause A listening transport on a service that allowed multiple connections to the same peer could result in a function_clause error in module diameter_watchdog. The resulting crash was harmless but unseemly. Thanks to Aleksander Nycz. OTP-11127 Fix population of Failed-AVP. In cases in which diameter populated this AVP, many values were sent instead of one as suggested by RFC 6733. This was partially corrected by OTP-11007. OTP-11165 Fix list-valued Vendor-Specific-Application-Id config R16B (specifically, OTP-10760) broke the handling of such configuration, resulting in a function clause error if the list was not of length 3, and faulty interpretation of the list's contents otherwise. Only record-valued configuration was properly interpreted. --- erl_interface-3.7.12 ------------------------------------------------ OTP-10913 Superfluous trailing comma in enum erlang_char_encoding causing compile error for g++ with --pedantic option. --- erl_interface-3.7.13 ------------------------------------------------ OTP-11167 A guard was added to check if file descriptor is valid before closing it. --- erts-5.10.1.1 ------------------------------------------------------- OTP-10926 The BIF is_process_alive/1 could prematurely return false while the process being inspected was terminating. This bug was introduced in ERTS-5.10. OTP-10932 Fix a problem in erlang:delete_element/2 where the call could corrupt one word of stack if the heap and stack met during call. OTP-10994 Scheduler threads will now by default be less eager requesting wakeup due to certain cleanup operations. This can also be controlled using the +swct command line argument of erl(1). OTP-11000 The +sws<value> and +swt<value> system flags failed if no white space were passed between the parameter and value parts of the flags. Upon failure, the runtime system refused to start. --- erts-5.10.1.2 ------------------------------------------------------- OTP-11022 A bug in the implementation of offline schedulers has been fixed. The bug was introduced in OTP-R16A/ERTS-5.10, and caused work-stealing between schedulers to fail. This in turn, caused work to accumulate in some run-queues. The bug was only triggered when there were offline schedulers in the system, i.e., when the amount of online schedulers was less than the total amount of schedulers. The effect of the bug got more severe the larger amount of offline schedulers the system had. --- erts-5.10.2 --------------------------------------------------------- OTP-10271 Replaced the lock protecting gathering of garbage collection statistics with a lock-free solution. OTP-10279 Support for migration of memory carriers between memory allocator instances has been introduced. By default this feature is not enabled and do not effect the characteristics of the system. When enabled it has the following impact on the characteristics of the system: -- Reduced memory footprint when the memory load is unevenly distributed between scheduler specific allocator instances. -- Depending on the default allocaton strategy used on a specific allocator there might or might not be a slight performance loss. -- When enabled on the fix_alloc allocator, a different strategy for management of fix blocks will be used. -- The information returned from erlang:system_info({allocator, A}), and erlang:system_info({allocator_sizes, A}) will be slightly different when this feature has been enabled. An mbcs_pool tuple will be present giving information about abandoned carriers, and in the fix_alloc case no fix_types tuple will be present. For more information, see the documentation of the +Macul command line argument. OTP-10497 A bug in prim_inet has been corrected. If the port owner was killed at a bad time while closing the socket port the port could become orphaned hence causing port and socket leaking. Reported by Fred Herbert, Dmitry Belyaev and others. OTP-10941 Compilation fixes for NetBSD. Thanks to YAMAMOTO Takashi. OTP-10984 Fixed a race condition when using delayed_write when writing to a file which would cause the same data to be written multiple times. OTP-10997 Fix small memory leak from tracing with option meta. OTP-11002 Correct typo in erlsrv usage. Thanks to Bryan Hunter OTP-11003 ct_run: delete unused function. Thanks to Tuncer Ayaz. OTP-11008 Change specs for spawn_opt to use the process_level() type declaration instead of re-defining it in various places. Thanks to Kostis Sagonas. OTP-11012 Corrections to run_erl/to_erl handshake behaviour. OTP-11016 Postscript files no longer needed for the generation of PDF files have been removed. OTP-11024 Fix typo in type: erlang:process_info_item(). Thanks to Andrew Tunnell-Jones. OTP-11041 Erlang source files with non-ASCII characters are now encoded in UTF-8 (instead of latin1). OTP-11064 Fix src/dest overlap issue in ttsl driver. Thanks to Steve Vinoski. OTP-11074 Optimization of simultaneous inet_db operations on the same socket by using a lock free implementation. Impact on the characteristics of the system: Improved performance. OTP-11075 The high_msgq_watermark and low_msgq_watermark inet socket options introduced in OTP-R16A could only be set on TCP sockets. These options are now generic and can be set on all types of sockets. OTP-11076 When sending to a port using erlang:send(Port, Msg, [nosuspend]), the send operation was performed synchronously. This bug has now been fixed. OTP-11077 A new better algorithm for management of the process, and port tables has been introduced. Impact on the characteristics of the system: -- The new algorithm ensures that both insert and delete operations can be made in O(1) time complexity. Previously used algorithm either caused insert or delete to be O(N). -- The new algorithm will also ensure that reuse of identifiers will be less frequent than when the old algorithm was used. -- Previously used algorithm ensured that the latest created identifier compared as the largest when comparing two identifiers of the same type that had been created on the same node as long as no identifiers had been reused. Since identifiers can be reused quite fast, one has never been able to rely on this property. Due to the introduction of this new algorithm this property will not hold even if no identifiers has been reused yet. This could be considered as an incompatibility. Due to the above mensioned potential incompatibility, it will still be possible to enable the old algorithm for some time. The command line argument +P legacy will enable the old algorithm on the process table, and +Q legacy will do the same for the port table. These command line arguments are however deprecated as of their introduction and have been scheduled for removal in OTP-R18. OTP-11080 When converting a faulty binary to a list with unicode:characters_to_list, the error return value could contain a faulty "rest", i.e. the io_list of characters that could not be converted was wrong. This happened only if input was a sub binary and conversion was from utf8. This is now corrected. OTP-11084 Runtime system could crash when reporting stale driver_select(). OTP-11085 Fix lock order violation for memory instrumentation (+Mim, +Mis, +Mit). OTP-11086 Fixed some compilation warnings on miscellaneous platforms. Thanks to Anthony Ramine. OTP-11088 Support wide characters in the shell through wcwidth(). Thanks to Anthony Ramine. Reported by Loïc Hoguin. OTP-11096 Fixed issue when flushing i/o during shutdown on windows where the Erlang VM would sometime hang due to a race condition. OTP-11097 Fixed issue where repeated calls to erlang:nodes() could cause unnecessary contention in the dist_table lock. OTP-11098 Added total used memory for each process in erlang crash dumps. OTP-11106 Properly guard WIDE_TAG use with HAVE_WCWIDTH in ttsl_drv. Thanks to Anthony Ramine OTP-11111 Fix some Makefile rules that didn't support silent rules. Thanks to Anthony Ramine. OTP-11125 Added support for hipe on Raspberry Pi (armv6l). Thanks to Klaus Alfert. OTP-11137 Fix receive support in erl_eval with a BEAM module. Thanks to Anthony Ramine. OTP-11146 erlang:now() could suddenly jump ~24 days into the future on Windows. This is now corrected. Thanks to Garret Smith for reporting and testing fixes. OTP-11158 Remove 'query' from the list of reserved words in docs. Thanks to Matthias Endler and Loïc Hoguin. OTP-11159 Lift static limitation (FD_SETSIZE) for file descriptors on Mac OS X. (Thanks to Anthony Ramine) OTP-11163 erlang:term_to_binary will now cost an appropriate amount of reductions and will interrupt (yield) for reschedule if the term is big. This avoids too long schedules when term_to_binary is used. Impact: Programs running term_to_binary on large terms will run more smothly, but rescheduling will impact the single process performance of the BIF. Single threaded benchmarks will show degraded performance of the BIF when called with very large terms, while general system behaviour will be improved. The overhead for allowing restart and reduction counting also degrades local performance of the BIF with between 5% and 10% even for small terms. --- et-1.4.4.4 ---------------------------------------------------------- OTP-11039 Use erlang:demonitor(Ref, [flush]) where applicable. Thanks to Loïc Hoguin. OTP-11078 Rename and document lists:zf/2 as lists:filtermap/2. Thanks to Anthony Ramine. --- hipe-3.10.2 --------------------------------------------------------- OTP-10904 Fix the title of hipe_app documentation page. Thanks to Loïc Hoguin. OTP-10985 Fix native code compiler crash involving bs_match_string. Thanks to Kostis Sagonas. OTP-11031 Loosen the assumptions of code that handles escaping functions. Thanks to Kostis Sagonas --- ic-4.3.2 ------------------------------------------------------------ OTP-11086 Fixed some compilation warnings on miscellaneous platforms. Thanks to Anthony Ramine. --- inets-5.9.5 --------------------------------------------------------- OTP-10934 Fix http_request:http_headers/1 to send content-length when length is zero. Thanks to CA Meijer. OTP-10956 Reverted incorrect commit that broke cookie handling when using httpc-profiles. OTP-11009 Integrate elliptic curve contribution from Andreas Schultz In order to be able to support elliptic curve cipher suites in SSL/TLS, additions to handle elliptic curve infrastructure has been added to public_key and crypto. This also has resulted in a rewrite of the crypto API to gain consistency and remove unnecessary overhead. All OTP applications using crypto has been updated to use the new API. Impact: Elliptic curve cryptography (ECC) offers equivalent security with smaller key sizes than other public key algorithms. Smaller key sizes result in savings for power, memory, bandwidth, and computational cost that make ECC especially attractive for constrained environments. OTP-11122 Fix {stream, {self, once}} in httpc to work as expected. Thanks to Masatake Daimon --- kernel-2.16.2 ------------------------------------------------------- OTP-10497 A bug in prim_inet has been corrected. If the port owner was killed at a bad time while closing the socket port the port could become orphaned hence causing port and socket leaking. Reported by Fred Herbert, Dmitry Belyaev and others. OTP-10689 A few bugs regarding case sensitivity for hostname resolution while using e.g the internal lookup types 'file' and 'dns' has been corrected. When looking up hostnames ASCII letters a-z are to be regarded as the same as A-Z according to RFC 4343 "Domain Name System (DNS) Case Insensitivity Clarification", and this was not always the case. OTP-10910 Add application:ensure_started/1,2. It is equivavlent to application:start/1,2 except it returns ok for already started applications. OTP-11040 Optimize communication with file io server. Thanks to Anthony Ramine. OTP-11041 Erlang source files with non-ASCII characters are now encoded in UTF-8 (instead of latin1). OTP-11074 Optimization of simultaneous inet_db operations on the same socket by using a lock free implementation. Impact on the characteristics of the system: Improved performance. OTP-11075 The high_msgq_watermark and low_msgq_watermark inet socket options introduced in OTP-R16A could only be set on TCP sockets. These options are now generic and can be set on all types of sockets. OTP-11104 Fix deep list argument error under Windows in os:cmd/1. Thanks to Aleksandr Vinokurov . --- megaco-3.17 --------------------------------------------------------- OTP-10998 A buffer overrun error in the flex scanner could occur when scanning property parms. --- megaco-3.17.0.1 ----------------------------------------------------- OTP-11016 Postscript files no longer needed for the generation of PDF files have been removed. --- mnesia-4.9 ---------------------------------------------------------- OTP-11030 If mnesia:clear_table/2 was called during a table load on that table, the schema record was written to the table instead of clearing table. OTP-11103 Optimize index creation for Mnesia set tables. Thanks to Nick Marino. --- observer-1.3.1 ------------------------------------------------------ OTP-10604 -- The new Memory field from a crash dump is now presented by crashdump viewer, both in the process overview and in the process detail page. -- A summary of blocks- and carriers sizes is added to the allocator information page in the crashdump viewer. OTP-10894 Some bugs related to calculation of CPU/scheduler utilization in observer are corrected. Current function for a process is accepted to be 'undefined' when running hipe. OTP-10929 Use "open" as default browser for crashdump viewer on Mac OS X. Thanks to Magnus Henoch. OTP-10931 Fix observer table viewer crash on formatting improper lists. Thanks to Andrey Tsirulev OTP-11016 Postscript files no longer needed for the generation of PDF files have been removed. OTP-11136 Add processes state view in observer. Thanks to Eric Pailleau. --- odbc-2.10.16 -------------------------------------------------------- OTP-10993 Fix a 64bit related bug in odbcserver. Thanks to Satoshi Kinoshita. OTP-11016 Postscript files no longer needed for the generation of PDF files have been removed. OTP-11126 Fix checking for odbc in standard locations when "with-odbc" flag present. Thanks to Alexey Saltanov. --- orber-3.6.26 -------------------------------------------------------- OTP-10675 Fix bug in corbaloc/corbaname over ssl. --- orber-3.6.26.1 ------------------------------------------------------ OTP-11016 Postscript files no longer needed for the generation of PDF files have been removed. --- os_mon-2.2.12 ------------------------------------------------------- OTP-10941 Compilation fixes for NetBSD. Thanks to YAMAMOTO Takashi. OTP-10945 Fixed disksup:get_disk_data for SUSv3, specifically OS X ML. Thanks to Sriram Melkote. --- percept-0.8.8.1 ----------------------------------------------------- OTP-11016 Postscript files no longer needed for the generation of PDF files have been removed. --- public_key-0.19 ----------------------------------------------------- OTP-10873 Add support for ISO oids 1.3.14.3.2.29 and 1.3.14.3.2.27 that are somtimes used instead of the PKCS defined oids 1.2.840.113549.1.1.5 and 1.2.840.10040.4.3. Add function pkix_sign_types:/1 that translates oids to to algorithm atoms ex: > public_key:pkix_sign_types({1,3,14,3,2,29}). {sha,rsa} OTP-11009 Integrate elliptic curve contribution from Andreas Schultz In order to be able to support elliptic curve cipher suites in SSL/TLS, additions to handle elliptic curve infrastructure has been added to public_key and crypto. This also has resulted in a rewrite of the crypto API to gain consistency and remove unnecessary overhead. All OTP applications using crypto has been updated to use the new API. Impact: Elliptic curve cryptography (ECC) offers equivalent security with smaller key sizes than other public key algorithms. Smaller key sizes result in savings for power, memory, bandwidth, and computational cost that make ECC especially attractive for constrained environments. --- reltool-0.6.4 ------------------------------------------------------- OTP-10988 Reltool used to fail if an application was mentioned in the config file which was not found in the file system, even if the application was explicitly excluded in the config. This has been changed and will only produce a warning. If the application is not explicitly excluded it will still cause reltool to fail. Thanks to Håkan Mattsson! OTP-11099 Fix possibly "not owner" error while file copy with reltool. Thanks to Alexey Saltanov. OTP-11137 Fix receive support in erl_eval with a BEAM module. Thanks to Anthony Ramine. --- runtime_tools-1.8.11 ------------------------------------------------ OTP-10894 Some bugs related to calculation of CPU/scheduler utilization in observer are corrected. Current function for a process is accepted to be 'undefined' when running hipe. OTP-11041 Erlang source files with non-ASCII characters are now encoded in UTF-8 (instead of latin1). --- safe-1.2.9 ---------------------------------------------------------- OTP-11083 Fix value assignment for trend parameter OTP-11094 Changed API for ccb augmentation --- sasl-2.3.2 ---------------------------------------------------------- OTP-11137 Fix receive support in erl_eval with a BEAM module. Thanks to Anthony Ramine. --- snmp-4.24 ----------------------------------------------------------- OTP-11004 Fix SNMP gitignore files. Thanks to Anthony Ramine. OTP-11009 Integrate elliptic curve contribution from Andreas Schultz In order to be able to support elliptic curve cipher suites in SSL/TLS, additions to handle elliptic curve infrastructure has been added to public_key and crypto. This also has resulted in a rewrite of the crypto API to gain consistency and remove unnecessary overhead. All OTP applications using crypto has been updated to use the new API. Impact: Elliptic curve cryptography (ECC) offers equivalent security with smaller key sizes than other public key algorithms. Smaller key sizes result in savings for power, memory, bandwidth, and computational cost that make ECC especially attractive for constrained environments. OTP-11016 Postscript files no longer needed for the generation of PDF files have been removed. OTP-11101 [snmp/agent] Introduced the mib-server data module behaviour. OTP-11107 [snmp/agent] Introduced a documented mib-storage behaviour. This will allow users to implement alternative storage methods. --- ssh-2.1.6 ----------------------------------------------------------- OTP-10940 Fixed timing rekeying bug. --- ssh-2.1.7 ----------------------------------------------------------- OTP-10975 ssh:daemon will get feeded with an argument even if it is not a valid expression. OTP-10983 Properly ignore everything in lib/ssh/doc/html/. Thanks to Anthony Ramine. OTP-11009 Integrate elliptic curve contribution from Andreas Schultz In order to be able to support elliptic curve cipher suites in SSL/TLS, additions to handle elliptic curve infrastructure has been added to public_key and crypto. This also has resulted in a rewrite of the crypto API to gain consistency and remove unnecessary overhead. All OTP applications using crypto has been updated to use the new API. Impact: Elliptic curve cryptography (ECC) offers equivalent security with smaller key sizes than other public key algorithms. Smaller key sizes result in savings for power, memory, bandwidth, and computational cost that make ECC especially attractive for constrained environments. --- ssl-5.3 ------------------------------------------------------------- OTP-10450 Add support for PSK (Pre Shared Key) and SRP (Secure Remote Password) chipher suits, thanks to Andreas Schultz. OTP-10905 Honor the versions option to ssl:connect and ssl:listen. OTP-10909 Next protocol negotiation with reused sessions will now succeed OTP-10955 Fix SSL Next Protocol Negotiation documentation. Thanks to Julien Barbot. OTP-10980 Fix ssl_connection to support reading proxy/chain certificates. Thanks to Valentin Kuznetsov. OTP-11009 Integrate elliptic curve contribution from Andreas Schultz In order to be able to support elliptic curve cipher suites in SSL/TLS, additions to handle elliptic curve infrastructure has been added to public_key and crypto. This also has resulted in a rewrite of the crypto API to gain consistency and remove unnecessary overhead. All OTP applications using crypto has been updated to use the new API. Impact: Elliptic curve cryptography (ECC) offers equivalent security with smaller key sizes than other public key algorithms. Smaller key sizes result in savings for power, memory, bandwidth, and computational cost that make ECC especially attractive for constrained environments. --- stdlib-1.19.2 ------------------------------------------------------- OTP-10938 Delete obsolete note about simple-one-for-one supervisor. Thanks to Magnus Henoch. OTP-10951 When selecting encoding of a script written in Erlang (escript) the optional directive on the second line is now recognized. OTP-10990 The Erlang scanner no longer accepts floating point numbers in the input string. OTP-10992 The function erl_parse:abstract/2 has been documented. OTP-11009 Integrate elliptic curve contribution from Andreas Schultz In order to be able to support elliptic curve cipher suites in SSL/TLS, additions to handle elliptic curve infrastructure has been added to public_key and crypto. This also has resulted in a rewrite of the crypto API to gain consistency and remove unnecessary overhead. All OTP applications using crypto has been updated to use the new API. Impact: Elliptic curve cryptography (ECC) offers equivalent security with smaller key sizes than other public key algorithms. Smaller key sizes result in savings for power, memory, bandwidth, and computational cost that make ECC especially attractive for constrained environments. OTP-11013 Added sys:get_state/1,2 and sys:replace_state/2,3. Thanks to Steve Vinoski. OTP-11025 Optimizations to gen mechanism. Thanks to Loïc Hoguin. OTP-11035 Optimizations to gen.erl. Thanks to Loïc Hoguin. OTP-11039 Use erlang:demonitor(Ref, [flush]) where applicable. Thanks to Loïc Hoguin. OTP-11041 Erlang source files with non-ASCII characters are now encoded in UTF-8 (instead of latin1). OTP-11042 Fix rest_for_one and one_for_all restarting a child not terminated. Thanks to James Fish. OTP-11053 Fix excessive CPU consumption of timer_server. Thanks to Aliaksey Kandratsenka. OTP-11078 Rename and document lists:zf/2 as lists:filtermap/2. Thanks to Anthony Ramine. OTP-11079 Fixed an inconsistent state in epp. Thanks to Anthony Ramine OTP-11080 When converting a faulty binary to a list with unicode:characters_to_list, the error return value could contain a faulty "rest", i.e. the io_list of characters that could not be converted was wrong. This happened only if input was a sub binary and conversion was from utf8. This is now corrected. OTP-11100 The type hook_function() has been corrected in erl_pp, the Erlang Pretty Printer. The printing of invalid forms, e.g. record field types, has also been fixed. It has been broken since R16B. (Thanks to Tomáš Janoušek.) OTP-11108 c:ls(File) will now print File, similar to ls(1) in Unix. The error messages have also been improved. (Thanks to Bengt Kleberg.) OTP-11137 Fix receive support in erl_eval with a BEAM module. Thanks to Anthony Ramine. OTP-11140 Support callback attributes in erl_pp. Thanks to Anthony Ramine. OTP-11143 Improve erl_lint performance. Thanks to José Valim. --- test_server-3.6.2 --------------------------------------------------- OTP-10607 Some unused code related to remote targets is removed, and documentation is updated. OTP-10856 The '-force_stop' flag to use with time-limited repeats of test runs can now be used with a new 'skip_rest' option which causes the rest of the test cases in the ongoing test job to be skipped when the time limit is reached. E.g. 'ct_run -spec xxx -duration 010000 -force_stop skip_rest' OTP-10991 A bug in test_server_gl caused io requests containing invalid data (i.e. not unicode:chardata()) to hang, since no io reply was sent. This has been corrected. OTP-11052 Common Test would, in case of timetrap error, print a warning in the log if end_per_testcase wasn't implemented in the suite, even though it's an optional function. This printout has been removed. --- tools-2.6.11 -------------------------------------------------------- OTP-10902 Make cover smarter about finding source from beam. In particular, search using the source path in module_info if the current heuristic fails. OTP-10930 Remove Flymake dependency in erlang-pkg.el. Thanks to Magnus Henoch. OTP-10979 When cover:stop(Node) was called on a non-existing node, a process waiting for cover data from the node would hang forever. This has been corrected. OTP-10999 Erlang-mode: Add autoload cookies for file extension associations. Thanks to Magnus Henoch. OTP-11016 Postscript files no longer needed for the generation of PDF files have been removed. OTP-11028 Fix a race condition when there're several applications in apps directory. Thanks to Manuel Rubio. OTP-11144 New option for eprof, 'set_on_spawn'. This option was previously always on and is also the default.