Kompania Google publikoi versionin e shfletuesit web Chrome 124. Ngjashëm, është në dispozicion versioni stabil i projektit të lirë Chromium, që është baza e Chrome. Shfletuesi Chrome dallon nga Chromium për shkak të përdorimit të logove të Google, pranisë së sistemit të njoftimeve në rast crashes, modulave për riprodhimin e përmbajtjes së mbrojtur nga kopjimi (DRM), sistemit të automatizuar të instalimit të azhurnimeve, aktivizimit të vazhdueshëm të izolimit në Sandbox, ofrimit të çelësave për Google API dhe transmetimit të parametrave RLZ në kërkim. Për ata që kanë nevojë për më shumë kohë për azhurnim, mbështetet veçmas dega Extended Stable, që shoqërohet me 8 javë. Lëshimi i ardhshëm i Chrome 125 është planifikuar më 14 maj.
Ndryshimet kryesore në Chrome 124:
- Në versionin për platformën Android, menaxheri i shenjave ka fituar mbështetje për ruajtjen e shenjave dhe listave të lehtësimit të leximit në sistemet Google lidhur me llogarinë e përdoruesit.
- Në Chrome për Android është përdorur një metodë e re për ruajtjen e fjalëkalimeve lokale, të cilat nuk sinkronizohen me pajisje të tjera. Më parë, fjalëkalimet lokale ruheshin në profilin e Chrome, ndërsa tani do të vendosen në depozitën e fjalëkalimeve, që ofrohet nga shërbimet e Google Play, e cila tashmë përdoret për ruajtjen e fjalëkalimit për llogarinë në Google.
- Në ndërtimet për Windows, macOS dhe Linux, në TLS është aktivizuar për parazgjedhje mbështetje për mekanizmin e inkapsulimit të çelësit (KEM, Key Encapsulation Mechanism), që përdor algoritmin hibrid X25519Kyber768, i cili është i qëndrueshëm ndaj thyerjes në kompjuterët kuantik. X25519Kyber768 përfaqëson një kombinim nga mekanizmi i shkëmbimit të çelësit X25519, i bazuar në kurba eliptike dhe tani i përdorur në TLS, me algoritmin Kyber-768, që përdor metoda kriptografike të bazuara në zgjidhjen e problemeve të teorisë së rrjetave, koha e zgjidhjes së të cilave nuk ndryshon në kompjuterët e zakonshëm dhe ata kuantik.
- Gjatë vizatimit të tekstit nga biblioteka Skia, janë marrë parasysh cilësimet e kontrastit dhe ngjyrës të caktuara në Windows për teknologjinë e rrjedhjes së tekstit ClearType, e cila lejon ndjeshëm të përmirësohet cilësia e paraqitjes së shkronjave në monitorët LCD. Në ndërtimet për Linux, janë ndryshuar ndjeshëm shkronjat që përdoren në ndërfaqe.

- Është mundësuar vendosja e çdo faqe web si një aplikacion PWA (Progresive Web Apps) të vetë-mjaftueshëm, edhe nëse kjo faqe nuk përmbush kriteret e PWA.
- Sipas kërkesave të ligjit evropian DMA (Aktin për Tregjet Dixhitale), është siguruar paraqitja e dialogut për zgjedhjen e motorit të kërkimit që do të përdoret si parazgjedhje. Ofrohen motorë kërkimi, të cilët janë në dispozicion në seksionin e konfigurimeve «chrome://settings/search». Motorët e kërkimit në listë shfaqen në rendin rastësor. Në Chrome 120, ky dialog u testua tek 1% e përdoruesve dhe tani është aktivizuar për të gjithë.

- Èshtè realizuar paraqitja e një kërkesë për dhënien e autorizimeve kur një aplikacion web i qasët API Web MIDI, që lejon ndërveprimin me pajisjet muzikore të lidhura me kompjuterin që kanë ndërfaqen MIDI. Më parë, kërkesat për autorizim paraqiteshin vetëm gjatë dërgimit ose marrjes së mesazheve SysEx, ndërsa tani do të paraqiten gjatë çdo qasjeje në API-në Web MIDI. Si shkak të ndryshimit përmenden situatat kur faqet e rastësishme web kapin menaxhimin ekskluziv të kontrolluesit MIDI, duke bllokuar mundësinë për përdorimin e tij nga aplikacione të tjera. Po ashtu, përmenden probleme të lidhura me sigurinë, pasi API Web MIDI lejon menaxhimin e plotë të pajisjes MIDI, duke përfshirë vendosjen e firmware-ve të tij.
- Është ndërprerë plotësisht mbështetje për API Web SQL, i cili nuk është standardizuar, përdoret pak dhe kërkon ri-punim për t'u përputhur me kërkesat moderne të sigurisë. Web SQL u çaktivizua si parazgjedhje që nga Chrome 119, por u parashikua një konfigurim për ta rikthyer atë. Tani kjo konfigurim është hequr. Për zhvilluesit që kanë nevojë për një funksionalitet të tillë, sugjerohet të përdorin një variant të bibliotekës SQLite, të kompresuar në një pamje WebAssembly.
- Është shtuar mundësia për të menaxhuar drejtimin e shkruajtjes së tekstit, që shfaqet vertikalisht në elementet e web-formave (select, meter, progress, button, textarea dhe input) kur zgjidhet orientimi vertikal përmes pronës CSS writing-mode. Për të shfaqur tekstin nga lart poshtë, tani mund të përdoret pronësia e elementit të formës «ltr», ndërsa nga poshtë lart — «rtl».
- Në API-në User-Agent Client Hints, e zhvilluar si zëvendësim për header-in User-Agent, është shtuar mbështetje për parametrin Sec-CH-UA-Form-Factors, nëpërmjet të cilit klienti mund të informojë serverin për formën e pajisjes së përdoruesit (Desktop, Automotive, Mobile, XR, EInk dhe Watch). User-Agent Client Hints lejon organizimin e përvetësimit selektiv të të dhënave mbi parametrat specifikë të shfletuesit dhe sistemit (versioni, platforma etj.) vetëm pas kërkesës. сервером. Përdoruesi, nga ana e tij, mund të përcaktojë se cilat informata mund t'i jepen pronarëve të faqeve të internetit. Duke përdorur User-Agent Client Hints, identifikuesi i shfletuesit nuk transmetohet pa një kërkesë të qartë, dhe në mënyrë default jepen vetëm parametrat bazikë, çka e vështirëson identifikimin pasiv.
- Është shtuar mundësia për të menaxhuar klonimin e binjakeve të veçanta në Shadow DOM, e cila realizohet përmes komandave si cloneNode(). Mundësia e klonimit të degëve rrënjore të DOM aktivizohet me anë të parametrin clonable ("attachShadow({clonable:true})") ose atributit "shadowrootclonable" (<template shadowrootmode=open shadowrootclonable>).

