Files
openide/platform/platform-resources-en
Vladimir.Koshelev be20db0c55 SID-73: single IntelliJ IDEA distro
IJPL-182235: return a plugin dependency to avoid CNFE [spring.data] -> [spring.el.contexts]

SpringDataQLInjectorBase in spring-data uses ElTemplateParser class from com.intellij.javaee.el

Merge remote-tracking branch 'origin/master' into singleDistro252

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginDetailsPageComponent.kt

[remote-driver] Simplify JBA login in tests

Replaced repetitive inline browser handling code with `logInToJba` helper method.

Merge remote-tracking branch 'origin/master' into singleDistro252

IJPL-182235: filter out plugins that depend on explicitly disabled ones

Do not try to enable plugins that have at least one direct or transitive non-optional dependency in disabled_plugins.txt

[patronus] IJI-2659: add plugins/ultimate-plugin to rider.rules

Merge remote-tracking branch 'origin/master' into singleDistro252

[integration tests] IJPL-182235: do not disable paid plugins on startup in WarmupIntegrationShortTest

[integration tests] IJPL-182235: do not disable paid plugins on startup in DynamicNonBundledPluginsTest

[integration tests] IJPL-182235: do not disable paid plugins on startup in DynamicLoadingDatagripPluginTest

[remote-driver] IJPL-182235: do not disable paid plugins on startup in ToolWindowsUiTest

[remote-driver] IJPL-182235: do not disable paid plugins on startup in StatusbarTest

[integration tests] IJPL-182235: do not disable paid plugins on startup in workspace model integration tests

[remote-driver] IJPL-182235: do not disable paid plugins on startup in UpdateRequestTest

IJPL-182235: add an option to not disable paid plugins on startup in tests

IJPL-182235: make shouldStartWithPaidPluginsDisabled a bit more readable

[remote-driver] Add license tests tags and suites

[remote-driver] Improve BaseLicenseUiTest data cleanup for local run

[remote-driver] LicenseDialogUi Cleanup

[remote-driver] Extend AuthDialogUi with DialogUiComponent

Replaced UiComponent with DialogUiComponent as the base class for AuthDialogUi

[remote-driver] Add EAPLicenseUiTest

[remote-driver] Rename `TokenAuthDialogUi` to `AuthDialogUi`

IJPL-189370: change EAP expiration logic in unified builds to the standard one

IJPL-182235: do not disable the Ultimate plugin on IDE startup in EAPs

!fixup [remote-driver] AT-2142 Create single distro license tests

[remote-driver] AT-2142 Create single distro license tests

IJPL-187422 fix empty system name for license expiration dialog

[remote-driver] Add UI test stubs for single distro licenses

AT-2142 Add trial license generation support in tests

Implemented a new method to generate trial licenses

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	build/expected/ultimate-content-platform.yaml
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/ListPluginComponent.java
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginDetailsPageComponent.kt
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginModelFacade.kt

AT-2129 Add a test for loading an ultimate plugin after activating the IDE

IJ-CR-164880

IJPL-187743: replace reference comparison with `Objects.equals` for String in isFromSubscriptionExpirationDialog

String references *may* be reused, but it seems like it doesn't happen in built installers, so let's use a more reliable equality check

IJPL-184018: "Continue and Restart..." in the force choice dialog should restart the IDE

IJPL-187785: call dry run trial license on startup once a day even in the TRIAL_AVAILABLE state

If the user hasn't accepted the trial yet, and it's no longer available, update the state

IJPL-187785: don't call dry run trial license more than once a day

Even in the error state

[singleDistro] move com.intellij.frameworkSupport extension point to lang module from java

Without that we will consider database plugin as non-dynamic for IDEs without java plugin since it requires com.intellij.frameworkSupport  EP, but it is not loaded.

Add plugins/ultimate-plugin to executeOnChanges for Kotlin Ultimate and RubyMine Tests (IJI-2659)

PatronusConfigYamlConsistencyTest failed after merging the latest changes from master

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	.patronus/src/checks/rustrover/RustRoverTestsAggregator.kt

