È stata rilasciata la versione del browser web Firefox 144 e sono stati formati aggiornamenti per le versioni precedenti con lungo supporto — 140.4.0 e 115.29.0. La versione Firefox 145 è entrata in 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 sezione profili, l'utente può creare sessioni di lavoro completamente indipendenti con il browser, con le proprie impostazioni, cronologia, segnalibri, estensioni e database interni. Ogni profilo viene memorizzato in una sottodirectory separata «~/.mozilla/firefox/». A ciascun profilo è possibile assegnare un proprio schema di colori, icona e nome. La selezione tra profili e la creazione di nuovi profili avviene attraverso una nuova sezione mostrata nella parte superiore del menu principale.
La tecnologia di separazione delle sessioni è simile ai vecchi profili, la cui attivazione avveniva tramite riga di comando con l'opzione «-P», ma le interfacce e le liste di profili del vecchio e del nuovo sistema non si sovrappongono (nei vecchi interfaccia, 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 quando si riducono le altre schede in un gruppo (è possibile lavorare con una scheda separata senza dover espandere l'intero gruppo).

- È stata aggiunta la supporto per spostare una scheda con il mouse in un gruppo ridotto senza l'espansione automatica del gruppo.

- È stata resa possibile la chiusura della finestra del video mostrato in modalità «immagine nell'immagine» (Picture-in-Picture) senza interrompere la riproduzione del video (il video continuerà a essere riprodotto nella finestra principale). La chiusura senza interruzione avviene cliccando sul pulsante di chiusura della finestra mentre si tiene 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 era utilizzato solo per la crittografia end-to-end degli account in Firefox Sync, ma nel supporto locale i dati venivano crittografati utilizzando l'algoritmo obsoleto 3DES-CBC.
- Nel menu contestuale mostrato facendo clic con il tasto destro del mouse sull'immagine, è stata aggiunta un'opzione per cercare nel servizio Google Lens. Con Google Lens è possibile eseguire operazioni come cercare prodotti e oggetti simili, oltre a copiare, tradurre e cercare il testo mostrato nell'immagine. La funzionalità è disponibile solo selezionando Google come motore di ricerca predefinito.
- È stata fornita la possibilità di inviare richieste al servizio di ricerca Perplexity tramite la barra degli indirizzi, che utilizza l'IA per generare risposte alle domande formulate in linguaggio naturale.
- Sulla piattaforma Windows, quando si aprono link da altre applicazioni, Firefox ora utilizza la finestra esistente sul desktop virtuale corrente oppure crea una nuova finestra in caso contrario (senza passare ad altri desktop virtuali).
- Negli strumenti per sviluppatori web è stata implementata la possibilità di navigare verso le definizioni delle proprie proprietà CSS dalle funzioni var(), mostrate nella pagina di ispezione degli stili. Nei suggerimenti a comparsa nella pagina di ispezione sono garantiti chiari separazioni tra eventi integrati e personalizzati.
- 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 relativa supporto per il valore "compact", che include una rappresentazione compatta degli indici sovrascritti nelle formule MathML.
- Nell'API PerformanceEventTiming, che consente di ottenere ulteriori informazioni per misurare e ottimizzare la reattività dell'interfaccia, è stato aggiunto l'attributo InteractionID con l'identificatore dell'interazione dell'utente. L'identificatore consente di collegare diverse metriche a un'unica azione dell'utente; ad esempio, durante il tocco su uno schermo touchscreen vengono generati diversi eventi, come pointerdown, mousedown, pointerup, mouseup e click, e l'InteractionID consente di collegare tutti questi eventi a un solo 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 dell'interazione con il menu attivato al clic del pulsante. Utilizzando i nuovi attributi, tutta la logica interattiva con il menu è gestita dal browser, senza la necessità di collegare 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>
- Aggiunto il supporto per l'API View Transitions, destinata a creare effetti animati durante il passaggio tra diversi stati del DOM (ad esempio, una transizione fluida da un'immagine all'altra) o durante il passaggio da una pagina all'altra all'interno dello stesso sito.
- È stata fornita la possibilità di utilizzare il diserning durante il rendering dei gradienti definiti 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 registrazione se la chiave non è stata trovata.
- Nell'API ScreenOrientation sono stati aggiunti i metodi lock() e unlock() per fissare l'orientamento dello schermo su tablet Windows e Android.
- È stata aggiunta la supporto per la trasmissione di oggetti RTCDataChannel all'interno del messaggio WebWorker.
- Nel metodo getUserMedia è stato aggiunto il parametro resizeMode, che consente di utilizzare il ritaglio e il ridimensionamento 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, attraverso il quale è possibile 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: è necessaria almeno la versione Android 8.
Oltre alle novità e alle correzioni di bug, in Firefox 144 sono state eliminate 24 vulnerabilità. 16 vulnerabilità sono causate da problemi di gestione della memoria, come buffer overflow e accessi a aree di memoria già liberate. Questi problemi possono potenzialmente portare all'esecuzione di codice da parte di un malintenzionato aprendo pagine appositamente formattate.
La beta disponibile per il test di Firefox 145 è caratterizzata da un rafforzamento dell'arrotondamento 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 i sistemi Linux a 32 bit. Si nota che il supporto per Firefox su piattaforme a 32 bit diventa sempre più complesso e inaffidabile, considerando che 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 a sistemi operativi a 64 bit. Per coloro che non possono aggiornare rapidamente la distribuzione, è possibile utilizzare il ramo ESR di Firefox 140, per il quale gli aggiornamenti che risolvono le vulnerabilità saranno rilasciati almeno fino a settembre dell'anno prossimo.
Fonte: opennet.ru



