Google uzņēmums ir laidis klajā web pārlūkprogrammas Chrome 105 versiju. Tajā pašā laikā ir pieejama stabilā versija atvērtā projekta Chromium, kas ir Chrome pamatā. Pārlūkprogramma Chrome atšķiras no Chromium ar Google logotipu izmantošanu, crash paziņojumu sistēmas klātbūtni, moduļiem, kas nodrošina aizsargāta videokontenta (DRM) atskaņošanu, automātisko atjauninājumu instalēšanas sistēmu, pastāvīgu Sandbox izolāciju, Google API atslēgu piegādi un RLZ parametrus meklēšanas procesā. Tiem, kam nepieciešams vairāk laika atjauninājumiem, tiek atbalstīts Extended Stable zars, kas ir pieejams 8 nedēļas. Nākamā Chrome 106 izlaiduma datums ir plānots 27. septembrī.
Galvenās izmaiņas Chrome 105:
- Tika pārtraukta speciālo web lietojumprogrammu Chrome Apps atbalsts, kurām vietā nāk atsevišķas web lietojumprogrammas, kas balstītas uz progresīvās web lietojumprogrammas (PWA) tehnoloģiju un standarta Web API. Sākotnēji Google 2016. gadā paziņoja par nodomu atteikties no Chrome Apps un plānoja pārtraukt to atbalstu līdz 2018. gadam, taču vēlāk šo plānu atliks. Chrome 105 mēģinājumiem instalēt Chrome Apps tiks parādīts brīdinājums par atbalsta pārtraukšanu, taču pašas lietojumprogrammas turpinās darboties. Chrome 109 tiks izslēgta Chrome Apps izpildīšana.
- Tika nodrošināta papildu izolācija 'renderer' procesam, kas atbild par attēlošanu. Šis process tagad tiek izpildīts papildu konteinerī (App Container), kas ir izstrādāts virs esošās sandbox izolācijas sistēmas. Gadījumā, ja tiks izmantota ievainojamība attēlošanas kodā, pievienotie ierobežojumi neļaus uzbrucējam piekļūt tīklam, pateicoties saistītajam sistēmas izsaukumu tīklošanas iespējām.
- Ir ieviesta unikāla saknes sertifikātu krātuve (Chrome Root Store) vadošajiem sertifikācijas centriem. Jaunā krātuve pagaidām nav iekļauta pēc noklusējuma un līdz sertifikātu ieviešanas beigām turpinās tikt pārbaudīta, izmantojot katrai operētājsistēmai specifisko krātuvi. Izmēģināmais risinājums atgādina Mozilla pieeju, kas atbalsta atsevišķu neatkarīgu saknes sertifikātu krātuvi Firefox, ko izmanto kā pirmo posmu sertifikātu uzticības ķēdes pārbaudei, atverot vietnes pa HTTPS.
- Sākušās sagatavošanās Web SQL API atbalsta pārtraukšanai, kas nav standartizēts, gandrīz nav izmantots un prasa pārstrādi, lai atbilstu mūsdienu drošības prasībām. Chrome 105 ir aizliegts piekļūt Web SQL no koda, kas tiek ielādēts bez HTTPS izmantošanas, un pievienots brīdinājums par tehnoloģijas novecošanu DevTools. 2023. gadā plānots dzēst Web SQL API. Izstrādātājiem, kuriem nepieciešama līdzīga funkcionalitāte, tiks sagatavota aizvietošana, kas balstīta uz WebAssembly.
- Chrome sync atbalsts ir pārtraukts Chrome 73 un agrākajām versijām.
- macOS un Windows platformām ir aktivizēta iebūvēta sertifikātu skatītāja izmantošana, kas nomainīja operētājsistēmas nodrošināto saskarni. Agrāk iebūvētais skatītājs tika izmantots tikai Linux un ChromeOS izstrādē.
- Android platformas versijā ir pievienotas iestatījumu opcijas, lai pārvaldītu API 'Topics & Interest Group', kas tiek virzīts Privātuma smilšu kastes iniciatīvā un ļauj noteikt lietotāja intereses un izmantot tās, lai identifikācijas vietā izveidotu grupas ar līdzīgām interesēm bez individuālas identifikācijas. Iepriekšējā izlaidumā šādi iestatījumi tika pievienoti Linux, ChromeOS, macOS un Windows versijām.
- Aktivējot paplašināto pārlūka aizsardzību (Safe Browsing > Enhanced protection), tiek apkopota telemetrija par instalētajiem paplašinājumiem, piekļuvi API un savienojumiem ar ārējiem vietnēm. Šie dati tiek izmantoti Google serveros, lai noteiktu ļaunprātīgas aktivitātes un pārkāpumus, ko veic pārlūka paplašinājumi.
- Netiek pieļauta ne-ASCII simbolu izmantošana domēnos, kas norādīti sīkdatņu galvenē, un tā tiek pārvērsta par novecojušu iespēju, kas tiks bloķēta Chrome 106 izlaidumā (IDN domēniem domēni ir jānorāda punycode formātā). Izmaiņas novirzīs pārlūku atbilstīgi RFC 6265bis prasībām un uzvedībai, ko īstenojis Firefox.
- Tika piedāvā Custom Highlight API, kas paredzēts brīvai iezīmēto teksta jomu stila maiņai, ļaujot neierobežoties ar pārlūkprogrammas sniegto fiksēto stilu iezīmētajām jomām (::selection, ::inactive-selection) un sintaktisko kļūdu izcelšanai (::spelling-error, ::grammar-error). Pirmajā API versijā tiek piedāvāta atbalsts teksta un fona krāsas maiņai, izmantojot pseidoelementus color un background-color, taču nākotnē tiks pievienotas arī citas iespējas stila pielāgošanai.
Kā uzdevumu piemērs, ko var atrisināt, izmantojot jauno API, ir minēts, ka web-izstrādņu ietvars, kas nodrošina rīkus teksta rediģēšanai, var pievienot savus iezīmēšanas mehānismus, dažādu iezīmēšanu vairākos lietotāju rediģēšanas režīmos, meklēšanu virtualizētos dokumentos un kļūdu atzīmēšanu pareizrakstības pārbaudē. Agrāk, lai izveidotu nestandartizētu iezīmēšanu, bija nepieciešamas sarežģītas manipulācijas ar DOM koku; taču Custom Highlight API nodrošina gatavas darbības iezīmēšanas pievienošanai un noņemšanai, neskarot DOM struktūru un pielietojot stilus, kas saistīti ar Range objektiem.
- CSS ir pievienota vaicājuma "@container" atbalsts, kas ļauj veidot elementu stilu atkarībā no vecāku elementu izmēra. "@container" atgādina "@media" vaicājumus, taču tiek pielietots nevis uz visu redzamo laukumu, bet gan uz bloku (kontaineru), kurā elements ir novietots, ļaujot noteikt bērnu elementiem savu stila izvēles loģiku, kas nav atkarīga no tā, kur lapā elements ir novietots.

