Издание на Chrome 94

Компания Google представи изданието на уеб браузъра Chrome 94. В същото време е налична стабилна версия на свободния проект Chromium, служеща за основа на Chrome. Браузърът Chrome се отличава с употребата на логотипи на Google, наличие на система за изпращане на уведомления при срив, модули за възпроизвеждане на защитено видеосъдържание (DRM), система за автоматична инсталация на актуализации и предаване на RLZ параметри при търсене. Следващото издание на Chrome 95 е планирано за 19 октомври.

Започвайки с изданието на Chrome 94, разработката е преместена на нов цикъл на подготовка на издания. Новите значителни издания ще бъдат публикувани на всеки 4 седмици, а не на всеки 6 седмици, което ще ускори представянето на новите функции на потребителите. Отбелязва се, че оптимизацията на процеса на подготовка на издания и подобряването на системата за тестване позволяват по-често генериране на издания без компромис с качеството. За предприятията и за тези, които се нуждаят от повече време за актуализация, отделно ще бъде публикувана версия Extended Stable на всеки 8 седмици, която ще позволи преминаване на новите функционални издания не на всеки 4 седмици, а на всеки 8 седмици.

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

  • Добавен е режим HTTPS-First, който напомня на по-рано появилия се в Firefox режим HTTPS Only. Ако режимът е активиран в настройките, при опит за отваряне на ресурс без шифроване по HTTP, браузърът първо ще се опита да се свърже със сайта по HTTPS и, ако опитът се провали, на потребителя ще бъде показано предупреждение за липса на поддръжка на HTTPS с предложение да се отвори сайта без шифроване. В бъдеще Google разглежда възможността за активиране на HTTPS-First по подразбиране за всички потребители, ограничаване на достъпа до определени функции на уеб платформата за страници, отворени по HTTP, и добавяне на допълнителни предупреждения, информиращи потребителите за заплахите, произтичащи от достъпа до сайтове без шифроване. Режимът се включва в раздела с настройки „Поверителност и сигурност“ > „Сигурност“ > „Допълнителни”.
    Издание на Chrome 94
  • Забранено е изпращането на заявки (изтегляне на ресурси) от страници, отворени без HTTPS, към локални URL (например, "http://router.local" и localhost) и вътрешни диапазони на адреси (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 и т.н.). Изключение е направено само за страници, заредени с сървъри, притежаващи вътрешни IP. Например, страница, заредена от сървър 1.2.3.4 може да се свърже с ресурс, разположен на IP 192.168.0.1 или IP 127.0.0.1, а заредена от сървър 192.168.1.1 — може. Промяната въвежда допълнително ниво на защита срещу експлоатация на уязвимости в обработващите заявки за локални IP, както и ще защити от атаки от типа „DNS rebinding“.
  • Добавена е функция „Sharing Hub“, позволяваща бързо споделяне на текущата страница с други потребители. Предоставя се възможност за генериране на QR-код с URL, запазване на страницата, изпращане на линк до друго устройство, свързано с потребителския акаунт, и предаване на линк към външни сайтове като Facebook, WhatsUp, Twitter и VK. Възможността все още не е налична за всички потребители. За принудително включване на бутона „Share“ в менюто и адресната лента могат да се използват настройките „chrome://flags/#sharing-hub-desktop-app-menu“ и „chrome://flags/#sharing-hub-desktop-omnibox“.
    Издание на Chrome 94
  • Извършено е ребрандиране на интерфейса за настройка на браузъра. Всяка секция с настройки сега се показва на отделна страница, а не на една обща.
    Издание на Chrome 94
  • Реализирана е поддръжка за динамично обновление на логовете на издадени и оттеглени сертификати (Certificate Transparency), които сега ще се обновяват без привязка към актуализацията на браузъра.
  • Добавена е служебна страница „chrome://whats-new“ с преглед на видимите за потребителя промени в новата версия. Страницата се показва автоматично след актуализация или е достъпна чрез бутона „Какво е новото“ (What’s New) в менюто Помощ (Help). В момента на страницата са споменати търсене по табове, възможност за разделение на профили и функция за смяна на цвета на фона, които не са специфични за Chrome 94 и се появиха в предишни версии. Показването на страницата все още не е включено за всички потребители: за управление на активацията могат да се използват настройките „chrome://flags#chrome-whats-new-ui“ и „chrome://flags#chrome-whats-new-in-main-menu-new-badge“.
    Издание на Chrome 94
  • Обявено е, че достъпът до WebSQL API от съдържанието, зареждано от външни сайтове (например, чрез iframe), е остарял. В Chrome 94, при опит за достъп до WebSQL от външни скриптове, се извежда предупреждение, но от Chrome 97 подобни достъпи ще бъдат блокирани. В бъдеще се планира постепенно да се прекрати напълно поддръжката на WebSQL, независимо от контекста на използване. Обработчикът на WebSQL е базиран на кода на SQLite и е могъл да бъде използван от злонамерени лица за експлоатация на уязвимости в SQLite.
  • По съображения за сигурност и предотвратяване на злонамерена активност, се започна блокиране на използването на остарелия протокол MK (URL:MK), който някога се е използвал в Internet Explorer и е позволявал на уеб приложенията да извлекат информация от компресирани файлове.
  • Поддръжката на синхронизация с по-стари версии на Chrome (Chrome 48 и по-стари) е прекратена.
  • В HTTP заглавието Permissions-Policy, предназначено да активира определени възможности и да управлява достъпа до API, е добавена поддръжка на флага 'display-capture', който позволява управление на използването на API Screen Capture на страницата (по подразбиране възможността за захващане на съдържание от външни iframe е блокирана).
  • В режима Origin Trials (експериментални функции, изискващи отделна активация) са добавени няколко нови API. Origin Trial предполага възможността за работа с определен API от приложения, заредени от localhost или 127.0.0.1, или след регистрация и получаване на специален токен, който е валиден за ограничен период от време за конкретен сайт.
    • Добавено е WebGPU API, което замества WebGL API и предоставя средства за извършване на операции на GPU, като рендеринг и изчисления. Концептуално WebGPU е близко до API Vulkan, Metal и Direct3D 12. От концептуална гледна точка WebGPU се различава от WebGL по подобен начин, по който графичното API Vulkan се различава от OpenGL, но не се базира на конкретно графично API, а представлява универсален слой, който използва същите нискоуровневи примитиви, каквито има в Vulkan, Metal и Direct3D 12.

      WebGPU предоставя на JavaScript приложенията средства за нискоуровнен контрол върху организацията, обработката и предаването на команди към GPU, както и позволява управление на свързаните ресурси, памет, буфери, текстурни обекти и компилирани графични шейдъри. Подобен подход позволява постигането на по-висока производителност на графични приложения чрез намаляване на разходите и увеличаване на ефективността на работата с GPU. API също така дава възможност за създаване на сложни 3D проекти за Web, които работят не по-лошо от самостоятелните програми, но не са свързани с конкретни платформи.

    • За самостоятелни PWA приложения е реализирана възможност за регистрация като обработчици на URL адреси. Например, приложението music.example.com може да се регистрира като обработчик на URL https://*.music.example.com и всички преходи от външни приложения по тези линкове, например, от месинджъри и имейл клиенти, ще водят до отваряне на това PWA приложение, а не на нов таб в браузъра.
    • Реализирана е поддръжка на нов код за отговор HTTP — 103, който може да се използва за предварително извеждане на заглавия. Код 103 позволява да се информира клиента за съдържанието на някои HTTP заглавия веднага след заявката, без да се чака сървърът да изпълни всички свързани с заявката операции и да стартира предаването на съдържанието. По този начин могат да се предоставят подсказки за свързаните с предаваната страница елементи, които могат да бъдат предварително заредени (например, могат да се предоставят линкове към използваните на страницата css и javascript). Получавайки информация за подобни ресурси, браузърът ще започне тяхното зареждане, без да чака завършването на предаването на основната страница, което позволява да се намали общото време за обработка на заявката.
  • Добавен е API WebCodecs за манипулиране на мултимедийни потоци на ниско ниво, допълващ високите нива на API HTMLMediaElement, Media Source Extensions, WebAudio, MediaRecorder и WebRTC. Новият API може да се окаже нужен в области като стрийминг на игри, приложение на ефекти на страната на клиента, перекодиране на потоци и поддръжка на нестандартни мултимедийни контейнери. Вместо да се реализират отделни кодеци на JavaScript или WebAssembly, API WebCodecs предоставя достъп до готови високопроизводителни компоненти, вградени в браузъра. В частност, в API WebCodecs са предоставени декодери и кодери за звук и видео, декодери за изображения и функции за работа с отделни кадри на видео на ниско ниво.
  • Стабилизиран API Insertable Streams, който позволява манипулиране на необработени (raw) мултимедийни потоци, предавани през API MediaStreamTrack, като данни от камера и микрофон, резултати от захващане на екрана или междинни данни от декодера. За представяне на необработените кадри се използват интерфейси WebCodec, след което се формира поток, подобен на този, който API WebRTC Insertable Streams генерира на базата на RTCPeerConnections. От практически аспект новият API позволява реализиране на функционалност като прилагане на методи за машинно обучение за идентификация или анотиране на обекти в реално време или добавяне на ефекти, като изрязване на фона, преди кодиране или след декодиране от декодера.
  • Стабилизиран е методът scheduler.postTask(), който позволява управление на планирането на изпълнението на задачи (callback-викли на JavaScript) с различни нива на приоритет. Предлага се три нива на приоритет: 1 - изпълнение на първо място, дори ако се блокират операции на потребителя; 2 - допустими видими за потребителя промени; 3 - изпълнение на заден фон). За промяна на приоритета и отменянето на задачи може да се използва обектът TaskController.
  • Стабилизиран и сега разпространен извън Origin Trials API Idle Detection за определяне на неактивност на потребителя. API позволява определяне на времето, когато потребителят не взаимодейства с клавиатурата/мишката, стартирано е устройство за защита на екрана, екранът е заключен или работа се извършва на друг монитор. Информирането на приложението за неактивност се извършва чрез изпращане на известие след достигане на зададен праг на неактивност.
  • Формализиран е процесът на управление на цвета в обектите CanvasRenderingContext2D и ImageData и използването им в цветово пространство sRGB. Предоставена е възможност за създаване на обекти CanvasRenderingContext2D и ImageData в цветови пространства, различни от sRGB, като Display P3, за да се използват разширените възможности на съвременните монитори.
  • В API VirtualKeyboard са добавени методи и свойства за управление на показването и скриването на виртуалната клавиатура, а също и за получаване на информация за размера на показаната виртуална клавиатура.
  • В JavaScript классовете се предоставя възможност за прилагане на статични блокове за инициализация за групиране на код, който се изпълнява веднъж при обработка на класа: class C { // Блокът ще се изпълни при обработката на самого класа static { console.log(«C’s static block»); } }
  • В CSS-свойствата flex-basis и flex са реализирани ключови думи content, min-content, max-content и fit-content за по-гъвкаво управление на размера на основната област на Flexbox.
  • Добавено е CSS-свойство scrollbar-gutter за управление на резервирането на пространство на екрана под лентата с инструменти. Например, когато не е необходима прокрутка на съдържанието, може да се разшири показването и да се заеме областта на лентата с инструменти.
  • Добавен е API Self Profiling с реализация на система за профилиране, позволяваща измерване на времето за изпълнение на JavaScript от страната на потребителя за отстраняване на проблеми с производителността в JavaScript-кода, без да е необходимо ръчно манипулиране на интерфейса за уеб разработчици.
  • След изтриването на Flash плъгина беше решено да се връщат празни стойности в свойствата navigator.plugins и navigator.mimeTypes, но как се оказа, че някои приложения ги използваха за проверка на наличието на плъгини за показване на PDF файлове. Тъй като в Chrome има вграден прегледач на PDF, оттук нататък свойствата navigator.plugins и navigator.mimeTypes ще връщат фиксиран списък стандартни плъгини и MIME типове за показване на PDF — «PDF Viewer, Chrome PDF Viewer, Chromium PDF Viewer, Microsoft Edge PDF Viewer и WebKit built-in PDF».
  • Внесени са подобрения в инструментите за уеб разработчици. В списъка за симулиране на екрани са добавени устройството Nest Hub и Nest Hub Max. В интерфейса за инспектиране на мрежовата активност е добавен бутон за инвертиране на филтри (например, при настройване на филтър «status-code: 404» може бързо да се видят всички останали заявки), а също така е предоставена възможност за преглед на оригиналните стойности на заглавките Set-Cookie (позволява оценка на наличието на некоректни стойности, отстранявани при нормализация). Обособен е като остарял и ще бъде премахнат в едно от следващите издания страничния панел в уеб консолата. Добавена е експериментална възможност за скриване на проблеми на раздела Issues. В настройките е добавена възможност за избор на език на интерфейса.
    Издание на Chrome 94

Освен нововедения и поправки на грешки, новата версия е отстранила 19 уязвимости. Много от уязвимостите са открити в резултат на автоматизирано тестване с инструментите AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Не са открити критични проблеми, които да позволят заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън средата на пес sandbox. В рамките на програмата за изплащане на парични награди за откритие на уязвимости за текущото издание, компанията Google е изплатила 17 награди на обща стойност 56500 долара САЩ (една награда $15000, две награди $10000, една награда $7500, четири награди $3000, две награди $1000). Размерът на 7 награди все още не е определен.

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

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