Компания Google публикува нова версия на уеб браузъра Chrome 125. Същевременно е наличен стабилен релиз на свободния проект Chromium, който служи като основа за Chrome. Браузърът Chrome се отличава от Chromium с използването на логотипите на Google, наличието на система за изпращане на известия при сривове, модули за възпроизвеждане на защитено съдържание (DRM), система за автоматично инсталиране на актуализации, постоянно включен Sandbox режим, предоставяне на ключове за Google API и предаване на RLZ параметри при търсене. За потребителите, които се нуждаят от повече време за актуализация, се поддържа отделно звено на Extended Stable, което получава поддръжка в продължение на 8 седмици. Следващият релиз на Chrome 126 е планиран за 11 юни.
Основни промени в Chrome 125:
- Компания Google отложи очакваното за края на годината спиране на поддръжката за трети страни Cookie, които се изпращат при достъп до сайтове, различни от домейн текущата страница (такива Cookie се използват за проследяване на движенията на потребителите между сайтовете от рекламни мрежи, социални медии и системи за уеб аналитика). В новата версия за идентифициране на сайтовете, които използват трети страни Cookie, е добавен индикатор с изображение на око в адресния бар, който се зачерква при блокиране на трети страни Cookie. Тъй като тестовете за изключване на трети страни Cookie продължават при 1% от потребителите, съществува възможност за ръчно изключване чрез настройка „chrome://flags/#test-third-party-cookie-phaseout“, в контекстното меню е предоставена възможност за временно възстановяване на поддръжката на трети страни Cookie за избрани сайтове. Отмяната на блокировката важи за 90 дни след активирането.

- С активирането на разширената защита на браузъра (Safe Browsing > Enhanced protection) е реализирано автоматично дълбочинно сканиране на изтегляните файлове, което се извършва чрез изпращане на информация до сървъри Google (преди изпращането се извеждаше запитване за потвърждение на външната проверка, а сега проверката ще се извършва автоматично).
- Сборките за платформата Windows вече се предлагат и за платформата ARM64.
- Добавен е нов механизъм за актуализиране на компоненти, изискващи зареждане на голямо количество данни. Става въпрос за актуализиране на модели за наскоро добавени възможности, използващи машинно обучение — режим за умно групиране на раздели, генератор на оформления и интерактивен помощник.
- Добавени са два нови типа потенциално проблемни разширения, за които на потребителя ще се показват предупреждения с препоръка да обмисли целесъобразността на тяхното по-нататъшно използване: разширения, инсталирани не от каталога Chrome Web Store, и разширения, използващи измамни тактики за налагане на инсталацията на ненужен софтуер.
- Поведението при отмяна на събитие „mousemove“ е приведено в съответствие с другите браузъри — отмяната на събитието вече не блокира операциите по избиране на текст и drag&drop (за да блокирате избора и drag&drop, трябва да отмените събитията selectstart и dragstart).
- Добавен е набор от CSS свойства за управление на показването на елементи, свързани с местоположението на други елементи (CSS Anchor Positioning), без да се използва JavaScript, например за прикрепване на елементи на изскачащи прозорци (popover), които се появяват по аналогия с изскачащите подсказки. За настройка на привързването на елемент към друг елемент и определяне на областта на показване са предложени свойствата anchor-name, position-anchor и inset-area, за получаване на информация за мястото на привързване е добавена функцията anchor().
- В CSS са добавени математически функции round(), mod() и rem().
- Добавен е нов синтаксис за отразяване на състоянието на собствени HTML елементи (custom element) в CSS, позволяващ използването на псевдо-клас „:state()“.

- Добавен е API Compute Pressure, който позволява получаване на информация на високо ниво за текущото състояние на хардуера, например, в общи линии може да се получат данни за натоварването на CPU (указват се нива: минимално натоварване с включен енергоефективен режим; допустимо натоварване, позволяващо безпроблемно изпълнение на допълнителни задачи; високо натоварване, но в пределно допустимите стойности и не пречещо на работата на системата; критично натоварване, близо до изчерпването на ресурсите).
- API за достъп до хранилище, прилаган за искане на разрешения от потребителя за достъп до хранилище на бисквитки, ако трети страни блокират бисквитките, е разширен с възможността да се иска достъп от външни обработвачи (например, от съдържанието в ) до хранилища, несвързани с бисквитки, като indexedDB.
- Добавена е експериментална (origin trial) поддръжка на API за изброяване на сегменти на изгледа, предназначен за оптимизиране на представянето на устройства с гъвкави екрани.
- Предоставена е възможност за използване на схеми за URL HTTP и HTTPS в конструктора на WebSocket вместо схемите „ws:“ и „wss:”.
- В JavaScript е разрешено използването на модификатори „?i“, „?-i“, „?m“, „?-m“, „?s“, „?-s“ в регулярните изрази за управление на задаването или изключването на флаговете „i“, „s“ и „m“. Например, „?-i“ в „re1 = /^[a-z](?-i:[a-z])$/i;“ ще изключи приложението на „/i“ (игнориране на регистра) за втория символ (re1.test(„aB“) ще върне false).
- Направени са подобрения в инструментите за уеб разработчици. В уеб конзолата е добавен бутон за показване на обяснение относно същността на грешката или предупреждението, изготвено чрез обращение към AI чатбота Gemini. В CSS панела е добавена поддръжка за правила „@position-try“. В панела за редактиране и преглед на изходния текст на страницата са добавени настройки за форматиране на опаковани страници за четимост и автоматично затваряне на скоби при редактиране. В панела за проследяване на мрежова активност е добавена поддръжка за HTTP заглавия, използвани в отговори с код 103 „Early Hints“. В панела за анализ на производителността е добавена статистика по селектори CSS.

Освен нововъведенията и корекциите на грешки в новата версия, са отстранени 9 уязвимости. Много от уязвимостите са идентифицирани благодарение на автоматизирано тестване с инструментите AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Уязвимостта CVE-2024-4947, породена от неправилна обработка на типовете (Type Confusion) в двигателя V8 и определена като критична, е била експлоатирана от злонамерени лица за извършване на атаки (0-day) преди поправката. Не са установени критични проблеми, които да позволяват заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън средата на песен. В рамките на програмата за изплащане на парични награди за откритие на уязвимости за текущия релиз, компанията Google е изплатила 4 награди на обща стойност 8000 долара (по една награда от $7000 и $1000). Размерът на двете награди все още не е определен.
Източник: opennet.ru