Add plugins/ultimate-plugin to executeOnChanges for RustRover Tests in .patronus/.../RustRoverTestsAggregator (IJI-1562)

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	.patronus/src/main/org/jetbrains/intellij/patronus/gen/checks/rustrover/RustRoverTestsAggregator.kt
#	community/platform/platform-impl/api-dump-unreviewed.txt
#	community/platform/platform-impl/src/com/intellij/ide/plugins/DynamicPlugins.kt
#	community/platform/platform-tests/testSrc/com/intellij/ide/plugins/DynamicPluginsTest.kt
#	plugins/llm/javaee/spring/mvc/BUILD.bazel
#	plugins/llm/javaee/spring/mvc/intellij.ml.llm.javaee.spring.mvc.iml
#	ultimate/ultimate-resources/resources/META-INF/plugin.xml

PY-81389, PY-81220 The "Trial" widget appears in the EAP builds

IJPL-187601 Licenses: Log out should propose restart only if there is a subscription

PY-81389, PY-81220 The "Trial" widget appears in the EAP builds

IJPL-187785: show the error state in the trial widget only when dry-run failed for the user eligible for auto trial

either a new user or a user with an old enough config (at least 6 months)

Merge remote-tracking branch 'origin/master' into singleDistro252

IJPL-187785: add an error state for the trial widget

IJPL-182435: do not execute trial acquisition with Ultimate plugin enabled

IJPL-186844: convert groovy duplicates detection to content modules

IJPL-186844: check class loaders in checkCanUnloadWithoutRestart for optional dependencies

Co-authored-by: Vadim Salavatov <vadim.salavatov@jetbrains.com>

Revert "IJPL-186844: do not process non-optional module dependencies when onlyOptional is true in processDependenciesOnPlugin"

This reverts commit 411880ca36cc6d7c70222c1d0086119e8ffbf7fd.

IJPL-183884: adjust dynamic plugins test

The previous version led to `ClientSessionsManager is registered as application service, but requested as project one` errors in some other tests when running on TeamCity

Update Bazel files

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	.patronus/config.yaml
#	.patronus/src/main/org/jetbrains/intellij/patronus/gen/checks/rustrover/RustRoverTestsAggregator.kt

IJPL-182235: remove extra compile dependencies from llm spring modules [spring.data] -> [spring.el.contexts]

Reported by `IdeaUltimatePluginModuleDependenciesTest.testPluginModuleDependencies` for `intellij.ml.llm.javaee.spring.data` and `intellij.ml.llm.javaee.spring.mvc`

Add plugins/ultimate-plugin to executeOnChanges for RustRover Tests in .patronus/config.yaml (IJI-1562)

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	community/platform/platform-api/resources/messages/IdeBundle.properties
#	community/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginDetailsPageComponent.kt
#	licenseCommon/source/com/intellij/ide/license/impl/UnifiedLicenseManager.java
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt

IJPL-183257: rename AutoTrialForNewUserProjectActivity to TrialProjectActivities

IJPL-183257: break AutoTrialForNewUserProjectActivity into separate activity classes

IJPL-183257: load paid plugins on the New project wizard opening in PyCharm

- for new users when trial is available
- for logged-in users when an active license was found

IJPL-183257: convert PyCharmNewProjectAction to Kotlin

Rename .java to .kt

IJPL-183257

IJPL-183257: load paid plugins on the New project wizard opening in IDEA

- for new users when trial is available
- for logged-in users when an active license was found

IJPL-183257: try loading paid plugins on the Licenses dialog closing

