JetBrains Marketplace Help

How to add required parameters for paid plugins

Every plugin sold via JetBrains Marketplace must define the following parameters in the plugin descriptor (plugin.xml), which can be found in the <product-descriptor>:

  1. code- a Plugin Product Code that you agreed on with the JetBrains team (type: varchar, 15 characters max.). This is used to connect a particular plugin to a product in the JetBrains Sales system.

  2. release-date- date of the major version release, written in the ‘YYYYMMDD’ format (type: integer).

This is one of the most crucial parameters, as the subscription model depends on it. Perpetual fallback licenses and licensing term calculations rely on the release-date and release-version.

  1. release-version- a major version in a special number format (type: integer).

The number should contain at least 2 digits, as it will be split into 2 numbers, the second of which will contain only one digit. Take, for example, release-version=20201. The first number would be 2020 and the second one 1.

This is different from the version of the plugin, as this is a version number of the major release (i.e. the release that happened on release-date).

Let’s take a look at an example:

The initial release of a new plugin will be the first major release. That is why the parameters will look something like this in the plugin.xml file:

<product-descriptor code="PTESTPLUGIN" release-date="20210818" release-version="20211"/> <version>2021.1.1</version>

According to the release-date parameter, this plugin can be purchased starting from August 18, 2021. Its major version release is 2021.1, and that number should not be changed in your further minor updates. As for the version parameter, it matches the release-version initially. When you increase the version parameter for minor updates, it still should match the 'release-version' (only last digits are increased).

Here is an example of a minor update:

<product-descriptor code="PPAIDPLUGIN" release-date="20210818" release-version="20211"/> <version>2021.1.2</version>

As you can see, only the version parameter has been changed. Subsequent minor updates (e.g. 2021.1.1, 2021.1.2, 2021.1.x) should have the same release-date and release-version. This will allow your users who have a perpetual fallback license to get the latest minor update of the major version they have access to.

  1. optional – not a required parameter (type: boolean). This should be set to true if you would like to add the free functionality to your plugin. Please see this article for more information about free functionality. The default value of this parameter is false.

Last modified: 02 September 2021