Компания Google публикува версия 139 на уеб браузъра Chrome. Същевременно е наличен стабилен изглед на свободния проект Chromium, който е основата на Chrome. Браузърът Chrome се отличава от Chromium с използването на логотипите на Google, наличието на система за известия при срив, модули за възпроизвеждане на защитен видеосъдържание (DRM), система за автоматични актуализации, постоянно активиране на Sandbox изолация, предоставяне на ключове за Google API и предаване на RLZ параметри при търсене. За потребителите, на които е необходимо повече време за обновление, се поддържа отделен клон Extended Stable, който продължава 8 седмици. Следващият релиз на Chrome 140 е планиран за 2 септември.
Основни промени в Chrome 139:
- Добавена е възможността за използване на ИИ модел за генериране на търсачески препоръки в адресната лента и на страницата за нови раздели. За показване на подобни ИИ препоръки в адресната лента е добавен бутон "AI Mode", а в списъка с препоръки изходът от ИИ е обозначен или подчертан в отделна секция. Възможността е активирана по подразбиране само за част от потребителите.

- В централно управляваните системи е разширена възможността за създаване на собствените ярлыци за бързо търсене чрез адресната лента (може да се създаде ярлък "@име" за търсене на конкретен сайт). В новата версия е добавена допълнителна настройка, позволяваща на потребителя да преопредели, изтрива или деактивира ярлыците, зададени от администратора.
- В версията за Android в режимите на стандартна и разширена защита Google Safe Browsing е реализирана проверка за безопасност на изтегляните APK пакети. Проверката се извършва чрез обращение към сървърите на Google. В случай, че файлът бъде признат за опасен, на потребителя се издава съответно предупреждение и достъпът до файла се блокира (в интерфейса е предвидено отделна опция за достъп до блокировката).

- Премахната е настройката ExtensionManifestV2Availability, която позволяваше връщането на поддръжката на втората версия на манифеста на Chrome, определящ възможностите и ресурсите, достъпни за добавки, написани с използване на API WebExtensions. В браузъра сега е възможно използването само на добавки на базата на третата версия на манифеста.
- В официалните стабилни версии на Chrome спират поддръжката на командните опции «—extensions-on-chrome-urls» и «—disable-extensions-except», които позволяваха деактивиране на блокирането на инсталацията на рискови разширения, например, добавяни в браузъра без позволение от потребителя. В Chromium и тестовите версии на Chrome поддръжката на посочените опции остава.
- На страницата за отваряне на нова разделка е реализирана долна панелка, на която се показва информация за разширенията, които влияят на съдържанието на страницата с новата разделка, както и сведения за прилаганите политики за централизирано управление.

- Добавена е защита от случайно изтриване на запазените пароли при избор на операция за пълно изчистване на данни. При наличието на запазени пароли браузъра сега насочва потребителя към страницата на мениджъра на пароли, където може смислено и поотделно да изтрие пароли и ключове passkey.

- Изключена е възможността за автоматично връщане на използването на системата за софтуерно рендериране SwiftShader за WebGL, която софтуерно реализира 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)“.
- Предоставена е възможност за създаване на едно унифицирано уеб-приложение, работещо с няколко върховни домейна или с различни поддомейни. За настройка на свързването с домейн в манифеста е предвидено поле „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 елемента
- В WebGPU е добавена поддръжка за 3D текстури, компресирани с помощта на форматите BC и ASTC. Също така е добавен експериментален (Origin Trial) режим за осигуряване на съвместимост, предоставящ урязан API WebGPU, подходящ за работа с остарели графични API, като OpenGL и Direct3D11.
- За SVG елементите (SVGScriptElement) е добавена поддръжка на атрибута „async“ за изпълнение на скриптове в асинхронен режим.
- За усложняване на пасивната идентификация на инстанцията на браузъра в HTTP заглавката Accept-Language сега не се изброяват всички избрани от потребителя езици, а само най-приоритетните езици.
- Добавен е експериментален (Origin trials) API Prompt, предоставящ извиквания за взаимодействие с големи езикови модели, позволяващи използването на текст, изображения и звуков вход в заявките. Резултатът се връща в удобен за анализ структуриран вид. Сред примери за употреба се споменават генериране на описание на изображения, визуално търсене, транскрибиране на реч, класификация на звуци, генериране на текст по дадена инструкция и извлечение на информация от текст.
- В инструментите за уеб разработчици е извършена работа по отстраняване на известни проблеми с функционалността и недостатъците в потребителския интерфейс. Благодарение на свършената работа, броят на отворените уведомления за проблеми е намален с 27%. Вграденият AI асистент е добавил поддръжка за зареждане на произволни изображения. В панела за инспектиране на мрежата е реализирана възможност за добавяне на колони за показване на статус на произволни HTTP заглавки.

- Поддръжката на операционната система macOS 11 е прекратена, сега е необходима поне версия macOS 12.
- В версията за Android е прекратена поддръжката на платформите Android 8 (Oreo) и Android 9 (Pie).
Освен нововъведенията и поправките на грешки, в новата версия са отстранени 12 уязвимости. Повечето от уязвимостите са открити в резултат на автоматизирано тестване с инструменти като AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Няма открити критични проблеми, които да позволят заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън средата на sandox. В рамките на програмата за изплащане на парични награди за откритие на уязвимости за текущия релиз, компанията 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“.
Източник: opennet.ru





