Objavljen je funkcionalni programski jezik Erlang 29, koji je usmjeren na razvoj distribuiranih otpornih aplikacija koje omogućuju paralelno procesiranje upita u stvarnom vremenu. Jezik je stekao popularnost u područjima poput telekomunikacija, bankarskih sustava, elektroničke trgovine, računalne telefonije i organizacije trenutne razmjene poruka. Istodobno je objavljen OTP 29 (Open Telecom Platform) — skup biblioteka i komponenata za razvoj distribuiranih sustava na jeziku Erlang.
Glavne novine:
- U SSH poslužitelju zadane su usluge shell i exec isključene, kao i SFTP podsustav. Za izvršavanje Erlang koda od strane autentificiranih korisnika putem SSH sada je potrebno promijeniti postavke. U SSH je zadano aktiviran hibridni algoritam razmjene ključeva mlkem768x25519-sha256.
- U biblioteci SSL U konfiguraciji po defaultu postavljen je najprioritetniji hibridni algoritam za razmjenu ključeva „x25519mlkem768”, otporan na pokušaje s kvantnim računalom, koji predstavlja kombinaciju X25519 ECDH i ML-KEM algoritma (CRYSTALS-Kyber).
- Dodana je opcija „-unsafe“ za označavanje funkcija kao nesigurnih (unsafe). U biblioteci Erlang/OTP takve funkcije su označene, a kompajler sada daje upozorenje za njih. Dodana je mogućnost praćenja putem xref poziva nesigurnih funkcija i funkcija bez dokumentacije.
- Za ispravno funkcioniranje vanjskih alata za gradnju, poput 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 stvaranje konzolnih aplikacija koje podržavaju umetanje ANSI sekvenci u terminal (Virtual Terminal Sequences), na primjer, za promjenu stila i boje teksta.
- Pri pretraživanju datotečnih putova s kodom (PATH) trenutni direktorij („.“) premješten je s prvog na posljednje mjesto u popisu i sada se provjerava posljednji.
- Prekinuta je izrada 32-bitnih izdanja za Windows.
- Implementirana je potpuna odvojena vrsta podataka za zapise (native record, EEP-79), koja se može koristiti umjesto tradicionalnih zapisa temeljenih na tuplama.
- Dodan je ograničivač „is_integer/3“ za provjeru cijelih brojeva u rasponu (na primjer, „is_integer(I, 0, 100)“).
- Implementirani su generatori popisa s više vrijednosti (EEP-78), koji vraćaju nekoliko elemenata po iteraciji (na primjer, „[-I, I || I 42 || K
Izvor: opennet.ru
