Пускането на Chrome 97

Компания Google представи версия на уеб браузъра Chrome 97. Същевременно е наличен стабилен билд на свободния проект Chromium, който служи като основа за Chrome. Браузърът Chrome се отличава с употребата на логотипи на Google, наличието на система за уведомления при срив, модули за възпроизвеждане на защитено от копиране видео съдържание (DRM), автоматизирана инсталация на актуализации и предаване на RLZ параметри при търсене. За потребителите, които се нуждаят от повече време за актуализация, се поддържа отделен клон Extended Stable, който е с период на подкрепа от 8 седмици и предоставя актуализации за предишния билд на Chrome 96. Следващата версия на Chrome 98 е планирана за 1 февруари.

Основни промени в Chrome 97:

  • За част от потребителите е въведен нов интерфейс за управление на данни, съхранявани в браузъра (‘chrome://settings/content/all’). Основното отличие на новия интерфейс е насочеността към настройка на правата и масово изтриване на всички бисквитки на сайта, без възможност за преглед на подробна информация за отделни бисквитки или селективно изтриване на бисквитки. Според Google, достъпът до управлението на отделни бисквитки за обикновения потребител, който не разбира в детайлите на уеб разработката, може да доведе до непредсказуеми нарушения в работата на сайтовете заради непремислени промени в отделни параметри и до случайно деактивиране на механизми за защита на личната информация, активируеми чрез бисквитки. За тези, които имат нужда от манипулации с отделни бисквитки, е препоръчително да използват раздела за управление на хранилището в инструментите за уеб разработчици (Application/Storage/Cookie).
    Пускането на Chrome 97
  • В блока с информация за сайта е реализирано показване на кратко описание на сайта (например, описания от Wikipedia), ако в настройките е активиран режимът за оптимизация на търсенето и навигацията (опцията ‘Make searches and browsing better’).
    Пускането на Chrome 97
  • Подобрена е поддръжката на автоматично попълване на полета в уеб формуляри. Предложенията с варианти за автовъвеждане сега се показват с малко закъснение и са снабдени с информационни пиктограми за по-удобен преглед и визуално определяне на връзката с попълваното поле. Например, пиктограмата на профила показва, че предложеното автовъвеждане засяга полета, свързани с адреса и контактната информация.
    Пускането на Chrome 97
  • Осигурено е изтриването на паметта на обработчиците на потребителски профили след затварянето на свързаните с тях браузърни прозорци. По-рано профилите оставаха в паметта и продължаваха да извършват задачи, свързани със синхронизация и изпълнение на фонова скриптове на добавки, което водеше до неоправдано изразходване на ресурси на системи, в които се използват едновременно няколко профила (например, гост профил и връзка с акаунт в Google). Освен това, осигурено е по-внимателно почистване на данните, оставащи в процеса на работа с профила.
  • Подобрен е страницата с настройки на търсачките („Настройки>Управление на търсачките“). Деактивирана е автоматичната активация на двигатели, информация за които се предоставя при отваряне на сайта чрез скрипт OpenSearch — новите двигатели за обработка на търсения от адресната лента сега трябва да бъдат активирани ръчно в настройките (по-рано автоматично активираните двигатели продължават да работят без промени).
  • От 17 януари каталогът на Chrome Web Store престава да приема добавки, използващи втората версия на манифеста Chrome, но разработчиците на вече добавени добавки, както и преди, ще могат да публикуват актуализации.
  • Добавена е експериментална поддръжка на спецификацията WebTransport, която определя протокол и съпътстващ JavaScript API за изпращане и получаване на данни между браузъра и сървър. Комуникационният канал е организиран над HTTP/3, използвайки протокола QUIC за транспорт. WebTransport може да се използва вместо механизма WebSockets, предлагайки допълнителни възможности като организация на предаване в множество потоци, еднопосочни потоци, доставка без значение на реда на изпращане на пакетите (out-of-order), надеждни и ненадеждни режими на доставка. Освен това, WebTransport може да се прилага вместо механизма Server Push, от използването на който в Chrome се отказа компанията Google.
  • В JavaScript-обектите Array и TypedArrays са добавени методи findLast и findLastIndex, позволяващи търсене на елементи с извеждане на резултата спрямо края на масива. [1,2,3,4].findLast((el) => el % 2 === 0) // → 4 (последният четен елемент)
  • Затворени (без атрибут „open“) HTML-елементи
    , вече са достъпни за търсене и връзки, и автоматично се разкриват при използване на търсене по страницата и навигация по фрагменти (ScrollToTextFragment).
  • Ограничения Content Security Policy (CSP) в заглавията на отговорите сървър сега се прилагат и към специализирани worker-и, които преди това се тълкуваха като отделни документи.
  • Осигурено е явно искане за правомощия за зареждане на произволни субресурси от вътрешната мрежа — преди да се обърне към вътрешната мрежа или localhost на основния сайт сега се изпраща CORS (Cross-Origin Resource Sharing) искане със заглавие „Access-Control-Request-Private-Network: true“, изискващо потвърждение на операцията чрез връщането на заглавие „Access-Control-Allow-Private-Network: true“.
  • Добавено е CSS свойство font-synthesis, позволяващо управление на способността на браузъра да синтезира недостигащи стилове на шрифтове (oblique, bold и small-cap), които липсват в избраното семейство шрифтове.
  • За CSS трансформации във функцията perspective() е реализиран параметър 'none', който се обработва като безкрайна стойност при организиране на анимация.
  • В HTTP заглавие Permissions-Policy (Feature Policy), използвано за делегиране на правомощия и включване на разширени функции, е добавена поддръжка на стойността keyboard-map, позволяваща използването на API Keyboard. Реализиран е методът Keyboard.getLayoutMap(), позволяващ да се определи коя клавиша е натисната, като се вземат предвид различни клавиатурни подредби (например, натиснат клавиш при руска или английска подредба).
  • Добавен е метод HTMLScriptElement.supports(), който унифицира определението на новите възможности, налични в елемента „script“, например, може да се узнае списък на поддържаните стойности за атрибута „type“.
  • Процесът на нормализиране на новите редове при изпращане на уеб формуляри е приведен в съответствие с браузърните енджини Gecko и WebKit. Нормализацията на символи за пренос на ред и връщане на карета (замяна /r и /n на \r\n) в Chrome сега се осъществява на финалната стъпка, а не в началото на обработката на изпращането на формуляра (т.е. междинните обработватели, използващи обекта FormData, ще виждат данните така, както ги е добавил потребителят, а не в нормализиран вид).
  • Стандартизирано е наименованието на свойствата за API Client Hints, разработвано като замяна на заглавието User-Agent и позволяващо селективно предоставяне на данни за конкретни параметри на браузъра и системата (версия, платформа и т.н.) само след искане от сървъра. Свойствата сега се задават с префикс „sec-ch-“, например, sec-ch-dpr, sec-ch-width, sec-ch-viewport-width, sec-ch-device-memory, sec-ch-rtt, sec-ch-downlink и sec-ch-ect.
  • Приложена втората фаза прекратяване на подкрепата на API WebSQL, достъпът до който от странични скриптове сега ще бъде блокиран. В бъдеще се планира постепенно да се прекрати напълно подкрепата за WebSQL независимо от контекста на употреба. Обработчикът на WebSQL е основан на кода на SQLite и може да е бил използван от злонамерени лица за експлойти на уязвимости в SQLite.
  • За платформата Windows е включена версия с проверки за целостта на потока на изпълнение (CFG, Control Flow Guard), които блокират опитите за инжектиране на код в процеса на Chrome. Освен това, към мрежовите услуги, изпълнявани в отделни процеси, сега се прилага изолация в пясъчник, ограничавща възможностите на кода в тези процеси.
  • В Chrome за Android е включен механизъм за динамично обновяване на логовете на издадени и отзовани сертификати (Certificate Transparency), който преди това беше активиран в версиите за настолни системи.
  • Направени са подобрения в инструментите за уеб разработчици. Реализирана е експериментална подкрепа за синхронизация на настройките на DevTools между различни устройства. Добавена е нова панел Recorder, с помощта на която можете да записвате, възпроизвеждате и анализирате действията на потребителя на страницата.
    Пускането на Chrome 97

    При изкарването на грешки в уеб конзолата се осигурява показване на номера на колоните, свързани с проблема, което е удобно за отстраняване на проблеми в минифицирания JavaScript код. Обновен е списъкът с устройства, които могат да бъдат симулирани за оценка на визуализацията на страницата на мобилни устройства. В интерфейса за редактиране на HTML блокове (Edit as HTML) е добавена подсветка на синтаксиса и възможността за автоматично попълване на входа.

    Пускането на Chrome 97

В допълнение към нововъведенията и поправките на грешки в новата версия са отстранени 37 уязвимости. Много от уязвимостите са разкрити в резултат на автоматизирано тестване с инструменти като AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Една от уязвимостите е получила статут на критичен проблем, позволяващ заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън пясъчниковата среда. Подробности за критичната уязвимост (CVE-2022-0096) все още не са разкрити, известно е само, че тя е свързана с достъп до вече освободена област от паметта в кода за работа с вътрешни хранилища (API Storage).

В рамките на програмата за финансово възнаграждение за откритие на уязвимости за текущото издание, компанията Google изплати 24 награди на обща стойност 54 хиляди долара (три награди от $10000, две награди от $5000, една награда от $4000, три награди от $3000 и една награда от $1000). Размерът на 14 награди все още не е определен.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster