Posts

Showing posts from August, 2024

2.3.2.7 release notes

2.3.2.7 Issue 2587  - Added  Redundant suppression  code inspection support for Apex annotation- and comment-based inspection suppressions. Suppressions found for scopes that never raise the suppressed inspections are now flagged as warnings with quick fixes to remove the the associated inspection IDs. When no further inspection IDs are suppressed, remove the containing annotation or comment. Note that this does  not currently support  annotation-based suppressions of  PMD-based rule violations  due to limitations in both the IDE's  Redundant suppression  code inspection (issue raised  here ) and PMD itself (issue raised  here ). Details are available in the pinned comment of the linked issue for those who might be curious. Issue 2608  - Implemented a few additional optimizations for transitive dependencies and dependents calculations, but this is not a true fix for the performance problems described in the linked issue. In rea...

2.3.2.6 release notes

2.3.2.6 Issue 2564  - When files ignored by  .forceignore  are included in a retrieval request, they are now moved into an  ignored  sub-directory of the temporary retrieval directory, and the user is notified with an option to view the retrieved ignored files. The two primary reasons for this are: The subscription includes metadata types subscribed via wildcard for which specific metadata objects have been ignored. The subscription includes parent metadata objects for which specific child metadata objects have been ignored. Issue 2598  - Fixed an issue with the Apex extract constant refactoring where the new constant could be generated in the middle of an existing multi-line field declaration, e.g., between the field's annotations and its modifiers. Issue 2616  - Fixed an issue that materialized with the recent JetBrains 2024.2.0.1 hotfix update where IC2 would incorrectly notify the user that an up-to-date IDE is lower than the recommended version (c...

2.3.2.5 release notes

2.3.2.5 Hotfix for  2.3.2.4  with the following fix: Issue 2610  - Fixed a regression with explicitly-configured Apex unit test run configurations from 2.3.2.4. Note that affected run configurations — specifically those that have been executed under this bug — will likely need to be reconfigured after updating to this change because the bug would remove configured test class information in-place instead of in a working version.  

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

2.3.2.3 release notes

2.3.2.3 Issue 2602  - The recent change to detect proactively Tooling API-based deployments of active  Schedulable  classes and/or their transitive dependencies was still causing numerous issues, some behavioral and some performance-related. I decided to take a step back and re-evaluate the approach as deployment via the Tooling API is, by design, intended to be faster in general than deployment of the same content via the Metadata API, and this type of proactive check was potentially minimizing or even losing those benefits. I've now removed all proactive checks and instead made this a reactive behavior. IC2 will again attempt to deploy things that it typically can via the Tooling API, but now if that deployment fails due to  very specific  types of errors and  only  those types of errors, the same deployment will automatically be retried via the Metadata API which does not have the same issues deploying active  Schedulable  classes and/or t...