È stato rilasciato il browser web Firefox 87. Inoltre, è stato creato un aggiornamento per il ramo con supporto a lungo termine 78.9.0. La versione beta del ramo Firefox 88 è stata avviata, il cui rilascio è previsto per il 20 aprile.
Novità principali:
- Utilizzando la funzione di ricerca e attivando la modalità di evidenziazione di tutte le corrispondenze trovate (Highlight All), ora vengono visualizzati dei segnaposto sulla barra di scorrimento per indicare la posizione delle chiavi trovate.

- Elementi poco utilizzati sono stati rimossi dal menu Library. Nel menu Library sono rimasti solo i collegamenti ai segnalibri, alla cronologia e ai download (rimossi i tab sincronizzati, i segnalibri recenti e l'elenco Pocket). Nello screenshot qui sotto, a sinistra c'è la condizione com'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 con un'unica voce, Web Developer Tools.


- Il menu Help è stato semplificato, rimuovendo i collegamenti a pagine di supporto, combinazioni di tasti e tour di orientamento, ora disponibili su una pagina comune, Get Help. È stato rimosso il pulsante per importare da un altro browser.
- È stato aggiunto il meccanismo SmartBlock, che risolve i problemi sui siti web causati dal blocco degli script esterni in modalità di navigazione privata o quando è attivato il blocco avanzato dei contenuti indesiderati (strict). In particolare, 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 dei segnaposto, garantendo un caricamento corretto del sito. I segnaposto sono preparati per alcuni script di tracciamento utenti popolari, inclusi nella lista di Disconnect, compresi gli script con widget di Facebook, Twitter, Yandex, Vkontakte e Google.
- Il gestore del tasto Backspace è disabilitato per impostazione predefinita al di fuori del contesto dei moduli di input. La rimozione del gestore è dovuta al fatto che il tasto Backspace è utilizzato attivamente nella digitazione nei moduli, ma al di fuori del focus del modulo viene trattato come un passaggio alla pagina precedente, il che può comportare la perdita di testo digitato a causa di un movimento involontario verso un'altra pagina. Per ripristinare il comportamento precedente, è stata aggiunta un'opzione browser.backspace_action in about:config.
- È stato modificato il modo di generare l'intestazione HTTP Referer. Per impostazione predefinita, è stata impostata la politica "strict-origin-when-cross-origin", che prevede la rimozione di percorsi e parametri quando si invia una richiesta a host diversi tramite HTTPS, la rimozione del Referer quando si passa da HTTPS a HTTP e la trasmissione del Referer completo per i passaggi interni all'interno dello stesso sito. La modifica sarà effettiva per le richieste di navigazione normali (clic su link), i reindirizzamenti automatici e durante il caricamento di risorse esterne (immagini, CSS, script). Ad esempio, quando si fa clic su un link a un altro sito tramite HTTPS, invece di "Referer: https://www.example.com/path/?arguments", ora viene inviato "Referer: https://www.example.com/".
- Per un piccolo numero di utenti è attivata la modalità Fission, che implementa un'architettura multithread modernizzata per un'isolamento più rigoroso delle pagine. Quando Fission è attivato, le pagine di siti diversi vengono sempre caricate in memoria in processi separati, ognuno dei quali utilizza un proprio sandbox isolato. In questo modo, la separazione dei processi avviene non per schede, ma per domini, consentendo di isolare ulteriormente i contenuti di script esterni e blocchi iframe. È possibile attivare manualmente la modalità Fission nella pagina about:preferences#experimental o tramite la variabile «fission.autostart=true» in about:config. Per verificare se è attivato, si può consultare la pagina about:support.
- È stata rimossa l'implementazione sperimentale del meccanismo TCP Fast Open (TFO — RFC 7413), che consente di ridurre il numero di passaggi per stabilire una connessione combinando in una sola richiesta il primo e il secondo passaggio del classico processo di stretta di mano in tre fasi, permettendo così l'invio di dati nella fase iniziale della connessione. Per impostazione predefinita, la modalità TCP Fast Open era disattivata e richiedeva una modifica in about:config per essere attivata (network.tcp.tcp_fastopen_enable).
- In conformità con le modifiche apportate alle specifiche, è stato interrotto il controllo degli elementi <link> utilizzando i pseudo-classi «:link», «:visited» e «:any-link».
- Sono stati rimossi i valori non standard del parametro CSS caption-side — left, right, top-outside e bottom-outside (è disponibile un'impostazione per ripristinarli: layout.css.caption-side-non-standard.enabled).
- Per impostazione predefinita, l'evento «beforeinput» e il metodo getTargetRanges() sono attivi, consentendo alle web app di sovrascrivere il comportamento durante la modifica del testo prima che il browser cambi l'albero DOM, ottenendo un maggiore controllo sugli eventi di input. L'evento «beforeinput» viene inviato all'handler <input> o a un altro elemento con l'attributo «contenteditable» impostato, prima che il valore dell'elemento venga modificato. Il metodo getTargetRanges(), fornito dall'oggetto inputEvent, restituisce un array con valori che indicano 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 il tema scuro e chiaro senza cambiare il tema nell'operating system. Per attivare la simulazione del tema scuro e chiaro, sono stati aggiunti nella parte superiore destra della barra degli strumenti per gli sviluppatori web dei pulsanti con le immagini del sole e della luna.
- Nella modalità ispezione è stata aggiunta la possibilità di attivare la pseudo-classe «:target» per l'elemento selezionato, analogamente alle pseudo-classi precedentemente supportate «:hover», «:active», «:focus», «:focus-within», «:focus-visible» e «:visited».

- Nella modalità ispezione CSS è stata migliorata la gestione delle regole CSS inattive. In particolare, la proprietà «table-layout» ora diventa inattiva per gli elementi che non sono tabelle, mentre le proprietà «scroll-padding-*» sono contrassegnate come inattive per gli elementi che non supportano lo scorrimento. È stata rimossa la marcatura errata delle proprietà «text-overflow» per alcuni valori.
Oltre alle novità e alla correzione di bug, in Firefox 87 sono state eliminate 12 vulnerabilità, delle quali 7 contrassegnate come pericolose. 6 vulnerabilità (raggruppate sotto 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. Potenzialmente, questi problemi possono portare all'esecuzione di codice malevolo all'apertura di pagine appositamente create.
La versione in fase di beta testing di Firefox 88 si distingue per il supporto del pinch-to-zoom sui touchpad in Linux con ambienti grafici basati sul protocollo Wayland e per l'attivazione predefinita del supporto per il formato immagine AVIF (AV1 Image Format), che utilizza tecnologie di compressione intra-frame dal formato di codifica video AV1.
Fonte: opennet.ru






