Log message:
erlang: Update to 22.0.7
Erlang/OTP 22 is a new major release with new features and improvements as well \
as incompatibilities.
For a deeper dive into the hightligts of the OTP 22 release, you can read our \
blog here:
http://blog.erlang.org/OTP-22-Highlights/
Potential Incompatibilities
gen_* behaviours: If logging of the last N messages through sys:log/2,3 is \
active for the server, this log is included in the terminate report.
reltool: A new element, Opts, can now be included in a rel tuple in the \
reltool release specific configuration format: {rel, Name, Vsn, RelApps, Opts}.
All external pids/ports/refs created by erlang:list_to_pid and similar \
functions now compare equal to any other pid/port/ref with same number from that \
node.
The old legacy erl_interface library is deprecated as of OTP 22, and will be \
removed in OTP 23. This does not apply to the ei library.
VxWorks is deprecated as of OTP 22 and will be removed in OTP 23.
Erts:
Support for Erlang Distribution protocol to split the payload of large \
signals into several fragments.
ETS option write_concurrency now also effects and improves scalability of \
ordered_set tables.
The length/1 BIF used to calculate the length of the list in one go without \
yielding, even if the list was very long. Now it yields when called with long \
lists.
A new (still experimental) module socket is introduced. It is implemented as \
a NIF and the idea is that it shall be as "close as possible" to the \
OS level socket interface.
Added the NIF function enif_term_type, which helps avoid long sequences of \
enif_is_xyz by returning the type of the given term. This is especially helpful \
for NIFs that serialize terms, such as JSON encoders, where it can improve both \
performance and readability.
Compiler:
The compiler has been rewritten to internally use an intermediate \
representation based on Static Single Assignment (SSA). The new intermediate \
representation makes more optimizations possible.
The binary matching optimizations are now applicable in many more \
circumstances than before.
Type optimizations are now applied across local function calls, and will \
remove a lot more redundant type tests than before.
All compiler options that can be given in the source file can now be given \
in the option list on the command line for erlc.
In OTP 22, HiPE (the native code compiler) is not fully functional. The \
reasons for this are new BEAM instructions for binary matching that the HiPE \
native code compiler does not support. If erlc is invoked with the +native \
option, and if any of the new binary matching instructions are used, the \
compiler will issue a warning and produce a BEAM file without native code.
Standard libraries:
Cover now uses the counters module instead of ets for updating counters. The \
new function cover:local_only/0 allows running Cover in a restricted but faster \
local-only mode. The increase in speed will vary depending on the type of code \
being cover-compiled, as an example the compiler test suite runs more than twice \
as fast with the new Cover.
A simple socket API is provided through the socket module. This is a low \
level API that does *not* replace gen_[tcp|udp|sctp]. It is intended to \
*eventually* replace the inet driver. It also provides a basic API that \
facilitates the implementation of other protocols than TCP, UDP and SCTP. Known \
issues are; No support for the Windows OS (currently), a small term leakage. \
This feature will be classed as experimental in OTP 22.
SSL: now uses the new logger API, including log levels and verbose debug logging.
SSL: Basic support for TLS 1.3 Server for experimental use.
crypto: The new hash_info/1 and cipher_info/1 functions returns maps with \
information about the hash or cipher in the argument.
|
Log message:
lang/erlang: Update to 21.3.6
Highlights from erlang 21.2 to 21.3:
Kernel:
The standard logger handler, logger_std_h, now has a new internal
feature for log rotation. For full information see the documentation.
SSL:
The Reason part of the error return from the functions connect and
handshake has a better and documented format. This is a potential
incompatibility. See the documentation.
Refactoring of state handling has improved the TLS application data
throughput and reduced CPU overhead
Code optimizations has reduced CPU load for encryption/decryption,
especially for Erlang's distribution protocol over TLS
Now supports active N
Erl_interface:
Support for plugin of a user supplied socket implementation has been added.
OTP:
The HTML reference documentation now shows the OTP version where
modules and functions were first introduced. Versions of OTP older than \
R13B04 is not shown in the reference
documentation
|