I really like the MELPA model of packaging directly from git. It solves the problem of forgetting to release something -- just merge a PR and you're done. It also makes version number bumps much less important. You could go even further in a statically typed language and also figure out when breaking changes occur.