release notes

posted Jul 22, 2021, 7:50 AM by Scott Wells

  • Issue 1932 - Improved the XSD entries for LWC component meta.xml file targets and targetConfigs elements for improved code completion and validation.
  • Issue 1936 (partial) - The Apex trigger creation dialog now adjusts the SObject type selection combo-box width to accommodate the longest SObject type name.
  • Updated the illegal assignment code inspection to detect and flag overridden methods and abstract/interface method implementations which change the return type in an incompatible manner. When this situation is detected, a new code intention/quick fix is provided to correct the return type.
  • Evidently Object.equals and Object.hashCode can be redeclared in custom classes with incompatible return types in which case they are not actually considered overrides of the base class methods. When this situation is found, IC2 no longer adds an override relationship reference.
  • Made aria-* attributes more strongly-typed so that code completions and validation are provided for those that are of an enumerated, boolean, or numeric type.
  • Added RemoteAction as an allowed identifier name.
  • Other related fixes and improvements. release notes

posted Jul 13, 2021, 9:36 AM by Scott Wells

  • Issue 1918 - When a debug level or trace flag is created, the corresponding new table row is scrolled into view immediately.
  • Issue 1927 - Significant improvements to the bundled LWC standard component library, both in HTML and in JavaScript:
    • IC2 now includes proper TypeScript class definitions for the standard component classes for import into ES6 modules. These class definitions include all properties and methods, and properties with complex data types–either known object schema or known allowed values–are defined as such.
    • Code completions are now offered for attributes with known allowed values in HTML.
    • Numeric, boolean, and enumerated type attribute values are now validated against their data types in HTML.
    • Updated the standard component library, in particular updating attributes' required designation based on the latest published documentation, though also added some missing attributes and methods.
    • Added support for LWC component inheritance when used with a commercial JetBrains IDE (i.e., not a Community Edition IDE). This ensures that when extending an existing LWC component, inherited component attributes are available for code completion, reference resolution/navigation, validation, and quick documentation.
    Sincere thanks to Xander Victory for suggesting many of these changes and helping validate them as they were implemented!
  • Improvements to the HTML formatting used in rendered quick documentation and OST field header documentation comments.
  • Other related fixes and improvements. release notes

posted Jul 1, 2021, 8:15 AM by Scott Wells

  • Additional Summer '21 / API v52.0 Updates
    • Issue 1924 - Added a few missed Summer '21 updates for LWC quick actions support.
    • Added a few missed Summer '21 scratch org features for Experience Cloud that were only documented/mentioned in a Trailhead discussion thread.
    • Updated the LWC standard component type libraries to include the latest declared component methods.
  • Fixed an issue with deployment of field translation metadata. Note that there are still several issues/limitations around retrieval of field translation metadata, specifically that it must be retrieved via the parent object translation metadata, and the associated custom object must be retrieved at the same time for the field translations to be included. This is similar to known limitations with retrieval of permission set and profile metadata. I will investigate options for assisting the user with retrieval of metadata types which must occur in conjunction with related metadata objects to receive fully-populated documents shortly.
  • Fixed an issue that could result in repeated status bar widgets when closing and immediately reopening a project window, e.g., in response to OST regeneration.
  • Other related fixes and improvements. release notes

posted Jun 14, 2021, 8:12 AM by Scott Wells

  • Summer '21 / API v52.0 Updates
    • Updated all SOAP API clients to be based on API v52.0 WSDLs.
    • Updated the API version used for primary communication with Salesforce APIs to 52.0.
    • Added 52.0 as an available API version number for configured connections.
    • Updated metadata.xsd used for validation and completion in metadata XML files to API v52.0.
    • Updated the OST version number to prompt regeneration for system API changes in API v52.0.
    • Added apexTestAccess and release properties to the JSON schema for sfdx-project.json files.
    • Updated Visualforce, Aura, and LWC components, functions, modules, etc., for Summer '21.
    • Updated the bundled SLDS to 2.15.8.
    • Updated all integrated API documentation.
    • Added XML file type associations for new metadata type file extensions.
  • Issue 1895 - With a bit of creative scripting and some serious abuse of the limits in one of my orgs, I was able to derive strong data types for pretty much all untyped fields in the ConnectApi namespace types. There are still a handful of remaining untyped fields, but they're ones that are reported by the Tooling API but result in errors when referenced in Apex above a particular version as they're no longer part of the API. This should provide a very high-fidelity version of the ConnectApi types in the OST.
  • Issue 1914 - Fixed an issue with missing polymorphic relationship information when polymorphic fields are present in local project .object or .field-meta.xml files.
  • Issue 1917 - Fixed an issue that would occur when sfdx-project.json is malformed and cannot be parsed. Previously the error would only be logged and the null parsed project data would be retained until the project was closed and reopened. Now the parse error is presented to the user, and once the file can again be parsed, it is properly loaded again.
  • Fixed an issue with resolution of local declarations in Apex scratch files. release notes

