È stato rilasciato il web browser Firefox 121 e creato un aggiornamento della branch a lungo termine — 115.6.0. La branch Firefox 122 è entrata nella fase di beta testing, il cui rilascio è programmato per il 23 gennaio.
Novità principali in Firefox 121:
- In Linux è attivato di default l'uso del compositing server Wayland invece di XWayland, il che ha risolto i problemi con il funzionamento del touchpad, il supporto dei gesti sugli schermi touch e la regolazione del DPI per ciascun monitor negli ambienti basati su Wayland. L'uso di Wayland dimostra anche un aumento delle prestazioni nella grafica. Tuttavia, a causa delle limitazioni del protocollo Wayland, ci sono problemi con la visualizzazione dell'overlay "picture in picture" in primo piano.
- Nelle impostazioni, nella sezione Generale/Browsing è stata aggiunta un'opzione per forzare l'attivazione della sottolineatura dei link, indipendentemente dalle impostazioni CSS sul 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 aggiunte durante la modifica del PDF.

- Sulla piattaforma Windows è stata implementata una richiesta per installare il pacchetto AV1 Video Extension, che consente l'accelerazione hardware per la decodifica del video nel formato AV1.
- Sulla piattaforma macOS è stato aggiunto il supporto per il controllo tramite comandi vocali.
- È stato aggiunto il supporto per il caricamento lazy degli iframe, che consente di non caricare i contenuti al di fuori dell'area visibile fino a quando l'utente non scorre la pagina nel punto immediatamente precedente all'elemento. Per gestire il caricamento lazy delle pagine, è stato aggiunto all'elemento "iframe" l'attributo "loading", che può assumere il valore "lazy" (). Il caricamento lazy contribuirà a ridurre l'uso della memoria, diminuire il traffico e aumentare la velocità di apertura iniziale delle pagine.
- Aggiunto il pseudo-classe CSS «:has()» per controllare la presenza di un elemento figlio in un elemento padre. 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” e “each-line”, che semplificano la formattazione degli stili dei paragrafi, ad esempio, con bibliografie e poesie. È inoltre consentita la combinazione di più parametri text-indent in un'unica espressione, ad esempio “text-indent: 3em hanging each-line”.
- Nella proprietà CSS text-wrap sono stati aggiunti i parametri: «balance» (che consente di migliorare la uniformità nella formattazione di blocchi di testo multilinea, come titoli lunghi) e «stable» (che impedisce la riformattazione del contenuto durante la sua modifica).
- Nella funzione Date.parse() è stato aggiunto il supporto per formati aggiuntivi, come MMM-DD-YYYY, la specifica dei millisecondi, l'indicazione 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 callback resolve e reject per definire i gestori che risolvono o rifiutano le definizioni di Promise, 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), riducendo l'uso di memoria nello stack, migliorando le prestazioni e supportando meglio 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 impostare priorità separate per l'invio e la ricezione in flussi bidirezionali.
- Negli strumenti per sviluppatori web è stato lavorato per migliorare l'accessibilità per le persone con disabilità, ad esempio, è stato uniformato e aumentato l'indicatore di messa a fuoco in diversi strumenti. Nell'editor JavaScript integrato è stata aggiunta l'opzione «Pause on debugger statement» per disattivare il debugger.

- Nella versione per Android sono state risolte le chiusure improvvise che si verificavano durante la copia negli appunti e la visualizzazione di notifiche a schermo intero. Risolti anche problemi di rendering sugli smartphone Google Pixel 8 e Samsung Galaxy S22. È stato attivato il catalogo delle estensioni. In modalità di navigazione in incognito è stata implementata la blocco dei Cookie di terze parti e l'accesso allo spazio di archiviazione locale. In modalità di personalizzazione della Protezione Avanzata del Tracciamento è stata attivata la blocco del codice per il monitoraggio dei movimenti utilizzato nei social network.
Oltre alle novità e alle correzioni di bug, Firefox 121 ha risolto 27 vulnerabilità. 13 vulnerabilità (11 riunite 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 portare all'esecuzione di codice dannoso aprendo pagine appositamente create. Un'altra vulnerabilità pericolosa (CVE-2023-6135) è legata alla suscettibilità della libreria NSS all'attacco
Fonte: opennet.ru



