Bol vydaný Erlang 29, funkcionálny programovací jazyk určený na vývoj distribuovaných, chybovostných aplikácií, ktoré podporujú paralelné spracovanie v reálnom čase. Jazyk si našiel široké uplatnenie v oblastiach ako telekomunikácie, bankovníctvo, elektronický obchod, počítačová telefónia a okamžité správy. Súčasne bol vydaný aj OTP 29 (Open Telecom Platform), sprievodný súbor knižníc a komponentov na vývoj distribuovaných systémov v Erlangu.
Hlavné inovácie:
- Služby shell a exec, ako aj subsystém SFTP, sú na SSH serveri predvolene zakázané. Spúšťanie kódu Erlang overenými používateľmi cez SSH teraz vyžaduje zmenu konfigurácie. Hybridný algoritmus výmeny kľúčov mlkem768x25519-sha256 je v SSH predvolene povolený.
- Predvolená konfigurácia knižnice SSL nastavuje najvyššiu prioritu na algoritmus hybridnej výmeny kľúčov odolný voči kvantovým zmenám „x25519mlkem768“, ktorý je kombináciou algoritmu X25519 ECDH a algoritmu ML-KEM (CRYSTALS-Kyber).
- Na označenie funkcií ako nebezpečných bol pridaný atribút „-unsafe“. V knižnici Erlang/OTP sú takéto funkcie označené a kompilátor na ne teraz vydá varovanie. Bola pridaná možnosť sledovať volania nebezpečných funkcií a funkcií bez dokumentácie prostredníctvom externých referencií.
- Aby sa zabezpečila správna funkcia nástrojov tretích strán, ako napríklad Rebar3, filtrovanie ignorovaných volaní (ignore_xref) sa teraz vykonáva priamo vo vnútri xrefu.
- Pridaný modul ct_doctest pre automatické testovanie príkladov kódu z dokumentácie.
- Pridaný modul io_ansi na vytváranie konzolových aplikácií, ktoré podporujú substitúciu ANSI sekvencií (Virtual Terminal Sequences) do terminálu, napríklad na zmenu štýlu a farby textu.
- Pri vyhľadávaní ciest k súborom s kódom (PATH) bol aktuálny adresár ("."") presunutý z prvej na poslednú pozíciu v zozname a teraz sa kontroluje ako posledný.
- Zastavené generovanie 32-bitových zostáv pre Windows.
- Bol implementovaný plnohodnotný samostatný dátový typ pre záznamy (natívny záznam, EEP-79), ktorý je možné použiť namiesto tradičných záznamov postavených na n-ticiach.
- Pridaná kontrola „is_integer/3“ na kontrolu, či sa celé čísla nachádzajú v rozsahu (napr. „is_integer(I, 0, 100)“).
- Implementované viachodnotové zoznamové comprehensiony (EEP-78), ktoré vracajú viacero položiek na iteráciu (napr. "[-I, I || I 42 || K
Zdroj: opennet.ru