posted Jun 3, 2021, 8:48 AM by Scott Wells

  • Release notes are now displayed in a balloon notification once after each Illuminated Cloud 2 plugin update. You may very well be reading this in just such a notification now!
  • Issue 1909 - Companion/related files, e.g., supporting meta.xml files, were only being removed along with primary metadata files when Deploy on save is enabled. Now they're removed properly even when that feature is disabled.
  • Added concrete data types for many (>2000) fields of types in the ConnectApi namespace that are otherwise reported by the Salesforce Tooling API as untyped/Object. In the absence of another canonical source, these fields' data types were derived the Salesforce documentation, but unfortunately not all types in that namespace are documented. As a result there are still many, many fields that remain untyped because there is no good way to determine their proper data types. I consider this a glaring omission in the goal for a high fidelity SDK for Salesforce Apex development, so in a future pass I may try to use the actual Apex compiler itself to discern data types for the remaining fields.
  • Prospective fix for a cache consistency issue that could result in a stale cached virtual file when a file is removed and then recreated at the exact same path.
  • Other related fixes and enhancements. release notes

posted May 27, 2021, 7:48 AM by Scott Wells

  • Issue 1890 - Implemented a few usability improvements for when a source format module is found to use a native connection and/or non-Package.xml metadata subscription.
  • Issue 1895 - Added proper type inheritance relationships for types in the ConnectApi namespace. The OST must be regenerated to see the effect of this change.
  • Issue 1899 - Added support for configuring bulk metadata delete operations to be executed as check-only and/or with unit test execution. NOTE: I have not been able to verify this against a true production organization, but the same defaulting rules apply for bulk deletes against production orgs as for bulk deployments where any payload that includes Apex source must run at least local tests when applied to a production organization. If this causes issues, please log a bug with the relevant details and I'll take care of them.
  • Fixed an issue that could occur when a module is configured with source roots under multiple content roots and retrieved metadata was only being reconciled against the local files under one of the content roots.
  • Fixed an issue where subdirectories in LWC bundles were being incorrectly interpreted as LWC bundles themselves.
  • Fixed an issue that could result in incorrect matching of retrieved metadata and local metadata files when when multiple files with same name exist locally in very similar relative paths.
  • Improved file line/column identification for deployment errors where the line and column numbers are encoded into the error message instead of being reported in a first-class manner.
  • Added missing integrated API documentation for types in the ConnectApi namespace.
  • Other related fixes and enhancements. release notes

posted May 20, 2021, 6:54 AM by Scott Wells

  • Issue 1891 - Fixed an issue with the module subscription editor that could result in falsely reporting that wildcard metadata types' contents had changed after refreshing the list of server metadata. Also fixed an issue with the inclusion of local-only metadata in the list.
  • Fixed an issue with line commenting in SAQL files. This appears to be a JetBrains IDE bug as any nominal change to the file type, even if reverted, works around it. Line commenting/uncommenting with Ctrl+/ (Windows/Linux) or Cmd+/ (Mac) should now work consistently, though.
  • Explicitly designated the IC2 plugin as requiring an IDE restart upon update. This should already be the case, but the JetBrains IDE's dynamic plugin handling seems to be trying to treat it as dynamic...until it doesn't...which potentially results in some plugin components getting into a bad state, e.g., at least two users have reported the loss of native connections immediately after a plugin update. This has been reported to JetBrains as IDEA-269474.
  • Removed an incorrect validation rule in the module subscription editor that could block saving of changes when in a valid state.
  • When a source-tracked org push/pull operation results in reported conflicts and the user elects to repeat the operation with the force flag set, the first operation's results are now cleared before repeating the operation.
  • Other related fixes and enhancements. / release notes

