2.3.0.4 release notes

 2.3.0.4

  • WEB-65796 - Improved completion, reference navigation, validation, etc., for the following LWC constructs when using IC2 with a 2023.3+ commercial JetBrains IDE:
    • The PageReference parameter of this[NavigationMixin.GenerateUrl/Navigate](...). All PageReference properties should now be offered as completions and resolve properly, but constrained/enumerated values of those properties are not yet offered correctly in completions. This is due to a reported and confirmed issue in the base JetBrains IDE itself that should hopefully be fixed in a near-term release.
    • The config parameter of the @wire decorator should now properly reflect the expected parameters of the wired function or @AuraEnabled Apex method.
  • Issue 2526 - Fixed a performance issue that could occur in the SOQL Query results table when large text/blob fields are included in the result set.
  • Issue 2532 - Fixed an issue that could occur when deleting foldered metadata where the parent folder(s) would also be removed from the subscription and included in the destructive changes deployment incorrectly.
  • Issue 2539 - Apex Parameter Info (Ctrl/Cmd+P) now properly depicts deprecated signatures (strikethrough), incompatible signatures based on the current (partial) argument list (grayed), and the resolved signature based on the current argument list (checkmark).
  • Issue 2541 - Fixed a potential error with the syntax annotator that could be raised during indexing.
  • Fixed an issue where references could be added to Apex methods for eclipsed symbols from base types.
  • Other related fixes and improvements.

IC2 and PMD 7

PMD 7 was released late last week and is currently incompatible with IC2's PMD Salesforce code inspection due to significant changes in the Java API between PMD 7 and all earlier builds including both PMD 6 and the PMD 7 release candidates. I have already made the necessary changes locally to support PMD 7, but due to the extensive nature of these API changes, it's untenable to have a single real-time/in-process integration that works with both PMD 6 and PMD 7. As a result, I am planning to release an IC2 update shortly that will require users to migrate to PMD 7, something that all users will want to do anyway as PMD 7 includes a new Apex parser that fixes several known issues from PMD 6 such as proper support for the new null coalescing operator. I will be happy to share the list of changes that I've had to make to my own PMD 6 ruleset files to ensure that they work properly with PMD 7.

This build doesn't yet include PMD 7 support as the current released version of the Salesforce Code Analyzer — specifically the PMD AppExchange ruleset — is also incompatible with the GA release of PMD 7. Salesforce has already released a beta-level update to Salesforce Code Analyzer that includes proper PMD 7 support, and I have confirmed that it appears to work properly with IC2's integration of that feature. I would like to have a little more test/burn-in time on all of these very new changes but intend to release an IC2 update with PMD 7 support very shortly (hopefully next week). In the interim, please continue to use PMD 6.55.0 which is the last released version that does work properly with both IC2 and the released version of Salesforce Code Analyzer.

For more information, please see/watch issue 2537 in the public issue tracker. I will post new information there as it becomes available.