Компания 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 се основава на постквантовия алгоритъм Kyber, но е напълно несъвместим с предишната си реализация).
- В 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



