- Clear guidelines on when to use major/minor/patch - BREAKING CHANGE only for API changes that break user code - Internal changes are never breaking changes - Decision tree for version selection