Skip to content

Releases: erlang/otp

OTP 21.0.5

25 Sep 11:39
Compare
Choose a tag to compare
Patch Package:           OTP 21.0.5
Git Tag:                 OTP-21.0.5
Date:                    2018-08-11
Trouble Report Id:       OTP-15194, OTP-15204, OTP-15223, OTP-15225
Seq num:                 ERL-673, ERL-679
System:                  OTP
Release:                 21
Application:             compiler-7.2.3, crypto-4.3.1, erts-10.0.5
Predecessor:             OTP 21.0.4

 Check out the git tag OTP-21.0.5, and build a full OTP system
 including documentation. Apply one or more applications from this
 build as patches to your installation using the 'otp_patch_apply'
 tool. For information on install requirements, see descriptions for
 each application version below.

 ---------------------------------------------------------------------
 --- POTENTIAL INCOMPATIBILITIES -------------------------------------
 ---------------------------------------------------------------------

  OTP-15225    Application(s): erts

               Fixed a bug causing some Erlang references to be
               inconsistently ordered. This could for example cause
               failure to look up certain elements with references as
               keys in search data structures. This bug was introduced
               in R13B02.

               Thanks to Simon Cornish for finding the bug and
               supplying a fix.


 ---------------------------------------------------------------------
 --- compiler-7.2.3 --------------------------------------------------
 ---------------------------------------------------------------------

 The compiler-7.2.3 application can be applied independently of other
 applications on a full OTP 21 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-15204    Application(s): compiler
               Related Id(s): ERL-679

               Fixed an issue where files compiled with the
               +deterministic option differed if they were compiled in
               a different directory but were otherwise identical.


 Full runtime dependencies of compiler-7.2.3: crypto-3.6, erts-9.0,
 hipe-3.12, kernel-4.0, stdlib-2.5


 ---------------------------------------------------------------------
 --- crypto-4.3.1 ----------------------------------------------------
 ---------------------------------------------------------------------

 The crypto-4.3.1 application can be applied independently of other
 applications on a full OTP 21 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-15194    Application(s): crypto
               Related Id(s): ERL-673

               Fixed a node crash in crypto:compute_key(ecdh, ...)
               when passing a wrongly typed Others argument.


 Full runtime dependencies of crypto-4.3.1: erts-9.0, kernel-5.3,
 stdlib-3.4


 ---------------------------------------------------------------------
 --- erts-10.0.5 -----------------------------------------------------
 ---------------------------------------------------------------------

 The erts-10.0.5 application can be applied independently of other
 applications on a full OTP 21 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-15223    Application(s): erts

               Fixed a bug which caused an emulator crash when
               enif_send() was called by a NIF that executed on a
               dirty scheduler. The bug was either triggered when the
               NIF called enif_send() without a message environment,
               or when the process executing the NIF was send traced.


  OTP-15225    Application(s): erts

               *** POTENTIAL INCOMPATIBILITY ***

               Fixed a bug causing some Erlang references to be
               inconsistently ordered. This could for example cause
               failure to look up certain elements with references as
               keys in search data structures. This bug was introduced
               in R13B02.

               Thanks to Simon Cornish for finding the bug and
               supplying a fix.


 Full runtime dependencies of erts-10.0.5: kernel-6.0, sasl-3.0.1,
 stdlib-3.5


 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------

OTP 21.0.4

