Google uzņēmums ir laidis klajā web pārlūkprogrammas Chrome 95 versiju. Tajā pašā laikā ir pieejama stabila brīvā projekta Chromium izlaiduma versija, kas kalpo par Chrome pamatu. Pārlūkprogramma Chrome izceļas ar Google logotipu lietošanu, crash paziņojumu sistēmu, aizsargāta video satura (DRM) atskaņošanas moduļiem, automātisko atjauninājumu instalēšanas sistēmu un RLZ-parametru nodošanu meklēšanas laikā. Saskaņā ar jauno 4 nedēļu attīstības ciklu nākamais Chrome 96 izlaidums ir plānots 16. novembrī. Lai sniegtu vairāk laika atjaunināšanai, atsevišķi tiek apkopota Extended Stable versija, kas notiek 8 nedēļas un kurā ir iekļauts atjauninājums iepriekšējai Chrome 94 versijai.
Galvenie uzlabojumi Chrome 95:
- Lietotājiem Linux, Windows, macOS un ChromeOS ir piedāvāta jauna sānu josla, kas tiek rādīta labajā pusē no satura un tiek aktivizēta, noklikšķinot uz īpaša simbols adreses joslā. Sānu joslā tiek rādīta grāmatzīmju un lasīšanas saraksta kopsavilkums. Izmaiņa nav pieejama visiem lietotājiem, tās aktivizēšanai var lietot iestatījumu «chrome://flags/#side-panel».

