Developers / Releases

10 Hottest Salesforce Spring ’23 Features For Developers

By Andrew Cook

The Salesforce Spring ‘23 release is just around the corner and the release notes have arrived as an early festive gift. This release is packed with plenty of great new features and – spoiler alert – some features expected in Summer ‘23 have actually been released early!

You can find everything you need to know about how to prepare and when your instance will get upgraded here. For now, let’s dive into the most exciting features for Developers of the Salesforce Spring ‘23 release.

1. DevOps Center (Generally Available)

The only way you won’t have already heard about this is if you’ve been living under a rock for the past month!

DevOps Center is now GA and everyone can make full use of it. Though Salesforce Change Sets still have a special place in my heart, as they helped me understand change management as a concept, I feel that DevOps Center may supersede them.

READ MORE: Salesforce DevOps Center: A Deeper Dive

2. Run Screen Flows from Slack (Beta)

Using the Apex SDK for Slack (Beta) you are now able to run a screen flow without input parameters using shortcuts or a button in Slack. Just define an app or a view in Slack that invokes a flow that has the “Make Available in Slack” advanced setting selected. Build an app to provide users with global shortcuts, message shortcuts, or slash commands that invoke flows from Slack.

3. Bring External Data into Flow Builder Without Code (Beta)

Another Beta relating to Flow Builder, this time in the form of External Data. You can now automate processes with external data by creating Flow Builder actions that call web-based service APIs using HTTP Callout.

4. Async SOQL Retirement

Async SOQL is used for Big Objects, Field Audit Trail, and the Connect REST API. As of Spring ‘23, this is going to be retired in all orgs. Instead of using Async SOQL queries, you will need to replace these with Bulk API and batch Apex.

5. Escape the Label Attribute of Elements to Prevent Cross-Site Scripting in Visualforce Pages

To prevent malicious code from executing in cross-site scripting (XSS) attacks on your Visualforce pages, this release update escapes the label attribute of your tags. This was first available in Winter ’23 and is being enforced in Spring ‘23.

6. Restrict Anonymous Apex Access to Core Users

In your org’s Apex Settings you will see a new option of Restrict non-core users from executing anonymous Apex. This allows admins to restrict anonymous Apex execution to core users, such as Standard and CsnOnly users, by using the RestrictCommunityExecAnon preference. When enabled, noncore users can’t execute anonymous Apex regardless of any other user permissions that are set, such as Author Apex.

7. Query Delegated Group Access via Tooling API

Run API queries on users granted delegated administrator roles to confirm access. With the available objects, you can run queries on members of a delegated group, permissions granted to the delegated group, and users who are members of the delegated group.

8. Validate the Micro-Batching Apex Method with Tests

Developers can now add Apex tests for the createRecordAsync method, which allows sites to create cases, leads, and custom objects more efficiently using micro-batching.

To verify that micro-batching is working as expected via Apex, test the createRecordAsync method in the Apex class by adding the test class definition. For example:

Apex Class:

public class  MicrobatchCreateRecord  {
      public string microbatchCreateCase(String subject) {
          Case c = new Case();
          c.subject = subject;
          String uuid = Network.createRecordAsync('GENERIC', c);
          return uuid;
      }
}

Test Class:

@IsTest
public class MicrobatchCreateRecord_Test {
    @IsTest
    public static void testMicrobatchCreateCase() {
         string newCaseSubject = 'ApexTestCase1';
          MicrobatchCreateRecord controller = new MicrobatchCreateRecord();
   
          Test.startTest();
   
          string uuid = controller.microbatchCreateCase(newCaseSubject);
          Assert.isNotNull(uuid);
   
          Test.getEventBus().deliver();
          Test.stopTest();
   
          // Assert that the Case was created and has the expected subject
          List<Case> testCases = [Select Id, Subject from Case];
          Assert.areEqual(1, testCases.size());
          Assert.areEqual(newCaseSubject, testCases[0].subject);
    }
}

9. Enable Lookup Tables and Expression Sets in Your Scratch Orgs

Use the BusinessRulesEngine feature to enable lookup tables and expression sets in your scratch orgs. To use the BusinessRulesEngine feature, add the feature to your scratch org definition file.

10. Lightning Web Component Changes

Last but not least, there have been some changes to certain Lightning Web Components, as detailed below:

lightning-barcode-scanner

This is a brand new component, embedding an icon that launches a barcode scanner when the user clicks it. You can configure this component to only scan certain barcode types, change the size of the camera view, customize the icon, and more.

lightning-icon

An update to the existing component, the icon colors of the Standard Object, Action, and Doctype icons for accessibility have been updated to match the Salesforce Lightning Design System (SLDS) icon blueprint.

lightning-spinner

This component has been updated with two new size attribute options:

  • x-small
  • Xx-small

Summary

That’s it for our rundown of the best Salesforce Spring ‘23 release features for developers. What other new features have you spotted? Let us know in the comments!

The Author

Andrew Cook

Andrew is 14x certified and has worked in the ecosystem for 12 years.

Comments:

    Giuseppe Rogahn
    March 02, 2023 4:31 am
    I was impressed by the level of detail and the quality of the information presented in this article. It provides a comprehensive overview of the topic and addresses the key issues and challenges. Thank you for sharing your knowledge and expertise.

Leave a Reply