Erlang 29, ett funktionellt programmeringsspråk utformat för att utveckla distribuerade, feltoleranta applikationer som stöder parallell realtidsbehandling, har släppts. Språket har fått ett brett genomslag inom områden som telekommunikation, bank, e-handel, datortelefoni och snabbmeddelanden. OTP 29 (Open Telecom Platform), en kompletterande uppsättning bibliotek och komponenter för att utveckla distribuerade system i Erlang, släpptes samtidigt.
Huvudsakliga innovationer:
- Shell- och exec-tjänsterna, såväl som SFTP-undersystemet, är inaktiverade som standard i SSH-servern. Att köra Erlang-kod av autentiserade användare via SSH kräver nu en konfigurationsändring. Hybridnyckelutbytesalgoritmen mlkem768x25519-sha256 är aktiverad som standard i SSH.
- SSL-bibliotekets standardkonfiguration ger högsta prioritet till den kvantresistenta hybridnyckelutbytesalgoritmen "x25519mlkem768", som är en kombination av X25519 ECDH och ML-KEM (CRYSTALS-Kyber)-algoritmen.
- Attributet "-unsafe" har lagts till för att markera funktioner som osäkra. I Erlang/OTP-biblioteket är sådana funktioner markerade, och kompilatorn utfärdar nu en varning för dem. Möjligheten att spåra anrop till osäkra funktioner och funktioner utan dokumentation via xref har lagts till.
- För att säkerställa korrekt drift av tredjepartsverktyg som Rebar3 utförs filtrering av ignorerade anrop (ignore_xref) nu direkt inuti xref.
- Lade till modulen ct_doctest för automatisk testning av kodexempel från dokumentationen.
- Lade till modulen io_ansi för att skapa konsolapplikationer som stöder substitution av ANSI-sekvenser (Virtual Terminal Sequences) i terminalen, till exempel för att ändra stil och färg på text.
- När man söker efter filsökvägar med kod (PATH) har den aktuella katalogen ("."") flyttats från den första till den sista positionen i listan och kontrolleras nu sist.
- Slutade generera 32-bitars sammansättningar för Windows.
- En fullfjädrad separat datatyp för poster (native record, EEP-79) har implementerats, vilken kan användas istället för traditionella poster byggda på tupler.
- Lade till kontrollverktyget "is_integer/3" för att kontrollera om heltal ligger inom ett intervall (t.ex. "is_integer(I, 0, 100)").
- Implementerade flervärdeslistförståelser (EEP-78) som returnerar flera objekt per iteration (t.ex. "[-I, I || I 42 || K
Källa: opennet.ru