- Ir ieviesta skaidra pieprasījuma izsniegšana par adresēm, kas ievadītas web veidlapās, lai vēlāk tās varētu izmantot automātiskās aizpildīšanas sistēmā. Tagad, nosakot adreses veidlapās, lietotājam tiek parādīts dialogs, kas ļauj saglabāt adresi, rediģēt to, atjaunināt iepriekš saglabātu adresi vai atteikties no saglabāšanas.
- Ir noņemts kods FTP protokola atbalstam. Chrome 88 FTP atbalsts tika izslēgts pēc noklusējuma, bet tika atstāts karogs tās atgriešanai.
- Ir pārtraukta atbalsta sniegšana URL ar hosta nosaukumiem, kuri beidzas ar cipariem, bet nesakrīt ar IPv4 adresēm. Piemēram, URL «http://127.1/», «http://foo.127.1/» un «http://127.0.0.0.1» tagad tiks uzskatīti par nederīgiem.
- WebAssembly ir ieviesta iespēja izveidot izņēmumu apstrādātājus, kas var pārtraukt izpildi gadījumā, ja rodas izņēmums noteikta koda izpildes laikā. Tiek atbalstīta gan pazīstamu WebAssembly moduļa izņēmumu, gan importēto funkciju izsaukumu laikā radušos izņēmumu pārtraukšana. Lai izņēmumus varētu pārtraukt, WebAssembly modulis jāveido ar izņēmumus atbalstošu kompilatoru, piemēram, Emscripten.
Novērots, ka izņēmumu apstrāde WebAssembly līmenī būtiski samazina ģenerētā koda apjomu salīdzinājumā ar izņēmumu apstrādi izmantojot JavaScript. Piemēram, Binaryen optimizētāja izstrāde ar izņēmumu apstrādi, izmantojot JavaScript, palielina kodu par 43%, bet izmantojot WebAssembly - tikai par 9%. Turklāt, lietojot optimizācijas režīmu „-O3”, kods ar izņēmumu apstrādi, izmantojot WebAssembly, faktiski neatšķiras pēc veiktspējas no koda bez izņēmumu apstrādēm, kamēr izņēmumu apstrāde, izmantojot JavaScript, palielina izpildes laiku par 30%.
- Kopīga WebAssembly moduļu lietošana starp dažādiem domēniem (cross-origin) ir aizliegta, apstrādājot vienu un to pašu vietni.
- Origin Trials režīmā (eksperimentālās iespējas, kas prasa atsevišķu aktivāciju) pievienoti vairāki jauni API. Origin Trial nozīmē iespēju strādāt ar norādīto API no lietotnēm, kas ielādētas no localhost vai 127.0.0.1, vai pēc reģistrācijas un īpaša tokena saņemšanas, kas darbojas ierobežotu laiku konkrētai vietnei.
- Iekļauta informācijas samazināšana HTTP galvenē User-Agent un JavaScript parametrus navigator.userAgent, navigator.appVersion un navigator.platform. Galvenē palikuši tikai dati par pārlūkprogrammas nosaukumu, nozīmīgu pārlūkprogrammas versiju, platformu un ierīces veidu (mobilais telefons, dators, planšetdators). Lai iegūtu papildus datus, piemēram, precīzu versiju un paplašinātus datus par platformu, ir jāizmanto User Agent Client Hints API. User-Agent samazināšana parastajiem lietotājiem paredzēta Chrome 102 izlaidumam, kas tiks publicēts pēc sešiem mēnešiem.
- Tiek piedāvāta iespēja izveidot piekļuves deskriptors (Access Handles) File System Access API, kas ļauj web lietotnēm tieši lasīt un rakstīt datus failos un mapēs lietotāja ierīcē. Lai samazinātu veidus, kā web lietotnes piekļūst failu sistēmai, uzņēmums Google plāno apvienot File System Access API un Storage Foundation. Kā sagatavošanās šādai apvienošanai ieteikta piekļuves deskriptoru atbalstu, papildinot failu deskriptoru apstrādes metodes ar paplašinātām iespējām, piemēram, citu procesu rakstīšanas bloķēšanu un atsevišķu plūsmu radīšanu rakstīšanai un lasīšanai, tostarp atbalstot lasīšanu un rakstīšanu no darbiniekiem vienlaicīgi.
- Stabilizēts un piedāvāts pēc noklusējuma API Secure Payment Confirmation ar jauna paplašinājuma 'payment' īstenošanu, kas nodrošina papildu apstiprinājumu veiktajai maksājuma operācijai. Pārbaudītāja puse, piemēram, banka, var ģenerēt atvērtā atslēga PublicKeyCredential, ko var pieprasīt pārdevējs papildu drošam maksājuma apstiprinājumam caur API Payment Request, izmantojot maksājuma metodi 'secure-payment-confirmation'.
- Callback izsaukumos, kas izveidoti, izmantojot PerformanceObserver konstruktoru, ir īstenota īpašības droppedEntriesCount pārsūtīšana, kas ļauj saprast, cik vietnes veiktspējas metriku tika atmešana, jo tās neiekļāvās sniegtajā buferī.
- Pievienots API EyeDropper, kas ļauj izsaukt pārlūkprogrammas sniegto interfeisu, lai noteiktu krāsu nejaušiem pikseļiem ekrānā, ko var izmantot, piemēram, grafiskajos redaktoros, kas īstenoti kā tīmekļa lietojumprogrammas. const eyeDropper = new EyeDropper(); const result = await eyeDropper.open(); // result = {sRGBHex: '#160731'}
- Pievienota funkcija self.reportError(), kas ļauj skriptiem izvadīt kļūdas konsolē, emulējot neiznākamo izņēmumu rašanos.
- Pievienots API URLPattern, lai pārbaudītu URL atbilstību noteiktam paraugam, ko, piemēram, var izmantot saites analīzei un pieprasījumu pāradresēšanai uz apstrādātājiem pakalpojumu darbiniekā. const p = new URLPattern({ protocol: 'https', hostname: 'example.com', pathname: '/:folder/*/:fileName.jpg', });
- Paplašināts API Intl.DisplayNames, caur kuru var iegūt lokalizētus valodu, valstu, valūtu, datu elementu nosaukumus u.tml. Jaunajā versijā ir pievienoti jauni nosaukumu tipi 'calendar' un 'dateTimeField', caur kuriem var uzzināt lokalizētus kalendāra un datuma un laika lauku nosaukumus (piemēram, mēnešu nosaukumus). 'language' tipam pievienota atbalsts dialektu lietošanai.
- API Intl.DateTimeFormat ir pievienots jauno laika zonas vārdu parametra timeZoneName atbalsts: 'shortGeneric' īsā laika zonas identifikatora (piemēram, 'PT', 'ET') izvadīšanai, 'longGeneric' garā ('Pacific Time', 'Mountain Time'), 'shortOffset' ar īsu novirzi attiecībā pret GMT ('GMT+5') un 'longOffset' ar garu novirzi attiecībā pret GMT ('GMT+0500').
- U2F API (Cryptotoken) ir pasludināts par novecojušu, un tā vietā jāizmanto Web Authentication API. U2F API tiks atspējots pēc noklusējuma Chrome 98 laidienā un pilnībā noņemts Chrome 104.
- Tika veikti uzlabojumi rīkos web izstrādātājiem. Stilu panelī ir vienkāršota CSS īpašību, kas saistītas ar izmēriem (height, padding utt.), labošana. Problemu cilnē tagad ir iespēja slēpt atsevišķas problēmas. Web konsolē un paneļos Sources un Properties ir uzlabota īpašību atspoguļošana (pašas īpašības tagad tiek izceltas treknrakstā un parādītas saraksta augšpusē).

Papildus jaunumiem un kļūdu labojumiem jaunajā versijā tika novērstas 19 ievainojamības. Daudzas no ievainojamībām tika atklātas, veicot automatizētus testus ar AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer un AFL rīkiem. Kritiskas problēmas, kas ļautu apiet visus pārlūkprogrammas aizsardzības līmeņus un izpildīt kodu ārpus sandbox vides, netika atklātas. Ievainojamību atklāšanas balvu programmā šī laidiena ietvaros uzņēmums Google izmaksāja 16 prēmijas kopā 74 tūkstošu ASV dolāru apmērā (viena prēmija $20000, divas prēmijas $10000, viena prēmija $7500, viena prēmija $6000, trīs prēmijas $5000 un pa vienai prēmijai $3000, $2000 un $1000). Piecu prēmiju summa pagaidām nav noteikta.
Avots: opennet.lv


