Состоялся релиз web-браузера Firefox 69, а также мобильной версии Firefox 68.1 для платформы Android. Кроме того, сформированы обновления веток с длительным сроком поддержки 60.9.0 и 68.1.0 (ESR-ветка 60.x больше обновляться не будет, рекомендован переход на ветку 68.x). В ближайшее время на стадию бета-тестирования перейдёт ветка Firefox 70, релиз которой намечен на 22 октября.

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

  • В применяемый по умолчанию стандартный режим блокировки нежелательного контента добавлены функции игнорирования Cookie всех сторонних систем отслеживания перемещений и блокирования JavaScript-вставок, осуществляющих майнинг криптовалют. Код для майнинга приводит к существенному увеличению нагрузки на процессор в системе пользователя и, как правило, внедряется на сайты в результате взломов или используется на сомнительных сайтах как метод монетизации.
    Ранее данные блокировки включались только при выборе строго режима блокировки, который теперь имеет смысл включать только при желании блокирования методов скрытой идентификации («browser fingerprinting»). Блокировка осуществляется по списку Disconnect.me.

    При блокировке в адресной строке показывается символ щита, а в контекстном меню можно посмотреть с каких именно сайтов были заблокированы Сookie, используемые для отслеживания перемещений. В том же меню можно выборочно отключить блокировку для отдельных сайтов.

  • Расширены возможности блокировки автоматического воспроизведения мультимедийного контента. Помимо ранее добавленной функции приглушения звука в автоматически воспроизводимом видео реализована возможность полной остановки воспроизведения видео, не ограничиваясь отключением звука. Например, если раньше рекламные видеоролики на сайтах показывались, но без звука, то в новом режиме, они без явного клика даже не начнут воспроизведение. Для включения режима в настройки автовоспроизведения (Options > Privacy and Security > Permissions > Autoplay) добавлен новый пункт «Block audio and video», который дополнил собой выставляемый по умолчанию режим «Block audio».

    Режим может быть выбран в привязке к конкретным сайтам через контекстное меню, выводимое при клике на кнопку «(i)» в адресной строке.

  • Для пользователей из США и сборок «en-US» изменена раскладка блоков стартовой страницы, отображаемой при открытии новой вкладки, а также добавлен вывод дополнительного контента, рекомендованного сервисом Pocket. Изменён размер блоков и число рекомендаций, предложены новые тематические секции (Здоровье, Наука, Технологии и Развлечения);
  • Отключена по умолчанию возможность воспроизведения Flash-контента через плагин Adobe Flash. Из настроек плагина Adobe Flash Player убрана опция для постоянной активации Flash и оставлены только возможности отключения Flash и индивидуального включения для конкретных сайтов (активация явным кликом) без запоминания выбранного режима. В ESR-ветках Firefox поддержка Flash сохранится до конца 2020 года;
  • Отключена по умолчанию обработка файлов userContent.css и userChrome.css, позволяющих пользователю переопределить оформление сайтов или интерфейса Firefox. В качестве причины отключения по умолчанию называется работа по сокращению времени запуска браузера. Изменение поведения через userContent.css и userChrome.css выполняется пользователями крайне редко, а загрузка данных CSS потребляет дополнительные ресурсы (оптимизация убирает лишнее обращение к диску). Для возвращения обработки userChrome.css и userContent.css в about:config добавлена настройка «toolkit.legacyUserProfileCustomizations.stylesheets», которая будет активирована автоматически для пользователей, которые уже используют userChrome.css или userContent.css;
  • Для WebRTC реализована возможность обработки каналов с использованием разных видеокодеков, что упрощает создание сервисов видеоконференций, участники которых могут применять разное клиентское ПО;
  • Для архитектуры ARM64 в JavaScript-движке реализвоана поддержка JIT-компиляции;
  • Из идентификатора браузера (User Agent) исключена информация о применении 32-разрядной версии Firefox в окружении 64-разрядной ОС (ранее требовалось для Flash, но оставляло дополнительный вектор для скрытой идентификации пользователя);
  • Добавлена функция просмотра видео в режиме «картинка в картинке» (Picture-in-Picture), позволяющем отсоединить видео в форме плавающего окна, которое остаётся на виду в процессе навигации в браузере. Для просмотра в данном режиме необходимо нажать на всплывающую подсказку или в контекстном меню, отображаемым при клике на видео правой кнопкой мыши, выбрать «Picture in picture» (в YouTube, который подставляет свой обработчик контекстного меню, следует два раза кликнуть правой кнопкой мыши или кликнуть с нажатой клавишей Shift). Режим может активирован в about:config при помощи опции «media.videocontrols.picture-in-picture.enabled»;
  • Добавлена реализация генератора паролей («signon.generation.available» в about:config), позволяющего при заполнении форм регистрации выводить подсказку со сгенерированным автоматически надёжным паролем;

  • В менеджер паролей добавлена возможность обработки учётных записей в контексте домена первого уровня, что позволяет предлагать один пароль, сохранённый для всех поддоменов. Например, пароль, сохранённый для login.example.com теперь будет предлагаться для автозаполнения в формах сайта www.example.com;
  • Добавлен менеджер управления приоритетами процессов-обработчиков, который позволяет передавать операционной системе сведения о наиболее приоритетных процессах. Например, процессу обработки контента, обрабатывающему активную вкладку будет выставлен более высокий приоритет (выделено больше ресурсов CPU), чем процессу , связанному с фоновыми вкладками (если на них не воспроизводится видео и звук). Изменение пока включено по умолчанию только для платформы Windows, для остальных систем требуется активация опции dom.ipc.processPriorityManager.enabled в about-config;
  • Активирован по умолчанию API UserScripts, позволяющий создавать на базе технологии WebExtensions дополнения в стиле Greasemonkey для выполнения пользовательских скриптов в контексте web-страниц. Например, при помощи подключения скриптов можно изменять оформление и поведение просматриваемых страниц. Данный API уже входит в состав Firefox, но до сих пор для его включения требовалась установка параметра «extensions.webextensions.userScripts.enabled» в about:config. В отличие от имеющихся дополнений с похожей функциональностью, применяющих вызов tabs.executeScript, новый API позволяет изолировать скрипты в отдельных sandbox-окружениях, решает проблемы с производительностью и даёт возможность обрабатывать различные стадии загрузки страниц.
  • Свойство navigator.mediaDevices теперь доступно только при открытии страницы в защищённом контексте (Secure Context), т.е. при открытии по HTTPS, через localhost или из локального файла;
  • В web-консоли обеспечена группировка предупреждений об активности, связанной с отслеживанием перемещений пользователя;
  • В панели инспектирования сетевой активности добавлена детальная информация о причинах блокировки ресурсов (CSP, смешанный контент и т.п.), а также добавлен опциональный столбец с полным URL;
  • Ускорен запуск отладчика JavaScript. В интерфейс about:debugging перенесены функции удалённой отладки. Добавлен новый класс точек останова, которые можно привязать к наступлению событий, связанных с мышью, сенсорным экраном, анимацией, DOM, медиазапросами,
    worker-ами и т.п.

  • В средства для разработчиков добавлен интерфейс для аудита представления страницы, в котором используются альтернативные текстовые описания контента (например, показ текста из атрибута «alt
    вместо изображений);

  • На системах с macOS, на которых установлено несколько графических карт, обеспечено более агрессивное переключение на энергоэффективный GPU после завершения обработки контента WebGL. Также добавлена защита от переключения с энегоэффективного на мощный GPU для одноразовых вызовов WebGL. В сборках для macOS также реализовано отображение прогресса загрузки файлов через штатный интерфейс Finder. Началось формирование установочных сборок Firefox в формате PKG;
  • Для Windows 10 со свежими обновлениями (1903+) добавлена поддержка расширения Web Authentication HmacSecret через Windows Hello для аутентификации на сайтах без ввода пароля с использованием отпечатка пальца, распознавания лица или USB-токена;
  • Прекращено формирование новых релизов Firefox для Android, вместо которого под кодовым именем Fenix теперь развивается новый браузер для мобильных устройств, использующий движок GeckoView и набор библиотек Mozilla Android Components. Корректирующие исправления для Firefox для Android будут в течение года выпускаться в рамках ESR-ветки Firefox 68, например, сейчас сформирован выпуск 68.1. Для загрузки нового браузера следует использовать тестовые сборки
    Firefox Preview.

Кроме новшеств и исправления ошибок в Firefox 69 устранено 30 уязвимостей, из которых лишь одна (CVE-2019-11751) помечена как критическая. Данная проблема специфичная для платформы Windows и позволяет записать произвольный файл в системе при запуске браузера из другого приложения (например, при открытии ссылки из программы для обмена сообщениями можно оформить ссылку таким образом, что запуск браузера приведёт с созданию файла автозапуска в каталоге ‘Startup’). Снижение числа критических уязвимостей обусловлено тем, что проблемы с памятью, такие как переполнения буферов и обращение у уже освобождённым областям памяти, теперь помечаются как опасные, но не критические. В новом выпуске устранено 13 подобных проблем, которые потенциально могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц.