È stato rilasciato il web browser Firefox 108. Inoltre, è stato creato un aggiornamento della branch con supporto a lungo termine — 102.6.0. A breve, la branch Firefox 109 entrerà in fase di beta test, con rilascio previsto per il 17 gennaio.
Novità principali in Firefox 108:
- È stata aggiunta la combinazione di tasti Shift+ESC per aprire rapidamente la pagina del gestore dei processi (about:processes), che consente di valutare quali processi e flussi interni consumano risorse di memoria e CPU in eccesso.

- Ottimizzata la pianificazione dell'uscita dei fotogrammi delle animazioni in condizioni di carico elevato, migliorando così i risultati del test MotionMark.
- In fase di stampa e salvataggio di forme PDF, è stata fornita la possibilità di utilizzare simboli in lingue diverse dall'inglese.
- Implementato il supporto per una corretta correzione del colore delle immagini, secondo i profili colore ICCv4.
- Assicurata la corretta attivazione della modalità di visualizzazione della barra delle schede "solo sulle nuove schede" (impostazione "Only show on New Tab") per le nuove schede vuote.
- In about:config sono state aggiunte le impostazioni cookiebanners.bannerClicking.enabled e cookiebanners.service.mode per il clic automatico sui banner che richiedono il consenso all'uso dei Cookie nei siti. Nell'interfaccia delle versioni notturne sono state implementate interruttori per gestire il clic automatico sui banner dei Cookie in riferimento a determinati domini.
- Aggiunto l'API Web MIDI, che consente alle applicazioni web di interagire con dispositivi musicali collegati al computer dell'utente tramite interfaccia MIDI. L'API è disponibile solo per pagine caricate tramite HTTPS. Quando si chiama il metodo navigator.requestMIDIAccess() in presenza di dispositivi MIDI collegati, viene mostrato all'utente un dialogo che propone di installare il componente aggiuntivo "Site Permission Add-on", necessario per attivare l'accesso (vedere la descrizione sotto).
- È stato proposto un meccanismo sperimentale di Site Permission Add-on per gestire l'accesso ai siti a API e funzionalità potenzialmente pericolose che richiedono privilegi avanzati. Per pericolose si intendono quelle funzionalità che possono danneggiare fisicamente l'hardware, apportare modifiche irrevocabili, essere utilizzate per installare malware sui dispositivi o portare a fughe di dati dell'utente. Ad esempio, nel contesto della API Web MIDI, l'add-on Permission Add-on viene utilizzato per fornire accesso a un dispositivo di sintesi sonora collegato al computer.
- È abilitato di default il supporto per le mappe di importazione («import map»), che consentono di gestire quali URL verranno caricati durante l'importazione di file JavaScript tramite le espressioni import e import(). La mappa di importazione è definita in formato JSON nell'elemento
Dopo aver dichiarato questa mappa di importazione nel codice JavaScript, per caricare ed eseguire il modulo JavaScript "/node_modules/moment/src/moment.js" si può utilizzare l'espressione 'import moment from "moment";' senza specificare il percorso (equivalente a 'import moment from "/node_modules/moment/src/moment.js";').
- Nell'elemento è stato implementato il supporto per gli attributi "height" e "width", che definiscono l'altezza e la larghezza dell'immagine in pixel. Gli attributi specificati funzionano solo quando l'elemento è annidato all'interno dell'elemento e vengono ignorati se annidati in elementi
- In CSS è fornito un insieme di funzioni trigonometriche sin(), cos(), tan(), asin(), acos(), atan() e atan2().
- In CSS è implementata la funzione round() per selezionare la strategia di arrotondamento.
- In CSS è stato implementato il tipo , che consente di utilizzare in funzioni matematiche costanti matematiche note, come i numeri Pi e E, così come i valori di infinito e NaN. Ad esempio, "rotate(calc(1rad * pi))".
- Nella query CSS «@container», che consente di formattare lo stile degli elementi in base alla dimensione del loro elemento padre (analogo alla query «@media», applicata non alla dimensione dell'intera area visibile, ma alla dimensione del blocco (contenitore) in cui è inserito l'elemento), è stata aggiunta la supporto sperimentale per le unità di misura cqw (1% della larghezza), cqh (1% dell'altezza), cqi (1% della dimensione in linea), cqb (1% della dimensione del blocco), cqmin (il valore minimo tra cqi e cqb) e cqmax (il valore massimo tra cqi e cqb). La funzione è disattivata per impostazione predefinita e può essere attivata tramite il parametro layout.css.container-queries.enabled in about:config.
- In JavaScript è stato aggiunto il metodo Array.fromAsync per creare un array da dati in arrivo in modo asincrono.
- Nell'intestazione HTTP CSP (Content Security Policy) è stata aggiunta la supporto per le direttive «style-src-attr», «style-src-elem», «script-src-attr» e «script-src-elem», che offrono la funzionalità delle direttive style e script, ma con la possibilità di applicarle a singoli elementi e gestori di eventi, come onclick.
- È stato aggiunto un nuovo evento domContentLoaded, che viene attivato al termine del caricamento del contenuto.
- Nel metodo .get() è stata aggiunta l'opzione forceSync per forzare la sincronizzazione.
- È stata implementata un'area separata del pannello per ospitare i widget delle estensioni WebExtension.
- È stata modificata la logica di funzionamento della lista nera dei driver Linux incompatibili con WebRender. Invece di mantenere una lista bianca con i driver funzionanti, si è passati alla gestione di una lista nera di driver problematici.
- È stato migliorato il supporto per il protocollo Wayland. È stata aggiunta la gestione della variabile d'ambiente XDG_ACTIVATION_TOKEN con il token di attivazione per il protocollo xdg-activation-v1, attraverso il quale un'applicazione può spostare il focus su un'altra. Sono stati risolti problemi che si verificavano durante lo spostamento del mouse nei segnalibri.
- Su la maggior parte dei sistemi Linux è stata attivata l'animazione del pannello.
- In about:config è stata fornita una impostazione gfx.display.max-frame-rate per limitare il massimo frame rate.
- È stato aggiunto il supporto per la specifica dei caratteri Emoji 14.
- Per impostazione predefinita è stata attivata l'estensione WebGL OES_draw_buffers_indexed.
- È stata implementata la possibilità di utilizzare la GPU per accelerare la rasterizzazione di Canvas2D.
- Sulla piattaforma Windows è stata attivata l'isolamento sandbox dei processi che interagiscono con la GPU.
- È stato aggiunto il supporto per le istruzioni SIMD FMA3 (moltiplicazione-addizione con arrotondamento singolo).
- I processi utilizzati per gestire le schede in background sulla piattaforma Windows 11 ora vengono eseguiti in modalità «Efficiency», in cui il pianificatore delle attività riduce la priorità di esecuzione per diminuire il consumo di risorse della CPU.

- Miglioramenti nella versione per Android:
- È stata aggiunta la possibilità di salvare una pagina web come documento PDF.
- È stata implementata la funzionalità di raggruppamento delle schede nella barra (le schede possono essere scambiate tenendo premuto il tocco su di esse).
- È stato fornito un pulsante per aprire tutti i segnalibri della sezione specificata in nuove schede in una nuova finestra o in modalità incognito.
Oltre alle novità e alle correzioni di bug, Firefox 108 ha risolto 20 vulnerabilità. 16 vulnerabilità sono contrassegnate come pericolose, di cui 14 (raggruppate sotto CVE-2022-46879 e CVE-2022-46878) sono causate da problemi di gestione della memoria, come overflow di buffer e accesso a aree di memoria già liberate. Questi problemi potrebbero potenzialmente portare all'esecuzione di codice dannoso aprendo pagine appositamente progettate. La vulnerabilità CVE-2022-46871 è correlata all'uso di codice da una versione obsoleta della libreria libusrsctp, che contiene vulnerabilità non corrette. La vulnerabilità CVE-2022-46872 consente a un attaccante, che ha accesso al processo di gestione delle pagine, di eludere l'isolamento sandbox su Linux e di leggere il contenuto di file arbitrari attraverso manovre con messaggi IPC collegati agli appunti.
Fonte: opennet.ru


