Релиз Firefox 84

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

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

  • На платформе Linux для GNOME и X11 по умолчанию задействован движок композитинга WebRender, написанный на языке Rust и позволяющий добиться существенного увеличения скорости отрисовки и снижения нагрузки на CPU за счёт выноса на сторону GPU операций отрисовки содержимого страницы, которые реализованы через выполняемые в GPU шейдеры. В списке блокировки для WebRender остаются проприетарные драйверы NVIDIA, а также драйверы Intel при использовании экранных разрешений 3440×1440 и выше. Для принудительного включения в about: config следует активировать настройки «gfx.webrender.all» и «gfx.webrender.enabled» или запустить Firefox с выставленной переменной окружения MOZ_WEBRENDER=1.

    На платформе Android движок WebRender включён для устройств с GPU Mali-G, помимо ранее поддерживаемых Adreno 5xx (Google Pixel, Google Pixel 2/XL, Oneplus 5), Adreno 6xx (Google Pixel 3, Google Pixel 4, Oneplus 6), а также смартфонов Pixel 2 и Pixel 3. Для Windows поддержка WebRender включена для 5 и 6 поколений GPU Intel, для macOS для выпуска Big Sur.

    0_1608042346.png
  • Для Linux задействованы более современные методы выделения разделяемой памяти, что привело к увеличению производительности и улучшило совместимость с Docker.
  • В менеджере дополнений (about: addons) реализована возможность предоставления и отзыва необязательных дополнительных прав, необходимых для реализации в дополнении расширенной функциональности, включаемой через отдельные настройки. Ранее подобные расширенные права запрашивались динамически при включении расширенных функций и не отражались в интерфейсе about: addons. Например, дополнение Simple Tab Groups имеет дополнительную функцию создания закладок, которая по умолчанию отключена, а при включении требует полномочий для доступа к закладкам.
  • Добавлена возможность изменения масштаба всплывающих окон, боковых панелей и панелей дополнений через вращение колеса мыши при нажатой клавише Ctrl.
  • Обращение к localhost (URL http://localhost/, http://dev.localhost/ и т.п.) больше не помечается как смешанный контент и загрузка ресурсов с localhost не влияет на метку безопасного соединения.


  • Реализован API PerformancePaintTiming (Paint Timing), позволяющий отследить время различных стадий отрисовки страницы. При помощи данного API можно выявить узкие места загрузки страницы и проблемные моменты, например, ситуации когда посетителю уже видна ссылка или форма ввода, но из-за того, что JavaScript ещё не загрузился, их обработчики недоступны.
  • Удалена поддержка технологии Application Cache (AppCache), применявшейся для организации работы web-приложения в offline-режиме. В качестве причины называется желание избавиться от одного из векторов для совершения атак, связанных с межсайтовым скриптингом. Вместо AppCache рекомендуется использовать API Service Worker.
  • В конструктор Intl.DateTimeFormat добавлено свойство fractionalSecondDigits для настройки формата отображения долей секунды.
  • В методе Navigator.registerProtocolHandler () прекращена поддержка параметра title (допустимы только параметры scheme и url).
  • В CSS-псевдокласс : not () добавлена поддержка сложных селекторов. Например:»: not (: disabled, : hover) { outline: 1 px solid red;}».
  • В инструментах для web-разработчиков в режиме инспектирования средств для людей с ограниченными возможностями обеспечена индикация последовательности переходов по элементам страницы и ссылкам при нажатии клавиши «табуляция», что позволяет оценить удобство работы со страницей только с использованием клавиатуры. 0_1608040772.png
  • В панели инспектирования сети добавлена обработка неожиданных крахов панели, обеспечен вывод дополнительных отладочных данных, включая трассировку стека и добавлена кнопка для быстрой отправки разработчикам уведомления о проблемах. 0_1608042068.png
  • Добавлена поддержка новых систем Apple на базе ARM-чипа M1, на котором основаны новые модели MacBook Air, Mac Mini и MacBook Pro. Тем не менее, при работе на новых системах наблюдаются проблемы при просмотре видео с сервисов Netflix, Hulu, Disney+ и Amazon Video Prime, для устранения которых требуется установка транслятора Rosetta.
  • В версии для Android добавлена кнопка для удаления загруженных файлов, улучшена точность прокрутки и реализован режим Grid view для просмотра открытых вкладок «бок о бок». 0_1608041690.png0_1608041705.png

Кроме новшеств и исправления ошибок в Firefox 84 устранена 31 уязвимость, из которых 19 помечены как опасные. 7 уязвимостей (собраны под CVE-2020–35113 и CVE-2020–35114) вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц. Также отмечается критическая уязвимость CVE-2020–16042, которая через манипуляцию с типом BigInt позволяет прочитать содержимое неинициализированной памяти.

Также можно отметить, что Firefox 84 станет последним релизом с поддержкой плагина Adobe Flash. Компания Adobe намерена прекратить сопровождение технологии Flash в конце декабря 2020 года. Начиная с выпуска Firеfox 69 возможность запуска плагина Adobe Flash отключена по умолчанию, но была оставлена опция для индивидуального включения Flash для конкретных сайтов. Flash остаётся последним NPAPI-плагином, поддержка которого сохранялась в Firefox после перевода API NPAPI в разряд устаревших. Поддержка Silverlight, Java, Unity, Gnome Shell Integration и NPAPI-плагинов с поддержкой мультимедийных кодеков была прекращена ещё в Firefox 52, выпущенном в 2016 году.

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

© OpenNet