Erlang OTP 23.0-rc2 is available for testing

Kenneth Lundin kenneth@REDACTED
Wed Mar 25 15:24:12 CET 2020


OTP 23 Release Candidate 2

This is the second of three planned release candidates before the OTP 23
release.
The intention with this release is to get feedback from our users. All
feedback is welcome, even if it is only to say that it works for you.

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

   - SSL:
      - Support for SSL 3.0 is completely removed.
      - TLS 1.3 is added to the list of default supported versions.
   - erl_interface: Removed the deprecated parts of erl_interface
   (erl_interface.h and essentially all C functions with prefix erl_).
   - The deprecated erlang:get_stacktrace/0 BIF now returns an empty list
   instead of a stacktrace.
   erlang:get_stacktrace/0 is scheduled for removal in OTP 24.
   - ...

Highlights (rc2)

   - ssh:
      - OpenSSH 6.5 introduced a new file representation of
      keys called openssh-key-v1. This is now supported with the exception
      of
      handling encrypted keys.
      - Algorithm configuration could now be done in a .config file.
      This is useful for example to enable an algorithm that
      is disabled by default without need to change the code.
   - ssl:
      - Support for the middlebox compatibility mode makes the TLS 1.3
      handshake
      look more like a TLS 1.2 handshake and increases the chance of
      successfully
      establishing TLS 1.3 connections through legacy middleboxes.
      - Add support for key exchange with Edward curves and PSS-RSA padding
      in
      signature verification
   - The possibility to run Erlang distribution without
   relying on EPMD has been extended. To achieve this a
   couple of new options to the inet distribution has been
   added.
      - -dist_listen false Setup the distribution
      channel, but do not listen for incoming connection.
      - -erl_epmd_port Port Configure a default port that
      the built-in EPMD client should return.
      - ...
   - A first EXPERIMENTAL socket backend to
   gen_tcp and inet has been implemented. gen_udp and gen_sctp will follow.
   Putting {inet_backend, socket} as first option to listen() or
connect() makes
   it easy to try this for
   existing code

Highlights (rc1)

   - A new module erpc in kernel which implements an enhanced subset of the
   operations provided by the rpc module. Enhanced in the sense that it
   makes it possible to distinguish between returned value, raised exceptions
   and other errors. erpc also has better performance and scalability than
   the original rpc implementation. This by utilizing the newly introduced
   spawn_request() BIF. Also the rpc module benefits from these
   improvements by utilizing erpc when possible.
   - Scalability and performance Improvements plus new functionality
   regarding distributed spawn operations.
   - In binary matching, the size of the segment to be matched is now
   allowed to be a guard expression (EEP-52)
   - When matching with maps the keys can now be guard expressions (EEP-52).
   - ssh: support for TCP/IP port forwarding, a.k.a tunneling a.k.a as
   tcp-forward/direct-tcp is implemented. In the OpenSSH client, this
   corresponds to the options -L and -R.
   - Allow underscores in numeric literals to improve readability.
   Examples: 123_456_789, 16#1234_ABCD.
   - New functions in the shell for displaying documentation for Erlang
   modules, functions and types. The
   functions are:
      - h/1,2,3 -- Print the documentation for a Module:Function/Arity.
      - ht/1,2,3 -- Print the type documentation for a Module:Type/Arity.
      The embedded documentation is created as docchunks (EEP 48) when
      building the Erlang/OTP documentation.
   - kernel: The module pg with a new implementation of distributed named
   process groups is introduced. The old module pg2 is deprecated and
   scheduled for removal in OTP 24.
   - Our tool chain for building the Windows packages is upgraded with new
   C++ compiler, Java compiler, OpenSSL libraries and wxWidgets versions. We
   are now using WSL (the Linux Subsystem for Windows when building) which
   makes it easier to handle the build environment.
   - ...

For more details see
http://erlang.org/download/otp_src_23.0-rc2.readme

Pre built versions for Windows can be fetched here:
http://erlang.org/download/otp_win32_23.0-rc2.exe
http://erlang.org/download/otp_win64_23.0-rc2.exe

Online documentation can be browsed here:
http://erlang.org/documentation/doc-11.0-rc2/doc
The Erlang/OTP source can also be found at GitHub on the official Erlang
repository,
https://github.com/erlang/otp
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-announce/attachments/20200325/5e3436c2/attachment.htm>


More information about the erlang-announce mailing list