2.2.3.8 release notes

 2.2.3.8

  • Issue 2203 - Prospective fix(/workaround) for a reentrant indexing issue that appears to have been introduced after a relatively recent JetBrains IDE update.
  • Issue 2205 - Fixed an unintentional regression introduced in the previous release with code completions for parameterized collection type constructors where the type parameters were no longer properly included in the inserted constructor.
  • The Apex Unresolvable Signature code inspection now flags attempts to construct an abstract class.
  • The Apex Illegal Assignment code inspection now verifies the correct data type for operands of the unary bitwise complement operator as being of type Integer or Long.
  • Local variables in the current scope are now collected in reverse order of declaration from the current caret. This ensures that the "closest" local variable with a given name is used for purposes of reference resolution, code completion, etc.
  • The module validator now helps to add the top-level .sfdx and .sf directories as configured exclusions. If there are existing exclusions below the .sfdx directory, they are rendered superfluous and are removed in the process.
  • Several prospective fixes for issues with initial project import and conversion in IntelliJ IDEA, specifically where the user would be notified of an invalid module type even after the module type conversion step had occurred. I finally tracked down the root cause of this behavior and as a JetBrains bug which I've logged as IDEA-302630.

    With the implemented fixes, the repeated notification of an invalid module type should occur much less frequently—hopefully not at all, though the timing can vary as it's fundamentally a cache consistency issue that seems to resolve itself after a period of time—and if/when it does happen, the user is clearly notified of the situation and is prompted to restart the IDE rather than close and reopen the project.

    In the process of implementing these fixes/workarounds for this issue I ran across a few other bugs and UX issues in that process, some of which are also addressed in this build and at least two others that I plan to address in the next build. The end goal is that initial project import and conversion is restored to a smooth and seamless process.