Compania Google a lansat versiunea 129 a browserului web Chrome. În același timp, este disponibilă o versiune stabilă a proiectului gratuit Chromium, care stă la baza Chrome. Browserul Chrome se deosebește de Chromium prin utilizarea logo-urilor Google, prin sistemul de trimitere a notificărilor în caz de panică, modulele pentru redarea conținutului video protejat de copyright (DRM), sistemul de actualizări automate, activarea constantă a izolării Sandbox, furnizarea cheilor pentru Google API și transmiterea parametrilor RLZ în timpul căutării. Pentru cei care au nevoie de mai mult timp pentru actualizare, există o ramură Extinsă Stabilă, care este susținută timp de 8 săptămâni. Următoarea versiune Chrome 130 este planificată pentru 15 octombrie.
Principalele schimbări în Chrome 129:
- A fost adăugată posibilitatea de a personaliza conținutul barei de instrumente, permițând utilizatorului să fixeze, să de-fixeze și să schimbe ordinea pictogramelor prin intermediul unui configurator, care apare în panoul lateral. De exemplu, pot fi plasate pe bară butoane pentru a accesa interfața pentru dezvoltatori, pentru a șterge datele browserului, pentru a deschide modul de citire, pentru a accesa managerul de sarcini, managerul de parole etc. Pentru a controla activarea funcției de fixare a pictogramelor, a fost adăugat parametrul „chrome://flags/#toolbar-pinning”.

- A fost propusă o funcție de comparare a tab-urilor, permițând utilizarea elementelor de învățare automată pentru a genera o revizuire comparativă a produselor a căror pagină este deschisă în diferite tab-uri. Funcția este momentan disponibilă doar pentru utilizatorii din Statele Unite.

- În versiunea pentru platforma Android, a fost implementată mutarea tab-urilor inactive într-o secțiune separată (Inactive Tabs) a interfeței de comutare între tab-uri. Este posibil să vizualizați toate tab-urile vechi și să le restaurați simultan. În mod implicit, noua funcție este activată pentru 1% dintre utilizatori. Tab-urile sunt șterse automat după ce au stat în secțiunea Inactive Tabs mai mult de 60 de zile.
- A fost adăugată o modalitate experimentală de partajare a proceselor, care constă în utilizarea unui singur proces de redare pentru diferite tab-uri deschise pe același site, în loc de procese separate. Această modificare permite încărcarea mai rapidă a paginilor și reducerea consumului de memorie. Pentru activarea modului a fost adăugată o setare „chrome://flags/#enable-process-per-site-up-to-main-frame-threshold”.
- A fost adăugată capacitatea de a oferi site-urilor privilegii temporare, care sunt valabile doar în cadrul sesiunei curente (de exemplu, se poate oferi acces la cameră și microfon, care va fi valabil până la închiderea tab-ului sau trecerea la un alt site).
- Suportul pentru platforma macOS 10.15 a fost oprit, asistența pentru aceasta fiind încheiată de compania Apple în 2022.
- Pentru platformele Windows și macOS, a fost implementată o nouă interfață pentru gestionarea certificatelor în configurator (anterior, pe aceste platforme erau apelate interfețele de sistem pentru gestionarea certificatelor).
- A fost activată blocarea accesului la IP 0.0.0.0 pentru a preveni atacurile asupra serviciilor locale.
- A fost anunțată înlocuirea viitoare în TLS a algoritmului de schimb de chei Kyber768+X25519 cu ML-KEM768+X25519 (standardul recent acceptat ML-KEM este bazat pe algoritmul postcuantic Kyber, dar nu este complet compatibil cu implementarea sa anterioară).
- În API Scheduler a fost adăugat metoda „scheduler.yield()”, care permite, în timpul executării sarcinilor de lungă durată, restabilirea temporară a controlului în firul principal al browserului, ceea ce permite suspendarea sarcinii curente pentru a efectua lucrări importante, cum ar fi procesarea intrărilor și redarea cadrelor. Ideea este de a împărți sarcinile de lungă durată în unități mai mici, periodic cedând controlul firului principal prin apelul „await scheduler.yield();” în cod, ceea ce reduce impactul negativ al sarcinilor de lungă durată asupra reacției în timpul lucrului cu site-ul.

