Another possibility (more developer-friendly in my opinion) could be: * increase minor version with each feature release (currently expected each six months). * increase major version / reinit minor version with each core feature removal [1] (e.g. serialization, finalizers). My two cents, Daniel. [1]: Never say never.