De release van de webbrowser Firefox 108 heeft plaatsgevonden. Daarnaast is er een update voor de Long Term Support tak — 102.6.0. De Firefox 109 tak zal binnenkort in bèta-testfase gaan, met een verwachte release op 17 januari.
Belangrijkste nieuwigheden in Firefox 108:
- Er is een sneltoets Shift+ESC toegevoegd voor het snel openen van de procesbeheerpagina (about:processes), die inzicht geeft in welke processen en interne threads overmatige geheugencapaciteit en CPU verbruiken.

- De planning van de uitvoer van animatieframes onder hoge belasting is geoptimaliseerd, wat heeft geleid tot verbeterde resultaten in de MotionMark-test.
- Bij het afdrukken en opslaan van PDF-formulieren is de mogelijkheid toegevoegd om symbolen in andere talen dan het Engels te gebruiken.
- Ondersteuning voor correcte kleurcorrectie van afbeeldingen is geïmplementeerd, in overeenstemming met ICCv4 kleurprofielen.
- De modus voor het tonen van de bladwijzerbalk 'alleen op nieuwe tabbladen' (instelling 'Only show on New Tab') werkt nu correct voor lege nieuwe tabbladen.
- In about:config zijn de instellingen cookiebanners.bannerClicking.enabled en cookiebanners.service.mode toegevoegd voor automatische klikken op banners die toestemming voor cookiegebruik op websites vragen. In de interface van nachtbouwsels zijn schakelaars toegevoegd voor het beheren van de automatische klikken op cookie-banners gekoppeld aan specifieke domeinen.
- De Web MIDI API is toegevoegd, waardoor webapplicaties kunnen communiceren met MIDI-muziekapparatuur die is aangesloten op de computer van de gebruiker. De API is alleen beschikbaar voor pagina's die via HTTPS zijn geladen. Bij het aanroepen van de methode navigator.requestMIDIAccess() en bij aangesloten MIDI-apparaten verschijnt er een dialoogvenster met de vraag om de 'Site Permission Add-on' te installeren, die nodig is om toegang te krijgen (zie de beschrijving hieronder).
- Een experimentele Site Permission Add-on is voorgesteld voor het beheren van de toegang van sites tot potentieel gevaarlijke API's en mogelijkheden die uitgebreide bevoegdheden vereisen. Onder gevaarlijk worden mogelijkheden verstaan die fysieke schade aan de hardware kunnen toebrengen, onomkeerbare wijzigingen kunnen aanbrengen, kunnen worden gebruikt voor het installeren van kwaadaardige code op apparaten of kunnen leiden tot gegevenslekken over de gebruiker. Bijvoorbeeld, in de context van de Web MIDI API wordt de Permission Add-on gebruikt om toegang te verlenen tot een geluidsynthesizer die is aangesloten op de computer.
- Standaard is ondersteuning voor importkaarten ('import map') ingeschakeld, waarmee kan worden beheerd welke URL's worden geladen bij het importeren van JavaScript-bestanden via import- en import()-uitdrukkingen. De importkaart wordt gedefinieerd in JSON-formaat in een <script>-element met een nieuwe attribuut 'importmap'. Bijvoorbeeld: <script type='importmap'> { "imports": { "moment": "/node_modules/moment/src/moment.js", "lodash": "/node_modules/lodash-es/lodash.js" } } </script>
Na het verklaren van deze importkaart in de JavaScript-code kan de JavaScript-module '/node_modules/moment/src/moment.js' worden geladen en uitgevoerd met de uitdrukking 'import moment from "moment";' zonder het pad te specificeren (equivalent aan 'import moment from "/node_modules/moment/src/moment.js";').
- Het element '<source>' ondersteunt de attributen 'height' en 'width', die de hoogte en breedte van de afbeelding in pixels definiëren. De opgegeven attributen zijn alleen van toepassing wanneer het '<source>'-element is genest in het '<picture>'-element en worden genegeerd wanneer genesteld in de '<audio>' en '<video>'-elementen. Om de verwerking van 'height' en 'width' in '<source>' uit te schakelen, is de instelling 'dom.picture_source_dimension_attributes.enabled' toegevoegd aan about:config.
- In CSS is een reeks trigonometrische functies beschikbaar: sin(), cos(), tan(), asin(), acos(), atan() en atan2().
- In CSS is de functie round() geïmplementeerd voor het kiezen van een afrondingsstrategie.
- In CSS is het type <calc-constant> geïmplementeerd, waardoor bekende wiskundige constanten, zoals pi en E, evenals waarden als oneindigheid en NaN, kunnen worden gebruikt in wiskundige functies. Bijvoorbeeld, 'rotate(calc(1rad * pi))'.
- In de CSS-query ‘@container’ is experimentele ondersteuning toegevoegd voor de eenheden cqw (1% van de breedte), cqh (1% van de hoogte), cqi (1% van de inline-grootte), cqb (1% van de blokgrootte), cqmin (de kleinste waarde van cqi of cqb) en cqmax (de grootste waarde van cqi of cqb). De functionaliteit is standaard uitgeschakeld en kan worden ingeschakeld via de parameter layout.css.container-queries.enabled in about:config.
- In JavaScript is de methode Array.fromAsync toegevoegd voor het creëren van een array uit asynchroon binnenkomende gegevens.
- HTTP-header CSP (Content Security Policy) ondersteunt nu de richtlijnen 'style-src-attr', 'style-src-elem', 'script-src-attr' en 'script-src-elem', die functionaliteiten van style- en scriptrichtlijnen bieden maar dan gericht op specifieke elementen en gebeurtenishandlers, zoals onclick.
- Een nieuw evenement domContentLoaded is toegevoegd, dat wordt aangeroepen na het voltooien van de inhoudslaadcyclus.
- De .get() methode heeft de optie forceSync gekregen voor gedwongen synchronisatie.
- Een apart paneelgebied voor het plaatsen van WebExtension-widgets is gerealiseerd.
- De logica van de zwarte lijst van Linux-drivers die niet compatibel zijn met WebRender is gewijzigd. In plaats van een witte lijst met werkende drivers wordt nu een zwarte lijst van problematische drivers gehanteerd.
- De ondersteuning voor het Wayland-protocol is verbeterd. Verwerking van de omgevingsvariabele XDG_ACTIVATION_TOKEN met een activerings-token voor het xdg-activation-v1-protocol is toegevoegd, waarmee één applicatie de focus op een andere kan schakelen. Problemen bij het verplaatsen van bookmark-items met de muis zijn opgelost.
- Op de meeste Linux-systemen is animatie van de werkbalk ingeschakeld.
- In about:config is de instelling gfx.display.max-frame-rate beschikbaar gesteld om de maximale verversingssnelheid te beperken.
- Ondersteuning voor de Emoji 14-specificatie is toegevoegd.
- De WebGL-uitbreiding OES_draw_buffers_indexed is standaard ingeschakeld.
- De mogelijkheid om de GPU te gebruiken voor versnellings van Canvas2D-rasterisatie is gerealiseerd.
- Op het Windows-platform is sandbox-isolatie van processen die met de GPU interageren ingeschakeld.
- Ondersteuning voor SIMD-instructies FMA3 (vermenigvuldigen-en-optellen met enkele afronding) is toegevoegd.
- Processen die worden gebruikt voor het verwerken van achtergrondtabbladen op het Windows 11-platform worden nu uitgevoerd in de modus ‘Efficiency’, waarbij de taakplanner de uitvoerprioriteit verlaagt om het CPU-gebruik te verminderen.