- A fost adăugată proprietatea CSS „interpolate-size”, care permite selectarea dimensiunii animației nu în valori absolute, ci în raport cu valorile calculate prin utilizarea proprietăților auto, min-content sau fit-content. Pentru o gestionare mai precisă a dimensiunii, a fost propusă funcția CSS calc-size(), similară cu calc(), dar care suportă operații cu dimensiunea efectivă a elementelor, care se schimbă în funcție de conținut.
- S-au efectuat modificări în proprietățile CSS pentru gestionarea afișării elementelor legate de poziția altor elemente (CSS Anchor Positioning), fără a utiliza JavaScript, de exemplu, pentru a le atașa la elementele feronerie (popover), care apar analog cu sugestiile pop-up. Conform recomandării grupului de lucru responsabil de standardizarea CSS, proprietatea CSS „inset-area” a fost redenumită în „position-area”, proprietatea „position-try-options” a fost redenumită în „position-try-fallbacks”, iar în proprietatea „position-try” a fost eliminată necesitatea specificării inset-area(), adică în loc de „position-try-fallbacks: inset-area(top)” ar trebui scris „position-try-fallbacks: top.”
- În API-ul Intl a fost adăugat metoda Intl.DurationFormat pentru formatarea datelor despre durată în timp, ținând cont de localele selectate. De exemplu: const l = "ro-RO"; const d = {ore: 1, minute: 46, secunde: 40}; const opts = {stil: "lung"}; new Intl.DurationFormat(l, opts).format(d); // "1 oră, 46 minute, 40 secunde"
- În API-ul Web GPU a fost implementată posibilitatea de a utiliza întreaga gamă de luminozitate, suportată de ecran, la redarea imaginilor HDR.
- În API-ul WebRTC a fost adăugată suportul pentru trimiterea blob-urilor folosind metoda RTCDataChannel.send(Blob) și primirea datelor de tip Blob la procesarea evenimentului onMessage, dacă atributul „binaryType” are valoarea „blob” (anterior se susținea transmiterea șirurilor și ArrayBuffer-urilor). Dimensiunea blob-ului este limitată la valoarea maxMessageSize.
- În API-ul WebAuthn au fost adăugate metodele PublicKeyCredential.toJSON(), parseCreationOptionsFromJSON() și parseRequestOptionsFromJSON() pentru serializarea/deserializarea răspunsurilor WebAuthn folosind formatul JSON.
- În modul „Origin trials” a fost implementat API-ul FileSystemObserver, care permite site-urilor să urmărească modificările fișierelor și directoarelor.
- În modul „Origin trials” a fost adăugat API-ul Mesh2D Canvas pentru vizualizarea unui număr mare de triunghiuri texturate. Printre aplicațiile API-ului se menționează implementarea unor metode extinse de mapare a texturilor și crearea de efecte de deformare în context bidimensional.
- Funcționalitățile instrumentelor pentru dezvoltarea web au fost extinse.
Pe lângă noile funcții și corecțiile de erori, noua versiune a eliminat 9 vulnerabilități. Multe dintre vulnerabilități au fost identificate în urma testării automate cu instrumentele AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer și AFL. O problemă a fost clasificată cu un nivel ridicat de risc (încălcarea prelucrării tipurilor în motorul V8). Nu au fost identificate probleme critice care să permită ocolirea tuturor nivelurilor de protecție ale browserului și executarea codului în sistem dincolo de mediul sandbox. În cadrul programului de recompensă pentru descoperirea vulnerabilităților, Google a acordat 5 premii în valoare totală de 13.000 de dolari pentru versiunea actuală (un premiu de 8.000 de dolari și 2.000 de dolari, trei premii de 1.000 de dolari). Valoarea unei recompense nu a fost încă stabilită.
Sursa: opennet.ro



