Rust 1.84 добавляет API для строгих доказательств
Вышел Rust 1.84 с изменениями, включая переход на новый решатель признаков и набор API Strict Provenance.

Вышел Express.js 5, спустя десять лет после выхода Express.js 4. В новом выпуске отказались от поддержки устаревших версий Node.js, были решены проблемы безопасности и упрощено обслуживание.
Express.js (часто упоминается просто как Express) описывается как быстрый, не требующий вмешательства, минималистичный веб-фреймворк для Node.js, предоставляющий надежный набор функций для веб- и мобильных приложений.
Он может использоваться для построения RESTful API с помощью Node.js, и имеет большое значение как стандартный серверный фреймворк для Node.js, а также как back-end компонент для стека MEAN наряду с MongoDB в качестве базы данных и веб-фреймворком Angular JavaScript. Express.js был создан Ти Джеем Головайчуком, известным разработчиком с открытым исходным кодом, который участвовал в создании таких проектов, как Jade, Mocha, Stylus и Koa. Он был вдохновлен небольшим и гибким веб-фреймворком Sinatra на основе Ruby, поэтому основной фреймворк Express.js минимален, а дополнительные функции доступны в виде плагинов. Среди популярных промежуточных модулей Express - body-parser, cookie-parser, cors, helmet, morgan и passport.
Разработчики говорят, что новый релиз был задуман как скучный, с целью разблокировать экосистему и обеспечить более значимые изменения в будущих релизах. Они также говорят, что это сигнал экосистеме Node.js о том, что Express снова движется.
Значительная часть работы по возрождению Express.js была связана с безопасностью, начиная с аудита безопасности и работы над безопасностью в частных форках, результаты которой теперь включены в новый релиз.
Одним из изменений, связанных с безопасностью, является отказ от поддержки регулярных выражений «подвыражений» (regex). Команда говорит, что, к сожалению, очень легко написать регулярное выражение, которое будет иметь экспоненциальное время при разборе входных данных: Страшная атака на отказ в обслуживании с помощью регулярных выражений (ReDoS). По их словам, предотвратить это очень сложно, но, будучи библиотекой, преобразующей строки в регулярные выражения, команда берет на себя ответственность за такие аспекты безопасности.
В этом выпуске также больше не поддерживаются упорядоченные числовые параметры. В Express v4 числовые параметры можно было получить с помощью групп захвата regex, но теперь все параметры должны быть именованными.
В этом выпуске прекращена поддержка Node.js версий до v18. По словам разработчиков, поддержка старых версий Node.js сдерживала многие критические изменения в производительности и удобстве обслуживания. Это изменение также позволяет сделать более стабильной и удобной непрерывную интеграцию (CI), внедрить новые возможности языка и времени выполнения, а также отказаться от зависимостей, которые больше не нужны.
Поддержка обещаний была решена в части добавления поддержки возвращенных отклоненных обещаний из ошибок, возникающих в промежуточном ПО. Это не включает вызов next из возвращенных разрешенных обещаний. Команда признает, что еще многое предстоит добавить, и что они работают над другими аспектами.
Кроме того, внесен ряд изменений в парсер тел, а из Express v5 удален ряд устаревших сигнатур методов, чтобы сделать API более предсказуемым и простым в использовании.
Express.js 5 доступен уже сейчас.
Вышел Rust 1.84 с изменениями, включая переход на новый решатель признаков и набор API Strict Provenance.
Выпущен Apache Struts 7. В этой версии добавлена поддержка JEE 9+, а также реализованы более строгие настройки безопасности.
Если Oracle добровольно не откажется от своих прав на название "JavaScript" до 3 февраля, борьба за торговую марку перейдет в суд.