The thin line between genius and madness

It is a common problem with packagers. Developers release a package 0.4, then release a 0.5a (or 0.5pre1 or 0.5rc1) and then release the stable 0.5. Of course, when packaging you have to foresee such problems and maintain a proper upgrade path from 0.4 to 0.5pre1 to 0.5rc1 and to 0.5. Often that means finding the meaning of a release string.