Erlang/OTP 20.0 is a new major release with new features, quite a few (characteristics) improvements, as well as a few incompatibilities.
There are only minor changes compared to the second release candidate, one of them listed below:
In the release candidates the function erlang:term_to_binary/1 changed the encoding of all atoms from ATOM_EXT to ATOM_UTF8_EXT and SMALL_ATOM_UTF8_EXT.
This is now changed so that only atoms actually containing unicode
characters are encoded with the UTF8 tags while other atoms are encoded ATOM_EXT just as before.Here are some of the most important news in OTP 20:
ERTS:
erlang:hash/2erlang:check_process_code/3.DFLAG_UTF8_ATOMS
capability in the distribution protocol must be supported if an OTP 20
node should accept the connection with another node or library. Third
party libraries which uses the distribution protocol need to be updated
with this.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.string module with unicode support and many new functionsgen_fsm is deprecated and replaced by gen_statemrand: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 formatsasn1: the new maps option changes the representation of SEQUENCE to be maps instead of recordspublic_key:pkix_verify_hostname/2 to verify the hostnamessl: DTLS documented in the API, experimentalssh: improving security, removing and adding algorithmsmath:fmod/2For more details see
http://erlang.org/download/otp_src_20.0.readme
Per built versions for Windows can be fetched here:
http://erlang.org/download/otp_win32_20.0.exe
http://erlang.org/download/otp_win64_20.0.exe
On line documentation can be browsed here:
www.erlang.org/doc/
Thanks to all contributors.
OTP-14409 Application(s): kernel
Related Id(s): PR-1420
Added option to store shell_history on disk so that the
history can be reused between sessions.Specifies whether shell history should be logged to disk between usages of erl.
Specific log lines that should not be persisted. For example ["q().", "init:stop()."] will allow to ignore commands that shut the node down. Defaults to [].
how many bytes the shell should remember. By default, the value is set to 512kb, and the minimal value is 50kb.
Specifies where the shell history files will be stored. defaults to the user's cache directory as returned by filename:basedir(user_cache, "erlang-history").
-kernel shell_history enabledCreate a configuration file like
[{kernel,[{shell_history, enabled}]}].and pass it to the shell: $ erl -config hist.configYou can create an alias for the shell with alias erl='erl -kernel shell_history enabled' in your dotfiles to get it always running
On windows you can create a shortcut to werl.exe and change the shortcut target to '"C:\Program Files\erlang-otp-20\bin\werl.exe" -kernel shell_history enabled' to get it all automatically -- you can do it in the start menu entry if that's the one you use the most by 'opening location' and editing the shortcut there.The following apparently and sadly does not work, which confuses me quite a bit:
Let me know how that goes!
Also big thanks for the effort with the redesign of docs!
_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions
To turn shell history on, you can therefore do any of the following:
- Pass the arguments to the shell: $ erl
-kernel shell_history enabledCreate a configuration file like
[{kernel,[{shell_history, enabled}]}].
and pass it to the shell: $ erl -config hist.configYou can create an alias for the shell withalias erl='erl -kernel shell_history enabled' in your dotfiles to get it always runningOn windows you can create a shortcut to werl.exe and change the shortcut target to '"C:\Program Files\erlang-otp-20\bin\werl.exe" -kernel shell_history enabled' to get it all automatically-- you can do it in the start menu entry if that's the one you use the most by 'opening location' and editing the shortcut there.The following apparently and sadly does not work, which confuses me quite a bit:
- editing $ROOT/lib/kernel-5.3/ebin/kernel.app and add the config directly in there
- Neither does creating a sys.config entry in the root release
Let me know how that goes!
export ERL_AFLAGS="-kernel shell_history enabled"
/Joe