Penso che non ci sia una regola generale applicabile a tutti gli scenari qui.
Dipende molto da chi sono gli utenti della biblioteca. Più piccola è la base di utenti e più la base di utenti è vicina a te e al tuo team e maggiore è la possibilità che tu possa influenzare le applicazioni utilizzando la tua libreria, più "aggressivo" puoi cambiare la tua API pubblica.
Quando si modifica il codice cliente è relativamente semplice, si potrebbe documentare in modo esplicito "questo metodo è deprecato nella versione 1.x
e verrà rimosso nella versione 1.x+1
. Ovviamente questo funziona solo se i client sono in grado di seguire le modifiche. Se non conosci bene i clienti, potresti essere costretto a mantenere stabile l'API per le future generazioni e devi mantenere i metodi per motivi di compatibilità fino alla versione 1.x+10
.
La chiave qui è comunicazione - quando tutti sanno cosa è successo in un rilascio, possono adattarsi ad esso.