2.3.3.8 release notes

2.3.3.8

  • Issue 2667 - Fixed an issue with the Apex extract method refactoring when used on statements from a static initializer.
  • Issue 2668 - Fixed an issue with resolution in SOQL TYPEOF/WHEN clauses in sub-queries.
  • Issue 2670 - Added specific formal parameter names to System.WebServiceMock.doInvoke() in the OST. Note that the OST must be regenerated to see the effect of this change.
  • Issue 2676 - Fixed an issue with the Structure View tool window that was introduced in 2024.3 due to a change in the threading model where it would either show no contents or raise an error.
  • Issue 2681 - Added a new configuration option to disable the new LWC TypeScript support feature. This option is available as Illuminated Cloud | Configure Application | Other | Lightning Web Components | Lightning Web Components TypeScript support (beta) and is enabled by default. When disabled:
    • The TypeScript checkbox is not displayed in the LWC component creation dialog.
    • TypeScript dependencies are no longer validated or installed automatically.
    • lwc directory-level tsconfig.json and eslint.config.mjs files are no longer created automatically.
    • TypeScript compilation no longer occurs automatically during deployment.
    Note that the .illuminatedCloud/lwc/types directory is still created and maintained automatically even when this option is disabled as it is used for ES6/JavaScript LWC development as well as TypeScript LWC development.
  • Issue 2682 - Fixed several issues with superfluous/redundant entries being added to .forceignore and/or .gitignore files. If you're still finding that these files are being changed once the core required entries have been added, please let me know exactly what's being added and why it should not be added and I'll be happy to take care of it.
  • Implemented several notable improvements/fixes for the new LWC TypeScript support feature:
    • Fixed all known issues with integrated TypeScript compiler execution:
      • Compilation now executes under the progress indicator properly, eliminating UI freezes during pre-deployment compilation.
      • In 2024.2+ commercial JetBrains IDEs, the IDE's compiler service is used, making for very quick compiles once the service has been initialized (often sub-second!).
      • In free Community Edition JetBrains IDEs and 2024.1 commercial JetBrains IDEs, the command-line compiler is used. Unfortunately 2024.1 commercial JetBrains IDEs seem to have a bug that I've been unable to resolve, so I recommend that all commercial JetBrains IDE users wishing to use this feature upgrade to at least 2024.2.
      • All compiles now use a dedicated tsconfig.compile.json file that eliminates transient false positives in the editor during and immediately after compilation.
    • Errors from the previous compilation are now automatically cleared when a new compilation begins.
    • Improvements and fixes for projects with multiple lwc directories.
    • Added several missing standard LWC library modules/components.

Next in the work queue...

  • I'm currently working to improve the editor experience for JavaScript, TypeScript, and CSS in JetBrains' free Community Edition IDEs despite their lack of bundled first-class support for those languages. In addition to implementing numerous fixes — most notably the issues with auto-indent when working in those files — I'm also seeing very promising results from Red Hat's free LSP4IJ plugin and the JavaScript/TypeScript and CSS LSP implementations. With those enabled, Community Edition users will now have access to the following features in those languages:
    • Context-sensitive code completion and auto-completion
    • Reference navigation
    • Static code analysis with (limited) automatic quick-fixes
    • Structure view
    • Parameter info
    • Inlay hints
    • Integrated API documentation
    • Syntax-aware code formatting
    • Limited refactoring capabilities (rename only?)
    While still not nearly as full-featured as a commercial JetBrains IDE, I'm actually pleasantly surprised at just how much it improves the editor experience for those file types in the free Community Edition IDEs.

    I'm not sure to what extent I'll actually automate/integrate LSP4IJ setup, but it's really only a few manual steps to get it going for these languages. It's more likely I'll start with proper documentation of those steps and perhaps an integrated one-time "nudge" to the user to apply those steps based on that documentation. Anyway, hopefully some very exciting advancements will be available for Community Edition users in the next build.