Выпуск web-браузера Chrome 129

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

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

  • Добавлена возможность настройки содержимого панели инструментов, позволяющая пользователю закреплять, откреплять и менять местами пиктограммы при помощи конфигуратора, отображаемого в боковой панели. Например, можно разместить на панели кнопки для вызова интерфейса для разработчиков, очистки данных о работе браузера, открытия режима для чтения, перехода в диспетчер задач, перехода в менеджер паролей и т.п. Для управления закреплением пиктограмм добавлен параметр «chrome://flags/#toolbar-pinning».

    CFD0C5CECEC5D4_1727026924.png

  • Предложена функция сравнения вкладок, позволяющая использовать элементы машинного обучения для генерации сравнительного обзора товаров, страницы с информацией о которых открытых в разных вкладках. Возможность пока доступна только для пользователей из США.

    CFD0C5CECEC5D4_1727020029.png

  • В версии для платформы Android реализовано перемещение неактивных вкладок в отдельную секцию (Inactive Tabs) интерфейса переключения между вкладками. Имеется возможность просмотра всех старых вкладок и из закрытия разом. По умолчанию новая возможность включена для 1% пользователей. После нахождения в секции Inactive Tabs больше 60 дней вкладки автоматически удаляются. Возможность пока активирована для 1% пользователей.

  • Добавлен экспериментальный режим совместного использования процессов, суть которого в том, что для разных вкладок, в которых открыт один и тот же сайт, будет использоваться один общий процесс отрисовки, вместо раздельных процессов. Изменение позволяет ускорить загрузку страниц и снизить потребление памяти. Для включения режиме добавлена настройка «chrome://flags/#enable-process-per-site-up-to-main-frame-threshold».

  • Прекращена поддержка платформы macOS 10.15, сопровождение которой было прекращено компанией Apple в 2022 году.

  • Для платформ Windows и macOS в конфигураторе реализован новый интерфейс управления сертификатами (ранее на данных платформах вызывались системные интерфейсы управления ключами).

  • Обеспечена блокировка доступа к IP 0.0.0.0 для предотвращения атак на локальные сервисы.

  • Анонсирована предстоящая замена в TLS алгоритма обмена ключами Kyber768+X25519 на ML-KEM768+X25519, основанный на недавно принятом стандарте ML-KEM, который основан на постквантовом алгоритме Кyber, но полностью не совместим с прошлой реализацией.

  • Добавлена возможность предоставления сайтам одноразовых полномочий, действующих только в рамах текущего сеанса (например, можно предоставить доступ к камере и микрофону, который будет действовать до закрытия вкладки или перехода на другой сайт).

  • В API Scheduler добавлен метод «scheduler.yield ()», позволяющий при выполнении длительных задач на время возвращать управление в основной поток браузера, что позволяет приостанавливать текущую длительную задачу для выполнения важных работ, таких как обработка ввода и отрисовка кадров. Идея в том, чтобы разбить длительно выполняемые задачи на более мелкие, периодически передавая управление в основной поток через вызов «await scheduler.yield ();» в коде, что позволяет уменьшить негативное влияние длительно выполняемых задач на отзывчивость при работе с сайтом.



    CFD0C5CECEC5D4_1727032993.png

  • Добавлено CSS-свойство «interpolate-size», позволяющее выбирать размер анимации не в абсолютных величинах, а относительно значений, вычисленных при использовании свойств auto, min-content или fit-content. Для более точного управления размером предложена CSS-функция calc-size (), похожая на calc (), но поддерживающая операции с фактическим размером элементов, меняющимся в зависимости от содержимого.

  • Внесены изменения в CSS-свойства для управления показом элементов, привязанных к местоположению других элементов (CSS Anchor Positioning), без использования JavaScript, например, для прикрепления к элементам всплывающих окон (popover), появляющихся по аналогии со всплывающими подсказками. В соответствии с рекомендацией рабочей группы, занимающейся стандартизацией СSS, CSS-свойство «inset-area» переименовано в «position-area», свойство «position-try-options» переименовано в «position-try-fallbacks», а в свойстве «position-try» убрана необходимость указания inset-area (), т.е. вместо «position-try-fallbacks: inset-area (top)» следует писать «position-try-fallbacks: top».

  • В API Intl добавлен метод Intl.DurationFormat для форматирования данных о продолжительности во времени с учётом выбранной локали. Например:
       const l = "ru-RU";
       const d = {hours: 1, minutes: 46, seconds: 40};
       const opts = {style: "long"};
       new Intl.DurationFormat(l, opts).format(d);
       // "1 час, 46 минут 40 секунд"
    
  • В APU Web GPU реализована возможность при выводе HDR-изображений использования всего диапазона яркости, поддерживаемого экраном.

  • В API WebRTC добавлена поддержка отправки блобов при помощи метода RTCDataChannel.send (Blob) и получения данных с типом Blob при обработке события onMessage при указании значения «blob» в атрибуте «binaryType» (ранее поддерживалась передача строк и ArrayBuffer). Размер блоба ограничен значением maxMessageSize.

  • В API WebAuthn добавлены методы PublicKeyCredential.toJSON (), parseCreationOptionsFromJSON () и parseRequestOptionsFromJSON () для сериализации/десериализации WebAuthn-ответов c использованием формата JSON.

  • В режиме «Origin trials» реализован API FileSystemObserver, позволяющий сайтам отслеживать изменения файлов и каталогов.

  • В режиме «Origin trials» добавлен API Mesh2D Canvas для визуализации большого количества текстурированных треугольников. Из областей применения API упоминаются реализация расширенных методов текстурного маппинга и создания эффектов деформации в двумерном контексте.

  • Расширены возможности инструментов для web-разработчиков.

    Normally, when you open multiple tabs from the same website (like Google Docs), Chrome creates a separate renderer process for each. The Process sharing experiment changes this by allowing multiple tabs to share the same renderer process.

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

Источник: http://www.opennet.ru/opennews/art.shtml? num=61912

© OpenNet