Состоялся релиз web-браузера Firefox 132 и сформированы обновления прошлых веток с длительным сроком поддержки – 115.17.0 и 128.4.0. На стадию бета-тестирования переведена ветка Firefox 133, релиз которой намечен на 26 ноября.
Основные новшества в Firefox 132:
- В режиме усиленной защиты (strict) от отслеживания перемещений (ETP, Enhanced Tracking Protection) и при открытии страниц в режиме приватного просмотра включено блокирование доступа ко всем сторонним Cookie, выставленным при обращении к доменам, отличающимся от домена текущей страницы. Например, если раньше сторонний код с сайта “C”, встроенный через iframe на сайты “A” и “В”, мог обрабатывать общие для данных сайтов Cookie, то отныне выставленные сайтом “C” Cookie, при загрузке кода с сайтов “A” и “В”, будут недоступны. Сторонние Cookie применяются для отслеживания перемещений пользователя между сайтами в коде рекламных сетей, виджетов социальных сетей и систем web-аналитики.
- Опция “Copy Without Site Tracking” теперь затемняется в контекстном меню, если выбранная ссылка не содержит параметров для отслеживания переходов между сайтами. Расширен спектр поддерживаемых параметров для отслеживания переходов в URL, например, обеспечено вырезание параметров, применяемых на сайтах LinkedIn и Shopee.
- Изменена логика обработки favicon-значков при автоматической замене протокола HTTP на HTTPS. Если значок доступен только по HTTP, отныне его загрузка будет блокироваться.
- В TLS 1.3 добавлена поддержка гибридного алгоритма обмена ключами “mlkem768x25519”, стойкого к подбору на квантовом компьютере и представляющего собой комбинацию из X25519 ECDH и алгоритма ML-KEM (CRYSTALS-Kyber), недавно стандартизированного Национальным институтом стандартов и технологий США (NIST). ML-KEM использует методы криптографии, основанные на решении задач теории решёток, время решения которых не отличается на обычных и квантовых компьютерах.
- Реализована поддержка TLS-расширения для сжатия сертификатов на этапе согласования соединений (RFC 8879), позволяющего ускорить установку соединения так как на передачу данных сертификатов приходится львиная доля трафика на этапе согласования соединения.
- Для API EME (Encrypted Media Extensions) реализован модуль c поддержкой созданной компанией Microsoft технологии защиты от копирования PlayReady, предоставляющий элементы DRM (Digital Rights Management) для просмотра зашифрованного видеоконтента с качеством 1080p и 4K Ultra HD на поддерживающих PlayReady стриминговых платформах. Возможность использования PlayReady вначале включена для небольшого процента пользователей, но в дальнейшем охват пользователей будет постепенно увеличиваться.
- В API WebRender для SVG-фильтров eBlend, feColorMatrix, feComponentTransfer, feComposite, feDropShadow, feFlood, feGaussianBlur, feMerge и feOffset включено аппаратное ускорение отрисовки, позволившее повысить производительность при работе с некоторыми видами графического контента.
- Для платформ Windows и macOS реализована поддержка
цветового пространства Wide-gamut, которая пока ограниченна только профилями P3 с 8-разрядным представлением цвета на канал. - В сборках для macOS расширены средства для восстановления сеанса (Firefox теперь автоматически запускается, если сеанс прерван из-за перезапуска системы) и добавлена возможность предоставления совместного доступа к экрану.
- В API HTMLVideoElement добавлен метод requestVideoFrameCallback(), позволяющий организовать покадровую обработку видео.
- В API MediaStreamTrack добавлен метод getCapabilities() для определения диапазона допустимых значений свойств, связанных с звуковым и видео контентом (частота дискретизации, задержки, число каналов, соотношение сторон, размер, FPS и т.п.);
- В элементы <link>, <script> и <img> добавлен атрибут “fetchpriority”, позволяющий выставить относительный приоритет загрузки того или иного ресурса, который будет учтён при планировании порядка загрузки ресурсов, загружаемых через HTTP/2 и HTTP/3. Для установки приоритетов в API HTMLLinkElement, HTMLScriptElement и HTMLImageElement также реализовано свойство fetchPriority, а в конструктор Request() добавлена поддержка параметра “options.priority”. Среди допустимых значений приоритета: auto, low и high.
- Следом за другими браузерами в Firefox прекращена поддержка технологии Server Push, определённой в стандартах HTTP/2 и HTTP/3, и позволяющей серверу отправить ресурсы клиенту, не дожидаясь их явного запроса.
- В инструменты для web-разработчиков возвращена возможность отладки внешних устройств, подключённых через USB. В web-консоли возобновлена поддержка журналирования работы Service Worker-ов, используя API console.log.
- В версии для платформы Android в новых установках адресная строка по умолчанию перемещена в верхнюю часть экрана. Для перемещения адресной строки вниз можно воспользоваться настройкой “Customize > Toolbar”. В мета-теге “viewport” в параметре “interactive-widget” по умолчанию отныне выставлено значение “resizes-visual”, при котором появление экранной клавиатуры приводит к изменению размера видимой области (visual viewport), но не меняет размер области отрисовки (layout viewport), что позволяет избежать ресурсоёмкой перерисовки содержимого.
Кроме новшеств и исправления ошибок в Firefox 132 устранено 17 уязвимостей. Две уязвимости помечены как опасные, но при этом ещё 7 уязвимостей, собранных под CVE-2024-10467, вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.
В переведённом на стадию бета-тестирования выпуске Firefox 133 появилась возможность просмотра вкладок с других устройств через меню в правом верхнем углу. В сборках для платформы Linux добавлена поддержка дополнительных жестов на тачпаде (например, касание двумя пальцами для приостановки инертной прокрутки). В версии для Android на устройствах с большими экранами по умолчанию активирован десктоп-режим.