Megjelent a Firefox 147 webböngésző, és frissítések készültek a hosszú távú támogatású korábbi ágazatokhoz — 140.7.0 és 115.32.0. A Firefox 148 ágazat bétatesztelésre került, amelynek kiadása február 24-re van tervezve.
A Firefox 147 főbb újdonságai (1, 2, 3):
- Hozzáadva a Freedesktop.org XDG Base Directory specifikáció támogatása, lehetővé téve a profilok, kiegészítők, beállítások és belső adatbázisok tárolására a „~/.config/mozilla” könyvtár használatát. A régi „~/.mozilla” könyvtárban történő adatkezelés támogatása opcióként megmaradt, amely a „MOZ_LEGACY_HOME=1” környezeti változóval indítható.
- Hozzáadva a „Compression Dictionary Transport” (RFC 9842) mechanizmus támogatása, ami lehetővé teszi az adatok méretének csökkentését az ügyfél és szerverrel, a Zstandard (Content-Encoding: dcz) és Brotli (Content-Encoding: dcb) tömörítési algoritmusok használatával, a szótárak használatával együtt a tipikus építkezések tömörítéséhez. Két forgatókönyv érhető el a Compression Dictionary Transport használatára — tartalom tömörítése az előzetesen a szerver által átadott szótárak alapján, és a korábban átadott tartalom új verzió tömörítésére szolgáló szótárként való felhasználása (delta-tömörítés, amely során csak a meglévő verzióval összehasonlított változásokat küldjük).
Például, amikor a „GET /index.html” kérést adjuk le, a szerver átadhatja a szótár elérhetőségéről szóló információt, visszaküldve az útvonalát a ‘Link: ; rel="compression-dictionary"‘ fejlécben. Amikor az ügyfél letölti a „…/dict” szótárat, a szerver információt nyújt a HTML-fájlokra vonatkozó helyes alkalmazásáról, beállítva a ‘Use-As-Dictionary: match="/*html"‘ fejlécet. A következő HTML-erőforrás kérésénél, például a „GET /index2.html”-nél, az ügyfél közli a szótár meglétét az ‘Available-Dictionary: szótár_hash’ fejlécen keresztül. Ha a szerver oldalán van a megadott hash-ű szótár, akkor visszaküldi az index2.html tartalmát, amelyet e szótár felhasználásával tömörítettek.
A JavaSсript fájlok különböző verzióinak delta-tömörítésekor a „GET /app.v1.js” kérésre a szerver a ‘Use-As-Dictionary: match="/app*js"‘ fejlécet állíthatja be, amely tájékoztat a visszaadott tartalom későbbi szótárként való használhatóságáról az „app*js” útvonalakra. A következő, ennek a mintának megfelelő fájl kérésénél, például a „GET /app.v2.js”-nél, az ügyfél átadja a meglévő szótár hash-ét a ‘Available-Dictionary:’ fejlécen keresztül, és a szerver csak a változásokat visszaadja az app.v1.js és app.v2.js fájlok között.
- Hozzáadva az about:keyboard oldal a billentyűkombinációk beállításához és a meglévő gyorsbillentyűk felülírásához, például a megszokott lehetőségek megadásához vagy más programokkal való ütközések elkerüléséhez.