- Janë shtuar metoda të reja setHTMLUnsafe() dhe parseHTMLUnsafe() për përdorimin e sintaksës Shadow DOM nga JavaScript. Metodat setHTMLUnsafe() dhe parseHTMLUnsafe(), në mënyrë të ngjashme me innerHTML dhe DOMParser.parseFromString(), lejojnë injektimin në element ose analizimin e përmbajtjes në format HTML, por dallohen për mbështetje të trajtimit të elementeve template me atributin shadowrootmode.
- Është shtuar mbështetje për API-në WebSocket Stream, e cila lejon transmetimin e të dhënave midis shfletuesit dhe serverit në mënyrë streaming pa përdorimin e polling-ut, që është optimal për organizimin e transmetimit dhe pranimit të të dhënave të vazhdueshme, për shembull, në realizimin e një chat-i. const wss = new WebSocketStream(WSS_URL); const {readable, writable} = await wss.opened; const reader = readable.getReader(); const writer = writable.getWriter(); while (true) { const {value, done} = await reader.read(); if (done) { break; } const result = await process(value); await writer.write(result); }
- Janë zgjeruar mundësitë e API-t View Transitions, duke e bërë më të lehtë krijimin e efekteve të animacionit të kalimit midis shteteve të ndryshme të DOM (për shembull, kalimi i butë nga një imazh në një tjetër). Në versionin e ri është shtuar mbështetje për ngjarjen "pageswap", e cila gjenerohet për objektin "window", kur gjatë navigimit objekti i lidhur me të "document" zëvendësohet me një të ri. Gjithashtu është shtuar atributi "render-blocking", i cili lejon bllokimin e renderimit të dokumentit deri në përfundimin e analizës së përmbajtjes së rëndësishme.
- Një parametër disallowReturnToOpener është shtuar, i cili kalon kur thirret metoda requestWindow, e cila lejon heqjen e butonit "mbrapa" në dritaren e hapur në mënyrën "imazh në imazh", duke ndaluar kthimin në skedën nga e cila dritarja u hap.
- është shtuar mundësia e caktimit të vlerës NULL për atributin CSSImportRule.styleSheet për të treguar mungesën e tabelës së stilit të lidhur. Është shtuar atributi CSSKeyframesRule.length, i cili tregon numrin e pronarëve të indeksuar.
- Për fushat e redaktueshme është ndërruar atributi "writingsuggestions" për të menaxhuar përfshirjen e rekomandimeve gjatë shkruarjes.
- Në API WebGPU është shtuar mbështetje për ServiceWorker dhe SharedWorker.
- Është shtuar mbështetje për titullin HTTP "Priority", i cili mund të kalojë informata mbi prioritetin e përpunimit të kërkesës (RFC 9218) në fazën e parë të kërkesës së burimit.
- Janë bërë përmirësime në mjetet për zhvilluesit web. Është shtuar një panel i ri Autofill për të inspektuar informacionin e përdorur gjatë mbushjes automatikisht të formave.

Në panelin e inspektimit të stileve CSS, është përmirësuar mbështetja për stilet e përfshira. Në panelin e matjes së performancës është bërë e mundur fshihja e funksioneve të tepërta dhe thirrjeve të lidhura për të ulur nivelin e zhurmës në grafik. Në panelin e debug-imit të animacioneve është e mundur mbështetje për animacionet e lidhura me skrollimin e përmbajtjes (Scroll-driven Animation). Në panelin e inspektimit të rrjetit është realizuar mundësia për të vendosur parametra të humbjes së paketave dhe madhësisë së radhës së rrjetit për të kontrolluar funksionimin e aplikacioneve WebRTC nën kushte rrjetërore problematike.

Përveç risive dhe rregullimeve të defekteve, versioni i ri ka eliminuar 22 vulnerabilitete. Shumica e vulnerabiliteteve janë identifikuar përmes testimeve automatizuar duke përdorur mjetet 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 të sistemit jashtë mjedisit sandbox. Brenda programit për shpërblimin e parave për zbulimin e vulnerabiliteteve, kompania Google ka paguar 13 shpërblime me një shumë totale prej 65,000 dollarëve amerikanë (në një shpërblim prej $20000, $10000, $7000 dhe $2000, tri shpërblime prej $5000 dhe $3000, dy shpërblime prej $1000). Shuma e një shpërblimi nuk është përcaktuar ende.
Burimi: opennet.ru





