Moved semver logic to API.