Build Number Ranges
Use this reference of build number ranges to specify the correct since-build and until-build values in your plugin descriptor. Setting the actual values in plugin.xml is managed by patchPluginXml Gradle task, see Patching the Plugin Configuration File.
Please note the following regarding values:
Values must represent the actual build numbers, any made-up numbers must not be used (e.g., using
999.*foruntil-build).Not specifying
until-buildmeans it will include all future builds (including unreleased IDE versions, which might impact compatibility later).Dot star suffix (
.*) can be used inuntil-buildto support all releases for the specific branch (i.e.,222.*for all 2022.2.x releases).
Build Number Format
To denote a release, a multipart build number is used. It consists of the following parts:
Product ID (
ICfor IDEA Community,IUfor IDEA Ultimate,RMfor RubyMine,PYfor PyCharm,PSfor PhpStorm, etc.)Branch number (
162)Build number in the branch (
94)
Branch numbers are based on the YYYY.R IDE release version numbers. The branch number takes the last two digits of the year and the R release number. For example, 162 for 2016.2, 163 for 2016.3, etc.
The build number may have multiple components: IU-162.94.11, IU-162.94.11.256.42. This gives more flexibility for third-party plugins and IDE developers. Plugins may specify compatibility versions more precisely (e.g., requiring a specific bugfix release); IDE vendors may have build numbers based on a specific IntelliJ Platform version and specify additional internal version (e.g. 256.42 in XX-162.94.11.256.42) to allow plugin developers for their IDE to specify compatibility.
Multipart build numbers can also be used in the since-build and until-build attributes of idea-version. Usually you should omit the product ID and use only the branch number and build number, for example:
IntelliJ Platform Based Products of Recent IDE Versions
Please see also corresponding entries in Incompatible API Changes and Notable API Changes.
Branch number | IntelliJ Platform version |
|---|---|
2022.2 NOTE Java 17 is now required (blog post) | |
2022.1 | |
2021.3 | |
2021.2 | |
2021.1 | |
2020.3 NOTE Java 11 is now required (blog post) | |
2020.2 | |
2020.1 | |
2019.3 | |
2019.2 | |
2019.1 | |
2018.3 | |
2018.2 | |
2018.1 | |
2017.3 | |
2017.2 | |
2017.1 | |
2016.3 | |
2016.2 |
Note that there is no 170. In the YYYY.R versioning scheme, the R part starts at 1.