Path to this page:
Subject: CVS commit: pkgsrc/lang
From: Filip Hajny
Date: 2017-07-04 13:40:48
Message id: 20170704114048.8A313FAE8@cvs.NetBSD.org
Log Message:
Update lang/erlang* to 20.0.
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
- The NIF library reload is not supported anymore.
- Atoms can now contain arbitrary unicode characters which means
that the 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.
- 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
- Improvements of timers internally in the VM resulting in reduced
memory consumption and more efficient administration for timers
- 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
- Significantly updated string module with unicode support and many
new functions
- crypto now supports OpenSSL 1.1
- Unnamed ets tables optimized
- gen_fsm is deprecated and replaced by gen_statem
- 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
- erl_tar support for long path names and new file formats
- asn1: the new maps option changes the representation of SEQUENCE
to be maps instead of records
- A TLS client will by default call
public_key:pkix_verify_hostname/2 to verify the hostname
- ssl: DTLS documented in the API, experimental
- ssh: improving security, removing and adding algorithms
- New math:fmod/2
Files: