Spring'20 Release Notes

Published in Release Notes

The Sandbox Preview window for Spring ‘20 begins on January 3, 2020. If you would like your sandbox to take part, it must be active on a preview instance before then.

1. View Monthly API Calls with a New Usage-Based Entitlement

Your org can now exceed its API daily request limit without being blocked (subject to system health). A generous hard cap is in place to safeguard platform resources. A new usage-based entitlement shows the total number of API requests aggregated over 30 days.

2. Communicate Across Salesforce UI Technologies with Lightning Message Service (Beta)

Use the Lightning Message Service API to communicate across the DOM, between Aura components, Visualforce pages, and Lightning web components. Lightning Message Service also enables communication between a component in a main Lightning page with one in a pop-out utility bar. If you’re switching from Salesforce Classic to Lightning Experience, you can now build Lightning web components that can communicate with existing Visualforce pages or Aura components.

A Lightning web component uses a Lightning Message Channel to access the Lightning Message Service API. Reference Lightning Message Channel with the scoped module @salesforce/messageChannel. In Visualforce, use the global variable $MessageChannel. In Aura, use lightning:messageChannel in your component.

3. Enable Field- and Object-Level Permissions Checking Using WITH SECURITY_ENFORCED in SOQL Queries (Generally Available)

SOQL queries using WITH SECURITY_ENFORCED is now generally available. The WITH SECURITY_ENFORCED clause is available only in Apex.

4. Enforce Field- and Object-Level Security in Apex (Generally Available)

The Security.stripInaccessible method for field- and object-level data protection is now generally available. Use the stripInaccessible method to strip fields that the current user can’t access from query and subquery results. Use the method to remove inaccessible fields from sObjects before a DML operation to avoid exceptions. Also, use the stripInaccessible method to sanitize sObjects that have been deserialized from an untrusted source.

5. Attach Actions to Asynchronous Apex Jobs Using Transaction Finalizers (Pilot)

With Spring ’20, we introduce a way to attach actions to queueable, asynchronous jobs using a new System.Finalizer interface. A specific use case is to design recovery action when a queueable job fails.

6. Build Invocable Actions That Work for Multiple Objects

Now, developers can create reusable Apex actions that use the generic sObject and List data types. Build one action that works for multiple objects, rather than one for each individual object. Developers can build a filter or sort action that works with any collection of records, from accounts and contacts to custom objects. Previously, developers couldn't use polymorphic Apex structures in invocable actions because generic data types weren't supported.

7. Update New and Changed Records 10 Times Faster by Using Before-Save Updates in Flows

Creating or updating a record can now trigger an autolaunched flow to make additional updates to that record before it's saved to the database. Before-save updates in flows are much faster than other available record-triggered updates. For example, a before-save update in a flow is 10 times faster than an update in a record-change process that’s built in Process Builder. Replace your record-change processes with flows to minimize how often the spinner appears when users save records.

8. Make It Easy for Admins to Find Your Actions by Categorizing Them

Developers can help admins find custom invocable actions more easily by creating categories for them. After you add a category parameter to an action, your admins see the new category and its associated actions when building flows in Flow Builder.

9. Secure Your Sandbox Data with Salesforce Data Mask

Salesforce Data Mask is a powerful new data security resource for Salesforce admins and developers. Instead of manually securing data and access for sandbox orgs, admins can use Data Mask to automatically mask the data in a sandbox.

Data Mask is a managed package that you install in a production org. You then run the masking process from any sandbox created from the production org. Data Mask uses platform-native obfuscation technology to mask sensitive data in any full or partial sandboxes. The masking process lets you mask some or all sensitive data with different levels of masking, depending on the sensitivity of the data. Once the data is masked, you can’t unmask it. This irreversible process ensures that the data is not replicated in a readable or recognizable way into another environment. Please refer to the following Trailhead module for more information: Salesforce Data Mask.

10. Combine Duplicate Cases with Case Merge (Generally Available)

Let agents merge duplicate cases like they merge duplicate accounts and contacts with Case Merge. Now, support agents can consolidate up to three duplicate cases so they can cut through the clutter and focus on what's important: your customers.

Changed Limits

Useful links:

Comments powered by CComment