25 Sep 11:39
Compare
Choose a tag to compare
Patch Package:           OTP 21.0.4
Git Tag:                 OTP-21.0.4
Date:                    2018-07-26
Trouble Report Id:       OTP-15169, OTP-15184, OTP-15196
Seq num:                
System:                  OTP
Release:                 21
Application:             erts-10.0.4
Predecessor:             OTP 21.0.3

 Check out the git tag OTP-21.0.4, and build a full OTP system
 including documentation. Apply one or more applications from this
 build as patches to your installation using the 'otp_patch_apply'
 tool. For information on install requirements, see descriptions for
 each application version below.

 ---------------------------------------------------------------------
 --- erts-10.0.4 -----------------------------------------------------
 ---------------------------------------------------------------------

 The erts-10.0.4 application can be applied independently of other
 applications on a full OTP 21 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-15169    Application(s): erts

               Fixed a bug that prevented the noshell option from
               working correctly on Mac OS X and BSD.


  OTP-15184    Application(s): erts

               Fixed a crash when matching directly against a literal
               map using a single key that had been saved on the
               stack.


  OTP-15196    Application(s): erts

               Fix node crash when passing a bad time option to
               file:read_file_info/2.


 Full runtime dependencies of erts-10.0.4: kernel-6.0, sasl-3.0.1,
 stdlib-3.5


 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------

OTP 21.0.3

25 Sep 11:39
Compare
Choose a tag to compare
Patch Package:           OTP 21.0.3
Git Tag:                 OTP-21.0.3
Date:                    2018-07-13
Trouble Report Id:       OTP-15154, OTP-15183, OTP-15176
Seq num:                 ERIERL-198, ERIERL-202, ERL-640, ERL-670
System:                  OTP
Release:                 21
Application:             erts-10.0.3
Predecessor:             OTP 21.0.2

 Check out the git tag OTP-21.0.3, and build a full OTP system
 including documentation. Apply one or more applications from this
 build as patches to your installation using the 'otp_patch_apply'
 tool. For information on install requirements, see descriptions for
 each application version below.

 ---------------------------------------------------------------------
 --- otp-21.0.3 ------------------------------------------------------
 ---------------------------------------------------------------------

 --- Improvements and New Features ---

  OTP-15176    Application(s): otp
               Related Id(s): ERIERL-198, ERIERL-202, ERL-640,
               OTP-14283, OTP-15177

               Build support for the erlang/corba repository.

 ---------------------------------------------------------------------
 --- erts-10.0.3 -----------------------------------------------------
 ---------------------------------------------------------------------

 The erts-10.0.3 application can be applied independently of other
 applications on a full OTP 21 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-15154    Application(s): erts

               Fixed a scheduler bug that caused normal schedulers to
               run dirty code.


  OTP-15183    Application(s): erts
               Related Id(s): ERL-670

               Fixed a bug in erlang:trace_info/2 which caused the
               emulator to crash when a bad argument was passed. The
               bug was introduced in ERTS version 10.0.


 Full runtime dependencies of erts-10.0.3: kernel-6.0, sasl-3.0.1,
 stdlib-3.5


 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------

OTP 21.0.2

25 Sep 11:39
Compare
Choose a tag to compare
Patch Package:           OTP 21.0.2
Git Tag:                 OTP-21.0.2
Date:                    2018-07-04
Trouble Report Id:       OTP-15067, OTP-15151, OTP-15156, OTP-15157,
                         OTP-15158, OTP-15159, OTP-15166
Seq num:                 ERL-573, ERL-654, ERL-655, ERL-660
System:                  OTP
Release:                 21
Application:             compiler-7.2.2, erts-10.0.2,
                         public_key-1.6.1, stdlib-3.5.1
Predecessor:             OTP 21.0.1

 Check out the git tag OTP-21.0.2, and build a full OTP system
 including documentation. Apply one or more applications from this
 build as patches to your installation using the 'otp_patch_apply'
 tool. For information on install requirements, see descriptions for
 each application version below.

 ---------------------------------------------------------------------
 --- compiler-7.2.2 --------------------------------------------------
 ---------------------------------------------------------------------

 The compiler-7.2.2 application can be applied independently of other
 applications on a full OTP 21 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-15156    Application(s): compiler
               Related Id(s): ERL-655

               In rare cases involving matching of binary literal
               strings, the compiler could optimize away code that
               should be executed.


  OTP-15157    Application(s): compiler

               There could be an internal consistency check failure
               when compiling code that called map_get(Key, Map) and
               then updated the same map.


  OTP-15166    Application(s): compiler
               Related Id(s): ERL-660

               In rare circumstances, the compiler could crash in
               beam_jump when compiling a floating point operation.


 Full runtime dependencies of compiler-7.2.2: crypto-3.6, erts-9.0,
 hipe-3.12, kernel-4.0, stdlib-2.5


 ---------------------------------------------------------------------
 --- erts-10.0.2 -----------------------------------------------------
 ---------------------------------------------------------------------

 The erts-10.0.2 application can be applied independently of other
 applications on a full OTP 21 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-15067    Application(s): erts
               Related Id(s): ERL-573

               Fixed a rare bug that could cause processes to be
               scheduled after they had been freed.


  OTP-15158    Application(s): erts
               Related Id(s): ERL-654

               Fixed a race condition in the inet driver that could
               cause receive to hang when the emulator was compiled
               with gcc 8.


 Full runtime dependencies of erts-10.0.2: kernel-6.0, sasl-3.0.1,
 stdlib-3.5


 ---------------------------------------------------------------------
 --- public_key-1.6.1 ------------------------------------------------
 ---------------------------------------------------------------------

 The public_key-1.6.1 application can be applied independently of
 other applications on a full OTP 21 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-15151    Application(s): public_key
               Related Id(s): OTP-15113

               Some of the keylengths in the newly generated moduli
               file in public_key are not universally supported. This
               could cause the SSH key exchange
               diffie-hellman-group-exchange-sha* to fail.

               Those keylengths are now removed.


 Full runtime dependencies of public_key-1.6.1: asn1-3.0, crypto-3.8,
 erts-6.0, kernel-3.0, stdlib-3.5


 ---------------------------------------------------------------------
 --- stdlib-3.5.1 ----------------------------------------------------
 ---------------------------------------------------------------------

 The stdlib-3.5.1 application can be applied independently of other
 applications on a full OTP 21 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-15159    Application(s): stdlib

               Fix a bug that could cause a crash when formatting a
               list of non-characters using the control sequences p or
               P and limiting the output with the option chars_limit.


 Full runtime dependencies of stdlib-3.5.1: compiler-5.0, crypto-3.3,
 erts-10.0, kernel-6.0, sasl-3.0


 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------

OTP 21.0.1

25 Sep 11:39
Compare
Choose a tag to compare
Patch Package:           OTP 21.0.1
Git Tag:                 OTP-21.0.1
Date:                    2018-06-26
Trouble Report Id:       OTP-15147, OTP-15150
Seq num:                 ERL-644, ERL-650
System:                  OTP
Release:                 21
Application:             compiler-7.2.1, erts-10.0.1
Predecessor:             OTP 21.0

 Check out the git tag OTP-21.0.1, and build a full OTP system
 including documentation. Apply one or more applications from this
 build as patches to your installation using the 'otp_patch_apply'
 tool. For information on install requirements, see descriptions for
 each application version below.

 ---------------------------------------------------------------------
 --- compiler-7.2.1 --------------------------------------------------
 ---------------------------------------------------------------------

 The compiler-7.2.1 application can be applied independently of other
 applications on a full OTP 21 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-15150    Application(s): compiler
               Related Id(s): ERL-650

               The compiler could could crash when compiling a
               complicated function that used the binary syntax.


 Full runtime dependencies of compiler-7.2.1: crypto-3.6, erts-9.0,
 hipe-3.12, kernel-4.0, stdlib-2.5


 ---------------------------------------------------------------------
 --- erts-10.0.1 -----------------------------------------------------
 ---------------------------------------------------------------------

 The erts-10.0.1 application can be applied independently of other
 applications on a full OTP 21 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-15147    Application(s): erts
               Related Id(s): ERL-644

               The keys used in os:getenv and os:putenv are
               case-insensitive again on Windows.


 Full runtime dependencies of erts-10.0.1: kernel-6.0, sasl-3.0.1,
 stdlib-3.5


 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------

OTP 21.0

