Рэліз Chrome 95

Кампанія Google прадставіла рэліз web-браўзэра 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
  • Рэалізаваны вывад відавочнага запыту паўнамоцтваў на захаванне адрасоў, уведзеных у web-формах, для наступнага выкарыстання ў сістэме аўтазапаўнення форм. Пры вызначэнні наяўнасці адрасоў у формах карыстачу зараз паказваецца дыялог, які дазваляе захаваць адрас, адрэдагаваць, абнавіць раней захаваны адрас ці адмовіцца ад захавання.
  • Выдалены код для падтрымкі пратаколу 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. У загалоўку пакінуты толькі звесткі аб назве браўзэра, значнай версіі браўзэра, платформе і тыпе прылады (мабільны тэлефон, ПК, планшэт). Для атрымання дадатковых дадзеных, такіх як дакладная версія і пашыраныя дадзеныя аб платформе, неабходна выкарыстоўваць API User Agent Client Hints. Пачатак уразання User-Agent на сістэмах звычайных карыстальнікаў намечана на выпуск Chrome 102, які будзе апублікаваны праз паўгода.
    • Прапанавана магчымасць стварэння дэскрыптараў доступу (Access Handles) для API File System Access, які дазваляе web-прыкладанням чытаць і запісваць дадзеныя напроста ў файлы і каталогі на прыладзе карыстача. Для скарачэння спосабаў звароту web-прыкладанняў да файлавай сістэмы кампанія 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, які дазваляе выклікаць які прадстаўляецца браўзэрам інтэрфейс для вызначэння колеру адвольных пікселяў на экране, што можа ўжывацца, напрыклад, у графічных рэдактарах, рэалізаваных у выглядзе web-прыкладанняў. 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.
  • Унесены паляпшэнні ў інструменты для web-распрацоўшчыкаў. У панэлі Styles спрошчана карэкціроўка ўласцівасцяў CSS, звязаных з памерам (height, padding і да т.п.). Ва ўкладцы Issues прадстаўлена магчымасць утойвання асобных праблем. У web-кансолі і панэлях Sources і Properties палепшана адлюстраванне ўласцівасцяў (уласныя ўласцівасці зараз вылучаюцца тоўстым шрыфтам і паказваюцца ў версе спісу).
    Рэліз Chrome 95

Акрамя новаўвядзенняў і выпраўленні памылак у новай версіі ўхілена 19 уразлівасцяў. Многія з уразлівасцяў выяўлены ў выніку аўтаматызаванага тэсціравання інструментамі AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer і AFL. Крытычных праблем, якія дазваляюць абыйсці ўсе ўзроўні абароны браўзэра і выканаць код у сістэме за межамі sandbox-акружэнні, не выяўлена. У рамках праграмы па выплаце грашовай узнагароды за выяўленне ўразлівасцяў для бягучага рэлізу кампанія Google выплаціла 16 прэмій на суму 74 тысячы даляраў ЗША (адна прэмія $20000, дзве прэміі $10000, адна прэмія $7500, адна прэмія $6000, тры прэміі $5000 і па адной , $3000 і $2000). Памер 1000 узнагароджанняў пакуль не вызначаны.

Крыніца: opennet.ru

Дадаць каментар