Erlang OTP 28.1 - это свежий шаг в развитии одной из самых надежных и мощных платформ для построения распределенных систем и приложений с высокой доступностью. Эта версия стала обновлением с акцентом на поддержку современных криптографических протоколов, стабильность работы и улучшения в ряде ключевых модулей, используемых тысячами разработчиков по всему миру. В данной публикации мы подробно рассмотрим основные нововведения и изменения в Erlang OTP 28.1, а также расскажем о важности этих обновлений для разработчиков и компаний, эксплуатирующих критически важные системы.
Одно из наиболее заметных улучшений - это расширенная поддержка квантовой криптографии, которая интегрирована в приложения ssl и public_key. В частности, теперь доступны алгоритмы ML-DSA (Multi-Level Digital Signature Algorithm) и ML-KEM (Multi-Level Key Encapsulation Mechanism), что повышает устойчивость систем к новым видам угроз, связанным с квантовыми вычислениями. Эти криптографические расширения реализованы на базе OpenSSL 3.5 и позволяют безопасно генерировать и обмениваться зашифрованными ключами, что крайне важно для построения защищенных коммуникаций в будущем. Квантовая криптография представляет собой новую веху в области безопасности, и поддержка ее стандартов в OTP гарантирует, что приложения на Erlang готовы к вызовам завтрашнего дня, обеспечивая высокий уровень защиты данных и коммуникаций.
Помимо криптографических новшеств, в Erlang OTP 28.1 были исправлены ошибки, влияющие на стабильность работы и безопасность TLS-серверов. В частности, теперь TLS-серверы выполняют раннюю проверку корректности файлов PEM, что предотвращает запуск с некорректными сертификатами и способствует более надежной работе сетевых сервисов. Не менее важным стало улучшение работы внутренних модулей inet_dns_tsig и inet_res, отвечающих за DNS-запросы с использованием TSIG (Transaction Signature). В новой версии исправлена логика проверки временной метки, что делает работу с DNS более соответствующей стандартам и исключает ошибки аутентификации, вызванные использованием неверных атомов ошибок.
Следует отметить, что исправления затронули некоторые коды ошибок, которые были не задокументированы и теперь приведены в соответствие с официальными спецификациями RFC. В результате программы и скрипты, зависящие от предыдущих значений, могут нуждаться в адаптации, что стоит учитывать при обновлении на OTP 28.1. В новой версии появилась поддержка дополнительных алгоритмов хеширования SHA2 с размерами 512/224 и 512/256 бит. Это расширение позволяет использовать более гибкие механизмы контроля целостности и подписи данных, что важно для интеграции с современными стандартами и требованиями безопасности.
Компилятор Erlang также получил ряд серьезных исправлений, направленных на исключение сбоев при компиляции сложных конструкций кода. В частности, устранены ошибки, связанные с некорректным порядком применения патчей при деструктивных обновлениях, а также улучшена обработка конструкций с картами и битовой синтаксисом. Эти изменения повышают стабильность процесса компиляции и обещают сократить время разработки за счет уменьшения количества неожиданных ошибок. Пользователям, использующим обширные системы с множестов узлов Erlang, будет полезно новое разрешение в shell: теперь удаленная консоль может корректно завершать свою работу, закрывая поток ввода, без принудительного завершения рабочего узла. Это улучшение удобно для администрирования распределенных сред, позволяя безопасно отключаться от управляющего узла без потери данных и состояния.
В Erlang/OTP 28.1 уделено внимание и пользовательскому опыту. Улучшена отрисовка некоторых таблиц в документации, что делает работу с руководствами более комфортной и информативной. В командной оболочке добавлена возможность отключать предупреждения о долгих командах, что делает работу разработчиков более гибкой и менее отвлекающей. Для любителей тестирования стоит отметить, что common_test версии 1.
29 теперь можно применять независимо, упрощая обновления и интеграцию в проекты без необходимости обновлять весь стек. Немалое внимание в этой версии уделено совместимости с операционными системами семейства Windows: теперь NIF модули и связанные драйверы успешно загружаются при работе из исходников Erlang на Windows, что значительно облегчает разработку и тестирование на этой платформе. Среди мелких, но важных улучшений, стоит упомянуть возможность передачи опции экспорта и импорта скомпилированных регулярных выражений между разными экземлярами Erlang, что облегчает масштабирование и распределение нагрузки в приложениях с обширной работой с текстовыми шаблонами. В целом, Erlang OTP 28.1 отражает стратегию непрерывного совершенствования платформы с поддержкой актуальных технологий безопасности и удобства использования.
Эта версия обеспечивает не только высокую надежность и производительность, но и готовит почву для будущих инноваций, связанных с квантовой криптографией и распределенными вычислениями. Для компаний, работающих в сферах телекоммуникаций, финансов, масштабируемого WEB и IoT, обновление до OTP 28.1 станет естественным шагом к повышению конкурентоспособности и безопасности решений. Внимание к таким аспектам, как ранняя обработка ошибок в TLS, усовершенствования в разрешениях DNS, а также улучшения в средствах разработки и отладки, делают эту версию одной из самых продвинутых на сегодняшний день. Благодаря открытости Erlang и поддержке со стороны огромного сообщества, включая активное участие разработчиков, Erlang OTP 28.
1 продолжает удерживать позицию платформы номер один для создания отказоустойчивых, масштабируемых и безопасных систем. Принимая во внимание быстрые темпы развития технологий, установка и адаптация к последним изменениям становятся необходимостью для тех, кто эксплуатирует критически важные распределенные системы. Erlang/OTP 28.1 предоставляет надежные инструменты для отображения высокого уровня безопасности, производительности и функциональной полноты - основополагающих факторов в цифровую эпоху. .