Firefox 89 er blevet frigivet. Derudover er der udgivet en opdatering af den langsigtede understøttelsesgren, version 78.11.0. Firefox 90 vil snart overgå til betatestning, og udgivelsen er planlagt til den 13. juli.
Hovednyhederne:
- Der er foretaget en betydelig modernisering af grænsefladen. Ikonerne er blevet opdateret, stilen for forskellige elementer er blevet ensartet, og farvepaletten er blevet redesignede.
- Designet af fanebladspanelet er blevet ændret — hjørnerne på fanebladsknapperne er blevet afrundede, så de ikke længere smelter sammen med panelet i bunden (flydende knap-effekt). Den visuelle opdeling af inaktive faner er fjernet, men området, der optages af knappen, fremhæves, når cursoren holdes over fanen.

- Menuen er blevet omstruktureret. Sjældent anvendte og forældede elementer er blevet fjernet fra hovedmenuen og kontekstmenuerne for at understrege de vigtigste funktioner. De resterende elementer er blevet grupperet afhængigt af vigtighed og efterspørgsel fra brugerne. I kampen mod distraherende visuelle elementer er ikonerne ved siden af menu elementerne blevet fjernet, og der er kun efterladt tekstlabels. Grænsefladen til at tilpasse panelet og værktøjer til webudviklere er blevet flyttet til en separat undermenu kaldet 'Flere værktøjer'.


- Menuen '…' (Sidehandlinger), der var indbygget i adresselinjen og gjorde det muligt at tilføje bogmærker, sende et link til Pocket, fastgøre faner, arbejde med udklipsholderen og initiere anden e-mail kommunikation, er blevet fjernet. Mulighederne fra menuen '…' er blevet flyttet til andre dele af grænsefladen, er fortsat tilgængelige i indstillingssektionen for panelet og kan placeres individuelt på panelet som knapper. For eksempel er knappen til at åbne grænsefladen for at tage skærmbilleder tilgængelig gennem kontekstmenuen, som vises ved højreklik på siden.

- Den flydende sidebjælke til at tilpasse siden er blevet redesignede med et interface, der vises ved åbning af en ny fane.

- Udseendet af informationspaneler og modale dialoger med advarsler, bekræftelser og forespørgsler er blevet ændret og ensartet med de øvrige dialoger. Dialogerne vises med afrundede hjørner og er centreret vertikalt.

- Efter opdateringen vises en skærm, der tilbyder at bruge Firefox som standardbrowser i systemet og giver mulighed for at vælge et tema. Der tilbydes følgende temaer: system (tager hensyn til systemindstillingerne ved design af vinduer, menuer og knapper), lys, mørk og Alpenglow (farverigt).





- Som standard er knappen til at aktivere den kompakte visning af paneler skjult i indstillingerne for brugergrænsefladen. For at aktivere indstillingen i about:config er der implementeret parameteren "browser.compactmode.show". For brugere, der har aktiveret den kompakte tilstand, vil parameteren blive aktiveret automatisk.
- Antallet af elementer, der forstyrrer brugerens opmærksomhed, er blevet reduceret. Unødvendige advarsler og meddelelser er blevet fjernet.
- En lommeregner er integreret i adresselinjen, hvilket muliggør beregning af matematiske udtryk i vilkårlig rækkefølge. Lommeregneren er endnu ikke aktiveret som standard og kræver ændring af indstillingen suggest.calculator i about:config. I en af de næste versioner forventes det også (allerede tilføjet i de natlige builds en-US) at have en konverter tilgængelig i adresselinjen, der gør det muligt at for eksempel konvertere fødder til meter.

- I versionerne til Linux er brugen af WebRender compositing-motoren aktiveret for alle Linux-brugere, inklusive alle skrivebordsmiljøer, alle versioner af Mesa og systemer med NVIDIA-drivere (tidligere var WebRender kun aktiveret for GNOME, KDE og Xfce med Intel- og AMD-drivere). WebRender er skrevet i Rust og muliggør en betydelig forbedring af renderingshastigheden og en reduktion af belastningen på CPU'en ved at overføre rendering af sidens indhold til GPU'en, som implementeres gennem shaders, der udføres på GPU'en. For at deaktivere WebRender i about:config kan indstillingen "gfx.webrender.enabled" bruges, eller Firefox kan startes med den miljøvariabel MOZ_WEBRENDER=0.
- Standardmetoden for total cookiebeskyttelse (Total Cookie Protection) er aktiv som standard, hvilket tidligere kun blev aktiveret ved valg af streng blokering af uønsket indhold (strict). Der bruges nu et separat isoleret lager til cookies for hver hjemmeside, hvilket forhindrer brugen af cookies til at spore bevægelser mellem hjemmesider, da alle cookies, der sættes af tredjeparts blokke, nu er knyttet til den primære hjemmeside og ikke overføres, når der tilgås disse blokke fra andre hjemmesider. Som undtagelse er muligheden for mellemwebsite overførsel af cookies dog bevaret for tjenester, der ikke er relateret til brugertracking, eksempelvis dem, der bruges til single sign-on. Information om blokkerede og tilladte mellemwebsite cookies vises i menuen, der vises ved klik på skjoldsymbolet i adresselinjen.

- Den anden version af SmartBlock-mekanismen, der er designet til at løse problemer på hjemmesider, som opstår ved blokering af eksterne scripts i privat browsing-tilstand eller ved aktivering af streng blokering af uønsket indhold (strict), er nu inkluderet. SmartBlock kan i særlig grad forbedre ydeevnen på visse hjemmesider, der er langsomme på grund af den manglende mulighed for at indlæse sporingsscripts. SmartBlock erstatter automatisk de anvendte sporingsscripts med pladsholdere, der sikrer korrekt loading af hjemmesiden. Pladsholdere er forberedt til nogle populære brugertracking-scripts, der er blevet opført på Disconnect-listen, herunder scripts med widgets fra Facebook, Twitter, Yandex, Vkontakte og Google.
- TLS-udvidelsesunderstøttelse DC (Delegated Credentials) er aktiveret for delegering af kortlivede certifikater, der løser problemet med certifikater ved adgang til hjemmesider gennem indholdsleveringsnetværk. Delegated Credentials introducerer en yderligere mellemliggende hemmelig nøgle, hvis gyldighedsperiode er begrænset til timer eller flere dage (maksimalt 7 dage). Denne nøgle genereres på baggrund af det certifikat, der er udstedt af certifikatmyndigheden, og gør det muligt at holde den hemmelige nøgle fra det oprindelige certifikat skjult for indholdsleveringstjenesterne. For at undgå problemer med adgang efter udløbet af den mellemliggende nøgles levetid er der en teknologi til automatisk opdatering, der udføres på den oprindelige TLS-server.
- En tredjeparts (ikke indfødt system) implementering af inputformular elementer som knapper, vælgere, dropdown-lister og tekstfelter (input, textarea, button, select) er præsenteret, med en mere moderne stil. Anvendelsen af separate implementeringer af formular elementer har også haft en positiv indvirkning på ydeevnen ved visning af sider.
- Muligheder for at manipulere indholdet i elementer <input> og <textarea> ved hjælp af kommandoer Document.execCommand() er blevet givet, hvilket bevarer redigeringshistorikken og uden eksplicit angivelse af egenskaben contentEditable.
- API Event Timing er implementeret for at måle hændelsesforsinkelser inden og efter hjemmesidelæsning.
- CSS-egenskaben forced-colors er tilføjet for at bestemme, om browseren anvender en brugerdefineret begrænset farvepalette på siden.
- I CSS-egenskaberne ascent-override, descent-override og line-gap-override er der tilføjet en descriptor @font-face til at overskrive skrifttemaets metrics, hvilket kan bruges til at ensrette skriftdisplayet på tværs af forskellige browsere og operativsystemer samt udelukke skift i webskriftlayoutet.
- I CSS-funktionen image-set(), som giver mulighed for at vælge et billede fra et sæt af varianter med forskellige opløsninger, der passer bedst til de aktuelle skærm- og netværksbåndbreddeparametre, er der implementeret understøttelse af funktionen type().
- I JavaScript er det som standard tilladt at bruge nøgleordet await på topniveau i moduler, hvilket muliggør en blidere integration af asynkrone kald i modulindlæsningsprocessen uden at pakke det ind i en 'async function'. For eksempel, i stedet for (async function() { await Promise.resolve(console.log('test')); }()); kan man nu skrive await Promise.resolve(console.log('test'));
- På 64-bit systemer er det tilladt at oprette ArrayBuffers med en størrelse større end 2GB (men ikke større end 8GB).
- Understøttelsen af begivenhederne DeviceProximityEvent, UserProximityEvent og DeviceLightEvent, som ikke understøttes i andre browsere, er blevet afsluttet.
- I inspektionspanelet for sider er navigationen forbedret med tastaturet i de redigerbare egenskaber for BoxModel.
- I Windows-samlinger er det visuelle udseende af kontekstmenuer forbedret, og browserens opstart er blevet hurtigere.
- I macOS-samlinger er brugen af native kontekstmenuer og rullelister implementeret. Der er tilføjet support for overscroll-effekt, der signalerer, at siden er nået til bunden. Der er tilføjet support for smart zoom, aktiveret ved dobbeltklik. Der er tilføjet støtte til mørkt tema. Problemer med farveforskelle i CSS og billeder er blevet løst. I fuldskærmstilstand er muligheden for at skjule paneler tilgængelig.
Ud over nyheder og fejlrettelser i Firefox 89 er 16 sårbarheder blevet rettet, hvoraf 6 er markeret som kritiske. 5 sårbarheder (samlet under CVE-2021-29967) skyldes problemer med hukommelse, såsom bufferoverløb og adgang til allerede frigivne hukommelsesområder. Disse problemer kan potentielt føre til, at ondsindet kode eksekveres, når der åbnes specielt designede sider.
Kilde: opennet.ru