- Pievienots CSS pseidos klase «:has()» bērna elementa esamības pārbaudei vecā elementā. Piemēram, «p:has(span)» aptver elementus <p>, kurā ir iekļauts elements <span>.
- Ir ieviests HTML Sanitizer API, kas ļauj izgriezt no satura tos elementus, kas ietekmē attēlošanu un darbību, izmantojot metodi setHTML(). API var noderēt, tīrot ieplūstošos datus no HTML tagiem, kas var tikt izmantoti XSS uzbrukumu veikšanai.
- Ir nodrošināta iespēja izmantot API Streams (ReadableStream), lai sūtītu fetch pieprasījumus pirms atbildes ķermeņa ielādes, t.i., dati var tikt sūtīti, nesagaidot lapas ģenerēšanas pabeigšanu.
- Izvietotajām izolētām tīmekļa lietotnēm (PWA, progresīvā tīmekļa lietotne) ir nodrošināta iespēja mainīt loga virsraksta zonas noformējumu, izmantojot Window Controls Overlay komponentus, kas paplašina tīmekļa lietotnes ekrāna laukumu visā logā un ļauj piešķirt tīmekļa lietotnei parastu galddatoru lietotnes izskatu. Tīmekļa lietotne var pārvaldīt zīmēšanu un ievades apstrādi visā logā, izņemot noklusējuma logu vadības pogu (aizvēršana, minimizēšana, maksimizēšana) pārklājumu.

