Obavljeno je izdanje funkcionalnog programskog jezika Erlang 29, usmjerenog na razvoj distribuiranih otpornosti na greške aplikacija, koji omogućuju paralelnu obradu zahtjeva u realnom vremenu. Jezik je postao popularan u područjima poput telekomunikacija, bankarskih sustava, elektronske trgovine, računalne telefonije i organizacije trenutne razmjene poruka. Istovremeno je objavljeno i izdanje OTP 29 (Open Telecom Platform) — pratećeg skupa biblioteka i komponenti za razvoj distribuiranih sustava na jeziku Erlang.
Glavne novosti:
- U SSH poslužitelju prema zadanim postavkama isključene su shell i exec usluge, kao i SFTP podsustav. Da bi se izvršio Erlang kod od strane autentificiranih korisnika putem SSH, sada su potrebne izmjene u postavkama. U SSH je prema zadanim postavkama aktiviran hibridni algoritam razmjene ključeva mlkem768x25519-sha256.
- U biblioteci SSL u zadnjoj konfiguraciji postavljen je najprioritetniji hibridni algoritam razmjene ključeva „x25519mlkem768“, otporan na napad na kvantnom računalu i koji predstavlja kombinaciju X25519 ECDH i algoritma ML-KEM (CRYSTALS-Kyber).
- Dodana je oznaka „-unsafe“ za označavanje funkcija kao nesigurnih (unsafe). U biblioteci Erlang/OTP takve funkcije su označene i za njih kompilator sada izbacuje upozorenje. Dodana je mogućnost praćenja putem xref poziva nesigurnih funkcija i funkcija bez dokumentacije.
- Za ispravno funkcioniranje vanjskih alata za izgradnju, kao što je Rebar3, filtriranje ignoriranih poziva (ignore_xref) sada se obavlja izravno unutar xref.
- Dodan je modul ct_doctest za automatsko testiranje primjera koda iz dokumentacije.
- Dodan je modul io_ansi za izradu konzolnih aplikacija koje podržavaju uvođenje ANSI sekvenci (Virtual Terminal Sequences) u terminal, na primjer, za promjenu stila i boje teksta.
- Prilikom pretraživanja putanja datoteka s kodom (PATH) trenutni katalog („.“) je prebačen s prvog na posljednje mjesto u popisu i sada se provjerava kao posljednje.
- Prekinuto je generiranje 32-bitnih izdanja za Windows.
- Implementiran je punopravni odvojeni tip podataka za zapise (native record, EEP-79), koji se može koristiti umjesto tradicionalnih zapisa izgrađenih na tuple-ima.
- Dodana je omejitev „is_integer/3“ za preverjanje celih števil, ali pripadajo območju (na primer, „is_integer(I, 0, 100)“).
- Implementirani so generatorji seznamov z več vrednostmi (EEP-78), ki vrnejo več elementov v eni iteraciji (na primer, „[-I, I || I 42 || K“.
Izvor: opennet.ru
