Релиз на 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 (Висок динамичен обхват) и цветово пространство Wide-gamut, така и в стандартен динамичен обхват (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, например, за да се отдели вмъкваният външен стил на елемента и свързаният с него поддокумент от основния документ. Предложеното декларативно 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 (Прогресивни уеб приложения). Преди това преки пътища за приложения бяха налични само на платформата 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, позволяващо функции да връщат повече от една стойност.
  • Началният компилатор Liftoff за WebAssembly е активен за всички архитектури и платформи, а не само за Intel системи. Основното предимство на Liftoff в сравнение с предишния компилатор TurboFan е, че той е насочен към постигане на максимална скорост на началната компилация, жертвайки производителността на генерирания код. 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.
  • Забранена е предаването на бисквитки в режим SameSite=None за нешифровани връзки. Атрибутът SameSite се посочва в заглавиев Set-Cookie, за да управлява предаването на бисквитки и по подразбиране е настроен на «SameSite=Lax», което ограничава изпращането на бисквитки за междусайтови подзаявки, като заявка за изображение или зареждане на съдържание чрез iframe от друг сайт.
    Сайтовете могат да преназначат подразбиращия се режим SameSite, като изрично задават стойността SameSite=None при настройване на Cookie. Стойността SameSite=None за Cookie вече може да се задава само в Secure режим, който важи за свързвания чрез HTTPS.
  • В инструментите за уеб разработка е добавена поддръжка на редактиране на стилове, създадени от фреймуъркове CSS-in-JS чрез API CSSOM (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, Integrity на Контролния Поток, LibFuzzer и AFL. Не са установени критични проблеми, които да позволят заобикаляне на всички нива на защита на браузера и извършване на код в системата извън sandbox окружението. В рамките на програмата за изплащане на парични награди за откритие на уязвимости за текущото издание компания Google е изплатила 14 награди на стойност 10000 долара САЩ (една награда от 5000 долара, три награди от 1000 долара и четири награди от 500 долара). Размерът на 6 награди все още не е определен.

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

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