posted May 13, 2021, 6:53 AM by Scott Wells   [ updated May 13, 2021, 8:00 PM ] /

  • Issues 1865 and 1882 - Touched up the grammar rules for anonymous Apex statements and declarations based on some valid examples that weren't being accepted by the parser.
  • Issue 1867 (redux) - Excluded Salesforce ID hyperlinks from occurrence navigation.
  • Issue 1883 - Added getRecordNotifyChange to lightning/uiRecordApi.
  • Issue 1884 - Added support for the sourceOrg scratch org definition property.
  • Issue 1885 - Added the missing SharedActivities scratch org definition feature.
  • Issue 1887 - Implemented a few optimizations and fixes for the Log Analyzer's log configuration dialog, in particular the user and Apex class/trigger drop-downs for orgs with large numbers of these objects. Canceling the dialog now works properly, and now only active users are loaded. The query to load users no longer uses server-side sorting by name and instead sorts the result set locally. This seems to have helped with loading of extremely large numbers of users, primarily for orgs with huge communities/portal user populations.
  • Removed the org preferences tab from the scratch org creation dialog. If/when a scratch org definition file is loaded that contains org preferences, the user is informed that they are no longer supported and that saving the dialog will remove those entries.
  • - Fixed an overzealous validation in the module subscription editor for modules that use an OAuth connection.
  • Other related fixes and enhancements. release notes

posted May 6, 2021, 8:15 AM by Scott Wells

  • Issue 1844 - Fixed an issue with All/Package metadata subscriptions where local-only metadata files would not be included in the deployment build options dialog.
  • Issue 1848 - Fixed an issue with Apex code coverage that could occur when an Apex class and trigger have the same name. Note that this required a change to the format of generated coverage reports such that classes and triggers are now segregated from one another as namespace.classes and namespace.triggers respectively.
  • Issue 1865 - Fixed a few issues with the Apex parser's support for anonymous Apex scripts that include a mix of statements and type/body declarations.
  • Issue 1867 - Salesforce object IDs are now hyperlinked in all console views. Clicking on a hyperlinked object ID will open that object in the associated organization if a connection can be directly inferred for the console view, e.g., unit test execution results and the Anonymous Apex/SOQL Query/Log Analyzer tool windows. If a connection cannot be inferred, a connection selector will be displayed from which the user can choose the organization in which the ID should be opened.
  • Issue 1876 - Added a workaround for a Salesforce CLI issue where a retrieved LWC bundle's meta.xml file would be named for the CSS file and not the JS file. The underlying issue is being tracked by Salesforce in the CLI's public issue tracker here.
  • Issue 1877 - Added the missing unpackagedMetadata property/object to the JSON schema for sfdx-project.json files.
  • Other related fixes and enhancements. release notes

posted May 3, 2021, 8:43 AM by Scott Wells

  • Issues 1857 and 1864 - JetBrains has released 2021.1.1 patches for these two issues in their 2021.1 releases. The workaround for the conflict with Python/Docker has been removed, and it should be safe to have those two JetBrains plugins installed and enabled alongside Illuminated Cloud 2. Please make sure to update to the latest base IDE release ASAP to take advantage of these fixes.
  • Issue 1843 - Installed unlocked packages with namespaces are now treated identically to installed managed packages with regard to which org metadata can and cannot be included in metadata subscriptions, deployed, retrieved, removed, etc.
  • Issue 1853 - Added a new toolbar button to the Anonymous Apex tool window to toggle whether or not the executed script is echoed into the output page. For backward-compatibility, this is enabled by default.
  • Issue 1870 - Added a proper type definition for NavigationMixin to the LWC lightning/navigation module. Massive thanks to Charlie Jonas for lending his TypeScript know-how to ensure a proper definition. Note that PageReference is still loosely-typed due to what seem to be limitations in the JetBrains TypeScript/ES6 features. I'll log a bug with them with a specific example of the issue and, once it has been addressed, I'll provide a strongly-typed version of PageReference and its page-specific variants as well.
  • Issue 1872 - Fixed a metadata retrieval issue that could occur in source format projects with a configured package directory named unpackaged.
  • Updated the LWC system type definitions based on the latest from Salesforce.
  • Added quite a few missing elements and attributes to metadata.xsd based on observed resolution issues in OSS-based smoke test projects.
  • Fixed issues with JavaScript and LWC import code completion in 2021.1+ Community Edition IDEs.
  • Other related fixes and enhancements.

1-10 of 208