È stata rilasciata la versione del browser web Firefox 144 e sono stati forniti aggiornamenti per le versioni precedenti con supporto a lungo termine — 140.4.0 e 115.29.0. La versione Firefox 145 è passata alla fase di beta testing, con rilascio previsto per l'11 novembre.
Novità principali in Firefox 144 (1, 2, 3):
- Per tutti gli utenti è attivato un nuovo sistema di gestione dei profili. Nella forma dei profili, l'utente può creare sessioni di lavoro con il browser completamente indipendenti, con le proprie impostazioni, cronologia, segnalibri, estensioni e database interni. Ogni profilo è memorizzato in una sottocartella separata «~/.mozilla/firefox/». A un profilo possono essere assegnati un proprio schema di colori, icona e nome. Il passaggio tra profili e la creazione di nuovi profili avviene tramite una nuova sezione mostrata nella parte superiore del menu principale.
La tecnologia di separazione delle sessioni è simile ai vecchi profili, che venivano attivati tramite la riga di comando con l’opzione «-P», ma le interfacce e le liste dei profili del vecchio e del nuovo sistema non si sovrappongono (nel vecchio interface, avviato con il comando «firefox --ProfileManager», non vengono mostrati i nuovi profili, e nel nuovo, accessibile tramite il menu, non vengono mostrati i vecchi).

