27 aprile 2026

Deprecazioni in Chrome: come vengono ritirate le feature senza rompere il Web

Dalla prima segnalazione in DevTools alla rimozione del codice: fasi, segnali da monitorare e come preparare il team ai cambiamenti della piattaforma.

Chrome introduce continuamente nuove API e comportamenti, ma a volte una feature diventa un problema: non scala, è superata, o apre nuovi rischi di sicurezza. In questi casi entra in gioco un processo strutturato di deprecazione e rimozione, pensato per ridurre l’impatto su siti e sviluppatori. Vediamo come funziona, dove compaiono gli avvisi, cosa sono intent, flag e deprecation trial, e quali pratiche adottare per intercettare in anticipo le rotture.

Perché un browser rimuove una feature

Aggiungere funzionalità è la parte “visibile” dell’evoluzione della piattaforma web. La parte meno glamour è quando una feature va ritirata. Succede più spesso di quanto sembri, e non necessariamente perché “non serva più”. Le cause tipiche sono:

  • Problemi emersi solo in produzione: alcune soluzioni funzionano bene sulla carta, ma mostrano limiti strutturali quando adottate su larga scala.
  • Ecosistema cambiato: standard alternativi più solidi rendono una feature ridondante o fuorviante.
  • Sicurezza e manutenzione: meno superficie di attacco e meno codice legacy significano un browser più sicuro e una base di codice più sostenibile.

Il punto chiave è che una rimozione improvvisa romperebbe siti e toolchain. Per questo esiste un percorso graduale e tracciabile.


Deprecazione ≠ rimozione

Nel linguaggio comune “deprecated” viene spesso usato come sinonimo di “non esiste più”. In realtà, nella piattaforma web la deprecazione è la fase di annuncio e preparazione.

  • Deprecazione: la feature esiste ancora, ma è programmata per essere rimossa in futuro. In questa fase compaiono avvisi e risorse per migrare.
  • Rimozione: la feature viene disabilitata (tipicamente per default) e, dopo che l’uso scende abbastanza, il codice viene eliminato dal browser.

In altre parole: la deprecazione serve a dare tempo e strumenti per evitare rotture.


Le due fasi operative: deprecation e removal

1) Deprecation: avvisi e risorse

Durante la deprecazione, l’obiettivo è rendere evidente che state usando qualcosa che ha i giorni contati:

  • Chrome DevTools mostra warning quando una feature deprecata è in uso.
  • Vengono pubblicate tempistiche e dettagli su Chrome Platform Status.
  • Arrivano articoli di supporto e documentazione (spesso con rimandi a alternative e strategie di migrazione).

Questa fase è pensata per consentire ai team di pianificare: stimare impatto, fare audit, implementare fallback, rilasciare gradualmente.

2) Removal: disabilitazione e rimozione del codice

Quando gli ingegneri hanno evidenza che l’uso è sceso a livelli molto bassi, si procede:

  • la feature viene disabilitata di default;
  • in molti casi resta un modo temporaneo per riattivarla (flag o trial);
  • quando i siti non dipendono più dalla feature disabilitata, si arriva alla rimozione del codice.

Come si decide (e come si comunica) una rimozione

Chrome (e più in generale i browser Chromium-based) si appoggiano a Blink, il motore di rendering. Le modifiche rilevanti passano attraverso un processo pubblico e strutturato.

Blink Intents: il “semaforo” delle modifiche

Quando c’è l’intenzione di cambiare Blink, viene pubblicata una proposta formale chiamata Blink Intent. Per il ritiro di una feature, in genere vedrete:

  • Intent to Deprecate: annuncia l’avvio della deprecazione e l’arrivo dei warning.
  • Intent to Remove: annuncia la disattivazione e la rimozione.

Spesso i due passaggi vengono uniti in un unico Intent to Deprecate and Remove.

Quando una feature viene davvero rimossa

In linea generale, si procede solo se:

  • la feature è usata da una quota molto piccola di siti/utenti e ci sono alternative migliori;
  • oppure emergono condizioni per cui la feature può diventare un rischio serio (ad esempio sul fronte sicurezza).

Inoltre, una rimozione tende a essere coordinata tra engine: se altri browser intendono continuare a supportare una feature, la rimozione diventa molto più delicata e spesso viene evitata.


Flag e Deprecation Trial: le “stampelle” per migrare

Quando una feature viene disabilitata ma non è ancora sparita del tutto, possono esistere due strumenti ponte:

Chrome flag

Un flag può consentire, per un singolo browser/utente, di riabilitare temporaneamente una feature. È utile soprattutto in fase di sviluppo e debugging durante una migrazione.

Deprecation trial (una forma di Origin Trial)

Un deprecation trial permette a specifici siti (o origini) di riattivare temporaneamente una feature disabilitata, giusto il tempo necessario per completare la migrazione.

Questo meccanismo è pensato per ridurre downtime e incidenti operativi quando una dipendenza legacy richiede più tempo del previsto per essere rimossa.


Cosa fare in pratica nel team frontend

Le deprecazioni raramente sono “rumore”: sono un segnale operativo. Alcune abitudini aiutano a non subirle.

1) Usate canali pre-stable per testare in anticipo

Non basta testare solo su Stable. Affiancate almeno:

  • Chrome Stable (il profilo più simile ai vostri utenti reali)
  • Chrome Dev (o comunque un canale pre-stable)

È possibile installare più canali in parallelo: è un investimento minimo che riduce sorprese.

2) Portate i canali multipli anche nella CI

Eseguite una parte della suite E2E (o smoke test critici) anche su un canale più avanzato. Intercettare una rimozione settimane prima è la differenza tra una migrazione gestita e un hotfix d’emergenza.

3) Trattate i warning di DevTools come debito tecnico “con scadenza”

Controllate regolarmente la Console:

  • i warning di deprecazione di solito includono link e indicazioni utili;
  • trasformate quei warning in issue tracciate (con owner e milestone), non in note sparse.

4) Monitorate le timeline su Chrome Platform Status

Per le feature che vi toccano, segnate in roadmap:

  • inizio deprecazione (quando iniziano i warning)
  • versione in cui è prevista la disabilitazione/rimozione

Conclusione

La rimozione di una feature non è un evento improvviso: è un processo in due tempi (deprecazione e rimozione) con segnali ben visibili, strumenti di transizione (flag e trial) e canali di comunicazione ufficiali. Se il team integra test su canali pre-stable e prende sul serio i warning di DevTools, le deprecazioni diventano un’attività ordinaria di manutenzione—non un incidente in produzione.