Релиз Firefox 96

Состоялся релиз web-браузера Firefox 96. Кроме того, сформировано обновление ветки с длительным сроком поддержки – 91.5.0. На стадию бета-тестирования переведена ветка Firefox 97, релиз которой намечен на 8 февраля.

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

  • Добавлена возможность принудительного включения для сайтов тёмной или светлой темы оформления. Цветовое оформление меняется силами браузера и не требует поддержки со стороны сайта, что позволяет на сайтах, доступных только в светлых тонах, применить тёмную тему, а на тёмных сайтах – светлую.

    Для изменения цветового представления в настройках (about:preferences) в секции “General/Language and Appearance” предложен новый раздел “Colors”, в котором можно включить переопределение цветов в привязке к цветовой схеме операционной системы или назначить цвета вручную.

  • Значительно улучшено подавление шумов и автоматическая регулировка усиления звука, а также немного улучшено эхоподавление.
  • Значительно снижена нагрузка на основной поток выполнения.
  • Применено более жёсткое ограничение передачи Cookie между сайтами, запрещающее обработку сторонних Cookie, выставляемых при обращении к сайтам, отличным от домена текущей страницы. Подобные Cookie применяются для отслеживания перемещений пользователя между сайтами в коде рекламных сетей, виджетов социальных сетей и систем web-аналитики. Для управления передачей Cookie применяется указываемый в заголовке “Cookie Policy” атрибут Same-Site, который по умолчанию теперь выставлен в значение “Same-Site=Lax”, ограничивающее отправку Cookie для межсайтовых субзапросов, таких как запрос изображения или загрузка контента через iframe с другого сайта, что также предоставляет защиту от атак CSRF (Cross-Site Request Forgery).
  • Решены проблемы со снижением качества видео на некоторых сайтах и со сбросом заголовка SSRC (Synchronization source identifier) при просмотре видео. Также устранена проблема со снижением разрешения при предоставлении совместного доступа к экрану через WebRTC.
  • На платформе macOS переход по ссылкам в Gmail теперь приводит к их открытию в новой вкладке, как на остальных платформах. Из-за наличия нерешённых пробоем в macOS запрещено открепление видео в полноэкранном режиме.
  • Для упрощения настройки стилей тёмной темы оформления
    добавлено новое CSS-свойство color-scheme, позволяющий определить в каких цветовых схемах может быть корректно показан элемент. Среди поддерживаемых схем “light”, “dark”, “day mode” и “night mode”.
  • Добавлена CSS-функция hwb(), которую можно указывать вместо значений цвета для определения цветов в соответствии с цветовой моделью HWB (hue, whiteness, blackness). Опционально в функции может быть указано значение прозрачности.
  • Для CSS-свойства counter-reset реализована функция “reversed()”, позволяющая использовать инвертированные CSS-счётчики для нумерации элементов в порядке убывания (например, можно выводить номера элементов в списках
      в порядке убывания).

    1. На платформе Android обеспечена поддержка метода navigator.canShare(), позволяющего проверить возможность использования метода navigator.share(), который предоставляет средства для обмена информацией в социальных сетях, например, позволяет сгенерировать унифицированную кнопку для публикации в социальных сетях, которыми пользуется посетитель, или организовать отправку данных другим приложениям.
    2. Включён по умолчанию API Web Locks, позволяющий координировать работу web-приложения в нескольких вкладках или обращение к ресурсам из web worker-ов. API предоставляет средства для получения блокировок в асинхронном режиме и освобождения блокировок после завершения необходимой работы с совместно используемым ресурсом. Пока один процесс удерживает блокировку, другие процессы ожидают её освобождения без остановки выполнения.
    3. В конструкторе IntersectionObserver() при передаче пустой строки обеспечено выставление по умолчанию свойства rootMargin вместо генерации исключения.
    4. Реализована возможность экспорта элементов canvas в формате WebP
      при вызове методов HTMLCanvasElement.toDataURL(), HTMLCanvasElement.toBlob() и OffscreenCanvas.toBlob.
    5. В бета-версии Firefox 97 отмечается модернизация процесса загрузки файлов – вместо вывода запроса перед началом загрузки, файлы теперь начинают загружать автоматически и могут в любой момент быть открыты через панель с информацией о ходе загрузки.

Кроме новшеств и исправления ошибок в Firefox 96 устранено 30 уязвимостей, из которых 19 помечены как опасные. 14 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц. Из опасных проблем также отмечаются обход изоляции Iframe через XSLT, состояние гонки при воспроизведении звуковых файлов, переполнение буфера при использовании CSS-фильтра blendGaussianBlur, обращение к памяти после её освобождения при обработке определённых сетевых запросов, подмена содержимого окна бразуера через манипуляции в полноэкранном режиме, блокирование выхода из полноэкранного режима.

Дополнительно можно отметить объявление о сотрудничестве дистрибутива Linux Mint и Mozilla, в рамках которого в дистрибутиве будут поставляться неизменённые официальные сборки Firefox без применения дополнительных патчей от Debian и Ubuntu, без замены домашней страницы на linuxmint.com/start, без замены поисковых систем и без изменения настроек по умолчанию. Вместо поисковых систем Yahoo и DuckDuckGo будет задействован набор Google, Amazon, Bing, DuckDuckGo, Ebay. Взамен Mozilla будет перечислять разработчикам Linux Mint определённую денежную сумму. Новые пакеты с Firefox будут предложены для веток Linux Mint 19.x, 20.x и 21.x. Сегодня или завтра пользователям будет предложен пакет Firefox 96, оформленный в соответствии с заключённым соглашением.

Release. Ссылка here.