2.3.2.4 release notes

2.3.2.4

  • Note that IC2 is compatible with IntelliJ IDEA 2024.2 and should also be compatible with other supported JetBrains IDEs as they are similarly updated to 2024.2. If you find any issues after updating, please report them in the public issue tracker.
  • Issue 2604 - Implemented additional fixes for proper rendering of @NamespaceAccessible symbols from installed packages with the same namespace as the target org in the generated offline symbol table. It turns out that there are several issues with ApexClass.SymbolTable that can result in missing or incorrect @NamespaceAccessible symbols. I've managed to work around those issues using an alternate source of information about symbols from custom classes, and now (hopefully) the OST should completely and accurately reflect all @NamespaceAccessible symbols from installed packages. Note that OST regeneration is required to see the effects of these fixes.
  • Issue 2606 - Apex unit test execution now properly respects exclusion via .forceignore.
  • Added support for Apex string literal language injection for Cron expressions in IntelliJ IDEA Ultimate Edition 2024.2+. String literals passed as the cronExp second argument of System.System.schedule() are automatically injected, and it's possible to inject into any other Apex string literal by adding a preceding comment of the form (with CronExp case-sensitive):
    // language=CronExp
    String cronExpression = '0 * * * Sun';
    Unfortunately the new inlay hints that show a textual description of the injected cron expression beside the injected string literal aren't yet extensible for custom languages. If/when such an extension point is made available, I'll add inlay hint support for injected Apex string literals. Until then, you can use the IDE's quick documentation feature (Ctrl+Q on Windows/Linux or F1 on Mac) to see a textual description of the cron expression.
  • Fixed a bug with IC2's Markdown-to-HTML converter when the very last line in the provided Markdown is a list item without a trailing newline.
  • Implemented a number of additional fixes to types in the Slack namespace, particularly proper placement of inner classes. Note that OST regeneration is required to see the effects of these fixes.
  • Toaster popup notifications now include additional formatting for symbolic names and constants.
  • Other related fixes and improvements.