È stata rilasciata la versione web del browser Firefox 128. Firefox 128 rientra tra le versioni con supporto a lungo termine (ESR), per le quali vengono rilasciati aggiornamenti per un anno. Inoltre, è stato creato un aggiornamento per la precedente versione a lungo termine — 115.13.0 (si prevedono ulteriori aggiornamenti 115.14 e 115.15). La versione Firefox 129 è entrata nella fase di beta testing, con rilascio previsto per il 6 agosto.
Principali novità in Firefox 128:
- È stata aggiunta la supporto per la traduzione automatica di porzioni di testo selezionate sulla pagina (in precedenza era supportata solo la traduzione dell'intera pagina). La funzione di traduzione è accessibile tramite il menu contestuale visualizzato facendo clic con il tasto destro del mouse sul blocco selezionato. La traduzione si basa su un sistema integrato in Firefox che esegue il processo localmente senza fare affidamento su servizi cloud esterni. Il sistema si basa sul motore open source Bergamot, che è un'interfaccia per il framework di traduzione automatica Marian, il quale utilizza reti neurali ricorrenti (RNN) e modelli linguistici basati su trasformatori.

- È stata proposta una nuova dialogo semplificato e unificato per la pulizia dei dati utente, con un migliorato smistamento dei dati in categorie e l'aggiunta di informazioni sulle dimensioni dei dati conservati per il periodo selezionato.

- Nel menu a discesa che appare durante la digitazione nella barra degli indirizzi, oltre ai link raccomandati, sono implementate le visualizzazioni delle ricerche recenti e delle ricerche in crescita popolarità. Questa funzionalità è attualmente attivata solo per gli utenti negli Stati Uniti e in Canada.

- È stato aggiunto un widget per mostrare le previsioni del tempo nella pagina che appare all'apertura di una nuova scheda. Per attivare il widget in about:config, ci sono impostazioni browser.newtabpage.activity-stream.showWeather e browser.newtabpage.activity-stream.system.showWeather.

- In modalità di navigazione privata è stata introdotta la possibilità di riprodurre contenuti protetti da servizi streaming, come Netflix.
- Quando si utilizza un proxy con protocollo SOCKS5, per impostazione predefinita viene attivato l'invio di richieste DNS attraverso il proxy. Per SOCKS4, le richieste DNS vengono ancora inviate attraverso il risolutore locale.
- È garantito il rendering al volo di vari tipi di contenuti con MIME type text/*, senza la necessità di caricare preventivamente tali file prima della visualizzazione.
- È stato aggiornato il certificato radice utilizzato per la verifica delle estensioni del browser e del contenuto firmato digitalmente da Mozilla.
- Aggiunto il supporto per l'API sperimentale IPA (Interoperable Private Attribution), che consente ai network pubblicitari di ricevere e trattare statistiche sull'efficacia delle campagne pubblicitarie, rispettando la privacy degli utenti. Per prevenire la divulgazione dei dati di specifici utenti durante il trattamento delle statistiche, vengono applicati meccanismi crittografici di privacy differenziale e calcolo riservato multi-laterale (MPC, Multi-Party Computation), che consentono a diversi partecipanti indipendenti di eseguire calcoli senza ottenere informazioni sui dati degli altri (siti web, browser e inserzionisti separatamente non hanno accesso a tutte le informazioni) e di eseguire operazioni su dati crittografati. L'API è disponibile in modalità ‘origin trial’ e può essere disabilitata nelle impostazioni sulla privacy nella sezione ‘Website Advertising’.
- Aggiunto il supporto per aumentare o diminuire la dimensione di un oggetto ArrayBuffer, così come l'aumento della dimensione di un oggetto SharedArrayBuffer, permettendo di modificare la dimensione di ArrayBuffer senza creare un nuovo buffer e trasferire i dati in esso. Sono stati proposti nuovi metodi ArrayBuffer.prototype.resize() e SharedArrayBuffer.prototype.grow().
- Nell'API WebRTC è stato aggiunto il metodo setCodecPreferences, che consente di disabilitare determinati codec durante la negoziazione della connessione e di modificare l'ordine delle preferenze dei codec.
- I valori nell'intestazione HTTP Accept, trasmessi server alla richiesta di documenti e immagini, sono stati allineati con la specifica API Fetch e avvicinati al comportamento di altri browser. Ora nell'intestazione viene trasmesso ‘text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8’ (rispetto alla versione precedente è stata aggiunta la menzione ‘image/png’ e ‘image/svg+xml’).
- È stato aggiunto il supporto per l'intestazione HTTP ‘Priority’, tramite la quale è possibile trasmettere informazioni sulla priorità di elaborazione della richiesta (RFC 9218) nella fase del primo accesso alla risorsa.
- È stata aggiunta la supporto per l'interfaccia CSSPropertyRule, le regole CSS @property e il metodo registerProperty(), che consentono di registrare le proprie proprietà CSS con eredità, verifica dei tipi e valori predefiniti.
- In CSS è stata introdotta la possibilità di specificare valori relativi nella definizione dei colori. Ad esempio, per ottenere un colore blu si può scrivere «rgb(from red 0 0 255)».
- Nella proprietà CSS «content» è stata aggiunta la possibilità di definire un testo alternativo per contenuti che includono immagini.
- Sono stati aggiunti i metodi Request.bytes(), Response.bytes(), PushMessageData.bytes() e Blob.bytes(), che permettono di formare un array tipizzato Uint8Array da oggetti Request, Response, PushMessageData e Blob.
- È stato aggiunto il metodo MediaKeys.getStatusForPolicy() per ottenere informazioni sul modulo CDM utilizzato per decifrare contenuti DRM protetti.
- Abilitando nell'about:config l'impostazione «image.jxl.enabled», viene trasmesso il tipo MIME image/jxl nell'intestazione Accept, informando del supporto per la gestione di immagini in formato JPEG XL.
- È stato aggiunto il supporto sperimentale per la tecnologia CHIPS (Cookies Having Independent Partitioned State), che consente di isolare i cookie in associazione al dominio primo livello, utilizzando il nuovo attributo «Partitioned». Se normalmente il codice di terze parti dal sito «C», incorporato nei siti «A» e «B», può elaborare i cookie condivisi tra questi siti, specificando l'attributo «Partitioned», i cookie impostati dal sito «C» verranno completamente separati durante il caricamento del codice dai siti «A» e «B». È stata aggiunta nell'about:config l'opzione network.cookie.CHIPS.enabled.


- Negli strumenti per sviluppatori web, passando il cursore sopra il selettore di una regola CSS, viene visualizzato un suggerimento pop-up con informazioni sulla specificità della regola CSS, che consente di comprendere perché una determinata regola CSS è stata applicata prima di un'altra.

- Nel pannello di ispezione, ora viene evidenziato il corretto utilizzo delle proprietà CSS personalizzate, se la loro definizione non corrisponde al valore utilizzato. Ad esempio, qui è segnalato un caso in cui nella proprietà «—b» è stato specificato un colore anziché una dimensione:

- Sulla piattaforma macOS, per registrare l'audio dal microfono utilizzando l'API getUserMedia, viene impiegato il motore di elaborazione audio fornito dal sistema, che consente di ottenere una qualità superiore.
- Nella versione per Android sui dispositivi con Android 14 e versioni successive è possibile creare e utilizzare chiavi Passkey in app di gestione dell'autenticazione senza password usando identificatori biometrici, come le impronte digitali o il riconoscimento facciale.
Oltre alle novità e alle correzioni di errori in Firefox 128, sono state risolte 20 vulnerabilità. 8 vulnerabilità sono contrassegnate come critiche, di cui 6 sono causate da problemi di gestione della memoria, come overflow e accesso a aree di memoria già liberate. Potenzialmente, questi problemi possono portare all'esecuzione di codice malevolo aprendo pagine appositamente progettate.
Fonte: opennet.ru








