È stata rilasciata la versione del web browser , così come Firefox 68.4 per la piattaforma Android. Inoltre, è stata rilasciata un'update con supporto a lungo termine . A breve passerà alla fase di il ramo Firefox 73, la cui uscita è prevista per l'11 febbraio (progetto su un ciclo di 4 settimane ).
:
- Nella modalità predefinita viene applicato un blocco degli annunci indesiderati la protezione contro il tracciamento degli utenti tramite metodi di identificazione nascosta («browser fingerprinting»), che vengono realizzati tramite la lista di Disconnect.me, che include host noti per l'uso di script per l'identificazione nascosta. L'identificazione nascosta include la memorizzazione di identificatori in aree non destinate alla conservazione permanente delle informazioni («Supercookies»), oltre alla generazione di identificatori basati su dati indiretti, come , l'elenco dei tipi MIME supportati, parametri specifici negli header ( e ), l'analisi dei , la disponibilità di determinate Web API, specifiche per le schede grafiche rendering tramite WebGL e Canvas, con CSS, l'analisi delle peculiarità nell'interazione con e .
- metodi con richieste insistenti per concedere ulteriori autorizzazioni al sito (Notification.requestPermission(), PushManager.subscribe() e MediaDevices.getDisplayMedia()). Le richieste di conferma delle autorizzazioni ora non interromperanno l'uso del browser, ma porteranno solo alla visualizzazione di un indicatore nella barra degli indirizzi dopo che è stata registrata un'interazione dell'utente con la pagina (clic del mouse o pressione di tasti). Molti siti abusano della possibilità di richiesta di autorizzazioni nei browser, principalmente tramite la visualizzazione periodica di richieste di push notification. L'analisi della telemetria ha mostrato che il 97% di tali richieste viene rifiutato, incluso il 19% dei casi in cui l'utente chiude immediatamente la pagina senza fare clic sul pulsante di approvazione o rifiuto.
- sperimentale protocollo HTTP/3 (per attivarlo in about:config è necessario impostare l'opzione «network.http.http3.enabled»). Il supporto per HTTP/3 in Firefox si basa su , implementazione del protocollo QUIC (HTTP/3) scritta in Rust, client e server. uso del protocollo QUIC come trasporto per HTTP/2).
- In conformità con i requisiti della legge entrata in vigore (California Consumer Privacy Act) la possibilità di rimuovere i dati di telemetria dai server Mozilla. La rimozione dei dati avviene nel caso di rinuncia alla raccolta di telemetria nella sezione «about:preferences#privacy» («Firefox Data Collection and Use»). Deselezionando l'opzione «Allow Firefox to send technical and interaction data to Mozilla», che gestisce l'invio di telemetria, Mozilla entro 30 giorni tutti i dati raccolti fino al momento della disattivazione del trasferimento della telemetria. Tra i dati che vengono conservati sui server di Mozilla durante la raccolta della telemetria vi è l'informazione sulle prestazioni, sulla sicurezza di Firefox e sui parametri generali, come il numero di schede aperte e la durata della sessione (informazioni sui siti visitati e sulle ricerche non vengono trasmesse). Per informazioni complete sui dati raccolti, è possibile consultare la pagina «about:telemetry».
- Per Linux e macOS è stata aggiunta la possibilità di visualizzare video in modalità «picture-in-picture», che consente di staccare il video in una finestra flottante, visibile mentre si naviga nel browser. Per visualizzarlo in questa modalità, è necessario fare clic sul suggerimento a comparsa o nel menu contestuale, visualizzabile facendo clic con il tasto destro sul video, e scegliere «Picture in picture» (in YouTube, che utilizza il proprio gestore di menu contestuale, è necessario fare doppio clic con il tasto destro o cliccare tenendo premuto il tasto Shift).
- Quando viene visualizzata la barra di scorrimento il colore di sfondo della pagina corrente.
- associazione delle chiavi pubbliche (PKP, Public Key Pinning), che consente di specificare esplicitamente, tramite l'intestazione HTTP Public-Key-Pins, quali certificati di autorità di certificazione sono autorizzati per un determinato sito. La ragione data è la bassa richiesta di questa funzione e il rischio di problemi di compatibilità (supporto per PKP in Chrome) e la possibilità di bloccare il proprio sito a causa dell'associazione di chiavi errate o della perdita delle chiavi (ad esempio, cancellazione accidentale o compromissione a seguito di attacco).
- Include , disponibili in OpenBSD chiamate di sistema e per una maggiore isolamento del filesystem e dei processi.
- È stata rimossa la supporto per il blocco delle immagini da domini specifici. Il motivo dato per la rimozione è la mancanza di utilizzo da parte degli utenti e l'interfaccia poco pratica per il blocco.
- Nelle build per Windows è stata implementata una funzione sperimentale che consente l'uso di certificati client dal deposito di certificati del sistema operativo (per abilitarla in about:config è necessario attivare l'opzione security.osclientcerts.autoload).
- Il supporto per i CSS Shadow Parts è abilitato di default, inclusi l'attributo «» e il pseudo-elemento ««, che consentono di visualizzare selettivamente determinati elementi da .
<custom-element>
<p part="»example»">Un paragrafo</p>
</custom-element>… in CSS per selezionare elementi in base all'attributo part:
custom-element::part(example) {
border: solid 1px black;
border-radius: 5px;
padding: 5px;
} - Aggiunta la compatibilità con la specifica , che consente di definire il percorso di movimento degli oggetti di animazione utilizzando CSS senza l'uso di codice JavaScript e senza bloccare il processo di rendering e input durante la visualizzazione dell'animazione. Per controllare l'animazione sono presentate proprietà CSS
,
,
,
e
. - Sono state attivate per default singole proprietà CSS di trasformazione , e , non legate alla proprietà (cioè, in CSS ora è possibile specificare «scale: 2;» invece di «transform: scale(2);»).
- In JavaScript è stato implementato l'operatore logico di unione ««, che restituisce l'operando di destra se l'operando di sinistra è NULL o undefined, e viceversa. Ad esempio, «const foo = bar ?? 'string predefinita'» restituirà la stringa o il valore bar se bar è nullo, inclusi i casi in cui bar è 0 e ' ', a differenza dell'operatore «||».
- Aggiunto API e evento , che permettono di utilizzare i gestori JavaScript per aggiungere dati a un modulo nel momento dell'invio, senza dover salvare i dati in elementi input nascosti.
- API aggiornato per allinearsi alla nuova specifica, ad esempio, rinominando Coordinates in GeolocationCoordinates, Position in GeolocationPosition e
PositionError in GeolocationPositionError. - Nel debugger JavaScript supporto per punti di interruzione condizionali (), che si attivano al cambiamento o alla lettura di determinate proprietà degli oggetti.
- Avviato più rapidamente il debugger JavaScript quando sono aperte molte schede (ora si da priorità alle schede visibili).
- In Responsive Design Mode è stata realizzata la simulazione di diversi valori di meta viewport. In modalità ispezione delle pagine è stato aggiunto il simulatore dei valori «prefers-color-scheme».
- In in modalità di interpretazione JavaScript multilinea è stato aggiunto il supporto per il salvataggio e l'apertura di file tramite le combinazioni Ctrl + O e Ctrl + S.
- impostazione javascript.options.asyncstack per la visualizzazione di messaggi asincroni nella console web. Se attivata, per console.trace() e console.error() viene visualizzata l'intera traccia delle chiamate delle operazioni asincrone, consentendo di esaminare il pianificazione dell'esecuzione di timer, eventi, promise, generatori e così via.
- In modalità ispezione WebSocket è stato implementato l'analizzatore e la visualizzazione dei metadati del formato SignalR, utilizzato nei messaggi di ASP.NET Core. Sono stati inoltre aggiunti contatori che mostrano la dimensione totale dei dati inviati e ricevuti.
- Nel strumento di monitoraggio dell'attività di rete nella scheda Timings i dati sul tempo di messa in coda per il caricamento, l'inizio del caricamento e il completamento del caricamento di ciascuna risorsa.
- Nell'insieme degli strumenti per sviluppatori web è stato escluso l'ambiente , destinato a esperimenti con codice JavaScript (al posto di Scratchpad nella versione precedente è stato introdotto il modo di lavoro multilinea della console web).
Oltre alle novità e alle correzioni di bug in Firefox 72, sono stati risolti , di cui 11 (raccogliendo sotto e ) contrassegnati come potenzialmente in grado di eseguire codice maligno all'apertura di pagine appositamente progettate. Ricordiamo che i problemi di memoria, come overflow di buffer e accesso a aree di memoria già liberate, sono stati recentemente contrassegnati come pericolosi, ma non critici. Merita particolare attenzione il problema CVE-2019-17017 nel codice XPCVariant.cpp, che potrebbe anche portare all'esecuzione di codice.
Fonte: opennet.ru