- È stata introdotta la possibilità di mantenere visibile la scheda attiva mentre si riducono le altre schede in un gruppo (è possibile lavorare su una singola scheda senza espandere l'intero gruppo).

- È stata aggiunta la supporto per spostare una scheda con il mouse in un gruppo ridotto senza espandere automaticamente il gruppo.

- È stata fornita la possibilità di chiudere la finestra di un video visualizzato in modalità «immagine nell'immagine» (Picture-in-Picture), senza interrompere la riproduzione del video (il video continuerà immediatamente a essere riprodotto nella finestra principale). La chiusura senza interruzione avviene cliccando sul pulsante di chiusura della finestra tenendo premuto il tasto Shift o premendo la combinazione di tasti Shift + Esc.
- Per la crittografia degli account salvati nel gestore di password integrato, è stato utilizzato l'algoritmo AES-256-CBC. In precedenza, l'algoritmo AES-256-CBC veniva applicato solo per la crittografia end-to-end degli account in Firefox Sync, ma sul disco locale i dati venivano crittografati utilizzando l'algoritmo obsoleto 3DES-CBC.
- Nel menu contestuale, mostrato con un clic destro sull'immagine, è stata aggiunta un'opzione per cercare con Google Lens. Con Google Lens è possibile effettuare operazioni come la ricerca di prodotti e oggetti simili, oltre a copiare, tradurre e cercare testo mostrato nell'immagine. Questa funzione è disponibile solo selezionando Google come motore di ricerca principale.
- È stata fornita la possibilità di inviare richieste al servizio di ricerca Perplexity tramite la barra degli indirizzi, utilizzando l'IA per generare risposte a domande poste in linguaggio naturale.
- Sulla piattaforma Windows, quando si aprono link da altre applicazioni, Firefox ora utilizza la finestra esistente sul desktop virtuale corrente o crea una nuova finestra in assenza di essa (ma non cambia desktop virtuali).
- Negli strumenti per sviluppatori web è stata implementata la possibilità di passare alle definizioni delle proprie proprietà CSS dalle funzioni var(), mostrate nella pagina di ispezione degli stili. Nelle suggerimenti che si sovrappongono nella pagina di ispezione, è fornita una chiara separazione tra eventi incorporati e personalizzati.
- È stato aggiunto l'API Element.moveBefore per spostare un elemento nell'albero DOM senza ripristinare il suo stato.
- Nella proprietà CSS math-shift è stata implementata la supporto per il valore «compatto», che include la rappresentazione compatta degli indici in soprano nelle formule MathML.
- Nell'API PerformanceEventTiming, che consente di ottenere ulteriori informazioni per la misurazione e l'ottimizzazione della reattività dell'interfaccia, è stato aggiunto l'attributo InteractionID con l'identificativo dell'interazione dell'utente. Questo identificatori permette di collegare diverse metriche a un'unica azione dell'utente; ad esempio, quando si tocca lo schermo tattile, vengono generati più eventi, come pointerdown, mousedown, pointerup, mouseup e click, e l'InteractionID consente di associare tutti questi eventi a un unico tocco.
- Sono stati implementati gli attributi HTML "command" e "commandfor", che possono essere utilizzati nei pulsanti al posto degli attributi "popovertargetaction" e "popovertarget" per la configurazione dichiarativa delle interazioni con il menu che viene richiamato al clic del pulsante. Con l'uso dei nuovi attributi, tutta la logica per l'interazione con il menu è gestita dal browser, senza la necessità di connettere gestori personalizzati in JavaScript. Ad esempio, per creare un menu a discesa è sufficiente specificare: <button commandfor="»my-menu»" command="»show-popover»">Apri Menu</button> <div popover id="»my-menu»"> … </div>
- È stata aggiunta la supporto per l'API View Transitions, destinata a creare effetti di animazione durante il passaggio tra diversi stati del DOM (ad esempio, una transizione fluida da un'immagine a un'altra) o passare da una pagina all'altra all'interno dello stesso sito.
- È stata fornita la possibilità di utilizzare il disegno al momento della rendering dei gradienti, impostati tramite le proprietà CSS linear-gradient, conic-gradient e radial-gradient, utilizzando WebRender accelerato dall'hardware.
- Negli oggetti Map e WeakMap è stata implementata la specifica «upsert», che semplifica il lavoro con le collezioni di coppie chiave/valore. Sono stati aggiunti i metodi getOrInsert e getOrInsertComputed, che restituiscono il valore già presente nella collezione associato alla chiave specificata o creano una nuova voce se la chiave non è stata trovata.
- Nell'API ScreenOrientation sono stati aggiunti i metodi lock() e unlock() per bloccare l'orientamento dello schermo su tablet con Windows e Android.
- È stata aggiunta la supporto per il trasferimento di oggetti RTCDataChannel all'interno di un messaggio WebWorker.
- Nel metodo getUserMedia è stato aggiunto il parametro resizeMode, che consente di utilizzare il ritaglio e lo zoom durante la cattura video dalla fotocamera.
- Nell'API WebGPU è stato aggiunto il metodo GPUDevice.importExternalTexture per importare una texture da un oggetto HTMLVideoElement o VideoFrame.
- In Firefox per Android è stato aggiunto un indicatore di traduzione automatica, che consente di valutare lo stato del processo di traduzione della pagina (se l'intera pagina è stata tradotta o meno). Firefox è ora disponibile per l'installazione dal catalogo di app Huawei AppGallery. Sono stati aumentati i requisiti di versione della piattaforma — per funzionare è necessario almeno Android 8.
Oltre alle nuove funzionalità e alle correzioni di bug in Firefox 144, sono state risolte 24 vulnerabilità. 16 vulnerabilità sono causate da problemi di gestione della memoria, come buffer overflow e accesso a aree di memoria già liberate. Questi problemi potrebbero potenzialmente consentire l'esecuzione di codice malevolo aprendo pagine appositamente create.
La versione beta di Firefox 145, attualmente in fase di test, è caratterizzata da un miglioramento degli angoli arrotondati di pulsanti, schede, barra degli indirizzi e campi di input, oltre all'aggiunta del supporto per i contenitori Matroska (per codec AVC, HEVC, VP8, VP9, AV1, AAC, Opus e Vorbis) e alla cessazione del supporto per sistemi Linux a 32 bit. Si segnala che il supporto per Firefox su piattaforme a 32 bit sta diventando sempre più difficile e inaffidabile, mentre il supporto per le versioni a 32 bit è già stato interrotto nella maggior parte delle distribuzioni Linux. Si consiglia agli utenti di distribuzioni Linux a 32 bit di passare all'uso di sistemi operativi a 64 bit. Per chi non può aggiornare rapidamente la distribuzione, è possibile utilizzare il ramo ESR di Firefox 140, per il quale saranno rilasciati aggiornamenti per le vulnerabilità fino almeno a settembre dell'anno prossimo.
Fonte: opennet.ru