19 Jun 14:10
Compare
Choose a tag to compare

Erlang/OTP 21 is a new major release with new features, improvements as well as incompatibilities.

Potential Incompatibilities

  • All Corba applications are now moved from the OTP repository
  • A new Corba repository will be created https://github.com/erlang
  • New applications ftp and tftp, moved from inets
  • ssl no longer supports 3_DES cipher suites or RSA-key exchange cipher suites by default
  • Erlang:monitor on a primitive node (erl_interface, jinterface, etc) will no longer fail with badarg exception. Instead a monitor will be created, but it will only supervise the connection to the node.

Highlights
Erts:

  • Enhanced IO scalability
  • Support for usage of distribution controller processes for alternative transports, routing etc
  • compact instructions on 64bit systems for code below 4GB 20% less memory for loaded code
  • Rewrite of the efile-driver with NIFs and "Dirty schedulers" resulting in faster file operations
    non-smp VM removed
  • link and monitor optimized for scalability
  • os:getenv/putenv now work on thread-safe emulation. No longer in sync with libc getenv(3). Manual synchronization will be needed.

Compiler:

  • Misc compiler optimizations including contributions from the Elixir team resulting in 10% improvements in benchmarks
  • "Tuple calls" have been removed from the run-time system.
  • Code such as f({ok, Val}) -> {ok, Val} is now automatically rewritten to f({ok, Val} = Tuple) -> Tuple. this reduces code size, execution time, and removed GC pressure.
  • More information in stacktrace from a number of operators
  • erlang:get_stacktrace/0 deprecated to be replaced with try ... catch C:R:Stacktrace -> ...
  • Creation of small maps with literal keys optimized.
  • A new predefined macro OTP_RELEASE and preprocessor directives -if and -elif

Security:

  • DTLS is now supported in the SSL application
  • Enhanced support for distribution over TLS
  • "unsecure" ciphers removed from defaults in SSL and SSH.
  • A new option value defined to facilitate implementing exec servers. Old option kept for compatibility, but now gives errors on stderror.

Standard libraries:

  • New API for logging, logger
  • New uri_string module for parsing URIs according to "The standard"
  • New function lists:search(list,fun/1) -> {ok, Value} | false
  • Changed default behaviour of .erlang loading. escript, erlc, dialyzer and typer no longer load an .erlang at all.

For more details see
http://erlang.org/download/otp_src_21.0.readme

Pre built versions for Windows can be fetched here:
http://erlang.org/download/otp_win32_21.0.exe
http://erlang.org/download/otp_win64_21.0.exe

Online documentation can be browsed here:
http://erlang.org/documentation/doc-10.0/doc

OTP 21.0 Release Candidate 2

30 May 09:13
Compare
Choose a tag to compare
Pre-release

OTP 21 Release Candidate 2

This is the second of two planned release candidates before the OTP 21 release.

The intention whit this release is that you as users try it and give us feedback

Erlang/OTP 21 is a new major release with new features, improvements as well as incompatibilities.
Potential Incompatibilities

  • All Corba applications are now moved from the OTP repository
  • A new Corba repository will be created https://github.com/erlang
  • New applications ftp and tftp, moved from inets
  • ssl no longer supports 3_DES cipher suites or RSA-key exchange cipher suites by default
  • Erlang:monitor on a primitive node (erl_interface, jinterface, etc) will no longer fail with badarg exception. Instead a monitor will be created, but it will only supervise the connection to the node.

Highlights
Erts:

  • Enhanced IO scalability
  • Support for usage of distribution controller processes for alternative transports, routing etc
  • compact instructions on 64bit systems for code below 4GB 20% less memory for loaded code
  • Rewrite of the efile-driver with NIFs and "Dirty schedulers" resulting in faster file operations
    non-smp VM removed
  • link and monitor optimized for scalability
  • os:getenv/putenv now work on thread-safe emulation. No longer in sync with libc getenv(3). Manual synchronization will be needed.

