Semantic versioning
SemVer (Semantic Versioning) is a scheme that defines the rules to name the subsequent versions of libraries, projects, products, etc.
The most straightforward usage case is the following version format:
There are also more rules and possibilities to distinguish some builds, like:
All the available rules that SemVer standard defines can be found in the official documentation at https://semver.org.
To check if the given version number matches SemVer rules, you can use:
An online checker, for example
SemVer is turned on by default for all new plugins. However, you can manually turn it on for your existing plugin if its versions already match the rules.
To turn on SemVer for your plugin, tick the SemVer Only option on the plugin page:
If you tick this option, JetBrains Marketplace begins checking versions against SemVer rules with the next update upload. If the version meets the rules, JetBrains Marketplace compares the maximum version among existing updates with the new update version. If the existing update has greater version than the new one, the update will be uploaded without changing the plugin page. Otherwise, the following fields will be extracted from the update configuration file — plugin.xml:
Plugin URL
<idea-plugin url="">
Name
<name></name>
Vendor information
<vendor url="" email=""></vendor>
Description
<description></description>
If you try to upload a new update with the non-SemVer version you will receive the following error:
As of now, the main benefit to turn on the SemVer option is the ability to upload an update with minor fixes without changing the information on the plugin page. In the nearest future we will start sorting updates of the plugins with SemVer enabled by their version. As of now, the updates are sorted by upload timestamp.