02.07.2022

Релиз Chrome 100

Компания Google представила релиз web-браузера Chrome 100. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений и передачей при поиске RLZ-параметров. Следующий выпуск Chrome 101 запланирован на 26 апреля.

Основные изменения в Chrome 100:

  • В связи достижением браузером номера версии 100, состоящей из трёх цифр вместо двух, не исключены нарушения в работе некоторых сайтов, использующих некорректные библиотеки для разбора значения User-Agent.
    На случай возникновения проблем предусмотрена настройка «chrome://flags##force-major-version-to-minor», позволяющая вернуть вывод в заголовке User-Agent версии 99 при фактическом использовании версии 100.
  • Chrome 100 отмечен как последняя версия с полноценными содержимым User-Agent. В следующем выпуске начнётся урезание информации в HTTP-заголовке User-Agent и JavaScript параметрах navigator.userAgent, navigator.appVersion и navigator.platform. В заголовке будут оставлены только сведения о названии браузера, значительной версии браузера, платформе и типе устройства (мобильный телефон, ПК, планшет). Для получения дополнительных данных, таких как точная версия и расширенные данные о платформе, необходимо будет использовать API User Agent Client Hints. Для сайтов, которым новой информации недостаточно и которые ещё не готовы перейти на User Agent Client Hints, до мая 2023 предоставлена возможность возвращения полного User-Agent.
  • Добавлена экспериментальная возможность показа в панели с адресной строкой индикатора загрузок, при клике на который показывается состояние загружаемых и загруженных файлов по аналогии со страницей chrome://downloads. Для активации индикатора предусмотрена настройка «chrome://flags#download-bubble».
  • Возвращена возможность отключения звука при клике на индикатор воспроизведения, показываемый на кнопке вкладки (ранее звук можно было отключить через вызов контекстного меню). Для включения данной возможности добавлена настройка «chrome://flags#enable-tab-audio-muting».
  • Добавлена настройка «chrome://flags/#enable-lens-standalone» для отключения применения сервиса Google Lens для поиска по изображению (пункт «Найти изображение» в контекстном меню).
  • При предоставлении совместного доступа к вкладке (tab-sharing) синей рамкой теперь выделяется не вся вкладка, а только часть с транслируемым другому пользователю содержимым.
  • Изменён логотип браузера. От варианта 2014 года новый логотип отличается чуть большим кругом в середине, более яркими цветами и отсутствием теней на границах между цветами.
  • Изменения в версии для Android:
    • Прекращена поддержка режима экономии трафика «Lite», при котором снижался битрейт при загрузке видео и применялось дополнительное сжатие изображений. Отмечается, что режим удалён из-за снижения стоимости тарифов в мобильных сетях и развития других методов уменьшения трафика.
    • Добавлена возможность выполнения действий с браузером из адресной строки. Например, можно набрать «удалить историю» и браузер предложит перейти к форме очистки истории перемещений или «редактировать пароли» и браузер откроет менеджер паролей. Для настольных систем указанная возможность была реализована в версии Chrome 87.
    • Реализована поддержка входа в учётную запись Google через сканирование QR-кода, показанного на экране другого устройства.
    • Обеспечен вывод диалога подтверждения операции при попытке закрытия разом всех вкладок.
    • На странице открытия новой вкладки появился переключатель между просмотром RSS-подписок (Following) и рекомендуемым контентом (Discover).
    • Прекращена возможность использования протоколов TLS 1.0/1.1 в компоненте Android WebView. В самом браузере поддержка TLS 1.0/1.1 была удалена в выпуске Chrome 98. В нынешней версии аналогичное изменение применено к мобильным приложениям, использующим компонент WebView, которые теперь не смогут соединиться с сервером, не поддерживающим TLS 1.2 или TLS 1.3.
  • При проверке сертификатов с использованием механизма Certificate Transparency для подтверждения сертификата теперь требуется наличие подписанных SCT-записей (signed certificate timestamp) в любых двух логах, поддерживаемых разными операторами (раньше требовалась запись в логе Google и логе любого другого оператора). Certificate Transparency обеспечивает ведение независимых публичных логов всех выданных и отозванных сертификатов,
    которые дают возможность проводить независимый аудит всех изменений и действий удостоверяющих центров, и позволяют отслеживать любые попытки скрытого создания поддельных записей.

    Для пользователей, включивших режим Safe Browsing, по умолчанию активирован аудит записей SCT, используемых в логах Certificate Transparency. Данное изменение приведёт к отправке дополнительных запросов к Google для подтверждения корректности работы лога. Проверочные запросы отправляются очень редко, примерно раз на 10000 TLS-соединений. В случае выявления проблем в Google будут переданы данные о проблемной цепочке сертификатов и SCT (передаются только уже публично распространяемые данные о сертификатах и SCT).

  • При включении расширенного режима защиты от опасных сайтов (Enhanced Safe Browsing) и входе в учётную запись Google, в отправляемые на серверы Google данные об инцидентах теперь включаются токены, привязанные к учётной записи в Google, что позволяет усилить защиту от фишинга, вредоносной активности и прочих угроз в Web. Для сеансов в режиме инкогнито подобные данные не передаются.
  • В версии Chrome для рабочего стола предоставлена возможность отклонения предупреждений об использовании скомпрометированных паролей.
  • Добавлен API Multi-Screen Window Placement, через который можно получить информацию о подключённых к компьютеру мониторах и организовать размещения окон на заданных экранах. При помощи нового API также можно точно выбирать позицию выводимых окон и определять переход в полноэкранный режим, инициированный при помощи метода Element.requestFullscreen(). В качестве примеров использования нового API упоминаются приложения для показа презентаций (вывод на проектор и показ примечаний на экране ноутбука), финансовые приложения и системы мониторинга (размещение графиков на разных экранах), медицинские приложения (показ изображений на отдельных экранах с высоким разрешением), игры, графические редакторы и другие типы многооконных приложений.
  • В режиме Origin Trials (экспериментальные возможности, требующие отдельной активации) реализована поддержка доступа к Media Source Extensions из выделенных worker-ов, что можно использовать, например, для повышения производительности буферизированного воспроизведения мультимедийных данных через создание объекта MediaSource в отдельном worker-е и трансляцию результатов его работы в HTMLMediaElement в основном потоке. Origin Trial подразумевает возможность работы с указанным API из приложений, загруженных с localhost или 127.0.0.1, или после прохождения регистрации и получения специального токена, который действует ограниченное время для конкретного сайта.
  • Стабилизирован и предложен всем желающим API Digital Goods, предназначенный для упрощения организации покупок из web-приложений. Обеспечивает связывание с сервисами распространения товаров, в Android предоставляет обвязку над API Android Play Billing.
  • Добавлен метод AbortSignal.throwIfAborted(), позволяющий обработать прерывание выполнения сигнала с учётом состояния сигнала и причины его прерывания.
  • В объект HIDDevice добавлен метод forget(), позволяющий отозвать предоставленные пользователем полномочия доступа к устройству ввода.
  • В CSS-свойство mix-blend-mode, определяющее метод смешивания при наложении элементов, добавлена поддержка значения «plus-lighter» для подсвечивания пересечений двух элементов, имеющих общие пиксели.
  • В объект NDEFReader добавлен метод makeReadOnly(), позволяющий использовать NFC-теги в режиме только для чтения.
  • В API WebTransport, предназначенный для отправки и приёма данных между браузером и сервером, добавлена опция serverCertificateHashes для аутентификации подключения к серверу при помощи хэша сертификата без использования Web PKI (например, когда осуществляется подключение к серверу или виртуальной машине не в публичной сети).
  • Внесены улучшения в инструменты для web-разработчиков. Расширены возможности панели Recorder, при помощи которой можно записывать, воспроизводить и анализировать действия пользователя на странице. При просмотре кода в процессе отладки обеспечен вывод значений свойств при наведении мыши на классы или функции. В списке эмулируемых устройств User-Agent для iPhone обновлён до версии версии 13_2_3. В панели навигации по CSS-стилям реализована возможность просмотра и редактирования правил «@supports».

Кроме нововведений и исправления ошибок в новой версии устранено 28 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 20 премий на сумму 51 тысяча долларов США (одна премия $16000, две премии $7000, три премии $5000 и по одной премии в $3000, $2000 и $1000. Размер 11 вознаграждений пока не определён.

Источник.