Rilascio di Chrome 94

Google ha presentato il rilascio del browser web Chrome 94. È disponibile contemporaneamente il rilascio stabile del progetto open source Chromium, che funge da base per Chrome. Il browser Chrome si distingue per l'uso dei loghi Google, un sistema di invio di notifiche in caso di crash, moduli per la riproduzione di contenuti video protetti (DRM), un sistema di aggiornamenti automatici e la trasmissione dei parametri RLZ durante le ricerche. Il prossimo rilascio di Chrome 95 è programmato per il 19 ottobre.

A partire dal rilascio di Chrome 94, lo sviluppo è stato trasferito a un nuovo ciclo di preparazione delle versioni. Le nuove versioni significative saranno pubblicate ogni 4 settimane, invece di ogni 6, il che consentirà di accelerare l'introduzione di nuove funzionalità per gli utenti. È stato osservato che l'ottimizzazione del processo di preparazione delle versioni e il miglioramento del sistema di test consentono di rilasciare versioni con maggiore frequenza senza compromettere la qualità. Per le imprese e per coloro che necessitano di più tempo per l'aggiornamento, verrà pubblicata ogni 8 settimane una versione Extended Stable, che consentirà di passare a nuovi rilasci funzionali non ogni 4 settimane, ma ogni 8 settimane.