- Stabilizēta piekļuve Media Source Extensions no atsevišķiem darbiniekiem (DedicatedWorker kontekstā), ko var izmantot, piemēram, lai uzlabotu buferizētās multimediju datu atskaņošanas sniegumu, izveidojot MediaSource objektu atsevišķā darbiniekā un nosūtot tā rezultātus HTMLMediaElement galvenajā pavedienā.
- API Client Hints, kas attīstās, lai aizvietotu lietotāja aģenta galveni un ļauj izvēles kārtībā nodot datus par konkrētajiem pārlūkprogrammas un sistēmas parametriem (versija, platforma utt.) tikai pēc pieprasījuma, serveri, pievienota Sec-CH-Viewport-Heigh īpašuma atbalsts, kas ļauj iegūt informāciju par redzamās zonas augstumu. Mainīts formatējums, lai noteiktu Client Hints parametrus ārējiem resursiem, izmantojot tagu „meta”: tika: kļuva:
- Pievienota iespēja izveidot globālos onbeforeinput notikumu apstrādātājus (document.documentElement.onbeforeinput), ar kuru palīdzību tīmekļa lietotnes var pārdefinēt uzvedību, rediģējot tekstu blokos ,
- Paplašinātas API Navigation iespējas, kas ļauj tīmekļa lietotnēm notvert navigācijas operācijas logā, iniciēt pārejas un analizēt darbību vēsturi ar lietotni. Pievienotas jaunas metodes intercept() pārejas notveršanai un scroll() ritināšanai uz noteiktu pozīciju.
- Pievienota statiskā metode Response.json(), kas ļauj veidot atbildes saturu, pamatojoties uz JSON datu tipu.
- Tika uzlabojumi web izstrādātāju rīkos. Debuggerī pie izsistēšanas punktiem ir atļauta augšējo funkciju steka rediģēšana, nepārtraucot debug sesiju. Ierakstītāja panelī, kas ļauj ierakstīt, atkārtoti atskaņot un analizēt lietotāju darbības lapā, ir ieviesta atbalsta izsistšanas punktiem, soli pa solim atskaņošanai un peles pārvietošanās notikumu ierakstīšanai.
Veiktspējas analīzes panelī ir pievienotas LCP (Largest Contentful Paint) metriku, lai identificētu aizkavēšanos, atveidojot lielos (lieto jaunatklājamus) elementus redzamajā teritorijā, piemēram, attēlus, videoklipus un bloku elementus. Elements panelī ir ieviesta augšējo slāņu marķēšana, kas tiek parādīta virs citiem saturiem, ar speciālu ikonu. WebAssembly ir nodrošināta iespēja ielādēt atk debugging datus DWARF formātā.
Papildus jaunumiem un kļūdu labojumiem jaunajā versijā ir novērstas 24 ievainojamības. Daudzas no ievainojamībām tika atklātas automatizētajā testēšanā, izmantojot rīkus AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer un AFL. Kritiskas problēmas, kas ļauj apiet visus pārlūka aizsardzības līmeņus un izpildīt kodu sistēmā ārpus sandboxa vides, nav identificētas. Ņemot vērā programmu, kas piešķir naudas balvas par ievainojamību atklāšanu, kompānija Google šajā laidienā ir piešķīrusi 21 balvu kopumā 60500 ASV dolāru apmērā (viena balva 10000 dolāru, viena balva 9000 dolāru, viena balva 7500 dolāru, viena balva 7000 dolāru, divas balvas 5000 dolāru, četras balvas 3000 dolāru, divas balvas 2000 dolāru un viena balva 1000 dolāru). Septiņu balvu lielums vēl nav noteikts.
Avots: opennet.lv


