Ci sono fasi di pre-release per i prodotti software: alpha, beta e release candidate. Dipende da quanto maturo è il tuo prodotto. Una versione alpha tende a indicare che l'applicazione è ancora relativamente instabile e forse buggata. Questo sarebbe tutto fino a una versione completa di funzionalità. Mentre ti avvicini al completamento della funzione, potresti prendere in considerazione la versione beta del tuo software. A questo punto potrebbe ancora essere bacato, ma dovrebbe essere abbastanza stabile per le dimostrazioni e le anteprime. Un candidato al rilascio dovrebbe essere completo, ma potrebbe ancora avere alcuni bug.
Li applicheresti alla versione "2.0.0". Quindi il tuo "2.0.0 Alpha" è una versione alpha di quello che diventerà il software 2.0.0. È possibile modificare Alpha in Beta e quindi Release Candidate (o RC) mentre il software diventa più stabile. A volte, invece di sillabare le parole, viene abbreviato in "2.0.0a", "2.0.0b" e "2.0.0rc" per le versioni candidate alpha, beta e release 2.0.0. Se hai fatto più build che potrebbero essere considerate una versione, potresti anche aggiungere un numero dopo le lettere. Ad esempio, se hai fatto tre versioni beta fino a 2.0.0, sarebbero 2.0.0b, 2.0.0b1 e così via (potresti indicizzare da 0 o persino chiamare la tua prima beta b1, se lo desideri).
Wikipedia ha anche una lunga discussione su versioning del software . Descrive vari schemi di versioning utilizzati da diverse applicazioni. Include anche una breve discussione sulle versioni pre-release. Considerando che si tratta di una riscrittura di un'applicazione, è possibile eliminare il vecchio schema di controllo delle versioni e scegliere quello più appropriato se si desidera.