Rili u lëshua shfletuesi web Firefox 148 dhe u formuan përditësime të degëve të kaluara me mbështetje të gjatë - 140.8.0 dhe 115.33.0 (e fundit në serinë 115.x). Në orët në vazhdim, dega Firefox 149 do të kalojë në fazën e testimit beta, me lëshimin e saj të parashikuar për 24 mars.
Novitetet kryesore në Firefox 148 (1, 2, 3):
- NĂ« cilĂ«simet Ă«shtĂ« shtuar seksioni e premtuar mĂ« parĂ« 'AI Controls' pĂ«r kontrollin e pĂ«rdorimit tĂ« AI. PĂ«rdoruesi mund tĂ« çaktivizojĂ« njĂ«herĂ«sh tĂ« gjitha funksionet e AI ose tĂ« aktivizojĂ« vetĂ«m ato qĂ« i nevojiten. PĂ«r çaktivizimin e pĂ«rzgjedhur, janĂ« tĂ« disponueshme mundĂ«si si pĂ«rkthimi nĂ« gjuhĂ« tĂ« tjera, njohja e teksteve nĂ« imazhe dhe nĂ« dokumentet PDF tĂ« skanuara, rekomandimet dhe etiketat gjatĂ« grupimit tĂ« tabave, gjenerimi i pĂ«rmbajtjes pĂ«rmbledhĂ«se tĂ« faqes gjatĂ« parazgjedhjes sĂ« lidhjeve dhe ndĂ«rfaqja pĂ«r tĂ« kontaktuar me chatbotĂ«t. Ădo funksion mund tĂ« aktivizohet, çaktivizohet ose bllokohet. Kur bllokohet, modelet AI tĂ« instaluara lokalisht fshihen, dhe elementĂ«t e ndĂ«rfaqes ulin.

- Në cilësimet është shtuar një opsion i veçantë për aktivizimin e aplikimit të paplanifikuar të rregullimeve dhe ndryshimeve midis lëshimeve. Më parë, kjo mundësi ishte e lidhur me aktivizimin e telemetrisë dhe pjesëmarrjen në testimin e mundësive eksperimentale (Privatësia & Siguria » > «Koleksion të dhënash Firefox» > «Instaloni dhe ekzekutoni studime»), por duke filluar nga Firefox 148 mund të aktivizohet pavarësisht prej tyre.

