Udgivelsen af det funktionelle programmeringssprog Erlang 29 har fundet sted, som er målrettet udviklingen af distribuerede fejlresistente applikationer, der muliggør parallel behandling af forespørgsler i realtid. Sproget er blevet udbredt inden for områder som telekommunikation, banksystemer, e-handel, computertelefonie og organisering af øjeblikkelig messaging. Samtidig blev der udgivet version 29 af OTP (Open Telecom Platform) — et tilhørende sæt af biblioteker og komponenter til udvikling af distribuerede systemer med Erlang.
Hovednyhederne:
- I SSH-serveren er shell- og exec-tjenesterne samt SFTP-undersystemet som standard deaktiveret. For at udføre Erlang-kode fra autentificerede brugere via SSH kræves nu ændringer i indstillingerne. Hybridnøgleudvekslingsalgoritmen mlkem768x25519-sha256 er aktiv som standard i SSH.
- I biblioteket SSL i standardkonfigurationen er den mest prioriterede hybride nøgleudvekslingsalgoritme ‘x25519mlkem768’ indstillet, som er kvante-resistent og en kombination af X25519 ECDH og ML-KEM algoritmen (CRYSTALS-Kyber).
- Der er tilføjet attributten "-unsafe" til at markere funktioner som usikre (unsafe). I Erlang/OTP-biblioteket er sådanne funktioner markeret, og kompilatoren giver nu en advarsel for dem. Muligheden for at spore kald til usikre funktioner og funktioner uden dokumentation er blevet tilføjet gennem xref.
- For korrekt funktion af tredjeparts byggesværktøjer som Rebar3 udføres filtrering af ignorerede kald (ignore_xref) nu direkte inden for xref.
- Der er tilføjet modulet ct_doctest til automatisk test af kodeeksempler fra dokumentationen.
- Der er tilføjet modulet io_ansi til at skabe konsolapplikationer, der understøtter substitution af ANSI-koder (Virtual Terminal Sequences) i terminalen, f.eks. til at ændre stil og farve på tekst.
- Når der søges efter filstier med kode (PATH), er den aktuelle mappe (".") flyttet fra første til sidste position i listen og kontrolleres nu sidst.
- Der er stoppet dannelsen af 32-bit builds til Windows.
- Der er implementeret en fuldt separat datatype til poster (native record, EEP-79), som kan bruges i stedet for traditionelle poster baseret på tupler.
- Der er tilføjet en begrænser "is_integer/3" til at kontrollere, om heltal tilhører et interval (f.eks. "is_integer(I, 0, 100)").
- Generatormoduler med multiple værdier er implementeret (EEP-78), som returnerer flere elementer pr. iteration (f.eks. "[-I, I || I < 42 || K").
Kilde: opennet.ru
