9 июля 2019 года

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

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

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

Вместо отдельных кнопок управления активацией дополнений предложено контекстное меню. Отключенные дополнения теперь явно отделены от активных и перечислены в отдельной секции.

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

  • Добавлена кнопка для отправки в Mozilla сообщений о проблемах с дополнениями и темами оформления. Например, через преложенную форму можно предупредить разработчиков при выявлении вредоносной активности, возникновением проблем с отображением сайтов из-за дополнения, не соответствии заявленной функциональности, появления дополнения без действий пользователя или проблемах со стабильностью и производительностью.
  • Включена новая реализация адресной строки Quantum Bar, которая внешне и по своим возможностям практически идентична старой адресной строке Awesome Bar, но отличается полной переработкой внутренностей и переписыванием кода с заменой XUL/XBL на стандартный Web API. Новая реализация существенно упрощает процесс расширения функциональности (поддерживается создание дополнений в формате WebExtensions), снимает жёсткие привязки к подсистемам браузера, позволяет легко подключать новые источники данных, обладает более высокой производительностью и отзывчивостью интерфейса. Из заметных изменений в поведении отмечается только необходимость использования комбинаций Shift+Del или Shift+BackSpace (раньше работало без Shift) для удаления записей истории просмотра из результата выводимой при начале ввода подсказки;
  • Реализована полноценная тёмная тема для режима читателя (reader view), при включении которой все элементы оформления окна и панели также отображаются в тёмных оттенках (ранее переключение тёмного и светлого режима в Reader View касалось только области с текстовым содержимым);
  • В строгом режиме блокировки нежелательного контента (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;
  • Добавлена новая встроенная страница "about:compat", на которой перечислены обходные пути и патчи, применяемые для обеспечения совместимости с отдельными сайтами, которые некорректно работают в Firefox. Вносимые для совместимости изменения в простейших случаях ограничиваются сменой идентификатора "User Agent", если сайт жестко привязывается к определённым браузерам. В более сложных ситуациях в контексте сайта запускается JavaScript-код, исправляющий проблемы с совместимостью;
  • Из-за потенциальных проблем со стабильностью при переводе браузера в однопроцессный режим работы, при котором формирование интерфейса и обработка содержимого вкладок производится в одном процессе, из 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", который отключен по умолчанию;
  • Реализована техника борьбы с назойливыми запросами на предоставление сайту дополнительных полномочий на отправку push-уведомлений (доступ к Notifications API). Отныне подобные запросы будут молча блокироваться, если не зафиксировано явное взаимодействие пользователя со страницей (клик мышью или нажатие клавиш);
  • В окружении для предприятий ( Firefox for Enterprise) добавлена поддержка дополнительных политик кастомизации браузера для сотрудников. Например, администратор теперь может добавить в меню раздел для связи с локальной службой поддержки, добавить ссылки на интранет-ресурсы на страницу открытия новой вкладки, отключить контекстные рекомендации при поиске, добавить ссылки на локальные файлы, настроить поведение при загрузке файлов, определить белый и чёрный списки допустимых и недопустимых дополнений, активировать определённые настройки;
  • Решена проблема, которая могла привести к пропаданию настроек (повреждению файла prefs.js) при экстренном завершении процесса (например, при выключении питания без завершения работы или при крахе браузера);
  • Добавлена поддержка Scroll Snap, набора CSS-свойств scroll-snap-*, позволяющих управлять точкой остановки ползунка при прокрутке и выравниванием сдвигаемого содержимого, а также выполнять привязку к элементам при инерционной прокрутке. Например, можно настроить прокрутку со сдвигом по границам изображения или с центрированием картинки;
  • В JavaScript реализован новый числовой тип BigInt, позволяющий хранить целые числа произвольного размера, для которых недостаточно типа Numbers (например, идентификаторы и значения точного времени раньше приходилось хранить в виде строк);
  • Добавлена возможность передачи опции "noreferrer" при вызове window.open() для блокирования утечки сведений о Referrer при открытии ссылки в новом окне;
  • Добавлена возможность использования метода .decode() с HTMLImageElement для загрузки и декодирования элементов до их добавления в DOM. Например, данная возможность может применяться для упрощения мгновенной замены компактных изображений-заглушек на догружаемые позднее варианты с высоким разрешением, так как даёт возможность узнать о готовности браузера целиком отобразить новое изображение.
  • В средствах для разработчиков реализованы инструменты для аудита контрастности текстовых элементов, которые можно использовать для выявления элементов, некорректно воспринимаемых людьми с ослабленным зрением или нарушенным восприятием цветов;
  • В режим инспектирования добавлена кнопка для эмуляции вывода на печать, позволяющая определить элементы, которые могут оказаться невидимыми при печати;
  • В web-консоли расширена информация, выводимая вместе с предупреждениями о проблемах с CSS. В том числе добавлена ссылка на соответствующие узлы. В консоли также реализована возможность фильтрации вывода с использованием регулярных выражений (например, "/(foo|bar)/");
  • В редакторе шрифтов добавлена возможность корректировки расстояния между буквами;
  • В режиме инспектирования хранилища добавлена возможность удаления записей из локального и сессионного хранилищ через выбор соответствующих элементов и нажатие клавиши Back Space;
  • В панели инспектирования сетевой активности добавлена возможность блокирования определённых URL, повторной отправки запроса и копирования в буфер обмена HTTP-заголовков в формате JSON. Новые возможности доступны через выбор соответствующих опций в контекстном меню, выводимом при клике правой кнопкой мыши;
  • Во встроенном отладчике появилась функция поиска во всех файлах текущего проекта через нажатие Shift + Ctrl + F;
  • Изменена настройка для включения отображения системных дополнений: в about:debugging вместо devtools.aboutdebugging.showSystemAddons теперь предложен параметр devtools.aboutdebugging.showHiddenAddons;


  • При установке в Windows 10 обеспечено размещение ярлыка в панели задач. В Windows также добавлена возможность использования сервиса BITS (Background Intelligent Transfer Service) для продолжения загрузки обновлений, даже если браузер был закрыт;
  • В версии для Android увеличена производительность отрисовки. Добавлен API WebAuthn (Web Authentication API) для подключения к сайту с использованием аппаратного токена или сенсора отпечатков пальцев. Добавлен API Visual Viewport через который можно определить фактическую видимую область с учётом отображения экранной клавиатуры или масштабирования. В новых установках прекращена автоматическая загрузка плагина 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).

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Релиз Firefox 68», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.