- Imazhet e sfondit të zgjedhura për faqen e paraqitur kur hapet një tab i ri tani aplikohen si për tabat e reja të paracaktuar ashtu edhe për tabat e reja të konteinerëve.
- Për përdoruesit e Windows 10 dhe 11 është shtuar funksioni Firefox Backup, që lejon krijimin e kopjeve rezervë të të dhënave të ruajtura nga shfletuesi, si 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 gjatë mbylljes së shfletuesit. Kopja rezervë e krijuar mund të përdoret për të rikuperuar gjendjen pas riinstalimit të sistemit operativ ose në një kompjuter tjetër.
- Garantohet përputhshmëria me web-in e dokumentit fillestar «about:blank», i cili tani formohet në mënyrë sinhron dhe gjatë fillimit të navigimit në faqe nuk zëvendësohet në mënyrë asinkrone me një dokument të dytë të zbrazët, të gjeneruar nga parseri (për shkak të kësaj zëvendësimi ndodhte një gjendje garuese, ndonjëherë duke çuar në humbje të ndryshimeve të shkruara përmes JavaScript sapo të thirrej window.open()).
- Mekanizmi i Service worker tani mbështet API-në WebGPU, që lejon ekzekutimin e operacioneve WebGPU në mënyrë sfondore, për shembull, në shtesa ose gjatë kryerjes së punëve të përbashkëta për diferents tab të njëjte të faqes.
- NĂ« JavaScript janĂ« shtuar metodat Iterator.zip() dhe Iterator.zipKeyed() pĂ«r tĂ« bashkuar disa arrays. Metodat lejojnĂ« qĂ« tĂ« formohet njĂ« iterator i ri mbi bazĂ«n e disa iteratorĂ«ve, çdo element i tĂ« cilit paraqet njĂ« array ose objekt me vlerat e iteratorĂ«ve nĂ« tĂ« njĂ«jtĂ«n 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}, aged ${age}, lives in ${city}.`); } // Do tĂ« nxjerrĂ«: // Caroline, aged 30, lives in New York. // Danielle, aged 25, lives in London. // Evelyn, aged 35, lives in Hong Kong.
- Implementohet API-ja e Trusted Types, e cila zhvillohet për të mbrojtur nga manipulimet me DOM, që çojnë në scriptimin ndërfajorial (DOM XSS). Për shembull, trajtimi i papërshtatshëm i të dhënave të marra nga përdoruesi në blloqet eval() ose vendosjet «.innerHTML» mund të çojë në ekzekutimin e kodit JavaScript në kontekstin e një faqe të caktuar. Trusted Types kërkon përdorimin e objekteve speciale TrustedHTML në vend të stringjeve të pastra në thirrje të rrezikshme, siç janë element.innerHTML, document.write() dhe setTimeout(). Nga ana tjetër, objektet TrustedHTML krijohen nga funksione të shkruara nga zhvilluesi, që kryejnë verifikimin dhe pastrimin e të dhënave.
- Shtuar API Sanitizer, i cili ofron metoda për manipulimin e HTML dhe prerjen e elementeve HTML nga përmbajtja që ndikon në shfaqje dhe ekzekutim. Për të vendosur në mënyrë të sigurt përmbajtje HTML, është propozuar metoda element.setHTML(), e ngjashme me element.innerHTML, por që mbron nga skenari i ndërfaqeve të palëve të treta (XSS). Për të analizuar në mënyrë të sigurt HTML, është implementuar metoda document.parseHTML(). API-ja mund të jetë e dobishme për pastrimin e të dhënave të pranuara nga jashtë dhe për prerjen e etiketave HTML që mund të përdoren për të kryer sulme XSS. const unsanitizedString = "abc alert(1) 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ë origjinash (origin) të të gjithë elementeve prind të dokumentit të lidhur me objektin e caktuar Location. Në praktikë, kjo pronë mund të përdoret, për shembull, për të përcaktuar ngarkimin e dokumentit përmes iframe në një faqe tjetër.
- API Navigation është shtuar objekti NavigationPrecommitController me metodën addHandler(), e cila lejon lidhjen e një trajtuesi që aktivizohet kur navigohet në fazën "post-commit", kur URL e re tashmë shfaqet në shiritin e adresës.
- Shtuar pronën CSS position-try-order, e cila përcakton përparësinë e zgjedhjes së pozita të rezervuara, kur një element me pozicionim të ankoruar nuk derdhet në ekran. Kjo pronë bën pjesë në grupin CSS Anchor Positioning, i cili lejon menaxhimin e shfaqjes së elementeve të lidhura me vendndodhjen e elementeve të tjera, pa përdorur JavaScript, për shembull, për të lidhur një element me kutitë e shpërthimit (popover) që shfaqen siç është me këshillat e shpërthimit.
- Në CSS është shtuar funksioni shape(), i cili lejon krijimin 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 Firefox për Android, është ndryshuar dizajni i panelit të mjeteve, është përmirësuar konfigurimi i përmbajtjes së panelit dhe është shtuar një opsion për kopjimin e shpejtë të tekstit të dukshëm të lidhjes pa hapur faqen.
Përveç risive dhe rregullimeve të gabimeve, në Firefox 148 janë eliminuar 60 të pambrojtura (6 herë më shumë se në versionin e kaluar). 48 të pambrojtura shkaktohen nga probleme me kujtesën, si mbushjet e buferrave dhe acceset në zona kujtese të liruar tashmë. Potencialisht, këto probleme mund të çojnë në ekzekutimin e kodit të keqësuesit kur hapen faqe të veçanta. 5 të pambrojtura lejojnë kalimin e izolimit sandbox për shkak të kontrollit të gabuar të kufijve dhe mbushjes së numrave në komponentin për grafikat.
Burimi: opennet.ru


