Google prezantoi publikimin e shfletuesit web Chrome 95. Njëkohësisht, është e disponueshme një lëshim stabil i projektit të lirë Chromium, i cili shërben si baza e Chrome. Shfletuesi Chrome karakterizohet nga përdorimi i logove të Google, nga sistemi i njoftimeve në rast të çarjeve, moduleve për riprodhimin e përmbajtjes video të mbrojtur (DRM), nga sistemi automatik i instalimit të përditësimeve dhe nga dërgimi i parametrave RLZ gjatë kërkimit. Sipas ciklit të ri të zhvillimit prej 4 javësh, lëshimi tjetër i Chrome 96 është planifikuar për 16 nëntor. Për ata që kanë nevojë për më shumë kohë për përditësim, mbështetet veçmas një degë Extended Stable, që shoqërohet me 8 javë, në të cilën është formuar një përditësim për lëshimin e mëparshëm të Chrome 94.
Ndryshimet kryesore në Chrome 95:
- Për përdoruesit e Linux, Windows, macOS dhe ChromeOS është propozuar një panel i ri anësor, i cili shfaqet në të djathtë të përmbajtjes dhe aktivizohet me një klik në një ikonë të veçantë në panelin me shiritin e adresës. Në panel paraqitet një përmbledhje me shenime dhe një listë për lexim. Ndryshimi nuk është aktiv për të gjithë përdoruesit, për aktivizimin mund të përdoret cilësimi «chrome://flags/#side-panel».

- ĂshtĂ« implementuar njĂ« kĂ«rkesĂ« explicite pĂ«r autorizim pĂ«r ruajtjen e adresave tĂ« futur nĂ« formatet web, pĂ«r t'u pĂ«rdorur nĂ« sistemin e plotĂ«simit automatik. Kur identifikohen adresat nĂ« formate, tani pĂ«rdoruesi i tregohet njĂ« dialog qĂ« lejon ruajtjen e adresĂ«s, redaktimin, rinovimin e adresĂ«s sĂ« ruajtur mĂ« parĂ« ose heqjen dorĂ« nga ruajtja.
- Kodi për mbështetje të protokollit FTP është hequr. Në Chrome 88, mbështetja për FTP u çaktivizua si parazgjedhje, por u la një flamur për rikthimin e saj.
- Mbështetje për URL-të me emra hostesh që përfundojnë me numra, por që nuk përputhen me adresat IPv4 është ndërprerë. Për shembull, URL-të «http://127.1/», «http://foo.127.1/» dhe «http://127.0.0.0.1» tani do të konsiderohen të pavlefshme.
- Për WebAssembly, është realizuar mundësia për krijimin e menaxherëve të përjashtimeve, të cilat mund të kapin ekzekutimin në rast se ndodh një përjashtim gjatë ekzekutimit të një kodi të caktuar. Këtu përfshihet kapja e përjashtimeve të njohura për modulet WebAssembly, si dhe përjashtimeve gjatë thirrjes së funksioneve të importuara. Për të kapur përjashtimet, modulet WebAssembly duhet të ndahen me një kompilator që mbështet përjashtimet, si Emscripten.
Vërehet se përpunimi i përjashtimeve në nivelin WebAssembly lejon që madhësia e kodit të gjeneruar të reduktohet ndjeshëm, krahasuar me përpunimin e përjashtimeve nëpërmjet JavaScript. Për shembull, ndërtimi i optimizuesit Binaryen me përpunimin e përjashtimeve nëpërmjet JavaScript çon në një rritje të kodit me 43%, ndërsa me WebAssembly vetëm 9%. Për më tepër, duke përdorur modin e optimizimit «-O3», kodi me përpunimin e përjashtimeve përmes WebAssembly praktikisht nuk ndryshon në performancë nga ai pa menaxherët e përjashtimeve, ndërsa përpunimi i përjashtimeve përmes JavaScript çon në ngadalësimin e ekzekutimit me 30%.
- Ndalohet ndarja e moduleve WebAssembly midis domenesh të ndryshme (cross-origin) për trajtimin e njëjtit sit.
- Në regjimin Origin Trials (funksione eksperimentale që kërkojnë aktivizim të veçantë), janë shtuar disa API të reja. Origin Trial nënkupton mundësinë e funksionimit me API-në e specifikuar nga aplikacionet e ngarkuara nga localhost ose 127.0.0.1, ose pas regjistrimit dhe marrjes së një token-i special, i cili është i vlefshëm për një kohë të kufizuar për një faqe specifike.
- është aktivizuar reduktimi i informacionit në HTTP-headerin User-Agent dhe parametrat JavaScript navigator.userAgent, navigator.appVersion dhe navigator.platform. Në header mbeten vetëm të dhëna për emrin e shfletuesit, versionin e rëndësishëm të shfletuesit, platformën dhe llojin e pajisjes (telefon mobil, PC, tablet). Për të marrë të dhëna shtesë, si versioni i saktë dhe të dhëna të avancuara në lidhje me platformën, është e nevojshme të përdoret API User Agent Client Hints. Fillimi i reduktimit të User-Agent në sistemet e përdoruesve të zakonshëm është parashikuar në lëshimin e Chrome 102, i cili do të publikohet brenda gjashtë muajve.
- ĂshtĂ« propozuar mundĂ«sia e krijimit tĂ« descriptorĂ«ve tĂ« akseseve (Access Handles) pĂ«r API-nĂ« e File System Access, e cila lejon aplikacionet web tĂ« lexojnĂ« dhe shkruajnĂ« tĂ« dhĂ«na direkt nĂ« skedarĂ« dhe direktorĂ« nĂ« pajisjen e pĂ«rdoruesit. PĂ«r tĂ« reduktuar mĂ«nyrat e qasjes sĂ« aplikacioneve web nĂ« sistemin e skedarĂ«ve, kompania Google planifikon tĂ« bashkojĂ« API-nĂ« e File System Access dhe Storage Foundation. Si njĂ« hap pĂ«rgatitor pĂ«r kĂ«tĂ« bashkim, Ă«shtĂ« propozuar mbĂ«shtetje pĂ«r descriptorĂ«t e akseseve, qĂ« do tĂ« kompletojnĂ« metodat e punĂ«s mbi bazĂ«n e descriptorĂ«ve tĂ« skedareve me mundĂ«si tĂ« zgjeruara, si pĂ«r shembull vendosjen e bllokimeve tĂ« shkrimit nga procese tĂ« tjera dhe krijimin e rrjedhave tĂ« veçanta pĂ«r shkruar dhe lexuar, pĂ«rfshirĂ« mbĂ«shtetje pĂ«r leximin dhe shkruajturin nga worker nĂ« mĂ«nyrĂ« sinkrone.
- API i Konfirmimit tĂ« Sigurt tĂ« Pagesave Ă«shtĂ« stabilizuar dhe propozuar si parazgjedhje me realizimin e njĂ« zgjerimi tĂ« ri âpaymentâ, i cili ofron njĂ« konfirmim tĂ« shtuar pĂ«r operacionet e pagesĂ«s qĂ« kryhen. Pjesa verifikuese, pĂ«r shembull, banka, ka mundĂ«si tĂ« gjenerojĂ« njĂ« çelĂ«s publik PublicKeyCredential, i cili mund tĂ« kĂ«rkohet nga shitĂ«si pĂ«r njĂ« konfirmim tĂ« sigurt tĂ« pagesĂ«s pĂ«rmes API-sĂ« sĂ« KĂ«rkesĂ«s sĂ« PagesĂ«s, duke pĂ«rdorur metodĂ«n e pagesĂ«s âsecure-payment-confirmationâ.
- Në thirrjet callback, të vendosura përmes konstruktorit PerformanceObserver, është realizuar transmetimi i pronës droppedEntriesCount, e cila lejon të kuptohet sa metrika të performancës së faqes ishin hedhur për shkak se nuk u përshtatën në tamponin e ofruar.
- API EyeDropper Ă«shtĂ« shtuar, duke lejuar thirrjen e ndĂ«rfaqes sĂ« ofruar nga shfletuesi pĂ«r tĂ« pĂ«rcaktuar ngjyrĂ«n e pikselĂ«ve tĂ« rastĂ«sishĂ«m nĂ« ekran, e cila mund tĂ« pĂ«rdoret, pĂ«r shembull, nĂ« redaktorĂ«t grafikĂ« tĂ« implementuar si aplikacione web. const eyeDropper = new EyeDropper(); const result = await eyeDropper.open(); // result = {sRGBHex: â#160731â}
- Funksioni self.reportError() është shtuar, duke lejuar skriptet të shfaqin gabimet në konsolë, duke imituar ndodhin e një përjashtimi që nuk kapet.
- API URLPattern Ă«shtĂ« shtuar, pĂ«r tĂ« verifikuar pĂ«rputhshmĂ«rinĂ« e njĂ« URL-je me njĂ« model tĂ« caktuar, e cila, pĂ«r shembull, mund tĂ« pĂ«rdoret pĂ«r tĂ« analizuar lidhjet dhe pĂ«r tĂ« ridrejtuar kĂ«rkesat nĂ« menaxherĂ«t nĂ« service worker. const p = new URLPattern({ protocol: âhttpsâ, hostname: âexample.comâ, pathname: '/:folder/*/:fileName.jpg', });
- API Intl.DisplayNames është zgjeruar, duke mundësuar marrjen e emrave të lokalizuara të gjuhëve, vendeve, monedhave, elementeve të datave etj. Në versionin e ri janë shtuar lloje të reja emrash «calendar» dhe «dateTimeField», të cilat lejojnë të merren emrat e lokalizuar të kalendarëve dhe fushave të datës dhe kohës (për shembull, emrat e muajve). Për llojin «language» është shtuar mbështetje për përdorimin e dialekteve të gjuhëve.
- NĂ« API Intl.DateTimeFormat Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r vlera tĂ« reja pĂ«r parametrin timeZoneName: «shortGeneric» pĂ«r tĂ« shfaqur identifikues tĂ« shkurtĂ«r tĂ« zonĂ«s kohore (pĂ«r shembull, «PT», «ET»), «longGeneric» â tĂ« gjatĂ« («Pacific Time», «Mountain Time»), «shortOffset» â me njĂ« offset tĂ« shkurtĂ«r nĂ« krahasim me GMT («GMT+5») dhe «longOffset» me njĂ« offset tĂ« gjatĂ« nĂ« krahasim me GMT («GMT+0500»).
- API U2F (Cryptotoken) është shpallur i vjetër, dhe duhet të përdoret API Web Authentication si zëvendësim. API U2F do të jetë i çaktivizuar si parazgjedhje në versionin 98 të Chrome dhe do të hiqet plotësisht në Chrome 104.
- Janë bërë përmirësime në mjetet për zhvilluesit web. Paneli i Stileve ka lehtësuar rregullimin e pronave CSS që lidhen me madhësinë (lartësia, padding etj.). Në skedën Issues, ka mundësi për të fshehur probleme të veçanta. Në konsolën web dhe panelin Sources dhe Properties është përmirësuar shfaqja e pronave (pronat e veta tani shfaqen me shkronja të trasha dhe tregohen në krye të listës).

Përveç risive dhe rregullimeve të defekteve, versioni i ri ka eliminuar 19 dobësi. Shumica e dobësive janë identifikuar si rezultat i testeve automatike me mjete si AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer dhe AFL. Nuk janë identifikuar probleme kritike që lejojnë kalimin e të gjitha niveleve të mbrojtjes së shfletuesit dhe ekzekutimin e kodit në sistem përtej ambientit sandbox. Në kuadër të programit të shpërblimeve për identifikimin e dobësive, kompania Google ka shpërblyer 16 fitues me një total prej 74,000 dollarësh amerikanë (një shpërblim prej 20,000 dollarësh, dy shpërblime prej 10,000 dollarësh, një shpërblim prej 7,500 dollarësh, një shpërblim prej 6,000 dollarësh, tri shpërblime prej 5,000 dollarësh dhe nga një shpërblim prej 3,000, 2,000 dhe 1,000 dollarësh). Shuma e 5 shpërblimeve ende nuk është përcaktuar.
Burimi: opennet.ru


