Состоялся релиз web-браузера Firefox 126 и сформировано обновление ветки с длительным сроком поддержки – 115.11.0. На стадию бета-тестирования переведена ветка Firefox 127, релиз которой намечен на 11 июня.
Основные новшества в Firefox 126:
- В контекстное меню добавлена операция “Copy Link Without Site Tracking”, позволяющая скопировать URL выбранной ссылки в буфер обмена, предварительно вырезав из него параметры запроса, которые используются для отслеживания переходов между сайтами. Например, при копировании ссылки будут удалены параметры mc_eid и fbclid, применяемые при переходе со страниц Facebook. Всего осуществляется вырезание более 300 параметров, применяемых для отслеживания, среди которых параметры используемые в крупнейших интернет-магазинах.
- Добавлена поддержка кодирования контента при помощи алгоритма сжатия Zstandard (zstd), помимо ранее поддерживаемых алгоритмов gzip, brotli и deflate. При отправке запросов Firefox теперь выставляет в HTTP-заголовке “Content-encoding” значение “gzip, deflate, br, zstd”. Из крупных сайтов, поддерживающих отдачу сжатых данных в формате zstd, отмечается Facebook.
- Добавлена экспериментальная возможность автоматизированного машинного перевода фрагментов текста, выделенных на странице (ранее поддерживался только перевод страницы целиком). Функция перевода вызывается через контекстное меню, показываемое при нажатии правой кнопки мыши на выделенном блоке текста. Для активации перевода фрагментов в about:config добавлена настройка browser.translations.select.enable.
- Реализована передача дополнительной телеметрии с агрегированными счётчиками поисковых запросов разных категорий. Категории охватываются 20 обобщённых типов контента, например, спорт, бизнес и путешествия. Утверждается, что собираемая информация необходима для разработки новых возможностей поиска. Данные сохраняются без привязки к отдельным пользователям. Для удаления информации об IP-адресе пользователя применяется технология OHTTP (Oblivious-HTTP), обеспечивающая перенаправление через дополнительные промежуточные узлы зашифрованных HTTP-сообщений, так что конечный сервер получает запрос не от IP пользователя, а от IP транзитного узла.
- Временно отключена добавленная в Firefox 125 возможность быстрого перехода по ссылке, сохранённой в буфере обмена (если во время нажатия на адресную строку в буфере обмена находится URL, автоматически данный URL показывался в качестве начальной рекомендации для перехода). В качестве причины отключения упоминаются проблемы с производительностью.
- В сборках для macOS на компьютерах Mac с CPU M3 включено аппаратное ускорение декодирования видео в формате AV1.
- Добавлен метод URL.parse(), возвращающий объект URL, представляющий ссылку, указанную в параметрах. В отличие от конструктора URL() новый метод в случае проблем с разбором возвращает null, вместо генерации исключения.
- Включена поддержка CSS-свойства zoom, позволяющего уменьшать или увеличивать масштаб отдельных элементов. Для определения применённого к элементу уровня масштаба предложено свойство Element.currentCSSZoom, доступное только для чтения.
- Добавлена возможность отражения состояния собственных HTML-элементов (custom element) в CSS через псевдо-класс “:state()“. Функциональность реализована по аналогии с возможностью штатных HTML-элементов менять своё состояние в зависимости от взаимодействия с пользователем.
- Добавлено свойство Selection.direction, определяющее направление выделения.
- Добавлена поддержка API Screen Wake Lock, позволяющего web-приложению, например, мультимедийному проигрывателю, блокировать вызов хранителя экрана после длительной неактивности пользователя.
- В API IndexedDB добавлен метод IDBFactory.databases для перебора имеющихся БД (возвращает массив объектов, содержащих имя и версию доступных БД).
- В API Selection добавлена экспериментальная поддержка выделения, пересекающего границы теневого DOM.
Включается через dom.shadowdom.selection_across_boundary.enabled в about:config. - В CSS добавлена экспериментальная функция shape(), позволяющая формировать фигуры с использованием CSS-свойств clip-path и offset-path. Включается через layout.css.basic-shape-shape.enabled в about:config.
- Работа редактора стилей в инструментах web-разработчиков ускорена на 15-20%.
- В инструментах для web-разработчиков добавлена настройка “Show split console” для включения/выключения режима, отображающего web-консоль одновременно с другими web-интерфейсами.
- В версии для Android решены проблемы с отображением панели с адресной строкой на устройствах со складываемыми экранами. Для унификации с настольной версией настройки “Add-ons” переименованы в “Extensions”.
Кроме новшеств и исправления ошибок в Firefox 126 устранена 21 уязвимость. Две уязвимости помечены как опасные. Первая опасная уязвимость (CVE-2024-4764) приводит к обращению к уже освобождённой области памяти при обработке нескольких WebRTC-потоков со звуком. Вторая опасная уязвимость (CVE-2024-4367) позволяет добиться выполнения JavaScript-кода при обработке во встроенном PDF-просмотрщике специально оформленных шрифтов. Ещё 9 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.