Compiler:

  • Misc compiler optimizations including contributions from the Elixir team resulting in 10% improvements in benchmarks
  • "Tuple calls" have been removed from the run-time system.
  • Code such as f({ok, Val}) -> {ok, Val} is now automatically rewritten to f({ok, Val} = Tuple) -> Tuple. this reduces code size, execution time, and removed GC pressure.
  • More information in stacktrace from a number of operators
  • erlang:get_stacktrace/0 deprecated to be replaced with try ... catch C:R:Stacktrace -> ...
  • Creation of small maps with literal keys optimized.

Security:

  • DTLS support in SSL
  • Enhanced support for distribution over TLS
  • "unsecure" ciphers removed from defaults in SSL and SSH.
  • A new option value defined to facilitate implementing exec servers. Old option kept for compatibility, but now gives errors on stderror.

Standard libraries:

  • New API for logging, logger
  • New uri_string module for parsing URIs according to "The standard"
  • New function lists:search(list,fun/1) -> {ok, Value} | false
  • Changed default behaviour of .erlang loading. escript, erlc, dialyzer and typer no longer load an .erlang at all.

For more details see
http://erlang.org/download/otp_src_21.0-rc2.readme

Pre built versions for Windows can be fetched here:
http://erlang.org/download/otp_win32_21.0-rc2.exe
http://erlang.org/download/otp_win64_21.0-rc2.exe

Online documentation can be browsed here:
http://erlang.org/documentation/doc-10.0-rc2/doc

OTP 21.0 Release Candidate 1

02 May 11:35
Compare
Choose a tag to compare
Pre-release

OTP 21 Release Candidate 1

This is the first of two planned release candidates before the OTP 21 release.

The intention whit this release is that you as users try it and give us feedback

Erlang/OTP 21 is a new major release with new features, improvements as well as incompatibilities.
Potential Incompatibilities

  • All Corba applications are now moved from the OTP repository
  • A new Corba repository will be created https://github.com/erlang
  • New applications ftp and tftp, moved from inets
  • ssl no longer supports 3_DES cipher suites or RSA-key exchange cipher suites by default
  • Erlang:monitor on a primitive node (erl_interface, jinterface, etc) will no longer fail with badarg exception. Instead a monitor will be created, but it will only supervise the connection to the node.

Highlights
Erts:

  • Enhanced IO scalability
  • Support for usage of distribution controller processes for alternative transports, routing etc
  • compact instructions on 64bit systems for code below 4GB 20% less memory for loaded code
  • Rewrite of the efile-driver with NIFs and "Dirty schedulers" resulting in faster file operations
    non-smp VM removed
  • link and monitor optimized for scalability
  • os:getenv/putenv now work on thread-safe emulation. No longer in sync with libc getenv(3). Manual synchronization will be needed.

Compiler:

  • Misc compiler optimizations including contributions from the Elixir team resulting in 10% improvements in benchmarks
  • "Tuple calls" have been removed from the run-time system.
  • Code such as f({ok, Val}) -> {ok, Val} is now automatically rewritten to f({ok, Val} = Tuple) -> Tuple. this reduces code size, execution time, and removed GC pressure.
  • More information in stacktrace from a number of operators
  • erlang:get_stacktrace/0 deprecated to be replaced with try ... catch C:R:Stacktrace -> ...
  • Creation of small maps with literal keys optimized.

Security:

  • DTLS support in SSL
  • Enhanced support for distribution over TLS
  • "unsecure" ciphers removed from defaults in SSL and SSH.
  • A new option value defined to facilitate implementing exec servers. Old option kept for compatibility, but now gives errors on stderror.

Standard libraries:

  • New API for logging, logger
  • New uri_string module for parsing URIs according to "The standard"
  • New function lists:search(list,fun/1) -> {ok, Value} | false
  • Changed default behaviour of .erlang loading. escript, erlc, dialyzer and typer no longer load an .erlang at all.

For more details see
http://erlang.org/download/otp_src_21.0-rc1.readme

