8.7 KiB
Build Number Ranges
Defining product compatibility by specifying plugin since-build and until-build 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 .
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-build
means it will include all future builds (including unreleased IDE versions, which might impact compatibility later). - Dot star suffix (
.*
) can be used inuntil-build
to support all releases for the specific branch (i.e.,222.*
for all 2022.2.x releases).
Compatibility with the specified version range (and compatible products) must always be verified using to ensure binary compatibility.
Plugins hosted on JetBrains Marketplace are checked automatically. According to Approval Guidelines, incompatible plugin versions will be restricted by JetBrains if necessary.
{style="warning"}
Build Number Format
To denote a release, a multipart build number is used. It consists of the following parts:
- Product ID (
IC
for IDEA Community,IU
for IDEA Ultimate,RM
for RubyMine,PY
for PyCharm,PS
for 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:
<!-- 2021.3, 2021.3.1, 2021.3.2, ... -->
<idea-version since-build="213" until-build="213.*"/>
<!-- 2021.3.3 or higher -->
<idea-version since-build="213.7172.25"/>
Specific build numbers and their corresponding release version are available via Previous Releases on the corresponding product's download page, e.g. Previous IntelliJ IDEA Releases. See also What versions of IntelliJ-based IDEs are supported? for JetBrains IDE support policy.
{style="note"}
IntelliJ Platform Based Products of Recent IDE Versions
Which versions should your plugin support? We've collected some insights based on download statistics in Statistics: Product Versions in Use.
Please see also corresponding entries in Incompatible API Changes and Notable API Changes.
Branch number | IntelliJ Platform version |
---|---|
223 | 2022.3 |
222 | 2022.2 NOTE Java 17 is now required (blog post) |
221 | 2022.1 |
213 | 2021.3 |
212 | 2021.2 |
211 | 2021.1 |
203 | 2020.3 NOTE Java 11 is now required (blog post) |
202 | 2020.2 |
201 | 2020.1 |
193 | 2019.3 |
192 | 2019.2 |
191 | 2019.1 |
183 | 2018.3 |
182 | 2018.2 |
181 | 2018.1 |
173 | 2017.3 |
172 | 2017.2 |
171 | 2017.1 |
163 | 2016.3 |
162 | 2016.2 |
Note that there is no 170
.
In the YYYY.R
versioning scheme, the R
part starts at 1.