È uscito il linguaggio di programmazione funzionale Erlang 29, progettato per lo sviluppo di applicazioni distribuite e resistenti ai guasti, che garantiscono l'elaborazione parallela delle richieste in tempo reale. Il linguaggio ha trovato applicazione in settori come telecomunicazioni, sistemi bancari, commercio elettronico, telefonia informatica e organizzazione di messaggistica istantanea. Contemporaneamente è stata rilasciata la versione OTP 29 (Open Telecom Platform) - un insieme di librerie e componenti per lo sviluppo di sistemi distribuiti in Erlang.
Novità principali:
- I servizi shell ed exec, così come il sottosistema SFTP, sono disattivati per impostazione predefinita nel server SSH. Per eseguire codice Erlang da parte di utenti autenticati tramite SSH, è ora necessario modificare le impostazioni. In SSH, è attivato per impostazione predefinita l'algoritmo ibrido di scambio chiave mlkem768x25519-sha256.
- Nella libreria SSL Nella configurazione predefinita è stato impostato come algoritmo di scambio chiavi ibrido "x25519mlkem768", resistente agli attacchi di computer quantistici e rappresenta una combinazione di X25519 ECDH e dell'algoritmo ML-KEM (CRYSTALS-Kyber).
- È stato aggiunto l'attributo «-unsafe» per contrassegnare le funzioni come non sicure (unsafe). Nella libreria Erlang/OTP, tali funzioni sono contrassegnate e il compilatore ora emette un avviso per esse. È stata aggiunta la possibilità di tracciare tramite xref le chiamate a funzioni non sicure e a funzioni senza documentazione.
- Per il corretto funzionamento degli strumenti di build di terze parti, come Rebar3, la filtrazione delle chiamate ignorate (ignore_xref) ora avviene direttamente all'interno di xref.
- È stato aggiunto il modulo ct_doctest per testare automaticamente gli esempi di codice presenti nella documentazione.
- È stato aggiunto il modulo io_ansi per creare applicazioni console che supportano l'inserimento nelle sequenze ANSI del terminale (Virtual Terminal Sequences), ad esempio, per modificare lo stile e il colore del testo.
- Nella ricerca dei percorsi dei file con codice (PATH), la directory corrente («.») è stata spostata dall'inizio alla fine della lista e ora viene controllata per ultima.
- È stata interrotta la generazione di build a 32 bit per Windows.
- È stato implementato un tipo di dato separato per registrazioni (native record, EEP-79), che può essere utilizzato come alternativa alle registrazioni tradizionali basate su tuple.
- È stato aggiunto un vincolo «is_integer/3» per controllare se i numeri interi appartengono a un intervallo (ad esempio, «is_integer(I, 0, 100)»).
- Sono stati implementati generatori di liste con più valori (EEP-78), che restituiscono più elementi per iterazione (ad esempio, «[-I, I || I 42 || K
Fonte: opennet.ru
