BashkĂ«ngjitur Ă«shtĂ« rreth Firefox 148, dhe janĂ« bĂ«rĂ« pĂ«rditĂ«sime pĂ«r degĂ«t e mĂ«parshme me mbĂ«shtetje afatgjatĂ« â 140.8.0 dhe 115.33.0 (mĂ« i fundit nĂ« serinĂ« 115.x). NĂ« orĂ«t nĂ« vazhdim, dega Firefox 149 do tĂ« kalojĂ« nĂ« fazĂ«n e testimit beta, me lançim tĂ« parashikuar pĂ«r mĂ« 24 mars.
Novitet kryesore në Firefox 148 (1, 2, 3):
- Në parametrat është shtuar seksioni "AI Controls" që ishte premtuar më parë për të menaxhuar përdorimin e AI. Përdoruesi mund të çaktivizojë të gjitha funksionet AI njëherësh ose të aktivizojë vetëm ato që janë të nevojshme. Për çaktivizim të përzgjedhur janë të disponueshme mundësitë si: përkthimi në gjuhë tjetër, njohja e tekstit në imazhe dhe në dokumentet PDF të skanuara, rekomandime dhe etiketat në grupimin e skedave, gjenerimi i përmbajtjes së përshkruar të faqes në parashikimin e lidhjeve dhe ndërfaqja për të kontaktuar me chatbotët. Secila nga funksionet mund të aktivizohet, çaktivizohet ose bllokohet. Kur bllokohet, modelet AI që instalohen lokalisht fshihen, dhe elementet e ndërfaqes bëhen të padukshme.

- Në cilësimet është shtuar një opsion i veçantë për aktivizimin e aplikacioneve dhe modifikimeve të paplanifikuara në mes të lëshimeve. Më parë, kjo mundësi lidhej me aktivizimin e telemetrisë dhe pjesëmarrjen në testimin e funksioneve eksperimentale (Privacy & Security» > «Mbledhja e të Dhënave Firefox» > «Instalo dhe ekzekuto studime»), por që nga Firefox 148 mund të aktivizohet pavarësisht prej tyre.

- Imazhet e sfondit, të zgjedhura për faqen që shfaqet kur hapni një skedë të re, tani aplicohen si për skedat e reja me parazgjedhje, ashtu edhe për skedat e reja të enëve.
- PĂ«r pĂ«rdoruesit e Windows 10 dhe 11, Ă«shtĂ« shtuar funksioni Firefox Backup, i cili lejon krijimin e kopjeve rezervĂ« tĂ« tĂ« dhĂ«nave tĂ« ruajtura nga shfletuesi, siç janĂ« shĂ«nimet, cilĂ«simet dhe fjalĂ«kalimet. NĂ« kopjen rezervĂ« nuk pĂ«rfshihen tĂ« dhĂ«nat qĂ« pĂ«rdoruesi ka zgjedhur pĂ«r tâu pastruar kur mbyllet shfletuesi. Kopja rezervĂ« e krijuar mund tĂ« pĂ«rdoret pĂ«r rikthimin e gjendjes pas ribrendjes sĂ« sistemit operativ ose nĂ« njĂ« kompjuter tjetĂ«r.
- Garantohet përputhshmëria web e dokumentit fillestar «about:blank», i cili tani formohet sinkronisht dhe gjatë fillimit të navigimit në faqe nuk zëvendësohet në mënyrë asinhrone nga një dokument i dytë të zbrazët, i gjeneruar nga parseri (për shkak të këtij zëvendësimi ndodhte një gjendje garë, e cila herë pas here shkaktonte humbjen e ndryshimeve të regjistruara përmes JavaScript menjëherë pas thirrjes së window.open()).
- Mekanizmi i punës Service worker ka marrë mbështetje për API WebGPU, duke lejuar ekzekutimin e operacioneve WebGPU në mënyrë të prapambetur, për shembull, në shtesa ose gjatë kryerjes së punëve të përbashkëta për skeda të ndryshme të njëjti siti.
- NĂ« JavaScript janĂ« shtuar metodat Iterator.zip() dhe Iterator.zipKeyed() pĂ«r tĂ« bashkuar disa array. KĂ«to metode lejojnĂ« qĂ«, bazuar nĂ« disa iteratorĂ«, tĂ« formohet njĂ« iterator i ri, ku çdo element pĂ«rfaqĂ«son njĂ« array ose objekt me vlerat e iteratorĂ«ve nĂ« tĂ« njĂ«jtin pozicion. const str1 = "abc"; const str2 = "1234"; const it = Iterator.zip([Iterator.from(str1), Iterator.from(str2)]); for (const [char1, char2] of it) { console.log(`${char1} â ${char2}`); } // Do tĂ« nxjerrĂ«: // a â 1 // b â 2 // c â 3 const table = { name: ["Caroline", "Danielle", "Evelyn"], age: [30, 25, 35], city: ["New York", "London", "Hong Kong"], }; for (const { name, age, city } of Iterator.zipKeyed(table)) { console.log(`${name}, i moshĂ«s ${age}, jeton nĂ« ${city}.`); } // Do tĂ« nxjerrĂ«: // Caroline, i moshĂ«s 30, jeton nĂ« New York. // Danielle, i moshĂ«s 25, jeton nĂ« London. // Evelyn, i moshĂ«s 35, jeton nĂ« Hong Kong.
- API i Trusted Types është implementuar, duke u zhvilluar për të mbrojtur nga manipulimet me DOM, që çojnë në scripting ndër-sajte (DOM XSS). Për shembull, trajtimi i papërshtatshëm i të dhënave të marra nga përdoruesi në blloqet eval() ose në inserimet «.innerHTML» mund të çojë në ekzekutimin e kodit JavaScript në kontekstin e një faqe specifike. Trusted Types kërkon përdorimin e objekteve speciale TrustedHTML në vend të vlerave të zakonshme në thirrje të rrezikshme, si element.innerHTML, document.write() dhe setTimeout(). Në këtë mënyrë, objektet TrustedHTML krijohen nga funksione të shkruara nga zhvilluesit, të cilat kryejnë verifikimin dhe pastrimin e të dhënave.
- Shtuar API Sanitizer, i cili ofron metoda për manipulimin e HTML dhe për heqjen e elementeve HTML që ndikojnë në paraqitje dhe ekzekutim. Për futjen e sigurt të përmbajtjes HTML është propozuar metoda element.setHTML(), e cila është e ngjashme me element.innerHTML, por mbron nga skriptimi i ndërsiteve (XSS). Për analizimin e sigurt të HTML është implementuar metoda document.parseHTML(). API mund të jetë i dobishëm për pastrimin e të dhënave që vijnë nga jashtë dhe për heqjen e etiketave HTML, të cilat mund të përdoren për të kryer sulme XSS. const unsanitizedString = "abc def"; const sanitizer1 = new Sanitizer({ elements: ["div", "p", "button", "script"], }); const target = document.getElementById("target"); target.setHTML(unsanitizedString, { sanitizer: sanitizer1 });
- Shtuar mbështetje për pronën "location.ancestorOrigins", e cila përmban një listë burimesh (origin) të gjitha elementeve prind të dokumentit të lidhura me objektin e caktuar Lokacionit. Në praktikë, kjo pronë mund të përdoret, për shembull, për të përcaktuar ngarkimin e dokumentit përmes iframe në një sit tjetër.
- API Navigation ka shtuar objektin NavigationPrecommitController me metodën addHandler(), e cila lejon lidhjen e një trajtuesi që aktivizohet gjatë navigimit në fazën «post-commit», kur URL i ri është tashmë i dukshëm në shiritin e adresës.
- Shtohet pronës CSS position-try-order, e cila përcakton përparësinë e zgjedhjes së pozicioneve rezervë kur elementi me pozicionim të ankoruar nuk e vendoset në ekran. Kjo pronë është pjesë e grupit CSS Anchor Positioning, që lejon menaxhimin e shfaqjes së elementeve të lidhura me pozita të elementeve të tjera pa përdorur JavaScript, për shembull, për të ankuar elemente të pop-up (popover) që shfaqen si sugjerime të pop-up.
- Në CSS është shtuar funksioni shape(), i cili lejon formimin e figurave duke përdorur pronat CSS clip-path dhe offset-path. Funksioni shape() mbështet komandat për formimin e figurave, ekuivalente me funksionin path(), por lejon përdorimin e sintaksës standarde CSS.
- Në versionin e Firefox për Android është modifikuar dizajni i panelit të mjetëve, është përmirësuar konfigurimi i përmbajtjes së panelit të mjetëve dhe është shtuar një mundësi për kopjimin e shpejtë të tekstit të dukshëm të lidhjes pa hapur faqen.
Përveç përmirësimeve dhe rregullimeve të gabimeve, Firefox 148 ka eliminuar 60 dobësi (6 herë më shumë se në versionin e kaluar). 48 nga këto dobësi janë shkaktuar nga probleme të menaxhimit të memories, siç janë mbushjet e tamponëve dhe aksesimi në zona të memories që janë çliruar tashmë. Këto çështje potencialisht mund të çojnë në ekzekutimin e kodit nga një sulmues kur hapen faqe të hartuara posaçërisht. 5 dobësi lejojnë kalimin e sandbox-it për shkak të verifikimit të gabuar të kufijve dhe mbushjes së numrave në komponentin e grafikës.
Burimi: opennet.ru


