Come già accennato, attualmente i tuoi utenti si lamentano di sulla strada verso una nuova versione principale .
Isn't it expected that due to a major version bump the API may change?
O non si apportano modifiche all'indietro incompatibili nell'API, o lo si farebbe in un bump di versione principale. Se non lo fai in un bump di versione principale, dove lo faresti? A meno che non lo facciate in un bump di versione minore, che è ovviamente ancora più improprio. Quindi, in pratica, non c'è nessun posto migliore per farlo a parte un bump della versione principale, vero?
Le modifiche alle API sono o non sono previste in una modifica di versione principale, a seconda del sistema di controllo delle versioni dell'API. Sembra che nel tuo caso lo sia. Questa è la tua decisione, anche se comune. A meno che tu non stia pianificando di apportare modifiche retroattive incompatibili.
Is it "uncommon" to change the API in a beta phase?
La fase beta , in base all'utilizzo specificato nel tuo post, può essere assunta come "anteprime di un candidato di rilascio" , e "non finalizzato" . In caso di modifiche incompatibili con le versioni precedenti, dovresti rilasciarle il prima possibile per dare più tempo agli utenti della tua API, ad esempio, per risolvere i problemi di compatibilità. Ovviamente, non lo farai nelle versioni prima dell'urto della versione a causa di ovvi motivi (hai già segnato @Deprecated
nelle versioni precedenti! Perché le persone continuano a compilare il codice nonostante gli avvertimenti?). Dal momento che hai intenzione di apportare queste modifiche al candidato per il rilascio in ogni caso, perché lasciarle in seguito? Inoltre, tecnicamente le tue versioni beta sono già in versione major-bumped.
Questa domanda può anche essere intesa come le versioni beta delle modifiche betwteen della stessa versione. Finché si aggiungeranno queste modifiche al bump della versione principale, non si tratta di un problema. Dopotutto, durante la fase beta, le modifiche API possono essere considerate come "modifica non ancora completata".
Infine, ricorda sempre: ogni singola modifica rompe la compatibilità all'indietro.
xkcd: Workflow -- There are probably children out there holding down spacebar to stay warm in the winter! YOUR UPDATE MURDERS CHILDREN.