2.1.4.8 release notes

Post date: Nov 12, 2020 3:18:48 PM

2.1.4.8

  • Issue 806 (redux) - Fixed an issue with reference resolution and code completion for fields listed in SOQL TYPEOF ELSE clauses.

  • Issue 1500 - Fixed an issue with expression type evaluation (and therefore chained completions) of inline collection initializer blocks.

  • Issue 1559 - Fixed several issues with bulk deployment actions when a supporting meta.xml file is used as the selected context for the action, specifically around out-of-date detection for the Deploy Modified Metadata action.

  • Issue 1714 - Fixed several issues with the extract/introduce variable refactoring when used against SObject constructor field initializer expressions.

  • Issue 1734 - Added a workaround for an issue with how PersonAccount metadata is incorrectly listed by the Salesforce APIs. I've also reported the underlying issue to Salesforce so that it can be fixed properly.

  • Issue 1737 - Added an exception to the Apex illegal assignment code inspection for all SobjectType fields reported by the Salesforce APIs that are of type String when used as instance variables and of type SObjectType when used as class variables.

  • Issue 1738 - Fixed an Apex parser issue with type declarations in anonymous Apex documents.

  • Issue 1741 - Prospective (though likely incomplete) fix for a slow indexing issue that can occur when a CLI-based org connection has expired or been deleted, and a project that uses that org for its connection is opened.

  • Issue 1746 - Added LWC components (LightningComponentBundle metadata type) to the default metadata subscription when creating a new metadata format project.

  • Issue 1752 - Fixed an issue with Anonymous Apex and SOQL Query tabs that are bound to local .apex or .soql files respectively where the connection between the saved tab and the file is lost across sessions.

  • Issue 1755 - Fixed an Apex parser issue with parameterized annotations on inner types.

  • Related to issue 1738, added a new code inspection, Apex > File contents verification, that verifies that the contents of Apex source files match the constraints of the containing files, specifically that:

    • Apex class files (*.cls) each contain exactly one top-level Apex class, interface, or enum with the same name as the corresponding file

    • Apex trigger files (*.trigger) each contain exactly one top-level Apex trigger with the same name as the corresponding file

    • SOQL Query files (*.soql) each contain exactly one SOQL query

    • Anonymous Apex files (*.apex) can contain any combination of type declarations, method declarations, and statements, so no validation is performed beyond what the Apex parser already performs

    • When issues are found, quick fixes are provided to help rename declarations or files as appropriate. Given the case-insensitive nature of Apex, when the names match in a case-insensitive manner but not in a case-sensitive manner, a warning is added with a quick fix to change one of the two names to match.

  • Added a provision for fixing known issues in retrieved metadata, and added a specific fix for retrieved installed package metadata if/when it includes an invalid activateRSS element.

  • Other related fixes and improvements.