Izlaista web pārlūka Firefox 94. Turklāt ir izveidota atjauninājumu xenu ar ilgu atbalsta laiku — 91.3.0. BETA-testēšanai ir pārcelta Firefox 95 versija, kuras izlaišana plānota 7. decembrī.
Galvenās jauninājumi:
- Ieviesta jauna servisa lapa «about:unloads», kurā lietotājs, lai samazinātu atmiņas patēriņu, var piespiest izkraut visresursu prasīgākās cilnes no atmiņas, neizdzēšot tās (saturs tiks ielādēts atkārtoti pārejot uz cilni). Lapas «about:unloads» esošās cilnes tiek uzskaitītas prioritātes secībā, kad trūkst operatīvās atmiņas. Prioritāte sarakstā tiek izvēlēta atkarībā no laika piekļuvei cilnei, nevis uz patērētajiem resursiem. Nospiežot pogu Izkraut, no atmiņas tiks izņemta pirmā cilne sarakstā, bet nākamajā nospiešanā — otrā utt. Izkraut cilni pēc lietotāja izvēles pagaidām nav iespējams.

- Pirmajā palaišanā pēc atjaunināšanas tiek iedarbināts jauns interfeiss sešu sezonāli krāsu tēmu izvēlei, kurām piedāvāti trīs tumšo toņu pielietošanas līmeņi, kas ietekmē satura zonas, paneļu un cilņu pārslēgšanas joslas attēlojumu tumšos toņos.

- Ierosināta stingras vietņu izolācijas režīma ieviešana, kas tika attīstīta Fission projekta ietvaros. Atšķirībā no līdz šim izmantotās izlases apstrādes sadalījuma izmantošanas cilnēm pa pieejamo procesu kopumu (noklusējuma 8), stingras izolācijas režīms iznāk katras vietnes apstrādi savā atsevišķajā procesā, atdalot nevis cilnes, bet gan domēnus (Public Suffix). Režīms nav aktivizēts visiem lietotājiem, tā atslēgšanai vai ieslēgšanai var izmantot lapu «about:preferences#experimental» vai iestatījumu «fission.autostart» lapā about:config.
Jaunais režīms nodrošina drošāku aizsardzību pret Spectre klases uzbrukumiem, samazina atmiņas fragmentāciju, ļauj papildu izolēt ārējo skriptu un iframe bloku saturu. Tas efektīvāk atgriež atmiņu operētājsistēmai, minimizē atkritumu savākšanas un intensīvo aprēķinu ietekmi uz citām operācijām, palielina slodzes sadales efektivitāti uz dažādiem CPU kodoliem un uzlabo stabilitāti (procesa sabrukums, kas apstrādā iframe, neietekmēs galveno vietni un citas cilnes). Cena ir kopējais atmiņas patēriņa pieaugums, kad ir atvērts liels skaits vietņu.
- Lietotājiem tiek piedāvāta papildinājums Multi-Account Containers ar kontekstu konteinera koncepciju, ko var izmantot elastīgai dažādu vietņu izolācijai. Konteiners sniedz iespēju izolēt dažādu veidu saturu bez atsevišķu profilu izveides, ļaujot atdalīt informāciju no dažādām lapu grupām. Piemēram, var izveidot atsevišķas, viena no otras izolētas jomas personiskajai saziņai, darbam, iepirkšanās un banku operācijām, vai organizēt vienlaicīgu dažādu lietotāja kontu izmantošanu vienā vietnē. Katra konteinerā tiek izmantota atsevišķa uzglabāšana Cookies, Local Storage API, indexedDB, kešatmiņā un Contents OriginAttributes. Turklāt, izmantojot Mozilla VPN katram konteineram var izmantot atšķirīgus VPN serverus.

- Ir noņemts apstiprinājuma pieprasījums operācijas laikā, iznākot no pārlūkprogrammas vai aizverot logu caur izvēlni un loga aizvēršanas pogām. T.i., kļūdains klikšķis uz pogas „[x]” loga galvenē tagad noved pie visu cilņu aizvēršanas, tostarp ar atvērtām rediģēšanas formām, bez iepriekšēja brīdinājuma. Atjaunojot sesiju, dati web veidlapās netiek zaudēti. Klaviatūras kombinācija Ctrl+Q turpina parādīt brīdinājumu. Iestatījumos šo uzvedību var mainīt (paneļa General/ sadaļa Tabs/ parametrs „Apstiprināt pirms vairāku cilņu aizvēršanas”).