Pre built versions for Windows can be fetched here:
http://erlang.org/download/otp_win32_21.0-rc1.exe
http://erlang.org/download/otp_win64_21.0-rc1.exe

Online documentation can be browsed here:
http://erlang.org/documentation/doc-10.0-rc1/doc

OTP 20.3

14 Mar 09:52
Compare
Choose a tag to compare

Erlang/OTP 20.3 is the third service release for the 20 major release.
The service release contains mostly bug fixes and characteristics
improvements but also some new features.

Some highlights for 20.3

  • ssl:

    • Added new API functions to facilitate cipher suite
      handling
  • erts, observer:

    • More crash dump info such as: process binary virtual
      heap stats, full info for process causing out-of-mem
      during GC, more port related info, and dirty scheduler
      info.
  • inets:

    • Add support for unix domain sockets in the http client.

You can find the README and the full listing of changes for this
service release at

http://www.erlang.org/download/otp_src_20.3.readme

The source distribution and binary distributions for Windows can be
downloaded from

http://www.erlang.org/download/otp_src_20.3.tar.gz
http://www.erlang.org/download/otp_win32_20.3.exe
http://www.erlang.org/download/otp_win64_20.3.exe

Note: To unpack the TAR archive you need a GNU TAR compatible program.

For installation instructions please consult the README file that is
part
of the distribution.

The Erlang/OTP source can also be found at GitHub on the official
Erlang
repository, https://github.com/erlang/otp with tag OTP-20.3

The on-line documentation can be found at: http://www.erlang.org/doc/
You can also download the complete HTML documentation or the Unix
manual files

http://www.erlang.org/download/otp_doc_html_20.3.tar.gz
http://www.erlang.org/download/otp_doc_man_20.3.tar.gz

Please report any new issues via Erlang/OTPs public issue tracker

https://bugs.erlang.org

We want to thank all of those who sent us patches, suggestions and bug
reports!

Thank you!

The Erlang/OTP Team at Ericsson

OTP 20.2

13 Dec 09:32
Compare
Choose a tag to compare

Erlang/OTP 20.2 is the second service release for the 20 major release.
The service release contains mostly bug fixes and characteristics
improvements but also some new features.

Some highlights for 20.2

  • crypto, ssl:

    • The crypto API is extended to use private/public keys
      stored in an Engine for sign/verify or encrypt/decrypt
      operations.
  • The ssl application provides an API to use this new
    engine concept in TLS.

  • ssh:

    • SSH can now fetch the host key from the private keys
      stored in an Engine. See the crypto application for
      details about Engines.
  • ssl:

    • A new command line option -ssl_dist_optfile has been
      added to facilitate specifying the many options needed
      when using SSL as the distribution protocol.
  • stdlib:

    • Improve performance of the new string functionality
      when handling ASCII characters.

You can find the README and the full listing of changes for this
service release at

http://www.erlang.org/download/otp_src_20.2.readme

The source distribution and binary distributions for Windows can be
downloaded from

http://www.erlang.org/download/otp_src_20.2.tar.gz
http://www.erlang.org/download/otp_win32_20.2.exe
http://www.erlang.org/download/otp_win64_20.2.exe

Note: To unpack the TAR archive you need a GNU TAR compatible program.

For installation instructions please consult the README file that is
part of the distribution.

The Erlang/OTP source can also be found at GitHub on the official
Erlang repository, https://github.com/erlang/otp with tag OTP-20.2

The on-line documentation can be found at: http://www.erlang.org/doc/
You can also download the complete HTML documentation or the Unix
manual files

http://www.erlang.org/download/otp_doc_html_20.2.tar.gz
http://www.erlang.org/download/otp_doc_man_20.2.tar.gz

Please report any new issues via Erlang/OTPs public issue tracker

https://bugs.erlang.org

We want to thank all of those who sent us patches, suggestions and bug
reports!

Thank you!

The Erlang/OTP Team at Ericsson