Kompania Google publikoi versionin e browser-it web Chrome 129. Po ashtu, është e disponueshme një version i stabil i projektit të lirë Chromium, i cili shërben si baza për Chrome. Browser-i Chrome dallon nga Chromium për përdorimin e logove të Google, sistemin e dërgimit të njoftimeve në rast crash, module për rritjen e përmbajtjes së mbrojtur nga kopjimi (DRM), sistemin automatik të instalimit të përditësimeve, aktivizimin e vazhdueshëm të izolimit Sandbox, ofrimin e çelësave për API-të e Google dhe transmetimin e parametrave RLZ gjatë kërkimit. Për ata që kanë nevojë për më shumë kohë për përditësim, mbështetet veçanërisht dega Extended Stable, e cila përmban 8 javë. Versioni i ardhshëm i Chrome 130 është parashikuar më 15 tetor.
Ndryshimet kryesore në Chrome 129:
- Shtuar mundësinë për ta personalizuar përmbajtjen e panelit të mjeteve, duke i lejuar përdoruesit të bashkëngjisin, shkëpusin dhe të këmbejnë ikonat përmes konfiguratorit që shfaqet në panelin anësor. Për shembull, mund të vendosni në panel butona për thirrjen e ndërfaqes për zhvilluesit, fshirjen e të dhënave të veprimit të browser-it, hapjen e modalitetit të leximit, kalimin në menaxherin e detyrave, kalimin në menaxherin e fjalëkalimeve etj. Për të menaxhuar aktivizimin e mundësisë për bashkëngjitjen e ikonave, është shtuar parametri "chrome://flags/#toolbar-pinning."

- Propozohet një funksion krahasimi i tab-eve, i cili lejon përdorimin e elementeve të mësimit makinerik për të gjeneruar një përmbledhje krahasuese të produkteve, faqet me informacion rreth të cilave janë të hapura në tab-e të ndryshme. Mundësia aktualisht është në dispozicion vetëm për përdoruesit nga SHBA.

- Në versionin për platformën Android është realizuar zhvendosja e tab-eve joaktive në një seksion të veçantë (Inactive Tabs) të ndërfaqes për kalimin midis tab-eve. Ka mundësinë për të parë të gjitha tab-et e vjetra dhe për t'i mbyllur ato në një herë. Në mënyrë të parazgjedhur, funksionaliteti i ri është aktivizuar për 1% të përdoruesve. Tab-et fshihen automatikisht pas kalimit në seksionin Inactive Tabs për më shumë se 60 ditë.
- Shtuar një mënyrë eksperimentale për ndarjen e proceseve, ku për tab-et e ndryshme, në të cilat është hapur i njëjti website, do të përdoret një proces vizatimi i përbashkët, në vend të proceseve të ndara. Ky ndryshim lejon shpejtësimin e ngarkimit të faqeve dhe uljen e konsumit të memories. Për të aktivizuar këtë mënyrë është shtuar konfigurimi "chrome://flags/#enable-process-per-site-up-to-main-frame-threshold."
- Shtuar mundësinë për t'u dhënë faqeve të internetit autorizime të përkohshme, që veprojnë vetëm në kuadrin e seancës aktuale (p.sh., mund të jepni akses në kamerë dhe mikrofon, të cilat do të jenë të vlefshme deri në mbylljen e tab-it ose kalimin në një sit tjetër).
- Shtyhet mbështetja për platformën macOS 10.15, mbështetje e cila u ndalua nga kompania Apple në vitin 2022.
- Për platforma Windows dhe macOS, në konfigurator është realizuar një ndërfaqe e re për menaxhimin e certifikatave (më parë në këto platforma ishin thirrur ndërfaqet sistemore për menaxhimin e certifikatave).
- Aktivizohet bllokimi i aksesit në IP 0.0.0.0 për të parandaluar sulmet ndaj shërbimeve lokale.
- Ankorohet zëvendësimi i ardhshëm në algoritmin TLS për shkëmbimin e çelësave Kyber768+X25519 me ML-KEM768+X25519 (standardi i sapo pranuar ML-KEM bazohet në algoritmin post-kvantor Kyber, por nuk është plotësisht i përputhshëm me realizimin e tij të kaluar).
- Në API Scheduler është shtuar metoda "scheduler.yield()", e cila lejon gjatë ekzekutimit të detyrave të zgjatura përkohësisht të kthejë kontrollin në rrjedhën kryesore të browser-it, duke mundësuar ndalimin e detyrave aktuale të zgjatura për kryerjen e punëve të rëndësishme, si përpunimi i input-eve dhe vizatimi i kadrove. Ideja është që të ndahet detyra e zgjatur në më të vogla, duke kaluar herë pas here kontrollin në rrjedhën kryesore përmes thirrjes "await scheduler.yield();" në kod, duke lejuar të zvogëlohet ndikimi negativ i detyrave të zgjatura në shpejtësinë e veprimit me sitin.

