From 00d9d21922224fa378f8aecb8c06f67d9f1579f4 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Jun 20 2013 08:38:44 +0000 Subject: Ver. R16B01 Signed-off-by: Peter Lemenkov --- diff --git a/.gitignore b/.gitignore index e60b66a..1b96e45 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,7 @@ otp_src_R14A.tar.gz /otp_src_R16B.tar.gz /otp_doc_html_R16B.tar.gz /otp_doc_man_R16B.tar.gz +/otp_src_R16B01.tar.gz +/otp_doc_html_R16B01.tar.gz +/otp_doc_man_R16B01.tar.gz +/otp_src_R16B01.readme diff --git a/erlang.spec b/erlang.spec index ac8d514..a5cb668 100644 --- a/erlang.spec +++ b/erlang.spec @@ -1,7 +1,7 @@ %global upstream_ver R16B # Do NOT change %%{upstream_rel} unless UPSTREAM has actually changed it! -#%global upstream_rel 03 -%global upstream_rel %{nil} +#%global upstream_rel %{nil} +%global upstream_rel 01 # Use %%{nil} for %%{upstream_rel} for tracking source like otp_src_R14B.tar.gz, # and 01 %%{upstream_rel} for tracking source like otp_src_R14B01.tar.gz. @@ -25,7 +25,7 @@ Name: erlang Version: %{upstream_ver} -Release: %{upstream_rel_for_rpm}.4%{?dist} +Release: %{upstream_rel_for_rpm}.1%{?dist} Summary: General-purpose programming language and runtime environment Group: Development/Languages @@ -360,6 +360,7 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release} Requires: %{name}-wx%{?_isa} = %{version}-%{release} +Requires: graphviz Obsoletes: %{name} < R13B-04.5 %description dialyzer @@ -791,6 +792,7 @@ Secure Shell application with sftp and ssh support. %package ssl Summary: Secure Socket Layer support Group: Development/Languages +Requires: %{name}-asn1%{?_isa} = %{version}-%{release} Requires: %{name}-crypto%{?_isa} = %{version}-%{release} Requires: %{name}-erts%{?_isa} = %{version}-%{release} Requires: %{name}-kernel%{?_isa} = %{version}-%{release} @@ -1843,6 +1845,8 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/erlang/man/man3/snmpa_error_logger.* %{_libdir}/erlang/man/man3/snmpa_error_report.* %{_libdir}/erlang/man/man3/snmpa_local_db.* +%{_libdir}/erlang/man/man3/snmpa_mib_data.* +%{_libdir}/erlang/man/man3/snmpa_mib_storage.* %{_libdir}/erlang/man/man3/snmpa_mpd.* %{_libdir}/erlang/man/man3/snmpa_network_interface.* %{_libdir}/erlang/man/man3/snmpa_network_interface_filter.* @@ -2309,6 +2313,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Jun 19 2013 Peter Lemenkov - R16B-01.1 +- Ver. R16B01 +- Added graphviz as a requirement for dialyzer (thanks to Matwey V. Kornilov) + * Mon Mar 11 2013 Peter Lemenkov - R16B-0.4 - Add Requires for SCTP (dlopened library) diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch index 00cf566..fbb06c0 100644 --- a/otp-0006-Do-not-install-erlang-sources.patch +++ b/otp-0006-Do-not-install-erlang-sources.patch @@ -86,15 +86,15 @@ Signed-off-by: Hans Ulrich Niedermann 76 files changed, 60 insertions(+), 113 deletions(-) diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile -index a224b6a..e88641b 100644 +index 7a7b7fb..fcdb699 100644 --- a/erts/preloaded/src/Makefile +++ b/erts/preloaded/src/Makefile -@@ -69,8 +69,6 @@ copy: +@@ -76,8 +76,6 @@ copy: include $(ERL_TOP)/make/otp_release_targets.mk release_spec: - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ERL_FILES) $(BEAM_FILES) $(STUBS_FILES) "$(RELSYSDIR)/src" $(INSTALL_DIR) "$(RELSYSDIR)/ebin" $(INSTALL_DATA) $(STATIC_TARGET_FILES) "$(RELSYSDIR)/ebin" @@ -112,7 +112,7 @@ index c1620bc..02c0984 100644 $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile -index 9607799..dbfb40b 100644 +index 33cd3cc..72c7005 100644 --- a/lib/asn1/src/Makefile +++ b/lib/asn1/src/Makefile @@ -156,7 +156,7 @@ release_spec: opt @@ -288,7 +288,7 @@ index bb2edd4..6b20995 100644 $(INSTALL_DIR) "$(RELSYSDIR)/ebin" $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile -index df10c33..5c54e70 100644 +index 578bbae..647cfde 100644 --- a/lib/diameter/src/Makefile +++ b/lib/diameter/src/Makefile @@ -242,11 +242,8 @@ release_spec: opt @@ -413,7 +413,7 @@ index 75e156b..5e394ca 100644 $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/hipe/icode/Makefile b/lib/hipe/icode/Makefile -index 0f2d6db..4e267f9 100644 +index 87015aa..84f870d 100644 --- a/lib/hipe/icode/Makefile +++ b/lib/hipe/icode/Makefile @@ -119,7 +119,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -452,7 +452,7 @@ index 16166f5..0ba5845 100644 $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/hipe/rtl/Makefile b/lib/hipe/rtl/Makefile -index 7852a21..917cdee 100644 +index 751e876..98b7911 100644 --- a/lib/hipe/rtl/Makefile +++ b/lib/hipe/rtl/Makefile @@ -104,7 +104,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -963,10 +963,10 @@ index 93d0b54..5904bc2 100644 $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ $(APPUP_TARGET) "$(RELSYSDIR)/ebin" diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile -index e61f415..74661e3 100644 +index cf9f7d5..0f80003 100644 --- a/lib/ssl/src/Makefile +++ b/lib/ssl/src/Makefile -@@ -122,7 +122,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -129,7 +129,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" diff --git a/otp_src_R16B.readme b/otp_src_R16B.readme deleted file mode 100644 index 861ab56..0000000 --- a/otp_src_R16B.readme +++ /dev/null @@ -1,2760 +0,0 @@ -Major release : otp_src_R16B -Build date : 2013-02-25 - -R16B is a major new release of Erlang/OTP. -You can download the full source distribution from - - http://www.erlang.org/download/otp_src_R16B.tar.gz - http://www.erlang.org/download/otp_src_R16B.readme (this file) - -Note: To unpack the TAR archive you need a GNU TAR compatible program. - -For installation instructions please read the README that is part of -the distribution. - -The Windows binary distribution can be downloaded from - - http://www.erlang.org/download/otp_win32_R16B.exe - http://www.erlang.org/download/otp_win64_R16B.exe - - -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_R16B.tar.gz - http://www.erlang.org/download/otp_doc_man_R16B.tar.gz - -We also want to thank those that sent us patches, suggestions and bug reports, - -The OTP Team - - ---- HIGHLIGHTS ---------------------------------------------------------- - - OTP-7786 == ssh == - - Added User Guide for the SSH application - - OTP-9892 == erts == - - Process optimizations. The most notable: - - -- New internal process table implementation allowing for - both parallel reads as well as writes. Especially read - operations have become really cheap. This reduce contention - in various situations. For example when, spawning processes, - terminating processes, sending messages, etc. - - -- Optimizations of run queue management reducing contention. - - -- Optimizations of process state changes reducing - contention. - - These changes imply changes of the characteristics the - system. Most notable: changed timing in the system. - - OTP-9974 == erts == - - Non-blocking code loading. Earlier when an Erlang module was - loaded, all other execution in the VM were halted while the - load operation was carried out in single threaded mode. Now - modules are loaded without blocking the VM. Processes may - continue executing undisturbed in parallel during the entire - load operation. The load operation is completed by making the - loaded code visible to all processes in a consistent way with - one single atomic instruction. Non-blocking code loading will - improve realtime characteristics when modules are - loaded/upgraded on a running SMP system. - - OTP-10256 == inets == - - httpc: The HTTP client now supports HTTPS through proxies - - OTP-10336 == erts == - - Major port improvements. The most notable: - - -- New internal port table implementation allowing for both - parallel reads as well as writes. Especially read operations - have become really cheap.This reduce contention in various - situations. For example when, creating ports, terminating - ports, etc. - - -- Dynamic allocation of port structures. This allow for a - much larger maximum amount of ports allowed as a default. The - previous default of 1024 has been raised to 65536. Maximum - amount of ports can be set using the +Q command line flag of - erl(1). The previously used environment variable - ERL_MAX_PORTS has been deprecated and scheduled for removal - in OTP-R17. - - -- Major rewrite of scheduling of port tasks. Major benefits - of the rewrite are reduced contention on run queue locks, and - reduced amount of memory allocation operations needed. The - rewrite was also necessary in order to make it possible to - schedule signals from processes to ports. - - -- Improved internal thread progress functionality for easy - management of unmanaged threads. This improvement was - necessary for the rewrite of the port task scheduling. - - -- Rewrite of all process to port signal implementations in - order to make it possible to schedule those operations. All - port operations can now be scheduled which allows for reduced - lock contention on the port lock as well as truly - asynchronous communication with ports. - - -- Optimized lookup of port handles from drivers. - - -- Optimized driver lookup when creating ports. - - -- Preemptable erlang:ports/0 BIF. - - -- Improving responsiveness by bumping reductions for a - process calling a driver callback directly. - - These changes imply changes of the characteristics of the - system. The most notable: - - -- Order of signal delivery -- The previous implementation of - the VM has delivered signals from processes to ports in a - synchronous stricter fashion than required by the language. - As of ERTS version 5.10, signals are truly asynchronously - delivered. The order of signal delivery still adheres to the - requirements of the language, but only to the requirements. - That is, some signal sequences that previously always were - delivered in one specific order may now from time to time be - delivered in different orders. This may cause Erlang programs - that have made false assumptions about signal delivery order - to fail even though they previously succeeded. For more - information about signal ordering guarantees, see the chapter - on communication in the ERTS user's guide. The +n command - line flag of erl(1) can be helpful when trying to find - signaling order bugs in Erlang code that have been exposed by - these changes. - - -- Latency of signals sent from processes to ports -- Signals - from processes to ports where previously always delivered - immediately. This kept latency for such communication to a - minimum, but it could cause lock contention which was very - expensive for the system as a whole. In order to keep this - latency low also in the future, most signals from processes - to ports are by default still delivered immediately as long - as no conflicts occur. Such conflicts include not being able - to acquire the port lock, but also include other conflicts. - When a conflict occur, the signal will be scheduled for - delivery at a later time. A scheduled signal delivery may - cause a higher latency for this specific communication, but - improves the overall performance of the system since it - reduce lock contention between schedulers. The default - behavior of only scheduling delivery of these signals on - conflict can be changed by passing the +spp command line flag - to erl(1). The behavior can also be changed on port basis - using the parallelism option of the open_port/2 BIF. - - -- Execution time of the erlang:ports/0 BIF -- Since - erlang:ports/0 now can be preempted, the responsiveness of - the system as a whole has been improved. A call to - erlang:ports/0 may, however, take a much longer time to - complete than before. How much longer time heavily depends on - the system load. - - -- Reduction cost of calling driver callbacks -- Calling a - driver callback is quite costly. This was previously not - reflected in reduction cost at all. Since the reduction cost - now has increased, a process performing lots of direct driver - calls will be scheduled out more frequently than before. - - Potential incompatibilities: - - -- driver_send_term() has been deprecated and has been - scheduled for removal in OTP-R17. Replace usage of - driver_send_term() with usage of erl_drv_send_term(). - - -- driver_output_term() has been deprecated and has been - scheduled for removal in OTP-R17. Replace usage of - driver_output_term() with usage of erl_drv_output_term(). - - -- The new function erl_drv_busy_msgq_limits() has been added - in order to able to control management of port queues. - - The driver API version has been bumped to 2.1 from 2.0 due to - the above changes in the driver API. - - OTP-10410 == asn1 == - - The options for the ASN.1 compiler has been drastically - simplified. The backend is chosen by using ber, per, or uper. - The options optimize, nif, and driver are no longer needed. - The old options will still work, but will issue a warning. - - Another change is that generated encode/2 function will - always return a binary (some backends used to return an - iolist). - - OTP-10588 == asn1 == - - The ASN.1 compiler will now always include necessary run-time - functions in the generated Erlang modules (except for - asn1rt_nif which is still neeeded). If the option 'inline' is - used the ASN.1 compiler will generate a warning. But if - '{inline,OutputFile}' is use, the ASN.1 compiler will refuse - to compile the file. (Use a .set.asn file if you need to - remove the output file.) - - The 'BIT STRING' type will now be decoded as Erlang - bitstrings by default. Use the new legacy_bit_string option - to encode as lists of ones and zeroes. (The - compact_bit_string option still works as before.) - - Open types are now always returned as binaries (when there is - no information allowing them to be decoded). - ---- POTENTIAL INCOMPATIBILITIES ----------------------------------------- - - OTP-9052 == common_test == - - Removed depricated run_test program, use ct_run instead. - - OTP-9881 == common_test == - - It is now possible to let a test specification include other - test specifications. Included specs can either be joined with - the source spec (and all other joined specs), resulting in - one single test run, or they can be executed in separate test - runs. Also, a start flag/option, join_specs, has been - introduced, to be used in combination with the spec option. - With join_specs, Common Test can be told to either join - multiple test specifications, or run them separately. Without - join_specs, the latter behaviour is default. Note that this - is a change compared to earlier versions of Common Test, - where specifications could only be joined. More information - can be found in the Running Tests chapter in the User's Guide - (see the Test Specifications section). - - OTP-10117 == inviso == - - The inviso application has been removed. - - OTP-10170 == erts pman == - - Tuple funs (deprecated in R15B) are no longer supported. - - OTP-10195 == edoc == - - Since EDoc 0.7.7 (R14B02) separate values of union types can - be annotated. However, the parser has hitherto chosen not to - add the necessary parentheses due to backwards compatibility. - - From this release on code traversing the output of - edoc_parser needs to take care of parentheses around separate - values of union types. Examples of such code are layout - modules and doclet modules. - - OTP-10336 == erts == - - Major port improvements. The most notable: - - -- New internal port table implementation allowing for both - parallel reads as well as writes. Especially read operations - have become really cheap.This reduce contention in various - situations. For example when, creating ports, terminating - ports, etc. - - -- Dynamic allocation of port structures. This allow for a - much larger maximum amount of ports allowed as a default. The - previous default of 1024 has been raised to 65536. Maximum - amount of ports can be set using the +Q command line flag of - erl(1). The previously used environment variable - ERL_MAX_PORTS has been deprecated and scheduled for removal - in OTP-R17. - - -- Major rewrite of scheduling of port tasks. Major benefits - of the rewrite are reduced contention on run queue locks, and - reduced amount of memory allocation operations needed. The - rewrite was also necessary in order to make it possible to - schedule signals from processes to ports. - - -- Improved internal thread progress functionality for easy - management of unmanaged threads. This improvement was - necessary for the rewrite of the port task scheduling. - - -- Rewrite of all process to port signal implementations in - order to make it possible to schedule those operations. All - port operations can now be scheduled which allows for reduced - lock contention on the port lock as well as truly - asynchronous communication with ports. - - -- Optimized lookup of port handles from drivers. - - -- Optimized driver lookup when creating ports. - - -- Preemptable erlang:ports/0 BIF. - - -- Improving responsiveness by bumping reductions for a - process calling a driver callback directly. - - These changes imply changes of the characteristics of the - system. The most notable: - - -- Order of signal delivery -- The previous implementation of - the VM has delivered signals from processes to ports in a - synchronous stricter fashion than required by the language. - As of ERTS version 5.10, signals are truly asynchronously - delivered. The order of signal delivery still adheres to the - requirements of the language, but only to the requirements. - That is, some signal sequences that previously always were - delivered in one specific order may now from time to time be - delivered in different orders. This may cause Erlang programs - that have made false assumptions about signal delivery order - to fail even though they previously succeeded. For more - information about signal ordering guarantees, see the chapter - on communication in the ERTS user's guide. The +n command - line flag of erl(1) can be helpful when trying to find - signaling order bugs in Erlang code that have been exposed by - these changes. - - -- Latency of signals sent from processes to ports -- Signals - from processes to ports where previously always delivered - immediately. This kept latency for such communication to a - minimum, but it could cause lock contention which was very - expensive for the system as a whole. In order to keep this - latency low also in the future, most signals from processes - to ports are by default still delivered immediately as long - as no conflicts occur. Such conflicts include not being able - to acquire the port lock, but also include other conflicts. - When a conflict occur, the signal will be scheduled for - delivery at a later time. A scheduled signal delivery may - cause a higher latency for this specific communication, but - improves the overall performance of the system since it - reduce lock contention between schedulers. The default - behavior of only scheduling delivery of these signals on - conflict can be changed by passing the +spp command line flag - to erl(1). The behavior can also be changed on port basis - using the parallelism option of the open_port/2 BIF. - - -- Execution time of the erlang:ports/0 BIF -- Since - erlang:ports/0 now can be preempted, the responsiveness of - the system as a whole has been improved. A call to - erlang:ports/0 may, however, take a much longer time to - complete than before. How much longer time heavily depends on - the system load. - - -- Reduction cost of calling driver callbacks -- Calling a - driver callback is quite costly. This was previously not - reflected in reduction cost at all. Since the reduction cost - now has increased, a process performing lots of direct driver - calls will be scheduled out more frequently than before. - - Potential incompatibilities: - - -- driver_send_term() has been deprecated and has been - scheduled for removal in OTP-R17. Replace usage of - driver_send_term() with usage of erl_drv_send_term(). - - -- driver_output_term() has been deprecated and has been - scheduled for removal in OTP-R17. Replace usage of - driver_output_term() with usage of erl_drv_output_term(). - - -- The new function erl_drv_busy_msgq_limits() has been added - in order to able to control management of port queues. - - The driver API version has been bumped to 2.1 from 2.0 due to - the above changes in the driver API. - - OTP-10410 == asn1 == - - The options for the ASN.1 compiler has been drastically - simplified. The backend is chosen by using ber, per, or uper. - The options optimize, nif, and driver are no longer needed. - The old options will still work, but will issue a warning. - - Another change is that generated encode/2 function will - always return a binary (some backends used to return an - iolist). - - OTP-10417 == kernel sasl == - - It is no longer possible to have {Mod,Vsn} in the 'modules' - list in a .app file. - - This was earlier possible, although never documented in the - .app file reference manual. It was however visible in the - documentation of application:load/[1,2], where the same term - as in a .app file can be used as the first argument. - - The possibility has been removed since the Vsn part was never - used. - - OTP-10451 == ssl == - - Remove filter mechanisms that made error messages backwards - compatible with old ssl but hid information about what - actually happened. - - This does not break the documented API however other reason - terms may be returned, so code that matches on the reason - part of {error, Reason} may fail. - - OTP-10490 == stdlib == - - If a child process fails in its start function, then the - error reason was earlier only reported as an error report - from the error_handler, and supervisor:start_link would only - return {error,shutdown}. This has been changed so the - supervisor will now return {error,{shutdown,Reason}}, where - Reason identifies the failing child and its error reason. - (Thanks to Tomas Pihl) - - OTP-10523 == tools == - - A new function, cover:flush(Nodes), is added which will fetch - data from remote nodes without stopping cover on those nodes. - This is used by test_server and common_test when it is safe - to assume that the node will be terminated after the test - anyway. The purpose is to avoid processes crashing when - re-loading the original beam if the processes is still - running old code. - - Remote nodes will now continue to count code coverage if the - connection to the main node is broken. Earlier, a broken - connection would cause the cover_server on the remote node to - die and thus any still cover compiled modules would cause - process crash when trying to insert cover data in ets tables - that used to exist on the cover_server. The new functionality - also involves synchronization with the main node if the nodes - are reconnected. - - OTP-10588 == asn1 == - - The ASN.1 compiler will now always include necessary run-time - functions in the generated Erlang modules (except for - asn1rt_nif which is still neeeded). If the option 'inline' is - used the ASN.1 compiler will generate a warning. But if - '{inline,OutputFile}' is use, the ASN.1 compiler will refuse - to compile the file. (Use a .set.asn file if you need to - remove the output file.) - - The 'BIT STRING' type will now be decoded as Erlang - bitstrings by default. Use the new legacy_bit_string option - to encode as lists of ones and zeroes. (The - compact_bit_string option still works as before.) - - Open types are now always returned as binaries (when there is - no information allowing them to be decoded). - - OTP-10613 == ssl == - - Removed deprecated function ssl:pid/0, it has been pointless - since R14 but has been keep for backwards compatibility. - - OTP-10633 == erts == - - Erlang specification 4.7.3 defines max tuple size to 65535 - elements It is now enforced to no more than 16777215 elements - (arity 24 bits) - - Previous edge cases (28 bits) were not validated and could - cause undefined behaviour. - - OTP-10647 == erts == - - The previous default of a maximum of 32768 simultaneous - processes has been raised to 262144. This value can be - changed using the the +P command line flag of erl(1). Note - that the value passed now is considered as a hint, and that - actual value chosen in most cases will be a power of two. - - OTP-10812 == stdlib == - - filelib:wildcard("some/relative/path/*.beam", Path) would - fail to match any file. That is, filelib:wildcard/2 would not - work if the first component of the pattern did not contain - any wildcard characters. (A previous attempt to fix the - problem in R15B02 seems to have made matters worse.) - - (Thanks to Samuel Rivas and Tuncer Ayaz.) - - There is also an incompatible change to the Path argument. It - is no longer allowed to be a binary. - - OTP-10872 == erts == - - As of ERTS-5.10/OTP-R16A node names passed in the EPMD - protocol are required to be encoded in UTF-8. Since EPMD - previously accepted latin1 encoded node names this is an - incompatibility. However, since Erlang nodes always have - required characters in node names to be 7-bit ASCII - characters (and still do require this), this incompatibility - should not effect anyone using EPMD as an Erlang Port Mapper - Daemon. - ---- CHARACTERISTICS IMPACT ----------------------------------------------- - - OTP-9892 == erts == - - Process optimizations. The most notable: - - -- New internal process table implementation allowing for - both parallel reads as well as writes. Especially read - operations have become really cheap. This reduce contention - in various situations. For example when, spawning processes, - terminating processes, sending messages, etc. - - -- Optimizations of run queue management reducing contention. - - -- Optimizations of process state changes reducing - contention. - - These changes imply changes of the characteristics the - system. Most notable: changed timing in the system. - - - OTP-9974 == erts == - - Non-blocking code loading. Earlier when an Erlang module was - loaded, all other execution in the VM were halted while the - load operation was carried out in single threaded mode. Now - modules are loaded without blocking the VM. Processes may - continue executing undisturbed in parallel during the entire - load operation. The load operation is completed by making the - loaded code visible to all processes in a consistent way with - one single atomic instruction. Non-blocking code loading will - improve realtime characteristics when modules are - loaded/upgraded on a running SMP system. - - OTP-10122 == erts == - - In the SMP emulator, turning on and off tracing will no - longer take down the system to single-scheduling. - - OTP-10167 == erts == - - Optimized deletion of ETS-tables which significantly improves - performance when large amounts of temporary tables are used. - - This change imply changes of the characteristics the system. - Most notable: changed timing in the system. - - OTP-10273 == erts == - - New internal header scheme for allocators - - Impact: Reduces size on object allocated in multiblock - carriers by one word - - OTP-10336 == erts == - - Major port improvements. - - These changes imply changes of the characteristics of the - system. The most notable: - - -- Order of signal delivery -- The previous implementation of - the VM has delivered signals from processes to ports in a - synchronous stricter fashion than required by the language. - As of ERTS version 5.10, signals are truly asynchronously - delivered. The order of signal delivery still adheres to the - requirements of the language, but only to the requirements. - That is, some signal sequences that previously always were - delivered in one specific order may now from time to time be - delivered in different orders. This may cause Erlang programs - that have made false assumptions about signal delivery order - to fail even though they previously succeeded. For more - information about signal ordering guarantees, see the chapter - on communication in the ERTS user's guide. The +n command - line flag of erl(1) can be helpful when trying to find - signaling order bugs in Erlang code that have been exposed by - these changes. - - -- Latency of signals sent from processes to ports -- Signals - from processes to ports where previously always delivered - immediately. This kept latency for such communication to a - minimum, but it could cause lock contention which was very - expensive for the system as a whole. In order to keep this - latency low also in the future, most signals from processes - to ports are by default still delivered immediately as long - as no conflicts occur. Such conflicts include not being able - to acquire the port lock, but also include other conflicts. - When a conflict occur, the signal will be scheduled for - delivery at a later time. A scheduled signal delivery may - cause a higher latency for this specific communication, but - improves the overall performance of the system since it - reduce lock contention between schedulers. The default - behavior of only scheduling delivery of these signals on - conflict can be changed by passing the +spp command line flag - to erl(1). The behavior can also be changed on port basis - using the parallelism option of the open_port/2 BIF. - - -- Execution time of the erlang:ports/0 BIF -- Since - erlang:ports/0 now can be preempted, the responsiveness of - the system as a whole has been improved. A call to - erlang:ports/0 may, however, take a much longer time to - complete than before. How much longer time heavily depends on - the system load. - - -- Reduction cost of calling driver callbacks -- Calling a - driver callback is quite costly. This was previously not - reflected in reduction cost at all. Since the reduction cost - now has increased, a process performing lots of direct driver - calls will be scheduled out more frequently than before. - - OTP-10661 == erts == - - The previously (in R15) proposed scheduler wakeup strategy is - now used by default. This strategy is not as quick to forget - about previous overload as the previous strategy. - - This change imply changes of the characteristics the system. - Most notable: When a small overload comes and then disappears - repeatedly, the system will for a bit longer time be willing - to wake up schedulers than before. Timing in the system will - due to this also change. - - The previous strategy can still be enabled by passing the - +sws legacy command line flag to erl. - - OTP-10736 == erts == - - The runtime system will now by default use 10 async threads - if thread support has been enabled when building the runtime - system. - - This will prevent long blocking file-operations from blocking - scheduler threads for long periods of time, which can be - harmful. Apart from file-operations, it also effects other - operations scheduled on the async thread pool by user - implemented drivers. - - The amount of async threads can be controlled by using the +A - command line argument of erl(1). When running some offline - tools you might want to disable async threads, but you are - advised not to in the general case. Instead, you might want - to increase the amount of async threads used. - - This change imply changes of the characteristics the system - compared to the previous default. The responsiveness of the - system as a whole will be improved. Operations scheduled on - the async thread pool will get an increased latency. The - throughput of these operations may increase, or decrease - depending on the type of the operations and how they get - scheduled. In the case of file operations, the throughput - very much depends on how the Erlang application access files. - Multiple concurrent accesses to different files have the - potential of an increased throughput. - - OTP-10737 == erts == - - The default reader group limit has been increased to 64 from - 8. This limit can be set using the +rg command line argument - of erl(1). - - This change of default value will reduce lock contention on - ETS tables using the read_concurrency option at the expense - of memory consumption when the amount of schedulers and - logical processors are beween 8 and 64. For more information, - see documentation of the +rg command line argument of erl(1). - - OTP-10787 == erts == - - Increased potential concurrency in ETS for write_concurrency - option. The number of internal table locks has increased from - 16 to 64. This makes it four times less likely that two - concurrent processes writing to the same table would collide - and thereby serialized. The cost is an increased constant - memory footprint for tables using write_concurrency. The - memory consumption per inserted record is not affected. The - increased footprint can be particularly large if - write_concurrency is combined with read_concurrency. - - OTP-10519 == asn1 == - - The ASN.1 compiler generates faster decode functions for PER - and UPER. Some minor improvements have also been made for - PER/UPER encoding, and to the BER backend. - - OTP-10506 == odbc == - - Under Unix enable TCP_NODELAY to disable Nagel's socket - algorithm. Thanks to Andy Richards - - Impact: Performance gain on Unix systems - - OTP-10361 == ssl == - - Support Next Protocol Negotiation in TLS, thanks to Ben - Murphy for the contribution. - - Impact: Could give performance benefit if used as it saves a - round trip. - - OTP-10425 == ssl == - - TLS 1.2 will now be the default TLS version if sufficient - crypto support is available otherwise TLS 1.1 will be - default. - - Impact: A default TLS connection will have higher security - and hence it may be perceived as slower then before. - - OTP-10710 == ssl == - - Now handles cleaning of CA-certificate database correctly so - that there will be no memory leek, bug was introduced in ssl- - 5.1 when changing implementation to increase parallel - execution. - - Impact: Improved memory usage, especially if you have many - different certificates and upgrade tcp-connections to - TLS-connections. - ---- inviso -------------------------------------------------------------- - - OTP-10117 The inviso application has been removed. - - ---- otp ----------------------------------------------------------------- - - OTP-9684 Most specs for built in functions now reside in their - respective module instead of being coded in the erl_bif_types - module of the Hipe application. This creatyes a single source - for specifications and documentation, which should radically - lessen the risk for differences between the docs and the - actual spec seen by dialyzer. - - OTP-9862 Many types and specifications that used to reside in - erl_bif_types have been moved into respective module. - - OTP-10616 The experimental feature "parameterized modules" (also called - "abstract modules") has been removed. For applications that - depends on parameterized modules, there is a parse transform - that can be used to still use parameterized modules. The - parse transform can be found at: - github.com/erlang/pmod_transform - - OTP-10726 Implement ./otp_build configure --enable-silent-rules - - With silent rules, the output of make is less verbose and - compilation warnings are easier to spot. Silent rules are - disabled by default and can be disabled or enabled at will by - make V=0 and make V=1. (Thanks to Anthony Ramine) - - ---- appmon-2.1.14.2 ----------------------------------------------------- - - OTP-10784 Misc build updates - - OTP-10786 The backend module appmon_info.erl is moved from appmon - application to runtime_tools. This allows appmon to be run - from a remote erlang node towards a target node which does - not have appmon (and its dependencies) installed, as long as - runtime_tools is installed there. - - ---- asn1-2.0 ------------------------------------------------------------ - - OTP-10410 The options for the ASN.1 compiler has been drastically - simplified. The backend is chosen by using ber, per, or uper. - The options optimize, nif, and driver are no longer needed. - The old options will still work, but will issue a warning. - - Another change is that generated encode/2 function will - always return a binary (some backends used to return an - iolist). - - OTP-10519 The ASN.1 compiler generates faster decode functions for PER - and UPER. Some minor improvements have also been made for - PER/UPER encoding, and to the BER backend. - - OTP-10588 The ASN.1 compiler will now always include necessary run-time - functions in the generated Erlang modules (except for - asn1rt_nif which is still neeeded). If the option 'inline' is - used the ASN.1 compiler will generate a warning. But if - '{inline,OutputFile}' is use, the ASN.1 compiler will refuse - to compile the file. (Use a .set.asn file if you need to - remove the output file.) - - The 'BIT STRING' type will now be decoded as Erlang - bitstrings by default. Use the new legacy_bit_string option - to encode as lists of ones and zeroes. (The - compact_bit_string option still works as before.) - - Open types are now always returned as binaries (when there is - no information allowing them to be decoded). - - OTP-10664 Encoding SEQUENCEs with multiple extension addition groups - with optional values could fail (depending both on the - specification and whether all values were provided). - - ---- asn1-2.0.1 ---------------------------------------------------------- - - OTP-10853 Fixed broken table constraints within a SET OF or SEQUENCE OF - for the BER backend. - - ---- common_test-1.7 ----------------------------------------------------- - - OTP-9769 Severe errors detected by test_server (e.g. if log files - directories cannot be created) will now be reported to - common_test and noted in the common_test logs. - - OTP-9870 The earlier undocumented cross cover feature for accumulating - cover data over multiple tests has now been fixed and - documented. - - OTP-9881 It is now possible to let a test specification include other - test specifications. Included specs can either be joined with - the source spec (and all other joined specs), resulting in - one single test run, or they can be executed in separate test - runs. Also, a start flag/option, join_specs, has been - introduced, to be used in combination with the spec option. - With join_specs, Common Test can be told to either join - multiple test specifications, or run them separately. Without - join_specs, the latter behaviour is default. Note that this - is a change compared to earlier versions of Common Test, - where specifications could only be joined. More information - can be found in the Running Tests chapter in the User's Guide - (see the Test Specifications section). - - OTP-10040 If a busy test case generated lots of error messages, - cth_log_redirect:post_end_per_testcase would crash with a - timeout while waiting for the error logger to finish handling - all error reports. The default timer was 5 seconds. This has - now been extended to 5 minutes. - - OTP-10070 When a test case failed because of a timetrap time out, the - Config data for the case was lost in the following call to - end_per_testcase/2, and also in calls to the CT Hook function - post_end_per_testcase/4. This problem has been solved and the - Config data is now correctly passed to the above functions - after a timetrap timeout failure. - - OTP-10088 Some calls to deprecated and removed functions in snmp are - removed from ct_snmp. - - OTP-10101 In test_server, the same process would supervise the - currently running test case and be group leader (and IO - server) for the test case. Furthermore, when running parallel - test cases, new temporary supervisor/group leader processes - were spawned and the process that was group leader for - sequential test cases would not be active. That would lead to - several problems: - - * Processes started by init_per_suite will inherit the group - leader of the init_per_suite process (and that group leader - would not process IO requests when parallel test cases was - running). If later a parallel test case caused such a - processto print using (for example) io:format/2, the calling - would hang. - - * Similarly, if a process was spawned from a parallel test - case, it would inherit the temporary group leader for that - parallel test case. If that spawned process later - when the - group of parallel tests have finished - attempted to print - something, its group leader would be dead and there would be - badarg exception. - - Those problems have been solved by having group leaders - separate from the processes that supervises the test cases, - and keeping temporary group leader process for parallel test - cases alive until no more process in the system use them as - group leaders. - - Also, a new unexpected_io.log log file (reachable from the - summary page of each test suite) has been introduced. All - unexpected IO will be printed into it(for example, IO to a - group leader for a parallel test case that has finished). - - OTP-10432 Some bugfixes in ct_snmp: - - -- ct_snmp will now use the value of the 'agent_vsns' config - variable when setting the 'variables' parameter to snmp - application agent configuration. Earlier this had to be done - separately - i.e. the supported versions had to be specified - twice. - - -- Snmp application failed to write notify.conf since ct_snmp - gave the notify type as a string instead of an atom. This has - been corrected. - - OTP-10434 Some bugfixes in ct_snmp: - - -- Functions register_users/2, register_agents/2 and - register_usm_users/2, and the corresponding unregister_*/1 - functions were not executable. These are corrected/rewritten. - - -- Function update_usm_users/2 is removed, and an unregister - function is added instead. Update can now be done with - unregister_usm_users and then register_usm_users. - - -- Functions unregister_*/2 are added, so specific - users/agents/usm users can be unregistered. - - -- Function unload_mibs/1 is added for completeness. - - -- Overriding configuration files did not work, since the - files were written in priv_dir instead of in the - configuration dir (priv_dir/conf). This has been corrected. - - -- Arguments to register_usm_users/2 were faulty documented. - This has been corrected. - - OTP-10469 The ct_slave:start/3 function now supports an - {env,[{Var,Value}]} option to extend environment for the - slave node. - - OTP-10601 Faulty exported specs in common test has been corrected to - ct_netconfc:hook_options/0 and inet:hostname/0 - - OTP-10646 The netconf client in common_test did not adjust the window - after receiving data. Due to this, the client stopped - receiving data after a while. This has been corrected. - - OTP-10665 Some examples overflowing the width of PDF pages have been - corrected. - - OTP-10783 Update common test modules to handle unicode - - -- Use UTF-8 encoding for all HTML files, except the HTML - version of the test suite generated with erl2html2:convert, - which will have the same encoding as the original test suite - (.erl) file. - - -- Encode link targets in HTML files with - test_server_ctrl:uri_encode/1. - - -- Use unicode modifier 't' with ~s when appropriate. - - -- Use unicode:characters_to_list and - unicode:characters_to_binary for conversion between binaries - and strings instead of binary_to_list and list_to_binary. - - ---- common_test-1.7.1 --------------------------------------------------- - - OTP-9052 Removed depricated run_test program, use ct_run instead. - - OTP-10634 If an event handler installed in the CT Master event manager - took too long to respond during the termination phase, CT - Master crashed because of a timeout after 5 secs. This would - leave the system in a bad state. The problem has been solved - by means of a 30 min timeout value and if CT Master gets a - timeout after that time, it now kills the event manager and - shuts down properly. - - OTP-10826 Printing with any of the ct printout functions from an event - handler installed by Common Test, would cause a deadlock. - This problem has been solved. - - OTP-10832 Using the force_stop flag/option to interrupt a test run - caused a crash in Common Test. This problem has been solved. - - ---- compiler-4.9 -------------------------------------------------------- - - OTP-10193 The compiler optimizations have been polished, so that the - code quality will be slightly better in some cases. - - OTP-10302 Support for Unicode has been implemented. - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10690 Fix some wrong warnings triggered by the option - inline_list_funcs. Thanks to Anthony Ramine. - - OTP-10706 Forbid local fun variables in Core Erlang guards. Thanks to - Anthony Ramine. - - OTP-10724 Binary syntax matches could cause an internal consistency - error in in the compiler. (Thanks to Viktor Sovietov for - reporting this bug.) - - ---- compiler-4.9.1 ------------------------------------------------------ - - OTP-10788 Integers in expression that will give a floating point result - (such as "X / 2" will now be converted to floating point at - compile-time. (Suggested by Richard O'Keefe.) - - Identical floating points constans in a module will now be - coalesced to one entry in the constant pool. - - OTP-10794 The compiler would crash attempting to compile expressions - such as "element(2, not_tuple)". - - OTP-10818 Forbid multiple values in Core Erlang sequence arguments. - Thanks to José Valim and Anthony Ramine. - - OTP-10825 An unsafe optimization would cause the compiler to crash with - an internal error for certain complex code sequences. - - ---- cosEvent-2.1.13 ----------------------------------------------------- - - OTP-10784 Misc build updates - - ---- cosEventDomain-1.1.13 ----------------------------------------------- - - OTP-10784 Misc build updates - - ---- cosFileTransfer-1.1.14 ---------------------------------------------- - - OTP-10784 Misc build updates - - ---- cosNotification-1.1.19 ---------------------------------------------- - - OTP-10784 Misc build updates - - ---- cosProperty-1.1.16 -------------------------------------------------- - - OTP-10784 Misc build updates - - ---- cosTime-1.1.13 ------------------------------------------------------ - - OTP-10784 Misc build updates - - ---- cosTransactions-1.2.13 ---------------------------------------------- - - OTP-10784 Misc build updates - - ---- crypto-2.3 ---------------------------------------------------------- - - OTP-10596 Enable runtime upgrade of crypto including the OpenSSL - library used by crypto. - - OTP-10640 Improve documentation and tests for hmac functions in crypto. - Thanks to Daniel White - - OTP-10667 Added ripemd160 support to crypto. Thanks to Michael Loftis - - ---- debugger-3.2.9 ------------------------------------------------------ - - OTP-10302 Support for Unicode has been implemented. - - OTP-10621 Fix Debugger settings dialog due to changed behavior in - wxFileDialog (Thanks to H�kan Mattsson) - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10679 Integer lists and utf-8 binaries in variables are now - displayed as strings. - - ---- debugger-3.2.10 ----------------------------------------------------- - - OTP-10884 The +pc flag to erl can be used to set the range of - characters considered printable. This affects how the shell - and io:format("~tp",...) functionality does heuristic string - detection. More can be read in STDLIB users guide. - - ---- dialyzer-2.5.4 ------------------------------------------------------ - - OTP-10302 Support for Unicode has been implemented. - - OTP-10433 Dialyzer no longer outputs warnings for unused anonymous - functions ("funs"). Warnings are still output for unused - functions. - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10665 Some examples overflowing the width of PDF pages have been - corrected. - - OTP-10681 Fix precision of record creation violation warnings. Thanks - to Stavros Aronis - - OTP-10740 Report spec discrepancy on mismatching lists. Thanks to - Stavros Aronis. - - OTP-10772 Properly support functions with arbitrary arity in type - specs. Thanks to Stavros Aronis. - - ---- dialyzer-2.6 -------------------------------------------------------- - - OTP-10820 Miscellaneous updates due to Unicode support. - - OTP-10861 User defined types with same name and different arity and - documentation inconsistencies. Thanks Stavros Aronis. - - OTP-10865 Native code compilation changes. Thanks to Kostis Sagonas. - - ---- diameter-1.4 -------------------------------------------------------- - - OTP-10442 Add registered server names to the app file. - - OTP-10609 Fix #diameter_header{} handling broken by OTP-10445. - - The fault caused the the header of a [Header | Avps] request - to be ignored if both end_to_end_id and hop_by_hop_id were - undefined. - - OTP-10614 Fix error handling for handle_request callback. - - A callback that returned a #diameter_packet{} would fail if - the incoming request had decode errors. - - OTP-10618 Fix timing of service start event. - - The event did not necessarily precede other events as - documented. - - OTP-10619 Fix setting of header T flag at peer failover. - - The flag is now set in the diameter_header record passed to a - prepare_retransmit callback. - - OTP-10628 Fix sending of CER/CEA timeout event at capx_timeout. - - The event was not sent as documented. - - OTP-10655 Fix improper setting of Application-ID in the Diameter header - of an answer message whose E flag is set. - - The value should be that of the request in question. The - fault caused it always to be 0. - - OTP-10693 Fix faulty handling of AVP length errors. - - An incorrect AVP length but no other errors caused an - incoming request to fail. - - ---- diameter-1.4.1 ------------------------------------------------------ - - OTP-10686 Add application_opt() request_errors to make the handling of - incoming requests containing decode errors configurable. - - The value 'callback' ensures that a handle_request callback - takes place for all such requests, the default being for - diameter to answer 3xxx series errors itself. - - OTP-10687 Add transport_opt() length_errors. - - The value determines how messages received over the transport - interface with an incorrect Message Length are dealt with. - - OTP-10688 Add commentary on RFC 6733 to Standards Compliance chapter of - the User's Guide. - - OTP-10692 Fix erroneous watchdog transition from DOWN to INITIAL. - - This transition took place when a peer connection was - reestablished following a failed capabilities exchange. RFC - 3539 requires DOWN to transition into REOPEN. - - OTP-10759 Allow a 5xxx result code in an answer-message on peer - connections using the RFC 6733 common dictionary. - - RFC 6733 allows this while RFC 3588 does not. A - handle_request callback can return {answer_message, - 3000..3999|5000..5999} in the simplest case. - - OTP-10760 Add dictionaries for RFC 6733. - - Both the common and accounting dictionaries differ from their - RFC 3588 counterparts, which is reflected in generated record - definitions. Application configuration on a service or - transport determines the dictionary that will be used on a - given peer connection. - - OTP-10761 Allow a handle_request callback to control diameter's setting - of Result-Code and Failed-AVP. - - Setting errors = false in a returned #diameter_packet{} - disables the setting. - - ---- edoc-0.7.11 --------------------------------------------------------- - - OTP-10195 Since EDoc 0.7.7 (R14B02) separate values of union types can - be annotated. However, the parser has hitherto chosen not to - add the necessary parentheses due to backwards compatibility. - - From this release on code traversing the output of - edoc_parser needs to take care of parentheses around separate - values of union types. Examples of such code are layout - modules and doclet modules. - - OTP-10302 Support for Unicode has been implemented. - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - ---- edoc-0.7.12 --------------------------------------------------------- - - OTP-10820 Miscellaneous updates due to Unicode support. - - OTP-10866 EDoc sometimes failed to associate a comment with the - preceding type declaration. This bug has been fixed. (Thanks - to Serge Aleynikov for reporting the bug.) - - ---- eldap-1.0.1 --------------------------------------------------------- - - OTP-10403 Fixed various dialyzer warnings - - OTP-10728 Configure the SSL options fully in eldap. - - ---- erl_docgen-0.3.4 ---------------------------------------------------- - - OTP-10302 Support for Unicode has been implemented. - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10665 Some examples overflowing the width of PDF pages have been - corrected. - - OTP-10725 Correct a PDF indentation bug for tagged lists in tagged - lists and added some missing tags to the DTD. - - ---- erl_interface-3.7.10 ------------------------------------------------ - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10753 Limited support for unicode atoms in the external format and - in the internal representation of the vm. This is a - preparative feature in order to support communication with - future releases of Erlang/OTP that may create unicode atoms. - - ---- erl_interface-3.7.11 ------------------------------------------------ - - OTP-10885 Revert the structs erlang_pid, erlang_port and erlang_ref as - they were before R16A (without node_org_enc) in order to be - backward compatible with user code that accesses the fields - of these structs. - - ---- erts-5.10 ----------------------------------------------------------- - - OTP-8928 A boolean socket option 'ipv6_v6only' for IPv6 sockets has - been added. The default value of the option is OS dependent, - so applications aiming to be portable should consider using - {ipv6_v6only,true} when creating an inet6 - listening/destination socket, and if neccesary also create an - inet socket on the same port for IPv4 traffic. See the - documentation. - - OTP-9861 It is now allowed to define stubs for BIFs, to allow type - specs to be written for BIFs. For example, if there is BIF - called lists:member/2, a dummy definition of lists:member/2 - is now allowed. - - OTP-9892 Process optimizations. The most notable: - - -- New internal process table implementation allowing for - both parallel reads as well as writes. Especially read - operations have become really cheap. This reduce contention - in various situations. For example when, spawning processes, - terminating processes, sending messages, etc. - - -- Optimizations of run queue management reducing contention. - - -- Optimizations of process state changes reducing - contention. - - These changes imply changes of the characteristics the - system. Most notable: changed timing in the system. - - OTP-9974 Non-blocking code loading. Earlier when an Erlang module was - loaded, all other execution in the VM were halted while the - load operation was carried out in single threaded mode. Now - modules are loaded without blocking the VM. Processes may - continue executing undisturbed in parallel during the entire - load operation. The load operation is completed by making the - loaded code visible to all processes in a consistent way with - one single atomic instruction. Non-blocking code loading will - improve realtime characteristics when modules are - loaded/upgraded on a running SMP system. - - OTP-10122 In the SMP emulator, turning on and off tracing will no - longer take down the system to single-scheduling. - - OTP-10146 Remove VxWorks support - - OTP-10156 Added a general framework for executing benchmarks of - Erlang/OTP. Benchmarks for the Erlang VM and mnesia have been - incorporated in the framework. - - For details about how to add more benchmarks see - $ERL_TOP/HOWTO/BENCHMARKS.md in the source distribution. - - OTP-10167 Optimized deletion of ETS-tables which significantly improves - performance when large amounts of temporary tables are used. - - This change imply changes of the characteristics the system. - Most notable: changed timing in the system. - - OTP-10170 Tuple funs (deprecated in R15B) are no longer supported. - - OTP-10273 New internal header scheme for allocators - - Impact: Reduces size on object allocated in multiblock - carriers by one word - - OTP-10336 Major port improvements. The most notable: - - -- New internal port table implementation allowing for both - parallel reads as well as writes. Especially read operations - have become really cheap.This reduce contention in various - situations. For example when, creating ports, terminating - ports, etc. - - -- Dynamic allocation of port structures. This allow for a - much larger maximum amount of ports allowed as a default. The - previous default of 1024 has been raised to 65536. Maximum - amount of ports can be set using the +Q command line flag of - erl(1). The previously used environment variable - ERL_MAX_PORTS has been deprecated and scheduled for removal - in OTP-R17. - - -- Major rewrite of scheduling of port tasks. Major benefits - of the rewrite are reduced contention on run queue locks, and - reduced amount of memory allocation operations needed. The - rewrite was also necessary in order to make it possible to - schedule signals from processes to ports. - - -- Improved internal thread progress functionality for easy - management of unmanaged threads. This improvement was - necessary for the rewrite of the port task scheduling. - - -- Rewrite of all process to port signal implementations in - order to make it possible to schedule those operations. All - port operations can now be scheduled which allows for reduced - lock contention on the port lock as well as truly - asynchronous communication with ports. - - -- Optimized lookup of port handles from drivers. - - -- Optimized driver lookup when creating ports. - - -- Preemptable erlang:ports/0 BIF. - - -- Improving responsiveness by bumping reductions for a - process calling a driver callback directly. - - These changes imply changes of the characteristics of the - system. The most notable: - - -- Order of signal delivery -- The previous implementation of - the VM has delivered signals from processes to ports in a - synchronous stricter fashion than required by the language. - As of ERTS version 5.10, signals are truly asynchronously - delivered. The order of signal delivery still adheres to the - requirements of the language, but only to the requirements. - That is, some signal sequences that previously always were - delivered in one specific order may now from time to time be - delivered in different orders. This may cause Erlang programs - that have made false assumptions about signal delivery order - to fail even though they previously succeeded. For more - information about signal ordering guarantees, see the chapter - on communication in the ERTS user's guide. The +n command - line flag of erl(1) can be helpful when trying to find - signaling order bugs in Erlang code that have been exposed by - these changes. - - -- Latency of signals sent from processes to ports -- Signals - from processes to ports where previously always delivered - immediately. This kept latency for such communication to a - minimum, but it could cause lock contention which was very - expensive for the system as a whole. In order to keep this - latency low also in the future, most signals from processes - to ports are by default still delivered immediately as long - as no conflicts occur. Such conflicts include not being able - to acquire the port lock, but also include other conflicts. - When a conflict occur, the signal will be scheduled for - delivery at a later time. A scheduled signal delivery may - cause a higher latency for this specific communication, but - improves the overall performance of the system since it - reduce lock contention between schedulers. The default - behavior of only scheduling delivery of these signals on - conflict can be changed by passing the +spp command line flag - to erl(1). The behavior can also be changed on port basis - using the parallelism option of the open_port/2 BIF. - - -- Execution time of the erlang:ports/0 BIF -- Since - erlang:ports/0 now can be preempted, the responsiveness of - the system as a whole has been improved. A call to - erlang:ports/0 may, however, take a much longer time to - complete than before. How much longer time heavily depends on - the system load. - - -- Reduction cost of calling driver callbacks -- Calling a - driver callback is quite costly. This was previously not - reflected in reduction cost at all. Since the reduction cost - now has increased, a process performing lots of direct driver - calls will be scheduled out more frequently than before. - - Potential incompatibilities: - - -- driver_send_term() has been deprecated and has been - scheduled for removal in OTP-R17. Replace usage of - driver_send_term() with usage of erl_drv_send_term(). - - -- driver_output_term() has been deprecated and has been - scheduled for removal in OTP-R17. Replace usage of - driver_output_term() with usage of erl_drv_output_term(). - - -- The new function erl_drv_busy_msgq_limits() has been added - in order to able to control management of port queues. - - The driver API version has been bumped to 2.1 from 2.0 due to - the above changes in the driver API. - - OTP-10348 The experimental support for packages has been removed. - - OTP-10491 Set new peeled off SCTP socket to nonblocking socket (Thanks - to Jonas Falkevik) - - OTP-10522 Wrong parameters when setting seq_trace-tokens from within a - trace-pattern could crash the VM. This is now corrected. - - OTP-10611 Fix various typos (thanks to Tuncer Ayaz) - - OTP-10633 Erlang specification 4.7.3 defines max tuple size to 65535 - elements It is now enforced to no more than 16777215 elements - (arity 24 bits) - - Previous edge cases (28 bits) were not validated and could - cause undefined behaviour. - - OTP-10643 Add insert_element/3 and delete_element/2 - - OTP-10647 The previous default of a maximum of 32768 simultaneous - processes has been raised to 262144. This value can be - changed using the the +P command line flag of erl(1). Note - that the value passed now is considered as a hint, and that - actual value chosen in most cases will be a power of two. - - OTP-10661 The previously (in R15) proposed scheduler wakeup strategy is - now used by default. This strategy is not as quick to forget - about previous overload as the previous strategy. - - This change imply changes of the characteristics the system. - Most notable: When a small overload comes and then disappears - repeatedly, the system will for a bit longer time be willing - to wake up schedulers than before. Timing in the system will - due to this also change. - - The previous strategy can still be enabled by passing the - +sws legacy command line flag to erl. - - OTP-10668 The +stbt command line argument of erl was added. This - argument can be used for trying to set scheduler bind type. - Upon failure unbound schedulers will be used. - - OTP-10677 Fix fd leak when using async thread pool - - When using the async thread pool, if an erlang process asks - to open a file and it gets shutdown/killed while the - file:open/2 call hasn't returned, it's possible to leak a - file descriptor against the target file. This has now been - fixed. (Thanks to Filipe David Manana) - - OTP-10678 Support ANSI in console - - Unix platforms will no longer filter control sequences to the - ttsl driver thus enabling ANSI and colors in console. (Thanks - to Pedram Nimreezi) - - OTP-10680 Add file:allocate/3 operation - - This operation allows pre-allocation of space for files. It - succeeds only on systems that support such operation. (Thanks - to Filipe David Manana) - - OTP-10683 Treat -Wreturn-type warnings as error when using GCC (Thanks - to Tuncer Ayaz) - - OTP-10699 Use sys/types.h instead of string.h to pull ssize_t - definition to erl_driver.h. This fixes build issue on NetBSD. - (Thanks to Yamamoto Takashi). - - OTP-10702 Arguments given with the -run or -s flags to erl are now - translated according to the file name encoding mode of the - runtime system. - - OTP-10726 Implement ./otp_build configure --enable-silent-rules - - With silent rules, the output of make is less verbose and - compilation warnings are easier to spot. Silent rules are - disabled by default and can be disabled or enabled at will by - make V=0 and make V=1. (Thanks to Anthony Ramine) - - OTP-10727 Use share flags for all file operations on Windows. Thanks to - Filipe David Borba Manana. - - OTP-10733 Make/fakefop adjustments. Thanks to Tuncer Ayaz and Sebastian - Rasmussen. - - OTP-10736 The runtime system will now by default use 10 async threads - if thread support has been enabled when building the runtime - system. - - This will prevent long blocking file-operations from blocking - scheduler threads for long periods of time, which can be - harmful. Apart from file-operations, it also effects other - operations scheduled on the async thread pool by user - implemented drivers. - - The amount of async threads can be controlled by using the +A - command line argument of erl(1). When running some offline - tools you might want to disable async threads, but you are - advised not to in the general case. Instead, you might want - to increase the amount of async threads used. - - This change imply changes of the characteristics the system - compared to the previous default. The responsiveness of the - system as a whole will be improved. Operations scheduled on - the async thread pool will get an increased latency. The - throughput of these operations may increase, or decrease - depending on the type of the operations and how they get - scheduled. In the case of file operations, the throughput - very much depends on how the Erlang application access files. - Multiple concurrent accesses to different files have the - potential of an increased throughput. - - OTP-10737 The default reader group limit has been increased to 64 from - 8. This limit can be set using the +rg command line argument - of erl(1). - - This change of default value will reduce lock contention on - ETS tables using the read_concurrency option at the expense - of memory consumption when the amount of schedulers and - logical processors are beween 8 and 64. For more information, - see documentation of the +rg command line argument of erl(1). - - OTP-10746 The octet counters in the gen_tcp/inet interface could behave - in unexpected ways on 64bit platforms. The behaviour is now - as expected. - - OTP-10747 Certain linux kernels, most notably in redhat and CentOS - distribution, had a bug in writev which generated an infinite - loop in the tcp code of the VM. The bug is now worked around. - - OTP-10748 A process that got killed (got an exit signal) while - operating on a compresseed file, could cause a segmentation - fault in the VM. This is now corrected. Thanks to Filipe - David Manana for identifying the problem and submitting a - solution. - - OTP-10751 Windows previously used three digit exponent in formatting - which caused difference between platforms, as can be seen by - float_to_list/1. This has now been fixed. - - OTP-10752 New BIF float_to_list/2 which solves a problem of - float_to_list/1 that doesn't allow specifying the number of - digits after the decimal point when formatting floats (Thanks - to Serge Aleynikov). - - OTP-10753 Limited support for unicode atoms in the external format and - in the internal representation of the vm. This is a - preparative feature in order to support communication with - future releases of Erlang/OTP that may create unicode atoms. - - OTP-10787 Increased potential concurrency in ETS for write_concurrency - option. The number of internal table locks has increased from - 16 to 64. This makes it four times less likely that two - concurrent processes writing to the same table would collide - and thereby serialized. The cost is an increased constant - memory footprint for tables using write_concurrency. The - memory consumption per inserted record is not affected. The - increased footprint can be particularly large if - write_concurrency is combined with read_concurrency. - - ---- erts-5.10.1 --------------------------------------------------------- - - OTP-10170 Tuple funs (deprecated in R15B) are no longer supported. - - OTP-10300 Added four new bifs, erlang:binary_to_integer/1,2, - erlang:integer_to_binary/1, erlang:binary_to_float/1 and - erlang:float_to_binary/1,2. These bifs work similarly to how - their list counterparts work, except they operate on - binaries. In most cases converting from and to binaries is - faster than converting from and to lists. - - These bifs are auto-imported into erlang source files and can - therefore be used without the erlang prefix. - - OTP-10348 The experimental support for packages has been removed. - - OTP-10802 Threads created internally in the runtime system by vanilla, - fd, and spawn drivers on Windows systems could make thread - unsafe calls to driver_select(). - - OTP-10803 Threads created internally in the runtime system by the - vanilla, fd, and spawn drivers on Windows systems could make - unsafe memory accesses to driver data after port had - terminated. - - OTP-10807 The runtime system could crash when flushing data to standard - out or standard error on Windows. - - OTP-10809 Bugs due to the port optimizations introduced in - erts-5.10/OTP-R16A have been fixed: - - -- Memory leak when terminating ports - - -- Memory leak when reaching the system limit of maximum - amount of concurrently existing ports - - -- Crashs due to missing, or late test of bad port handle - - -- The newly introduced driver API function - erl_drv_busy_msgq_limits() could not be used by dynamically - linked in drivers on Windows - - OTP-10810 The driver API function erl_drv_consume_timeslice(), and the - NIF API function enif_consume_timeslice() have been - introduced. - - These functions are provided in order to better support - co-operative scheduling, improve system responsiveness, and - to make it easier to prevent misbehaviors of the VM due to a - process or port monopolizing a scheduler thread. They can be - used when dividing lengthy work into a number of repeated - calls without the need to use threads. - - OTP-10824 Fix {packet,httph} header capitalization for unrecognized - header fields longer than 20 charachters such as - Sec-Websocket-Version. The limit is simply raised from 20 to - 50 characters with the hope that valid headers longer than 50 - are not used. - - OTP-10834 The list_to_integer/2 bif has been optimized when used with - bases other than 10. - - OTP-10837 Fix rounding issues in float_to_list/1,2. Thanks to Serge - Aleynikov - - OTP-10838 The git commit sha of the HEAD commit is now added to the - Erlang shell when compiling a non-released Erlang version. - - OTP-10840 Change caching policy for memory segment allocator. For - instance, prefer sbc segments over mbc segments, caching - policy is time-arrow aware, evicting older cached segments to - store newer segments. - - The default number of cachable segment has been increased - from five to ten segments. This can be modified, same as - before, with the command line option +MMmcs 5 - - Impact: Increased speed for processing on larger objects, - e.g. binaries. Slight increase of mapped and resident memory. - Tune your system with memory options to erl for best - performance. - - OTP-10841 Fix memory leak in file driver introduced in R16A. - - OTP-10848 Updated config.sub and config.guess to latest version from - gnu.org - - OTP-10849 Add an xcomp file for Blue Gene/Q. Thanks to Kostis Sagonas. - - OTP-10850 Cleanup of documentation of the type language. Thanks to - Kostis Sagonas. - - OTP-10851 Change the return value of hipe_bifs:remove_refs_from/1. - Thanks to Kostis Sagonas. - - OTP-10854 A bug in an ERTS internal queue implementation could cause - the loss of a wake up signal to a consumer thread. This has - now been fixed. - - The effect of this bug, when triggered, was often only a - small or even no delay of certain operations. This since, - threads often are woken due to other unrelated reasons. - However, if the consumer thread was not woken due to other - reasons when the bug was triggered, these operations could be - left hanging, potentially for ever. Such effects seems to - have been very rare, but we have on at least one occasion - gotten a report about such an issue. - - Operations potentially effected by this bug: - - -- Inspection of memory allocation status -- The Erlang - process calling erlang:memory/[0,1], or - erlang:system_info({allocator|allocator_sizes, _}) could - potentially hang waiting for responses from involved threads. - - -- Async thread pool jobs -- An async thread pool job request - and/or reply could potentially be left hanging. In OTP this - only effected file operations, but user implemented drivers - using the async thread pool were also effected. In the file - operation case, this would typically translate into an Erlang - process potentially hanging on the file operation. - - -- Shutting down the runtime system -- Due to the issue with - the async thread pool mentioned above, flushing of I/O while - terminating the runtime system could also potentially hang. - - -- ETS memory deallocation -- Scheduled jobs handling - deallocation of the main structure of an ETS table could - potentially hang. This more or less only translates into - minor memory leaks. - - -- Shutting down distribution -- The distribution shutdown - phase used when manually shutting down the distribution, - i.e., when calling net_kernel:stop(), could potentially hang. - - OTP-10858 OS X Snow Leopard now only uses write, as writev does not - work properly on very large files. - - OTP-10859 Fixed a bug where line oriented file I/O using read_ahead was - very slow for files with very large difference in line - length. - - OTP-10860 In erts-5.10 (R16A) faulty hashvalues were produced for - non-ASCII atoms (characters in byte-range 128..255). This has - now been fixed and hashvalues conforms to previous OTP - releases. - - OTP-10872 As of ERTS-5.10/OTP-R16A node names passed in the EPMD - protocol are required to be encoded in UTF-8. Since EPMD - previously accepted latin1 encoded node names this is an - incompatibility. However, since Erlang nodes always have - required characters in node names to be 7-bit ASCII - characters (and still do require this), this incompatibility - should not effect anyone using EPMD as an Erlang Port Mapper - Daemon. - - OTP-10875 Fixes of memory accesses that might be thread unsafe when the - runtime system has been linked against third-party libraries - for atomic memory operations during the build. Most builds - are uneffected by this bug. If triggered, the runtime system - will most likely crash more or less immediately. - - OTP-10881 Fixed a bug where it was longer possible to give the +sws - proposal flag to non-smp emulators. - - OTP-10884 The +pc flag to erl can be used to set the range of - characters considered printable. This affects how the shell - and io:format("~tp",...) functionality does heuristic string - detection. More can be read in STDLIB users guide. - - OTP-10887 Fix a number of type cast errors related to formatted - printing on Win64 that can potentially cause problem when the - Erlang VM exceeds 4 GB of ram. (Thanks to Blaine Whittle for - the original patch) - - OTP-10890 Faulty type to bytes read for ReadFile on Windows. This could - cause windows systems to misbehave. The correct type is now - used. - - OTP-10892 Change default max ports for Windows to 8192. Having a too - large value caused Windows to not be able to recover - properly. If you want to use another value, pass +Q Value to - erl or werl. - - OTP-10895 The effect of the deprecated environment variable - ERL_MAX_PORTS had been removed premeturely. It has now been - readded. Note that this is still scheduled to be released in - R17B. - - OTP-10896 Fix rare crash on halfword vm during code loading. - - ---- et-1.4.4.3 ---------------------------------------------------------- - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - ---- eunit-2.2.4 --------------------------------------------------------- - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - ---- gs-1.5.15.2 --------------------------------------------------------- - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - ---- hipe-3.10 ----------------------------------------------------------- - - OTP-10302 Support for Unicode has been implemented. - - OTP-10624 The type ascii_string() in the base64 module has been - corrected. The type file:file_info() has been cleaned up. The - type file:fd() has been made opaque in the documentation. - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10705 Update .gitignore (lib/hipe/boot_ebin). Thanks to Tuncer - Ayaz. - - ---- hipe-3.10.1 --------------------------------------------------------- - - OTP-10867 Bug fixed in hipe to where it did not allow unicode code - points 16#FFFE and 16#FFFF in bit syntax in natively compiled - modules. - - OTP-10897 Fix bug in hipe compiled code related to the handling of - is_number/1. (Thanks to Sebastian Egner and Johannes Weißl - for minimal test code and Kostis for quick patch) - - ---- ic-4.3 -------------------------------------------------------------- - - OTP-10784 Misc build updates - - OTP-10785 Adapt ic for changes in erl_interface and jinterface due to - utf8 atom support. This change makes ic dependent on - erl_interface-3.7.10 (R16) or later in order to build. - - ---- ic-4.3.1 ------------------------------------------------------------ - - OTP-10885 Revert the structs erlang_pid, erlang_port and erlang_ref as - they were before R16A (without node_org_enc) in order to be - backward compatible with user code that accesses the fields - of these structs. - - ---- inets-5.9.3 --------------------------------------------------------- - - OTP-10256 httpc: The HTTP client now supports HTTPS through proxies - - OTP-10665 Some examples overflowing the width of PDF pages have been - corrected. - - OTP-10765 Fix autoredirect for POST requests responding 303. Thanks to - Hans Svensson. - - ---- inets-5.9.4 --------------------------------------------------------- - - OTP-10844 httpd: The modules option now defaults to the documented - value. - - OTP-10845 httpc: Fixed persistent connection implementation that was - broken by a patch to R13. The patch made persisten - connections behaved the same way as pipelining. - - OTP-10846 httpd: Simplified configuration of ssl in httpd, this also - enables all ssl options to be configured. The old and limited - way is no longer documented but will be supported for - backwards comatibility for some time. - - OTP-10886 Handle correctly the "No files found or file unavailable" - error code. Thanks to Serge Aleynikov - - ---- jinterface-1.5.7 ---------------------------------------------------- - - OTP-10505 fix reading compressed binary terms from Java (Thanks to Nico - Kruber) - - OTP-10579 OtpEpmd.lokupNames() no longer hangs when badly configured - (Thanks to Vlad Dumitrescu) - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10753 Limited support for unicode atoms in the external format and - in the internal representation of the vm. This is a - preparative feature in order to support communication with - future releases of Erlang/OTP that may create unicode atoms. - - ---- jinterface-1.5.8 ---------------------------------------------------- - - OTP-10819 Fixed a bug in OtpErlangTuple constructor. Thanks to Vlad - Dumitrescu. - - OTP-10821 Fixed finding cookie file on windows. Thanks to Vlad - Dumitrescu - - OTP-10822 Don't compress external binary format if this increases the - size. Thanks to Nico Kruber. - - ---- kernel-2.16 --------------------------------------------------------- - - OTP-8067 Inet exported functionality - - inet:parse_ipv4_address/1, inet:parse_ipv4strict_address/1, - inet:parse_ipv6_address/1, inet:parse_ipv6strict_address/1, - inet:parse_address/1 and inet:parse_strict_address is now - exported from the inet module. - - OTP-8928 A boolean socket option 'ipv6_v6only' for IPv6 sockets has - been added. The default value of the option is OS dependent, - so applications aiming to be portable should consider using - {ipv6_v6only,true} when creating an inet6 - listening/destination socket, and if neccesary also create an - inet socket on the same port for IPv4 traffic. See the - documentation. - - OTP-10302 Support for Unicode has been implemented. - - OTP-10417 It is no longer possible to have {Mod,Vsn} in the 'modules' - list in a .app file. - - This was earlier possible, although never documented in the - .app file reference manual. It was however visible in the - documentation of application:load/[1,2], where the same term - as in a .app file can be used as the first argument. - - The possibility has been removed since the Vsn part was never - used. - - OTP-10419 The documentation for global:register_name/3 has been updated - to mention that the use of {Module,Function} as the method - argument (resolve function) is deprecated. - - OTP-10473 The contract of erl_ddll:format_error/1 has been corrected. - (Thanks to Joseph Wayne Norton.) - - OTP-10549 Fixed bug where sendfile on oracle solaris would return an - error when a partial send was done. - - OTP-10617 The error_handler module will now call - '$handle_undefined_function'/2 if an attempt is made to call - a non-existing function in a module that exists. See the - documentation for error_handler module for details. - - OTP-10620 Change printout of application crash message on startup to - formated strings (Thanks to Serge Aleynikov) - - OTP-10624 The type ascii_string() in the base64 module has been - corrected. The type file:file_info() has been cleaned up. The - type file:fd() has been made opaque in the documentation. - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10662 Do not return wrong terms unnecessarily. (Thanks to Kostis - Sagonas.) - - OTP-10665 Some examples overflowing the width of PDF pages have been - corrected. - - OTP-10680 Add file:allocate/3 operation - - This operation allows pre-allocation of space for files. It - succeeds only on systems that support such operation. (Thanks - to Filipe David Manana) - - OTP-10694 Add application:get_key/3. The new function provides a - default value for a configuration parameter. Thanks to Serge - Aleynikov. - - OTP-10739 Add search to Erlang shell's history. Thanks to Fred Herbert. - - ---- kernel-2.16.1 ------------------------------------------------------- - - OTP-10754 A bug that could cause a crash with wrong reason has been - corrected in the application_controller module. - - OTP-10797 Slightly nicer error message when node start fails due to - duplicate name. Thanks to Magnus Henoch. - - OTP-10820 Miscellaneous updates due to Unicode support. - - OTP-10823 Add a new function code:get_mode() can be used to detect how - the code servers behaves. Thanks to Vlad Dumitrescu - - OTP-10839 Fix type of error Reason on gen_tcp:send/2. Thanks to Sean - Cribbs. - - OTP-10852 file:list_dir_all/1 and file:read_link_all/1 that can handle - raw file names have been added. See the User Guide for STDLIB - for information about raw file names. - - OTP-10870 Fix code:is_module_native/1 that sometimes in R16A returned - false for hipe compiled modules containing BIFs such as - lists. - - OTP-10879 Respect {exit_on_close,false} option on tcp socket in - non-passive mode when receiving fails (due to an ill-formed - packet for example) by only doing a half close and still - allow sending on the socket. (Thanks to Anthony Molinaro and - Steve Vinoski for reporting the problem) - - ---- megaco-3.16.0.3 ----------------------------------------------------- - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - ---- mnesia-4.8 ---------------------------------------------------------- - - OTP-10156 Added a general framework for executing benchmarks of - Erlang/OTP. Benchmarks for the Erlang VM and mnesia have been - incorporated in the framework. - - For details about how to add more benchmarks see - $ERL_TOP/HOWTO/BENCHMARKS.md in the source distribution. - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10636 Use chained send_after instead of send_interval, to make - decrease the number of messages sent after a sleep (Thanks to - James Wheare) - - OTP-10639 Fix format of mnesia overload message (Thanks to Ahmed Omar) - - OTP-10729 Remove support for the query keyword and query expressions. - Thanks to Lo�c Hoguin. - - ---- observer-1.3 -------------------------------------------------------- - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - ---- odbc-2.10.14 -------------------------------------------------------- - - OTP-10506 Under Unix enable TCP_NODELAY to disable Nagel's socket - algorithm. Thanks to Andy Richards - - Impact: Performance gain on Unix systems - - OTP-10603 Added extended_errors option to ODBC - - When enabled, this option alters the return code of ODBC - operations that produce errors to include the ODBC error code - as well as the native error code, in addition to the ODBC - reason field which is returned by default. Thanks to Bernard - Duggan. - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10665 Some examples overflowing the width of PDF pages have been - corrected. - - OTP-10735 Fix aotocommit for Oracle ODBC driver in Linux. Thanks to - Danil Onishchenko. - - ---- odbc-2.10.15 -------------------------------------------------------- - - OTP-10798 Fixed calling odbc:param_query/3 and odbc:param_query/4 with - unparameterized query string and empty parameters list. - Thanks to Danil Onishchenko. - - ---- orber-3.6.25 -------------------------------------------------------- - - OTP-10665 Some examples overflowing the width of PDF pages have been - corrected. - - ---- os_mon-2.2.11 ------------------------------------------------------- - - OTP-10448 Removed deprecated function calls to snmp - - ---- otp_mibs-1.0.8 ------------------------------------------------------ - - OTP-10784 Misc build updates - - ---- parsetools-2.0.8 ---------------------------------------------------- - - OTP-10302 Support for Unicode has been implemented. - - OTP-10660 The file esyntax.yrl has been removed. - - ---- parsetools-2.0.9 ---------------------------------------------------- - - OTP-10820 Miscellaneous updates due to Unicode support. - - ---- percept-0.8.8 ------------------------------------------------------- - - OTP-10784 Misc build updates - - ---- pman-2.7.1.3 -------------------------------------------------------- - - OTP-10784 Misc build updates - - ---- pman-2.7.1.4 -------------------------------------------------------- - - OTP-10170 Tuple funs (deprecated in R15B) are no longer supported. - - ---- public_key-0.18 ----------------------------------------------------- - - OTP-7045 public_key now supports CRL validation and documents the - function public_key:pkix_path_validation/3 - - OTP-10665 Some examples overflowing the width of PDF pages have been - corrected. - - OTP-10670 Fix subjectPublicKeyInfo type comment in public_key. Thanks - to Ryosuke Nakai. - - OTP-10723 Fixed typo's in public_key spec. - - OTP-10767 Corrected PKCS-10 documentation and added some PKCS-9 support - that is fairly commonly used by PKCS-10. Full support for - PKCS-9 will be added later. - - ---- reltool-0.6.2 ------------------------------------------------------- - - OTP-10012 -- If incl_cond was set to derived on module level, then - reltool_server would crash with a case_clause. This has been - corrected. incl_cond on module level now overwrites mod_cond - on app or sys level as described in the documentation. - - -- If a rel spec in the reltool config does not contain all - applications that are listed as {applications,Applications} - in a .app file, then these applications are autmatically - added when creating the .rel file. For - 'included_applications', the behaviour was not the same. I.e. - if a rel spec in the reltool config did not contain all - applications that are listed as - {included_applications,InclApplications} in a .app file, then - reltool would fail with reason "Undefined applications" when - creating the .rel file. This has been corrected, so both - applications and included_applications are now automatically - added if not already in the rel spec. - - -- The rel specification now dictates the order in which - included and used applications (specified in the .app file as - included_applications and applications respectively) are - loaded/started by the boot file. If the applications are not - specified in the rel spec, then the order from the .app file - is used. This was a bug earlier reported on systools, and is - now also implemented in reltool. - - -- Instead of only looking at the directory name, reltool now - first looks for a .app file in order to figure out the name - of an application. - - OTP-10665 Some examples overflowing the width of PDF pages have been - corrected. - - ---- reltool-0.6.3 ------------------------------------------------------- - - OTP-10781 Some updates are made to reltool for handling unicode. - - ---- runtime_tools-1.8.10 ------------------------------------------------ - - OTP-10155 User Guides for the dynamic tracing tools dtrace and - systemtap have been added to the documentation. - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10635 Fix Table Viewer refresh crash on no more existing ets tables - (Thanks to Peti G�mori) - - OTP-10665 Some examples overflowing the width of PDF pages have been - corrected. - - OTP-10786 The backend module appmon_info.erl is moved from appmon - application to runtime_tools. This allows appmon to be run - from a remote erlang node towards a target node which does - not have appmon (and its dependencies) installed, as long as - runtime_tools is installed there. - - ---- sasl-2.3 ------------------------------------------------------------ - - OTP-10394 release_handler_SUITE:otp_9864 deleted parts of the - release_handler_SUITE_data directory so the test suite could - not be executed twice without re-installation. This has been - corrected. - - OTP-10417 It is no longer possible to have {Mod,Vsn} in the 'modules' - list in a .app file. - - This was earlier possible, although never documented in the - .app file reference manual. It was however visible in the - documentation of application:load/[1,2], where the same term - as in a .app file can be used as the first argument. - - The possibility has been removed since the Vsn part was never - used. - - OTP-10463 release_handler:upgrade_script and - release_handler:downgrade_script could not read appup files - with regexps. This has been corrected. (Thanks to Ulf Wiger) - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - ---- sasl-2.3.1 ---------------------------------------------------------- - - OTP-10782 Some updates are made to systools and release_handler for - handling of unicode. - - ---- snmp-4.23 ----------------------------------------------------------- - - OTP-10027 [manager] Remove deprecated functions. - - OTP-10610 Fix typo in snmpm doc (Thanks to Luca Favatella) - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10671 Polish return values of snmpm_user_default according to - snmpm_user doc. - - OTP-10672 Remove runtime warning in snmpa_agent because of tuple fun - usage. - - OTP-10673 SNMP manager performance optimization - - ---- ssh-2.1.3 ----------------------------------------------------------- - - OTP-6406 SSH_FX_FILE_IS_A_DIRECTORY message for sftp implemented - - OTP-7785 SSH Rekeying fixed - - OTP-7786 Added User Guide for the SSH application - - OTP-7792 Documentation regarding failfun, connectfun and disconnectfun - provided - - OTP-9478 It is now possible to send an empty binary using - ssh_connection:send/3, this corner case previously caused - ssh_connection:send to hang. - - OTP-10456 Fix typo in keyboard-interactive string. Thanks to Daniel - Goertzen - - OTP-10467 ssh_connectino:send/3 will not return until all data has been - sent. Previously it could return too early, resulting in - things such premature close of the connection. Also improved - error handling of closed SSH channels. - - OTP-10475 Fixed ssh_cli.erl crashes because #state.buf is yet - 'undefined'. - - Fixed Client terminateing connections due to channel_request - message response is sent to the wrong id. - - Affected SSH clients: - all clients based on - SSH-2.0-TrileadSSH2Java_213 (problem #1) - SSH Term Pro - (problem #2) - - Thanks to Stefan Zegenhagen - - OTP-10514 SSH connection timer implementation - - New option, {idle_time, integer()}, sets a timeout on - connection when no channels are active, defaults to infinity - - OTP-10665 Some examples overflowing the width of PDF pages have been - corrected. - - OTP-10731 Fixed internal error on when client and server can not agree - o which authmethod to use. - - ---- ssh-2.1.4 ----------------------------------------------------------- - - OTP-10553 Better quality on the error messages for when key exchange - failed. - - OTP-10862 Fix link to documentation for ssh:connect/3,4. Thanks to - Martin Hässler. - - ---- ssl-5.2 ------------------------------------------------------------- - - OTP-10361 Support Next Protocol Negotiation in TLS, thanks to Ben - Murphy for the contribution. - - Impact: Could give performance benefit if used as it saves a - round trip. - - OTP-10425 TLS 1.2 will now be the default TLS version if sufficient - crypto support is available otherwise TLS 1.1 will be - default. - - Impact: A default TLS connection will have higher security - and hence it may be perceived as slower then before. - - OTP-10447 It is now possible to call controlling_process on a listen - socket, same as in gen_tcp. - - OTP-10451 Remove filter mechanisms that made error messages backwards - compatible with old ssl but hid information about what - actually happened. - - This does not break the documented API however other reason - terms may be returned, so code that matches on the reason - part of {error, Reason} may fail. - - OTP-10586 SSL: TLS 1.2, advertise sha224 support, thanks to Andreas - Schultz. - - OTP-10594 Added missing dependencies to Makefile - - OTP-10595 If an ssl server is restarted with new options and a client - tries to reuse a session the server must make sure that it - complies to the new options before agreeing to reuse it. - - OTP-10613 Removed deprecated function ssl:pid/0, it has been pointless - since R14 but has been keep for backwards compatibility. - - OTP-10709 Refactor to simplify addition of key exchange methods, thanks - to Andreas Schultz. - - OTP-10710 Now handles cleaning of CA-certificate database correctly so - that there will be no memory leek, bug was introduced in ssl- - 5.1 when changing implementation to increase parallel - execution. - - Impact: Improved memory usage, especially if you have many - different certificates and upgrade tcp-connections to - TLS-connections. - - ---- ssl-5.2.1 ----------------------------------------------------------- - - OTP-10847 Transport callback handling is changed so that gen_tcp is - treated as a special case where inet will be called directly - for functions such as setopts, as gen_tcp does not have its - own setopts. This will enable users to use the transport - callback for other customizations such as websockets. - - OTP-10864 Follow up to OTP-10451 solved in ssl-5.2 R16A. Make sure - format_error return good strings. Replace confusing legacy - atoms with more descriptive atoms. - - ---- stdlib-1.19 --------------------------------------------------------- - - OTP-6874 Wildcards such as "some/path/*" passed to filelib:wildcard/2 - would fail to match any file. (Thanks to Samuel Rivas for - reporting this bug.) - - OTP-9803 Fixed error handling in proc_lib:start which could hang if - the spawned process died in init. - - OTP-10097 Dets tables are no longer fixed while traversing with a bound - key (when only the objects with the right key are matched). - This optimization affects the functions match/2, - match_object/2, select/2, match_delete/2, and - select_delete/2. - - OTP-10302 Support for Unicode has been implemented. - - OTP-10431 Allow ** in filelib:wildcard - - Two adjacent * used as a single pattern will match all files - and zero or more directories and subdirectories. (Thanks to - Jos� Valim) - - OTP-10436 The linter now warns for opaque types that are not exported, - as well as for under-specified opaque types. - - OTP-10455 Add the \gN and \g{N} syntax for back references in - re:replace/3,4 to allow use with numeric replacement strings. - (Thanks to Vance Shipley) - - OTP-10472 Export ets:match_pattern/0 type (Thanks to Joseph Wayne - Norton) - - OTP-10474 The type file:name() has been substituted for the type - file:filename() in the following functions in the filename - module: absname/2, absname_join/2, join/1,2, and split/1. - - OTP-10490 If a child process fails in its start function, then the - error reason was earlier only reported as an error report - from the error_handler, and supervisor:start_link would only - return {error,shutdown}. This has been changed so the - supervisor will now return {error,{shutdown,Reason}}, where - Reason identifies the failing child and its error reason. - (Thanks to Tomas Pihl) - - OTP-10504 Fix printing the empty binary at depth 1 with ~W (Thanks to - Andrew Thompson) - - OTP-10624 The type ascii_string() in the base64 module has been - corrected. The type file:file_info() has been cleaned up. The - type file:fd() has been made opaque in the documentation. - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10658 The contracts and types of the modules erl_scan and sys have - been corrected and improved. (Thanks to Kostis Sagonas.) - - OTP-10659 The Erlang shell now skips the rest of the line when it - encounters an Erlang scanner error. - - OTP-10663 Clean up some specs in the proplists module. (Thanks to - Kostis Sagonas.) - - OTP-10665 Some examples overflowing the width of PDF pages have been - corrected. - - OTP-10691 Enable escript to accept emulator arguments when script file - has no shebang. Thanks to Magnus Henoch - - OTP-10722 Fix bug in queue:out/1, queue:out_r/1 that makes it O(N^2) in - worst case. Thanks to Aleksandr Erofeev. - - OTP-10742 There are new functions in the epp module which read the - character encoding from files. See epp(3) for more - information. - - OTP-10745 The functions in io_lib have been adjusted for Unicode. The - existing functions write_string() and so on now take Unicode - strings, while the old behavior has been taken over by new - functions write_latin1_string() and so on. There are also new - functions to write Unicode strings as Latin-1 strings, mainly - targetted towards the Erlang pretty printer (erl_pp). - - OTP-10749 The new functions proc_lib:format/2 and erl_parse:abstract/2 - accept an encoding as second argument. - - OTP-10787 Increased potential concurrency in ETS for write_concurrency - option. The number of internal table locks has increased from - 16 to 64. This makes it four times less likely that two - concurrent processes writing to the same table would collide - and thereby serialized. The cost is an increased constant - memory footprint for tables using write_concurrency. The - memory consumption per inserted record is not affected. The - increased footprint can be particularly large if - write_concurrency is combined with read_concurrency. - - ---- stdlib-1.19.1 ------------------------------------------------------- - - OTP-10622 Bugs related to Unicode have been fixed in the erl_eval - module. - - OTP-10755 The new STDLIB application variable shell_strings can be used - for determining how the Erlang shell outputs lists of - integers. The new function shell:strings/1 toggles the value - of the variable. - - The control sequence modifier l can be used for turning off - the string recognition of ~p and ~P. - - OTP-10812 filelib:wildcard("some/relative/path/*.beam", Path) would - fail to match any file. That is, filelib:wildcard/2 would not - work if the first component of the pattern did not contain - any wildcard characters. (A previous attempt to fix the - problem in R15B02 seems to have made matters worse.) - - (Thanks to Samuel Rivas and Tuncer Ayaz.) - - There is also an incompatible change to the Path argument. It - is no longer allowed to be a binary. - - OTP-10820 Miscellaneous updates due to Unicode support. - - OTP-10836 Extend ~ts to handle binaries with characters coded in - ISO-latin-1 - - OTP-10884 The +pc flag to erl can be used to set the range of - characters considered printable. This affects how the shell - and io:format("~tp",...) functionality does heuristic string - detection. More can be read in STDLIB users guide. - - ---- syntax_tools-1.6.10 ------------------------------------------------- - - OTP-10302 Support for Unicode has been implemented. - - ---- syntax_tools-1.6.11 ------------------------------------------------- - - OTP-10820 Miscellaneous updates due to Unicode support. - - ---- test_server-3.6 ----------------------------------------------------- - - OTP-9710 Line numbering of erlang files that were not correctly - indented could be wrong after coverting to html with - erl2html2:convert/[2,3] (the source code pointed to from the - test case). This has been corrected. - - Also, there are now link targets for each line and not only - for each 10th line, and link targets for functions now - include the arity and not only the function name (e.g. func/1 - has a link target "func-1"). - - OTP-9769 Severe errors detected by test_server (e.g. if log files - directories cannot be created) will now be reported to - common_test and noted in the common_test logs. - - OTP-9870 The earlier undocumented cross cover feature for accumulating - cover data over multiple tests has now been fixed and - documented. - - OTP-9956 If the test suite itself was included in code coverage - analysis, then the test_server would not manage to set - data_dir correctly for the test. This has been corrected. - - OTP-10046 Any call to test_server:break/1 should cancel all active - timetramps. However, in some cases Suite:end_per_testcase/2 - is executed on a different process than the test case itself, - and if test_server:break/1 was called from there, the - timetraps were not cancelled. This has been corrected. - - OTP-10070 When a test case failed because of a timetrap time out, the - Config data for the case was lost in the following call to - end_per_testcase/2, and also in calls to the CT Hook function - post_end_per_testcase/4. This problem has been solved and the - Config data is now correctly passed to the above functions - after a timetrap timeout failure. - - OTP-10101 In test_server, the same process would supervise the - currently running test case and be group leader (and IO - server) for the test case. Furthermore, when running parallel - test cases, new temporary supervisor/group leader processes - were spawned and the process that was group leader for - sequential test cases would not be active. That would lead to - several problems: - - * Processes started by init_per_suite will inherit the group - leader of the init_per_suite process (and that group leader - would not process IO requests when parallel test cases was - running). If later a parallel test case caused such a - processto print using (for example) io:format/2, the calling - would hang. - - * Similarly, if a process was spawned from a parallel test - case, it would inherit the temporary group leader for that - parallel test case. If that spawned process later - when the - group of parallel tests have finished - attempted to print - something, its group leader would be dead and there would be - badarg exception. - - Those problems have been solved by having group leaders - separate from the processes that supervises the test cases, - and keeping temporary group leader process for parallel test - cases alive until no more process in the system use them as - group leaders. - - Also, a new unexpected_io.log log file (reachable from the - summary page of each test suite) has been introduced. All - unexpected IO will be printed into it(for example, IO to a - group leader for a parallel test case that has finished). - - OTP-10156 Added a general framework for executing benchmarks of - Erlang/OTP. Benchmarks for the Erlang VM and mnesia have been - incorporated in the framework. - - For details about how to add more benchmarks see - $ERL_TOP/HOWTO/BENCHMARKS.md in the source distribution. - - OTP-10480 The stability of common_test and test_server when running - test cases in parallel has been improved. - - OTP-10783 Update common test modules to handle unicode - - -- Use UTF-8 encoding for all HTML files, except the HTML - version of the test suite generated with erl2html2:convert, - which will have the same encoding as the original test suite - (.erl) file. - - -- Encode link targets in HTML files with - test_server_ctrl:uri_encode/1. - - -- Use unicode modifier 't' with ~s when appropriate. - - -- Use unicode:characters_to_list and - unicode:characters_to_binary for conversion between binaries - and strings instead of binary_to_list and list_to_binary. - - ---- test_server-3.6.1 --------------------------------------------------- - - OTP-10780 The unicode update of test_server for R16A introduced a few - potential errors when logging to files. Sometimes ~tp or ~ts - was used for formatting also when writing to files that were - not opened with the {encoding,utf8} option. If then the - argument contained unicode characters above 255, the file - descriptor would crash. This has been corrected by the - following modifications: - - -- Since the 'unexpected_io' log file is used only when the - test case HTML file is not available (e.g. between test - cases), this file is now also a HTML file and as other - test_server HTML logs it is always UTF-8 encoded - - -- Since it is possible to change which information is going - to which log file (with test_server_ctrl:set_levels/3), we do - not have full control over which information is written to - which file. This means that any printout could be written to - the 'major' log file (suite.log), which was earlier encoded - as latin1. To avoid crashing this file descriptor due to - unicode strings, the 'major' log file is now also encoded in - UTF-8 (possible incopatibility). - - -- The cross_cover.info file is no longer a text file which - can be read with file:consult/1, instead it is written as a - pure binary file using term_to_binary when writing and - binary_to_term when reading. - - -- The encoding of the file named 'last_name', which only - content is the path to the last run. directory, is - now dependent on the file name mode of the VM. If file names - are expected to be unicode, then the 'last_name' file is - UTF-8 encoded, else it is latin1 encoded. - - Also, ~tp has been changed back to ~p unless it is somehow - likely that the argument includes strings. It is not obvious - that this is the correct thing to do, but some decission had - to be taken... - - OTP-10832 Using the force_stop flag/option to interrupt a test run - caused a crash in Common Test. This problem has been solved. - - ---- toolbar-1.4.2.3 ----------------------------------------------------- - - OTP-10784 Misc build updates - - ---- tools-2.6.9 --------------------------------------------------------- - - OTP-10302 Support for Unicode has been implemented. - - OTP-10465 Make erlang-mode more compatible with package.el (Thanks to - Gleb Peregud) - - OTP-10523 A new function, cover:flush(Nodes), is added which will fetch - data from remote nodes without stopping cover on those nodes. - This is used by test_server and common_test when it is safe - to assume that the node will be terminated after the test - anyway. The purpose is to avoid processes crashing when - re-loading the original beam if the processes is still - running old code. - - Remote nodes will now continue to count code coverage if the - connection to the main node is broken. Earlier, a broken - connection would cause the cover_server on the remote node to - die and thus any still cover compiled modules would cause - process crash when trying to insert cover data in ets tables - that used to exist on the cover_server. The new functionality - also involves synchronization with the main node if the nodes - are reconnected. - - OTP-10611 Fix various typos (thanks to Tuncer Ayaz) - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10637 Add separate face for exported functions (Thanks to Thomas - J�rvstrand) - - OTP-10766 Fix syntax highlighting of $\' in Emacs mode. Thanks to - Magnus Henoch. - - OTP-10774 The BIF highlighting in the emacs mode has been updated to - correspond with the correct BIFs. - - ---- tools-2.6.10 -------------------------------------------------------- - - OTP-10778 Fix a bug in cover when used with no_auto_import. Thanks to - José Valim. - - ---- tv-2.1.4.10 --------------------------------------------------------- - - OTP-10784 Misc build updates - - ---- typer-0.9.5 --------------------------------------------------------- - - OTP-10784 Misc build updates - - ---- webtool-0.8.9.2 ----------------------------------------------------- - - OTP-10784 Misc build updates - - ---- wx-1.0 -------------------------------------------------------------- - - OTP-10407 The wx application now compiles and is usable with the - unstable development branch of wxWidgets-2.9. Some functions - are currently not available in wxWidgets-2.9 and their erlang - counterparts are marked as deprecated. They will generate an - error if called when linked against wxWidgets-2.9 libraries. - This means that wx can now be built on 64bit MacOsX, but keep - in mind that wxWidgets-2.9 is still a development branch and - needs (a lot) more work before it becomes stable. - - OTP-10585 Add {silent_start, boolean()} option to wx:new/1 in order to - be able to suppress error messages during startup of wx. - (Thanks to H�kan Mattsson) - - OTP-10743 Fix wxTreeCtrl:getBoundingRect/2 and wxTreeCtrl:hitTest/1. - wxTreeCtrl:hitTest now returns a tuple not bug compatible - with previous releases but needed. - - ---- xmerl-1.3.3 --------------------------------------------------------- - - OTP-10630 Where necessary a comment stating encoding has been added to - Erlang files. The comment is meant to be removed in - Erlang/OTP R17B when UTF-8 becomes the default encoding. - - OTP-10665 Some examples overflowing the width of PDF pages have been - corrected. - - diff --git a/otp_src_R16B01.readme b/otp_src_R16B01.readme new file mode 100644 index 0000000..0f9fa30 --- /dev/null +++ b/otp_src_R16B01.readme @@ -0,0 +1,1210 @@ +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. + + diff --git a/sources b/sources index 3fd68b9..edb6a9f 100644 --- a/sources +++ b/sources @@ -1,3 +1,4 @@ -7ee131515bc496e7522e0dec2a4c26e3 otp_src_R16B.tar.gz -66fd89992d828fe0886b3e9b68867e0c otp_doc_html_R16B.tar.gz -f3a34cc45c8d0b44bec839824d5fca09 otp_doc_man_R16B.tar.gz +266b95db35560e505c9f69cc3e539e41 otp_src_R16B01.tar.gz +288fd4066ae07fa3ca23043a31826d46 otp_doc_html_R16B01.tar.gz +951be958bc9af55df6062165cf21fe1f otp_doc_man_R16B01.tar.gz +8d0757af41f545b757ac71125b2b6488 otp_src_R16B01.readme