Firefox 94-browsere har nu været udgivet. Desuden er der dannet en opdatering af de langsigtede supportgrene — 91.3.0. Firefox 95-grenen er gået ind i beta-test, og udgivelsen er planlagt til den 7. december.
Hovednyhederne:
- Der er implementeret en ny tjenesteside "about:unloads", hvor brugeren kan tvinge mest ressourcekrævende faner ud af hukommelsen for at reducere hukommelsesforbruget, uden at de bliver lukket (indholdet genindlæses, når der skiftes til fanen). På siden "about:unloads" listes de aktuelle faner i prioritetsrækkefølge for udvisning ved lavt RAM-forbrug. Prioriteten i listen vælges afhængigt af adgangenstid til fanen og ikke på baggrund af ressourceforbruget. Ved at klikke på knappen Unload vil den første fane i listen blive fjernet fra hukommelsen, ved næste klik den anden osv. Det er endnu ikke muligt at vælge, hvilken fane der skal fjernes.

- Ved første opstart efter installationen af opdateringen vises et nyt interface til valg af seks sæsonbestemte farvetemaer, hvor der tilbydes tre niveauer af mørke nuancer, der påvirker visningen i mørke toner i indholdsområdet, panelerne og fanebladsskiftelinjen.

- Der er foreslået en striks isolationsmode for websites, der har udviklet sig inden for rammerne af projektet Fission. I modsætning til den anvendte tilfældige fordeling af fanebladshåndtering på det tilgængelige procespulje (som standard 8), adskiller den strikse isolationsmode behandling af hvert website i sin egen separate proces, opdelt ikke efter faner, men efter domæner (Public Suffix). Denne mode er ikke aktiveret for alle brugere; den kan slås til eller fra ved hjælp af siden "about:preferences#experimental" eller indstillingen "fission.autostart" i about:config.
Den nye tilstand giver mere pålidelig beskyttelse mod Spectre-angreb, reducerer fragmentering af hukommelse, muliggør yderligere isolering af indhold fra eksterne scripts og iframe-blokke. Den returnerer hukommelse til operativsystemet mere effektivt, minimerer påvirkningen fra affaldshåndtering og intensive beregninger på sider i andre processer, øger effektiviteten af belastningsfordeling på forskellige CPU-kerner og forbedrer stabiliteten (et crash i processen, der behandler iframes, trækker ikke hovedsitet og andre faner med sig). Omkostningen er en generel stigning i hukommelsesforbruget ved et stort antal åbne sider.
- Brugerne tilbydes en tilføjelse kaldet Multi-Account Containers, der implementerer konceptet med kontekstuelle containere, som kan bruges til fleksibel isolation af vilkårlige websteder. Containerne giver mulighed for isolering af forskellige typer indhold uden at oprette separate profiler, hvilket gør det muligt at adskille information mellem forskellige sæt af sider. For eksempel kan man oprette separate, isolerede områder til personlig kommunikation, arbejde, shopping og banktransaktioner eller organisere samtidig brug af forskellige brugerkonti på et enkelt websted. I hver container anvendes separate lagre til Cookies, Local Storage API, indexedDB, cache og indholdet af OriginAttributes. Derudover, når man bruger Mozilla, VPN kan der bruges forskellige VPN-servere for hver container.

- Anmodningen om at bekræfte operationen ved at forlade browseren eller lukke vinduet via menuen og luk-knapperne er fjernet. Dvs. et fejlagtigt klik på knappen «[x]» i vinduets overskrift fører nu til lukning af alle faner, herunder faner med åbne redigeringsformularer, uden forudgående advarsel. Efter gendannelse af sessionen går dataene i webformularerne ikke tabt. Når der trykkes på Ctrl+Q, vises advarslen stadig. Dette adfærd kan ændres i indstillingerne (fanen Generelt / sektion Faner / parameteren «Bekræft før lukning af flere faner»).

