Lanzouse Erlang 29, unha linguaxe de programación funcional deseñada para desenvolver aplicacións distribuídas e tolerantes a fallos que admiten o procesamento paralelo en tempo real. A linguaxe atopou unha adopción xeneralizada en áreas como as telecomunicacións, a banca, o comercio electrónico, a telefonía informática e a mensaxería instantánea. Simultaneamente, lanzouse OTP 29 (Open Telecom Platform), un conxunto complementario de bibliotecas e compoñentes para desenvolver sistemas distribuídos en Erlang.
Principais novidades:
- Os servizos shell e exec, así como o subsistema SFTP, están desactivados por defecto no servidor SSH. A execución de código Erlang por parte de usuarios autenticados a través de SSH agora require un cambio de configuración. O algoritmo de intercambio de claves híbrido mlkem768x25519-sha256 está activado por defecto en SSH.
- A configuración predeterminada da biblioteca SSL define a máxima prioridade para o algoritmo de intercambio de claves híbrido resistente aos datos cuánticos "x25519mlkem768", que é unha combinación do algoritmo X25519 ECDH e o algoritmo ML-KEM (CRYSTALS-Kyber).
- Engadiuse o atributo "-unsafe" para marcar as funcións como inseguras. Na biblioteca Erlang/OTP, estas funcións están marcadas e o compilador agora emite un aviso para elas. Engadiuse a capacidade de rastrexar chamadas a funcións inseguras e funcións sen documentación mediante referencia cruzada.
- Para garantir o funcionamento correcto de ferramentas de compilación de terceiros como Rebar3, o filtrado das chamadas ignoradas (ignore_xref) agora realízase directamente dentro da referencia x.
- Engadiuse o módulo ct_doctest para probar automaticamente exemplos de código da documentación.
- Engadiuse o módulo io_ansi para crear aplicacións de consola que admitan a substitución de secuencias ANSI (secuencias de terminal virtual) no terminal, por exemplo, para cambiar o estilo e a cor do texto.
- Ao buscar rutas de ficheiros con código (PATH), o directorio actual ("."") moveuse da primeira á última posición da lista e agora compróbase o último.
- Deixou de xerar ensamblaxes de 32 bits para Windows.
- Implementouse un tipo de datos completamente separado para rexistros (rexistro nativo, EEP-79), que se pode usar en lugar dos rexistros tradicionais construídos sobre tuplas.
- Engadiuse o verificador "is_integer/3" para comprobar se os enteiros están dentro dun rango (por exemplo, "is_integer(I, 0, 100)").
- Implementáronse comprensións de listas con valores múltiples (EEP-78) que devolven varios elementos por iteración (por exemplo, "[-I, I || I 42 || K
Fonte: opennet.ru