- Linuxta platformām domātajās versijās grafiskām vidēm, kas izmanto X11 protokolu, pēc noklusējuma ir iekļauts jauns renderēšanas backend, kas izceļas ar EGL protokola izmantošanu grafiskas saskarnes attēlošanai, nevis GLX. Šis backend atbalsta atvērto OpenGL draiveru Mesa 21.x un proprietāro NVIDIA 470.x izmantošanu. Pašreizējie AMD proprietārie OpenGL draiveri vēl netiek atbalstīti. EGL izmantošana atrisina problēmas ar gfx draiveriem un paplašina ierīču klāstu, kuriem ir pieejama video paātrināšana un WebGL. Jaunais backend ir sagatavots, sadalot DMABUF backend, kas sākotnēji tika izveidots Wayland, un ļauj tieši attēlot kadras GPU atmiņā, kas var atspoguļoties egl framebufferī un tikt attēlotām kā tekstūra, apvienojot web lapas elementus.
- Linux versijās pēc noklusējuma ir iekļauta starplikas sistēma, kas atrisina problēmas ar starpniekbuferi Wayland bāzētajās vidēs. Ir ietvertas arī izmaiņas, kas saistītas ar uznirstošo logu (popup) apstrādi Wayland bāzētajās vidēs. Wayland prasa stingri ievērot uznirstošo logu hierarhiju, t.i., vecāku logs var izveidot bērnu logu ar popup, bet no tā izraisītais nākamais popup jāsaista ar sākotnējo bērnu logu, veidojot ķēdi. Turpretī Firefox katrs logs var radīt vairākus popup, neveidojot hierarhiju. Problēma bija tāda, ka, izmantojot Wayland, viena no popup aizvēršana prasa pārveidot visu logu ķēdi ar citiem popup, lai gan vairāku atvērto popup esamība nav retums, jo popup formātā ir realizēti ēdienkartes, uznirstošie padomi, paplašinājumu dialogi, atļauju pieprasījumi utt.
- Samazinātas izmaksas, lietojot API performance.mark() un performance.measure() ar lielu analizējamo metrikas skaitu.
- Attēlošanas uzvedība lapu ielādes procesā ir mainīta, lai uzlabotu iepriekš atvērtu lapu «siltās» ielādes veiktspēju stingrās izolācijas režīmā.
- Lapu ielādes ātruma uzlabošanai ir palielināts attēlu ielādes un attēlošanas prioritāte.
- JavaScript dzinējā nedaudz ir samazināts atmiņas patēriņš un uzlabota īpašību pārmeklēšanas veiktspēja.
- Uzlaboti atkritumu savācēja izsaukuma plānošanas procesi, kas ļāvuši samazināt lapu ielādes laiku dažos testos.
- Samazināta slodze uz CPU socketu aptaujas laikā, apstrādājot HTTPS savienojumus.
- Paātrināta glabātuves inicializācija, samazinot sākotnējās ielādes laiku, samazinot ievades/izejas operāciju skaitu galvenajā pavedienā.
- Slēdzot izstrādātāju rīkus, atbrīvots lielāks atmiņas apjoms nekā iepriekš.
- CSS noteikumā @import pievienota atbalsta funkcija layer(), kas izvada definīcijas kaskādes slānim, kas noteikts ar @layer noteikumu.
- Funkcijā structuredClone() ieviests atbalsts sarežģītu JavaScript objektu kopēšanai.
- Formām ieviests atribūts "enterkeyhint", kas ļauj noteikt uzvedību, nospiežot enter taustiņu virtuālajā tastatūrā.
- Ieviesta metode HTMLScriptElement.supports(), ar kuras palīdzību var pārbaudīt, vai pārlūkprogrammā ir atbalsts noteiktiem skriptu tipiem, piemēram, JavaScript moduļiem vai klasiskajiem skriptiem.
- Pievienota īpašība ShadowRoot.delegatesFocus, lai pārbaudītu, vai īpašums delegatesFocus ir iestatīts atsevišķā Shadow DOM.
- Windows platformā, lai novērstu traucējošus lietotāja paziņojumus par pārlūkprogrammas atjaunināšanu, tagad atjauninājumi notiek fonā aizverot. Windows 11 vidē ieviests jauns izvēlnes sistēmas atbalsts (Snap Layouts).
- macOS būvēs pilnekrāna video izmanto enerģijas taupīšanas režīmu.
- Android platformai:
- Atvieglota atgriešanās pie iepriekš apskatītā un slēgtā satura — jaunajā bāzes mājas lapā nodrošināta iespēja apskatīt nesen slēgtās cilnes, pievienotās grāmatzīmes, meklējumu vaicājumus un Pocket pakalpojuma ieteikumus.
- Nodrošināta iespēja pielāgot saturu, kas tiek rādīts mājas lapā. Piemēram, var iestatīt, lai tiktu rādīti visbiežāk apmeklēto vietņu saraksti, nesen atvērtās cilnes, nesen saglabātās grāmatzīmes, meklējumu vaicājumi un Pocket ieteikumi.
- Pievienots atbalsts ilgi neaktīvo cilņu pārvietošanai atsevišķā Inactive Tabs sadaļā, lai netraucētu galveno cilņu paneļa. Inactive Tabs tiek pārvietotas cilnes, kurām nav izsaukumu ilgāk par 2 nedēļām. Norādīto uzvedību var atspējot iestatījumos "Settings->Tabs-> Move old Tabs to inactive."
- Paplašināta heuristika ieteikumu izsniegšanai adreses laukā rakstot.

Firefox 94 ir novitātes un kļūdu labojumi, kā arī novērstas 16 ievainojamības, no kurām 10 atzītas par bīstamām. 5 ievainojamības rodas sakarā ar problēmām ar atmiņu, piemēram, bufera pārpildēm un piekļuvi jau atbrīvotām atmiņas zonām. Potenciāli šīs problēmas var novest pie ļaunprātīgas koda izpildes, atverot īpaši sagatavotas lapas.
Avots: opennet.lv





