Salesforce publishes hundreds of innovative features to AppExchange partners at three different times of the year during seasonal releases in Spring, Summer, and Winter. These automatic updates with all the latest features are delivered to partners in real-time, with all ISVs receiving the new upgrades at the same time.

We’ve detailed below the top seven tech features that we think will be important for ISVs to take advantage of after today’s Spring ’22 Product Release.

Remove Metadata Components From Second-Generation Managed Packages 

You can remove unused metadata components from 2GP packages now. Depending on the type of metadata component that you are removing, these components could either be deleted or marked as deprecated in subscriber orgs during package upgrade. A list of supported metadata types and behaviors of these components can be found here

The process to remove metadata components is as simple as removing the component from the source code and creating a new version of the package. But make sure that all of the dependencies to the component in the same package and any other dependent packages are removed.

Lightning Web Security (LWS)

Lightning Web Security (LWS) is a new client-side security architecture for your custom Lightning web components. LWS uses JavaScript sandboxing to enforce namespace isolation. Components that belong to a specific namespace are isolated in a JavaScript sandbox, which is a virtual copy of the host environment (the browser). Each sandbox has limited access to specific resources from the host, such as global objects (e.g., window, document, element), network access, cookie access, and local storage. This is implemented by distorting (modifying the behavior of) some native Web APIs that are considered insecure in those sandboxes.

LWS provides the same security features as Lightning Locker, but it has a more flexible architecture that makes it possible to implement many use cases that were not possible with Lightning Locker. Locker service will still be used for Aura components and most of the lightning web components that worked with locker service should work with lightning web security as well. 

We recommended testing your components against LWS before Salesforce starts enabling LWS automatically in production orgs. You will be notified one month before the automatic activation of LWS. Since ISVs cannot control when subscribers are going to start activating/deactivating LWS, ISVs need to make sure that the components work with both locker service and LWS.

Multi-Factor Authentication Requirement

Starting February 1, 2022, customers are contractually required to use multi-factor authentication (MFA) when accessing Salesforce products. To satisfy this requirement, you can turn on MFA directly in Salesforce or you can use your single sign-on (SSO) provider’s MFA service. Salesforce MFA is available at no extra cost.

This MFA requirement is for logins to Salesforce products through browser or mobile applications. REST and SOAP API integrations will not be affected by this. You can use a wide variety of MFA verification methods. To get started with the process, use Setup > Multi-Factor Authentication Assistant.

Salesforce has published a roadmap of MFA enrollment and auto enforcement dates for different products here.

OpenAPI 3.0 Support

The “External Services” feature in Salesforce allows you to import API specifications defined using “OpenAPI” standards to Salesforce. External services expose this imported/registered API definition as actions in Salesforce. These actions can then be invoked from different tools in the Salesforce platform. As part of the Spring ‘22 release, you can register/import schemas that use OpenAPI 3.0 format. This will allow you to register more complex API specifications.

UI Test Automation Model (UTAM)

UTAM is a test automation pattern that is open-sourced by Salesforce. This is based on the popular Page Object model design pattern commonly used in Selenium tests. UTAM page objects are authored in JSON and define the user interface for your tests. UTAM compiler transforms the JSON page objects to corresponding JavaScript or Java page objects. Tests are executed against the generated classes.

As web applications, such as Salesforce, change from release to release, so do the DOM of the pages and components in the app. It is much less effort to update the UTAM page object for each changed component than it is to rewrite complicated UI automation tests. Using UTAM page objects reduces the testing time every time an application UI changes.

Find Which Apex Classes Implement an Interface

With this feature, users now have the ability to use SOQL to get apex classes that implement an interface directly or indirectly. ApexTypeImplementor standard object hosts this data. In installed managed packages, you get information only about global Apex classes.

Salesforce Functions

Salesforce functions allow users to execute custom code elastically without being restricted by governor limits in the platform using use languages like NodeJs and Java. Functions allow you to leverage the existing packages available for a variety of languages. Salesforce provides the ability to invoke these functions synchronously or asynchronously. 

Functions are not yet available for ISV applications. However, it is in Salesforce’s roadmap. 

Innovating With Salesforce

Each Salesforce release occurs in a predictable cycle that starts about three months before each release goes live in production. The above spring updates will be available automatically in the cloud starting today, so there’s no need to track down hardware or update software. Simply log into Salesforce and experience all of these latest innovations that will help you get ahead of the curve today.

Companies build their Salesforce businesses better with CodeScience. It is our mission that no ISV navigates Salesforce alone. If you’re looking for guidance on your product, help supporting your customers, or just need to ask an expert, get in touch today!