È stata rilasciata la versione del browser web Firefox 121 e generato un aggiornamento per la branch con supporto a lungo termine — 115.6.0. La branch Firefox 122 è entrata in fase di beta testing, con rilascio previsto per il 23 gennaio.
Novità principali in Firefox 121:
- Su Linux, è abilitato per impostazione predefinita l'uso del compositore server Wayland invece di XWayland, il che ha risolto i problemi relativi al funzionamento del touchpad, al supporto dei gesti su schermi touchscreen e all'impostazione del DPI per ogni monitor in ambienti basati su Wayland. L'uso di Wayland mostra anche un aumento delle prestazioni nella gestione della grafica. Tuttavia, a causa delle limitazioni del protocollo Wayland, ci sono problemi con la visualizzazione della finestra "picture-in-picture" in primo piano.
- Nelle impostazioni, nella sezione Generale / Navigazione, è stata aggiunta un'opzione per forzare l'attivazione della sottolineatura dei link, indipendentemente dalle impostazioni CSS del sito (può essere utile per le persone con problemi di percezione dei colori).

- Nel visualizzatore PDF è stata implementata la visualizzazione di un pulsante galleggiante con un cestino per eliminare disegni, testo e immagini aggiunti durante la modifica del PDF.

- Sulla piattaforma Windows è stata implementata la richiesta per l'installazione del pacchetto AV1 Video Extension, che abilita l'accelerazione hardware per la decodifica di video in formato AV1.
- Sulla piattaforma macOS è stata aggiunta la funzionalità di controllo tramite comandi vocali.
- È stata introdotta la possibilità di caricamento differito per i blocchi iframe, che impedisce il caricamento dei contenuti non visibili fino a quando l'utente non scorre la pagina verso il punto immediatamente precedente all'elemento. Per gestire il caricamento differito nelle pagine, è stato aggiunto l'attributo «loading» al tag «iframe», che può assumere il valore «lazy» (). Questo caricamento differito ridurrà il consumo di memoria, diminuirò il traffico e accelererà i tempi di apertura iniziale delle pagine.
- Aggiunto il pseudo-classe CSS «:has()» per controllare la presenza di un elemento figlio in un genitore. Ad esempio, «p:has(span)» include gli elementi <p>, all'interno dei quali è presente un elemento <span>.
- Nella proprietà CSS text-indent sono stati aggiunti i parametri «hanging» ed «each-line», semplificando la formattazione degli stili dei paragrafi, ad esempio per bibliografie e poesie. È anche consentita la combinazione di più parametri text-indent in un'unica dichiarazione, come «text-indent: 3em hanging each-line».
- Nella proprietà CSS text-wrap sono stati aggiunti i parametri: «balance» (per migliorare la formattazione uniforme dei blocchi di testo multilinea, come i titoli lunghi) e «stable» (che vieta la riformattazione del contenuto durante la sua modifica).
- Nella funzione Date.parse() è stato aggiunto il supporto per formati aggiuntivi, come MMM-DD-YYYY, l'indicazione dei millisecondi, la specifica del giorno della settimana prima della data («Wed, 1970-01-01») e l'ignoranza degli errori di scrittura del giorno della settimana («foo 1970-01-01»).
- È stato aggiunto il metodo statico Promise.withResolvers(), che consente di utilizzare funzioni di callback resolve e reject per impostare gestori che risolvono o rifiutano le promesse dopo la loro creazione.
- In WebAssembly è stato aggiunto il supporto per le istruzioni return_call e return_call_indirect per ottimizzare la ricorsione di coda (tail-call), permettendo di ridurre il consumo di memoria nello stack, migliorare le prestazioni e migliorare il supporto per i linguaggi di programmazione funzionali.
- Nell'API WebTransport, destinata all'invio e alla ricezione di dati tra il browser e server, è stata aggiunta la proprietà sendOrder, che consente di assegnare priorità separate per l'invio e la ricezione nei flussi bidirezionali.
- Nella suite degli strumenti per gli sviluppatori web è stato effettuato un miglioramento dell'accessibilità per le persone con disabilità, ad esempio, l'indicatore di messa a fuoco è stato uniformato e ampliato in vari strumenti. È stata aggiunta un'opzione "Pause on debugger statement" nel debugger JavaScript integrato per disattivare il debugger.

- Nella versione per Android sono stati risolti i crash che si verificavano durante la copia negli appunti e nella visualizzazione di notifiche a schermo intero. Risolti anche i problemi di rendering sugli smartphone Google Pixel 8 e Samsung Galaxy S22. È stato implementato un catalogo di estensioni. In modalità di navigazione privata è garantita la blocco dei cookie di terze parti e l'accesso allo storage locale. In modalità di configurazione manuale, l'Enhanced Tracking Protection attiva il blocco del codice di tracciamento utilizzato sui social media.
Oltre alle novità e alla correzione di bug, Firefox 121 ha risolto 27 vulnerabilità. 13 di esse (11 consolidate sotto CVE-2023-6864 e CVE-2023-6873), contrassegnate come pericolose, sono causate da problemi di gestione della memoria, come overflow di buffer e accesso a aree di memoria già liberate. Questi problemi potrebbero potenzialmente consentire l'esecuzione di codice dannoso aprendo pagine appositamente create. Un'altra vulnerabilità pericolosa (CVE-2023-6135) è legata alla vulnerabilità della libreria NSS all'attacco “Minerva”, che permette di ricreare una chiave privata analizzando dati da canali esterni.
Fonte: opennet.ru



