Компания Google публикува версия на уеб браузъра Chrome 129. Паралелно с това е налична стабилна версия на свободния проект Chromium, който е основата на Chrome. Браузърът Chrome се отличава от Chromium с използването на логотипи на Google, наличие на система за уведомления при срив, модули за възпроизвеждане на видеосъдържание с защита срещу копиране (DRM), система за автоматично инсталиране на актуализации, постоянно включена Sandbox изолация, предоставяне на ключове за Google API и предаване на RLZ параметри при търсене. За тези, на които им е необходимо повече време за актуализация, има отделна поддръжка на Extended Stable версията, която таблицуе 8 седмици. Следващото издание на Chrome 130 е планирано за 15 октомври.
Основни промени в Chrome 129:
- Добавена е възможност за персонализиране на съдържанието на инструменталната лента, позволяваща на потребителя да заковава, освобождава и разменя иконки с помощта на конфигуратора, който се показва в страничната лента. Например, могат да се добавят бутони на лентата за извикване на интерфейса за разработчици, почистване на данни за работата на браузъра, активиране на режим за четене, преминаване към диспечера на задачите, отваряне на мениджъра на паролите и други. За управление на възможността за закрепване на иконите е добавена опцията „chrome://flags/#toolbar-pinning“.

- Предложена е функция за сравнение на раздели, която използва елементи на машинно обучение за генериране на сравнителен преглед на продукти, информацията за които се намира в отворени различни раздели. Възможността в момента е достъпна само за потребители в САЩ.

- В версията за платформата Android е реализирано преместенето на неактивни раздели в отделна секция (Inactive Tabs) на интерфейса за превключване между разделите. Има възможност за преглед на всички стари раздели и за затварянето им наведнъж. По подразбиране новата функция е активирана за 1% от потребителите. Разделите автоматично се изтриват след като останат в секцията Inactive Tabs повече от 60 дни.
- Добавен е експериментален режим за съвместно използване на процеси, при който за различни табове, отворени на един и същи сайт, ще се използва един общ графичен процес, вместо отделни процеси. Това изменение позволява да се ускори зареждането на страниците и да се намали потреблението на памет. За активиране на режима е добавена настройка "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();" в кода, което позволява да се намали негативното влияние на дълготрайни задачи върху отзивчивостта при работа с сайта.

- Добавено е CSS свойство "interpolate-size", което позволява избор на размер на анимацията не в абсолютни величини, а спрямо стойности, изчислени при използване на свойства auto, min-content или fit-content. За по-точно управление на размера е предложена CSS функция calc-size(), която е подобна на calc(), но поддържа операции с действителния размер на елементите, изменящи се в зависимост от съдържанието.
- Внесени са промени в CSS свойствата за управление на показването на елементи, свързани с местоположението на други елементи (CSS Anchor Positioning), без използване на JavaScript, например, за прикрепяне на елементи на изскачащи прозорци (popover), които се появяват аналогично на изскачащите подсказки. В съответствие с препоръките на работната група, отговаряща за стандартизацията на CSS, 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 секунди"
- В API Web GPU е реализирана възможност за използване на целия диапазон на яркост, поддържан от екрана, при извеждане на HDR изображения.
- В API WebRTC е добавена поддръжка за изпращане на блобове чрез метода RTCDataChannel.send(Blob) и получаване на данни с тип Blob при обработка на събитието onMessage, ако в атрибута „binaryType“ е указана стойност „blob“ (по-рано е била поддържана предаването на низове и ArrayBuffer). Размерът на блоба е ограничен до maxMessageSize.
- В API WebAuthn са добавени методите PublicKeyCredential.toJSON(), parseCreationOptionsFromJSON() и parseRequestOptionsFromJSON() за сериализация/десериализация на WebAuthn отговори, използвайки JSON формат.
- В режим „Origin trials“ е реализиран API FileSystemObserver, който позволява на сайтовете да проследяват промени в файлове и каталози.
- В режим „Origin trials“ е добавен API Mesh2D Canvas за визуализация на голямо количество текстурирани триъгълници. От областите на приложение на API се споменават реализирането на разширени методи за текстурно мапинг и създаването на ефекти на деформация в двумерен контекст.
- Разширени са възможностите на инструментите за уеб разработчици.
Освен нововъведенията и корекциите на грешки в новата версия, бяха отстранени 9 уязвимости. Много от уязвимостите бяха открити в резултат на автоматизирано тестване с инструментите AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. На един проблем е присъден висок уровень на опасност (неправилна обработка на типове в двигателя V8). Не са открити критични проблеми, които да позволят заобикаляне на всички защитни нива на браузъра и изпълнение на код в системата извън средата на песSandbox. В рамките на програмата за изплащане на парични награди за откриване на уязвимости за текущото издание компанията Google е изплатила 5 награди на обща стойност 13 хиляди долара САЩ (една награда от $8000 и $2000, три награди по $1000). Размерът на една награда все още не е определен.
Източник: opennet.ru



