Релиз Chrome 85

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

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

  • Добавено възможност за свиване на групи с разделители. Вкладките се обединяват в групи чрез контекстното меню и могат да бъдат свързани с определен цвят и етикет. Когато щракнете на етикета на групата, свързаните с него вкладки вече се скриват и остава само един етикет. Повторно щракване върху етикета премахва скритостта.

    Релиз Chrome 85

    Релиз Chrome 85
  • Реализиран е предварителен преглед на съдържанието на вкладките. Когато курсорът се задържи върху бутона на вкладката, сега се показва изображение на страницата, която се намира в нея. Тази функция в момента е активирана не за всички потребители и може да бъде включена чрез настройката «chrome://flags/#tab-hover-cards».

    Релиз Chrome 85
  • Добавена е възможността за запазване на редактирани PDF формуляри, както и са предложени настройки «chrome://flags#pdf-viewer-update» и «chrome://flags/#pdf-two-up-view» за експерименти с новия интерфейс за преглед на PDF документи.
  • Добавена е възможност за споделяне на линкове чрез QR кодове. За генериране на QR код за текущата страница в адресната лента е добавена специална икона, която се появява при щракване върху адресната лента. Тази функция в момента е активирана не за всички потребители и може да бъде включена чрез настройката «chrome://flags/#sharing-qr-code-generator».

    Релиз Chrome 85
  • На страницата about:flags се появи опция «Omnibox UI Hide Steady-State URL Path, Query, and Ref» («chrome://flags#omnibox-ui-hide-steady-state-url-path-query-and-ref-on-interaction»), която позволява да се деактивира показването на елементите от пътя и параметрите на заявката в адресната лента, оставяйки видим само домейна на сайта. Скритието става при започване на взаимодействие с страницата (по време на зареждане и докато потребителят не започне да превърта, се показва целият URL). След скриването за преглед на пълния URL се предлага да се кликне върху адресната лента. Също така е налична опция «chrome://flags#omnibox-ui-reveal-steady-state-url-path-query-and-ref-on-hover» за показване на пълния URL при задържане на курсора. Достъпната в контекстното меню настройка «Винаги показвай URL изцяло» отменя скритото «https://», «www.», пътищата и параметрите. По подразбиране скритото е активирано само за малък процент от потребителите. Като мотив за промяната се посочва желанието да се защитят потребителите от фишинг, манипулиращ параметрите в URL.
    Релиз Chrome 85
  • В режим на таблет за устройства с чувствителни екрани е активирана хоризонтална навигация по отворените табове, при която, освен заглавията на табовете, се показват големи предварителни прегледи на свързаните страници. Табовете могат да се местят и прегрупират с жестове на екрана. Показването на предварителните прегледи се включва и изключва с помощта на специален бутон, разположен до адресната лента и аватара на потребителя. За деактивиране на режима са предвидени настройки „chrome://flags/#webui-tab-strip“ и „chrome://flags/#scrollable-tabstrip“.

    Релиз Chrome 85
  • В версията за Android, при въвеждане в адресната лента, в списъка с предлагани страници се предоставя подсказка за бърз преход към вече отворени табове.
    Релиз Chrome 85
  • В версията за Android в контекстното меню на линкове, което се появява при продължително задържане на натискане на линка, добавени етикетите за отбелязване на бързи страници. Скоростта се определя въз основа на метрики Core Web Vitals, отчитат обобщените показатели на времето за зареждане, отзивчивостта и стабилността на съдържанието.
    Релиз Chrome 85
  • Обезпечено е блокирането на небезопасно изтегляне (без криптиране) на изпълняеми файлове и добавено извеждане на предупреждения при небезопасно изтегляне на архиви (zip, iso и т.н.). В следващото издание се очаква блокиране на архиви и извеждане на предупреждение за документи (docx, pdf и т.н.). В бъдеще планирано е постепенно да се прекрати напълно поддръжката на изтеглянето на файлове без криптиране. Блокирането е реализирано, тъй като изтеглянето на файлове без криптиране може да се използва за извършване на злонамерени действия чрез подмяна на съдържанието в процеса на MITM атаки.
  • Поддръжката на формата за изображения AVIF (AV1 Image Format) е включена по подразбиране. В него са използвани технологии за междукадрово компресиране от формата за кодиране на видео AV1. Контейнерът за разпространение на компресираните данни в AVIF е напълно аналогичен на HEIF. AVIF поддържа както изображения в HDR (High Dynamic Range) и цветово пространство с широк диапазон, така и в стандартен динамичен диапазон (SDR).
  • При компилиране на сборки за Windows и macOS по подразбиране при извикване на компилаторите MSVC и Clang е активирано оптимизации въз основа на резултатите от профилирането на кода (PGO — оптимизация, базирана на профилиране), което позволява генерирането на по-оптимален код на базата на анализа на особеностите на изпълнението на програмата. Включването на PGO позволи ускоряване на зареждането на табовете с приблизително 10% (ускорение на изпълнението на теста Speedometer 2.0 на macOS с 7.7%, а на Windows с 11.4%). Отзивчивостта на интерфейса се увеличи в macOS с 3.9%, а на Windows с 7.3%.
  • Добавен е експериментален режим за ограничаване на активността на фоновите табове („Tab Throttling“), достъпен чрез настройка „chrome://flags##intensive-wake-up-throttling“ (включването по подразбиране се очаква в Chrome 86). При включване на режима предаването на управление на фоновите табове (TaskQueues) се намалява до 1 извикване в минута, ако страницата е на заден план повече от 5 минути.
  • За всички категории потребители е активиран режим на намаляване на потреблението на ресурси на CPU, когато прозорецът на браузъра не е в зрителното поле на потребителя. Chrome проверява дали прозорецът на браузъра не е закрит от други прозорци и изключва рисуването на пиксели в областите на припокриване.
  • Усилена защита от зареждане на смешан мултимедиен контент (когато на HTTPS-страница се зареждат ресурси по протокол http://). На страниците, отворени по HTTPS, е реализирана автоматична замяна на линковете „http://“ с „https://“ в блоковете, свързани с зареждането на изображения (по-рано се замениха скриптовете и iframe-овете, аудиофайловете и видеото). Ако изображението не е достъпно по https, зареждането му се блокира (вече може да се отбележи блокирането чрез менюто, достъпно чрез символа на ключалката в адресния ред).
  • Към TLS-сертификатите, издадени от 1 септември 2020 година, ще бъде се прилага ново ограничение на срока на действие — животът на тези сертификати не може да надвишава 398 дни (13 месеца). Подобни ограничения са приложени в Firefox и Safari. За сертификатите, получени преди 1 септември, доверието ще бъде запазено, но ограничено до 825 дни (2.2 години).
  • В режим на Origin Trials (експериментални функции, изискващи специално активиране) бяха добавени няколко нови API. Origin Trial означава възможност за работа с посочения API от приложения, натоварени от localhost или 127.0.0.1, или след регистрация и получаване на специален токен, който действа за ограничен период на конкретен сайт.
    • Предложена концепция портали за осигуряване на непрекъсната навигация между сайтовете и вмъкването на една страница в друга за предварителен преглед на съдържанието преди преминаване. Предложен е новият таг , който позволява да се покаже друга страница под формата на вмъкване, при фокусиране върху която, показаната във вмъкването страница ще бъде трансформирана в основния документ, в рамките на който е разрешена навигацията. За разлика от iframe, вмъкването е напълно изолирано от основната страница и се обработва като отделен документ.
    • API Fetch Upload Streaming, позволяваща извършването на fetch-запроси с качване на съдържание под формата на поток ReadableStream (преди заявката изискваше пълна готовност на съдържанието, а сега е възможно да се започне изпращането на данни под формата на поток, без да се чака пълната готовност на тялото на заявката). Например, уеб-приложението може да започне да изпраща данните от уебформата веднага след като потребителят започне да въвежда текст в полето за въвеждане и когато въвеждането приключи, данните чрез fetch() вече ще бъдат изпратени. Включително чрез новия API могат да се предават аудио и видео данни, генерирани от клиента.
    • Предложен API Declarative Shadow DOM за създаване на нови коренови клони в Shadow DOM, например за отделяне на импортируемия стил на елемента от свързания с него поддомен DOM от основния документ. Предложеният декларативен API позволява да се постигне откъсване на клоните на DOM само с HTML, без да е необходимо писането на код на JavaScript.
    • Добавено е свойство RTCRtpEncodingParameters.adaptivePtime, позволяващо на изпращача на RTC-потокове (real-time communication) да управлява активирането на адаптивен механизъм за изпращане на пакети.
    • Улеснено е предоставянето на постоянно хранилище за вече инсталирани PWA (Progressive Web Apps) и TWA (Trusted Web Activities)
      Приложението просто трябва да извика метода navigator.storage.persist() и постоянното хранилище ще бъде предоставено автоматично.
  • Реализирано е ново CSS правило @property, позволяващо регистрирането на собствени CSS свойства с наследяване, проверка на типове и стойности по подразбиране. Действието @property е аналогично на вече добавения метод registerProperty().
  • За системи с ОС Windows е предоставена възможност за използване на метода getInstalledRelatedApps() за определяне на инсталирането на PWA-приложения. Преди този метод работеше само на платформата Android.
  • За настолни системи е реализирана поддръжка на ярлици на приложения, позволяващ бърз достъп до често използваните стандартни действия в приложението. За създаване на прякори е достатъчно да добавите елементи в манифеста на уеб приложението в PWA (Progressive Web Apps) формат. По-рано, прякори на приложения бяха налични само на платформата Android.
  • Добавено CSS свойство content-visibility , за управление на видимостта на съдържанието с цел оптимизация на рендирането. При задаване на стойност ‘auto’, видимостта се определя от браузъра в зависимост от близостта на елемента до границата на видимата област. Стойността ‘hidden’ позволява пълно управление на показването на елемента от скриптове.
  • Добавено CSS свойство counter-set , за задаване на определена стойност за съществуващи броячи. Новото CSS свойство допълва предишно наличните свойства counter-reset и counter-increment, използвани за създаване на нов брояч или увеличаване на съществуващ.
  • Добавено е CSS свойство ‘page’, което отразява страницата при печат, а също така свойство ‘page-orientation’ за получаване на информация за ориентацията на страницата (‘upright’, ‘rotate-left’ и ‘rotate-right’). Реализирана е поддръжка за достъп до страниците по имена, например “@page foobar {}”.
  • Реализирано е API Event Timing , за измерване на забавянията на събитията преди и след зареждане на страницата.
  • В събитие leavepictureinpicture сега се предава референция към pictureInPictureWindow за достъп до прозореца в режим Picture-in-Picture.
  • При попълване на заглавието Referrer по подразбиране сега се прилага правилото strict-origin-when-cross-origin (изпращане на Referrer, съкратен за други хостове, от които се зареждат ресурси) вместо no-referrer-when-downgrade (Referrer не се попълва при преход от HTTPS към HTTP, но се изпраща при зареждане на ресурси по HTTPS).
  • В API WebAuthn предложени нови методи getPublicKey(), getPublicKeyAlgorithm() и getAuthenticatorData().
  • В WebAssembly е добавена поддържа импорт и экспорт на 64-битови цели параметри на функционции, използвайки JavaScript типа BigInt.
  • В WebAssembly е реализирано разширение Multi-value, , позволяващо функции да връщат повече от една стойност.
  • Началният (baseline) компилатор Liftoff за WebAssembly е активиран за всички архитектури и платформи, а не само за Intel системи. Ключовата разлика между Liftoff и предишния компилатор TurboFan е, че Liftoff е насочен към постигане на максимална скорост на началната компилация, в замяна на по-ниска производителност на генерирания код. Liftoff е значително по-прост от TurboFan и генерира готов за изпълнение машинен код много бързо, позволявайки почти веднага да се започне неговото изпълнение и минимизирайки забавянето от компилацията. За ускоряване на черновия код паралелно се стартира фаза на оптимизираща прекомпилация, която се извършва с помощта на компилатора Turbofan. След готовността на оптимизираните машинни инструкции, началният чернови вариант се заменя с по-бърз код. В крайна сметка, благодарение на намаляването на забавянето преди началото на изпълнението, използването на Liftoff доведе до увеличение на производителността на тестовия набор WebAssembly с около 20%.
  • В JavaScript добавени нови оператори за логично присвояване: «??=», «&&=» и «||=». Операторът «x ??= y» извършва присвояване, само ако «x» е null или undefined. Операторът «x ||= y» извършва присвояване, само ако «x» е FALSE, а в «x &&= y» — TRUE.
  • Добавен е методът String.prototype.replaceAll(), който връща нова стринга (първоначалната стринга не се променя), в която на основата на зададен шаблон се извършват замени на всички съвпадения. Шаблоните могат да бъдат както прости маски, така и регулярен израз.
  • Реализиран е методът Promise.any(), който връща първия завършен Promise от списъка.
  • Действието на манифеста AppCache (технология за работа на уеб приложението в офлайн режим) е прекратено. Като причина се посочва желанието да се премахне един от векторите за атаки, свързани с междусайтово скриптиране. Вместо AppCache се препоръчва използването на API Cache.
  • Забранена е предаването на Cookie в режим SameSite=None за нешифрована връзка. Атрибутът SameSite се указва в заглавието Set-Cookie за управление на предаването на Cookie и по подразбиране е настроен на «SameSite=Lax», което ограничава изпращането на Cookie за междусайтови подзаявки, като искане за изображение или зареждане на съдържание чрез iframe от друг сайт.
    Сайтовете могат да пренастроят по подразбиране режима SameSite, като явнo задават стойността SameSite=None при инсталиране на бисквитките. Стойността SameSite=None за бисквитките вече може да бъде задавана само в режим Secure, който важи за връзки през HTTPS.
  • В инструментите за уеб разработчици е добавена поддръжка за редактиране на стилове, създадени от CSS-in-JS рамки чрез CSSOM API (CSS Object Model), както и стилове, добавени от JavaScript. Плъзгачът за одит е актуализиран до версия Lighthouse 6.0, в която са добавени нови метрики Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS) и Total Blocking Time (TBT).

    Релиз Chrome 85
  • В панела за оценка на производителността се показва информация за кеширането на резултатите от компилацията на JavaScript. При навигация на потребителя по страницата се показва времето относително до началото на навигацията, а не до началото на записването.

    Релиз Chrome 85

Освен нововъведенията и корекциите на грешки, в новата версия е отстранено 20 уязвимости. Много от уязвимостите са открити в резултат на автоматизирано тестване с инструменти AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Не са установени критични проблеми, които позволяват да се заобиколят всички нива на защита на браузъра и да се изпълни код в системата извън средата на пясъчника. В рамките на програмата за награди за откритие на уязвимости за текущото издание компанията Google е изплатила 14 награди на обща стойност 10 000 долара (една награда от $5000, три награди от $1000 и четири награди от $500). Размерът на 6 награди все още не е определен.

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

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