- I Linux-udgaver til grafiske miljøer, der bruger X11-protokollen, er en ny render-backend som standard aktiveret, som er bemærkelsesværdig for at bruge EGL til rendering af grafiske grænseflader i stedet for GLX. Backend'en understøtter åbne OpenGL-drivere som Mesa 21.x samt de proprietære NVIDIA 470.x-drivere. Proprietære OpenGL-drivere fra AMD understøttes endnu ikke. Brug af EGL løser problemer med gfx-drivere og udvider rækken af enheder, der kan få videoacceleration og WebGL. Den nye backend er udviklet ved at opdeles DMABUF-backend'en, som oprindeligt blev lavet til Wayland og som muliggør direkte output af frames til GPU-hukommelse, der kan reflekteres i EGL-framebufferen og gengives som tekstur når webside-elementer samles.
- I Linux-udgaver er der som standard inkluderet et lag, der løser problemer med udklipsholderen i Wayland-baserede miljøer. Ændringer relateret til behandling af popup-vinduer i Wayland-baserede miljøer er også nødvendige. Wayland kræver, at der opretholdes en streng hierarki for popup-vinduer, dvs. et overordnet vindue kan oprette et underordnet vindue med en popup, men den næste popup, der startes fra dette vindue, skal knyttes til det oprindelige underordnede vindue og danne en kæde. I Firefox kan hvert vindue generere flere popup-vinduer, der ikke danner hierarki. Problemet var, at når man bruger Wayland, kræver lukning af et af popup-vinduerne, at hele kæden af vinduer med andre popup-vinduer genopbygges, hvilket er et problem, da det ikke er ualmindeligt at have flere åbne popup-vinduer, da menuer, værktøjstip, additionsdialoger og tilladelsesanmodninger mv. implementeres som popup-vinduer.
- Omkostningerne ved brug af API'erne performance.mark() og performance.measure() er reduceret, når der analyseres et stort antal metrikker.
- Rendering-opførslen under indlæsning af sider er ændret for at forbedre præstationen ved 'varm' indlæsning af tidligere åbnede sider i en tilstand med streng isolation.
- For at fremskynde indlæsning af sider er prioritetsindlæsning og visning af billeder blevet forbedret.
- I JavaScript-motoren er hukommelsesforbruget blevet lidt reduceret, og ydeevnen ved gennemgang af egenskaber er blevet forbedret.
- Operationer med planlægning af affaldssamlers kald er forbedret, hvilket har reduceret indlæsningstiden for sider i nogle tests.
- Reduceret belastning på CPU under polling af sockets ved håndtering af HTTPS-forbindelser.
- Accelereret initialisering af lager og reduceret tid til opstart ved at forkorte ind-/udoperations i hovedtråden.
- Ved lukning af udviklerværktøjer er der frigivet mere hukommelse end før.
- I CSS-reglen @import er der tilføjet understøttelse af funktionen layer(), der outputter definitioner af gelagret lag angivet med reglen @layer.
- I funktionen structuredClone() er der implementeret understøttelse af kopi af komplekse JavaScript-objekter.
- For formularer er der implementeret attributten "enterkeyhint", som gør det muligt at definere adfærden ved tryk på Enter-tasten på det virtuelle tastatur.
- Metoden HTMLScriptElement.supports() er implementeret, så man kan kontrollere, om browseren understøtter bestemte typer scripts, såsom JavaScript-moduler eller klassiske scripts.
- Egenskaben ShadowRoot.delegatesFocus er tilføjet for at kontrollere indstillingen af egenskaben delegatesFocus i et særskilt Shadow DOM.
- På Windows-platformen opdateres browseren nu i baggrunden ved lukning uden forstyrrende brugeranmodninger til opdatering. I Windows 11-miljøet er der implementeret understøttelse af det nye menu-system (Snap Layouts).
- I macOS-builds er energibesparende tilstand aktiveret for fuldskærmsvideo.
- I versionen til Android-platformen:
- Det er blevet enklere at vende tilbage til tidligere beset og lukkede indhold — den nye grundlæggende startside giver mulighed for at se nyligt lukkede faner, gemte bogmærker, søgninger og anbefalinger fra Pocket.
- Der er tilføjet mulighed for at tilpasse det indhold, der vises på startsiden. F.eks. kan man tilpasse visningen af lister over de mest besøgte sider, nyligt åbne faner, nyligt gemte bogmærker, søgninger og Pocket-anbefalinger.
- Der er tilføjet støtte til at flytte inaktive faner til en separat sektion Inactive Tabs, så hovedfanebladet ikke bliver overfyldt. I Inactive Tabs placeres faner, der ikke har været brugt i mere end 2 uger. Denne adfærd kan deaktiveres i indstillingerne 'Settings->Tabs-> Move old Tabs to inactive.'
- Heuristikken ved udskrivning af anbefalinger under indtastning i adresseringsfeltet er blevet udvidet.

Udover nyhederne og fejlrettelserne i Firefox 94 er 16 sårbarheder blevet udbedret, hvoraf 10 er markeret som farlige. 5 sårbarheder skyldes problemer med hukommelsesstyring, som buffer-overløb og adgang til allerede frigivne hukommelseområder. Potentielt kan disse problemer føre til, at ondsindet kode kan udføres ved åbning af specielt udformede sider.
Kilde: opennet.ru





