Until-build ignored for 243+?

Hi,

According to Warn when the `until-build` property is specified for IntelliJ Platfo… · JetBrains/intellij-platform-gradle-plugin@529c51f · GitHub, the until-build property is ignored for IntelliJ Platform version 243 or higher.

Is there a reason for that? Is it already reflected on the marketplace and in IDEs? Will this affect existing plugin releases?

I think this is a good thing for most plugins. Meanwhile, some plugins may want to restrict the until-build for good reasons (like support…). Is there any reason to force this new behavior?

Thanks.

1 Like

This change is appropriately covered in IDEs and Marketplace. An official announcement will be published soon!

1 Like

Just a personal feeling, it would be good to get involved in such impacting changes. If my understanding is correct, there has been no discussion with the plugin developers community.

1 Like

If this really is what it appears to, then I strongly dislike it already :frowning_face:
There’s a reason I publish only for one major release. I don’t want to be swamped with exceptions when an EAP is out and want to do QA before I publish…

2 Likes

Issue reference https://youtrack.jetbrains.com/issue/IJPL-166094

1 Like

I see in that YouTrack issue it states:

Important note: until-build is still honored if it comes from a custom repository or marketplace response. Until-build is only disregarded if it comes from a plugin.xml in a plugin artifact.

Does this mean if one manually edits the below (see screenshot) in the specific plugin version on marketplace, that the until-build will be honored?

How does (or, will) this field get initially populated?

1 Like

If my understanding is correct, the until field on the marketplace should be blank if the until field from the plugin.xml is set to 251+.

Meanwhile, I’m probably wrong because I recently uploaded a new plugin release, with the until field (plugin.xml) set to 252.*, and the until field on the marketplace has been automatically set with 252.*.
I’m lost. I expect the marketplace won’t unset the until field later for existing plugin releases :sweat_smile:

1 Like

Also, I see that several 3rd-party plugin are still using the intellij platform plugin v1 (migration to v2 can be painful), which does not show a warning about that. They will probably miss this information.

1 Like

Hi! Nothing changes just yet for 2025.1 releases, so no worries about timing.

We will announce the change for 2025.2 only.

All details are on the way!

2 Likes

Is there more information on this available now, perhaps?

2025.2 is (probably) going to be released in the next weeks and more on this change would be very helpful.

Thank you!

There are no changes in 2025.2 in this area.

We postponed it a bit to get more support in the Marketplace for plugin developers.

Planning for EAP 2025.3

1 Like

What’s your plans for existing plugin releases? Will we have to set the until-build field manually on the marketplace for each existing plugin release?
This would be a nightmare…

I don’t understand why there won’t be a way to do that programmatically (like an API, or the good old plugin.xml?). For both existing (?) and future plugin releases, once IJ 2025.3 has been released.
This is a regression for plugin developers (we lose control), and I don’t see the benefit for users, because we set the until-build property for good reasons. Could you please explain your motivation?

@jonathanlermitage.1 Well, you can always use Selenium.

If you feel your life is too beautiful, you can also use the Network tab of your browser’s DevTools to check the network requests made when the Compatibility Range UI fields are edited (to copy the corresponding JS fetch() call, right click the request’s row, then CopyCopy as fetch).

@insyncwithfoo Unofficial hacks that can break at any time? No way :wink:

We are looking for automation and web API options for plugin deploy as well. So no Selenium needed.

I personally believe by using until-build people do a lot of harm to the ecosystem. But the only thing that we will change is usage of it in binaries, it will be no-go.

Please do not react too quickly before we publish details