What is a Vanilla version?
The "vanilla version" is generally the version that has no customisation applied - it is the "regular", "ordinary" or "plain old" version.
For a lot of consumer based software - this would be the only version. You would not build custom versions for every user.
If the software includes extension or customisation points such as plugins, then as installed it would be the vanilla version, but once the user gets hold of it and adds and configures things as they like it, it would no longer be "vanilla."
For bespoke based software - the vanilla version is often the demo version. The bespoke software really comes into its own because it can be customised, so it almost always is.
And what should a software have, for graduating from a vanilla version? (before the edit)
Well, it won't be graduating (when compared to the move from alpha to beta). The move from vanilla to non-vanilla is the addition of customisations that essentially make it unique. The customisations differentiate or distinguish it from the regular version.