Bug fix release : otp_src_R15B02 Build date : 2012-09-03 This is R15B02, the second maintenance release for the R15B major release. You can find the README file for the release at http://www.erlang.org/download/otp_src_R15B02.readme (this file) The source distribution and binary distributions for Windows can be downloaded from http://www.erlang.org/download/otp_src_R15B02.tar.gz http://www.erlang.org/download/otp_win32_R15B02.exe http://www.erlang.org/download/otp_win64_R15B02.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_R15B02.tar.gz http://www.erlang.org/download/otp_doc_man_R15B02.tar.gz We also want to thank those that sent us patches, suggestions and bug reports, The OTP Team --- HIGHLIGHTS ---------------------------------------------------------- OTP-8871 == ssl == Experimental support for TLS 1.1 is now available, will be officially supported from OTP-R16. Thanks to Andreas Schultz for implementing the first version. OTP-8872 == ssl == Experimental support for TLS 1.2 is now available, will be officially supported from OTP-R16. Thanks to Andreas Schultz for implementing the first version. OTP-10113 == ssl == Removed some bottlenecks increasing the applications parallelism especially for the client side. --- otp ----------------------------------------------------------------- OTP-10074 The Erlang/OTP test runner ts has been extended to allow cross compilation of test suites. To cross compile the test suites first follow the normal cross compilation procedures and release the tests on the build host. Then install ts using an xcomp specification file and compile test suites using ts:compile_testcases/0. For more details see $ERL_TOP/xcomp/README.md. OTP-10107 It is now possible to give configure and make an installation/release path with whitespaces in it. OTP-10245 spelling improvements throughout the documentation and code. (Thanks to Tuncer Ayaz) OTP-10246 Correct link in the README.md (Thanks to Yamamoto Takashi) --- asn1-1.8 ------------------------------------------------------------ OTP-10058 Add support for multiple ExtensionAdditionGroups OTP-10128 Encoding and decoding of integer ranges can now be done with an upper bound larger than the previous limit of 16^10. The new upper bound in per encoding and decodings for constrained whole numbers is 2^2040 (close to 16^508) OTP-10139 Per encoding/decoding now works correctly for single value subtyping of an integer type where a subtype is a predefined value. Previously a predefined value could cause a non-valid range-check in the generated Erlang code for per encoding/decoding due to a bug in the constraint checking. OTP-10144 Add support for extensible enumeration types in n2n generated functions. OTP-10152 Fix typo error in selected decode function (Thanks to Artem Teslenko) OTP-10186 Better error indication when detecting unexpected tags during decoding of BER encoded data. OTP-10233 asn1rt_check: Fix transform_to_EXTERNAL1990 for binary input (Thanks to Harald Welte) --- common_test-1.6.2 --------------------------------------------------- OTP-9625 The support for "silent connections" has been updated to include ssh. Also, a silent_connections term has been added to the set of test specification terms. OTP-9626 It is now possible to specify an arbitrarily large tuple as the requires config data when using require and ct:get_config. See the ct:get_config and ct:require reference manual pages for details about which keys are allowed. This change introduces a backwards incompatability in the ct:require/2 interface. Previously when doing ct:require(a_name,{key,subkey}), a_name would be associated with key. This has been changed to that a_name is associated with subkey. This change also effects using require in an suite/group/testcase info function. OTP-9865 The ct_run program now sets the OS process exit status before it ends. Value 0 indicates a successful test result, 1 indicates one or more failed or auto-skipped test cases, and 2 indicates test execution failure. OTP-9896 It is now possible to sort the HTML tables by clicking on the header elements. In order to reset a sorted table, the browser window should simply be refreshed. This feature requires that the browser supports javascript, and has javascript execution enabled. If the 'ct_run -basic_html' flag is used, no javascript code is included in the generated HTML code. OTP-10025 A netconf client, ct_netconfc, is added to common_test. It supports basic netconf functionality over SSH. In order to allow testing of both success and failure cases, it is intentionally written to allow non-standard behavior. OTP-10049 The test specification term {define,Constant,Value} has been introduced, which makes it possible to replace constant names (atom()) with values (term()) in arbitrary test specification terms. The 'define' makes the (now deprecated) 'alias' term obsolete. More details, including examples, can be found in the Test Specifications chapter in the Common Test User's Guide. OTP-10050 If a CT hook function caused a crash, this could in some situations cause Common Test to terminate due to an illegal IO operation. This error has been corrected. OTP-10067 Verbosity levels for log printouts has been added. This makes it possible to specify preferred verbosity for different categories of log printouts, as well as general printouts (such as standard IO), to allow control over which strings get printed and which get ignored. New versions of the Common Test logging functions, ct:log, ct:pal and ct:print, have been introduced, with a new Importance argument added. The Importance value is compared to the verbosity level at runtime. More information can be found in the chapter about Logging in the Common Test User's Guide. OTP-10069 The Common Test documentation states that timetraps are never active during execution of CT hook functions. This was only true for post hook functions, not for pre hook functions. The code for CT hooks has been modified to behave according to the documentation. OTP-10072 If a CT hook function would call the exit/1 or throw/1 BIF (possibly indirectly, e.g. as a result of a timeout in gen_server:call/3), Common Test would hang. This problem has been fixed. OTP-10077 The documentation has been updated with information about how to deal with chaining of hooks which return fail/skip. OTP-10087 The return values of ct:run_test/1 and ct:run_testspec/1 have been changed from an uninformative 'ok' (independent of the test outcome) to a value, {Ok,Failed,{UserSkipped,AutoSkipped}} (all integers), that presents the final test case result, or a value, {error,Reason}, that informs about fatal test execution failure. See details in the reference manual for ct. OTP-10089 The test specification syntax has been updated with new and missing terms, such as 'define', 'verbosity', 'auto_compile', 'stylesheet', 'silent_connections', 'basic_html' and 'release_shell'. See the Test Specification chapter in the Common Test User's Guide for details. OTP-10127 It is now possible to pause execution of a test case, by calling the ct:break/1/2 function. Execution is resumed with a call to ct:continue/0/1. Break/continue also works for test cases executing in parallel. See the ct reference manual for details. OTP-10135 When ct_hooks called the id/1 functions of multiple hooks, it would reverse the order of the hooks and call the proceeding init/2 calls in the wrong order. This has been fixed. OTP-10157 It is now possible to send user defined events from a testcase which will be picked up by the installed event handler. OTP-10158 The surefire hook now correctly handles autoskipped initialization and test functions. OTP-10172 The ct:get_status/0 function failed to report status if a parallel test case group was running at the time of the call. This has been fixed and the return value for the function has been updated. Please see the ct reference manual for details. OTP-10248 A new start option, release_shell, for ct:run_test/1, has been added, which makes Common Test release the shell process after the test suite compilation phase is finished. For details, see the Running Tests chapter in the User's Guide. --- compiler-4.8.2 ------------------------------------------------------ OTP-10123 Modules with very many functions would compile very slowly. OTP-10150 compile:forms/2 will now use a {source,SourceFilePath} to set the source returned by module_info(compile) (Thanks to José Valim) OTP-10171 A process which had enabled trap_exit would receive EXIT messages after calling the compiler. (Thanks to Jeremy Heater.) OTP-10183 Fix messages ordering with column numbers OTP-10184 sys_pre_expand: Fix BASE never being set Commit a612e99fb5aaa934fe5a8591db0f083d7fa0b20a turned module attributes from 2-tuples to 3-tuples but forgot to update get_base/1, breaking BASE for parametric modules. OTP-10185 The compiler will now issue a warning if literal tuple funs are used. For example, {erlang,is_tuple}(X) will now generate a warning. OTP-10197 The compiler will now warn for illegal sizes for segments in binary construction. For example, <> will now cause the compiler to issue a warning. OTP-10211 Fix the erlc -MP flag Because of a copy-and-paste error in erlc.c, the -MP flag had the same effect as -MG. As a workaround, you had to pass +makedep_phony to enable the MP option. This patch makes -MP work as intended. --- crypto-2.2 ---------------------------------------------------------- OTP-9908 Add crypto and public_key support for the hash functions SHA224, SHA256, SHA384 and SHA512 and also hmac and rsa_sign/verify support using these hash functions. Thanks to Andreas Schultz for making a prototype. OTP-10064 Remove unnecessary dependency to libssl from crypto NIF library. This dependency was introduced by accident in R14B04. OTP-10065 Optimize RSA private key handling in crypto and public_key. OTP-10136 Make crypto:aes_cfb_128_encrypt and crypto:aes_cfb_128_decrypt handle data and cipher with arbitrary length. (Thanks to Stefan Zegenhagen) --- dialyzer-2.5.2 ------------------------------------------------------ OTP-10082 Bug fixes and improvements of dialyzer_typesig. OTP-10083 Correct handling of type names in contracts. Fix crash related to contract checking. Do not rewrite unchanged PLT. OTP-10103 Add parallel dialyzer support OTP-10110 An alternative implementation of the solver in dialyzer_typesig has been introduced. It is faster than the original implementation. OTP-10191 Bugs in erl_types:t_inf() (HiPE) and in dialyzer_dataflow (Dialyzer) have been fixed. OTP-10231 Stop a forgotten server process Dialyzer forgot to stop a server process before finishing its analysis. This is a concurrency error detected by Concuerror. Changes to fix warnings identified by running dialyzer -Wunmatched_returns. Thanks to Kostis Sagonas. --- diameter-1.2 -------------------------------------------------------- OTP-9608 Statistics related to Diameter messages can be retrieved using diameter:service_info/2. Both Diameter and socket-level statistics are available, for both incoming and outgoing messages. OTP-9885 Allow multiple transport_module/config to diameter:add_transport/2. Multiple values are attempted in sequence until one results in an established connection. This provides a way for a connecting transport to specify configuration in order of preference. (For example, SCTP before TCP.) OTP-10202 Fix broken Result-Code setting and Destination-Host/Realm extraction. Result-Code was assumed to have arity 1 when setting this value in an answer to a request containing AVP decode errors. Destination-Host/Realm were only correctly extracted from messages in the common application. OTP-10203 Handle insufficient capabilities configuration more gracefully. A transport that does not have sufficient capabilities configuration in order to encode CER/CEA will now emit an error report noting the configuration error and exit instead of failing. The error is not detected at diameter:add_transport/2 since there is no requirement that a service be configured before its transports. OTP-10212 Add events for state transitions in the RFC 3539 watchdog state machine. The watchdog state is also available through diameter:service_info/2. OTP-10213 Add diameter:service_info(SvcName, connections). This provides an alternative to diameter:service_info(SvcName, transport) that presents information per established connection instead of per transport reference. OTP-10215 Ensure a failing peer_up/down callback does not affect transport connections to other peers. Such a failure would previously have taken down all of a service's connections. OTP-10216 Assorted documentation corrections/improvements. --- edoc-0.7.10 --------------------------------------------------------- OTP-10174 List behaviour callbacks in Edoc when using -callback attribute. (Thanks to Magnus Henoch.) Added special case for file names under Windows. (Thanks to Beads Land-Trujillo.) --- erl_docgen-0.3.2 ---------------------------------------------------- OTP-10138 A bug regarding spaces in C function prototypes has been fixed. (Thanks to Richard O'Keefe.) --- erl_interface-3.7.8 ------------------------------------------------- OTP-10209 Detect when middle endian doubles are used by a platform and account for it when decoding floats. (Thanks to Mike Sperber) --- erts-5.9.1.1 -------------------------------------------------------- OTP-10033 A proposal for a new scheduler wakeup strategy has been implemented. For more information see the documentation of the +sws command line argument of erl. OTP-10044 A switch for configuration of busy wait length for scheduler threads has been added. For more information see the documentation of the +sbwt command line argument of erl. OTP-10048 The extra memory barriers introduced by bug-fix OTP-9281 were unnecessarily used also on tables without the write_concurrency option enabled. This could unnecessarily degrade performance of ETS tables without write_concurrency on some hardware (e.g. PowerPC) while not effecting performance at all on other hardware (e.g. x86/x86_64). OTP-9281 (R14B03): ETS tables using the write_concurrency option could potentially get into an internally inconsistent state. OTP-10059 If threads support for the runtime system had been disabled at compile time (--disable-threads had been passed to configure), and the +A command line argument of erl was passed when starting the runtime system, driver_system_info() erroneously claimed that the runtime system had async threads even though it had not. Due to this bug the file driver did not split tasks into smaller chunks, but instead completed the whole task at once, i.e., the scheduler got occupied with I/O for a longer time than intended. --- erts-5.9.1.2 -------------------------------------------------------- OTP-10111 On Linux systems using heart (erl -heart) and a HEAR_BEAT_TIMEOUT less than default, heart could fire even though Erlang was running fine after approx 298 to 497 days (depending on kernel config). This was due to the behaviour of the times(2) system call. Usage of times(2) is now replaced with clock_gettime(2) and the CLOCK_MONOTONIC clock, resulting in a more stable solution. The Erlang VM itself has used clock_gettime(2) on linux since before R12B, so this only affects the heart program. --- erts-5.9.2 ---------------------------------------------------------- OTP-10051 Add port and suspend options to lock-counter profiling. (Thanks to Rick Reed) OTP-10055 Latency when using the active_once option in gen_tcp communication is reduced. OTP-10056 Remove bit8 option support from inet OTP-10057 The OS Pid of a port program is now available by calling erlang:port_info(Port,os_pid), Thanks to Matthias Lang for the original patch. OTP-10071 Fix erl_prim_loader errors in handling of primary archive. The following errors have been corrected: If primary archive was named "xxx", then a file in the same directory named "xxxyyy" would be interpreted as a file named "yyy" inside the archive. erl_prim_loader did not correctly create and normalize absolute paths for primary archive and files inside it, so unless given with exact same path files inside the archive would not be found. E.g. if escript was started as /full/path/to/xxx then "./xxx/file" would not be found since erl_prim_loader would try to match /full/path/to/xxx with /full/path/to/./xxx. Same problem with ../. Depending on how the primary archive was built, erl_prim_loader:list_dir/1 would sometimes return an empty string inside the file list. This was a virtual element representing the top directory of the archive. This has been removed. Thanks to Tuncer Ayaz and Shunichi Shinohara for reporting and co-authoring corrections. OTP-10073 Fix: Add port-I/O statistics for active once and true and not only active false. OTP-10076 Fix openpty usage in run_erl. Reopening a slave file descriptor which was closed earlier could lead to a misbehaving connection. This has now been remedied. OTP-10096 The 64-bit windows installer did not look in the right directories for 64-bit version of Microsoft Visual C++ 2010 Redistibutable Package and hence took the wrong decision about having to install the redistributable package if the 32-bit version was installed but not the 64-bit and vice versa. This bug has now been fixed Furthermore the sub-installer for the redistributable package is now run in silent mode if the erlang installer is. OTP-10105 Remove all code, documentation, options and diagnostic functions which were related to the experimental hybrid heap implementation. OTP-10106 epmd would fail to start automatically when starting a distributed erlang node installed in a location with a whitespace in the path. OTP-10116 A more or less harmless bug that sometimes caused memory deallocations to be delayed longer than intended has been fixed. OTP-10137 Fix bug causing emulator crash when running HiPE on ARM. Bug has existed since R15B. OTP-10138 A bug regarding spaces in C function prototypes has been fixed. (Thanks to Richard O'Keefe.) OTP-10142 Corrected dtrace pid length in message related probes. (Thanks to Zheng Siyao) OTP-10148 Correct formating in exit error messages Ensure displayed sizes are not negative. (Thanks to Michael Santos) OTP-10151 fix escript/primary archive reloading If the mtime of an escript/primary archive file changes after being added to the code path, correctly reload the archive and update the cache. (Thanks to Tuncer Ayaz) OTP-10162 Optimizations of memory deallocations. OTP-10163 Optimization of process locking. OTP-10180 Doc fix: link from erlang:now/0 to os:timestamp/0 Sometimes os:timestamp/0 is more appropriate than erlang:now/0. The documentation for the former has a link to the latter; this patch adds a link in the other direction to make os:timestamp/0 more visible. Thanks to Magnus Henoch OTP-10181 The caret in the werl window (on Windows) could appear at the wrong place after regaining focus. This is now corrected. OTP-10182 Fix bug that in some cases could cause corrupted binaries in ETS tables with compressed option. OTP-10187 Fix use of "clever" mktime Commit 1eef765 introduced regression (conditional _always_ evaluates to true) in which erlang:localtime_to_universaltime/2 stopped working on systems configured with timezone without DST (i.e. UTC) on *BSD platforms: 1> erlang:localtime_to_universaltime({{2012,1,1},{0,0,0}}, true). ** exception error: bad argument Thanks to Piotr Sikora OTP-10189 Relocate bodies of DTrace probes to the statically-linked VM. Due to various operating systems (in both the DTrace and SystemTap worlds) not fully supporting DTrace probes (or SystemTap-compatibility mode probes) in shared libraries, we relocate those probes to the statically-linked virtual machine. This could be seen as pollution of the pristine VM by a (yet) experimental feature. However: 1. This code can be eliminated completely by the C preprocessor. 2. Leaving the probes in the dyntrace NIF shared library simply does not work correctly on too many platforms. *Many* thanks to Macneil Shonle at Basho for assisting when my RSI-injured fingers gave out. (note: Solaris 10 and FreeBSD 9.0-RELEASE can take a long time to compile) OTP-10190 Fix bug in ets:test_ms/2 that could cause emulator crash when using '$_' in match spec. OTP-10198 Added a xcomp example file for powerpc-dso-linux-gnu OTP-10200 Supplying a filename longer than the operating system MAX_PATH to file:read_link/1 would cause a crash (Segemntation fault/Critical Error) on all platforms. This is now corrected. OTP-10201 If Perl was configured to interpret files as being encoded in UTF-8, the build would crash in make_preload. (Thanks to Aaron Harnly for noticing this issue.) OTP-10209 Detect when middle endian doubles are used by a platform and account for it when decoding floats. (Thanks to Mike Sperber) OTP-10211 Fix the erlc -MP flag Because of a copy-and-paste error in erlc.c, the -MP flag had the same effect as -MG. As a workaround, you had to pass +makedep_phony to enable the MP option. This patch makes -MP work as intended. OTP-10217 Allow mixed IPv4 and IPv6 addresses to sctp_bindx Also allow mixed address families to bind, since the first address on a multihomed sctp socket must be bound with bind, while the rest are to be bound using sctp_bindx. At least Linux supports adding address of mixing families. Make inet_set_faddress function available also when HAVE_SCTP is not defined, since we use it to find an address for bind to be able to mix ipv4 and ipv6 addresses. Thanks to Tomas Abrahamsson OTP-10227 Fix support for leap seconds-aware timezones erlang:universaltime_to_localtime is leap seconds-aware (since 2008), however erlang:localtime_to_universaltime is not, which gives surprising results on systems configured with leap seconds-aware timezones: 1> erlang:universaltime_to_localtime({{2012,1,1},{0,0,0}}). {{2012,1,1},{0,0,0}} 2> erlang:localtime_to_universaltime({{2012,1,1},{0,0,0}}). {{2012,1,1},{0,0,24}} and completely breaks calendar:local_time_to_universal_time_dst: 3> calendar:local_time_to_universal_time_dst({{2011,1,1},{0,0,0} }). [] Thanks to Piotr Sikora OTP-10228 erlsrv: gracefully stop emulator on Windows shutdown Windows will send the SERVICE_CONTROL_SHUTDOWN event to the service control handler when shutting down the system. Instead of ignoring the event, erlsrv will now invoke the stop action. Likewise, the Erlang emulator (and it's po drivers) must not quit upon reception of the CTRL_SHUTDOWN_EVENT event in th console control handler. Thanks to Jan Kloetzke OTP-10234 Fix dtrace bug in file rename operation. OTP-10249 Fix bug in memory management of driver port data locks (PDL). In some cases PDLs could be deallocated before ready_async or async_free callback was called. --- et-1.4.4.2 ---------------------------------------------------------- OTP-10119 Fix typo in ET doc (Thanks to Ricardo Catalinas Jiménez) --- eunit-2.2.3 --------------------------------------------------------- OTP-10173 New option 'no_tty' to silent the default tty report. Recognize the new stacktrace format introduced in R15, adding location information. (Thanks to Klas Johansson.) Improve layout of error messages, printing the stack trace before the error term. Heuristically detect and report bad return values from generators and instantiators. E.g., "ok" will not be interpreted as a module name, and a warning will be printed. New test representation {test,M,F} for completeness along with {generator,M,F}. Tuples {M,F} are deprecated. Use UTF-8 as encoding in Surefire output files. (Thanks to Lukas Larsson.) --- hipe-3.9.2 ---------------------------------------------------------- OTP-10083 Correct handling of type names in contracts. Fix crash related to contract checking. Do not rewrite unchanged PLT. OTP-10105 Remove all code, documentation, options and diagnostic functions which were related to the experimental hybrid heap implementation. OTP-10191 Bugs in erl_types:t_inf() (HiPE) and in dialyzer_dataflow (Dialyzer) have been fixed. OTP-10230 Changes in comments and minor code cleanups Thanks to Kostis Sagonas. --- ic-4.2.31 ----------------------------------------------------------- OTP-10109 Fix bug where the ic pre-processor would ignore whitespace quoting. OTP-10138 A bug regarding spaces in C function prototypes has been fixed. (Thanks to Richard O'Keefe.) --- inets-5.9.1 --------------------------------------------------------- OTP-10092 [httpc] Cancel request does not work due to incorrect handler table creation (wrong keypos). OTP-10093 [httpc] Better handling of error(s) during update of the session database. Also added (httpc:which_sessions/0,1) and updated and documented (httpc:info/0) some debugging functions. OTP-10095 Removed R14B compatible version of (inets-service and tftp) behaviour definition. OTP-10114 Documentation of KeepAlive and Pipeline timeout options have been improved. (Thanks to Jesper Louis Andersen) --- kernel-2.15.2 ------------------------------------------------------- OTP-10053 Document inet options: high_watermark, priority, linger and a some other options that previously was undocumented. OTP-10056 Remove bit8 option support from inet OTP-10094 Fixed issue where using controlling_process/2 with self() as the second argument caused the port to leak if self() crashes. (Thanks to Ricardo Catalinas Jiménez) OTP-10098 When sending large files using the file:sendfile fallback file:sendfile would crash. This is now fixed. OTP-10131 The type of the disk log header has been corrected. (Thanks to Niclas Eklund.) OTP-10149 Fix rpc:call/5 for local calls with a finite Timeout (Thanks to Tomer Chachamu) OTP-10151 fix escript/primary archive reloading If the mtime of an escript/primary archive file changes after being added to the code path, correctly reload the archive and update the cache. (Thanks to Tuncer Ayaz) OTP-10160 Support added for home directories named with non-ASCII characters (codepoints above 127) on a system running in Unicode file mode (e.g. on MacOSX or Linux with startup arguments +fnu or +fna with the right LOCALE). Also environment variables with Unicode content are supported in applicable environments. OTP-10217 Allow mixed IPv4 and IPv6 addresses to sctp_bindx Also allow mixed address families to bind, since the first address on a multihomed sctp socket must be bound with bind, while the rest are to be bound using sctp_bindx. At least Linux supports adding address of mixing families. Make inet_set_faddress function available also when HAVE_SCTP is not defined, since we use it to find an address for bind to be able to mix ipv4 and ipv6 addresses. Thanks to Tomas Abrahamsson --- megaco-3.16.0.2 ----------------------------------------------------- OTP-10199 Miscellaneous fixes and changes. --- mnesia-4.7.1 -------------------------------------------------------- OTP-10220 Add tests showing that trying to delete non-existing object may corrupt the In case of bag tables, trying to delete a non-existing object leads to the index becoming corrupt. This happens if the non-existing object we try to delete happens to share its key and index field value with a single existing object in the table. Result: The index entry corresponding to the existing object is removed. Prevent index from being corrupted if a nonexistent item is deleted We have to ensure that we actually delete the last object with a given (key, index) pair before removing the index. Thanks to Bartlomiej Puzon --- observer-1.2 -------------------------------------------------------- OTP-10075 Allow tracing on bifs. Ask epmd for local nodes, and remember users last input in connect. Fix crashes when a table or process information could not be retrieved. OTP-10090 The module name in the link to the detail page for each loaded module was earlier not URL encoded. If the module name contained e.g. a # this could cause the crashdump viewer to crash when opening the link. This has been corrected. OTP-10218 Escape control characters in Table Viewer Similar behaviour to old tv. Objects in tables supposed to be printed in a single line and it looks ugly when a [...,10,...] integer list creates a new-line. Fix Table Viewer search crash on new|changed|deleted rows. Fix Table Viewer crash after a 'Found' -> 'Not found' search sequence Start position was lost after a 'Found' -> 'Not found' search sequence leading an undefined position in the next search. Thanks to Peti Gömori OTP-10221 observer: fix app file (Noticed-by: Motiejus Jakstys) Add missing observer modules to observer.app.src. Thanks to Tuncer Ayaz. OTP-10225 Make Table Viewer search a bit faster Edit table row in a multiline text dialog. Thanks to Peti Gomori. --- odbc-2.10.13 -------------------------------------------------------- OTP-10206 Add support for NULL value in odbc:param_query Support atom 'null' in odbc:param_query as database NULL value Fix "ODBC: received unexpected info:{tcp_closed, ...}" when connection is terminated. Fix possible access violation with 64bit ODBC. Thanks to Maxim Zrazhevskiy --- os_mon-2.2.10 ------------------------------------------------------- OTP-10100 Infinity timeout added to internal calls in disksup to allow it to work properly under very heavy load. OTP-10161 Clarify error messages from os_mon port programs --- public_key-0.16 ----------------------------------------------------- OTP-9908 Add crypto and public_key support for the hash functions SHA224, SHA256, SHA384 and SHA512 and also hmac and rsa_sign/verify support using these hash functions. Thanks to Andreas Schultz for making a prototype. OTP-10065 Optimize RSA private key handling in crypto and public_key. --- reltool-0.6.1 ------------------------------------------------------- OTP-9743 A new sys level configuration parameter {excl_lib,otp_root} is added. When this is set, the target system will not contain anything from $OTP_ROOT. It will only contain a releases directory with rel, script and boot files, and a lib directory with applications found outside of $OTP_ROOT (i.e. "your own" applications). --- runtime_tools-1.8.9 ------------------------------------------------- OTP-10141 Change the module-level docs to give complete step-by-step instructions for using the `dyntrace:p()` trace function. (Thanks to Scott Lystig Fritchie) OTP-10143 Add 1024 separate USDT probes to dyntrace.erl and dyntrace.c (Thanks to Scott Lystig Fritchie) OTP-10189 Relocate bodies of DTrace probes to the statically-linked VM. Due to various operating systems (in both the DTrace and SystemTap worlds) not fully supporting DTrace probes (or SystemTap-compatibility mode probes) in shared libraries, we relocate those probes to the statically-linked virtual machine. This could be seen as pollution of the pristine VM by a (yet) experimental feature. However: 1. This code can be eliminated completely by the C preprocessor. 2. Leaving the probes in the dyntrace NIF shared library simply does not work correctly on too many platforms. *Many* thanks to Macneil Shonle at Basho for assisting when my RSI-injured fingers gave out. (note: Solaris 10 and FreeBSD 9.0-RELEASE can take a long time to compile) --- snmp-4.22.1 --------------------------------------------------------- OTP-10066 [manager] snmpm:log_to_io/6 did not use the LogName argument. OTP-10132 Fix bad decode of types TimeTicks and Unsigned32. OTP-10164 [agent] Errors in vacmAccessTable RowStatus handling. There are problems with the handling of vacmAccessTableStatus that cause some SNMP test suites to report errors. Most notably, erroneous set operations frequently cause "genErr" errors to be returned. These "genErr" errors are usually caused by badmatch exceptions coming from {ok, Row} = snmpa_vacm:get_row(RowIndex) if the row does not exist. The semantics of the RowStatus handling in that table has been adjusted compliant with the RowStatus textual description of SNPMv2-TC MIB. (Thanks to Stefan Zegenhagen) OTP-10165 [agent] Fix walk over vacmAccessTable. Fix the get_next implementation of vacmAccessTable to return all table entries. The get_next implementation of vacmAccessTable did not return all available table data. Instead, it only returned the first column for each row, and all columns for the last row available. OTP-10166 [agent] Sematic fixes to SNMP-USER-BASED-SM-MIB. The semantics allow the usmUserAuthKeyChange and usmUserPrivKeyChange objects to be written to in the same set requests that also creates and clones the user. This was not possible beforehand, causing test tools checking semantic SNMPv3 behaviour to fail on a lot of test cases. Furthermore, once the user has been cloned by writing to an instance of usmUserCloneFrom, further set-operations to the same object will not return an error, but be no-ops. Especially, it must be avoided to copy security parameters again (possibly even from a different user). --- ssh-2.1.1 ----------------------------------------------------------- OTP-10060 Ssh now only sends one channel close message under all circumstances, before it would sometimes incorrectly send two. OTP-10061 The options check mistreated the ip_v6_disable-option, and did not handle some, at the moment, undocumented options correctly. OTP-10062 The channel id in a channel failure message, sent to the peer, is now in all cases the remote channel id OTP-10112 Improved handling of multiple closes to avoid occasional crashes when a channel is closed more than once. OTP-10219 Fix lib/src/test/ssh_basic_SUITE.erl to fix IPv6 option typos Fixed incorrect option "ipv6_disable" to "ipv6_disabled" as documented in the ssh manual. OTP-10224 SSH: Make "auth_methods" server option re-usable The 'auth_methods' option is used by the server side of the SSH code to tell a connecting SSH client about the authentication methods that are supported by the server. The code still extracts and handles the 'auth_methods' option from Opts in appropriate places, but the Opts checking code in ssh.erl didn't allow that option to be specified. OTP-10232 Use the correct channel id when adjusting the channel window --- ssl-5.1 ------------------------------------------------------------- OTP-8871 Experimental support for TLS 1.1 is now available, will be officially supported from OTP-R16. Thanks to Andreas Schultz for implementing the first version. OTP-8872 Experimental support for TLS 1.2 is now available, will be officially supported from OTP-R16. Thanks to Andreas Schultz for implementing the first version. OTP-10113 Removed some bottlenecks increasing the applications parallelism especially for the client side. OTP-10118 Sometimes the client process could receive an extra {error, closed} message after ssl:recv had returned {error, closed}. OTP-10196 ssl v3 alert number 41 (no_certificate_RESERVED) is now recognized OTP-10222 Workaround for handling certificates that wrongly encode X509countryname in utf-8 when the actual value is a valid ASCCI value of length 2. Such certificates are accepted by many browsers such as Chrome and Fierfox so for interoperability reasons we will too. --- stdlib-1.18.2 ------------------------------------------------------- OTP-10054 The message printed by the Erlang shell as an explanation of the badarith error has been corrected. (Thanks to Matthias Lang.) OTP-10104 Fixed bug where if given an invalid drive letter on windows ensure dir would go into an infinite loop. OTP-10130 Calls to gen_server:enter_loop/4 where ServerName has a global scope and no timeout is given now works correctly. Thanks to Sam Bobroff for reporting the issue. OTP-10151 fix escript/primary archive reloading If the mtime of an escript/primary archive file changes after being added to the code path, correctly reload the archive and update the cache. (Thanks to Tuncer Ayaz) OTP-10182 Fix bug that in some cases could cause corrupted binaries in ETS tables with compressed option. OTP-10188 Fix filename:nativename/1 on Win32 Don't choke on paths given as binary argument on Win32. Thanks to Jan Klötzke OTP-10190 Fix bug in ets:test_ms/2 that could cause emulator crash when using '$_' in match spec. OTP-10223 Fix bug where zip archives wrongly have a first disk number set to 1 --- syntax_tools-1.6.9 -------------------------------------------------- OTP-10208 Syntax Tools 1.6.9 Minor bugfixes, spec annotations and documentation cleanup. Thanks to Richard Carlsson --- test_server-3.5.2 --------------------------------------------------- OTP-9896 It is now possible to sort the HTML tables by clicking on the header elements. In order to reset a sorted table, the browser window should simply be refreshed. This feature requires that the browser supports javascript, and has javascript execution enabled. If the 'ct_run -basic_html' flag is used, no javascript code is included in the generated HTML code. OTP-10067 Verbosity levels for log printouts has been added. This makes it possible to specify preferred verbosity for different categories of log printouts, as well as general printouts (such as standard IO), to allow control over which strings get printed and which get ignored. New versions of the Common Test logging functions, ct:log, ct:pal and ct:print, have been introduced, with a new Importance argument added. The Importance value is compared to the verbosity level at runtime. More information can be found in the chapter about Logging in the Common Test User's Guide. OTP-10074 The Erlang/OTP test runner ts has been extended to allow cross compilation of test suites. To cross compile the test suites first follow the normal cross compilation procedures and release the tests on the build host. Then install ts using an xcomp specification file and compile test suites using ts:compile_testcases/0. For more details see $ERL_TOP/xcomp/README.md. OTP-10086 The documentation has been updated with the latest changes for the test_server_ctrl:report/2 function. OTP-10172 The ct:get_status/0 function failed to report status if a parallel test case group was running at the time of the call. This has been fixed and the return value for the function has been updated. Please see the ct reference manual for details. --- tools-2.6.8 --------------------------------------------------------- OTP-10091 The last tuple fun call has been removed from fprof. OTP-10120 Fix indentation of record fields in Emacs (Thanks to Tomas Abrahamsson) OTP-10121 Documentation fixes (Thanks to Ricardo Catalinas Jiménez ) OTP-10168 Remove Erlang-specific compilation error regexp in erlang.el OTP-10178 Fix highlighting of atoms ending with a dollar sign Like this: 'atom$'. In that example, the last single quote should be recognised as ending the atom. This needs a font-lock workaround similar to the one for strings. Thanks to Magnus Henoch OTP-10192 Xref now accepts filenames with character codes greater than 126. (Thanks to Emile Joubert for reporting the issue.) OTP-10226 Add test_indentation target to lib/tools/emacs/Makefile Automatically indent test.erl.orig, save to test.erl, and compare to test.erl.intended. Thanks to Magnus Henoch. --- typer-0.9.4 --------------------------------------------------------- OTP-10103 Add parallel dialyzer support --- xmerl-1.3.2 --------------------------------------------------------- OTP-10063 Fix a continuation bug when a new block of bytes is to be read during parsing of a default declaration.