adopt semantic versioning for plugin