È stato rilasciato il browser web Firefox 88. Inoltre, è stato creato un aggiornamento per il ramo di supporto a lungo termine 78.10.0. Il ramo di Firefox 89 sarà prossimo alla fase di beta testing, con rilascio previsto per il 1° giugno.
Novità principali:
- Nel visualizzatore PDF è stata aggiunta la supporto per moduli integrati nei file PDF, in cui viene utilizzato JavaScript per un'interazione interattiva con l'utente.
- È stata introdotta una limitazione sulla frequenza di visualizzazione delle richieste di autorizzazione per accedere al microfono e alla webcam. Queste richieste non verranno mostrate se, negli ultimi 50 secondi, l'utente ha già concesso l'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 'Azioni della pagina', che viene mostrato facendo clic sui tre puntini nella barra degli indirizzi. Per creare screenshot, si consiglia di utilizzare lo strumento appropriato dal menu contestuale, visualizzato con il click destro o di posizionare un collegamento nella barra tramite l'interfaccia di impostazione dell'aspetto.

- Aggiunta la supporto per lo zoom con il pizzico sui touchpad in Linux con ambienti grafici basati su protocollo Wayland.
- Nel sistema di stampa è stata effettuata la localizzazione delle unità di misura utilizzate per definire i margini.
- All'avvio di Firefox negli ambienti Xfce e KDE è attivato l'uso del motore di composizione WebRender. In Firefox 89 si prevede di attivare WebRender per tutti gli altri utenti Linux, comprese tutte le versioni di Mesa e i sistemi con driver NVIDIA (in precedenza WebRender era attivo solo per GNOME con driver Intel e AMD). WebRender è scritto in Rust e consente un significativo aumento della velocità di rendering e una riduzione del carico sulla CPU grazie all'assegnazione al GPU delle operazioni di rendering del contenuto della pagina, implementate tramite shader eseguiti sulla GPU. Per forzarne l'attivazione in about:config, attivare l'impostazione «gfx.webrender.enabled» o avviare Firefox con la variabile d'ambiente MOZ_WEBRENDER=1.
- È iniziata l'abilitazione 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 la compatibilità da parte del client e server della stessa versione preliminare dello standard QUIC e HTTP/3, indicata nell'intestazione Alt-Svc (Firefox supporta le versioni preliminari dalla 27 alla 32).
- Il supporto per il protocollo FTP è disabilitato per impostazione predefinita. L'impostazione network.ftp.enabled è impostata su false per default, e il parametro per le estensioni browserSettings.ftpProtocolEnabled è stato impostato in modalità sola lettura. Nella prossima versione, verrà rimosso tutto il codice relativo a FTP. Il motivo di questa decisione è la riduzione dei rischi di attacchi a un protocollo obsoleto, noto per le sue vulnerabilità e per le difficoltà di manutenzione. Viene anche citata l'eliminazione dei protocolli che non supportano la crittografia, i quali sono vulnerabili a modifiche e intercettazioni del traffico durante attacchi MITM.
- Per bloccare possibili perdite incrociate tra siti, è stata garantita l'isolamento del valore della proprietà «window.name» dal sito primario da cui è stata aperta la pagina.
- In JavaScript è stata aggiunta la proprietà «indices» al risultato dell'esecuzione delle espressioni regolari, che contiene un array con le posizioni iniziali e finali dei gruppi di corrispondenza. La proprietà viene riempita 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 inasprita la verifica che le opzioni fornite al costruttore siano oggetti. Tentativi di passare stringhe o altri primitivi genereranno eccezioni.
- Per il DOM è stato fornito un nuovo metodo statico AbortSignal.abort(), che restituisce AbortSignal con il parametro aborted già impostato.
- In CSS, new pseudo-classes «:user-valid» and «:user-invalid» have been implemented to define the validation state of a form element after the user has interacted with the form and the specified values have been validated. The key difference of «:user-valid» and «:user-invalid» compared to the pseudo-classes «:valid» and «:invalid» is that the validation starts only after the user has moved to another element (for example, tabbing to another field).
- The CSS function image-set(), which allows selection of an image from a set of options with different resolutions that best suits the current screen parameters and network bandwidth, can now be used in the CSS properties «content» and «cursor». h2::before { content: image-set( url(«small-icon.jpg») 1x, url(«large-icon.jpg») 2x); }
- The CSS property outline now matches the outline set with the border-radius property.
- For macOS, the default monospace font has been changed to Menlo.
- Nagli strumenti per lo sviluppo web nella console di rete è stato aggiunto un commutatore tra la visualizzazione delle risposte HTTP in formato JSON e in formato originale, 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 del formato video AV1, è stata rinviata al rilascio successivo. Nella versione 89 di Firefox è prevista anche un'interfaccia utente aggiornata 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, Firefox 88 ha risolto 17 vulnerabilità, di cui 9 contrassegnate come pericolose. Cinque vulnerabilità (indicate come CVE-2021-29947) sono causate da problemi di gestione della memoria, inclusi i buffer overflow e l'accesso a aree di memoria già liberate. Queste problematiche potrebbero potenzialmente consentire l'esecuzione di codice dannoso aprendo pagine appositamente progettate.
Fonte: opennet.ru


