Issue 159 - Support for creation and use of OAuth connections in Illuminated Cloud.
You may now create and manage SFDX OAuth connections using a new toolbar button in IC's connection manager. IC will prompt you for a connection name, org type (optional), and login URL (optional), then will require you to log in via your Web browser. The Salesforce CLI is used for all OAuth interaction and management of the access token.
OAuth connections can be used anywhere that configured IC connections can be used and can be configured similarly.
OAuth orgs can also be used for the SFDX-develop-against-any-org feature (see below).
NOTE: After updating to this version or higher, each project will be upgraded upon opening to include connection type information for each usage of a connection. This ensures that there is no ambiguity when an IC connection name and a Salesforce DX alias match. If you manage your IDE configuration files in version control, please check in these changes and have your entire team, if appropriate, align on a plugin build that includes this change.
Issue 1184 - Support for SFDX-develop-against-any-org projects in Illuminated Cloud.
The Illuminated Cloud SFDX new project wizard can now create SFDX-develop-against-any-org projects by checking Generate Manifest in the first step.
The import project wizard automatically recognizes SFDX-develop-against-any-org projects and configures IC for them as appropriate.
The metadata subscription for an SFDX-develop-against-any-org project is automatically set to Package.xml and configured to use the package.xml file created during Salesforce CLI project creation. Subscription management is based mostly on manual package.xml authoring, but IC will prompt to add/remove package.xml entries as metadata files are added/removed in the IDE.
Retrieve for merge is not supported because the CLI is responsible for retrieval of metadata directly into the project.
Namespace substitution and deployment/retrieval substitution rules are not supported for the same reason.
Tooling API-based deployment works for Apex classes, Visualforce pages, individual simple static resources (not bundles), and individual Aura bundle files in SFDX-develop-against-any-org projects. This can often result in much faster deployment times for these metadata types than sending them through the CLI/Metadata API.
Static resource bundles in these projects are managed by the Salesforce CLI.
Issue 852 - Added an SFDX config option to specify that all push/pull operations against scratch orgs should use the -f flag to disable conflict detection and force overwrite the target copy. This option was added for some users who are seeing consistent false conflicts reported by push and pull operations and, as a result, are having to perform the operation twice each time. NOTE: If you are not seeing this type of issue, you should not enable this config option.
Previously an IC SFDX project could have only one module, and it had to be an SFDX module. Now IC's SFDX support is module-oriented instead of project-oriented. This means that you may now have an IntelliJ IDEA project with multiple SFDX scratch org modules, SFDX-develop-against-any-org modules, and/or traditional username/password modules. The correct module-specific behavior should be applied at all times. NOTE: WebStorm does not support multi-module projects, so unfortunately this change only applies when IC is hosted by IntelliJ IDEA Community Edition or Ultimate Edition.
The logic to auto-discover IC project/modules is now much more flexible and can find one or more SFDX modules nested below the project root, potentially as peers to username/password modules, and set up the project accordingly. NOTE: WebStorm does not support multi-module projects, so unfortunately this change only applies when IC is hosted by IntelliJ IDEA Community Edition or Ultimate Edition.
Fixed a number of issues with static resources in SFDX projects.
Removed auto-added null-valued Id fields from the SOQL query results table view.
Added startup-time validation for the host JRE and IDE versions. If unsupported versions of either are detected, the user is provided guidance on how to update as appropriate to resolve the issue.