A Google bemutatta a Chrome 95 webböngésző kiadását. Egyidejűleg elérhető a Chrome alapját képező Chromium szabad projekt stabil kiadása is. A Chrome böngésző megkülönböztető jegyei között szerepelnek a Google logói, a törés esetén küldött értesítések rendszere, a védett videótartalom (DRM) lejátszására szolgáló modulok, az automatikus frissítések telepítése, valamint a keresés során átadott RLZ paraméterek. A 4 hetes fejlesztési ciklusnak megfelelően a következő Chrome 96 kiadás november 16-ára van tervezve. Azok számára, akiknek szükségük van több időre a frissítéshez, külön támogatott az Extended Stable ág, amely 8 hétig tart, és amely tartalmazza a Chrome 94 korábbi kiadása számára készült frissítést.
A Chrome 95 főbb változásai:
- Linux, Windows, macOS és ChromeOS felhasználók számára egy új, a tartalom jobb oldalán megjelenő oldalsávot kínálnak, amely egy speciális ikonra kattintva aktiválható az címsor panelen. Az oldalsávban könyvjelzők és olvasási lista összefoglalója jelenik meg. Ez a változás nem minden felhasználó számára érhető el, aktiválásához a 'chrome://flags/#side-panel' beállítást lehet használni.

- Megvalósították a webformákban megadott címek mentésének jogainak explicit kérését a későbbi automatikus kitöltési rendszerben való felhasználás céljából. Ha címek találhatók a formákban, a felhasználónak most megjelenik egy párbeszédablak, amely lehetővé teszi a cím mentését, szerkesztését, a korábban mentett cím frissítését vagy a mentés elutasítását.
- Eltávolították az FTP protokoll támogatására szolgáló kódot. A Chrome 88-ban az FTP támogatása alapértelmezés szerint le lett tiltva, de egy zászlót hagytak a visszaállítására.
- Megszűnt az URL-ek támogatása olyan hosztnevekkel, amelyek számjegyre végződnek, de nem felelnek meg az IPv4 címeknek. Például az 'http://127.1/', 'http://foo.127.1/' és 'http://127.0.0.0.1' URL-ek mostantól érvénytelennek számítanak.
- A WebAssembly számára lehetővé vált a hibakezelők létrehozása, amelyek képesek megakadályozni a végrehajtást, ha hiba lép fel bizonyos kód végrehajtása közben. Támogatják a WebAssembly modulok által ismert hibák és az importált funkciók meghívása közben fellépő hibák elkapását is. A hibák elkapásához a WebAssembly modult olyan fordítóval kell összeállítani, amely támogatja a kivételeket, mint például az Emscripten.
Megállapították, hogy a WebAssembly szintjén történő hibakezelés jelentősen csökkenti a generált kód méretét a JavaScript által végzett hibakezeléshez képest. Például a Binaryen optimalizáló JavaScript által végzett hibakezelésével a kód 43%-os növekedéséhez vezet, míg a WebAssembly által végzett hibakezelés csupán 9%-kal növeli a kódot. Ezen kívül, az "-O3" optimalizálási mód használata esetén a WebAssembly által végzett hibakezeléssel készült kód teljesítménye szinte nem különbözik a hibakezelők nélkül készült kódétól, míg a JavaScript általi hibakezelés 30%-os teljesítménycsökkenést okoz.
- Tilos a WebAssembly modulok azonossági területek közötti közös használata (cross-origin) egy weboldalon belül.
- Az Origin Trials módban (kísérleti lehetőségek, amelyek külön aktiválást igényelnek) számos új API került hozzáadásra. Az Origin Trial lehetőséget ad az adott API használatára olyan alkalmazásokból, amelyeket a localhost vagy a 127.0.0.1-től töltöttek be, vagy a regisztráció és a különleges token megszerzése után, amely korlátozott ideig érvényes egy adott webhelyre.
- A User-Agent HTTP-headers és a navigator.userAgent, navigator.appVersion és navigator.platform JavaScript paraméterek információinak megcsonkítása megtörtént. A fejlécben csak a böngésző nevét, a böngésző jelentős verzióját, a platformot és az eszköz típusát (mobiltelefon, PC, tablet) tartották meg. További adatok, például a pontos verzió és a platform részletes adatai az API User Agent Client Hints használatával érhetők el. A User-Agent megcsonkítása a normál felhasználók rendszerein a Chrome 102 kiadásával indul, amely fél év múlva jelenik meg.
- Javasolták az Access Handles létrehozásának lehetőségét a File System Access API-hoz, amely lehetővé teszi a webalkalmazások számára, hogy közvetlenül olvassanak és írjanak adatokat a felhasználó eszközén található fájlokba és mappákba. A webalkalmazások fájlrendszerhez való hozzáférési módszereinek egyszerűsítése érdekében a Google tervezi a File System Access és a Storage Foundation API-k összevonását. Az ilyen összevonás előkészítéseként javasolták a hozzáférési deszkiptork támogatását, amely kiegészíti a fájl-deszkiptorkal végzett műveletek módszereit kiterjesztett lehetőségekkel, mint például más folyamatok által végzett írási zárak beállítása és a különálló írási és olvasási szálak létrehozása, beleértve a worker-ökből történő szinkron olvasást és írást is.
- A Stabilizált és alapértelmezett API Secure Payment Confirmation új 'payment' kiterjesztéssel lett bevezetve, amely biztosítja a pénzügyi tranzakciók további megerősítését. Az ellenőrző fél, például egy bank, képes generálni egy nyilvános kulcsot PublicKeyCredential, amelyet a kereskedő kérhet a fizetés biztonságos megerősítéséhez az API Payment Request-on keresztül, a 'secure-payment-confirmation' fizetési módszer használatával.
- A PerformanceObserver konstruktoron keresztül beállított callback-hívásokban megvalósításra került a droppedEntriesCount tulajdonság átadása, amely lehetővé teszi megérteni, hogy hány teljesítménymutató lett eldobva, mert nem fért el a megadott pufferen.
- Az API EyeDropper hozzáadásra került, amely lehetővé teszi a böngésző által biztosított interfész meghívását az egyedi pixelek színének meghatározására a képernyőn, ami például webalkalmazásokban használt grafikus szerkesztőkben alkalmazható. const eyeDropper = new EyeDropper(); const result = await eyeDropper.open(); // result = {sRGBHex: '#160731'}
- A self.reportError() funkció hozzáadva, lehetővé téve a szkriptek számára, hogy hibákat jelenítsenek meg a konzolon, imitálva egy nem elfogható kivétel felmerülését.
- Az API URLPattern hozzáadva, amely lehetővé teszi a URL-ek összehasonlítását egy adott mintával, ami például alkalmazható linkek elemzésére és a kérések átirányítására a service worker kezelőire. const p = new URLPattern({ protocol: 'https', hostname: 'example.com', pathname: '/:folder/*/:fileName.jpg', });
- Az API Intl.DisplayNames kibővítve, amelyen keresztül lokalizált nyelvi, ország, valuta, dátum elemek stb. nevek érhetők el. Az új verzió új 'calendar' és 'dateTimeField' név típusokat hozott, amelyek segítségével lokalizált neveket kaphatunk a naptárról és a dátum- és időmezőkről (például a hónapok neve). A 'language' típushoz pedig a nyelvek dialektusának használatát is támogató funkciók kerültek bevezetésre.
- Az API Intl.DateTimeFormat új paraméterértékek támogatásával bővült: timeZoneName: 'shortGeneric' a rövid időzóna azonosítók megjelenítéséhez (például 'PT', 'ET'), 'longGeneric' a hosszú (pl. 'Csendes-óceáni idő', 'Hegyi idő'), 'shortOffset' rövid eltéréssel a GMT-hez ('GMT+5') és 'longOffset' hosszú eltéréssel a GMT-hez ('GMT+0500').
- A U2F API (Cryptotoken) has been deprecated, and it is recommended to use the Web Authentication API instead. The U2F API will be disabled by default in Chrome 98 and completely removed in Chrome 104.
- Improvements have been made to the web developer tools. The Styles panel has simplified the adjustment of CSS properties related to size (height, padding, etc.). The Issues tab now allows for the hiding of individual issues. The display of properties has been improved in the web console and the Sources and Properties panels (custom properties are now highlighted in bold and shown at the top of the list).

In addition to new features and bug fixes, the new version has resolved 19 vulnerabilities. Many of the vulnerabilities were identified through automated testing using AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer, and AFL tools. No critical issues that would allow bypassing all levels of browser protection and executing code in the system outside the sandbox environment have been detected. As part of the bug bounty program for this release, Google has awarded 16 prizes totaling $74,000 (one prize of $20,000, two prizes of $10,000, one prize of $7,500, one prize of $6,000, three prizes of $5,000, and one prize each of $3,000, $2,000, and $1,000). The amounts for 5 of the rewards have yet to be determined.
Forrás: opennet.ru


