Состоялся релиз web-браузера Firefox 85. Кроме того, сформировано обновление ветки с длительным сроком поддержки 78.7.0. На стадию бета-тестирования перешла ветка Firefox 86, релиз которой намечен на 23 февраля.

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

  • Добавлена дополнительная защита от методов отслеживания перемещений пользователя между сайтами, основанных на хранении идентификаторов в областях, не предназначенных для постоянного хранения информации («Supercookies»). Защита основана на применении сегментирования сети (Network Partitioning), суть которого в добавлении дополнительного признака к ключу, применяемому для извлечения объектов из браузерных кэшей.

    В частности, помимо URL добавлена привязка к первичному домену, с которого открыта основная страница, что ограничивает область охвата кэша для скриптов отслеживания перемещений только текущим сайтом (скрипт из iframe не сможет проверить загружался ли ресурс с другого сайта). Ценой сегментирования является снижение эффективности кэширования, приводящее к незначительному увеличению времени загрузки страницы (максимум на 1.32%, но для 80% сайтов на 0.09-0.75%). Для выключения нового метода защиты в about:config предусмотрена настройка privacy.partition.network_state.

  • Упрощён интерфейс для сохранения закладок на сайты и доступа к
    закладкам. На странице открытия новой вкладки по умолчанию включён показ панели закладок. По умолчанию предлагается сохранять закладки в панель закладок, а не в раздел «Other bookmarks».
    Кроме того, Firefox теперь запоминает выбранное в прошлый раз местоположение закладок и при попытке сохранения новой закладки предлагает его по умолчанию.

  • В менеджере паролей предоставлена возможность удаления разом всех отфильтрованных учётных записей, без необходимости отдельного удаления каждого элемента, показанного в списке. Функция доступна через контекстное меню «…».

  • Вместо механизма ESNI (Encrypted Server Name Indication) для шифрования информации о параметрах TLS-сеансов, таких как запрошенное доменное имя, реализована поддержка спецификации ECH (Encrypted Client Hello), которая продолжает развитие ESNI и находится на стадии черновика, претендующего на роль стандарта IETF. Ключевое отличие ECH от ESNI в том, что в ECH вместо отдельного поля шифруется всё сообщение ClientHello, что позволяет блокировать утечки через поля, которые не охватывает ESNI. Для управления включением ECH в about:config предложены настройки «network.dns.echconfig.enabled» и «network.dns.use_https_rr_as_altsvc».
  • В Linux по умолчанию активирован движок композитинга WebRender для сеанса пользовательского окружения GNOME, использующего протокол Wayland. В прошлом выпуске поддержка WebRender была активирована для GNOME в окружении X11. Использование WebRender в Linux пока ограничено видеокартами AMD и Intel, так как при работе в системах с проприетарным драйвером NVIDIA и свободным драйвером Noveau наблюдаются нерешённые проблемы. WebRender написан на языке Rust и позволяет добиться существенного увеличения скорости отрисовки и снижения нагрузки на CPU за счёт выноса на сторону GPU операций отрисовки содержимого страницы, которые реализованы через выполняемые в GPU шейдеры. Для принудительного включения в about:config следует активировать настройку «gfx.webrender.enabled» или запустить Firefox с выставленной переменной окружения MOZ_WEBRENDER=1.
  • Предоставлена возможность отключения переопределения дополнениями домашней страницы и экрана открытия новой вкладки без отключения всего дополнения. В настройках метода обработки новой вкладки или домашней страницы (about:preferences#home) теперь можно явно выбрать дополнение в качестве обработчика или вернуть обработчики по умолчанию.
  • При выводе на печать появилась возможность указания нескольких произвольных диапазонов страниц, разделённых запятой, например, «1-5,10-15».
  • Прекращена поддержка плагина Adobe Flash. Сопровождение технологии Flash было официально завершено компанией Adobe 31 декабря 2020 года. Напомним, что возможность запуска плагина Adobe Flash была отключена по умолчанию ещё в Firеfox 69, но сохранялась опция для индивидуального включения Flash для конкретных сайтов. Flash оставался последним NPAPI-плагином, поддержка которого сохранялась в Firefox после перевода API NPAPI в разряд устаревших. Поддержка Silverlight, Java, Unity, Gnome Shell Integration и NPAPI-плагинов с поддержкой мультимедийных кодеков была прекращена в Firefox 52, выпущенном в 2016 году.

  • Добавлен CSS-псевдокласс «:focus-visible», который использует ту же эвристику, что применяется браузером при принятии решения о показе индикатора смены фокуса. Ранее доступный псевдокласс «:focus» не делает различия между сменой фокуса через клавиатуру или мышь. При помощи «:focus-visible» можно организовать показ разных индикаторов фокуса при активации мышью или клавиатурой. Например, можно привязать изменение стиля при наведении фокуса мышью, без клика.

    Для отладки изменения фокуса в интерфейс инспектирования страниц (Page Inspector/Rules View) добавлен переключатель, позволяющий включать стили «:focus-visible» для выбранных элементов в дополнение к псевдоклассам «:hover», «:active», «:focus», «:focus-within» и «:visited».

  • В предоставляемом в web-конcоли многострочном режиме редактирования кода появилась кнопка «{}» для форматирования конструкций JavaScript.

  • В тег link добавлена поддержка атрибута rel=’preload’, управляющего упреждающей загрузкой контента (например, <link rel=»preload» href=»style.css» as=»style»>). Через preload можно организовать загрузку ресурсов, не дожидаясь когда они будут запрошены, например, можно сразу загрузить определённые файлы CSS, скрипты, видео и картинки. Компания Google продвигает использование тега <link rel=»preload»> вместо технологии Server Push.
  • В CSS-свойство «touch-action» добавлен параметр «pinch-zoom», позволяющий настроить обработку жеста «масштабирование щипком».
  • В версии для Android для дополнений на базе WebExtensions реализована поддержка API browsingData, которое позволяет удалять накопленные в процессе навигации данные, такие как данные форм, cookie, пароли, загрузки, содержимое кэша, история посещений.

Кроме новшеств и исправления ошибок в Firefox 85 устранено 33 уязвимости, из которых 25 помечены как опасные. 23 уязвимости (собраны под CVE-2021-23964 и CVE-2021-23965) вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.

Перешедшая на стадию бета-тестирования ветка Firefox 86 примечательна включением по умолчанию поддержки формата изображений AVIF (AV1 Image Format), в котором задействованы технологии внутрикадрового сжатия из формата кодирования видео AV1. Добавлена возможность просмотра локальных HTML-страниц в режиме читателя. Включена поддержка открытия нескольких окон с видео в режиме Picture-in-Picture.