2.2.1.4 release notes

 2.2.1.4

  • New Salesforce DX Push/Pull Command Support - Starting with the 7.144 / 2022-03-31 release of the Salesforce CLI, the force:source:push and source:force:pull commands (and several supporting commands) have been replaced with their open-sourced counterparts which were previously only available as beta. These new commands use a local source tracking file format that is not backward-compatible, so existing projects against source-tracked orgs—either scratch orgs or source-tracked sandboxes—must either reset the source tracking information or use the legacy versions of these commands until source tracking information can be reset (for scratch orgs, this is typically when the org expires and is recreated).

    Illuminated Cloud 2 now detects push/pull failures due to source tracking file version mismatches and prompts the user with the following options:

    • Switch and Retry - Configures the project to use the correct command set for the local source tracking files and immediately retries the failed push or pull. This command set is used for all subsequent pushes and pulls for that project/connection combination, though this can be explicitly configured as desired (see below). This is the safest option for projects with outstanding local and/or org changes and is therefore the default option.
    • Sync and Reset - Performs a push followed by a pull using the correct command set for the local source tracking files to ensure a consistent project/org sync state, then completely resets the source tracking information—both local and server—so that the new command set can be used with the project. This is the best option if you wish to move an existing project to the new command set without losing outstanding changes.
    • Reset - Completely resets the source tracking information—both local and server—so that the new command set can be used with the project. If there are outstanding changes locally or in the organization, they will be lost and therefore not be included in subsequent pushes or pulls. Use this option only if you know that your project already has a consistent project/org sync state and you wish to move to the new command set.
    • Cancel - Aborts the failed push/pull action without any changes to the project's configured command set or the source tracking state. Use this option if you wish to consider which option you'd like to pursue and/or want to reconcile the project/org sync state manually before committing to an option.

    As referenced above, the command set used for push and pull can be configured for a scratch org by opening Illuminated Cloud > Configure Application from the context of the desired project, then on the Connections tab selecting the scratch org for that project and either checking or unchecking Use legacy push/pull commands as desired. Note that when a new scratch org is created with the same alias as a previous scratch org for which this option was enabled, the option will be automatically disabled for the new org. The general thought is that the legacy commands are primarily useful for completing work in an active org at the time that the new commands were introduced, and when that org is replaced, the new commands should be used.

  • Issue 2055 - When generating an OST for a project with a namespace against an org with one or more installed packages with that same namespace, protected and public methods of global classes from that namespace are included in the OST. These methods are used by IC2 to properly detect concrete implementations of abstract and interface methods in packaged intermediate base classes and should not be referenced directly. They are omitted from code completions and flagged as errors if explicitly referenced in local source.
  • Issue 2072 - When opening Salesforce content in a browser from a project that uses a CLI-based connection, the IDE's Web browser settings are respected if possible. If the default browser policy is set to First listed and the first listed browser is Chrome, Firefox, or Edge—currently the only three values supported by the force:org:open command; I'm very surprised that Safari isn't an option on Mac—that browser will be used to open the content. Otherwise the system default browser will be used.
  • The value for orgName in the default config/project-scratch-def.json file for a newly-created SFDX project is now automatically changed to the name of the project itself. This should save unnecessary editing of the org name when creating a scratch org for the new project from its scratch org definition file.
  • Other related fixes and improvements.