Компания Google опубликовала релиз web-браузера Chrome 131. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей при поиске RLZ-параметров. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 132 запланирован на 14 января.
Основные изменения в Chrome 131:
- Во встроенном PDF-просмотрщике расширена возможность распознавания текста в отсканированных PDF-документах, в которых текст размещён в виде изображения. Текст распознаётся на локальной системе при помощи встроенного движка оптического распознавания символов (OCR), построенного на базе машинного обучения. В отличие от прошлых версий отсканированные документы теперь автоматически преобразуются в текстовое представление, для которого доступны функции выделения, поиска и копирования в буфер обмена.
- Представлена возможность включения расширенных проверок в системе распределения памяти PartitionAlloc, которые позволяют блокировать уязвимости, вызванные обращением к уже освобождённым областям памяти (use-after-free). По умолчанию данные проверки отключены из-за возможного негативного влияния на производительность. Тем не менее, для внедрений, в которых безопасность важнее производительности, теперь предоставляется отдельные enterprise-политики для активации дополнительной защиты.
- Во встроенном хранилище корневых сертификатов (Chrome Root Store) прекращено доверие к удостоверяющему центру Entrust из-за множественных нарушений требований к удостоверяющим центрам, не соблюдение сроков реагирования на проблемные сертификаты, затягивание отзыва сертификатов, ненадлежащее оформление отчётов об инцидентах и не соблюдение правил при выдаче TLS-сертификатов уровня EV (Extended Validation), требующих проведения проверки документов о принадлежности домена и подтверждение владельца ресурса. В связи с отсутствием действий по устранению выявленных недостатков, TLS-сертификаты, выданные Entrust после 11 ноября 2024 года, воспринимаются в Chrome как не заслуживающие доверия. Сертификаты, выпущенные до 11 ноября, продолжают восприниматься как нормальные.
- В версии для Android включена возможность подключения сторонних провайдеров автоматического заполнения форм и сохранения паролей, не завязанная на API Accessibility.
- В версии для Android упрощено подключение к учётной записи в Google и управление синхронизацией данных между разными браузерами. Синхронизация больше не преподносится как отдельная функция в настройках, а объединена с функцией подключения к учётной записи Google, что позволяет использовать и сохранять в Google Account такую информацию, как пароли и закладки.
- Началась постепенная активация среди пользователей нового режима экономии потребления энергии (Energy saver), при котором автоматически замораживаются вкладки, потребляющие много ресурсов CPU, но при этом не выводящие звук и скрытые в течение более 5 минут. Исключение делается только для вкладок, связанных с управлением внешними устройствами или проведением видео и аудио конференций (подобные вкладки определяются на основании доступа к API для работы с USB, Bluetooth, камерой, устройствами ввода и микрофоном, а также организации канала связи с использованием RTCDataChannel или MediaStreamTrack). Для управления включением автозаморозки можно использовать настройку “chrome://flags/#freezing-on-energy-saver”.
- Добавлены экспериментальные режимы экономии памяти (Memory saver) – Moderate, Balanced и Maximum, позволяющие выбрать метод высвобождения памяти от неактивных вкладок.
В режиме Moderate память вкладки деактивируются при нехватке памяти в системе, в режиме Maximum вкладки деактивируются через небольшое время после того как становятся неактивными, а в режиме Balanced неактивные вкладки деактивируются с учётом свободной памяти в системе. - Добавлены дополнительные настройки, связанные с производительностью, например, появилась возможность указания сайтов, постоянно остающихся в активном режиме (без замедления работы в фоне), выбора способа визуальной индикации деактивированных вкладок и показа потребления памяти во всплывающих эскизах вкладок.
- Добавлен инструмент “Performance Detection”, выявляющий потенциальные проблемы с производительностью просматриваемых страниц и выводящий уведомление с рекомендациями по решению проблемы в один клик. Например, чтобы ускорить текущую вкладку браузер может предложить деактивировать другие вкладки, потребляющие много ресурсов.
- В TLS 1.3 и QUIC устойчивый к подбору на квантовых компьютерах алгоритм инкапсуляции ключей (KEM, Key Encapsulation Mechanism) “X25519Kyber768” переведён на использование финальной спецификации ML-KEM (CRYSTALS-Kyber), стандартизированной Национальным институтом стандартов и технологий США (NIST). X25519Kyber768 представляет собой комбинацию из X25519 ECDH и алгоритма ML-KEM, использующего методы криптографии, основанные на решении задач теории решёток, время решения которых не отличается на обычных и квантовых компьютерах.
- В функцию поиска по изображению при помощи сервиса Google Lens, доступную через контекстное меню, добавлена поддержка наложения перевода на другой язык (переведённый текст показывается поверх исходного текста на изображении).
- Добавлен API Direct Sockets, позволяющий устанавливать прямые TCP- и UDP-соединения с внешними системами, а также создавать слушающие сокеты для приёма соединений. При первой первой попытке соединения с новым хостом пользователю выводится запрос для подтверждения операции. Необходимость добавления нового API объясняется предоставлением возможности взаимодействия с сетевыми устройствами, которые используют собственные протоколы, работающие поверх TCP и UDP, и не поддерживают взаимодействие через HTTPS или WebSockets.
- В режиме “Origin trials” реализован API Summarizer для резюмирования текста (краткого изложения сути), используя большую языковую модель.
- В режиме “Origin trials” добавлен Playout Statistics, определяющий интерфейс AudioContext.playoutStats для получения статистики о качестве и задержках при воспроизведения звука через API WebAudio.
- Для защиты от злоупотреблений добавлен вывод запроса подтверждения полномочий при использовании сайтом API Keyboard Lock и Pointer Lock, предоставляющих дополнительный контроль над клавиатурой и мышью (например, можно скрыть штатный указатель мыши и обеспечить собственную обработку перемещения мыши). Проверить статус предоставления полномочий можно через API Permissions.
- Разрешено указание дополнительных тегов в HTML-элемента “”, помимо штатных тегов “”, ”
” и ““. Изменение внесено в качестве подготовки к реализации в будущих выпусках настраиваемого варианта “”, расширяющего возможности оформления меню.
- В CSS-свойствах “clip-path”, “fill”, “stroke” и “marker-*” добавлена поддержка указания внешних SVG-ресурсов. Например, теперь можно указывать ‘clip-path: url(“resources.svg#myPath”)’.
- Изменена модель наследования свойств стилей выделения текста, определяемых через псевдоклассы “::selection” и “::target-text”, которая приведена к модели наследования псевдоклассов “::highlight”, “::spelling-error” и “::grammar-error”, и теперь зависит не от структуры документа (цепочки HTML-элементов), а от того, как выделяется текст (цепочки выделения). В примере ниже цвет вложенных элементов с текстом в параграфе “
” теперь будет выбран в соответствии со стилем псевдокласса “::selection”, а не стилем цвета, указанного для параграфа.
p { color: deeppink; } .blue::selection { color: blue; }
This is emphasized text.
- Убраны ограничения, не позволявшие выставлять CSS-свойства “display” для HTML-элементов “” и “”. В CSS добавлен псевдоэлемент “::details-content” для настройки оформления сворачиваемого и раскрываемого блока.
- Добавлено CSS-свойство font-variant-emoji для настройки стиля для отображения Emoji. Например, можно выбрать текстовое или графическое представление.
- В CSS-правиле @page, предназначенном для изменения оформления страницы перед выводом на печать или экспортом в формат PDF, появилась возможность определения областей для размещения контента области полей страницы, например, для добавления своего заголовка, примечания сбоку или футера.
- Объявлено устаревшим CSS-свойство “inset-area”, применявшееся для управления показом элементов, привязанных к местоположению других элементов (CSS Anchor Positioning). В соответствии с рекомендацией рабочей группы, занимающейся стандартизацией СSS, на смену “inset-area” пришло полностью аналогичное свойство “position-area”.
- Расширены возможности инструментов для web-разработчиков. В панель Performance добавлены новые возможности для анализа производительности. Предложена экспериментальная панель с AI-ассистентом, в которой в форме чата можно получить ответы, возникающие при отладке CSS.
Кроме нововведений и исправления ошибок в новой версии устранены 12 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Одной проблеме присвоен высокий уровень опасности (проблема в коде для работы с расширениями в движке Blink). Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 8 премий на сумму 1 тысяча долларов США (одна премия $1000). Размер 7 вознаграждений пока не определён.