Erlang/OTP 19.0 has been released

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Erlang/OTP 19.0 has been released

Kenneth Lundin-5
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.
  • 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)

http://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



_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang/OTP 19.0 has been released

Loïc Hoguin-3
That's a very nice set of features and changes! This release is
impressive. Great job!

On 06/22/2016 12:18 PM, Kenneth Lundin wrote:

> 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*:
>       o New preprocessor macros *?FUNCTION_NAME, ?FUNCTION_ARITY*
>       o 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*:
>       o erlang:open_port(spawn, ...) 3-5 times faster
>       o tracing, extensive improvements (scalability, speed, match
>         specifications on send/receive, support for lttng, ...)
>       o dirty schedulers improved
>       o per process configurable handling of message_queue
>       o fast loading of multiple modules
>       o max_heap_size process flag
>   * *erts/kernel:*
>       o |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 <http://github.com/erlang> 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)
>
> http://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
>
>
>
>
> _______________________________________________
> erlang-questions mailing list
> [hidden email]
> http://erlang.org/mailman/listinfo/erlang-questions
>

--
Loïc Hoguin
http://ninenines.eu
Author of The Erlanger Playbook,
A book about software development using Erlang
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang/OTP 19.0 has been released

Fred Hebert-2
On 06/22, Loïc Hoguin wrote:
>That's a very nice set of features and changes! This release is
>impressive. Great job!
>

Echoing Loïc here. It feels good to see things moving forwards that way.

Good job to the OTP team and all the contributors!
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang/OTP 19.0 has been released

Lyn Headley
Let's say what we're most excited about. I'm excited about mnesia_ext
because I think that removing the 2GB limit on disc_only_copies will
open up whole new paradigms. I'm still working out the details of
those paradigms though :-)

On Wed, Jun 22, 2016 at 8:58 AM, Fred Hebert <[hidden email]> wrote:

> On 06/22, Loïc Hoguin wrote:
>>
>> That's a very nice set of features and changes! This release is
>> impressive. Great job!
>>
>
> Echoing Loïc here. It feels good to see things moving forwards that way.
>
> Good job to the OTP team and all the contributors!
>
> _______________________________________________
> erlang-questions mailing list
> [hidden email]
> http://erlang.org/mailman/listinfo/erlang-questions
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang/OTP 19.0 has been released

Heinz Nikolaus Gies-2
In reply to this post by Fred Hebert-2
+1 to that, really nice job with that very exciting thing :D


> On Jun 22, 2016, at 17:58, Fred Hebert <[hidden email]> wrote:
>
> On 06/22, Loïc Hoguin wrote:
>> That's a very nice set of features and changes! This release is impressive. Great job!
>>
>
> Echoing Loïc here. It feels good to see things moving forwards that way.
>
> Good job to the OTP team and all the contributors!
> _______________________________________________
> erlang-questions mailing list
> [hidden email]
> http://erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions

