API

  • Spring ’22 Release for Developers

    The next Salesforce release is upon us, and with a new release comes a new API version… API Version 54 to be exact. So, we take a look at the Spring ’22 Release for Developers, what are the key features and changes we need to know to be ‘release ready’?

    Let’s dive into the Spring ’22 Release, and see some of the key features heading our way which may be relevant for you and your development team(s).

    Looking for an overview of the top features? Check out our breakdown for Sales/Service/Experience Clouds.

    Spring ’22 Release: Key Dates

    The dates you need to keep in mind for Spring ’22 Release are outlined here in detail.

    Sandbox Previews have commenced, and the rollout globally should be completed within the next four weeks. With the Spring ’22 Release available for some orgs this weekend (14th Jan 22). Most orgs will receive it on the weekend of the 4th Feb or 11th Feb:

    Keep these dates in mind as you plan your org's release preview for new features and enhancements.
    Key Dates (US date format), for Salesforce’s Spring ’22 Release
    (Source: Salesforce)

    Spring ’22 Release: Enforced Release Updates

    Starting off, let’s take a look at the Release Updates which will be enforced as part of the release.

    General Salesforce Platform/Security Updates:

    Enforce CORS Allowlist for Lightning Apps
    The CORS allowlist in Setup isn’t currently enforced for Lightning apps on the server, although it’s enforced on the browser. This update enforces the allowlist on the server so that disallowed requests are blocked earlier and not processed on the server.

    Login Credentials Using URL Query Strings Are Disabled
    To improve security, users can no longer log in to Salesforce by using a username and password as URL query string parameters to the login URL. Any users who try to do so are redirected to the login page.

    Require Multi-Factor Authentication for Logins to Subscriber Orgs
    With this update, we secure access to subscriber orgs by requiring multi-factor authentication (MFA) when logging into the License Management Org (LMO). MFA is required only for LMO users who require access to the Subscriber Support Console.

    Enable Visualforce Expression Language Apex Method Access Modifier Enforcement
    When accessing Apex methods defined by custom controllers, the Visualforce Expression Language doesn’t correctly validate the access modifiers of the method. Developers can sometimes access unauthorized data on managed and system classes. To improve security, this update validates the Apex method access modifier and throws an error if the Visualforce Expression Language can’t access it.

    Product Specific (CPQ):

    Get Ready for Browser Performance Improvements for Salesforce CPQ (Release Update)This update allows Salesforce CPQ to run faster in supported web browsers by employing new Web Components V1 technology.

    Plan/Roadmap for Summer ’22:

    And looking forward, remember to also review and start preparing for the enforced Release Updates in the Summer ’22 release, which is due for release around mid June 2022 for most orgs.

    The key Release Update that is planned for Summer ’22 is the retirement of legacy APIs – this will only impact older orgs. But the headline: if your org is using API version 7 to 20 for SOAP, REST, or BULK APIs – you’re going to need to plan and make changes before the Summer ’22 release.

    Spring ’22 Release for Developers: Key Features/Changes

    Now let’s turn our attention to some of the new features being introduced.

    This list is in no particular order and I am focussing more of general platform items that may apply more broadly. So product specific changes for Marketing Cloud/Wave/etc aren’t listed, as always please refer to the Release Notes for a complete list.

    Workflow Rules & Process Builder Phased Retirement:

    As per the announcement last year that Process Builder and Workflows will be retired. Salesforce has launched a beta of the new ‘Migrate to Flow’ Tool, aimed at helping Admins and Developers migrated existing Workflows to Flow.

    Spring 22 Release: The workflow rules page in Setup, with a banner asking you to consider migrating your rules to flows.
    Spring ’22 Release for Developers: New banner in Workflows, and accessing ‘Migrate to Flow’ tool
    (Source: Salesforce)

    Lightning Web Components (LWC):

    Enable Third-Party Integrations with Light DOM

    There is a new beta feature being introduced to give developers and integrations more control of the DOM. Salesforce is introducing the ability to render LWC via the Light DOM. By default Salesforce LWCs render in the Shadow DOM which presents developers some challenges re: global styling and third-party integrations.

    With this beta, we can now set the renderMode static field in your component class.

    Read the release notes for this beta feature here – as they outline how to use this new feature, and highlights a number of considerations about when you should/shouldn’t use it.

    Secure Your Components Better, Stronger, Faster with Lightning Web Security

    The Spring ’22 Release also sees Lightning Web Security (LWS) become ‘generally available’.

    Lightning Web Security aims to replace Lightning Locker for Lightning web components. LWS works along with Lightning Locker, which is still used for Aura components.

    Session Settings page with selected checkbox for Lightning Web Security (LWS)
    Spring ’22 Release for Developers: Lightning Web Security is generally available via Session Settings
    (Source: Salesforce)

    LWC – New Module:

    lightning/uiRelatedListApi (Beta)

    This new module includes new wire adapters to get records, metadata, and record count for a related list.

    • getRelatedListRecords—Returns record data for a related list.
    • getRelatedListInfo—Returns metadata for a related list.
    • getRelatedListsInfo—Returns metadata for multiple related lists.
    • getRelatedListCount—Returns the record count for a related list.

    LWC & Aura – Changed Components:

    LWC: lightning-datatable 
    Aura: lightning:datatable

    This component introduces a new method openInlineEdit() allowing developers to programmatically change an editable focused field to edit mode from an external element such as a button. There are also some additional column properties introduced in this release.

    To see this change in action, you can pop over here to read more.

    Apex:

    The Schema Namespace also includes a couple of method additions to the DescribeSObjectResult class:

    • getAssociateEntityType() method returns an associated object of a specified parent but only if it’s a specific associated object type
    • getAssociateParentEntity() method returns an associated object but only if it’s associated to a specific parent object

    The example provided in the developer documentation highlightsAccount &Account History: Invoking the method on AccountHistory returns the parent object as Account and the type of associated object as History

    Also another addition of note is relating to the System Namespace.

    With a number of new Classes and Methods added in this release to help with hostnames and domains which are used within your org. This will reduce the need to create ‘workaround’ methods to calculate domain/hostnames when dealing with Lightning, sandbox names or Experience Cloud hostnames from within an org.

    • System.Domain class:
      getDomainType() method returns the type of domain
      getSandboxName() method returns the name of the associated sandbox.
    • System.DomainCreator class:
      getLightningHostname() method returns the hostname for your org’s Lightning pages
      getExperienceCloudSitesHostname() method returns the hostname for the system-managed domain for your org’s Experience Cloud sites
    • System.DomainParser class:
      parse(hostname) method to parse a Salesforce owned hostname for your org, such as MyDomainName.my.site.com
      parse(url) method to parse a Salesforce URL for your org, such as https://MyDomainName.my.site.com
    • System.Test class:
      As mentiond below in Security, there is a new method introduced calculatePermissionSetGroup()

    SOQL:

    FIELDS() function

    There is a change to improve the consistency of results and reduces errors when using this function in Apex.

    Security Related:

    • Enable Stronger Protection for Your Users’ Personal Information
      Enable Enhanced Personal Information Management to prevent external users, such as portal or community users from accessing other users’ personal information.

      This feature, which replaces the Hide Personal Information setting, secures more personal identifiable information (PII) user record fields. You can also decide which custom and standard user fields are considered PII.

      This update is available in Spring ’22 under Release Updates.

    • Create HTTPS Hyperlinks by Default
      When you save content in Salesforce that contains a URL without a protocol, Salesforce converts it to a hyperlink by assigning the HTTPS protocol. For example, if you type example.com in a Chatter post, Salesforce converts it to https://example.com when you save the post. Previously, Salesforce assigned the HTTP protocol for hyperlinks. If a link requires the HTTP protocol, enter the http:// prefix as part of the URL.

Back to top button