I thought about it, but i think it is much simpler to have a simple number, especially when it comes to versions comparaison.

My idea is that CONFIG_VERSION will only change when upgrade hooks need to be run, and Picard can have a new version that don't need that.

Basically, when an option is removed or renamed we need to handle the change on config loading (ie. get the old option value and store it in another option), that means we'll have to write an "upgrade hook", when it is done, we increase CONFIG_VERSION to force hooks execution.

CONFIG_VERSION is not exposed to user, while Picard version is.

We can perhaps use only one "version", i have to think about it.