Релиз Firefox 68

Представлен релиз web-браузера Firefox 68, а также мобильной версии Firefox 68 для платформы Android. Выпуск отнесён к категории веток с длительным сроком поддержки (ESR), обновления для которых выпускаются в течение года. Кроме того, сформировано обновление прошлой ветки с длительным сроком поддержки 60.8.0. В ближайшее время на стадию бета-тестирования перейдёт ветка Firefox 69, релиз которой намечен на 3 сентября.

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

  • Включён по умолчанию новый менеджер дополнений (about: addons), полностью переписанный с использованием HTML/JavaScript и стандартных web-технологий в рамках инициативы по избавлению браузера от компонентов на базе XUL и XBL. В новом интерфейсе для каждого дополнения в форме вкладок обеспечена возможность просмотра полного описания, изменения настроек и управления правами доступа, не покидая основную страницу со списком дополнений. Вместо отдельных кнопок управления активацией дополнений предложено контекстное меню. Отключенные дополнения теперь явно отделены от активных и перечислены в отдельной секции. 0_1560581487.png

    Добавлена новая секция с рекомендуемыми для установки дополнениями, состав которой выбирается в зависимости от установленных дополнений, настроек и статистики по работе пользователя. Дополнения принимаются в список контекстных рекомендаций только если они удовлетворяют требованиям Mozilla в области безопасности, полезности и удобства работы, а также качественно и эффективно решают актуальные задачи, интересные широкой аудитории. Предлагаемые дополнения проходят полное рецензирование безопасности каждого обновления;

    0_1560582598.png
  • Добавлена кнопка для отправки в Mozilla сообщений о проблемах с дополнениями и темами оформления. Например, через преложенную форму можно предупредить разработчиков при выявлении вредоносной активности, возникновением проблем с отображением сайтов из-за дополнения, не соответствии заявленной функциональности, появления дополнения без действий пользователя или проблемах со стабильностью и производительностью. 0_1560582658.png
  • Включена новая реализация адресной строки Quantum Bar, которая внешне и по своим возможностям практически идентична старой адресной строке Awesome Bar, но отличается полной переработкой внутренностей и переписыванием кода с заменой XUL/XBL на стандартный Web API. Новая реализация существенно упрощает процесс расширения функциональности (поддерживается создание дополнений в формате WebExtensions), снимает жёсткие привязки к подсистемам браузера, позволяет легко подключать новые источники данных, обладает более высокой производительностью и отзывчивостью интерфейса. Из заметных изменений в поведении отмечается только необходимость использования комбинаций Shift+Del или Shift+BackSpace (раньше работало без Shift) для удаления записей истории просмотра из результата выводимой при начале ввода подсказки;
  • Реализована полноценная тёмная тема для режима читателя (reader view), при включении которой все элементы оформления окна и панели также отображаются в тёмных оттенках (ранее переключение тёмного и светлого режима в Reader View касалось только области с текстовым содержимым); 0_1562680589.png
  • В строгом режиме блокировки нежелательного контента (strict), помимо всех известных систем отслеживания перемещений и всех сторонних Cookie теперь также блокируются JavaScript-вставки, осуществляющие майнинг криптовалют или отслеживающие пользователей с помощью методов скрытой идентификации. Ранее данные блокировки включались через явный выбор в настраиваемом режиме блокировки. Блокировка осуществляется по дополнительным категориям (fingerprinting и cryptomining) в списке Disconnect.me;
  • Продолжено поэтапное включение системы композитинга Servo WebRender, написанной на языке Rust и выносящей на сторону GPU операции отрисовки содержимого страницы. При использовании WebRender вместо встроенной в движок Gecko системы композитинга, обрабатывающей данные при помощи CPU, для выполнения операций сводной отрисовки элементов страницы используются шейдеры, выполняемые в GPU, что позволяет добиться существенного увеличения скорости отрисовки и снизить нагрузку на CPU.

    Помимо пользователей с видеокартами NVIDIA начиная с Firefox 68 поддержка WebRender будет активирована для систем на базе Windows 10 с видеокартами AMD. Проверить активацию WebRender можно на странице about: support. Для принудительного включения в about: config следует активировать настройки «gfx.webrender.all» и «gfx.webrender.enabled» или запустив Firefox с выставленной переменной окружения MOZ_WEBRENDER=1. В Linux поддержка WebRender более-менее стабилизирована для видеокарт Intel c драйверами Mesa 18.2+;

  • В меню «гамбургер» в правой части панели с адресной строкой добавлена секция для быстрого доступа к настойкам учётной записи в Firefox Account; In addition to providing color contrast information for individual elements of a page, Firefox now offers a full page color contrast audit that identifies all element on a page that fail color contrast checks.
  • Добавлена новая встроенная страница «about: compat», на которой перечислены обходные пути и патчи, применяемые для обеспечения совместимости с отдельными сайтами, которые некорректно работают в Firefox. Вносимые для совместимости изменения в простейших случаях ограничиваются сменой идентификатора «User Agent», если сайт жестко привязывается к определённым браузерам. В более сложных ситуациях в контексте сайта запускается JavaScript-код, исправляющий проблемы с совместимостью; 0_1551469082.png
  • Из-за потенциальных проблем со стабильностью при переводе бразуера в однопроцессный режим работы, при котором формирование интерфейса и обработка содержимого вкладок производится в одном процессе, из about: config удалены настройки «browser.tabs.remote.force-enable» и «browser.tabs.remote.force-disable», который можно было использовать для отключения многопроцессного режима работы (e10s). Кроме того, установка значения «false» в опции «browser.tabs.remote.autostart» не будет автоматически приводить к отключению многопроцессного режима на настольных версиях Firefox, в официальных сборках и при запуске без включения режима выполнения автоматизированных тестов.
  • Реализован второй этап расширения числа вызовов API, которые доступны только при открытии страницы в защищённом контексте (Secure Context), т.е. при открытии по HTTPS, через localhost или из локального файла. Для страниц, открытых вне защищённого контекста, теперь будут блокироваться запросы к вызову getUserMedia () для получения доступа к источникам мультимедийных данных (например, камере и микрофону);
  • Обеспечена автоматическая обработка ошибок при доступе по HTTPS, возникающих из-за активности антивирусного ПО. Проблемы проявляются при включении в антивирусах Avast, AVG, Kaspersky, ESET и Bitdefender модуля защиты Web, который анализирует HTTPS-трафик через подстановку своего сертификата в список корневых сертификатов Windows и подмену на него изначально используемых сертификатов сайтов. Firеfox использует собственный список корневых сертификатов и игнорирует системный список сертификатов, поэтому воспринимает подобную активность как MITM-атаку.

    Проблема решена через автоматическое включение настройки «security.enterprise_roots.enabled», при которой дополнительно импортируются сертификаты из системного хранилища. В случае использования сертификата из системного хранилища, а не встроенного в Firefox, в вызываемом из адресном строки меню с информацией о сайте добавлен специальный индикатор. Настройка автоматически включается при определении MITM-перехвата, после чего браузер пытается заново установить соединение и если проблема исчезла — настройка сохраняется. Утверждается, что подобная манипуляция не представляет угрозы, так как в случае компрометации системного хранилища сертификатов, атакующий может скомпрометировать и хранилище сертификатов Firefox (не учитываются возможная подстановка сертификатов производителей оборудования, которые могут применяться для осуществления MITM, но блокируются при использовании хранилища сертификатов Firefox).

  • Открываемые в браузере локальные файлы теперь не смогут обращаться к другим файлам в текущем каталоге (например, при открытии в Firefox на платформе Android присланного по почте html-документа, JavaScript-вставка в данном документе могла просмотреть содержимого каталога с другими сохранёнными файлами);
  • Изменён метод синхронизации настроек, изменённых через интерфейс about: config. Синхронизируются теперь только настройки, присутствующие в белом списке, который определён в секции «services.sync.prefs.sync». Например, для синхронизации параметра browser.some_preference требуется выставить в true значение «services.sync.prefs.sync.browser.some_preference». Для разрешения синхронизации всех настоек предусмотрен параметр «services.sync.prefs.dangerously_allow_arbitrary»;


  • Добавлен модуль Scroll Snap c реализацией CSS-свойств scroll-snap-*, позволяющих управлять точкой остановки ползунка при прокрутке и выравниванием сдвигаемого содержимого, а также выполнять привязку к элементам при инерционной прокрутке. Например, можно настроить прокрутку со сдвигом по границам изображения или с центрированием картинки;
  • В JavaScript реализован новый числовой тип BigInt, позволяющий хранить целые числа произвольного размера, для которых недостаточно типа Numbers (например, идентификаторы и значения точного времени раньше приходилось хранить в виде строк);
  • В средствах для разработчиков реализованы инструменты для аудита контрастности текстовых элементов, которые можно использовать для выявления элементов, которые могут некорректно восприниматься людьми с ослабленным зрением или нарушенным восприятием цветов; 0_1562684650.png
  • При установке в Windows 10 обеспечено размещение ярлыка в панели задач. В Windows также добавлена возможность использования сервиса BITS (Background Intelligent Transfer Service) для продолжения загрузки обновлений, даже если браузер был закрыт;
  • В версии для Android увеличена производительность отрисовки, добавлен API WebAuthn (Web Authentication API) для подключения к сайту с использованием аппаратного токена или сенсора отпечатков пальцев. В новых установках прекращена автоматическая загрузка плагина Cisco OpenH264 для WebRTC.

Кроме новшеств и исправления ошибок в Firefox 68 устранена серия уязвимостей, из которых несколько помечены как критические, т.е. могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц. В настоящее время информация с подробностями об исправленных проблемах безопасности недоступна, ожидается, что перечень уязвимостей будет опубликован в течение нескольких часов.

Firefox 68 станет последним выпуском, вместе с которым будет сформировано обновление классической редакции Firefox для Android. Начиная с Firefox 69, который ожидается 3 сентября, новые релизы Firefox для Android выпускаться не будут, а исправления будут поставляться в форме обновлений ESR-ветки Firefox 68. На смену классического Firefox для Android придёт новый браузер для мобильных устройств, развиваемый в рамках проекта Fenix и использующий движок GeckoView и набор библиотек Mozilla Android Components. В настоящее время под именем Firefox Preview, для тестирования уже предложен первый предварительный выпуск нового браузера (сегодня опубликовано корректирующее обновление 1.0.1 данного предварительного выпуска, но оно ещё не размещено в Google Play).

© OpenNet