Overview

Request 710208 accepted

- Version 22.0:
- 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.
- New Features:
* Support for Erlang Distribution protocol to split the payload
of large messages 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.
* 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.
* 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.
* 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.
- The application otp_mibs has been removed from OTP.

Loading...
Request History
Matwey Kornilov's avatar

matwey created request

- Version 22.0:
- 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.
- New Features:
* Support for Erlang Distribution protocol to split the payload
of large messages 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.
* 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.
* 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.
* 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.
- The application otp_mibs has been removed from OTP.


Gabriele Santomaggio's avatar

gsantomaggio_suse accepted request

LGTM, Thank you

openSUSE Build Service is sponsored by