[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