OTP 19.0
Erlang/OTP 19.0 has been released
Erlang/OTP 19.0 is a new major release with new features, quite a few (characteristics) improvements, as well as a few incompatibilities.
Some highlights of the release are:
- compiler, stdlib:
- New preprocessor macros
?FUNCTION_NAME
,?FUNCTION_ARITY
- New preprocessor directives
-error(Term)
and-warning(Term)
to cause a compilation error or warning, respectively.
- New preprocessor macros
- gen_statem a new state machine behavior
- mnesia_ext: plugin of external storage solutions to mnesia
- crypto: uses EVP interface in OpenSSL resulting in generally better performance and support for HW acceleration
- ssh: performance improvements, uses the new
gen_statem
behavior - ssl: enhanced error log messages
- dialyzer: the support for maps is very much extended both the type specification syntax and the type analysis.
- erts:
erlang:open_port(spawn, ...)
3-5 times faster- tracing, extensive improvements (scalability, speed, match specifications on send/receive, support for lttng, ...)
- dirty schedulers improved
- per process configurable handling of message_queue
- fast loading of multiple modules
- max_heap_size process flag
- erts/kernel:
Experimental support for Unix Domain Sockets
Example:gen_udp:open(0, [{ifaddr,{local,"/tmp/socket"}}])
- and much more ....
You can find the Release Notes with more detailed info at
http://www.erlang.org/download/otp_src_19.0.readme
You find the source code at github.com in the official Erlang repository.
Git tag OTP-19.0
https://github.com/erlang/otp/tree/OTP-19.0
You can also read the documentation on-line here:
(see the Release Notes mentioned above for release notes which
are not updated in the doc, but the new functionality is)
We also want to thank all of you that have contributed with new features, bug-fixes, suggestions and bug reports.
The Erlang/OTP Team at Ericsson