- Optimalizálták a videolejátszást AMD GPU-n történő hardveres dekódolás használatával. AMD GPU-val rendelkező rendszereken a hardveresen dekódolt videó mostantól további adatmásolás nélkül (zero-copy módban) játszható le, ahogyan azt korábban Intel és NVIDIA GPU-val rendelkező rendszerek esetén megvalósították.
- Az 5-ös verzióban frissült a Safe Browsing protokoll megvalósítása, amelyet a Google által biztosított nem biztonságos források (például phishing oldalak, rosszindulatú szoftverek) URL-címeinek ellenőrzésére használnak. Az új verzió lehetővé teszi a blokkoló listák letöltését a helyi rendszer használatára (SHA256 hash prefixekkel rendelkező problémás URL-ek adatbázisa), amelyek mostantól a Firefoxban kerülnek alkalmazásra.
- Hozzáadva egy lehetőség az automatikus videolejátszás folytatására a „kép a képben” módban, ha a lapot váltanak.
- Az Enhanced Tracking Protection (ETP) szigorú módjában alapértelmezésben bekapcsolva van az LNA (Helyi Hálózati Hozzáférés) specifikáció alkalmazása a lokális rendszerhez (loopback, 127.0.0.0/8) vagy a belső hálózathoz (192.168.0.0/16, 10.0.0.0/8 stb.) intézett kérések korlátozására a nyilvános weboldalakkal való interakciókor. A belső erőforrásokhoz való hozzáférés szállítói által használt CSRF támadások végrehajtásához használták, mint például routerek, hozzáférési pontok, nyomtatók, vállalati webes felületek és más eszközök és szolgáltatások, amelyek csak helyi hálózatról fogadnak kéréseket. Továbbá, a belső erőforrások beolvasása általánosan használt a helyi hálózatról való közvetett azonosításhoz vagy információgyűjtéshez.
- Linux rendszereken GNOME-mal és a Mutter kompozitorral megoldották a tartalom homályos megjelenítésének problémáját a tizedes mértékarány használatakor.
- Az Apple Silicon chippel rendelkező Apple számítógépeken és a macOS operációs rendszeren engedélyezve van a WebGPU API támogatása.
- A HTTP header 'Accept-Language' language selection priority (q-parameters) has been synchronized with values set by other browsers, resolving some portability issues. For example, the second language now has a priority of q=0.9 instead of q=0.5, and for each subsequent language, the priority decreases by 0.1.
- The ICU library has been updated to version 78 with support for Unicode 17 and updated locale data.
- Service Workers now allow the use of ESM (ECMAScript Module) JavaScript modules, imported and exported through import and export statements.
- Support for the CSS Module Scripts specification has been added, allowing the use of a JavaScript module system to import CSS resources. For example: import styles from './styles.css' with { type: 'css' };
- In the pseudo-element '::marker', which allows customizing the parameters of numbers and dots for lists in
- and
- blocks, CSS properties 'counter-*' and 'quotes' can now be used.
- Support for the Brotli compression format has been added to the CompressionStream and DecompressionStream APIs.
- In the View Transitions API, used to create animation effects when switching between different DOM states, a 'type' property has been added containing an array of transition types. A corresponding CSS selector ':active-view-transition-type' and the document.activeViewTransition property, which returns the instance of the active ViewTransition object for the document, have also been added.
- A set of CSS properties has been included to manage the display of elements tied to the positions of other elements (CSS Anchor Positioning) without using JavaScript, for example, to attach popover elements that appear similarly to tooltips.
- The 'Storage Access Headers' specification has been implemented, defining the request header 'Sec-Fetch-Storage-Access' and the response header 'Activate-Storage-Access' for accessing third-party cookies without calling the document.requestStorageAccess() method. The server can request access to cookies through the 'Activate-Storage-Access' header, and it will be sent by the client if the user previously confirmed access to the cookie storage via the Storage Access API.
- Support for relative measurement units rcap, rch, rex, and ric has been added to the CSS property 'root-font-relative'.
- A Navigációs API lett megvalósítva, amely lehetővé teszi a webalkalmazások számára, hogy átvegyék a navigációs műveleteket az ablakban, kezdeményezzék az átmenetet és elemezzék az alkalmazással kapcsolatos műveletek történetét. Az API alternatívát kínál a window.history és window.location tulajdonságokhoz képest, optimalizálva az egylapos webalkalmazások számára.
- A webfejlesztői eszközökben a CSS szabályok paneljén megvalósították a pszeudoelemek szelektoraik szerkesztésének és hozzáadásának támogatását. A JSON formátumban megjelenített adatok nézőfelületéhez egy gomb került hozzáadásra az erőforrás importálásához a profilozási rendszerbe (Firefox Profiler) a méretének meghatározásához. A HTML-elemek és az animációk vizsgálati paneljein a View Transitions pszeudoelemek megjelenítése biztosított. A CSS szabályok paneljén a más elemek elhelyezkedéséhez kötődő elemek megjelenítésének kezelésére szolgáló @position-try szabályok megjelenítése is megvalósult.
- A Firefox androidos verziójában védelmet kaptak a támadások harmadik féltől származó csatornákon, mint például a Spectre, amelyeket a webhelyek közötti elszigetelés megkerülésére használnak. Korábban ilyen védelem csak asztali rendszerekhez készült verziókban volt elérhető.
A Firefox 147 újdonságai és hibajavításai mellett 23 sebezhetőséget is kijavítottak. A sebezhetőségek közül 10 memória kezelési problémákból adódik, mint például a puffertúlcsordulás és a már felszabadított memória területekhez való hozzáférés. Ezek a problémák potenciálisan lehetővé tehetik a rosszindulatú kód végrehajtását speciálisan kialakított oldalak megnyitásakor. 3 sebezhetőség lehetővé teszi a sandbox-elszigetelés megkerülését a határok helytelen ellenőrzése és az egész szám túlcsordulás miatt a grafikai feldolgozóban.
Forrás: opennet.ru

