Основные изменения в Chrome 139:
- Добавлена возможность использования AI-модели для формирования поисковых рекомендаций в адресной строке и на странице открытия новой вкладки. Для показа подобных AI-рекомендаций в адресную строку добавлена кнопка «AI Mode», а в списке рекомендаций вывод от AI помечен или выделен в отдельную секцию. Возможность пока активирована по умолчанию только для части пользователей.
- В централизованно управляемых системах расширена возможность создания собственных ярлыков быстрого поиска через адресную строку (можно создать ярлык «@имя» для поиска на определённом сайте). В новой версии добавлена дополнительная настройка, позволяющая разрешить переопределение, удаление или отключение пользователем ярлыков, заданных администратором.
- В версии для Android в режимах стандартной и расширенной защиты Google Safe Browsing реализована проверка безопасности загружаемых APK-пакетов. Проверка осуществляется через обращение к серверам Google. В случае, если файл признан опасным пользователю выводится соответствующее предупреждение, а доступ к файлу блокируется (в интерфейсе предусмотрена отдельная возможность доступа в обход блокировки).
- Удалена настройка ExtensionManifestV2Availability, позволявшая вернуть поддержку второй версии манифеста Chrome, определяющего возможности и ресурсы, доступные для дополнений, написанных с использованием API WebExtensions. В браузере теперь возможно использование только дополнений на базе третьей версии манифеста.
- В официальных стабильных сборках Chrome прекращена поддержка опций командной строки «—extensions-on-chrome-urls» и «—disable-extensions-except», позволявших отключить блокировку установки рискованных дополнений, например, подставляемых в браузер без спроса пользователя. В Chromium и тестовых сборках Chrome поддержка указанных опций сохранена.
- На странице открытия новой вкладки реализована нижняя панель, на которой показывается информация о дополнениях, влияющих на содержимое страницы новой вкладки, а также сведения о применяемых политиках централизованного управления.
- Добавлена защита от случайного удаления сохранённых паролей при выборе операции полной очистки данных. При наличии сохранённых паролей браузер теперь направляет пользователя на страницу менеджера паролей, на которой можно осмысленно и по-отдельности удалить пароли и ключи passkey.
- Отключена возможность автоматического отката на использование для WebGL системы программной отрисовки SwiftShader, программно реализующей API Vulkan. В случае отсутствия должного бэкенда на базе GPU создание контекста WebGL теперь будет возвращать ошибку, а не переключаться на SwiftShader. Прекращение использования SwiftShader позволит повысить безопасность, благодаря исключению выполнения сгенерированного JIT-компилятором кода в процессе, отвечающем за взаимодействие с GPU. На платформах Linux и macOS системы без GPU больше не смогут использовать
WebGL. В Windows поддержка SwiftShader оставлена только для устройств без GPU или с проблемными GPU, добавленными в чёрный список. - Во встроенном хранилище корневых сертификатов (Chrome Root Store) прекращено доверие к удостоверяющим центрам Chunghwa Telecom и Netlock
из-за нарушений требований к удостоверяющим центрам. В связи с отсутствием действий по устранению выявленных недостатков, TLS-сертификаты, выданные Chunghwa Telecom и Netlock после 31 июля 2025 года, теперь воспринимаются в Chrome как не заслуживающие доверия. Сертификаты, выпущенные до 31 июля, продолжают восприниматься как нормальные. - В API Web Speech добавлена поддержка распознавания речи, используя локально доступные на устройстве движки. Сайт может запросить наличие движков распознавания для необходимого языка, выбрать между локальными и облачными сервисами, запросить установку необходимых ресурсов для локального распознавания и убедиться, что распознавание будет выполнено на устройстве пользователя без отправки данных во внешние сервисы.
- В CSS, помимо задания радиуса скругления при помощи свойства border-radius, реализовано свойство «corner-shape» для управления формой и кривизной углов прямоугольных элементов. Например, при помощи «corner-shape» можно делать плавные переходы от квадрата к кругу (squircle), вогнутые углы (scoop), срезать фаску (bevel) и делать вырезы (notch), а также анимировать изменение формы углов.
- Добавлена поддержка спецификации Custom Functions, позволяющей создавать собственные функции для CSS, действующие по аналогии с собственными параметризованными CSS-свойствами. Отличие сводится к тому, что CSS-свойства могут вернуть только одно фиксированное значение, а CSS-функции могут возвращать значения на основе других собственных CSS-свойств, параметров и условий. Для определения CSS-функций добавлено правило «@function».
@function --negative(--value) { result: calc(-1 * var(--value)); } @function --shadow(--shadow-color ‹color› : inherit) { result: 2px 2px var(--shadow-color, black); }
- Добавлено CSS-свойство «caret-animation», позволяющее управлять анимацией изменения курсора в полях ввода (например, мигание курсора можно заменить на собственную анимацию).
- С целью соблюдения спецификации и улучшения совместимости с другими браузерами добавлено CSS-свойство «font-width», аналогичное ранее доступному свойству «font-stretch».
- При блокировке Service Worker-а из-за срабатывания правил CSP (Content Security Policy) теперь в асинхронном режиме отправляется событие «error», вместо генерации исключения SecurityError сразу после вызова конструктора «new Worker(url)» или «new SharedWorker(url)».
- Предоставлена возможность создания единого web-приложения, работающего с несколькими доменами верхнего уровня или разными поддоменами. Для настройки привязки в манифесте предусмотрено поле «scope_extensions«.
{ "name": "Example", "display": "standalone", "start_url": "/index.html", "scope_extensions": [ { "origin": "https://*.example.com" }, { "origin": "https://example.co.uk" }, { "origin": "https://*.example.co.uk" } ] }
- Реализовано определение всех корректных MIME-типов для данных JSON, отмеченных в спецификации WHATWG MIME Sniffing. В дополнение к традиционным MIME-типам «application/json» и «text/json» добавлена поддержка составных MIME-типов, таких как «text/html+json» и «image/svg+json».
- В API Invoker Commands добавлена команда «request-close» для принудительного закрытия диалога на базе HTML-элемента ‹dialog›, действие которой аналогично вызову JavaScript-метода requestClose().
- В WebGPU добавлена поддержка 3D-текстур, сжатых с использованием форматов BC и ASTC. Также добавлен экспериментальный (Origin Trial) режим обеспечения совместимости, предоставляющий урезанный API WebGPU, пригодный для работы с устаревшими графическими API, такими как OpenGL и Direct3D11.
- Для SVG-элементов ‹script› (SVGScriptElement) добавлена поддержка атрибута «async» для выполнения скриптов в асинхронном режиме.
- Для усложнения пассивной идентификации экземпляра браузера в HTTP-заголовке Accept-Language теперь перечисляются не все выбранные пользователем языки, а только наиболее приоритетные языки.
- Добавлен экспериментальный (Origin trials) API [[https://chromestatus.com/feature/5134603979063296]] Prompt, предоставляющий вызовы для взаимодействия с большими языковыми моделями, используя в запросах текст, изображения и звуковой ввод. Результат возвращается в удобном для разбора структурированном виде. Среди примеров использования упоминаются генерация описания изображений, визуальный поиск, транскрибирование речи, классификация звуков, генерация текста по заданной инструкции и извлечение информации из текста.
- В инструментах для web-разработчиков проведена работа
по устранению известных проблем функциональностью и недоработок в интерфейсе пользователя. Благодаря проделанной работе, число открытых уведомлений о проблемах сокращено на 27%. Во встроенный AI-ассистент добавлена поддержка загрузки произвольных изображений. В панели инспектирования сети реализована поддержка добавления столбцов для отображения состояния произвольных HTTP-заголовков. - Прекращена поддержка операционной системы macOS 11, для работы теперь требуется как минимум выпуск macOS 12.
- В версии для Android прекращена поддержка платформ Android 8 (Oreo) и Android 9 (Pie).
Кроме нововведений и исправления ошибок в новой версии устранены 12 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 8 премий на сумму 18500 долларов США (одна премия $10000, три $2000, две $1000 и одна $500). Размер одного вознаграждения пока не определён.
Дополнительно можно отметить включение в кодовой базе, на основе которой формируется выпуск Chrome 140, режима OverrideDefaultOzonePlatformHintToAuto, активирующего автоматический выбор бэкенда в прослойке Ozone. Изменение позволит адаптивно активировать Wayland-бэкенд на системах с поддержкой Wayland, не привязываясь по умолчанию с бэкенду X11. Вручную включить автоматический выбор бэкенда можно и в выпуске Chrome 139 при помощи настройки «chrome://flags/#ozone-platform-hint» или флага командной строки «—ozone-platform-hint=auto».
Источник: http://www.opennet.ru/opennews/art.shtml?num=63690