Објављен је Ерланг 29, функционални програмски језик дизајниран за развој дистрибуираних, апликација отпорних на грешке које подржавају паралелну обраду у реалном времену. Језик је нашао широку примену у областима као што су телекомуникације, банкарство, електронска трговина, рачунарска телефонија и размена тренутних порука. ОТП 29 (Отворена телекомуникациона платформа), пратећи скуп библиотека и компоненти за развој дистрибуираних система у Ерлангу, објављен је истовремено.
Главне иновације:
- Shell и exec сервиси, као и SFTP подсистем, су подразумевано онемогућени на SSH серверу. Извршавање Erlang кода од стране аутентификованих корисника путем SSH сада захтева промену конфигурације. Хибридни алгоритам за размену кључева mlkem768x25519-sha256 је подразумевано омогућен на SSH.
- Подразумевана конфигурација SSL библиотеке поставља највиши приоритет на квантно отпорни хибридни алгоритам за размену кључева „x25519mlkem768“, који је комбинација X25519 ECDH и ML-KEM (CRYSTALS-Kyber) алгоритма.
- Додат је атрибут „-unsafe“ за означавање функција као небезбедних. У Erlang/OTP библиотеци, такве функције су означене, а компајлер сада издаје упозорење за њих. Додата је могућност праћења позива небезбедних функција и функција без документације путем xref-а.
- Да би се осигурао правилан рад алата за изградњу трећих страна, као што је Rebar3, филтрирање игнорисаних позива (ignore_xref) се сада врши директно унутар xref-а.
- Додат је модул ct_doctest за аутоматско тестирање примера кода из документације.
- Додат је модул io_ansi за креирање конзолних апликација које подржавају замену ANSI секвенци (виртуелних терминалних секвенци) у терминалу, на пример, да би се променио стил и боја текста.
- Приликом претраживања путања датотека помоћу кода (PATH), тренутни директоријум ("."") је померен са прве на последњу позицију на листи и сада се проверава последњи.
- Заустављено је генерисање 32-битних склопова за Windows.
- Имплементиран је потпуно развијен засебан тип података за записе (изворни запис, EEP-79), који се може користити уместо традиционалних записа изграђених на торкама.
- Додата је провера „is_integer/3“ за проверу да ли су цели бројеви унутар опсега (нпр. „is_integer(I, 0, 100)“).
- Имплементиране су листе са вишеструким вредностима (EEP-78) које враћају више ставки по итерацији (нпр. "[-I, I || I 42 || K
Извор: опеннет.ру
