[erlang-questions] [erlang-announce] Erlang OTP 22.0-rc2 is available for testing!

Michael Truog mjtruog@REDACTED
Mon Apr 8 21:54:44 CEST 2019


On 3/26/19 8:47 AM, Kenneth Lundin wrote:
>
>
>   OTP 22 Release Candidate 2
>
> This is the second of three planned release candidates before the OTP 
> 22 release.
>
> The intention with this release is to get feedback from our users. All 
> feedback is welcome, even if it is only to say that it works for you, 
> as it lets us know that the release candidate got some testing.
>
> Erlang/OTP 22 is a new major release with new features 
> and improvements as well as incompatibilities.
>
>
>     Potential Incompatibilities
>
>   * gen_* behaviours: If logging of the last N messages through
>     sys:log/2,3 is active for the server, this log is included in the
>     terminate report.
>   * reltool: A new element, Opts, can now be included in a rel tuple
>     in the reltool release specific configuration format: {rel, Name,
>     Vsn, RelApps, Opts}.
>   * All external pids/ports/refs created by erlang:list_to_pid and
>     similar functions now compare equal to any other pid/port/ref with
>     same number from that node.
>   * The old legacy erl_interface library is deprecated as of OTP 22,
>     and will be removed in OTP 23. This does not apply to the ei library.
>   * VxWorks is deprecated as of OTP 22 and will be removed in OTP 23.
>
>
>     Additional highlights in release candidate 2
>
>   * A simple socket API is provided through the socket module. This is
>     a low level API that does *not* replace gen_[tcp|udp|sctp]. It is
>     intended to *eventually* replace the inet driver. It also provides
>     a basic API that facilitates the implementation of other protocols
>     than TCP, UDP and SCTP. Known issues are; No support for the
>     Windows OS (currently), a small term leakage. This feature will be
>     classed as experimental in OTP 22.
>   * ssl: Basic support for TLS 1.3 Server for experimental use.
>   * In OTP 22, HiPE (the native code compiler) is not fully
>     functional. The reasons for this are new BEAM instructions for
>     binary matching that the HiPE native code compiler does not
>     support. If erlc is invoked with the +native option, and if any of
>     the new binary matching instructions are used, the compiler will
>     issue a warning and produce a BEAM file without native code.
>   * erts: Added the NIF function enif_term_type, which helps avoid
>     long sequences of enif_is_xyz by returning the type of the given
>     term. This is especially helpful for NIFs that serialize terms,
>     such as JSON encoders, where it can improve both performance and
>     readability.
>   * crypto: The new hash_info/1 and cipher_info/1 functions returns
>     maps with information about the hash or cipher in the argument.
>
>
>     Highlights in release candidate 1
>
>
>       Erts:
>
>   * Support for Erlang Distribution protocol to split the payload of
>     large signals into several fragments.
>   * ETS option write_concurrency now also effects and improves
>     scalability of ordered_set tables.
>   * The length/1 BIF used to calculate the length of the list in one
>     go without yielding, even if the list was very long. Now it yields
>     when called with long lists.
>   * A new (still experimental) module socket is introduced. It is
>     implemented as a NIF and the idea is that it shall be as "close as
>     possible" to the OS level socket interface.
>
>
>       Compiler:
>
>   * The compiler has been rewritten to internally use an intermediate
>     representation based on Static Single Assignment (SSA). The new
>     intermediate representation makes more optimizations possible.
>       o The binary matching optimizations are now applicable in many
>         more circumstances than before.
>       o Type optimizations are now applied across local function
>         calls, and will remove a lot more redundant type tests than
>         before.
>   * All compiler options that can be given in the source file can now
>     be given in the option list on the command line for erlc.
>
>
>       Standard libraries:
>
>   * Cover now uses the counters module instead of ets for updating
>     counters. The new function cover:local_only/0 allows running Cover
>     in a restricted but faster local-only mode. The increase in speed
>     will vary depending on the type of code being cover-compiled, as
>     an example the compiler test suite runs more than twice as fast
>     with the new Cover.
>   * SSL now uses the new logger API, including log levels and verbose
>     debug logging.
>
> For more details see
> http://erlang.org/download/otp_src_22.0-rc2.readme
>
> Pre built versions for Windows can be fetched here:
> http://erlang.org/download/otp_win32_22.0-rc2.exe
> http://erlang.org/download/otp_win64_22.0-rc2.exe
>
> Online documentation can be browsed here:
> http://erlang.org/documentation/doc-11.0-rc2/doc
>
> The Erlang/OTP source can also be found at GitHub on the official 
> Erlang repository:
>
> https://github.com/erlang/otp
>
> OTP-22.0-rc2 <https://github.com/erlang/otp/releases/tag/OTP-22.0-rc2>
>
> Thank you for all your contributions!
>
> _______________________________________________
> erlang-announce mailing list
> erlang-announce@REDACTED
> http://erlang.org/mailman/listinfo/erlang-announce
Hi Kenneth,

It looks like the Erlang Binary Term Format change previously added in 
19.0rc-1 was never documented (to cause the creation integer to be 
32bits for pids, ports and refs) though the new format is being forced 
with a recent commit for 22.0rc-2 
(https://github.com/erlang/otp/commit/78ea501bcc84bd8bd49da97e514c1c3b20682d86). 
The change wasn't announced in your email, nor the necessity of the 
switch to NEW_PID_EXT/NEW_PORT_EXT/NEWER_REFERENCE_EXT for all future 
Erlang integration.

Best Regards,
Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20190408/5bcc217a/attachment.htm>


More information about the erlang-questions mailing list