[erlang-questions] OTP 21.0 has been released

Henrik Nord X henrik.x.nord@REDACTED
Tue Jun 19 17:07:31 CEST 2018


Erlang/OTP 21 is a new major release with new features, improvements as
well as incompatibilities.
Potential Incompatibilities

    All Corba applications are now moved from the OTP repository
    A new Corba repository will be created https://github.com/erlang
    New applications ftp and tftp, moved from inets
    ssl no longer supports 3_DES cipher suites or RSA-key exchange
cipher suites by default
    erlang:monitor on a primitive node (erl_interface, jinterface, etc)
will no longer fail with badarg exception. Instead a monitor will be
created, but it will only supervise the connection to the node.

 Highlights
 Erts:

    Enhanced IO scalability
    Support for usage of distribution controller processes for
alternative transports, routing etc
    compact instructions on 64bit systems for code below 4GB 20% less
memory for loaded code
    Rewrite of the efile-driver with NIFs and "Dirty schedulers"
resulting in faster file operations
    non-smp VM removed
    link and monitor optimized for scalability
    os:getenv/putenv now work on thread-safe emulation. No longer in
sync with libc getenv(3). Manual synchronization will be needed.

Compiler:

    Misc compiler optimizations including contributions from the Elixir
team resulting in 10% improvements in benchmarks
    "Tuple calls" have been removed from the run-time system.
    Code such as f({ok, Val}) -> {ok, Val} is now automatically
rewritten to f({ok, Val} = Tuple) -> Tuple. this reduces code size,
execution time, and removed GC pressure.
    More information in stacktrace from a number of operators
    erlang:get_stacktrace/0 deprecated to be replaced with try ...
catch C:R:Stacktrace -> ...
    Creation of small maps with literal keys optimized.
    A new predifined macro `OTP_RELEASE` and preprocessor directives `-
if` and `-elif`

Security:

    DTLS is now supported in the SSL application
    Enhanced support for distribution over TLS
    "unsecure" ciphers removed from defaults in SSL and SSH.
    A new option value defined to facilitate implementing exec servers.
Old option kept for compatibility, but now gives errors on stderror.

Standard libraries:

    New API for logging, logger
    New uri_string module for parsing URIs according to "The standard"
    New function lists:search(list,fun/1) -> {ok, Value} | false
    Changed default behaviour of .erlang loading. escript, erlc,
dialyzer and typer no longer load an .erlang at all.

For more details see
http://erlang.org/download/otp_src_21.0.readme

For installation instructions please consult the README file that is
part of the distribution.

Pre build versions for Windows can be fetched here:
http://erlang.org/download/otp_win32_21.0.exe
http://erlang.org/download/otp_win64_21.0.exe

Online documentation can be browsed here:
http://erlang.org/documentation/doc-10.0/doc

The Erlang/OTP source can also be found at GitHub in the official
Erlang repository, Here: OTP-21.0

Please report any new issues via Erlang/OTPs puplic issue tracker

https://bugs.erlang.org


We want to thank all of you who sent us patches, suggestions and bug
reports!

Thank you for all your contributions!

The Erlang/OTP team at Ericsson


More information about the erlang-questions mailing list