Состоялся релиз web-браузера Firefox 73, а также мобильной версии Firefox 68.5 для платформы Android. Кроме того, сформировано обновление ветки с длительным сроком поддержки 68.5.0. В ближайшее время на стадию бета-тестирования перейдёт ветка Firefox 74, релиз которой намечен на 10 марта (проект перешёл на 4-недельный цикл разработки).

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

  • В режиме обращения к DNS поверх HTTPS (DoH, DNS over HTTPS) добавлена поддержка сервиса NextDNS, помимо ранее предлагавшегося DNS-сервера CloudFlare («https://1.1.1.1/dns-query»). Активировать DoH и выбрать провайдера можно в настройках сетевого соединения.

  • Реализован первый этап прекращения поддержки дополнений, устанавливаемых обходным путём. Изменение касается только установки дополнений в общие каталоги (/usr/lib/mozilla/extensions/, /usr/share/mozilla/extensions/ или ~/.mozilla/extensions/), обрабатываемые всеми экземплярами Firefox в системе (без привязки к пользователю). Подобный метод обычно применяется для предустановки дополнений в дистрибутивах, для непрошенной подстановки вместе со сторонними приложениями, для интеграции вредоносных дополнений или для обособленной поставки дополнения со своим инсталлятором. В Firefox 73 подобные дополнения продолжат работать, но будут перенесены из общего каталога в индивидуальные профили пользователей, т.е. будут преобразованы в формат, применяемый при установке через менеджер дополнений.
  • Реализована возможность установки глобального базового уровня масштабирования, применяемого ко всем страницам, а не привязываемого к отдельным сайтам. Изменить общий масштаб можно в настройках (about:preferences) в секции «Language and Appearance». В настойках также появилась опция, позволяющая применять масштабирование только для текста, не касаясь изображений.

  • Диалог с предложением сохранения логинов теперь выводится только если было изменено значение логина в поле ввода.
  • На системах с проприетарными драйверами NVIDIA новее выпуска 432 и разрешением экрана меньше 1920×1200 включена система композитинга WebRender. Ранее WebRender включался только для GPU NVIDIA c драйвером Nouveau, а также для GPU AMD и Intel. Cистема композитинга WebRender написана на языке Rust и выносит на сторону GPU операции отрисовки содержимого страницы.
  • Добавлена возможность использования концепции «Site Specific Browser» (SSB) для
    работы с web-приложением как с обычной настольной программой. В режиме
    SSB скрываются меню, адресная строка и прочие элементы интерфейса браузера, а в текущем окне допускается только открытие ссылок на страницы текущего сайта (внешние ссылки открываются в отдельном окне браузера). В отличие от уже имеющегося режима киоска, работа осуществляется не в полноэкранном режиме, а в обычном окне, но без специфичных для Firefox элементов интерфейса. Для открытия ссылки в режиме SSB предложен флаг командной строки «—ssb», который можно применять при создании ярлыков для web-приложений. Режим также можно вызвать кнопкой «Launch Site Specific Browser», размещённой в меню действий со страницей (многоточие справа от адресной строки). По умолчанию режим неактивен и требует включения через указание «browser.ssb.enabled = true» в about:config.

  • В режиме высококонтрастного отображения, предназначенного для людей с ослабленным зрением или нарушенным восприятием цветов, появилась поддержка фоновых изображений. Для сохранения читаемости и обеспечения должного уровня контраста видимый текст отделяется отдельным фоном, в котором используется цвет активной темы оформления.
  • Повышено качество звука при повышении или понижении скорости воспроизведения;
  • Улучшено автоопределение старых текстовых кодировок на страницах, на которых явно не указана информация о кодировке.
  • В строке поиска в web-консоли появилась возможность фильтрации по отсутствующему ключу через указание символа «-» перед маской или регулярным выражением. Например, поисковый запрос «-img» выведет все элементы, в которых отсутствует строка «img», а «-/(cool|rad)/» покажет элементы, не соответствующие регулярному выражению «/(cool|rad)/».
  • Добавлены новые CSS-свойства overscroll-behavior-inline и overscroll-behavior-block для управления поведением прокруткой при достижении логической границы области прокрутки.
  • В SVG добавлена поддержка свойств letter-spacing и word-spacing.
  • В HTMLFormElement добавлен метод requestSubmit(), который инициирует программную отправку данных формы по аналогии с кликом на кнопку отправки данных. Функция может применяться при разработке собственных кнопок отправки формы, для которых вызова form.submit() недостаточно из-за того, что он не приводит к интерактивной проверке параметров, генерации события ‘submit’ и передаче данных, привязанных к кнопке отправки.
  • Свойства innerWidth и innerHeight объектов Window теперь всегда возвращает фактическую заданную ширину и высоту области (Viewport Layout), а не размер видимой части (Visual Viewport).
  • Проведена оптимизация производительности инструментов для web-разработчиков. Снижена нагрузка при сборе статистики для панели мониторинга сетевой активности. В отладчике JavaScript и web-консоли ускорена загрузка больших скриптов с привязкой к их изначальным исходным текстам (source-mapped).
  • В web-консоли проблемы с выходом за пределы области текущего домена (CORS, Cross-Origin Resource Sharing) теперь отображаются как ошибки, а не предупреждения. Для автодополнения в консоли стали доступны переменные, определяемые в выражениях.
  • В инструментах для web-разработчиках в разделе инспектирвоания сети обеспечено декодирование сообщений (JSON, MsgPack и CBOR) в формате WAMP (WebSocket Web Application Messaging Protocol), передаваемых через соединение WebSocket.

Кроме новшеств и исправления ошибок в Firefox 73 устранено 15 уязвимостей, из которых из которых 11 (собраны под CVE-2020-6800 и CVE-2020-6801) помечены как потенциально способные привести к выполнению кода злоумышленника при открытии специально оформленных страниц. Напомним, что проблемы с памятью, такие как переполнения буферов и обращение к уже освобождённым областям памяти, с недавних пор помечаются как опасные, но не критические.