Состоялся релиз web-браузера Firefox 91. Выпуск Firefox 91 отнесён к категории веток с длительным сроком поддержки (ESR), обновления для которых выпускаются в течение года. Кроме того, сформировано обновление прошлой ветки с длительным сроком поддержки 78.13.0 (в дальнейшем ожидается ещё два обновления 78.14 и 78.15). На стадию бета-тестирования в ближайшее время будет переведена ветка Firefox 92, релиз которой намечен на 7 сентября.
- В режиме приватного просмотра по умолчанию активирована политика HTTPS-First, похожая на ранее доступную в настройках опцию “HTTPS Only”. При попытке открытия страницы без шифрования по HTTP в приватном режиме браузер вначале попытается обратиться к сайту по HTTPS (“https://” заменяется на “https://”) и если попытка окажется неудачной автоматически обратится к сайту без шифрования. Важным отличием от режима HTTPS Only является то, что HTTPS-First не применяется к загрузке субресурсов, таких как изображения, скрипты и таблицы стилей, а действует только при попытке открытия сайта после перехода по ссылке или наборе URL в адресной строке.
- Возвращён режим вывода на печать сокращённого варианта страницы, напоминающего вид в режиме читателя (Reader Mode), при котором отображается только значимый текст страницы, а все сопутствующие управляющие элементы, баннеры, меню, навигационные панели и прочие не связанные с контентом части страницы скрываются. Режим включается через активацию Reader View перед выводом на печать. Поддержка указанного режима была прекращена в выпуске Firefox 81, после перехода на новый интерфейс предпросмотра перед выводом на печать
- Расширены возможности метода полной защиты Cookie (Total Cookie Protection), который активируется в режиме приватного просмотра и при выборе строгого режима блокировки нежелательного контента (strict). Режим подразумевает использование для каждого сайта отдельного изолированного хранилища для Cookie, что не позволяет использовать Cookie для отслеживания перемещения между сайтами, так как все Cookie, выставляемые из загружаемых на сайт сторонних блоков, привязываются к основному сайту и не передаются при обращении к этим блокам с других сайтов. В новой версии изменена логика очистки Cookie для исключения скрытых утечек данных и добавлено информирование пользователей о сайтах, сохраняющих информацию локально.
- Изменена логика сохранения файлов, открываемых после загрузки. Файлы, открытые после загрузки во внешних приложениях, теперь сохраняются в штатном каталоге “Downloads”, вместо временного каталога. Напомним, что в Firefox предлагается два режима загрузки – загрузка с сохранением и загрузка с открытием в приложении. Во втором случае загруженный файл сохранялся во временном каталоге, который удалялся после завершения сеанса. Подобное поведение вызывало недовольство пользователей, которым, при необходимости прямого доступа к файлу, приходилось дополнительно искать временный каталог, в который сохранился файл, или повторно загружать данные, если файл уже был автоматически удалён.
- Практически для всех пользовательских действий включена оптимизация “догоняющая отрисовка” (catch-up paints), которая позволила на 10-20% повысить отзывчивость большинства операций в интерфейсе.
- Режим “Switch to Tab”, позволяющий перейти к вкладке из списка рекомендаций в адресной строке, теперь охватывает и страницы в окне приватного просмотра.
- В сборки для платформы Windows добавлена поддержка технологии единого входа (SSO), позволяющей подключаться к сайтам, используя учётные данные из окружения Windows 10.
- В сборках для macOS обеспечено автоматическое включение режима высокой контрастности при активации в системе опции “Increase Contrast”.
- API Gamepad теперь доступен только при открытии страницы в защищённом контексте (Secure Context), т.е. при открытии по HTTPS, через localhost или из локального файла;
- В версии для настольных систем реализована поддержка API Visual Viewport через который можно определить фактическую видимую область с учётом отображения экранной клавиатуры или масштабирования.
- Добавлены методы: Intl.DateTimeFormat.prototype.formatRange() – возвращает локализированную и отформатированную строку с диапазоном дат (например, “1/05/21 – 1/10/21”); Intl.DateTimeFormat.prototype.formatRangeToParts() – возвращает массив со специфичными для локали частями диапазона дат.
- Добавлено свойство Window.clientInformation, аналогичное Window.navigator.
Кроме новшеств и исправления ошибок в Firefox 91 устранено 19 уязвимостей, из которых 16 помечены как опасные. 10 уязвимостей (собраны под CVE-2021-29990 и CVE-2021-29989) вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.