Interpreto questa situazione con due problemi di base, probabilmente tre.
- Un upgrade SDK indesiderato è stato effettuato nell'origine, dove potrebbe influire negativamente sul prodotto.
- Dalla domanda: il contributore che ha eseguito l'upgrade indesiderato non era a conoscenza di una precedente decisione specifica di non effettuare l'upgrade.
Il primo di questi, a mio parere, è il più serio. Se un aggiornamento SDK indesiderato può essere inserito nel codice, possono verificarsi altri problemi.
Qualcuno ha suggerito di aggiungere un caso di test unitario che fallirà se rileva l'aggiornamento. Mentre impedirebbe l'aggiornamento, credo che questo sia un percorso pericoloso, che porta a flusso di lava tempo. Sembra inevitabile che a un certo punto in futuro l'SDK verrà aggiornato, per introdurre nuove funzionalità o correzioni di errori, o perché la vecchia versione non è più supportata. Immagina gli argomenti di graffiatura della testa, forse anche, che si verificheranno quando un tale test unitario fallirà.
Penso che la soluzione più generale sia quella di adattare il processo di sviluppo. Per git, utilizza la richiesta di pull processo. Per Subversion e gli strumenti precedenti, utilizza le filiali e diff. Ma hai qualche processo che consente agli sviluppatori senior di intercettare questo tipo di problemi prima che fanno parte del codice e influenzano altri sviluppatori.
Se il processo di richiesta di pull è stato utilizzato nella tua situazione e se ogni richiesta di pull è stretta e specifica, non sarebbe stato sprecato molto tempo. Una richiesta di pull per l'aggiornamento dell'SDK sarebbe stata inviata e rifiutata con commento che l'aggiornamento non è voluto. Nessun altro sarebbe stato interessato, e non ci sarebbe più bisogno ora di ripristinare l'aggiornamento dell'SDK.
Ma per rispondere direttamente alla domanda originale, sono d'accordo con gli altri che aspettano che tutti gli sviluppatori leggano completamente l'intera cronologia delle revisioni del codice, note di rilascio, ecc. per avvisi come questo è uno spreco di tempo prezioso. Cosa c'è di sbagliato in una breve e-mail di squadra?
Possibile terzo problema: perché l'aggiornamento non è richiesto in primo luogo? Chiaramente almeno uno sviluppatore ha pensato che l'aggiornamento sarebbe stato una buona cosa. Ci sono molti buoni motivi per ritardare un aggiornamento, ma anche molti cattivi. Fai attenzione a evitare il flusso di lava (codice di retrocompatibilità non necessario) e culto del carico ("non possiamo aggiornarlo, ma non so perché ") anti-modelli!