Излезе функционалният език за програмиране Erlang 29, насочен към разработката на разпределени отказоустойчиви приложения, осигуряващи паралелна обработка на заявки в реално време. Езикът придоби популярност в области като телекомуникации, банкови системи, електронна търговия, компютърна телефония и организация на незабавен обмен на съобщения. Паралелно с това излезе и релиз на OTP 29 (Open Telecom Platform) — комплект от библиотеки и компоненти за разработка на разпределени системи на езика Erlang.
Основни нововъведения:
- В SSH-сервера по подразбиране са деактивирани услугите shell и exec, както и подсистемата SFTP. За изпълнение на Erlang код от автентифицирани потребители през SSH вече е необходимо да се променят настройките. В SSH по подразбиране е активиран хибриден алгоритъм за обмен на ключове mlkem768x25519-sha256.
- В библиотеката SSL В конфигурацията по подразбиране е зададен най-приоритетният хибриден алгоритъм за обмен на ключове „x25519mlkem768“, устойчив на подбора на квантов компютър и представлява комбинация от X25519 ECDH и алгоритъма ML-KEM (CRYSTALS-Kyber).
- Добавен е атрибутът «-unsafe» за маркиране на функциите като небезопасни (unsafe). В библиотеката Erlang/OTP подобни функции са маркирани и за тях компилаторът сега издава предупреждение. Добавена е възможността за следене чрез xref на извикванията на небезопасни функции и функции без документация.
- За правилната работа на външни инструменти за изграждане, като Rebar3, филтрирането на игнорирани извиквания (ignore_xref) сега се извършва директно в xref.
- Добавен е модул ct_doctest за автоматично тестване на примери с код от документацията.
- Добавен е модул io_ansi за създаване на конзолни приложения, поддържащи подмяна на ANSI последователности в терминала (Virtual Terminal Sequences), например за промяна на стила и цвета на текста.
- При търсене на файлови пътища с код (PATH) текущата директория («.») е преместена от първа на последна позиция в списъка и сега се проверява в последния момент.
- Спиреше създаването на 32-битови версии за Windows.
- Реализиран е пълен отделен тип данни за записи (native record, EEP-79), който може да се използва вместо традиционните записи, базирани на кортежи.
- Добавен е ограничител «is_integer/3» за проверка на цели числа за принадлежност на диапазон (например, «is_integer(I, 0, 100)»).
- Реализирани са генератори на списъци с множество стойности (EEP-78), които връщат няколко елемента на итерация (например, «[-I, I || I 42 || K
Източник: opennet.ru
