È stato rilasciato il browser web Firefox 87. Inoltre, è stata creata una nuova versione della filiale con supporto a lungo termine 78.9.0. La filiale Firefox 88 è stata portata alla fase di beta testing, il cui rilascio è previsto per il 20 aprile.
Novità principali:
- Utilizzando la funzione di ricerca e attivando la modalità evidenziazione di tutte le corrispondenze trovate (Highlight All), ora vengono visualizzate etichette sulla barra di scorrimento per indicare la posizione delle chiavi trovate.

- Rimossi gli elementi raramente utilizzati dal menu Library. Nel menu Library sono rimasti solo i collegamenti a segnalibri, cronologia e download (rimosse le schede sincronizzate, i segnalibri recenti e l'elenco Pocket). Nello screenshot qui sotto a sinistra si vede come era, a destra — come è diventato in Firefox 87:


- Il menu Web Developer è stato notevolmente semplificato: i collegamenti separati agli strumenti (Inspector, Web Console, Debugger, Network Style Error, Performance, Storage Inspector, Accessibility e Application) sono stati sostituiti da un'unica voce Web Developer Tools.


- Il menu Aiuto è stato semplificato, rimuovendo i collegamenti alle pagine di supporto, alle combinazioni di tasti e al tour introduttivo, che ora sono disponibili in una pagina generale Get Help. Rimosso il pulsante per importare da un altro browser.
- È stato aggiunto il meccanismo SmartBlock, che risolve i problemi sui siti che si verificano a causa del blocco degli script esterni in modalità di navigazione privata o con l'attivazione del blocco avanzato dei contenuti indesiderati (strict). Inoltre, SmartBlock consente di migliorare notevolmente le prestazioni di alcuni siti, che rallentano a causa dell'impossibilità di caricare il codice degli script di tracciamento. SmartBlock sostituisce automaticamente gli script di tracciamento con degli stub che garantiscono il caricamento corretto del sito. Gli stub sono stati preparati per alcuni script di tracciamento degli utenti popolari, inseriti nella lista Disconnect, inclusi gli script con i widget di Facebook, Twitter, Yandex, Vkontakte e Google.
- Il gestore del tasto Backspace è disattivato per impostazione predefinita al di fuori del contesto dei moduli di input. La rimozione del gestore è dovuta al fatto che il tasto Backspace viene utilizzato attivamente durante la digitazione nei moduli, ma al di fuori del focus su un modulo di input viene interpretato come un passaggio alla pagina precedente, il che può portare alla perdita di testo digitato a causa di un trasferimento non intenzionale su un'altra pagina. Per ripristinare il comportamento precedente, è stata aggiunta l'opzione browser.backspace_action in about:config.
- È stato modificato il formato dell'intestazione HTTP Referer. Per impostazione predefinita è stata attivata la politica «strict-origin-when-cross-origin», che implica la rimozione dei percorsi e dei parametri quando si invia una richiesta a host diversi tramite HTTPS, l'eliminazione del Referer quando si passa da HTTPS a HTTP e la trasmissione del Referer completo per i collegamenti interni all'interno dello stesso sito. Questa modifica si applicherà alle normali richieste di navigazione (passaggi tramite link), ai reindirizzamenti automatici e al caricamento di risorse esterne (immagini, CSS, script). Ad esempio, quando si fa clic su un link verso un altro sito tramite HTTPS, invece di «Referer: https://www.example.com/percorso/?argomenti» ora viene inviato «Referer: https://www.example.com/».
- Per una piccola percentuale di utenti è stata attivata la modalità Fission, con l'implementazione di un'architettura multi-processo modernizzata per un isolamento più rigoroso delle pagine. Con Fission attivo, le pagine di siti diversi vengono sempre memorizzate in processi diversi, ognuno dei quali utilizza una propria sandbox isolata. La separazione avviene non per schede, ma per domini, consentendo di isolare ulteriormente il contenuto di script esterni e iframe. È possibile attivare manualmente la modalità Fission nella pagina about:preferences#experimental o tramite la variabile «fission.autostart=true» in about:config. È possibile verificare l'attivazione nella pagina about:support.
- È stata rimossa l'implementazione sperimentale del meccanismo di apertura rapida delle connessioni TCP (TFO — TCP Fast Open, RFC 7413), che consente di ridurre il numero di passaggi nella creazione della connessione combinando in una sola richiesta i primi due passi del classico processo di handshaking a 3 fasi e consente l'invio di dati nelle fasi iniziali della creazione della connessione. Per impostazione predefinita, la modalità TCP Fast Open era disattivata e richiedeva la modifica di about:config per essere attivata (network.tcp.tcp_fastopen_enable).
- In conformità con le modifiche apportate alle specifiche, è stata interrotta l'inclusione dell'elemento nei controlli che utilizzano i pseudoclassi «:link», «:visited» e «:any-link».
- Sono stati rimossi i valori non standard per il parametro CSS caption-side — left, right, top-outside e bottom-outside (è prevista la possibilità di reinserirli tramite la configurazione layout.css.caption-side-non-standard.enabled).
- Sono abilitati per impostazione predefinita l'evento «beforeinput» e il metodo getTargetRanges(), che consentono alle web app di sovrascrivere il comportamento di modifica del testo prima che il browser modifichi l'albero DOM e di ottenere un maggiore controllo sugli eventi di input. L'evento «beforeinput» viene inviato all'handler o a un altro elemento con l'attributo «contenteditable» prima che il valore dell'elemento venga modificato. Il metodo getTargetRanges(), fornito dall'oggetto inputEvent, restituisce un array di valori che consentono di determinare quale parte del DOM verrà modificata, se l'evento di input non viene annullato.
- Per gli sviluppatori web nella modalità di ispezione delle pagine è stata implementata la possibilità di simulare le media query «prefers-color-scheme» per testare le interfacce scure e chiare senza dover cambiare il tema dell'intero sistema operativo. Per attivare la simulazione del tema scuro e chiaro, sono stati aggiunti in alto a destra nella barra degli strumenti per gli sviluppatori web pulsanti con l'immagine del sole e della luna.
- Nella modalità di ispezione è stata aggiunta la possibilità di attivare il pseudo-classe «:target» per l'elemento selezionato, analogamente alle precedenti pseudo-classi supportate «:hover», «:active», «:focus», «:focus-within», «:focus-visible» e «:visited».

- Nella modalità di ispezione CSS è migliorato il trattamento delle regole CSS non attive. In particolare, la proprietà «table-layout» diventa ora inattiva per gli elementi che non sono tabelle, e le proprietà «scroll-padding-*» sono contrassegnate come inattive per elementi che non supportano lo scrolling. È stata rimossa la segnalazione erronea delle proprietà «text-overflow» per alcuni valori.
Oltre alle novità e alla correzione di bug, in Firefox 87 sono state risolte 12 vulnerabilità, di cui 7 contrassegnate come pericolose. 6 vulnerabilità (catalogate come CVE-2021-23988 e CVE-2021-23987) sono causate da problemi di gestione della memoria, come buffer overflow e accesso a aree di memoria già liberate. Questi problemi possono potenzialmente consentire l'esecuzione di codice da parte di un aggressore all'apertura di pagine appositamente progettate.
La versione di Firefox 88, entrata in fase di beta testing, si distingue per il supporto allo zoom con pinch sui touchpad in Linux con ambienti grafici basati sul protocollo Wayland e per l'attivazione predefinita del supporto per il formato delle immagini AVIF (AV1 Image Format), che utilizza tecnologie di compressione intra-frame dal formato di codifica video AV1.
Fonte: opennet.ru