Principali modifiche in Chrome 94:

  • È stata aggiunta la modalità HTTPS-First, che ricorda la modalità HTTPS Only già presente in Firefox. Se la modalità è attivata nelle impostazioni, quando si tenta di aprire una risorsa non crittografata via HTTP, il browser proverà prima a collegarsi al sito tramite HTTPS e, se il tentativo fallisce, verrà mostrato all'utente un avviso sull'assenza di supporto per HTTPS, con l'opzione di aprire il sito senza crittografia. In futuro, Google sta considerando di attivare HTTPS-First per impostazione predefinita per tutti gli utenti, limitando l'accesso ad alcune funzionalità della piattaforma web per le pagine aperte senza HTTPS, e aggiungendo ulteriori avvisi che informano gli utenti sulle minacce derivanti dall'accesso a siti non crittografati. La modalità può essere abilitata nella sezione delle impostazioni "Privacy e Sicurezza" > "Sicurezza" > "Avanzate".
    Rilascio di Chrome 94
  • Per le pagine aperte senza HTTPS, è vietato inviare richieste (caricare risorse) a URL locali (ad esempio, "http://router.local" e localhost) e a range di indirizzi interni (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 ecc.). È stata fatta eccezione solo per le pagine caricate con server, che hanno IP interni. Ad esempio, una pagina caricata da server 1.2.3.4 potrà accedere a una risorsa ospitata su IP 192.168.0.1 o IP 127.0.0.1, mentre quella caricata dal server 192.168.1.1 potrà. Questa modifica introduce un ulteriore livello di protezione contro l'esploita di vulnerabilità negli handler che accettano richieste su IP locali e proteggerà anche contro attacchi di tipo “DNS rebinding”.
  • È stata aggiunta la funzione “Sharing Hub”, che consente di condividere rapidamente con altri utenti il link alla pagina attuale. Viene fornita la possibilità di generare un QR code con l'URL, di salvare la pagina, di inviare il link a un altro dispositivo collegato all'account dell'utente e di condividere il link su siti di terzi come Facebook, WhatsUp, Twitter e VK. Questa funzionalità non è ancora disponibile per tutti gli utenti. Per forzare l'attivazione del pulsante “Share” nel menu e nella barra degli indirizzi, è possibile utilizzare le impostazioni “chrome://flags/#sharing-hub-desktop-app-menu” e “chrome://flags/#sharing-hub-desktop-omnibox”.
    Rilascio di Chrome 94
  • È stata effettuata una ristrutturazione nell'interfaccia di impostazione del browser. Ogni sezione delle impostazioni ora viene visualizzata su una pagina separata, anziché su una comune.
    Rilascio di Chrome 94
  • È stata implementata la supporto per l'aggiornamento dinamico del registro dei certificati emessi e revocati (Certificate Transparency), che ora verrà aggiornato senza essere vincolato all'aggiornamento del browser.
  • È stata aggiunta una pagina di servizi “chrome://whats-new” con una panoramica delle modifiche visibili agli utenti nella nuova versione. La pagina viene mostrata automaticamente subito dopo l'aggiornamento o è accessibile tramite il pulsante “Cosa c'è di nuovo” (What’s New) nel menu Aiuto (Help). Attualmente, nella pagina è menzionata la ricerca nelle schede, la possibilità di separazione dei profili e la funzione di cambio colore dello sfondo, che non sono specifiche per Chrome 94 e sono state introdotte nelle versioni precedenti. La visualizzazione della pagina è attualmente attivata solo per alcuni utenti: per gestire l’attivazione, è possibile utilizzare le impostazioni “chrome://flags#chrome-whats-new-ui” e “chrome://flags#chrome-whats-new-in-main-menu-new-badge”.
    Rilascio di Chrome 94
  • È stato dichiarato obsoleto l'accesso all'API WebSQL da contenuti caricati da siti esterni (ad esempio, tramite iframe). In Chrome 94, quando si tenta di accedere a WebSQL da script esterni, viene mostrato un avviso, ma a partire da Chrome 97, tali accessi verranno bloccati. In futuro si prevede di interrompere gradualmente il supporto a WebSQL, indipendentemente dal contesto d'uso. Il gestore WebSQL si basa su codice SQLite e potrebbe essere stato utilizzato da malintenzionati per sfruttare vulnerabilità in SQLite.
  • Per ragioni di sicurezza e per prevenire attività dannose, è iniziato il blocco dell'uso del protocollo obsoleto MK (URL:MK), un tempo utilizzato in Internet Explorer e che consentiva alle applicazioni web di estrarre informazioni da file compressi.
  • È stato interrotto il supporto per la sincronizzazione con le vecchie versioni di Chrome (Chrome 48 e versioni precedenti).
  • È stata aggiunta al'intestazione HTTP Permissions-Policy, destinata a attivare determinate funzionalità e gestire l'accesso all'API, la supporto per il flag «display-capture», che consente di gestire l'uso dell'API Screen Capture sulla pagina (per impostazione predefinita, la possibilità di registrare contenuti da iframe esterni è bloccata).
  • Nella modalità Origin Trials (funzionalità sperimentali che richiedono un'attivazione separata) sono stati aggiunti diversi nuovi API. L'Origin Trial implica la possibilità di utilizzare l'API specificata da applicazioni caricate da localhost o 127.0.0.1, o dopo aver completato la registrazione e ottenuto un token speciale, valido per un tempo limitato per un sito web specifico.
    • È stato aggiunto l'API WebGPU, che sostituisce l'API WebGL e fornisce strumenti per eseguire operazioni sulla GPU, come rendering e calcoli. Concettualmente, WebGPU è simile all'API Vulkan, Metal e Direct3D 12. Concettualmente, WebGPU differisce da WebGL in modo simile a come l'API grafica Vulkan differisce da OpenGL, ma non si basa su un'API grafica specifica, bensì rappresenta uno strato universale che utilizza gli stessi primiti a basso livello presenti in Vulkan, Metal e Direct3D 12.

      WebGPU fornisce alle applicazioni JavaScript strumenti per il controllo a basso livello dell'organizzazione, dell'elaborazione e della trasmissione di comandi alla GPU, consentendo anche di gestire risorse correlate, memoria, buffer, oggetti di texture e shader grafici compilati. Questo approccio consente di raggiungere prestazioni più elevate nelle applicazioni grafiche riducendo i costi generali e migliorando l'efficienza nell'utilizzo della GPU. L'API offre anche la possibilità di creare complessi progetti 3D per il Web che funzionano altrettanto bene delle applicazioni standalone, ma non legati a piattaforme specifiche.

    • Per le PWA isolate, è stata implementata la possibilità di registrazione come gestori degli URL. Ad esempio, l'applicazione music.example.com può registrarsi come gestore dell'URL https://*.music.example.com e tutti i collegamenti provenienti da app esterne, come messaggeri e client di posta, porteranno all'apertura di questa PWA, anziché a una nuova scheda nel browser.
    • È stato implementato il supporto per un nuovo codice di risposta HTTP — 103, che può essere utilizzato per l'uscita anticipata degli header. Il codice 103 consente di informare il cliente sul contenuto di alcuni header HTTP subito dopo la richiesta, senza attendere che il server esegua tutte le operazioni associate alla richiesta e inizi a restituire il contenuto. In questo modo è possibile fornire suggerimenti su elementi correlati alla pagina restituita, che possono essere precaricati (ad esempio, possono essere forniti collegamenti ai file css e javascript utilizzati nella pagina). Ricevendo informazioni su tali risorse, il browser inizierà a caricarle senza attendere il completamento della restituzione della pagina principale, riducendo così il tempo totale di elaborazione della richiesta.
  • Aggiunto l'API WebCodecs per la manipolazione a basso livello dei flussi multimediali, che integra le API di alto livello HTMLMediaElement, Media Source Extensions, WebAudio, MediaRecorder e WebRTC. Questo nuovo API potrebbe rivelarsi prezioso in settori come il gaming in streaming, l'applicazione di effetti lato client, la ricodifica dei flussi e il supporto per contenitori multimediali non standard. Invece di implementare codec separati in JavaScript o WebAssembly, l'API WebCodecs fornisce accesso a componenti ad alte prestazioni già integrati nel browser. In particolare, l'API WebCodecs offre decoder e codificatori audio e video, decoder di immagini e funzioni per operare su singoli fotogrammi video a basso livello.
  • Stabilito l'API Insertable Streams, che offre la possibilità di manipolare flussi multimediali non elaborati (raw) trasmessi attraverso l'API MediaStreamTrack, come i dati dalla fotocamera e dal microfono, il risultato di una cattura dello schermo o i dati intermedi dalla decodifica del codec. Per rappresentare i frame non elaborati vengono utilizzate le interfacce WebCodec, dopodiché si forma un flusso simile a quello generato dall'API WebRTC Insertable Streams sulla base di RTCPeerConnections. Dal punto di vista pratico, la nuova API consente di implementare funzionalità come l'applicazione di metodi di machine learning per l'identificazione o l'annotazione di oggetti in tempo reale, o per l'aggiunta di effetti come il ritaglio dello sfondo, prima della codifica o dopo la decodifica del codec.
  • Stabilito il metodo scheduler.postTask(), che consente di gestire la pianificazione dell'esecuzione di compiti (callback JavaScript) con vari livelli di priorità. Sono forniti tre livelli di priorità: 1 - esecuzione come prioritaria, anche se operazioni dell'utente potrebbero essere bloccate; 2 - si consentono cambiamenti visibili all'utente; 3 - esecuzione in background). Per modificare la priorità e annullare i compiti è possibile utilizzare l'oggetto TaskController.
  • Stabilito e ora distribuito al di fuori delle Origin Trials l'API Idle Detection per determinare l'inattività dell'utente. L'API consente di rilevare quando l'utente non interagisce con la tastiera/mouse, quando è attivo il salvaschermo, lo schermo è bloccato o si sta lavorando su un altro monitor. La comunicazione all'applicazione riguardo l'inattività avviene tramite l'invio di una notifica dopo aver raggiunto una soglia di inattività prestabilita.
  • Formalizzato il processo di gestione del colore negli oggetti CanvasRenderingContext2D e ImageData e di utilizzo dello spazio colore sRGB. È stata fornita la possibilità di creare oggetti CanvasRenderingContext2D e ImageData in spazi colore diversi da sRGB, come Display P3, per sfruttare le capacità avanzate dei monitor moderni.
  • Nell'API VirtualKeyboard sono stati aggiunti metodi e proprietà per gestire la visualizzazione e la nascita della tastiera virtuale, così come per ottenere informazioni sulle dimensioni della tastiera virtuale mostrata.
  • In JavaScript, per le classi è prevista la possibilità di utilizzare blocchi statici di inizializzazione per raggruppare il codice eseguito una sola volta durante l'elaborazione della classe: class C { // Il blocco verrà eseguito al momento dell'elaborazione della classe static { console.log("C's static block"); } }
  • Nelle proprietà CSS, flex-basis e flex, sono stati implementati le parole chiave content, min-content, max-content e fit-content per una gestione più flessibile delle dimensioni dell'area principale del Flexbox.
  • È stata aggiunta la proprietà CSS scrollbar-gutter per gestire il riservamento dello spazio dello schermo per la barra di scorrimento. Ad esempio, quando non è necessario scorrere il contenuto, è possibile espandere l'output e occupare l'area della barra di scorrimento.
  • È stata aggiunta l'API Self Profiling con l'implementazione di un sistema di profilazione, che consente di misurare il tempo di esecuzione di JavaScript lato utente per il debug dei problemi di prestazioni nel codice JavaScript, senza dover ricorrere a operazioni manuali nell'interfaccia per gli sviluppatori web.
  • Dopo la rimozione del plugin Flash, è stato deciso di restituire valori vuoti nelle proprietà navigator.plugins e navigator.mimeTypes, ma si è scoperto che alcune applicazioni li utilizzavano per verificare la presenza di plugin per la visualizzazione di file PDF. Poiché Chrome ha un visualizzatore PDF integrato, d'ora in poi le proprietà navigator.plugins e navigator.mimeTypes restituiranno un elenco fisso di plugin standard e tipi MIME per la visualizzazione dei PDF: "PDF Viewer, Chrome PDF Viewer, Chromium PDF Viewer, Microsoft Edge PDF Viewer e WebKit built-in PDF".
  • Sono stati apportati miglioramenti agli strumenti per gli sviluppatori web. Nella lista di simulazione degli schermi sono stati aggiunti i dispositivi Nest Hub e Nest Hub Max. Nell'interfaccia di ispezione dell'attività di rete è stato aggiunto un pulsante per invertire i filtri (ad esempio, impostando il filtro "status-code: 404" è possibile visualizzare rapidamente tutte le altre richieste), è stata inoltre fornita la possibilità di visualizzare i valori originali delle intestazioni Set-Cookie (per valutare la presenza di valori non validi, eliminati durante la normalizzazione). È stata dichiarata obsoleta e sarà rimossa in una delle prossime versioni la barra laterale nella console web. È stata aggiunta una funzionalità sperimentale per nascondere i problemi nella scheda Issues. Nelle impostazioni è stata aggiunta la possibilità di selezionare la lingua dell'interfaccia.
    Rilascio di Chrome 94

Oltre alle innovazioni e alla correzione degli errori, nella nuova versione sono state risolte 19 vulnerabilità. Molte di queste vulnerabilità sono state identificate grazie a test automatizzati con strumenti come AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non sono emersi problemi critici che consentano di eludere tutti i livelli di protezione del browser e di eseguire codice nel sistema oltre l'ambiente sandbox. Nell'ambito del programma di ricompensa per la segnalazione di vulnerabilità, Google ha assegnato 17 premi per l'attuale rilascio, per un totale di 56500 dollari USA (un premio di $15000, due premi di $10000, un premio di $7500, quattro premi di $3000 e due premi di $1000). L'importo di 7 premi deve ancora essere determinato.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster