Состоялся релиз web-браузера Firefox 100. Кроме того, сформировано обновление ветки с длительным сроком поддержки - 91.9.0. На стадию бета-тестирования переведена ветка Firefox 101, релиз которой намечен на 31 мая.
Основные новшества в Firefox 100:
- Реализована возможность одновременного использования словарей для разных языков при проверке правописания. В контекстном меню теперь можно активировать сразу несколько языков.
- В Linux и Windows включены по умолчанию плавающие полосы прокрутки, при которых полноценная полоса прокрутки появляется только при подведении курсора мыши, в остальное время при любом движении мыши показывается тонкая линия-индикатор, позволяющая понять текущее смещение на странице, но если курсор не двигается, то индикатор через некоторое время пропадает. Для отключения скрытых полос прокрутки под Windows используются настройки ОС ("System Settings > Accessibility > Visual Effects > Always show scrollbars"), в Linux можно использовать настройки самого браузера (General > Browsing > Always show scrollbars).
- В режиме "картинка в картинке" обеспечен показ субтитров, при просмотре видео с YouTube, Prime Video и Netflix, а также на сайтах, использующих формат WebVTT (Web Video Text Track), например, на Coursera.org.
- При первом запуске после установки добавлена проверка соответствия языка сборки Firefox с установками операционной системы. В случае расхождений пользователю предлагается выбрать какой из языков использовать в Firefox.
- На платформе macOS добавлена поддержка видео с расширенным динамическим диапазоном на системах с экранами, поддерживающими HDR (High Dynamic Range).
- На платформе Windows по умолчанию включено аппаратное ускорение декодирования видео в формате AV1 на компьютерах с GPU Intel Gen 11+ и AMD RDNA 2 (кроме Navi 24 и GeForce 30) при наличии в системе AV1 Video Extension. В Windows для GPU Intel также включён по умолчанию оверлейный режим вывода (Video overlay), позволяющий снизить потребление энергии при воспроизведении видео.
- Для пользователей из Великобритании обеспечена поддержка автоматического заполнения и запоминания номеров кредитных карт в web-формах.
- Обеспечено более равномерное распределение ресурсов при отрисовке и обработке событий, что, например, позволило решить проблемы с запаздыванием реакции ползунка громкости в Twitch.
- Для загружаемых с других сайтов субресурсов и iframe включено игнорирование выставления через HTTP-заголовок Referrer-Policy политик "no-referrer-when-downgrade", "origin-when-cross-origin" и "unsafe-url", позволяющих в обход настройкам по умолчанию вернуть передачу сторонним сайтам полного URL в заголовке "Referer". Напомним, что в Firefox 87 c целью блокирования потенциальных утечек конфиденциальных данных по умолчанию была активирована политика "strict-origin-when-cross-origin", подразумевающая вырезание путей и параметров из "Referer" при отправке запроса на другие хосты при обращении по HTTPS, передача пустого "Referer" при переходе с HTTPS на HTTP и передачу полного "Referer" для внутренних переходов в рамках одного сайта.
- Предложен новый индикатор фокуса для ссылок (например, показывается при переборе ссылок клавишей табуляция) - вместо пунктирной линии ссылки теперь обрамляются сплошной синей линией, по аналогии с тем, как помечаются активные поля web-форм. Отмечается, что применение сплошной линии упрощает навигацию для людей с ослабленным зрением.
- Предоставлена возможность выбора Firefox в качестве просмотрщика PDF по умолчанию.
- Добавлен API WritableStreams, предоставляющий дополнительный уровень абстракции для организации записи потоковых данных в канал, имеющий встроенные средства ограничения потока. Также добавлен метод pipeTo() для создания неименованных каналов (pipe) между ReadableStreams и WritableStreams. Добавлены интерфейсы WritableStreamDefaultWriter и WritableStreamDefaultController.
- В WebAssembly реализована поддержка исключений (WASM Exceptions), позволяющих добавлять обработчики исключений для C++ и применять семантику раскрутки стека вызовов (unwind) без привязки к дополнительным обработчикам на JavaScript.
- Повышена производительность элементов "display: grid" с высоким уровнем вложенности.
- В CSS добавлена поддержка media-запросов 'dynamic-range' и 'video-dynamic-range' для определения наличия экрана, поддерживающего HDR (High Dynamic Range).
- В Firefox для Android:Реализован режим HTTPS-only, при включении которого все выполняемые без шифрования обращения автоматически перенаправляются на защищённые варианты страниц ("http://" заменяется на "https://").
Добавлена возможность поиска в закладках и в истории посещений.
На странице просмотра истории посещений обеспечена группировка похожих страниц.
На домашней странице предложена новая секция с выборкой из истории посещений.
В состав включены новые обои для фона домашней страницы.
Кроме новшеств и исправления ошибок в Firefox 100 устранено 24 уязвимости, из которых 21 помечены как опасные. 17 уязвимостей (сведены под CVE-2022-29918 и CVE-2022-29917) вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.