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 this is a side effect of the Enhanced Domains update, though that isn't confirmed. The workaround is to delete and recreate the OAuth connection to force generation of a new OAuth access token. See the next item for a potential issue recreating the same connection.
    • "Cannot read properties of undefined (reading 'id')" during OAuth login - This seems more concretely coupled to the Enhanced Domains update. Basically the CLI's cached information about an existing connection includes the original domain leading to this error when trying to re-authorize that same org. You must specify the login URL explicitly as described in the linked issue.
  • Issue 2175 - Added support for retrieving new metadata into a project with multiple source roots such that the metadata is added under a specified non-default source root instead of the default. When performing a metadata retrieval in a single-module project with multiple source roots using a custom metadata selection (i.e., the Contents drop-down is set to Custom), a source root selector is added to the retrieval dialog to specify where unmatched retrieved metadata should be placed. The source root selector's initial value is derived from the selection context when the retrieve action was started. If the selection resolves uniquely to a single source root, that is the initial selection; if not, the configured default source root is the initial selection. Note that in the interest of avoiding additional clutter in the retrieval dialog, the source root selector is only visible under the specific set of conditions described above, and the existing package.xml retrieve behavior selector is now also displayed only when applicable. The latter is a slight behavioral change from previous versions.
  • Added a new code intention (aka quick fix) to change the visibility of the current type or body declaration. The intention can be activated using Alt/Opt+Enter while the caret is on the declaration name or existing visibility modifier. The visibility options are filtered according to what is valid for the current declaration, though the current explicit visibility modifier is always included even if invalid.
  • Added support for Refresh on Activate in the Log Analyzer tool window such that the log header table is automatically updated from the selected connection upon activating the tool window. This is enabled by default but can be disabled if desired using toolbar toggle button.
  • Changed System.FinalizerContext to be an interface in the OST. Note that the OST must be regenerated to see the effects of this fix.
  • Implemented a prospective fix for an issue with the recent Apex Move Type refactoring where numerous unresolvable references could show for a type moved from the upper level to the inner level until the next edit.