If the Ultimate plugin is still enabled on close (there's an active license), the plugins will be loaded if needed

IJPL-183257: execute trial check as early as possible

Make TrialStateService an applicationService that is preloaded on app start instead of a light service that is loaded on first access from the widget after the project opening

IJPL-187204 Disable the "Enable" btn in the Marketplace tab for Ultimate plugins

IJPL-187743 Force choice dialog should reappear if Manage Subscriptions is closed without activating

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	community/platform/platform-api/resources/messages/IdeBundle.properties
#	community/platform/platform-impl/src/com/intellij/openapi/application/ConfigImportHelper.java

IJPL-187740: move project activity into DynamicPaidPluginsService, get rid of PropertiesComponent usages

IJPL-187733 Manage subscription dialog is opened multiple times after closing plugin manager

IJPL-187763 Wrap the message in Plugin available with subscription

IJPL-187740: rename DynamicPluginsService to indicate that it is about paid plugins

IJPL-187740: move DynamicPluginsService to the platform

IJPL-183257: add more logs for loadPaidPlugins

IJPL-187412: do not show the Licenses dialog right after enabling the Ultimate plugin

No delay resulted in showing the dialog while issuing a trial license. Successful trial acquisition should be "silent"

Related ticket: IJPL-177912 - Add an action to activate paid mode

IJPL-187412: execute an anonymous trial dry-run when userId is null (not logged in)

IJPL-182435: make pluginKey `@NotNull` in `shouldObtainLicenseAutomatically`

Avoid possible NPEs on pluginKey if the subclass doesn't check it

Merge remote-tracking branch 'origin/master' into singleDistro252

SID-87, IJPL-187565 Fix Activate subscription buttons to call an action instead of URL

SID-87: Update vision pages to new design

IJPL-182252: extract trial availability check to a separate function

IJPL-182435, IJPL-182252: add logs for trial availability check and auto-trial

IJPL-187424: remove got-it tooltip for trial grace period state

IJ-CR-161922: put all method parameters on separate lines

IJPL-183891 UI: Adjust license management dialog to work with subscription

Adjust trial days message logic and tooltip handling

Unified message formatting for trial days left. Replaced distinct messages for "1 day" and "0 days" with a single format using choice logic. Updated tooltip logic to ensure `remainedDays` is always non-negative.

IJPL-182235, IJPL-187253: schedule paid plugins loading synchronously with the non-modal modality state

If invoked in the background, it might lead to races between Ultimate plugin unloading on Continue for free and scheduled loading on activate/restore license

IJPL-186903: fix an exception on plugin unloading when the Licenses dialog is shown

IJPL-186901: fix exceptions on plugin loading when the Licenses dialog is shown

IJPL-182235, IJ-CR-161922: add an overload for `DynamicPluginEnabler.enable` to pass a progress title

Simply wrapping the call in `withModalProgress` doesn't show the progress

IJPL-186920: activate a license if it is found during the trial availability check in the free mode

IJPL-183891 UI: Adjust license management dialog to work with subscription

IJPL-186844: do not process non-optional module dependencies when onlyOptional is true in processDependenciesOnPlugin

Co-authored-by: Vadim Salavatov <vadim.salavatov@jetbrains.com>

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateUtils.kt

IJPL-182435, PY-79495: remove commercial.license dependency from trialPromotion

IJPL-182435, PY-79495: make register Pro/Ultimate trial silent action when possible

IJPL-182435: automatically start a trial for a completely new user

IJPL-182435: factor out ConfigImportHelper.getConfigLastModifiedTime utility function

IJPL-183132 Trial widget: non customizable action

Merge IJ-MR-161630: IJPL-182252: Do not propose trial if the user had any other license active during the last 4 months
IJPL-186755 Add exit app option to restart dialog

PY-79495 Start Free Trial action on the Trial Widget

PY-79495 make register Pro/Ultimate trial silent action when possible

IJPL-186172 UI: Changes in plugin manager

IJPL-182235: load paid plugins after the project opening

IJPL-182235: extract dynamic loading of the paid plugins to a separate service

IJPL-182235: load paid plugins when valid license is restored

If the IDE is started in free mode, the user is logged in and clicked on Manage Subscriptions; a valid license might be restored (e.g.: JetprofileSource). In this case LicenseEntryModel.activateLicense is not called.

IJPL-183846: show the force choice dialog after the project opening

If no project is open yet, save the verification state for later

IJPL-183846: show the force choice dialog if IDE is started with an expired subscription

IJPL-182235 IDEA should start with paid plugins unloaded when no license is available [spring.data] -> [spring.el.contexts]

IJPL-184018 UI: Implement Subscription expiration dialog (force choice)

IJPL-182252: if the server returns any license that was active during the last 4 months, consider trial as not available

IJPL-182252: add getLicenses to JBAccountInfoService

Similar to getAvailableLicenses but includes licenses that have been expired for less than the specified expiredLicenseDays

Merge remote-tracking branch 'origin/master' into singleDistro252

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	build/expected/ultimate-content-platform.yaml

IJPL-182736: automatically open an editor tab on the first opening of the day when the trial state is EXPIRING

IJPL-182736: do not show the GotIt tooltip for EXPIRING trial state

IJPL-182736: add a separate content kind for the trial expiring today

IJPL-182252: perform trial availability check no more than once a day

IJPL-184020 Rename Register... to Manage subscriptions

IJPL-184020 Rename Register... to Manage subscriptions

IJPL-184020 Rename Register... to Manage subscriptions

IJPL-182235: load paid plugins when valid license is activated

Try to enable and load paid plugins without a restart. If there are plugins that cannot be loaded, do not enable these plugins. Show a notification suggesting enabling these plugins with a restart.

IJPL-182235: start IDE with paid plugins unloaded

- If this is a first start:
 - load all paid functionality if there is a license file
 - disable the Ultimate plugin and don't load plugins that depend on it if there's no license file in the config
- On later starts load in free mode if Ultimate plugin is disabled

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	community/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.kt
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt
#	ultimate/min/resources/META-INF/plugin.xml

IJPL-184020 Rename Register... to Manage subscriptions

IJPL-184018 UI: Implement Subscription expiration dialog (force choice)

IJPL-184018 UI: Implement Subscription expiration dialog (force choice) - extract dialog

Merge remote-tracking branch 'origin/master' into singleDistro252

IJPL-183884: remove loading errors for plugins that were successfully loaded dynamically

Merge remote-tracking branch 'origin/master' into singleDistro252

IJPL-182740: open an editor tab when clicking the trial widget in the TRIAL_AVAILABLE state in IDEA

Add StartTrial action that can be referenced in the Vision file;
Add a sample Vision JSON: vision-trial-available.json for IDEA;
Keep the current behaviour in PyCharm: start trial on click instead of opening an editor tab.

IJPL-182740: add a trial widget got-it tooltip for TRIAL_AVAILABLE state

IJPL-182740: remove the trial widget button tooltip when the state is TRIAL_AVAILABLE

Don't show "0 days of trial left"

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt
#	ultimate/ultimate-resources/resources/META-INF/plugin.xml

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt

IJPL-176012 Trial widget: incorrect popup position

IJPL-183132 Trial widget: non customizable action

Revert "IJPL-176012 Trial widget: incorrect popup position"

This reverts commit e85f8ce81bf003c3be4e564b96e185e9d02e8223.

Merge remote-tracking branch 'origin/master' into singleDistro252

# Conflicts:
#	platform/trialPromotion/src/com/intellij/platform/trialPromotion/TrialStateService.kt

IJPL-176012 Trial widget: incorrect popup position

IJPL-182734 Widget: remove the Restart required state

IJPL-179915: don't suggest Ultimate plugin in Required plugins list

SID-132: Revert "temporarily bring back GeneralLicenseManager for IDEA (IJPL-179152)"

This reverts commit 71f2205b

SID-132: Revert "[trial] IJPL-179154: remove trial widget for IDEA"

This reverts commit f74bb96b

[license] update eua.html to 2.0 Legal-3233


Co-authored-by: Alexander Lobas <Alexander.Lobas@jetbrains.com>
Co-authored-by: Andrey Vokin <andrey.vokin@jetbrains.com>
Co-authored-by: Dmitriy Smirnov <Dmitriy.Smirnov@jetbrains.com>
Co-authored-by: Dmitry Yudin <Dmitry.Yudin@jetbrains.com>
Co-authored-by: Eugene Morozov <Eugene.Morozov@jetbrains.com>
Co-authored-by: Sergey Vasilyev <Sergey.Vasiliev@jetbrains.com>
Co-authored-by: Timur Aliberdov <Timur.Aliberdov@jetbrains.com>

Merge-request: IJ-MR-162974
Merged-by: Timur Aliberdov <Timur.Aliberdov@jetbrains.com>

GitOrigin-RevId: e2b4e7079c7de7f8ca046b9ddf8ed1de0215c5c2
2025-06-12 17:09:00 +00:00
..
2025-06-12 17:09:00 +00:00