Издание на Chrome 95

Компания Google представи версия на уеб браузъра Chrome 95. В същото време е наличен стабилен версии на свободния проект Chromium, който е основата на Chrome. Браузърът Chrome се отличава с използването на логотипи на Google, наличието на система за изпращане на известия при срив, модули за възпроизвеждане на защитено видео съдържание (DRM), система за автоматично инсталиране на обновления и предаване на параметрите RLZ при търсене. В съответствие с новия 4-седмичен цикъл на разработка, следващото издание на Chrome 96 е планирано за 16 ноември. За тези, на които им е необходимо повече време за обновление, отделно се поддържа клонът Extended Stable, който е със срок от 8 седмици и в който е направено обновление за предишното издание на Chrome 94.

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

  • За потребителите на Linux, Windows, macOS и ChromeOS е предложена нова странична лента, показвана вдясно от съдържанието и активирана при клик на специален иконка в лентата с адреса. В панела се извежда резюме със закладки и списък за четене. Промяната не е активирана за всички потребители, за активиране може да се използва настройката „chrome://flags/#side-panel”.
    Издание на Chrome 95
  • Реализиран е изричен иск за разрешение за запазване на адреси, въведени в уеб формуляри, за последваща употреба в системата за автоматично попълване на формуляри. При установяване на наличие на адреси в формуляри, на потребителя сега се показва диалог, позволяващ запазването на адрес, редактиране, обновяване на преди запазен адрес или отказване от запазване.
  • Премахнат е кодът за поддръжка на протокола FTP. В Chrome 88 поддръжката на FTP бе деактивирана по подразбиране, но бе оставен флаг за нейното възстановяване.
  • Прекратена е поддръжката на URL адреси с имена на хостове, приключващи с цифра, но не съответстващи на адреси IPv4. Например, URL адресите „http://127.1/“, „http://foo.127.1/“ и „http://127.0.0.0.1“ сега ще се считат за некоректни.
  • За WebAssembly е реализирана възможността за създаване на обработчици на изключения, които могат да прекъснат изпълнението при възникване на изключение при изпълнение на определен код. Подкрепя се както улавянето на известни изключения на модула WebAssembly, така и изключения при извикване на импортни функции. За да се улавят изключения, модулът WebAssembly трябва да бъде събран от компилатор, който поддържа изключения, като Emscripten.

    Отбелязва се, че обработката на изключения на ниво WebAssembly позволява значително да се намали размерът на генерирания код в сравнение с обработката на изключения чрез JavaScript. Например, оптимизираният компилатор Binaryen с обработка на изключения чрез JavaScript води до увеличение на кода с 43%, докато с WebAssembly — само с 9%. Освен това, при използване на режим на оптимизация „-O3“ кодът с обработка на изключения чрез WebAssembly почти не се различава по производителност от кода без обработчици на изключения, докато обработката на изключения с JavaScript води до забавяне на изпълнението с 30%.

  • Забранено е съвместното използване на модули WebAssembly между различни домейни (cross-origin) при обработка на един и същ сайт.
  • В режим на Origin Trials (експериментални функции, изискващи специално активиране) бяха добавени няколко нови API. Origin Trial означава възможност за работа с посочения API от приложения, натоварени от localhost или 127.0.0.1, или след регистрация и получаване на специален токен, който действа за ограничен период на конкретен сайт.
    • Включено е съкращаване на информацията в HTTP заглавието User-Agent и параметрите на JavaScript navigator.userAgent, navigator.appVersion и navigator.platform. В заглавието остават само данни за името на браузъра, основната версия на браузъра, платформата и типа устройство (мобилен телефон, PC, таблет). За получаване на допълнителни данни, като точната версия и разширени информация за платформата, е необходимо да се използва API User Agent Client Hints. Началото на съкращаването на User-Agent на системите на обикновените потребители е планирано с пускането на Chrome 102, което ще бъде публикувано след половин година.
    • Предложена е възможността за създаване на дескриптори за достъп (Access Handles) за API File System Access, позволяващ уеб приложенията да четат и записват данни директно в файлове и директории на устройството на потребителя. За намаляване на начините, по които уеб приложенията получават достъп до файловата система, компанията Google планира да обедини API File System Access и Storage Foundation. Като подготовка за такова обединение се предлага поддръжка за дескриптори за достъп, допълващи методите на работа на базата на файлови дескриптори с разширени възможности, като блокиране на запис от други процеси и създаване на отделни потоци за запис и четене, включително с поддръжка за четене и запис от worker-и в синхронен режим.
  • Стандартизирано и предложено по подразбиране API Secure Payment Confirmation с реализация на ново разширение ‘payment’, осигуряващо допълнително потвърждение на извършваната плащателна операция. Проверяващата страна, например, банката, има възможност да генерира публичен ключ PublicKeyCredential, който може да бъде поискан от продавача за допълнително безопасно потвърждение на плащането чрез API Payment Request, използвайки метода на плащане ‘secure-payment-confirmation’.
  • В callback извикванията, установени чрез конструктора PerformanceObserver, е реализирано предаване на свойството droppedEntriesCount, позволяващо разбирането колко метрики за производителност на сайта са били отхвърлени поради това, че не са се побрали в предоставеното буферно пространство.
  • Добавен е API EyeDropper, позволяващ извикването на предоставения от браузъра интерфейс за определяне на цвета на произволни пиксели на екрана, което може да се прилага, например, в графични редактори, реализирани под формата на уеб приложения. const eyeDropper = new EyeDropper(); const result = await eyeDropper.open(); // result = {sRGBHex: ‘#160731’}
  • Добавена е функция self.reportError(), позволяваща на скриптовете да извеждат грешки в конзолата, емулирайки възникването на неперехващано изключение.
  • Добавен е API URLPattern, за проверка на съответствието на URL с определен шаблон, което, например, може да се прилага за разбиране на линкове и за пренасочване на заявки към обработчици в service worker. const p = new URLPattern({ protocol: ‘https’, hostname: ‘example.com’, pathname: ‘/:folder/*/:fileName.jpg’, });
  • Разширен е API Intl.DisplayNames, чрез който може да се получат локализирани имена на езици, страни, валути, елементи от дати и т.н. В новата версия са добавени нови типове имена „calendar“ и „dateTimeField“, чрез които може да се научат локализиратни имена на календара и полетата за дата и време (например, името на месеците). За типа „language“ е добавена поддръжка за използване на диалекти на езици.
  • В API Intl.DateTimeFormat е добавена поддръжка на нови стойности на параметъра timeZoneName: „shortGeneric“ за извеждане на кратък идентификатор на часовата зона (например, „PT“, „ET“), „longGeneric“ — дългия („Pacific Time“, „Mountain Time“), „shortOffset“ — с късо отклонение спрямо GMT („GMT+5“) и „longOffset“ с дълго отклонение спрямо GMT („GMT+0500“).
  • Обявен за остарял API U2F (Cryptotoken), вместо който трябва да се използва API Web Authentication. API U2F ще бъде деактивиран по подразбиране в версия Chrome 98 и напълно премахнат в Chrome 104.
  • Внесени са подобрения в инструментите за уеб разработка. В панела Styles е опростено регулирането на CSS свойства, свързани с размер (височина, отстъпи и т.н.). В раздела Issues е предоставена възможност за скриване на отделни проблеми. В уеб конзолата и панелите Sources и Properties е подобрено показването на свойства (потребителските свойства вече се открояват с болд шрифт и се показват в горната част на списъка).
    Издание на Chrome 95

Освен нововъведенията и корекциите на грешки, в новата версия са отстранени 19 уязвимости. Много от уязвимостите са идентифицирани чрез автоматизирано тестване с инструментите AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Не са установени критични проблеми, които да позволят заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън sandbox средата. В рамките на програмата за разплащане на парични награди за откритие на уязвимости, компанията Google е изплатила 16 награди на обща стойност 74 хиляди долара (една награда от 20000 $, две награди от 10000 $, една награда от 7500 $, една награда от 6000 $, три награди от 5000 $ и по една награда от 3000 $, 2000 $ и 1000 $). Размерът на 5 награди все още не е определен.

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

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