- Shtuar pronin CSS "interpolate-size", e cila lejon zgjedhjen e madhësisë së animacionit jo në njësi absolute, por në përpjesëtim me vlerat e llogaritura duke përdorur pronat auto, min-content ose fit-content. Për menaxhim më të saktë të madhësisë është propozuar funksioni CSS calc-size(), i ngjashëm me calc(), por që mbështet operacione me madhësitë reale të elementeve, të cilat ndryshojnë në varësi të përmbajtjes.
- Janë bërë ndryshime në pronësitë CSS për të menaxhuar shfaqjen e elementeve të lidhura me pozitat e elementeve të tjera (CSS Anchor Positioning), pa përdorimin e JavaScript, për shembull, për të ngjitur në elementet e skedave të dukshëm (popover), që shfaqen në ngjashmëri me skedat e ndihmës. Sipas rekomandimit të grupit të punës për standardizimin e CSS, pronësia CSS "inset-area" është rinovuar në "position-area", pronësia "position-try-options" është rinovuar në "position-try-fallbacks", dhe në pronësinë "position-try" është hequr nevoja për të specifikuar inset-area(), dmth. në vend të "position-try-fallbacks: inset-area(top)" duhet të shkruhet "position-try-fallbacks: top".
- Në API-në Intl është shtuar metoda Intl.DurationFormat për formatimin e të dhënave mbi kohëzgjatjen me marrë parasysh lokalitetin e zgjedhur. Për shembull: const l = "ru-RU"; const d = {hours: 1, minutes: 46, seconds: 40}; const opts = {style: "long"}; new Intl.DurationFormat(l, opts).format(d); // "1 orë, 46 minuta 40 sekonda"
- Në API-në Web GPU është realizuar mundësia e përdorimit të të gjithë gamës së ndricimit, që mbështetet nga ekrani, gjatë shfaqjes së imazheve HDR.
- Në API-në WebRTC është shtuar mbështetje për dërgimin e blob-eve përmes metodës RTCDataChannel.send(Blob) dhe marrjen e të dhënave me llojin Blob gjatë trajtimit të ngjarjes onMessage, nëse në atributin "binaryType" është specifikuar vlera "blob" (atëherë mbështetej vetëm dërgimi i vargjeve dhe ArrayBuffer). Madhësia e blob-it është e kufizuar nga vlera maxMessageSize.
- Në API-në WebAuthn janë shtuar metodat PublicKeyCredential.toJSON(), parseCreationOptionsFromJSON() dhe parseRequestOptionsFromJSON() për serializimin/deserializimin e përgjigjeve WebAuthn duke përdorur formatin JSON.
- Në modulet "Origin trials" është realizuar API FileSystemObserver, që lejon faqet për të ndjekur ndryshimet e skedarëve dhe katalogëve.
- Në modulet "Origin trials" është shtuar API Mesh2D Canvas për vizatimin e një numri të madh tëTriangleve të teksturuar. Në fushat e aplikimit të API-së përmendin realizimin e metodave të avancuara të mapimit të teksturave dhe krijimin e efekteve të deformimit në kontekstin dy-dimensional.
- Janë zgjeruar mundësitë e mjeteve për zhvilluesit web.
Përveç noviteteve dhe korigjimeve të gabimeve, në versionin e ri janë eliminuar 9 vulnerabilitete. Shumica e vulnerabiliteteve janë identifikuar si rezultat i testimeve automatike me mjete si AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer dhe AFL. Një problemi i është dhënë një nivel i lartë rreziku (trajtim i gabuar i tipave në motorin V8). Së fundi, nuk janë identifikuar probleme kritike që lejojnë kalimin e të gjitha niveleve të mbrojtjes së shfletuesit dhe ekzekutimin e kodit në sistem përtej mjedisit sandbox. Si pjesë e programit të shpërblimeve për zbulimin e vulnerabiliteteve, kompania Google ka paguar 5 shpërblime me një total prej 13,000 dollarë (një shpërblim në $8000 dhe $2000, tre shpërblime prej $1000). Shuma e një shpërblimi ende nuk është përcaktuar.
Burimi: opennet.ru



