[erlang-questions] Erlang/OTP 20.0-rc1 is available for testing

Kenneth Lundin kenneth@REDACTED
Fri May 5 17:09:57 CEST 2017


 OTP 20 Release Candidate 1

This is the first of two release candidates before the OTP 20 release in
June 2017.

The intention with 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
negative direction, etc.

Erlang/OTP 20.0 is a new major release with new features, quite a few
(characteristics) improvements, as well as a few incompatibilities.

Here are some of the most important news:
Potential Incompatibilities

   -

   ERTS:
   - The non SMP Erlang VM is deprecated and not built by default
      - Remove deprecated erlang:hash/2
      - erlang:statistics/1 with scheduler_wall_time now also includes info
      about dirty CPU schedulers.
      - The new purge strategy introduced in OTP 19.1 is mandatory and
      slightly incompatible for processes holding funs
      see erlang:check_process_code/3.
      - The NIF library reload is not supported anymore.
   -

   Asn1: Deprecated module and functions removed (asn1rt, asn1ct:encode/3
   and decode/3)
   -

   Ssh: client only option in a call to start a daemon will now fail

Highlights Erts:

   - Dirty schedulers enabled and supported on VM with SMP support.
   - support for “dirty” BIFs and “dirty” GC.
   - erlang:garbage_collect/2 for control of minor or major GC
   - Erlang literals are no longer copied when sending messages.
   - Improved performance for large ETS tables, >256 entries (except
   ordered_set)
   - erlang:system_info/1 atom_count and atom_limit
   - Reduced memory pressure by converting sub-binaries to heap-binaries
   during GC
   - enif_select, map an external event to message

Compiler:

   - Code generation for complicated guards is improved.
   - Warnings for repeated identical map keys. #{'a'=>1, 'b'=>2, 'a'=>3}
   will warn for the repeated key a.
   - By default there is now a warning when export_all is used. Can be
   disabled
   - Pattern matching for maps is optimized
   - New option deterministic to omit path to source + options info the
   BEAM file.
   - Atoms may now contain arbitrary unicode characters.
   - compile:file/2 has an option to include extra chunks in the BEAM file.

Misc other applications

   - Unnamed ets tables optimized
   - A new event manager to handle a subset of OS signals in Erlang
   - Optimized sets add_element, del_element and union
   - Added rand:jump/0-1
   - When a gen_server crashes, the stacktrace for the client will be
   printed to facilitate debugging.
   - take/2 has been added to dict, orddict, and gb_trees.
   - take_any/2 has been added to gb_trees
   - Significantly updated string module with unicode support
   - erl_tar support for long path names and new file formats
   - Dtls: Documented API, experimental
   - SSH: improving security, removing and adding algorithms
   - New math:fmod/2

For more details see
http://erlang.org/download/otp_src_20.0-rc1.readme

Pre built versions for Windows can be fetched here:
http://erlang.org/download/otp_win32_20.0-rc1.exe
http://erlang.org/download/otp_win64_20.0-rc1.exe

On line documentation can be browsed here:
www.erlang.org/documentation/doc-9.0-rc1/doc/

Thanks to all contributors.

/The Erlang/OTP team at Ericsson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170505/ef66f54a/attachment.htm>


More information about the erlang-questions mailing list