Главные релизы недели: Angular 13 лишился поддержки IE11, долгожданный анализатор PHP-кода и драйвер NTFS в Linux
Линус Торвальдс презентовал новую версию ядра Linux 5.15 с драйвером NTFS, спустя шесть лет разработки вышел анализатор кода PHPStan, а новый Firefox стал меньше потреблять памяти JavaScript. Какими еще релизами была богата прошедшая неделя — читайте далее.
Angular 13
Команда фреймворка Angular выпустил новую версию, которая, по словам создателей, содержит множество обновлений и функций. Обновление можно получить, запустив ng update
в проекте. Также можно обратиться к руководству по обновлению, которое доступно на официальном сайте продукта. В новой версии основной упор был сделан на расширении и оптимизации возможностей движка Ivy.
Основные изменения и обновления:
- движок представления View Engine больше не доступен. Его удаление означает, что фреймворк может в будущем уменьшить зависимость от компилятора совместимости с Angular
ngcc
; - оптимизация и модернизация Angular Package Format. В первом случае команда продукта удалила старые форматы вывода, в том числе метаданные, специфичные для View Engine. Чтобы модернизировать APF создатели стандартизировали более современные форматы JavaScript, такие как ES2020;
- благодаря внедрению нового API, для инициализации компонента больше не нужно использовать
ComponentFactoryResolver
. Вместо него движок Ivy позволяет использоватьViewContrainerRef.createComponent
. Например, вместо такого кода:
@Directive({ … }) export class MyDirective { constructor(private viewContainerRef: ViewContainerRef, private componentFactoryResolver: ComponentFactoryResolver) {} createMyComponent() { const componentFactory = this.componentFactoryResolver. resolveComponentFactory(MyComponent); this.viewContainerRef.createComponent(componentFactory); } }
Можно записать так:
@Directive({ … }) export class MyDirective { constructor(private viewContainerRef: ViewContainerRef) {} createMyComponent() { this.viewContainerRef.createComponent(MyComponent); } }
- в Angular 13 прекращена поддержка браузера Internet Explorer 11. Удаление браузера позволит разработчикам использовать современные функции браузера, такие как переменные CSS и веб-анимацию через собственные веб-API. Разработчики, которым по-прежнему нужна поддержка пользователей Internet Explorer 11 для существующих проектов, могут продолжать использовать Angular 12. Он будет доступен до ноября 2022 года;
- по умолчанию включено кэширование сборок проектов;
- RxJS 7.4 теперь используется по умолчанию для приложений, созданных с помощью
ng new
. Существующие приложения, работающие на RxJS v6.x, необходимо обновить вручную с помощью командыnpm install [email protected]
;
Полный перечень изменений доступен по ссылке.
Linux 5.15
31 октября в Хэллоуин Линус Торвальдс сообщил о выходе следующей версии основной ветки ядра Linux 5.15, которая вышла спустя два месяца после разработки. И если предыдущая версия была сфокусирована на улучшения для систем на основе ARM, в новой акцент сделан сразу на нескольких значительных изменения. Вот некоторые из них:
- в основную ветку был добавлен драйвер NTFS от Paragon Software, который теперь можно использовать вместо драйвера NTFS-3G. О необходимости внедрения NTFS Линус Торвальдс говорил еще в июле;
- в файловой системе Btrfs реализована поддержка механизма
fs-verity
; - добавлена поддержка мониторинга температуры для APU на основе AMD Zen 3;
- в XFS реализован механизм отложенной деактивации
inode
и поддержка отложенной установки и удаления атрибутов файлов; - доработана поддержка Intel Alder Lake;
- в файловой системе EROFS внедрена поддержка прямого ввода/вывода для файлов, сохраненных без сжатия;
- улучшена поддержка Apple M1;
- ядро оптимизировано для
ext4
; - удалена подсистема LightNVM;
- добавлена поддержка EFI-разделов с нестандартным размещением таблиц GPT.
Полный перечень изменений доступен по ссылке.
PHP Stan 1.0
Спустя шесть лет разработки состоялся первый релиз стабильной версии статического анализатора PHPStan 1.0 с открытым исходным кодом, призванного находить ошибки в коде на языке программирования PHP без его выполнения и unit-тестов.
Инструмент имеет десять уровней проверки, в которых каждый последующий уровень расширяет возможности предыдущего и жестче анализирует код. Подробнее об уровнях можно почитать здесь.
Какого рода ошибки выявляет PHPStan:
- существование и доступность вызываемых методов и функций;
- существования переменных с учетом блоков, формируемых операторами ветвления и циклами;
- существование классов, используемых в языковых конструкциях;
- проверка возвращения методом данных с тем же типом.
Код проекта распространяется под лицензией MIT. Загрузить исходный код PHPStan можно в репозитории проекта. Больше информации о релизе — в блоге продукта.
Firefox 94
Компания Mozilla выпустила новую стабильную версию браузера Firefox 94 с массой новых функций, исправленными ошибками и улучшениями безопасности.
Основные изменения и обновления:
- сезонные цветовые схемы. Всего их 18 штук. Чтобы переключаться между ними:
- откройте внутреннюю страницу
about:addons
; - переключитесь на вкладку «Темы»;
- внизу найдите раздел «Расцветки».
- откройте внутреннюю страницу
- поддержка страницы
about: unloads
, предназначенной для выгрузки вкладок вручную и освобождения системных ресурсов; - изоляция сайтов, помогающая отражать атаки по побочным каналам;
- режим пониженного энергопотребления Apple для полноэкранного видео на Twitch и YouTube в Firefox macOS;
- для разработчиков реализована поддержка добавления
partitionKey
— первичный URL-адреса файла cookie; - правило
@import
теперь поддерживает функциюlayout()
; - уменьшено потребление памяти JavaScript;
- после закрытия инструментов разработчика освобождается больше памяти;
- новый поддерживаемый статистический метод
HTMLScriptElement.supports()
.
По заявлению создателей браузера, новая версия Firefox 95 выйдет 7 декабря.
Stencil 2.10
Stencil — это набор инструментов для создания многоразовых масштабируемых систем проектирования. Они отличаются быстротой и полностью основаны на стандартах веб-компонентов, которые работают в каждом браузере.
Особенности многоразового компилятора веб-компонентов:
- быстрая настройка;
- конвейер асинхронного рендеринга;
- поддержка TypeScript;
- односторонняя привязка данных;
- предварительная отрисовка компонентов;
- простая отложенная загрузка компонентов;
- поддержка JSX;
- компоненты без зависимостей.
В новой версии:
- больший контроль над теневой DOM, что способствует меньше количеству циклов рендеринга;
- поддержка TypeScript 4.3.
Подробнее о нововведениях можно почитать по ссылке.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: