Erlang/OTP 19.0 has been released

June 22, 2016 · by Henrik Nord

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.
  • 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

  https://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)

https://www.erlang.org/doc

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