signature.asc (817 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Erlang/OTP 19.0 has been released

Jean Chassoul-2
This is awesome! congrats to all involved. (=

On Wed, Jun 22, 2016 at 1:28 PM, Heinz Nikolaus Gies <[hidden email]> wrote:
+1 to that, really nice job with that very exciting thing :D


> On Jun 22, 2016, at 17:58, Fred Hebert <[hidden email]> wrote:
>
> On 06/22, Loïc Hoguin wrote:
>> That's a very nice set of features and changes! This release is impressive. Great job!
>>
>
> Echoing Loïc here. It feels good to see things moving forwards that way.
>
> Good job to the OTP team and all the contributors!
> _______________________________________________
> erlang-questions mailing list
> [hidden email]
> http://erlang.org/mailman/listinfo/erlang-questions


_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions



_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang/OTP 19.0 has been released

Lloyd R. Prentice-2
In reply to this post by Kenneth Lundin-5
Let me be one of many to express deep appreciation for the hard work of the Erlang dev team!

Mnesia_ext may definitely fit into my current work-in-progress. Can you point me to docs?

Thanks again,

LRP

Sent from my iPad

On Jun 22, 2016, at 6:18 AM, Kenneth Lundin <[hidden email]> wrote:

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

http://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


_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang/OTP 19.0 has been released

Dan Gudmundsson-3
On Thu, Jun 23, 2016 at 4:16 AM Lloyd R. Prentice <[hidden email]> wrote:
Let me be one of many to express deep appreciation for the hard work of the Erlang dev team!

Mnesia_ext may definitely fit into my current work-in-progress. Can you point me to docs?


There are no docs and there where no docs in the patch sent. :-/

The api is still experimental, until you/we have something that works 
for more than one usage of the api.

There is a test module that basically wraps ets for the few tests I have done.

More PR's with tests and docs are appreciated.

/Dan

Thanks again,

LRP

Sent from my iPad

On Jun 22, 2016, at 6:18 AM, Kenneth Lundin <[hidden email]> wrote:

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

http://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


_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang/OTP 19.0 has been released

Jesper Louis Andersen-2
In reply to this post by Loïc Hoguin-3

On Wed, Jun 22, 2016 at 5:25 PM, Loïc Hoguin <[hidden email]> wrote:
That's a very nice set of features and changes! This release is impressive. Great job!

I will also echo Loïc here.

One of the things that has always amazed me is that each Erlang release adds a number of useful features, which I did not think about before they were added, but turns out to be important for the correct operation of systems going forward.

Doing this consistently over the last 10 years is called sound engineering.


--
J.

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang/OTP 19.0 has been released

Lloyd R. Prentice-2
In reply to this post by Dan Gudmundsson-3
Thanks Dan.

A challenge!

Best,

Lloyd

Sent from my iPad

On Jun 23, 2016, at 2:40 AM, Dan Gudmundsson <[hidden email]> wrote:

On Thu, Jun 23, 2016 at 4:16 AM Lloyd R. Prentice <[hidden email]> wrote:
Let me be one of many to express deep appreciation for the hard work of the Erlang dev team!

Mnesia_ext may definitely fit into my current work-in-progress. Can you point me to docs?


There are no docs and there where no docs in the patch sent. :-/

The api is still experimental, until you/we have something that works 
for more than one usage of the api.

There is a test module that basically wraps ets for the few tests I have done.

More PR's with tests and docs are appreciated.

/Dan

Thanks again,

LRP

Sent from my iPad

On Jun 22, 2016, at 6:18 AM, Kenneth Lundin <[hidden email]> wrote:

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

http://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


_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang/OTP 19.0 has been released

Loïc Hoguin-3
In reply to this post by Kenneth Lundin-5
Noticed one small oddity:

   OTP-12837    Application(s): kernel

                Add {line_delim, byte()} option to inet:setopts/2 and
                decode_packet/3

In the documentation it appears to be {line_delimiter, byte()}.

In the documentation it is listed in the text below the function, but
not in the types (true for both decode_packet and
inet:setopts/gen_tcp:option).

Finally the choice of a single byte is curious. For example in HTTP the
line delimiter is \r\n.

On 06/22/2016 12:18 PM, Kenneth Lundin wrote:

> 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*:
>       o New preprocessor macros *?FUNCTION_NAME, ?FUNCTION_ARITY*
>       o 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*:
>       o erlang:open_port(spawn, ...) 3-5 times faster
>       o tracing, extensive improvements (scalability, speed, match
>         specifications on send/receive, support for lttng, ...)
>       o dirty schedulers improved
>       o per process configurable handling of message_queue
>       o fast loading of multiple modules
>       o max_heap_size process flag
>   * *erts/kernel:*
>       o |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 <http://github.com/erlang> 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)
>
> http://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
>
>
>
>
> _______________________________________________
> erlang-questions mailing list
> [hidden email]
> http://erlang.org/mailman/listinfo/erlang-questions
>

--
Loïc Hoguin
http://ninenines.eu
Author of The Erlanger Playbook,
A book about software development using Erlang
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang/OTP 19.0 has been released

Serge Aleynikov-3
The documentation is correct - the option was renamed from 'line_delim' to 'line_delimiter'.

In terms of multi-character line delimiters - the default delimiter is '\n', but it will correctly handle lines separated by "\r\n" - that was the unmodified legacy behavior. So it'll correctly parse HTTP headers. What's changed was the ability to specify an alternative delimiting character, which is useful for some protocols (e.g. FIX that uses '\1').  The choice of a single character was for having minimal impact on the existing implementation.

Note that there is a similar PR for file:read_line/1 (https://github.com/erlang/otp/pull/757), but it's currently stalled as it presently only supports reading in raw mode. If there are any volunteers to help it get working in the non-raw mode, that would help to get it merged sooner.

On Fri, Jun 24, 2016 at 8:14 AM, Loïc Hoguin <[hidden email]> wrote:
Noticed one small oddity:

  OTP-12837    Application(s): kernel

               Add {line_delim, byte()} option to inet:setopts/2 and
               decode_packet/3

In the documentation it appears to be {line_delimiter, byte()}.

In the documentation it is listed in the text below the function, but not in the types (true for both decode_packet and inet:setopts/gen_tcp:option).

Finally the choice of a single byte is curious. For example in HTTP the line delimiter is \r\n.

On 06/22/2016 12:18 PM, Kenneth Lundin wrote:
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*:
      o New preprocessor macros *?FUNCTION_NAME, ?FUNCTION_ARITY*
      o 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*:
      o erlang:open_port(spawn, ...) 3-5 times faster
      o tracing, extensive improvements (scalability, speed, match
        specifications on send/receive, support for lttng, ...)
      o dirty schedulers improved
      o per process configurable handling of message_queue
      o fast loading of multiple modules
      o max_heap_size process flag
  * *erts/kernel:*
      o |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 <http://github.com/erlang> 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)

http://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




_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions


--
Loïc Hoguin
http://ninenines.eu
Author of The Erlanger Playbook,
A book about software development using Erlang
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions


_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions