Kompania Google prezantoi versionin e ri të shfletuesit web Chrome 94. Njëkohësisht është në dispozicion një version stabil i projektit të lirë Chromium, i cili shërben si baza për Chrome. Shfletuesi Chrome karakterizohet nga përdorimi i logos së Google, sistemit të njoftimit në rast dështimi, moduleve për riprodhimin e përmbajtjes video të mbrojtur (DRM), sistemit të instalimit automatik të azhurnimeve dhe dërgimin e parametrave RLZ gjatë kërkimit. Versioni i ardhshëm i Chrome 95 është planifikuar për 19 tetor.
Duke filluar nga versioni Chrome 94, zhvillimi është kaluar në një cikël të ri përgatitjeje për lëshimet. Lëshimet e reja të rëndësishme tani do të publikohen çdo 4 javë, në vend të çdo 6 javësh, duke lejuar kështu që funksionalitetet e reja të arrijnë më shpejt te përdoruesit. Vëreni se optimizimi i procesit të përgatitjes së lëshimeve dhe përmirësimi i sistemit të testimit lejojnë formimin e lëshimeve më shpesh pa komprometuar cilësinë. Për bizneset dhe për ata që kanë nevojë për më shumë kohë për azhurnim, çdo 8 javë do të lëshohet një version i veçantë Extended Stable, i cili do të lejojë kalimin në lëshimet e reja funksionale çdo 8 javë, në vend të çdo 4 javë.
Ndryshimet kryesore në Chrome 94:
- ĂshtĂ« shtuar moda HTTPS-First, e cila i ngjan modĂ«s HTTPS Only, e cila u shfaq mĂ« parĂ« nĂ« Firefox. NĂ«se moda aktivizohet nĂ« cilĂ«sime, kur pĂ«rpiqet tĂ« hapĂ« njĂ« burim pa enkriptim pĂ«rmes HTTP, shfletuesi nĂ« fillim do tĂ« pĂ«rpiqet tĂ« lidhĂ« me sitin pĂ«rmes HTTPS, dhe nĂ«se pĂ«rpjekja dĂ«shton, pĂ«rdoruesit do t'i shfaqet njĂ« paralajmĂ«rim nĂ« lidhje me mungesĂ«n e mbĂ«shtetjes pĂ«r HTTPS dhe do t'i propozohet tĂ« hapĂ« faqen pa enkriptim. NĂ« tĂ« ardhmen, Google po shqyrton mundĂ«sinĂ« e aktivizimit tĂ« HTTPS-First si parazgjedhje pĂ«r tĂ« gjithĂ« pĂ«rdoruesit, kufizimin e qasjes nĂ« disa mundĂ«si tĂ« platformĂ«s web pĂ«r faqet e hapura pĂ«rmes HTTP dhe shtimin e paralajmĂ«rimeve tĂ« tjera qĂ« i informojnĂ« pĂ«rdoruesit pĂ«r kĂ«rcĂ«nimet qĂ« lindin nga qasja nĂ« faqet pa enkriptim. Moda aktivizohet nĂ« seksionin e cilĂ«simeve "PrivatĂ«sia dhe Siguria" > "Siguria" > "Shtesat".

- Për faqet e hapura pa HTTPS, ndalohet dërgimi i kërkesave (ngarko burime) për URL lokale (p.sh. "http://router.local" dhe localhost) dhe ranges brenda adresave (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 dhe të tjerë). Një përjashtim është bërë vetëm për faqet e ngarkuara nga servera, e cila ka adresa të brendshme IP. Për shembull, një faqe e ngarkuar nga server 1.2.3.4 do të mund të lidhë me një burim të vendosur në IP 192.168.0.1 ose IP 127.0.0.1, ndërsa një e ngarkuar nga serveri 192.168.1.1 do të mund të lidhë. Ky ndryshim krijon një nivel shtesë për mbrojtjen nga shfrytëzimi i dobësive në menaxherët që pranojnë kërkesa për IP lokale, si dhe do të ndihmojë në mbrojtjen nga sulmet e tipit "DNS rebinding".
- ĂshtĂ« shtuar funksioni "Sharing Hub", qĂ« lejon ndarjen e shpejtĂ« me pĂ«rdorues tĂ« tjerĂ« tĂ« lidhen e faqes aktuale. Ofron mundĂ«sinĂ« e gjenerimit tĂ« njĂ« kodik QR me URL, ruajtjen e faqes, dĂ«rgimin e lidhjes nĂ« njĂ« pajisje tjetĂ«r tĂ« lidhur me llogarinĂ« e pĂ«rdoruesit dhe ndarjen e lidhjeve nĂ« faqe tĂ« jashtme si Facebook, WhatsUp, Twitter dhe VK. Ky funksion pĂ«r momentin nuk Ă«shtĂ« i disponueshĂ«m pĂ«r tĂ« gjithĂ« pĂ«rdoruesit. PĂ«r tĂ« aktivizuar detyruese butonin "Share" nĂ« menunĂ« dhe shiritin e adresĂ«s, mund tĂ« pĂ«rdoren cilĂ«simet "chrome://flags/#sharing-hub-desktop-app-menu" dhe "chrome://flags/#sharing-hub-desktop-omnibox".

- JanĂ« bĂ«rĂ« ndryshime nĂ« strukturĂ«n e ndĂ«rfaqes sĂ« cilĂ«simeve tĂ« shfletuesit. Ădo seksion cilĂ«simesh tani shfaqet nĂ« njĂ« faqe tĂ« veçantĂ«, nĂ« vend tĂ« njĂ« faqjeje tĂ« vetme tĂ« pĂ«rgjithshme.

- ĂshtĂ« realizuar mbĂ«shtetje pĂ«r pĂ«rditĂ«simin dinamik tĂ« logut tĂ« certifikatave tĂ« lĂ«shuara dhe tĂ« tĂ«rhequra (Certificate Transparency), i cili tani do tĂ« azhurnohet pa u lidhur me pĂ«rditĂ«simin e shfletuesit.
- ĂshtĂ« shtuar njĂ« faqe ndihmĂ«se "chrome://whats-new" me njĂ« pĂ«rmbledhje tĂ« ndryshimeve tĂ« dukshme pĂ«r pĂ«rdoruesit nĂ« lĂ«shimin e ri. Faqja shfaqet automatikisht menjĂ«herĂ« pas pĂ«rditĂ«simit ose Ă«shtĂ« e disponueshme pĂ«rmes butonit "ĂfarĂ« Ă«shtĂ« e re" (Whatâs New) nĂ« menunĂ« e NdihmĂ«s (Help). Aktualisht, nĂ« kĂ«tĂ« faqe pĂ«rmendet kĂ«rkimi nĂ«pĂ«r tabs, mundĂ«sia e ndarjes sĂ« profileve dhe funksioni i ndryshimit tĂ« ngjyrĂ«s sĂ« sfondit, tĂ« cilat nuk janĂ« specifike pĂ«r Chrome 94 dhe janĂ« shfaqur nĂ« lĂ«shime tĂ« kaluara. Shfaqja e faqes aktualisht nuk Ă«shtĂ« e aktivizuar pĂ«r tĂ« gjithĂ« pĂ«rdoruesit: pĂ«r menaxhimin e aktivizimit mund tĂ« pĂ«rdoren cilĂ«simet "chrome://flags#chrome-whats-new-ui" dhe "chrome://flags#chrome-whats-new-in-main-menu-new-badge".

- ĂshtĂ« shpallur se pĂ«rdorimi i API WebSQL nga pĂ«rmbajtja qĂ« ngarkohet nga faqet e jashtme (p.sh., pĂ«rmes iframe) Ă«shtĂ« i vjetruar. NĂ« Chrome 94, kur pĂ«rpiqeni tĂ« pĂ«rdorni WebSQL nga skriptet e jashtme shfaqet njĂ« paralajmĂ«rim, por qĂ« nga Chrome 97, pĂ«rdorimi i tillĂ« do tĂ« bllokohet. NĂ« tĂ« ardhmen parashikohet qĂ« mbĂ«shtetja pĂ«r WebSQL tĂ« ndĂ«rpritet plotĂ«sisht, pavarĂ«sisht nga konteksti i pĂ«rdorimit. PĂ«rdoruesi i WebSQL Ă«shtĂ« i bazuar nĂ« kodin SQLite dhe mund tĂ« pĂ«rdorej nga sulmuesit pĂ«r tĂ« shfrytĂ«zuar dobĂ«sitĂ« nĂ« SQLite.
- Për arsye sigurie dhe për të parandaluar aktivitete të dëmshme, është nisur bllokimi i përdorimit të protokollit të vjetruar MK (URL:MK), i cili dikur përdorej në Internet Explorer dhe lejonte aplikacionet web të nxirrnin informacion nga skedarët e kompresuar.
- ĂshtĂ« ndĂ«rprerĂ« mbĂ«shtetja pĂ«r sinkronizimin me versionet e vjetra tĂ« Chrome (Chrome 48 dhe mĂ« tĂ« vjetra).
- Në header-in HTTP Permissions-Policy, i cili është i dizajnuar për të aktivizuar disa funksionalitete dhe për të menaxhuar qasjen në API, është shtuar mbështetje për flamurin "display-capture", i cili lejon menaxhimin e përdorimit të API Screen Capture në faqe (në parazgjedhje, mundësia për të kapur përmbajtjen e ekranit nga iframe të jashtme është bllokuar).
- 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Ă« shtuar API WebGPU, i cili zĂ«vendĂ«son API WebGL dhe ofron mjete pĂ«r tĂ« kryer operacione nĂ« GPU, si renditja dhe llogaritjet. Konceptualisht, WebGPU Ă«shtĂ« i ngjashĂ«m me API Vulkan, Metal dhe Direct3D 12. Konceptualisht, WebGPU ndryshon nga WebGL nĂ« mĂ«nyrĂ«n e ngjashme me atĂ« se si API grafik Vulkan ndryshon nga OpenGL, por gjithashtu nuk bazohet nĂ« njĂ« API grafik specifik, por pĂ«rfaqĂ«son njĂ« shtresĂ« universale qĂ« pĂ«rdor tĂ« njĂ«jtat primitive tĂ« ulĂ«ta qĂ« gjenden nĂ« Vulkan, Metal dhe Direct3D 12.
WebGPU ofron aplikacioneve në JavaScript mjete për kontrollin e ulët mbi organizimin, përpunimin dhe transferimin e komandave në GPU, si dhe lejon menaxhimin e burimeve, memories, bufereve, objekteve teksturave dhe shenjave grafike të përpunuara. Ky qasje mundëson arritjen e performancës më të lartë të aplikacioneve grafike përmes uljes së ngarkesës dhe rritjes së efikasitetit të punës me GPU. API gjithashtu ofron mundësinë për të krijuar projekte komplekse 3D për Web që funksionojnë në mënyrë të ngjashme me programet e pavarura, por që nuk janë lidhur me platforma të caktuara.
- Për aplikacionet PWA të pavarura është realizuar mundësia e regjistrimit si trajtues për URL-të. Për shembull, aplikacioni music.example.com mund të regjistrojë veten si trajtues për URL https://*.music.example.com dhe të gjitha kalimet nga aplikacionet e jashtme në këto lidhje, p.sh., nga mesazherët dhe klientët e postës, do të çojnë në hapjen e këtij PWA aplikacioni dhe jo një skedë të re në shfletues.
- ĂshtĂ« zbatuar mbĂ«shtetje pĂ«r kodin e ri tĂ« pĂ«rgjigjes HTTP â 103, i cili mund tĂ« pĂ«rdoret pĂ«r nxjerrjen paraprake tĂ« header-ave. Kodi 103 lejon tĂ« informojĂ« klientin pĂ«r pĂ«rmbajtjen e disa HTTP-header-eve menjĂ«herĂ« pas kĂ«rkesĂ«s, pa pritur qĂ« serveri tĂ« kryejĂ« tĂ« gjitha operacionet e lidhura me kĂ«rkesĂ«n dhe tĂ« fillojĂ« dĂ«rgimin e pĂ«rmbajtjes. NĂ« kĂ«tĂ« mĂ«nyrĂ«, mund tĂ« japĂ«sh sugjerime mbi elementĂ«t e lidhura me faqen qĂ« mund tĂ« ngarkohen paraprakisht (p.sh., mund tĂ« jepen lidhjet pĂ«r CSS dhe JavaScript tĂ« pĂ«rdorura nĂ« faqe). Duke marrĂ« informacionin pĂ«r kĂ«to burime, shfletuesi do tĂ« fillojĂ« ngarkimin e tyre pa pritur pĂ«rfundimin e dĂ«rgimit tĂ« faqes kryesore, duke lejuar kĂ«shtu shkurtimin e kohĂ«s totale tĂ« pĂ«rpunimit tĂ« kĂ«rkesĂ«s.
- ĂshtĂ« shtuar API WebGPU, i cili zĂ«vendĂ«son API WebGL dhe ofron mjete pĂ«r tĂ« kryer operacione nĂ« GPU, si renditja dhe llogaritjet. Konceptualisht, WebGPU Ă«shtĂ« i ngjashĂ«m me API Vulkan, Metal dhe Direct3D 12. Konceptualisht, WebGPU ndryshon nga WebGL nĂ« mĂ«nyrĂ«n e ngjashme me atĂ« se si API grafik Vulkan ndryshon nga OpenGL, por gjithashtu nuk bazohet nĂ« njĂ« API grafik specifik, por pĂ«rfaqĂ«son njĂ« shtresĂ« universale qĂ« pĂ«rdor tĂ« njĂ«jtat primitive tĂ« ulĂ«ta qĂ« gjenden nĂ« Vulkan, Metal dhe Direct3D 12.
- ĂshtĂ« shtuar API WebCodecs pĂ«r manipulimin e shkallĂ«ve multimediale nĂ« nivel tĂ« ulĂ«t, duke plotĂ«suar API-tĂ« e nivelit tĂ« lartĂ« HTMLMediaElement, Media Source Extensions, WebAudio, MediaRecorder dhe WebRTC. Ky API i ri mund tĂ« jetĂ« i nevojshĂ«m nĂ« fusha tĂ« tilla si transmetimi i lojrave, aplikimi i efekteve nĂ« anĂ«n e klientit, rikodimi i shkallĂ«ve dhe mbĂ«shtetja e enĂ«ve multimediale qĂ« nuk janĂ« standarde. NĂ« vend tĂ« implementimit tĂ« kodeve tĂ« veçanta nĂ« JavaScript ose WebAssembly, API WebCodecs ofron qasje nĂ« komponentĂ«t e gatshĂ«m me performancĂ« tĂ« lartĂ« tĂ« integruar nĂ« shfletues. NĂ« veçanti, API WebCodecs ofron dekodues dhe kodues tĂ« zĂ«rit dhe videove, dekodues tĂ« imazheve dhe funksione pĂ«r punĂ« me kadrin e veçantĂ« tĂ« videos nĂ« njĂ« nivel tĂ« ulĂ«t.
- Stabilizimi i API Insertable Streams, që ofron mundësinë për të manipuluar rrjedhat multimedia të papërpunuara (raw) të transmetuara përmes API MediaStreamTrack, si të dhëna nga kamera dhe mikrofon, rezultati i kapjes së ekranit ose ndihmës të dekodimit me kodek. Për të paraqitur kadrot e papërpunuara, përdoren ndërfaqet WebCodec, pas së cilës formohet një rrjedhë, e ngjashme me atë që API WebRTC Insertable Streams gjeneron mbi bazën e RTCPeerConnections. Nga një këndvështrim praktik, API i ri lejon implementimin e funksionaliteteve të tilla si aplikimi i metodave të mësimit të makinerive për identifikimin ose annotimin e objekteve në kohë reale ose për të shtuar efekte si heqja e sfondit, përpara kodimit ose pas dekodimit me kodek.
- Stabilizimi i metodës scheduler.postTask(), që lejon menaxhimin e planifikimit të ekzekutimit të detyrave (callback-eve JavaScript) me nivele të ndryshme prioritare. Oferohen tre nivele prioritari: 1 - ekzekutim si prioritet, edhe nëse mund të bllokohen operacionet e përdoruesit; 2 - ndryshime të dukshme për përdoruesin lejohen; 3 - ekzekutim në mënyrë të ndërprerë. Për të ndryshuar prioritetin dhe anuluar detyrat, mund të përdoret objekti TaskController.
- Stabilizimi është dhe tani shpërndahet jashtë Origin Trials API Idle Detection për të përcaktuar pasivitetin e përdoruesit. API lejon përcaktimin e kohës kur përdoruesi nuk ndërvepron me tastierën/miun, ruhet ekranin, ekrani është i bllokuar ose puna kryhet në një monitor tjetër. Njoftimi i aplikacionit mbi pasivitetin bëhet përmes dërgimit të një njoftimi pas arritjes së një pragu të caktuar pasiviteti.
- Formizimi i procesit të menaxhimit të ngjyrës në objektet CanvasRenderingContext2D dhe ImageData dhe përdorimi i hapësirës së ngjyrave sRGB në to. Oferohet mundësia për të krijuar objekte CanvasRenderingContext2D dhe ImageData në hapësira ngjyrash të ndryshme nga sRGB, si Display P3, për të shfrytëzuar mundësitë e zgjeruara të monitorëve modernë.
- Në API-në VirtualKeyboard janë shtuar metoda dhe veti për menaxhimin e shfaqjes dhe fshehjes së tastierës virtuale, si dhe për marrjen e informacionit mbi madhësinë e tastierës virtuale të shfaqur.
- Në JavaScript për klasat ofrohet mundësia për të aplikuar blloqe statike inicializimi për të grumbulluar kodin, i cili ekzekutohet një herë gjatë përpunimit të klasës: class C { // Blloku do të ekzekutohet gjatë përpunimit të klasës vetë static { console.log(«Blloku statik i C»); } }
- Në pronat CSS flex-basis dhe flex janë realizuar fjalë kyçe content, min-content, max-content dhe fit-content për një menaxhim më fleksibël të madhësisë të zonës kryesore të Flexbox.
- Shtesa CSS e pronës scrollbar-gutter për të menaxhuar rezervimin e hapësirës në ekran për shiritin e rrotullimit. Për shembull, kur rrotullimi i përmbajtjes nuk është i nevojshëm, mund të zgjasë dalje dhe të zë hapësirën e shiritit të rrotullimit.
- Shtohet API Self Profiling me implementimin e një sistemi profilizimi, që lejon matjen e kohës së ekzekutimit të JavaScript nga ana e përdoruesit për debugging të problemeve me performancën në kodin JavaScript, pa e ndihmuar dorazi interfesën për zhvilluesit e web-it.
- Pas heqjes së plugin-it Flash, u vendos që të kthehen vlera të zbrazëta në pronat navigator.plugins dhe navigator.mimeTypes, por siç duket disa aplikacione i përdornin ato për të verifikuar praninë e plugin-eve për shikimin e skedarëve PDF. Duke qenë se në Chrome ka një shikues të integruar PDF, tani pronat navigator.plugins dhe navigator.mimeTypes do të kthejnë një listë fikse të standardeve të plugin-eve dhe MIME-type-ve për shikimin e PDF - «Shikuesi PDF, Shikuesi PDF i Chrome, Shikuesi PDF i Chromium, Shikuesi PDF i Microsoft Edge dhe Shikuesi PDF i WebKit i integruar».
- Janë bërë përmirësime në mjetet për zhvilluesit e web-it. Në listën e simulimit të ekranëve janë shtuar pajisjet Nest Hub dhe Nest Hub Max. Në ndërfaqen e shqyrtimit të aktivitetit rrjetor është shtuar një buton për të invertuar filtrat (për shembull, kur vendoset një filtrin «status-code: 404» mund të shqyrtohen shpejt të gjitha kërkesat e tjera), si dhe është ofruar mundësia për të parë vlerat origjinale të kokave Set-Cookie (lejon vlerësimin e pranisë së vlerave të pasakta, të hequra gjatë normalizimit). Anulohet dhe do të hiqet në një nga versionet e ardhshme, paneli anësor në web-konsolë. Shtohet mundësia eksperimentale për të fshehur problemet në skedën Issues. Në cilësimet është shtuar mundësia për të zgjedhur gjuhën e ndërfaqes.

Përveç përmirësimeve dhe rregullimeve të gabimeve, versioni i ri ka eliminuar 19 vulnerabilitete. Shumica e vulnerabiliteteve janë zbuluar përmes 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 jashtë mjedisit të sandbox. Në kuadër të programit për shpërblimin e parave për zbulimin e vulnerabiliteteve për këtë version, kompania Google ka paguar 17 shpërblime me një total prej 56,500 dollarë (një shpërblim prej 15,000 dollarësh, dy shpërblime prej 10,000 dollarësh, një shpërblim prej 7,500 dollarësh, katër shpërblime prej 3,000 dollarësh dhe dy shpërblime prej 1,000 dollarësh). Shuma e 7 shpërblimeve ende nuk është përcaktuar.
Burimi: opennet.ru





