Релиз Chrome 96

Компания Google представила релиз web-браузера Chrome 96. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента (DRM), системой автоматической установки обновлений и передачей при поиске RLZ-параметров. Ветка Chrome 96 будет сопровождаться 8 недель в рамках цикла Extended Stable. Следующий выпуск Chrome 97 запланирован на 4 января.

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

  • В панели закладок, отображаемой под адресной строкой, по умолчанию скрыта кнопка Apps («Сервисы»), позволявшая открыть страницу «chrome://apps» со списком установленных сервисов и web-приложений.

  • Прекращена поддержка платформы Android 5.0 и более ранних версий.
  • Добавлена поддержка перенаправления с HTTP на HTTPS с использованием DNS (при определении IP-адресов помимо DNS-записей «A» и «AAAA» также запрашивается DNS-запись «HTTPS», при наличии которой браузер сразу подключится к сайту по HTTPS).
  • В редакции для десктоп-систем кэш перехода (Back-forward cache), обеспечивающий мгновенный переход при использовании кнопок «Назад» и «Вперёд», расширен поддержкой навигации по ранее просмотренным страницам после открытия другого сайта.
  • Добавлена настройка «chrome://flags#force-major-version-to-100» для тестирования возможного нарушения работы сайтов после достижения браузером версии, состоящей из трёх цифр вместо двух (в своё время после выпуска Chrome 10 в библиотеках разбора User-Agent всплыло много проблем). При активации опции в заголовке User-Agent начинает выдаваться версия 100 (Chrome/100.0.4664.45).
  • В сборках для платформы Windows данные, связанные с работой сетевых сервисов (cookie и т.п.), перемещены в отдельный подкаталог «Network» в рамках подготовки к реализации механизма сетевой изоляции (Network Sandbox).
  • В режиме Origin Trials (экспериментальные возможности, требующие отдельной активации) добавлено несколько новых API. Origin Trial подразумевает возможность работы с указанным API из приложений, загруженных с localhost или 127.0.0.1, или после прохождения регистрации и получения специального токена, который действует ограниченное время для конкретного сайта.
    • Предложен объект FocusableMediaStreamTrack (будет переименован в BrowserCaptureMediaStreamTrack), поддерживающий метод focus(), при помощи которого приложения, осуществляющие захват содержимого окон или вкладок (например, программы для трансляции содержимого окон во время видеоконференций), могут получить информацию о фокусе ввода и отследить его изменение.
    • Реализован механизм Priority Hints, позволяющий задать важность того или иного загружаемого ресурса через указание дополнительного атрибута «importance» в тегах, таких как iframe, img и link. Атрибут может принимать значения «auto» и «low», and «high», которые влияют на порядок загрузки браузером внешних ресурсов.
  • В заголовок Cross-Origin-Embedder-Policy, управляющий режимом изоляции Cross-Origin и позволяющий определять правила безопасного использования на странице привилегированных операций, добавлена поддержка параметра «credentialless» для отключения передачи информации, связанной с учётными данными, такой как Cookie и клиентские сертификаты.
  • В CSS предложен новый псевдо-класс «:autofill», позволяющий отследить автоматическое заполнение браузером полей в теге input (при ручном заполнении селектор не срабатывает).
  • Для исключения зацикливаний запросов CSS-свойства writing-mode, direction и backgrounds теперь не распространяются на viewport при применении CSS-свойства contain (CSS Containment) к тегам HTML или BODY.
  • Добавлено CSS-свойство font-synthesis, позволяющего управлять возможностью синтеза начертаний (oblique, bold и small-cap), отсутствующих в выбранном семействе шрифтов.
  • В API PerformanceEventTiming, позволяющем получить дополнительные сведения для измерения и оптимизации отзывчивости интерфейса, добавлен атрибут InteractionID с идентификатором взаимодействия с пользователем. Идентификатор позволяет связывать разные метрики с одним действием пользователя, например, при касании к сенсорному экрану генерируется несколько событий, таких как pointerdown, mousedown, pointerup, mouseup и click, и InteractionID позволяет связать все эти события с одним касанием.
  • Добавлен новый тип медиавыражений (Media Query) — «prefers-contras» для адаптации содержимого страницы к настройкам контрастности, выставленным в операционной системе (например, включению режима высокой контрастности).
  • Для обособленных PWA-приложений в манифесте добавлена поддержка необязательного поля «id» с глобальным идентификатором приложения (если поле не указано для идентификации используется стартовый URL).
  • Для обособленных PWA-приложений реализована возможность регистрации в качестве обработчиков URL. Например, приложение music.example.com может зарегистрировать себя как обработчик URL https://*.music.example.com и все переходы из внешних приложений по данным ссылкам, например, из мессенджеров и почтовых клиентов, будут приводить к открытию данного PWA-приложений, а не новой вкладки в браузере.
  • Добавлена директива CSP (Content Security Policy) wasm-unsafe-eval для управления возможностью запуска кода на WebAssembly. Применение CSP-директивы script-src теперь охватывает и WebAssembly.
  • В WebAssembly добавлена поддержка ссылочных типов (тип externref). Модули WebAssembly теперь могут хранить в переменных и передавать в качестве аргументов ссылки на объекты JavaScript и DOM.
  • В PaymentMethodData объявлена устаревшей поддержка метода платежей «basic-card», позволявшего организовать работу с любыми типами карт через единый идентификатор, без привязки к отдельным типам данных. Вместо «basic-card» предлагается использовать альтернативные методы, такие как Google Pay, Apple Pay и Samsung Pay.
  • При использовании сайтом API U2F (Cryptotoken) пользователю будет показываться предупреждение с информацией об устаревании данного программного интерфейса. API U2F будет отключён по умолчанию в выпуске Chrome 98 и полностью удалён в Chrome 104. Вместо API U2F следует использовать API Web Authentication.
  • Внесены улучшения в инструменты для web-разработчиков. Добавлена новая панель «Обзор CSS» (CSS Overview), в которой предлагается сводка информации о цветах, шрифтах, неиспользуемых объявлениях и медиавыражениях, а также выделяются возможные проблемы. Улучшены операции редактирования и копирования CSS. В панели Стили (Styles) в контекстное меню добавлена опция для копирования CSS-определений в форме выражений JavaScript. В панели инспектирования сетевых запросов добавлена вкладка Payload с разбором параметров запроса. В web-консоли добавлена опция для скрытия всех ошибок CORS (Cross-Origin Resource Sharing) и обеспечен вывод трассировки стека для функций async.

Кроме нововведений и исправления ошибок в новой версии устранено 25 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 13 премий на сумму 60 тысячи долларов США (одна премия $15000, одна премия $10000, две премии $7500, одна премия $5000, две премии $3000, одна премия $2500, две премии в $2000, две премии $1000 и одна премия $500). Размер 5 вознаграждений пока не определён.

OpenNet

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *