SPDX 2.2 Source Software-Bill-Of-Materials for Erlang/OTP compliant with NTIA minimum requirements.
New language features
New strict generators have been added for comprehensions according to EEP 70.
Comprehensions have been extended with zip generators according to EEP 73.
For various error types, the compiler now tries to suggest potential fixes by adding “did you mean …?” at the end of error messages.
[EEP-69: Nominal Types] has been implemented. As a side effect, nominal types can encode opaque types. We changed all opaque-handling logic and improved opaque warnings in Dialyzer.
The compiler’s alias analysis pass is now both faster and less conservative, allowing optimizations of records and binary construction to be applied in more cases.
ERTS / STDLIB
Module [re] has been updated to use PCRE2, which is mostly backward compatible with PCRE.
Functionality making it possible for processes to enable reception of priority messages has been introduced in accordance with EEP 76.
Added erlang:hibernate/0, which hibernates a process without discarding the stack.
An experimental API for a native debugger has been added.
The erl -noshell mode has been updated to have two sub modes called raw and cooked, where cooked is the old default behaviour and raw can be used to bypass the line-editing support of the native terminal.
Public Key / SSL
The ancient ASN.1 modules used in public_key has been replaced with more modern versions
The SSL application has been heavily optimized to allow higher throughput and lower latency.