Релиз Firefox 121

Состоялся релиз web-браузера Firefox 121 и сформировано обновление ветки с длительным сроком поддержки — 115.6.0. На стадию бета-тестирования переведена ветка Firefox 122, релиз которой намечен на 23 января.

Основные новшества в Firefox 121:

  • В Linux по умолчанию включено использование композитного сервера Wayland вместо XWayland, что позволило решить проблемы с работой тачпада, поддержкой жестов на сенсорных экранах и выставлением DPI для каждого монитора в окружениях на базе Wayland. Использование Wayland также демонстрирует повышение производительности работы с графикой. При этом из-за ограничений протокола Wayland имеются проблемы с выводом окна «картинка в картинке» на передний план.
  • В настройках в секции Browsing добавлена опция для принудительного включения подчёркивания ссылок, независимо от настроек CSS на сайте (может быть полезно для людей, имеющих проблемы с восприятием цветов).
  • В просмотрщике PDF реализовано отображение плавающей кнопки с корзиной для удаления рисунков, текста и изображений, добавленных при редактировании PDF.

  • На платформе Windows реализован вывод запроса для установки пакета AV1 Video Extension, реализующего возможность аппаратного ускорения декодирования видео в формате AV1.
  • На платформе macOS добавлена поддержка управления при помощи голосовых команд.
  • Добавлен CSS-псевдокласс «:has()» для проверки с учётом наличия дочернего элемента в родительском. Например, «p:has(span)» охватывает элементы ‹p›, внутри которых имеется элемент ‹span›.
  • В CSS-свойство text-indent добавлены параметры «hanging» и «each-line», упрощающие оформление стилей абзацев, например, с библиографиями и стихами. Также разрешено комбинирование нескольких параметров text-indent в одном выражении, например «text-indent: 3em hanging each-line».
  • В CSS-свойство text-wrap добавлены параметры: «balance» (позволяет улучшить единообразное оформление многострочных текстовых блоков, таких как длинные заголовки) и «stable» (запрещает переформатирование контента во время его редактирования).
  • В функцию Date.parse() добавлена поддержка дополнительных форматов, таких как MMM-DD-YYYY, указание миллисекунд, задание дня недели перед датой («Wed, 1970-01-01») и игнорирование ошибок в написании дня недели («foo 1970-01-01»).
  • Добавлена поддержка отложенной загрузки iframe-блоков, позволяющей не загружать содержимое, находящиеся вне видимой области, до тех пор, пока пользователь не прокрутит страницу в место, непосредственно предшествующее элементу. Для управления отложенной загрузкой страниц в тег «iframe» добавлен атрибут «loading», который может принимать значение «lazy» (‹iframe loading=lazy›). Отложенная загрузка позволит сократить потребление памяти, снизить трафик и увеличить скорость начального открытия страниц.
  • Добавлен статический метод Promise.withResolvers(), позволяющий использовать callback-функции resolve и reject для задания обработчиков, разрешающих или отклоняющих определения Promise, после его создания.
  • В WebAssembly добавлена поддержка инструкций return_call и return_call_indirect для оптимизации хвостовой рекурсии (tail-call), позволяющие снизить потребление памяти в стеке, повысить производительность и улучшить поддержку функциональных языков программирования.
  • В API WebTransport, предназначенный для отправки и приёма данных между браузером и сервером, добавлено свойство sendOrder, позволяющее выставлять относительные приоритеты для двунаправленных потоков.

    В инструментах для web-разработчиков проведена работа по повышению удобства людей с ограниченными возможностями, например, унифицирован и увеличен индикатор фокуса в разных инструментах. Во встроенном отладчике JavaScript добавлена опция «Pause on debugger statement» для отключения отладчика.

  • В версии для Android устранены аварийные завершения, проявляющиеся при копировании в буфер обмена и выводе полноэкранного уведомления. Решены проблемы с отрисовкой на смартфонах Google Pixel 8 и Samsung Galaxy S22. Введён в строй каталог дополнений. В режиме приватного просмотра обеспечена блокировка сторонних Cookie и доступа к локальному хранилищу. В режиме ручной настройки Enhanced Tracking Protection включена блокировка кода для отслеживания перемещений, используемого в социальных сетях.

Кроме новшеств и исправления ошибок в Firefox 120 устранено 27 уязвимостей. 13 уязвимостей (11 объединено под CVE-2023-6864 и CVE-2023-6873), которые помечены как опасные, вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц. Ещё одна опасная уязвимость (CVE-2023-6135) связана с подверженностью библиотеки NSS атаке «Minerva«, позволяющей воссоздать закрытый ключ через анализ данных по сторонним каналам.

Источник: http://www.opennet.ru/opennews/art.shtml?num=60310