Компания Google представила релиз web-браузера Chrome 97. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений и передачей при поиске RLZ-параметров. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель, в которой сформировано обновление для прошлого выпуска Chrome 96. Следующий выпуск Chrome 98 запланирован на 1 февраля.
Основные изменения в Chrome 97:
- Для части пользователей в конфигураторе задействован новый интерфейс управления данными, хранимыми на стороне браузера («chrome://settings/content/all»). Ключевым отличием нового интерфейса является ориентация на настройку полномочий и очистку разом всех Cookie сайта, без возможности просмотра детализированной информации об отдельных Cookie и выборочного удаления Cookie. По мнению Google, доступ к управлению отдельными Cookie для обычного пользователя, не разбирающегося в тонкостях web-разработки, может привести к непредсказуемым нарушениям в работе сайтов из-за необдуманного изменения отдельных параметров, а также к случайному отключению активируемых через Cookie механизмов защиты конфиденциальности. Для тех кому необходимы манипуляции с отдельными Cookie рекомендовано использовать раздел управления хранилищем в инструментах для web-разработчиков (Applocation/Storage/Cookie).
- В блоке с информацией о сайте реализован вывод краткого описания сайта (например, описания из википедии), если в настройках активирован режим оптимизации поиска и навигации (опция «Make searches and browsing better»).
- Улучшена поддержка автоматического заполнения полей в web-формах.
Рекомендации с вариантами автозаполнения теперь выводятся с небольшим сдвигом и снабжаются информационными пиктограммами для более удобного предпросмотра и наглядного определения связи с заполняемым полем. Например, пиктограмма профиля даёт понять, что предлагаемое автозаполнение затрагивает поля, связанные с адресом и контактной информацией. - Обеспечено удалений из памяти обработчиков пользовательских профилей после закрытия связанных с ними окон браузера. Ранее профили оставались в памяти и продолжали выполнять работы, связанные с синхронизацией и выполнением фоновых скриптов дополнений, что приводило к необоснованной трате ресурсов на системах, в которых одновременно используется несколько профилей (например, гостевой профиль и привязка к учётной записи в Google). Кроме того, обеспечена более тщательная чистка данных, остающихся в процессе работы с профилем.
- Улучшена страница с настройками поисковых систем («Settings>Manage search engines»). Отключена автоматическая активация движков, информация о которых выдаётся при открытии сайта через сценарий OpenSearch — новые движки для обработки поисковых запросов из адресной строки теперь нужно активировать в настройках вручную (ранее автоматически активированные движки продолжат работать без изменений).
- Начиная с 17 января в каталог Chrome Web Store перестанут приниматься дополнения, использующие вторую версию манифеста Chrome, но разработчики ранее добавленных дополнений, как и раньше, смогут публиковать обновления.
- Добавлена экспериментальная поддержка спецификации WebTransport, определяющей протокол и сопутствующий JavaScript API для отправки и приёма данных между браузером и сервером. Канал связи организуется поверх HTTP/3 с использованием в качестве транспорта протокола QUIC. WebTransport может использоваться вместо механизма WebSockets, предлагая такие дополнительные возможности, как организация передачи в несколько потоков, однонаправленные потоки, доставка без учёта порядка отправки пакетов (out-of-order), надёжный и ненадёжный режимы доставки. Кроме того, WebTransport может применяться вместо механизма Server Push, от использования которого в Chrome отказалась компания Google.
- В JavaScript-объекты Array и TypedArrays добавлены методы findLast и findLastIndex, позволяющие искать элементы c выводом результата относительно конца массива.
[1,2,3,4].findLast((el) => el % 2 === 0) // → 4 (последний чётный элемент)

При выводе ошибок в web-консоли обеспечено отображение связанных с проблемой номеров столбцов, что удобно для отладки проблем в минифицированном JavaScript-коде. Обновлён список устройств, которые можно симулировать для оценки отображения страницы на мобильных устройствах. В интерфейсе редактирования HTML-блоков (Edit as HTML) добавлена подсветка синтаксиса и возможность автодополнения ввода.
Кроме нововведений и исправления ошибок в новой версии устранено 37 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Одной из уязвимостей присвоен статус критической проблемы, позволяющей обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения. Детали о критической уязвимости (CVE-2022-0096) пока не раскрываются, известно только, что она связана с обращением к уже освобождённой области памяти в коде для работы с внутренними хранилищами (API Storage).
В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 24 премии на сумму 54 тысячи долларов США (три премии $10000, две премии $5000, одна премия $4000, три премии $3000 и одна премия $1000). Размер 14 вознаграждений пока не определён.