Рэліз Chrome 97

Кампанія Google прадставіла рэліз web-браўзэра Chrome 97. Адначасова даступны стабільны выпуск вольнага праекта Chromium, які выступае асновай Chrome. Браўзэр Chrome адрозніваецца выкарыстаннем лагатыпаў Google, наяўнасцю сістэмы адпраўкі апавяшчэнняў у выпадку краху, модулямі для прайгравання абароненага ад капіявання відэакантэнту (DRM), сістэмай аўтаматычнай усталёўкі абнаўленняў і перадачай пры пошуку RLZ-параметраў. Для тых, каму неабходна больш часу на абнаўленне, асобна падтрымліваецца галінка Extended Stable, якая суправаджаецца 8 тыдняў, у якой сфарміравана абнаўленне для мінулага выпуску Chrome 96. Наступны выпуск Chrome 98 запланаваны на 1 лютага.

Асноўныя змены ў Chrome 97:

  • Для часткі карыстачоў у канфігуратары задзейнічаны новы інтэрфейс кіравання дадзенымі, якія захоўваюцца на боку браўзэра ("chrome://settings/content/all"). Ключавым адрозненнем новага інтэрфейсу з'яўляецца арыентацыя на наладу паўнамоцтваў і ачыстку зараз усіх Cookie сайта, без магчымасці прагляду дэталізаванай інфармацыі аб асобных Cookie і выбарачнага выдалення Cookie. Па меркаванні Google, доступ да кіравання асобнымі Cookie для звычайнага карыстача, не які разбіраецца ў тонкасцях web-распрацоўкі, можа прывесці да непрадказальных парушэнняў у працы сайтаў з-за неабдуманай змены асобных параметраў, а таксама да выпадковага адключэння актываваных праз Cookie механізмаў абароны канфідэнцыяльнасці. Для тых каму неабходныя маніпуляцыі з асобнымі Cookie рэкамендавана выкарыстоўваць падзел кіравання сховішчам у прыладах для web-распрацоўнікаў (Applocation/Storage/Cookie).
    Рэліз Chrome 97
  • У блоку з інфармацыяй аб сайце рэалізаваны вывад кароткага апісання сайта (напрыклад, апісанні з вікіпедыі), калі ў наладах актываваны рэжым аптымізацыі пошуку і навігацыі (опцыя "Make searches and browsing better").
    Рэліз Chrome 97
  • Палепшана падтрымка аўтаматычнага запаўнення палёў у web-формах. Рэкамендацыі з варыянтамі аўтазапаўнення зараз выводзяцца з невялікім зрухам і забяспечваюцца інфармацыйнымі піктаграмамі для зручнейшага прадпрагляду і навочнага азначэння сувязі з запаўняльным полем. Напрыклад, піктаграма профіля дае зразумець, што прапанаванае аўтазапаўненне закранае палі, злучаныя з адрасам і кантактнай інфармацыяй.
    Рэліз Chrome 97
  • Забяспечана выдаленняў з памяці апрацоўшчыкаў карыстацкіх профіляў пасля зачынення звязаных з імі вокнаў браўзэра. Раней профілі заставаліся ў памяці і працягвалі выконваць працы, звязаныя з сінхранізацыяй і выкананнем фонавых скрыптоў дадаткаў, што прыводзіла да неабгрунтаванай траты рэсурсаў на сістэмах, у якіх адначасова выкарыстоўваецца некалькі профіляў (напрыклад, гасцявы профіль і прывязка да ўліковага запісу ў Google). Акрамя таго, забяспечана больш старанная чыстка даных, якія застаюцца ў працэсе работы з профілем.
  • Палепшана старонка з настройкамі пошукавых сістэм ("Settings>Manage search engines"). Адключаная аўтаматычная актывацыя рухавічкоў, інфармацыя аб якіх выдаецца пры адкрыцці сайта праз сцэнар OpenSearch – новыя рухавічкі для апрацоўкі пошукавых запытаў з адраснага радка зараз трэба актываваць у наладах уручную (раней аўтаматычна актываваныя рухавічкі працягнуць працаваць без змен).
  • Пачынальна з 17 студзеня ў каталог Chrome Web Store перастануць прымацца дадаткі, якія выкарыстоўваюць другую версію маніфесту Chrome, але распрацоўнікі раней дададзеных дадаткаў, як і раней, змогуць публікаваць абнаўленні.
  • Дададзена эксперыментальная падтрымка спецыфікацыі WebTransport, вызначальнай пратакол і спадарожны JavaScript API для адпраўкі і прыёму дадзеных паміж браўзэрам і серверам. Канал сувязі арганізуецца па-над HTTP/3 з выкарыстаннем у якасці транспарта пратаколу QUIC. WebTransport можа выкарыстоўвацца замест механізму WebSockets, прапаноўваючы такія дадатковыя магчымасці, як арганізацыя перадачы ў некалькі плыняў, аднанакіраваныя плыні, дастаўка без уліку парадку адпраўкі пакетаў (out-of-order), надзейны і ненадзейны рэжымы дастаўкі. Акрамя таго, WebTransport можа прымяняцца замест механізму Server Push, ад выкарыстання якога ў Chrome адмовілася кампанія Google.
  • У JavaScript-аб'екты Array і TypedArrays дададзены метады findLast і findLastIndex, якія дазваляюць шукаць элементы c высновай выніку адносна канца масіва. [1,2,3,4].findLast((el) => el % 2 === 0) // → 4 (апошні цотны элемент)
  • Закрытыя (без атрыбуту "open") HTML-элементы , зараз даступныя для пошуку і спасылак, і аўтаматычна раскрываюцца пры выкарыстанні пошуку па старонцы і навігацыі па фрагментах (ScrollToTextFragment).
  • Абмежаванні Content Security Policy (CSP) у загалоўках адказу сервера зараз ужываюцца і да вылучаных worker-ам, якія раней тлумачыліся як асобныя дакументы.
  • Забяспечаны відавочны запыт паўнамоцтвы загрузкі любых субрэсурсаў з унутранай сеткі - перад зваротам да ўнутранай сеткі або да localhost на сервер асноўнага сайта зараз адпраўляецца запыт CORS (Cross-Origin Resource Sharing) з загалоўкам "Access-Control-Request-Private-Network: true", які патрабуе пацверджання аперацыі праз вяртанне загалоўка "Access-Control-Allow-Private-Network: true".
  • Дададзена CSS-уласцівасць font-synthesis, якое дазваляе кіраваць магчымасцю сінтэзу браўзэрам якія адсутнічаюць напісанняў шрыфтоў (oblique, bold і small-cap), адсутных у абраным сямействе шрыфтоў.
  • Для CSS-трансфармацый у функцыі perspective() рэалізаваны параметр 'none', які апрацоўваецца як бясконцае значэнне пры арганізацыі анімацыі.
  • У HTTP-загаловак Permissions-Policy (Feature Policy), які ўжываецца для дэлегавання паўнамоцтваў і ўключэнні пашыраных магчымасцяў, дададзеная падтрымка значэння keyboard-map, які дазваляе выкарыстанне API Keyboard. Рэалізаваны метад Keyboard.getLayoutMap(), які дазваляе вызначыць якая клавіша націснутая з улікам розных раскладак клавіятуры (напрыклад, націснутая клавіша пры рускай раскладцы ці ангельскай).
  • Дададзены метад HTMLScriptElement.supports(), які ўніфікуе вызначэнне новых магчымасцяў, даступных у элеменце «script», напрыклад, можна пазнаць спіс падтрымоўваных значэнняў для атрыбуту «type».
  • Працэс нармалізацыі новых радкоў пры адпраўцы web-формаў прыведзены да адпаведнасці з браузернымі рухавікамі Gecko і WebKit. Нармалізацыя знакаў перакладу радка і звароту карэткі (замена /r і /n на \r\n) у Chrome зараз выконваецца на фінальнай стадыі, а не спачатку апрацоўкі адпраўкі формы (т.е. прамежкавыя апрацоўшчыкі, выкарыстоўвалыя аб'ект FormData, будуць бачыць дадзеныя як дадаў карыстальнік, а не ў нармалізаваным выглядзе).
  • Стандартызавана найменне імён уласцівасцяў для API Client Hints, які развіваецца ў якасці замены загалоўка User-Agent і які дазваляе выбарачна аддаваць дадзеныя аб пэўных параметрах браўзэра і сістэмы (версія, платформа і г.д.) толькі пасля запыту серверам. Уласцівасці зараз задаюцца з прэфіксам "sec-ch-", напрыклад, sec-ch-dpr, sec-ch-width, sec-ch-viewport-width, sec-ch-device-memory, sec-ch-rtt, sec- ch-downlink і sec-ch-ect.
  • Ужыта другая стадыя спынення падтрымкі API WebSQL, звароты да якога з іншых скрыптоў зараз будзе блакавацца. У далейшым плануецца паступова поўнасцю спыніць падтрымку WebSQL, незалежна ад кантэксту выкарыстання. Апрацоўшчык WebSQL заснаваны на кодзе SQLite і мог выкарыстоўвацца зламыснікамі для эксплуатацыі ўразлівасцяў у SQLite.
  • Для платформы Windows уключаная зборка з праверкамі цэласнасці струменя выканання (CFG, Control Flow Guard), якія блакуюць спробы падстаноўкі кода ў працэс Chrome. Акрамя таго, да сеткавых сэрвісаў, выкананым у асобных працэсах, зараз ужываецца sandbox-ізаляцыя, якая абмяжоўвае магчымасці кода ў дадзеных працэсах.
  • У Chrome для Android уключаны механізм дынамічнага абнаўлення лога выдадзеных і адкліканых сертыфікатаў (Certificate Transparency), які раней быў актываваны ў зборах для настольных сістэм.
  • Унесены паляпшэнні ў інструменты для web-распрацоўшчыкаў. Рэалізавана эксперыментальная падтрымка сінхранізацыя налад DevTools паміж рознымі прыладамі. Дададзена новая панэль Recorder, пры дапамозе якой можна запісваць, прайграваць і аналізаваць дзеянні карыстальніка на старонцы.
    Рэліз Chrome 97

    Пры вывадзе памылак у web-кансолі забяспечана адлюстраванне звязаных з праблемай нумароў слупкоў, што зручна для адладкі праблем у мініфікаваным JavaScript-кодзе. Абноўлены спіс прылад, якія можна сімуляваць для адзнакі адлюстравання старонкі на мабільных прыладах. У інтэрфейсе рэдагавання HTML-блокаў (Edit as HTML) дададзена падсвятленне сінтаксісу і магчымасць аўтададатку ўводу.

    Рэліз Chrome 97

Акрамя новаўвядзенняў і выпраўленні памылак у новай версіі ўхілена 37 уразлівасцяў. Многія з уразлівасцяў выяўлены ў выніку аўтаматызаванага тэсціравання інструментамі AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer і AFL. Адной з уразлівасцяў прысвоены статут крытычнай праблемы, якая дазваляе абыйсці ўсе ўзроўні абароны браўзэра і выканаць код у сістэме, за межамі sandbox-акружэнні. Дэталі аб крытычнай уразлівасці (CVE-2022-0096) пакуль не раскрываюцца, вядома толькі, што яна звязана са зваротам да ўжо вызваленай вобласці памяці ў кодзе для працы з унутранымі сховішчамі (API Storage).

У рамках праграмы па выплаце грашовай узнагароды за выяўленне ўразлівасцяў для бягучага рэлізу кампанія Google выплаціла 24 прэміі на суму 54 тысячы даляраў ЗША (тры прэміі $10000, дзве прэміі $5000, адна прэмія $4000, тры прэміі $3000 і адна прэмія $1000). Памер 14 узнагароджанняў пакуль не вызначаны.

Крыніца: opennet.ru

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