update version according to semantic versioning