[erlang-questions] OTP 20.0 has been released
José Valim
jose.valim@REDACTED
Wed Jun 21 17:06:35 CEST 2017
Congratulations and thanks to everyone who worked and contributed to this
release!
*José Valim*
www.plataformatec.com.br
Skype: jv.ptec
Founder and Director of R&D
On Wed, Jun 21, 2017 at 2:33 PM, Kenneth Lundin <kenneth@REDACTED> wrote:
> Erlang/OTP 20.0
>
> 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:
>
> - ERTS:
> - 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:
> 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.
> - 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. 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
>
> 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
>
> For 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.
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170621/32c81c15/attachment.htm>
More information about the erlang-questions
mailing list