Sto lavorando a un'implementazione per un'API pubblica esistente. Ora dovevo modificare l'implementazione per generare un'eccezione per una condizione di errore su cui in precedenza il consumatore dell'API non era stato informato in alcun modo.
Quindi in pratica ho aggiunto una nuova possibile eccezione.
L'aggiunta di questa eccezione è una modifica incompatibile, una modifica compatibile o addirittura nessuna modifica all'API pubblica?
Lo sto chiedendo, perché la mia API è versionata in base a Versione 2.0.0 Semantica , e in base a questo, ho bisogno di decidere se ho bisogno di eseguire il bump del componente major, minor o della patch per questa modifica.
Modifica
Ecco altre informazioni di base: l'API viene utilizzata per consentire a un utente di recuperare i file da un file system condiviso. Al momento del recupero il file viene spostato da una directory incoming
a archive
. In precedenza, quando la mossa falliva, l'API non lo chiariva in alcun modo. Ora, questa API dovrebbe generare un'eccezione nel caso in cui l'operazione di spostamento dell'archivio non sia riuscita. Se il file rimane nella directory incoming
, le conseguenze possono essere gravi, perché lo stesso file può essere trattato come nuovo ancora e ancora fino all'intervento manuale.
L'API viene fornita come oggetto da interagire con i programmi Ruby.