2.3.8.4 release notes

2.3.8.4

  • Added full support for Salesforce GraphQL queries in both commercial and free JetBrains IDEs. A demonstration is available for all features described below.
    • Issue 2467 - General Salesforce GraphQL support features including:
      • Help installing, enabling, and configuring the JetBrains GraphQL plugin.
      • Quick fix to retrieve and register the org-specific GraphQL schema so that code completion, validation, etc., work properly in Salesforce GraphQL queries.
      • When the GraphQL schema is retrieved, IC can also include a default project configuration in the resulting graphql.config.yml file for the project's configured connection so that the GraphQL plugin can execute Salesforce GraphQL queries directly against the org. Note that this does require the connection's access token/session ID to be added to graphql.config.yml, but if that's a concern, it can be disabled as Illuminated Cloud | Configure Application | GraphQL | Configuration Management | Include connection information. If/when a GraphQL query execution results in an expired session ID, a new context action, Refresh Salesforce GraphQL configuration, can help update the GraphQL configuration for a valid access token/session ID.
      • If desired, this can all be disabled as Illuminated Cloud | Configure Application | GraphQL | Configuration Management | Enable GraphQL configuration management.
    • Issue 2865 - Added support for converting SOQL queries into the corresponding GraphQL queries. This feature is provided as a context action on all SOQL queries and *.soql files, and as a toolbar action in the SOQL Query tool window. Conversion requires the org-specific GraphQL schema to be retrieved and registered with the IDE. The resulting GraphQL query is automatically opened in a GraphQL scratch file editor from which it can be further authored, executed against the project's configured organization (requires Include connection information to be enabled), etc.

      NOTE: This feature is currently incomplete and does not support conversion of several SOQL clause types and language features, specifically:
      • Aliases
      • FROM clauses with multiple SObject types/references
      • Non-aggregate functions in ORDER BY and GROUP BY clauses
      • The following clauses:
        • USING
        • WITH
        • HAVING
        • LIMIT
        • OFFSET
        • FOR
        • UPDATE
        • ALL ROWS
        So far it doesn't look like most of these clauses actually have analogs in GraphQL other than perhaps LIMIT and OFFSET which may map to paging.
      I intend to continue filling in these (and other identified) gaps in this query translation feature. Certainly feel free to let me know if you find something to be missing or incorrect, ideally providing the following:
      • Input SOQL
      • Expected GraphQL
      • If available, a link to the respective documentation on this mapping. If not, whatever detailed mapping information you can provide.
  • Issue 2872 - Addressed more "Plugin might be slowing things down" reports.
  • Issue 2877 - Fixed an issue where conflict detection would be performed incorrectly during check-only deployments.
  • Refactored the IC application-level configuration so that the Unit Tests and Code Coverage tab is now named Apex, and the Other tab has been decomposed into LWCAgentforce, and Other with the last being things that don't fit well into a single tab/category. As noted above, a new GraphQL tab has also been added to application-level configuration.
  • Quite a few other related fixes and improvements.