Release of Erlang/OTP 29

The release of the functional programming language Erlang 29 has taken place, targeting the development of distributed fault-tolerant applications that ensure parallel processing of requests in real-time. The language has found usage in areas such as telecommunications, banking systems, e-commerce, computer telephony, and instant messaging organization. Concurrently, the OTP 29 (Open Telecom Platform) release has been issued—an accompanying set of libraries and components for developing distributed systems in Erlang.

Key innovations:

  • In the SSH server, shell and exec services, as well as the SFTP subsystem, are disabled by default. To execute Erlang code by authenticated users via SSH, configuration changes are now required. The hybrid key exchange algorithm mlkem768x25519-sha256 is enabled by default in SSH.
  • In the library SSL In the default configuration, the most prioritized hybrid key exchange algorithm "x25519mlkem768" is set, which is resistant to brute force attacks on quantum computers and represents a combination of X25519 ECDH and the ML-KEM (CRYSTALS-Kyber) algorithm.
  • The "-unsafe" attribute has been added to label functions as unsafe. In the Erlang/OTP library, such functions are marked, and the compiler now issues a warning for them. The ability to track calls to unsafe functions and functions without documentation through xref has been added.
  • For the proper functioning of third-party build tools like Rebar3, filtering of ignored calls (ignore_xref) is now performed directly within xref.
  • A ct_doctest module has been added for the automatic testing of code examples from documentation.
  • An io_ansi module has been added to create console applications that support substitution of ANSI sequences (Virtual Terminal Sequences) in the terminal, for example, to change text style and color.
  • When searching for file paths with code (PATH), the current directory (".") has been moved from the first to the last position in the list and is now checked last.
  • The formation of 32-bit builds for Windows has been discontinued.
  • A fully-fledged separate data type for records (native record, EEP-79) has been implemented, which can be used instead of traditional records built on tuples.
  • An "is_integer/3" constraint has been added to check whether integers belong to a range (for example, "is_integer(I, 0, 100)").
  • List generators with multiple values (EEP-78) have been implemented, returning several elements per iteration (for example, "[-I, I || I 42 || K

    Source: opennet.ru
Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster