release notes

posted Feb 18, 2021, 11:10 AM by Scott Wells

  • Issue 1817 (redux) - The fix for this issue in the last build introduced a small regression that could cause type code completions to fail in certain situations. This resolves that regression while retaining the original fix.
  • Issue 1825 - Added a notion of a local breakpoint to the offline Apex debugger distinct from the existing server checkpoint-based breakpoint. Enabled local breakpoints cause the offline debugger to suspend execution but have no effect on the server execution of the process nor are they limited in number. Server checkpoints are still limited to a maximum of five based on Salesforce API restrictions. When adding a breakpoint to Apex source, the user is now prompted as to which type should be added.
  • Issue 1826 - Provided better result set size validation handling for queries with an existing GROUP BY clause containing the Id field. Made result set size validation not stop actual query execution when its mutated query execution results in a MALFORMED_QUERY error.
  • Fixed qualified variable name presentation in the offline Apex debugger's variables view for values from heap dumps.
  • Fixed navigation from qualified variable names in the variables view to the corresponding source declarations.
  • Minor cosmetic improvements to the server checkpoint properties dialog.
  • Other minor fixes and improvements. release notes

posted Feb 15, 2021, 6:57 AM by Scott Wells

  • Spring '21 / API v51.0 Updates
    • Updated all SOAP API clients to be based on API v51.0 WSDLs.
    • Updated the API version used for primary communication with Salesforce APIs to 51.0.
    • Added 51.0 as an available API version number for configured connections.
    • Updated metadata.xsd used for validation and code completion in metadata XML files to API v51.0.
    • Updated the OST version number to prompt regeneration for changes in API v51.0.
    • Added support for the @InvocableMethod annotation Callout parameter.
    • Added support for the new SOQL FIELDS() function including a new Apex/SOQL live template, SELF, that generates:
      • SELECT FIELDS(<Scope>) FROM <SObjectType> LIMIT <RowLimit>
      • <Scope> is selected from [ALL, SYSTEM, CUSTOM]
      • <SObjectType> is of course selected from the list of SObject types
      • <RowLimit> is the maximum number of rows returned with a default of 200
      This is not intended as a replacement for the existing SEL* live template which explicitly lists all scalar fields in the SELECT clause. That is still a very useful mechanism for creating detailed SOQL queries. Instead it's meant to be an alternative for when a specific subset of fields and/or a more compact representation of the syntax for querying fields en masse is desired.
    • Added support for the new custom metadata type getAll()/getInstance() finder methods. The OST must be regenerated to see the effect of this change.
    • Updated the modifier agreement code inspection to warn when an @AuraEnabled property is found with a private read accessor/getter.
    • Add a code inspection to denote usages of Aura components in the ui namespace as deprecated with a link to the corresponding release notes entry that documents the migration paths to the corresponding lightning namespace components.
    • Add a code inspection to denote usages of SLDS BEM notation as deprecated with a quick fix to convert the usage to underscore notation.
    • Updated Visualforce, Aura, and LWC components, functions, modules, etc., for Spring '21.
    • Updated the bundled SLDS to 2.14.1 (sanitized version).
    • Updated the SFDX JSON schema definitions.
    • Updated the standard value set names.
    • Updated all integrated API documentation. release notes

posted Feb 12, 2021, 3:20 PM by Scott Wells   [ updated Feb 12, 2021, 3:35 PM ]

  • Hotfix for an Apex code completion issue introduced in where completions were no longer shown properly after typing . in a reference expression.
  • Fixed several issues in the Lightning Lint bulk code inspection due to changes in the CLI's JSON output.
  • Other related fixes and improvements. release notes

posted Feb 11, 2021, 7:59 AM by Scott Wells

  • Issue 1808 (redux) - Fixed several issues with the Create Unresolvable Declaration code intention.
  • Issue 1813 - Fixed several issues that could occur during metadata operations when the local and server metadata names have a case mismatch.
  • Issue 1815 - Made all compile-time constants for SObject types and fields navigate to the respective type or field declarations. Some of these constants actually resolve to other data types, e.g., Schema.DescribeSObjectResultSchema.DescribeFieldResult, and Schema.SObjectTypeFields, and must do so for type inference, variant code completion, etc., to work properly. Now references that resolve to those other metadata types will navigate to the expected SObject type or field respectively. The syntax annotator has also been updated so that these types of SObject field references are highlighted as fields.
  • Issue 1817 - Fixed an issue where the type parameter of a System.List or System.Set collection would not be propagated to and through calls to the respective iterator() methods.
  • Issue 1818 - Made SObject fields named ChangeEventHeader that are reported by the Salesforce API as type COMPLEXVALUE render as type EventBus.ChangeEventHeader. The OST must be regenerated to see the effects of this change.
  • Issue 1821 - Added PlatformEventUsageMetric to the list of objects for which SOQL query row count validation should not be performed.
  • Implemented several Apex code completion fixes and improvements, specifically around declaration data and return types.
  • Added an Apex deprecated API usage code inspection that displays usages of @Deprecated Apex symbols as deprecated (by default, in strikethrough).
  • Added declaration annotations to rendered ApexDoc. In the process I also implemented minor cosmetic improvements to rendered ApexDoc to be more consistent with recent updates to JavaDoc in the base IDE.
  • Fixed an issue with references and code completions in LWC braced expressions that are a subset of a larger contiguous (i.e., no intermediate whitespace) HTML block.
  • Provided more flexibility for when certain LWC file creation actions are enabled, in particular directory creation and, within subdirectories of LWC bundle directories, HTML and CSS file creation.
  • Added missing SFDX scratch org features. There will be more of this work in the upcoming Spring '21 / API v51.0 update.
  • Other related fixes and improvements. / Update

posted Feb 8, 2021, 7:23 AM by Scott Wells   [ updated Feb 8, 2021, 10:07 AM ]

I miscalculated and accidentally released the Spring '21 / API v51.0 update prematurely as it's not completely rolled out to all instances/orgs. I've pulled the build and reissued as to force those who got the intermediate update to revert back to the previous build. My sincere apologies if you were affected by this mistake. The Spring '21 / API v51.0 update will be made available again once all instances and orgs have been upgraded. release notes

posted Feb 4, 2021, 7:57 AM by Scott Wells

  • Issue 1801 (redux) - Improved end user feedback when the workaround for the INVALID_CROSS_REFERENCE_KEY Tooling API deployment error is applied:
    • If the error was encountered but the Tooling API deployer is able to complete the request, the status is changed to warning (if not already warning or error) and a message is added to the deployment details in the Messages tool window that the API error was encountered and may have lengthened the deployment time. The user is advised that Tooling API-based deployment of Apex and Visualforce should perhaps be disabled until Salesforce issues a fix.
    • If the error was encountered and the allowed retry count (10) was exceeded, the user is notified about the nature of the deployment failure and is prompted to disable Tooling API-based deployment of Apex and Visualforce until Salesforce issues a fix.
  • Issue 1583 - Fixed an issue with the log-based debugger that prevented it from stepping into mock callouts and Web services properly. Note that this requires the Callout log level to be raised to a minimum of INFO. All affected log level presets have been adjusted accordingly.
  • Improved the display and behavior of Apex test stubs/mocks in the log-based debugger.
  • Adjusted the way that stack frames for system types are displayed in the log-based debugger. They are now grayed to provide a visual distinction between stack frames in system types and those in custom types.
  • Fixed an issue that could occur when trying to execute a unit test run configuration for profiling where the Log Analyzer profiling view wouldn't be automatically displayed upon test completion.
  • Other related fixes and improvements. release notes

posted Jan 28, 2021, 7:56 AM by Scott Wells

  • Issue 1792 - By default Illuminated Cloud will automatically regenerate the appropriate SObject OST entries on successful deployment of object and field metadata. This can now be disabled if desired by unchecking Illuminated Cloud > Configure Application > Validation and Deployment > Behavior > Update offline symbol table on successful deployment.
  • Issue 1793 - Fixed all known issues with symbols in the system CommercePayments namespace. The OST must be regenerated for these changes to take effect.
  • Issue 1798 - Fixed an Apex/SOQL parser issue with bind expressions used as values for the SOQL DISTANCE function.
  • Issue 1801 - The Salesforce Spring '21 update seems to have introduced a regression in deployment via the Tooling API that can result in an INVALID_CROSS_REFERENCE_KEY error. I am currently working with Salesforce support and engineering to reproduce, diagnose, and hopefully fix this issue, but this build includes a workaround where such a failure will be retried up to five times before completely failing the deployment request. The INVALID_CROSS_REFERENCE_KEY error seems to resolve itself within an attempt or two after which the deployment request proceeds as normal, though the failed attempts appear to take approximately ten seconds each. This workaround should keep deployments from failing outright, but if you're experiencing long deployments via the Tooling API, you can instead switch to the Metadata API by unchecking options under Illuminated Cloud > Configure Application > Validation and Deployment > Prefer Tooling API for.
  • Issue 1808 - Fixed an issue that kept the Create ... declaration context action from being offered for an unresolvable reference when there's a previous non-reference expression in a composite expression.
  • Issue 1810 - Fixed an issue with finding/reusing an existing OST for a connection where the sanitized form of the connection name is different from the raw form of the directory name.
  • Issue 1812 - Partial fix for a slow performance issue during metadata retrieval observed by at least one user. The remaining issue seems to be related to a recent change in the JetBrains plugin SDK that is being tracked here.
  • When attempting to run Apex unit tests against a connection that is not associated with the current project, by default the user is now prompted whether to continue as-is, configure the Apex unit test run configuration so that a different connection can be selected, or cancel the test run. This behavior can be disabled if desired by unchecking Illuminated Cloud > Configure Application > Unit Tests and Code Coverage > Unit Tests > Prompt when executing tests against non-project connections.
  • When running an Apex test class/method for log-based debugging or profiling, any existing matching run configuration is checked for whether it already has sufficient log levels for that type of analysis. If not, the user is prompted to choose a log level preset as appropriate.
  • Fixed an issue with resolution of module validation issues that would require OST regeneration in some situations where an OST is already present and up-to-date for the selected connection.
  • Fixed an issue with Apex variant code completions when used in an assignment expression within an invocation argument list, most often an SObject constructor with field value initializers.
  • When an Illuminated Cloud Problems tool window tab is closed, all errors reported in that tab are now also cleared properly.
  • Fixed several system data types that should be represented in the OST as enums but were instead rendered as classes. The OST must be regenerated for these changes to take effect.
  • Fixed an issue with the (un)comment line/block actions in SAQL files.
  • Other related fixes and improvements. release notes

posted Jan 19, 2021, 9:49 AM by Scott Wells

  • Implemented extensive support for statement completion in Apex. Statement completion helps the user to create syntactically correct code constructs by inserting the necessary syntax elements (parentheses, braces, semicolons, etc.) and leaves the caret in a position to begin typing the next statement or to correct any remaining syntax issues that could not be resolved by the IDE. Statement completion is supported in Apex when writing declarations, statements, and SOQL queries. The exact behavior varies based on the state of the current Apex syntax element. This feature is invoked using Ctrl+Shift+Enter on Windows and Linux or Cmd+Shift+Enter on Mac (default keymaps).
  • Issue 1794 - Prospective fix for a performance issue in projects with very large numbers of metadata files, specifically when collecting code completion candidates based on metadata file names.
  • Fixed one more instance of the issue that started with 2020.3 where module facet configuration wouldn't be properly persisted, in this case when a Selected metadata subscription is automatically updated in response to filesystem changes.
  • Fixed two issues with the cache used for custom labels files that could result in issues seeing/resolving custom labels properly.
  • Found and fixed a few more areas where reentrant indexing could occur.
  • Fixed an issue that prevented the OST/SDK for a project from being found and used when its connection cannot be resolved.
  • Other related fixes and improvements. release notes

posted Jan 7, 2021, 8:48 AM by Scott Wells

  • Issue 1647 - Added limited support for SAQL files (those with the .saql file extension) including syntax highlighting, simple code completion, simple auto-indentation, quote/paren/brace/bracket matching. This is not intended to be full custom language support but rather to provide improved authoring of SAQL files from within the IDE.
  • Issue 1784 - Allowed remote action methods to be picked up from the class hierarchy and not the leaf class through which the reference is established.
  • Fixed an Apex code completion issue in assignment expressions used as invocation arguments in constructors/new expressions.
  • Denoted the SFDX cache configuration file as per-instance/private so that it cannot be exported/imported and is not included when syncing with a settings repository.
  • Other related fixes and improvements.

Regarding the New York Times' recent article on a potential JetBrains security concern

posted Jan 7, 2021, 7:40 AM by Scott Wells   [ updated Jan 8, 2021, 9:29 AM ]

I wanted to provide some thoughts regarding a story published by the New York Times yesterday (January 6, 2021) about a potential security issue in JetBrains software related to the recent SolarWinds exposure:

JetBrains has already provided their own statements about the story:
JetBrains addresses the concerns very well, so I won't repeat what they've already said. I will summarize, however, by saying there do not appear to be any legitimate security attack vector concerns with JetBrains products in general, and the reported claims are not with the JetBrains products used by Illuminated Cloud 2, specifically the IntelliJ IDEA, PhpStorm, PyCharm, RubyMine, and WebStorm IDEs.

Both Rose Silver Software and JetBrains place the highest priority on the security of their respective products. If you have additional questions about this matter, feel free to send them to support@illuminatedcloud.com or to JetBrains' own support channels directly.

Scott Wells

1-10 of 189