Posts

Showing posts from September, 2022

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 v...

2.2.3.7 release notes

  2.2.3.7 Issue 2197  - Made the safe navigation operator even safer by flagging usages of that operator in expressions which can, by definition, evaluate to a null value in contexts which require a non-null value, e.g., control flow conditions, logical/arithmetic/relational expressions, DML statements, array bounds, thrown exceptions, etc. These types of issues are reported as warnings with a quick fix to replace the safe navigation operator ( ?. ) with the standard navigation operator ( . ). Note that in the process I also noticed that usages of the safe navigation operator in unary pre- and post- increment and decrement expressions should result in an error just as with a usage of the safe navigation operator on the left-hand side of an assignment expression. Implemented a number of quality-of-life improvements in the Apex language editor: Improved smart completion in invocation argument lists such that after a smart completion is accepted for an argument expression, the ca...

2.2.3.6 release notes

  2.2.3.6 Issue 2196  - Fixed an issue with inherited raised event handlers not being detected properly in custom LWC component usages. Issue 2199  - Added missing  renderUsingSystemContextWithoutSharing  attribute to the  messaging:emailTemplate  Visualforce component definition. Enhanced the Apex  Control Flow Analysis  code inspection to detect opportunities for and issues with the  final  modifier as a mechanism for implementing field and variable immutability. A  demo video  has been posted detailing these enhancements. Added support for moving static members from triggers as well as classes. Inner types can be moved to the upper level or to an Apex class. Other static members can be moved to an Apex class. Note that I do  not  plan to add support for moving static members  to  a trigger as that promotes an anti-pattern, specifically that  triggers should not include business logic . Added str...

2.2.3.5 release notes

  2.2.3.5 Issue 2190  - Winter '23 introduces a new  System.Assert  class as an alternative to the traditional  System.System.assert*  methods. This created a slight resolution ambiguity for IC2 between the  System.assert()  method and the new  System.Assert  type which has been addressed in this build. Issue 2191  - Added support for context-based execution of all Apex unit tests under a selected directory. Now if you right-click on a directory that contains at least one Apex unit test class, you will be offered the standard options for unit test execution and run configuration management. This will result in an Apex unit test run configuration based on that directory which, when executed, will find all Apex unit tests in that directory recursively and execute them. Just as with all other types of unit test run configurations, these may be managed under version control. Issue 2192  - Enhanced Apex code coverage directory annot...

2.2.3.4 release notes

  2.2.3.4 Winter '23 Preview Known Issues  - The Winter '23 preview was pushed out into a number of orgs over the weekend and is also available in scratch orgs created with  "release": "preview" . This update has caused a few issues with IC2 but also in general. While these issues aren't directly addressed in this update—they should be addressed by Salesforce or have simple workarounds—I wanted to list the ones I've seen and link to the pseudo-KB items I've logged to help lessen the grief for those who encounter them: OST generated against Winter '23 org is missing most Apex system types  - A Tooling API REST resource used to build the OST results an internal server error. This should be fixed in the next Winter '23 preview patch any day now (hopefully by the time you're reading this). A manual workaround is described in the linked issue. "Invalid Session ID ... DataInDbSessionKeyDecoder" issue  - The leading theory is that ...