[erlang-questions] Erlang/OTP 21.0-rc1 (Release Candidate)
Henrik Nord X
henrik.x.nord@REDACTED
Wed May 2 13:37:59 CEST 2018
OTP 21 Release Candidate 1
This is the first of two planned release candidates before the OTP 21
release. The intention whit this release is that you as users try it
and give us feedback if something does not work as expected. Could be a
bug,an unexpected incompatibility, a significant change of
characteristics in a negative direction, etc.
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.
Security:
* DTLS support in SSL
* 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-rc1.readme
Pre built versions for Windows can be fetched here:
http://erlang.org/download/otp_win32_21.0-rc1.exe
http://erlang.org/download/otp_win64_21.0-rc1.exe
Online documentation can be browsed here:
http://erlang.org/documentation/doc-10.0-rc1/doc/
The Erlang/OTP source can also be found at GitHub on the official
Erlang repository,
https://github.com/erlang/otp with tag OTP-21.0-rc1
Thank you for all your contributions!
More information about the erlang-questions
mailing list