Главные релизы недели: платформа для контроля качества кода от JetBrains, Rust 2021 и стабильный Chrome 95
Стабильная версия Chrome 95, новый Node.js и язык ограничения данных с открытым исходным кодом. Редакция Highload продолжает рассказывать про лучшие релизы недели. Что еще нового вышло за прошедшие семь дней — читайте далее.
Node.js 17
Предыдущая версия Node.js получила поддержку LTS и до сих пор рекомендуется для производственных развертываний, в то время как Node.js 17 предназначена для тестирования и отзывов о новых функциях и функциях для будущих релизов.
В 17-й версии платформы для выполнения сетевых приложений на языке программирования JavaScript:
- криптографическая библиотека OpenSSL обновлена до версии 3.0;
- добавлена поддержка QUIC-протокола;
- для чтения данных из Readable-потока добавлен Readline Promise API. Пример ниже иллюстрирует вариант использования модуля:
import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'process'; const rl = readline.createInterface({ input, output }); const answer = await rl.question('What do you think of Node.js? '); console.log(`Thank you for your valuable feedback: ${answer}`); rl.close();
- движок V8 обновлен до версии 9,5;
- улучшена производительность.
Больше информации о Node.js 17 доступно по ссылке.
Chrome 95
Состоялся релиз стабильной версии Chrome 95, основным новшеством которой стало появление расширения интерфейса WebAuth. Сего помощью банки и платежные системы могут требовать биометрического подтверждения при покупках в сети для безопасности переводов.
Также в новой версии:
- полностью удалена поддержка FTP;
- упрощен интерфейс поиска файла в меню команд;
- появился новый API-интерфейс EyeDropper для создания пользовательских палитр цветов;
- URL Patter — как новый API, который обеспечивает поддержку операционной системы (ОС) для сопоставления URL-адресов с предоставленным шаблоном;
- сделаны первые шаги к замене старого File System Access API на новый Storage Foundation API;
- в инструментах разработчика панель Lighthouse обновлена до версии Lighthouse4.
Что нового в Chrome DevTools можно узнать из видео ниже:
Дополнительная информация обо всех изменениях в Chrome 95 доступна на официальном сайте и в блоге о релизах.
Rust 1.56
Команда языка программирования Rust анонсировала новую версию, которая также знаменуют стабилизацию изменений, предложенных за последние три года, и обозначена как Rust 2021. Если у вас установлена предыдущая версия языка программирования через rustup
, получить новую версию можно с помощью следующего кода:
$ rustup update stable
Для сохранения совместимости разработчики могут использовать в своих проектах метки «2015», «2018» и «2021».
Что нового:
- компилятор переведен на использование версии LLVM 13;
- реализован второй уровень поддержки платформы
aarch64-apple-ios-sim
и третий уровень для платформpowerpc-unknown-freebs
иriscv32imc-espidf
; - в
Cargo.toml
в секции “[package]” добавлено полеrust-version
, через которое можно определить минимально поддерживаемую версию языка программирования для crate-пакета; - в пакетном менеджере cargo включена по умолчанию вторая версия определителя доступных возможностей;
- Макросы
panic!(..)
иassert!(expr, ..)
теперь всегда используютformat_args!(..)
для форматирования строк по аналогии с println!().
Больше информации о Rust 1.56 по ссылке.
Cue
Cue — это новый язык ограничения данных с открытым исходным кодом, который, по словам его создателя, призван упростить задачи, связанные с определением и использованием данных.
Язык подойдет, если нужно:
- создать подробный алгоритм проверки данных;
- сократить количество шаблонов в данных;
- извлечь алгоритм кода;
- сгенерировать определения типов и код валидации;
- объединить JSON;
- определять и запускать декларативные скрипты.
Язык интегрируется с:
- JSON;
- Go;
- Protocol Buffers;
- YAML;
- Форматом описания API для REST Open API;
- Kubernetes.
Cue проходит альфа-тестирования и доступен в версии 0.4.0. Больше информации о нем на официальном сайте и в репозитории проекта.
Платформа для контроля качества кода от JetBrains
Компания JetBrains запустила платформу для контроля качества кода во время непрерывной интеграции. Инструмент позволяет контролировать код, который пользователь пишет сам и даже тот, который пишут коллеги по команде.
Платформа позволяет:
- анализировать проект;
- выбирать актуальные проверки;
- исправлять ошибки в IDE;
- сортировать задачи по приоритету;
- устанавливать критерии качества;
- собирать воедино результаты из других линтеров.
Возможности Quodana:
- интеграция с CI-пайплайном. Если у CI-системы расширяемый интерфейс, платформа легко интегрируется в него, в противном случае можно использовать Quodana через веб-сервер;
- интеграция с IDE. Можно исправить обнаруженные проблемы прямо в IntelliJ IDEA, запустить и настроить инспекции кода, а также импортировать собственные профили проверки.
- линтеры Qodana способны генерировать и обрабатывать отчеты универсального для обмена результатами статистического анализа формата SARIF.
Как работает Qodana, смотрите на видео ниже:
Самые обсуждаемые статьи