Состоялся релиз 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.
Реализован, но пока не включён по умолчанию новый упрощённый и унифицированный диалог для очистки данных пользователя, в котором улучшено разделение данных на категории и добавлены сведения о размере данных, сохранённых за выбранный промежуток времени. Для включения в about:config слудует выставить параметр privacy.sanitize.useOldClearHistoryDialog в значение false.
В панель персонализации страницы, показываемой при открытии новой вкладки, добавлена секция для выбора фоновых изображений. Для включения необходимо активировать настройку browser.newtabpage.activity-stream.newtabWallpapers.enabled на странице about:config.
Добавлена начальная реализация механизма Text Fragments, позволяющего создавать ссылки на определённые отрывки текста на странице, например, при переходе по ссылке "opennet.me#:~:text=OpenSSL" браузер прокрутит страницу на позицию со словом OpenSSL и выделит его цветом.
Реализована передача дополнительной телеметрии с агрегированными счётчиками поисковых запросов разных категорий. Категории охватываются 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.
Реализовано CSS-правило "@starting-style" для применения стиля при создании entry-анимации на стадии до открытия элемента на странице (в состоянии "display: none").
Добавлены методы JSON.rawJSON() и JSON.isRawJSON() для создания и проверки объектов JSON, содержащих текст с разметкой JSON.
В API Fetch Request добавлена поддержка keepalive.
Работа редактора стилей в инструментах web-разработчиков ускорена на 15-20%.
В инструментах для web-разработчиков добавлена настройка "Show split console" для включения/выключения режима, отображающего web-консоль одновременно с другими панелями.
В версии для Android решены проблемы с отображением панели с адресной строкой на устройствах со складными экранами. Для унификации с настольной версией настройки "Add-ons" переименованы в "Extensions".
Кроме новшеств и исправления ошибок в Firefox 126 устранена 21 уязвимость. Две уязвимости помечены как опасные. Первая опасная уязвимость (CVE-2024-4764) приводит к обращению к уже освобождённой области памяти при обработке нескольких WebRTC-потоков со звуком. Вторая опасная уязвимость (CVE-2024-4367) позволяет добиться выполнения JavaScript-кода при обработке во встроенном PDF-просмотрщике специально оформленных шрифтов. Ещё 9 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.
источник: opennet.ru
Основные новшества в Firefox 126:
В контекстное меню добавлена операция "Copy Link Without Site Tracking", позволяющая скопировать URL выбранной ссылки в буфер обмена, предварительно вырезав из него параметры запроса, которые используются для отслеживания переходов между сайтами. Например, при копировании ссылки будут удалены параметры mc_eid и fbclid, применяемые при переходе со страниц Facebook. Всего осуществляется вырезание более 300 параметров, применяемых для отслеживания, среди которых параметры, используемые в крупнейших интернет-магазинах.
Добавлена экспериментальная возможность автоматизированного машинного перевода фрагментов текста, выделенных на странице (ранее поддерживался только перевод страницы целиком). Функция перевода вызывается через контекстное меню, показываемое при нажатии правой кнопки мыши на выделенном блоке текста. Для активации перевода фрагментов в about:config добавлена настройка browser.translations.select.enable.
Добавлена начальная реализация механизма Text Fragments, позволяющего создавать ссылки на определённые отрывки текста на странице, например, при переходе по ссылке "opennet.me#:~:text=OpenSSL" браузер прокрутит страницу на позицию со словом OpenSSL и выделит его цветом.
Реализована передача дополнительной телеметрии с агрегированными счётчиками поисковых запросов разных категорий. Категории охватываются 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.
Реализовано CSS-правило "@starting-style" для применения стиля при создании entry-анимации на стадии до открытия элемента на странице (в состоянии "display: none").
Добавлены методы JSON.rawJSON() и JSON.isRawJSON() для создания и проверки объектов JSON, содержащих текст с разметкой JSON.
В API Fetch Request добавлена поддержка keepalive.
Работа редактора стилей в инструментах web-разработчиков ускорена на 15-20%.
В инструментах для web-разработчиков добавлена настройка "Show split console" для включения/выключения режима, отображающего web-консоль одновременно с другими панелями.
Кроме новшеств и исправления ошибок в Firefox 126 устранена 21 уязвимость. Две уязвимости помечены как опасные. Первая опасная уязвимость (CVE-2024-4764) приводит к обращению к уже освобождённой области памяти при обработке нескольких WebRTC-потоков со звуком. Вторая опасная уязвимость (CVE-2024-4367) позволяет добиться выполнения JavaScript-кода при обработке во встроенном PDF-просмотрщике специально оформленных шрифтов. Ещё 9 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.
источник: opennet.ru