Релиз 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-счётчики для нумерации элементов в порядке убывания (например, можно выводить номера элементов в списках ‹ol› в порядке убывания).
  • На платформе Android обеспечена поддержка метода navigator.canShare(), позволяющего проверить возможность использования метода navigator.share(), который предоставляет средства для обмена информацией в социальных сетях, например, позволяет сгенерировать унифицированную кнопку для публикации в социальных сетях, которыми пользуется посетитель, или организовать отправку данных другим приложениям.
  • Включён по умолчанию API Web Locks, позволяющий координировать работу web-приложения в нескольких вкладках или обращение к ресурсам из web worker-ов. API предоставляет средства для получения блокировок в асинхронном режиме и освобождения блокировок после завершения необходимой работы с совместно используемым ресурсом. Пока один процесс удерживает блокировку, другие процессы ожидают её освобождения без остановки выполнения.
  • В конструкторе IntersectionObserver() при передаче пустой строки обеспечено выставление по умолчанию свойства rootMargin вместо генерации исключения.
  • Реализована возможность экспорта элементов canvas в формате WebP
    при вызове методов HTMLCanvasElement.toDataURL(), HTMLCanvasElement.toBlob() и OffscreenCanvas.toBlob.

  • В бета-версии 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, оформленный в соответствии с заключённым соглашением.

Источник: http://www.opennet.ru/opennews/art.shtml?num=56490