U lançua web-brauzeri Firefox 147 dhe u formuan pĂ«rditĂ«sime pĂ«r degĂ«t e kaluara me mbĂ«shtetje afatgjatĂ« â 140.7.0 dhe 115.32.0. DegĂ« Firefox 148 Ă«shtĂ« kaluar nĂ« fazĂ«n e beta-testimit, me publikimin e saj tĂ« planifikuar pĂ«r 24 shkurt.
Novitetet kryesore në Firefox 147 (1, 2, 3):
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r specifikimin Freedesktop.org XDG Base Directory dhe mundĂ«sia e pĂ«rdorimit tĂ« katalogut "~/.config/mozilla" pĂ«r ruajtjen e profileve, shtesave, cilĂ«simeve dhe Baza tĂ« dhĂ«nash tĂ« brendshme. MbĂ«shtetje pĂ«r ruajtjen e tĂ« dhĂ«nave nĂ« katalogun e vjetĂ«r "~/.mozilla" Ă«shtĂ« ruajtur si njĂ« opsion, i aktivizuar gjatĂ« nisjes me variablin e mjedisit "MOZ_LEGACY_HOME=1."
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r mekanizmin "Compression Dictionary Transport" (RFC 9842), i cili lejon tĂ« zvogelohet madhĂ«sia e tĂ« dhĂ«nave qĂ« transmetohen midis klientit dhe serverin, falĂ« pĂ«rdorimit tĂ« algoritmeve tĂ« kompresimit Zstandard (Content-Encoding: dcz) dhe Brotli (Content-Encoding: dcb) nĂ« kombinim me kompresimin e konstruksioneve tipike duke pĂ«rdorur fjalorĂ«. JanĂ« tĂ« disponueshme dy skenarĂ« pĂ«r pĂ«rdorimin e Compression Dictionary Transport â kompresimi i pĂ«rmbajtjes sipas fjalorĂ«ve tĂ« kaluar mĂ« parĂ« nga serveri dhe pĂ«rdorimi i pĂ«rmbajtjes sĂ« kaluar si fjalor pĂ«r tĂ« kompresuar versionin e saj tĂ« ri (kompresimi delta, ku dĂ«rgohen vetĂ«m ndryshimet krahasuar me versionin ekzistues).
PĂ«r shembull, me kĂ«rkesĂ«n 'GET /index.html', serveri mund tĂ« dĂ«rgojĂ« informacione mbi disponueshmĂ«rinĂ« e fjalorit, duke kthyer rrugĂ«n e tij nĂ« headerin 'Link: ; rel="compression-dictionary"'. Kur klienti tĂ« ngarkojĂ« fjalorin 'âŠ/dict', serveri do tĂ« japĂ« informacion mbi aplikimin e tij nĂ« skedarĂ«t HTML, duke vendosur headerin 'Use-As-Dictionary: match="/*html"'. Kur tĂ« bĂ«het kĂ«rkesa tjetĂ«r pĂ«r burimin html, pĂ«r shembull 'GET /index2.html', klienti do tĂ« tregojĂ« disponueshmĂ«rinĂ« e fjalorit duke pĂ«rdorur headerin 'Available-Dictionary: hash_fjalori'. NĂ«se serveri ka nĂ« anĂ«n e tij njĂ« fjalor me kĂ«tĂ« hash, atĂ«herĂ« do tĂ« kthejĂ« pĂ«rmbajtjen e index2.html, e kompresuar duke pĂ«rdorur kĂ«tĂ« fjalor.
PĂ«r kompresimin delta tĂ« versioneve tĂ« ndryshme tĂ« skedarĂ«ve JavaScript nĂ« pĂ«rgjigje tĂ« kĂ«rkesĂ«s «GET /app.v1.js», serveri mund tĂ« dĂ«rgojĂ« njĂ« titull âUse-As-Dictionary: match=»/app*js»â, i cili informon se pĂ«rmbajtja e kthyer mund tĂ« pĂ«rdoret mĂ« pas si njĂ« fjalor pĂ«r rrugĂ«t «/app*js». NĂ« kĂ«rkesĂ«n e ardhshme pĂ«r njĂ« skedar qĂ« i pĂ«rgjigjet kĂ«saj maske, pĂ«r shembull, «GET /app.v2.js», klienti do tĂ« dĂ«rgojĂ« hash-in e fjalorit ekzistues pĂ«rmes titullit «Available-Dictionary:», dhe serveri do tĂ« kthejĂ« vetĂ«m ndryshimet midis skedarĂ«ve app.v1.js dhe app.v2.js.
- ĂshtĂ« shtuar faqja about:keyboard pĂ«r tĂ« konfiguruar kombinimet e çelĂ«save dhe pĂ«r tĂ« ridizajnuar çelĂ«sat ekzistues tĂ« nxehtĂ«, pĂ«r shembull, pĂ«r tĂ« caktuar variante mĂ« tĂ« njohura pĂ«r vete ose pĂ«r tĂ« eliminua konfliktet me programe tĂ« tjera.

- ĂshtĂ« optimizuar riprodhimi i videove duke pĂ«rdorur ndihmĂ«n hardware pĂ«r dekodimin nĂ« GPU tĂ« AMD. NĂ« sistemet me GPU tĂ« AMD, video me dekodim hardware tani riprodhohet pa kopjimin shtesĂ« tĂ« tĂ« dhĂ«nave (modi zero-copy), ashtu siç ishte realizuar mĂ« parĂ« pĂ«r sistemet me GPU tĂ« Intel dhe NVIDIA.
- Për versionin 5, është përmirësuar implementimi i protokollit Safe Browsing, i cili përdoret për të kontrolluar URL-të në lidhje me praninë në listat e burimeve të rrezikshme (sajtet phishing, faqet me malware, etj.) që ofrohen nga Google. Versioni i ri i protokollit lejon ngarkimin e listave të bllokimit për përdorim në sistemin lokal (DB me prefikset e hash SHA256 për URL-të problematike), të cilat tani aplikohen në Firefox.
- ĂshtĂ« shtuar njĂ« opsion pĂ«r vazhdimin automatike tĂ« luajtjes sĂ« videos nĂ« modalitetin 'imazh nĂ« imazh' nĂ« rast tĂ« kalimit nĂ« njĂ« skedĂ« tjetĂ«r.
- Në modalitetin e mbrojtjes për forcimin e gjurmimit të lëvizjeve (ETP, Enhanced Tracking Protection => Strict) aktivizohet automatikisht aplikimi i specifikacionit LNA (Local Network Access) për të kufizuar qasjet në sistemin lokal (loopback, 127.0.0.0/8) ose në rrjetin e brendshëm (192.168.0.0/16, 10.0.0.0/8 etj.) gjatë ndërveprimit me faqet publike. Qasja në burimet e brendshme përdoret nga sulmuesit për të kryer sulme CSRF ndaj routerëve, pikave të aksesit, printerëve, ndërfaqeve korporative web dhe pajisjeve e shërbimeve të tjera që pranoni kërkesa vetëm nga rrjeti lokal. Përveç kësaj, skanimi i burimeve të brendshme mund të përdoret për identifikimin e tërthortë ose për të mbledhur informacion rreth rrjetit lokal.
- Në sistemet Linux me GNOME dhe serverin kompozit Mutter është zgjidhur problemi me shfaqjen e paqartë të përmbajtjes gjatë përdorimit të shkallës së njëjtë të zmadhuar.
- Në kompjuterët Apple me çipat Apple Silicon dhe sistemin operativ macOS është aktivizuar mbështetja për API-në WebGPU.
- Prioritetet e zgjedhjes së gjuhës të vendosura në HTTP-kreu Accept-Language (parametrat q) janë sinkronizuar me vlerat e vendosura nga shfletues të tjerë, duke zgjidhur disa probleme me portabilitetin. Për shembull, për gjuhën e dytë tani vendoset prioriteti q=0.9 në vend të q=0.5, dhe për çdo gjuhë tjetër prioriteti reduktohet me 0.1.
- Biblioteka ICU është përmirësuar në versionin 78 me mbështetje për Unicode 17 dhe përditësimin e të dhënave të lokalizimeve.
- Në Service Worker, përdorimi i moduleve JavaScript ESM (ECMAScript Module) është lejuar, të importuara dhe eksportuara përmes shprehjeve import dhe export.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r specifikimin CSS Module Scripts, qĂ« lejon pĂ«rdorimin e sistemit tĂ« moduleve JavaScript pĂ«r importimin e resurseve CSS. PĂ«r shembull: import styles from "./styles.css" with { type: "css" };
- Në pseudo-elementin "::marker", i cili lejon konfigurimin e parametrave të numrave dhe pikave për enumerimet në blloqet
- dhe
- , është lejuar përdorimi i pronave CSS "counter-*" dhe "quotes".
- Në API CompressionStream dhe DecompressionStream është shtuar mbështetje për formatin e kompresionit Brotli.
- Në API View Transitions, e cila përdoret për krijimin e efekteve animuese gjatë kalimeve midis gjendjeve të ndryshme të DOM, është shtuar pronësi "type", që përmban një array me llojet e kalimeve. Gjithashtu është shtuar selektori përkatës CSS ":active-view-transition-type" dhe prona document.activeViewTransition, e cila kthen një ekzemplar të objektit ViewTransition aktiv për dokumentin.
- Janë përfshirë një grup pronash CSS për menaxhimin e shfaqjes së elementeve të lidhura me pozitat e elementeve të tjera (CSS Anchor Positioning), pa përdorimin e JavaScript, për shembull, për të lidhur elementet e modaliteteve (popover), që shfaqen ngjashëm me shënimet ndihmëse.
- Specifikimi "Storage Access Headers" është implementuar, i cili definon headerin e kërkesës "Sec-Fetch-Storage-Access" dhe headerin e përgjigjes "Activate-Storage-Access" për të marrë akses në cookie të palëve të treta pa thirrur metodën document.requestStorageAccess(). Serveri mund të kërkojë akses në cookie përmes headerit "Activate-Storage-Access" dhe ai do të dërgohet nga klienti, nëse më parë përdoruesi ka miratuar dhënien e aksesit në hapësirën e cookie përmes API Storage Access.
- Në pronën CSS "root-font-relative" është shtuar mbështetje për njësi të shumave relative rcap, rch, rex dhe ric.
- ĂshtĂ« realizuar API Navigation, i cili lejon aplikacionet web tĂ« kapin operacionet e navigimit nĂ« dritare, tĂ« nisin kalimin dhe tĂ« analizojnĂ« historinĂ« e veprimeve me aplikacionin. API ofron njĂ« alternativĂ« pĂ«r pronat window.history dhe window.location, optimizuar pĂ«r aplikacione web me njĂ« faqe.
- Në mjetet për zhvillimin e web-it, në panelin me rregullat CSS është realizuar mbështetje për redaktimin dhe shtimin e selektorëve të pseudenjësve. Në ndërfaqen për shikimin e të dhënave në formatin JSON është shtuar një buton për importimin e burimit në sistemin e profilizimit (Firefox Profiler) për të përcaktuar informacionin rreth madhësisë së tij. Në panellat e inspektimit të elementeve HTML dhe animacionit është siguruar shfaqja e pseudenjësve View Transitions. Në panelin me rregullat CSS është realizuar shfaqja e rregullave @position-try, të aplikuara për të menaxhuar shfaqjen e elementeve të lidhura me pozitat e elementeve të tjera (CSS Anchor Positioning).
- Në versionin Firefox për Android është shtuar mbrojtja nga sulmet përmes kanaleve të jashtme, si Spectre, të aplikuara për të anashkaluar izolimin mes faqeve. Më parë, një mbrojtje e tillë ishte e aksesueshme vetëm në ndërtimet për sistemet desktop.
Përveç risive dhe rregullimeve të gabimeve në Firefox 147, janë eliminuar 23 vulnerabilitete. 10 vulnerabilitete janë shkaktuar nga probleme me memorinë, siç janë mbushjet e tamponëve dhe referimet në zona memorie që janë çliruar tashmë. Këto probleme potencialisht mund të çojnë në ekzekutimin e kodit të keqbërësve kur hapen faqe të formuara në mënyrë të veçantë. 3 vulnerabilitete lejojnë kalimin e izolimit të sandbox-it për shkak të kontrollit të papërshtatshëm të kufijve dhe mbushjes së numrave në komponentin përpunues të grafikës.
Burimi: opennet.ru

