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:
ERTS:
erlang:hash/2erlang:check_process_code/3.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
#{'a'=>1, 'b'=>2, 'a'=>3} will warn for the repeated key a.export_all is used. Can be disableddeterministic to omit path to source + options info the BEAM file.compile:file/2 has an option to include extra chunks in the BEAM file.rand:jump/0-1gen_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_treeserl_tar support for long path names and new file formatsmath:fmod/2For 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
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
seeerlang:check_process_code/3.- The NIF library reload is not supported anymore.
Asn1: Deprecated module and functions removed (
asn1rt,asn1ct:encode/3anddecode/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.
_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions
OTP-14190 Application(s): stdlib
The shell functions c/1 and c/2 have been extended so
that if the argument is a module name instead of a file
name, it automatically locates the .beam file and the
corresponding source file, and then recompiles the
module using the same compiler options (plus any
options passed to c/2). If compilation fails, the old
beam file is preserved. Also adds c(Mod, Opts, Filter),
where the Filter argument allows you to remove old
compiler options before the new options are added.
New utility functions file_find/2/3 and
find_source/1/2/3 have been added to filelib.OTP-14059 Application(s): kernel, stdlib
Functions for detecting changed code has been added.
code:modified_modules/0 returns all currently loaded
modules that have changed on disk. code:module_status/1
returns the status for a module. In the shell and in c
module, mm/0 is short for code:modified_modules/0, and
lm/0 reloads all currently loaded modules that have
changed on disk.It seems good to point out a change that may surprise people that have scripts that depend on the old process name "beam.smp" which now changes to the script name, or is set by an environment variable