È stato rilasciato il web browser Firefox 88. Inoltre, è stato creato un aggiornamento per la versione con supporto prolungato 78.10.0. Nella prossima fase di beta testing verrà trasferita la versione Firefox 89, il cui rilascio è previsto per il 1° giugno.
Novità principali:
- Nel visualizzatore PDF è stata aggiunta la supporto per i moduli integrati nei file PDF, in cui per garantire l'interazione con l'utente viene utilizzato JavaScript.
- È stata introdotta una limitazione sulla frequenza di richiesta di autorizzazione per accedere al microfono e alla fotocamera. Tali richieste non verranno visualizzate se, negli ultimi 50 secondi, l'utente ha già concesso accesso allo stesso dispositivo, per lo stesso sito e nella stessa scheda.
- La chiamata allo strumento per la creazione di screenshot è stata rimossa dal menu «Page Actions», visibile premendo i puntini di sospensione nella barra degli indirizzi. Per creare screenshot è consigliato richiamare lo strumento corrispondente dal menu contestuale, mostrato con il clic destro del mouse, o posizionare un collegamento nella barra attraverso l'interfaccia di personalizzazione dell'aspetto.

- Aggiunta la supporto per lo zoom con pizzicamento sui touchpad in Linux con ambienti grafici basati sul protocollo Wayland.
- Nel sistema di output di stampa è stata localizzata l'unità di misura utilizzata per impostare i margini.
- All'avvio di Firefox negli ambienti Xfce e KDE è stata attivata l'uso del motore di compositing WebRender. In Firefox 89 è previsto di abilitare WebRender per tutti gli altri utenti Linux, comprese tutte le versioni Mesa e i sistemi con driver NVIDIA (in precedenza WebRender era attivato solo per GNOME con driver Intel e AMD). WebRender è scritto in Rust e consente di ottenere un notevole incremento della velocità di rendering e una riduzione del carico sulla CPU grazie all'esternalizzazione delle operazioni di rendering del contenuto della pagina al GPU, implementate tramite shader eseguiti nel GPU. Per attivarlo forzatamente in about:config è necessario attivare l'impostazione «gfx.webrender.enabled» o avviare Firefox con la variabile d'ambiente MOZ_WEBRENDER=1.
- È iniziata l'attivazione graduale dei protocolli HTTP/3 e QUIC. Inizialmente, il supporto per HTTP/3 sarà attivato solo per una piccola percentuale di utenti e, se non si presenteranno problemi imprevisti, sarà esteso a tutti entro la fine di maggio. Per utilizzare HTTP/3 è necessaria una supporto lato client e server la stessa versione della bozza dello standard QUIC e HTTP/3, che è specificata nell'intestazione Alt-Svc (Firefox supporta le bozze della specifica dalla 27 alla 32).
- Il supporto per il protocollo FTP è disabilitato di default. L'impostazione network.ftp.enabled è impostata su false di default, e il parametro per le estensioni browserSettings.ftpProtocolEnabled è stato messo in modalità sola lettura. Nella prossima versione verrà rimosso tutto il codice relativo a FTP. La ragione indicata è la riduzione dei rischi di attacchi su un protocollo obsoleto, che ha una storia di vulnerabilità noto e problemi di manutenzione legati al supporto FTP. Si menziona anche l'eliminazione dei protocolli che non supportano la crittografia, che sono vulnerabili a modifiche e intercettazioni del traffico in transito durante attacchi MITM.
- Per bloccare possibili perdite inter-site, è stata implementata l'isolamento del valore della proprietà "window.name" dal sito principale da cui è stata aperta la pagina.
- In JavaScript, è stata aggiunta la proprietà "indices" per il risultato dell'esecuzione delle espressioni regolari, che contiene un array con le posizioni iniziali e finali dei gruppi di corrispondenza. La proprietà si popola solo quando l'espressione regolare viene eseguita con il flag "/d". let re = /quick\s(brown).+?(jumps)/igd; let result = re.exec('The Quick Brown Fox Jumps Over The Lazy Dog'); // result.indices[0] === Array [ 4, 25 ] // result.indices[1] === Array [ 10, 15 ] // result.indices[2] === Array [ 20, 25 ]
- In Intl.DisplayNames() e Intl.ListFormat() è stata rinforzata la verifica affinché le opzioni fornite al costruttore siano oggetti. Tentativi di fornire stringhe o altri primitivi genereranno eccezioni.
- Per il DOM è stato fornito un nuovo metodo statico AbortSignal.abort(), che restituisce AbortSignal, per la quale è già stato impostato il parametro aborted.
- In CSS sono stati implementati nuovi pseudo-classi ":user-valid" e ":user-invalid", che definiscono lo stato di validazione di un elemento del modulo, per il quale dopo l'interazione dell'utente con il modulo è stata eseguita la verifica della correttezza dei valori forniti. La differenza principale tra ":user-valid" e ":user-invalid" e le pseudo-classi ":valid" e ":invalid" è che la verifica inizia solo dopo che l'utente è passato a un altro elemento (ad esempio, quando è passato a un altro campo tramite tabulazione).
- La funzione CSS image-set(), che consente di selezionare un'immagine da un insieme di opzioni con diverse risoluzioni, la più adatta per i parametri attuali del display e della larghezza di banda della connessione, può ora essere utilizzata nelle proprietà CSS "content" e "cursor". h2::before { content: image-set( url("small-icon.jpg") 1x, url("large-icon.jpg") 2x); }
- Nella proprietà CSS outline è garantita la corrispondenza con il contorno impostato tramite la proprietà border-radius.
- Per macOS, il font monospazio predefinito è stato cambiato in Menlo.
- Negli strumenti per sviluppatori web, nel pannello di ispezione di rete è stato aggiunto un interruttore tra la visualizzazione delle risposte HTTP in formato JSON e in forma non modificata, come sono state trasmesse attraverso la rete.

- L'attivazione predefinita del supporto per il formato immagini AVIF (AV1 Image Format), che utilizza tecnologie di compressione intra-frame dal formato di codifica video AV1, è stata rinviata al prossimo rilascio. Nella versione Firefox 89 è inoltre previsto un aggiornamento dell'interfaccia utente e l'integrazione di una calcolatrice nella barra degli indirizzi (attivabile tramite suggest.calculator in about:config)
Oltre alle novità e alla correzione di errori, in Firefox 88 sono state risolte 17 vulnerabilità, di cui 9 contrassegnate come pericolose. 5 vulnerabilità (raggruppate sotto CVE-2021-29947) sono causate da problemi di gestione della memoria, come buffer overflow e accesso a aree di memoria già liberate. Questi problemi potrebbero potenzialmente consentire l'esecuzione di codice malevolo aprendo pagine appositamente formattate.
Fonte: opennet.ru


