release notes

Post date: Mar 05, 2018 3:52:6 PM

  • Issue 894 - Significant performance optimizations for OST generation, in particular against orgs with large numbers of custom Apex classes (packaged or unpackaged). Note that the primary optimization does come with a few caveats listed below. Please let me know if you see any other negative effects of this change ASAP so that I can address them, and if you're seeing particularly notable performance gains (I've heard about 30-40 minute OST gen times going down to 2-3 minutes!), please share those details as well.

    • I've noticed that the new APIs can "lose" some global symbols from types in installed managed packages, in particular interface methods. I've reported this issue to Salesforce.

    • The final modifier is dropped from class constants in installed managed packages. This change should be benign, but I do want to make users aware of it. I've also reported this issue to Salesforce.

  • In addition to the OST performance optimizations, I also added a connection-level option, Ensure Field Read Access, to configure whether SObject fields should be made readable by the current user or not. IC does this by updating the current user's profile to have read access for all SObject fields. Without read access, fields are not included in the OST and are therefore not available for code completion, integrated documentation, navigation, etc., and will show up as unresolvable references in the editor. It is recommended that this option be enabled when working with any type of developer organization, e.g., DE orgs, Partner DE orgs, dev scratch orgs, etc. It would make sense to disable it against production, sandbox, and UAT orgs where authorization should be managed carefully.

  • Issue 865 - Prospective fix for an issue loading binary static resource bodies.

  • Issue 882 - Expanded the effect of @TestVisible annotations on enum types to provide access to class and instance methods such as name() as well as enum constants.

  • Issue 892 - Fixed an issue with ternary expression type inference.

  • Issue 895 - Fixed an issue that caused the type of List<List<ElementType>>[0] to be incorrectly inferred as List<ElementType>[].

  • Issue 902 - Fixed a long-standing issue with the way that inheritance relationships are determined. If you see any further false negatives around inheritance relationships, please let me know.

  • Issue 904 - Allowed future reserved words loop and of as valid identifier names in the Apex parser.

  • Fixed another few instances of "Test Ignored" issues. As before, the root cause issues should now be reported at the class level. If you see any further instances of "Test Ignored" without some type of directional guidance on how to resolve the issue, please let me know ASAP.

  • Fixed an issue that could result in the IDE locking up when applying USER_DEBUG-only filtering to unit test output.

  • Other minor fixes and enhancements.