- Verbeteringen in de Android-versie:
- De mogelijkheid om een webpagina op te slaan als een PDF-document is toegevoegd.
- Ondersteuning voor het groeperen van tabbladen in het paneel is gerealiseerd (tabbladen kunnen worden verplaatst nadat je een aanraakbeweging op het tabblad hebt vastgehouden).
- Er is een knop toegevoegd om alle bladwijzers uit de opgegeven sectie in nieuwe tabs of in een nieuw venster of incognito-modus te openen.
Naast nieuwe functies en bugfixes heeft Firefox 108 20 kwetsbaarheden verholpen. 16 kwetsbaarheden zijn gemarkeerd als ernstig, waarvan 14 kwetsbaarheden (vastgelegd onder CVE-2022-46879 en CVE-2022-46878) zijn veroorzaakt door problemen met geheugenbeheer, zoals buffer-overflows en toegang tot al vrijgegeven geheugengebieden. Deze problemen kunnen potentieel leiden tot de uitvoering van kwaadwillende code bij het openen van speciaal opgemaakte pagina's. Kwetsbaarheid CVE-2022-46871 heeft betrekking op het gebruik van code uit een verouderde versie van de libusrsctp-bibliotheek, die nog ongepatchte kwetsbaarheden bevat. Kwetsbaarheid CVE-2022-46872 stelt een aanvaller die toegang krijgt tot het proces van paginaverwerking in staat om de sandbox-isolatie in Linux te omzeilen en de inhoud van willekeurige bestanden te lezen door te manipuleren met IPC-berichten die verband houden met het klembord.
Bron: opennet.ru


