Some highlights for 19.3
- crypto, ssh: The implementation of the key exchange algorithms diffie-hellman-group-exchange-sha* are optimized, up to a factor of 11 for the slowest ( = biggest and safest) group size.
- dialyzer: The peak memory consumption is reduced.
Analyzing modules with binary construction with huge strings is now much faster.
- erts: A received SIGTERM signal to beam will generate a 'stop' message to the init process and terminate the Erlang VM nicely. This is equivalent to calling init:stop/0.
- kernel: The functions in the 'file' module that take a list of paths (e.g. file:path_consult/2) will now continue to search in the path if the path contains something that is not a directory.
Two OTP processes that are known to receive many messages are 'rex' (used by 'rpc') and 'error_logger'. Those processes will now store unprocessed messages outside the process heap, this will improve their capability to handle large message queues.
- public_key: New function pkix_verify_hostname/2,3 Implements certificate hostname checking. See the manual and RFC 6125.
- public_key, ssh: The ssh host key fingerprint generation now also takes a list of algorithms and returns a list of corresponding fingerprints. See public_key:ssh_hostkey_fingerprint/2 and the option silently_accept_hosts in ssh:connect.
- ssl: Move PEM cache to a dedicated process, to avoid making the SSL manager process a bottleneck. This improves scalability of TLS connections.
- stdlib: filename:safe_relative_path/1 to sanitize a relative path has been added.
- Thanks to more than 20 different contributors
You can find the README and the full listing of changes for this service release at
The Erlang/OTP source can also be found at GitHub on the official Erlang repository,
https://github.com/erlang/otp with tag OTP-19.3
Please report any new issues via Erlang/OTPs public issue tracker
We want to thank all of those who sent us patches, suggestions and bug reports!
The Erlang/OTP Team at Ericsson