Rilascio di Chrome 105

Google ha presentato il rilascio del browser web Chrome 105. Allo stesso tempo è disponibile la versione stabile del progetto open source Chromium, che costituisce la base di Chrome. Il browser Chrome si distingue da Chromium per l'uso dei loghi di Google, per la presenza di un sistema di invio di notifiche in caso di crash, per i moduli per la riproduzione di contenuti video protetti da copyright (DRM), per il sistema di aggiornamenti automatici, per l'attivazione costante della Sandbox, per la fornitura di chiavi per le API di Google e per la trasmissione dei parametri RLZ durante le ricerche. Per coloro che necessitano di più tempo per l'aggiornamento, è disponibile un ramo Extended Stable, supportato per 8 settimane. Il prossimo rilascio di Chrome 106 è programmato per il 27 settembre.

Principali modifiche in Chrome 105:

  • Il supporto per le applicazioni web specializzate Chrome Apps è stato interrotto, sostituito da applicazioni web autonome basate sulla tecnologia Progressive Web Apps (PWA) e sugli standard Web API. Google aveva inizialmente annunciato l'intenzione di abbandonare le Chrome Apps già nel 2016, pianificando di interromperne il supporto entro il 2018, ma successivamente ha posticipato questo piano. Con Chrome 105, quando si tenta di installare applicazioni Chrome Apps, verrà visualizzato un avviso di interruzione del supporto, ma le applicazioni stesse continueranno a essere eseguite. Con Chrome 109, la possibilità di eseguire Chrome Apps sarà disabilitata.
  • È stata fornita un'ulteriore isolamento del processo "renderer", responsabile del rendering. Questo processo ora viene eseguito all'interno di un contenitore aggiuntivo (App Container), implementato sopra il sistema di isolamento sandbox esistente. In caso di sfruttamento di vulnerabilità nel codice di rendering, le restrizioni aggiuntive non permetteranno all'attaccante di accedere alla rete, grazie al divieto di accesso alle chiamate di sistema correlate alle capacità di rete.
  • È stato implementato un deposito unificato per i certificati radice delle autorità di certificazione (Chrome Root Store). Il nuovo deposito non è ancora abilitato di default e, fino al completamento dell'implementazione, i certificati continueranno a essere verificati utilizzando il deposito specifico per ciascun sistema operativo. La soluzione in fase di test ricorda l'approccio di Mozilla, che supporta un deposito indipendente di certificati radice per Firefox, utilizzato come primo anello per la verifica della catena di fiducia dei certificati quando si aprono siti tramite HTTPS.
  • È iniziata la preparazione per la cessazione del supporto per l'API Web SQL, che non è standardizzata, è poco utilizzata e richiede una revisione per soddisfare i moderni requisiti di sicurezza. In Chrome 105 è vietato accedere a Web SQL da codice caricato senza utilizzare HTTPS, ed è stato aggiunto un avviso in DevTools riguardante l'obsolescenza della tecnologia. Nel 2023 si prevede di rimuovere l'API Web SQL. Per gli sviluppatori che necessitano di funzionalità simili, sarà fornita una sostituzione basata su WebAssembly.
  • In Chrome, support for syncing with Chrome 73 and earlier versions has been discontinued.
  • For macOS and Windows platforms, a built-in certificate viewer has been activated, replacing the operating system's provided interface. Previously, the built-in viewer was used only in builds for Linux and ChromeOS.
  • The Android version has added settings to manage the 'Topics & Interest Group' API promoted as part of the Privacy Sandbox initiative, allowing the identification of user interest categories and their use instead of tracking cookies to highlight groups of users with similar interests without identifying individual users. Similar settings were added in the previous release for Linux, ChromeOS, macOS, and Windows versions.
  • When enhanced browser protection (Safe Browsing > Enhanced protection) is enabled, telemetry collection regarding installed extensions, API requests, and connections to external sites has been implemented. The specified data is used on Google servers to identify malicious activity and violations by browser extensions.
  • La possibilità di utilizzare caratteri non ASCII nei domini indicati nell'intestazione dei cookie verrà rimossa nella versione 106 di Chrome, in quanto è stata trasferita nella categoria obsoleti. Per i domini IDN, i domini devono essere indicati nel formato punycode. Questa modifica allineerà il browser ai requisiti di RFC 6265bis e al comportamento implementato in Firefox.
  • È stato proposto l'API Custom Highlight, progettato per modificare arbitrariamente lo stile delle aree di testo selezionate, consentendo di non limitarsi allo stile fisso fornito dal browser per le aree selezionate (::selection, ::inactive-selection) e alla evidenziazione degli errori di sintassi (::spelling-error, ::grammar-error). Nella prima versione dell'API, è stata fornita la possibilità di modificare il colore del testo e dello sfondo tramite i pseudo-elementi color e background-color, ma in seguito verranno aggiunte ulteriori opzioni di personalizzazione dello stile.

    Come esempio di compiti che possono essere risolti con il nuovo API, si menziona l'aggiunta di meccanismi di evidenziazione personalizzati nei framework web che forniscono strumenti per la modifica del testo, diverse modalità di evidenziazione durante la modifica collaborativa da parte di più utenti, ricerca in documenti virtualizzati e marcatura degli errori durante il controllo ortografico. In precedenza, per creare evidenziazioni personalizzate erano necessarie complesse manovre con l'albero DOM, mentre l'API Custom Highlight offre operazioni pronte per l'aggiunta e la rimozione dell'evidenziazione, senza influire sulla struttura DOM e applicando stili in relazione agli oggetti Range.

  • In CSS è stata aggiunta la regola «@container», che consente di definire lo stile degli elementi in base alle dimensioni dell'elemento genitore. «@container» ricorda le regole «@media», ma si applica non in relazione alle dimensioni dell'intera area visibile, ma alle dimensioni del blocco (contenitore) in cui è inserito l'elemento, consentendo di definire per gli elementi figlio una logica di selezione dello stile indipendente dalla posizione in cui l'elemento è posizionato nella pagina.
    Rilascio di Chrome 105
  • Aggiunto il pseudo-classe CSS «:has()» per il controllo in base alla presenza di un elemento figlio in quello genitore. Ad esempio, «p:has(span)» copre gli elementi <p>, all'interno dei quali è presente un elemento <span>.
  • È stato aggiunto l'API HTML Sanitizer, che consente di rimuovere dal contenuto gli elementi che influenzano la visualizzazione e l'esecuzione quando vengono visualizzati tramite il metodo setHTML(). L'API può essere utile per pulire i dati in ingresso da tag HTML che potrebbero essere utilizzati per attacchi XSS.
  • È stato fornito un API Streams (ReadableStream) per inviare richieste fetch prima che venga caricato il corpo della risposta, ovvero è possibile iniziare a inviare dati senza attendere il completamento della generazione della pagina.
  • Per le applicazioni web installabili (PWA, Progressive Web App) è stata fornita la possibilità di modificare l'aspetto dell'area di intestazione della finestra tramite i componenti Window Controls Overlay, che espandono l'area visualizzabile dell'app web su tutta la finestra e consentono di dare all'app web l'aspetto di un'applicazione desktop tradizionale. L'app web può gestire il rendering e l'interazione dell'input su tutta la finestra, ad eccezione del blocco sovrapposto con i pulsanti di controllo della finestra standard (chiusura, riduzione a icona, espansione).
    Rilascio di Chrome 105
  • È stata stabilita la possibilità di accedere alle Media Source Extensions dai worker dedicati (nel contesto di DedicatedWorker), il che può essere utilizzato, ad esempio, per migliorare le prestazioni della riproduzione di dati multimediali buffering, attraverso la creazione di un oggetto MediaSource in un worker separato e la trasmissione dei risultati al HTMLMediaElement nel thread principale.
  • Nell'API Client Hints, che si sta sviluppando per sostituire l'intestazione User-Agent e consente di fornire dati specifici sui parametri del browser e del sistema (versione, piattaforma, ecc.) solo su richiesta, serverè stata aggiunta la supporto per la proprietà Sec-CH-Viewport-Heigh, che consente di ottenere informazioni sull'altezza dell'area visibile. È stato modificato il formato del markup per specificare nei tag «meta» i parametri Client Hints per le risorse esterne: Prima: Ora:
  • È stata aggiunta la possibilità di creare gestori di eventi globali onbeforeinput (document.documentElement.onbeforeinput), tramite i quali le applicazioni web possono sovrascrivere il comportamento durante la modifica del testo in blocchi ,