Firefox 148 har släppts, tillsammans med uppdateringar till tidigare långsiktiga supportgrenar – 140.8.0 och 115.33.0 (den senaste i 115.x-serien). Firefox 149, som är planerad att släppas den 24 mars, kommer att betatestas inom de närmaste timmarna.
Viktiga nya funktioner i Firefox 148 (1, 2, 3):
- Det tidigare utlovade avsnittet "AI-kontroller" för att hantera AI-användning har lagts till i inställningarna. Användare kan inaktivera alla AI-funktioner eller selektivt aktivera endast den funktionalitet de behöver. Selektiv inaktivering inkluderar AI-baserade funktioner som språköversättning, textigenkänning i bilder och skannade PDF-filer, rekommendationer och etiketter vid gruppering av flikar, generering av kort sidinnehåll vid förhandsgranskning av länkar och ett gränssnitt för att interagera med chattrobotar. Varje funktion kan aktiveras, inaktiveras eller blockeras. Blockering tar bort lokalt installerade AI-modeller och döljer gränssnittselement.

- Ett separat alternativ har lagts till i inställningarna för att aktivera oplanerad fjärrtillämpning av korrigeringar och ändringar mellan utgåvor. Tidigare var den här funktionen kopplad till att aktivera telemetri och delta i experimentell funktionstestning (Sekretess och säkerhet > Firefox-datainsamling > Installera och kör studier), men från och med Firefox 148 kan den aktiveras separat.

- Bakgrundsbilder som väljs för sidan som visas när en ny flik öppnas tillämpas nu på både standardflikar för nya flikar och containerflikar för nya flikar.
- Firefox Backup har lagts till för användare av Windows 10 och 11. Den låter dig skapa säkerhetskopior av webbläsardata, till exempel bokmärken, inställningar och lösenord. Säkerhetskopian inkluderar inte data som användaren valt att rensas när webbläsaren stängs. Den skapade säkerhetskopian kan användas för att återställa webbläsarens tillstånd efter att operativsystemet har installerats om eller på en annan dator.
- Det ursprungliga dokumentet "about:blank" är nu webbkompatibelt, genereras synkront och ersätts inte asynkront med ett andra tomt dokument som genereras av parsern när navigeringen på sidan börjar (denna ersättning kan orsaka ett kapplöpningsvillkor, vilket ibland resulterar i att ändringar som skrivits via JavaScript går förlorade direkt efter att window.open() anropats).
- Service Worker-mekanismen har uppdaterats för att stödja WebGPU API, vilket gör att WebGPU-åtgärder kan köras i bakgrunden, till exempel i tillägg eller när vanligt arbete utförs på olika flikar på samma webbplats.
- JavaScript har nu metoderna Iterator.zip() och Iterator.zipKeyed() för att kombinera flera arrayer. Dessa metoder tar flera iteratorer och bildar en ny iterator, där varje element är en array eller ett objekt med iteratorvärdena på samma position. 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}`); } // Utdata: // 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}.`); } // Skriver ut: // Caroline, 30 år, bor i New York. // Danielle, 25 år, bor i London. // Evelyn, 35 år, bor i Hong Kong.
- API:et Trusted Types har implementerats och är utformat för att skydda mot DOM-manipulationer som leder till cross-site scripting (DOM XSS). Till exempel kan felaktig bearbetning av användarlevererade data i eval()-block eller ".innerHTML"-inserts leda till att JavaScript-kod körs i samband med en specifik sida. Trusted Types kräver användning av speciella TrustedHTML-objekt istället för bara strängar i farliga anrop som element.innerHTML, document.write() och setTimeout(). TrustedHTML-objekt skapas i sin tur av utvecklarskrivna funktioner som utför datavalidering och sanering.
- Sanitizer API har lagts till, vilket ger metoder för att manipulera HTML och ta bort HTML-element från innehåll som påverkar visning och exekvering. För säker infogning av HTML-innehåll liknar element.setHTML()-metoden element.innerHTML men skyddar mot cross-site scripting (XSS). För säker HTML-parsning implementeras metoden document.parseHTML(). API:et kan vara användbart för att sanera inkommande data och ta bort HTML-taggar från den som kan användas för att utföra XSS-attacker. 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 });
- Lade till stöd för egenskapen "location.ancestorOrigins", som innehåller en lista över ursprung för alla överordnade dokumentelement som är associerade med det angivna Location-objektet. Den här egenskapen kan till exempel användas för att avgöra om ett dokument laddas via en iframe på en annan webbplats.
- Och Navigation API har uppdaterats med ett NavigationPrecommitController-objekt med en addHandler()-metod som låter dig koppla en hanterare som utlöses under navigering efter commit, när den nya URL:en redan visas i adressfältet.
- CSS-egenskapen position-try-order har lagts till. Den anger prioriteten för reservpositioner när ett element med ankarpositionering inte får plats på skärmen. Den här egenskapen är en del av CSS Anchor Positioning-uppsättningen, som låter dig styra visningen av element som är förankrade i andra elements position utan att använda JavaScript, till exempel för att koppla popover-fönster till element, vilka liknar verktygstips.
- Funktionen shape() har lagts till i CSS, vilket gör att du kan skapa former med hjälp av CSS-egenskaperna clip-path och offset-path. Funktionen shape() stöder formformningskommandon motsvarande path()-funktionen, men låter dig använda standard CSS-syntax för dem.
- Firefox för Android har ett omdesignat verktygsfält, förbättrad anpassning av verktygsfältets innehåll och ett alternativ för att snabbt kopiera den synliga texten i en länk utan att öppna sidan.
Förutom nya funktioner och buggfixar åtgärdar Firefox 148 60 sårbarheter (sex gånger fler än i föregående version). Fyrtioåtta av dessa sårbarheter orsakas av minneshanteringsproblem, såsom buffertöverskott och åtkomst till minne efter att det frigjorts. Dessa problem kan potentiellt leda till exekvering av skadlig kod när specialskapade sidor öppnas. Fem sårbarheter möjliggör kringgång av sandlådeisolering på grund av felaktig gränskontroll och heltalsöverskott i grafikkomponenten.
Källa: opennet.ru


