Summer'21 Release Notes

Published in Release Notes

The Sandbox Preview window for Summer ‘21 begins on May 7, 2021. If you would like your sandbox to take part, it must be active on a preview instance before then.

1. Create Quick Actions with Lightning Web Components (Generally Available)

To save your users time and clicks, create a quick action that invokes a Lightning web component. On a record page, create a screen action that shows the component in a window, or create a headless action that executes with a click.

To set up a Lightning web component as a quick action on a record page, define the metadata in <component>.js-meta.xml. Define a lightning__RecordAction target and specify actionType as ScreenAction for a screen action that opens in a window or Action for a headless action that executes when clicked. Here’s the configuration for a headless action.

<?xml version="1.0" encoding="UTF-8" ?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
   <apiVersion>52.0</apiVersion>
   <isExposed>true</isExposed>
   <targets>
       <target>lightning__RecordAction</target>
   </targets>
    <targetConfigs>
   <targetConfig targets="lightning__RecordAction">
     <actionType>Action</actionType>
   </targetConfig>
 </targetConfigs>
</LightningComponentBundle>
To use a headless action, add an exposed invoke() method to your component.
import { LightningElement, api } from "lwc";
 
declare default class HeadlessSimple extends LightningElement {
  @api invoke() {
    console.log("Hi, I'm an action.");
  }
}

2. Attach Actions to Asynchronous Apex Jobs Using Transaction Finalizers (Generally Available)

With Summer ’21, the Transaction Finalizers feature is generally available. The System.FinalizerContext interface contains four methods.


To attach actions to your Queueable jobs, you must implement the Finalizer interface. Only one finalizer instance can be attached to any Queueable job. You can enqueue a single asynchronous Apex job (Queueable, future, or batch) in the finalizer’s implementation of the execute method. Callouts are allowed in finalizer implementations.

For more information on implementing Transaction Finalizers, including examples, see Transaction Finalizers in Apex Developer Guide.

3. Create Styling Hooks for Lightning Web Components

To expose styling hooks for your custom components, use CSS custom properties. CSS custom properties also make code easier to read and update. To define a CSS custom property in a component's style sheet, prefix the property with --. To insert the value of the property, use var()

:host {
    --important-color: red;
}

.important {
    color: var(--important-color);
}
CSS custom properties are inherited. Inherited properties pierce the shadow DOM. Some CSS properties, like color, are also inherited. Because CSS custom properties are inherited, a consumer can set their values at a higher level in the DOM tree and style your component.

These CSS custom properties create styling hooks for two themes: light and dark. Pass the fallback value as an optional second parameter to var().
/* myComponent.css */

.light {
    background-color: var(--light-theme-backgroud-color, lightcyan);
    color: var(--light-theme-text-color, darkblue);
}

.dark {
    background-color: var(--dark-theme-background-color, darkslategray);
    color: var(--dark-theme-text-color, ghostwhite);
}
A consumer can set values for the styling hooks to change the theme colors.
/* consumerComponent.css */

:host {
    --light-theme-backgroud-color: honeydew;
    --light-theme-text-color: darkgreen;
    --dark-theme-background-color: maroon;
    --dark-theme-text-color: ivory;
}

4. Use ISCHANGED, ISNEW, and PRIORVALUE in Record-Triggered Flow Formulas

Record-triggered flows for new and updated records now support the ISCHANGED, ISNEW, and PRIORVALUE formula functions. Copy your Process Builder or workflow rules formulas containing these functions into record-triggered flows. None of these formula functions are available in flows triggered when a record is deleted.

5. Find Failed Flows Faster

Skip your inbox and go straight to the new Failed Flow Interviews list view. Now, if your flows have failed interviews, you can find them all in one place. You can create a custom list view that includes paused and failed flow interviews. Previously, you clicked a link in a flow error email to start debugging a failed flow interview.

6. Auto Add Fields to Custom Report Types (Generally Available)

It’s time-consuming to add new custom fields to your reports, especially when you have many custom report types. With Auto Add, custom fields that you add to a Salesforce object are added automatically to all the custom report types based on that object. When you create a report from the custom report type, all the custom fields are right there for you to add to your report. Auto Add doesn’t apply to fields that are added as part of packages. These changes apply to Lightning Experience only.

7. See Record Access Reasons in Lightning Experience

A user has access to a record, but why? Is it because of their role? Their territory? From a sharing rule? Now you can see why a user has the access they do, right from Record Sharing Hierarchy in Lightning Experience. Previously, you switched to Salesforce Classic to see this information. Sharing Hierarchy is now available on the action menu, not just in the Share window.

NOTE Sharing Hierarchy is available only for accounts, opportunities, cases, contacts, leads, and custom objects.

8. Prepopulate Dependent Picklists with Default Values

You can now prepopulate a record event with default values in dependent picklists. Default values on dependent picklists are available on accounts, opportunities, cases, contacts, leads, and custom objects.

9. Share Records Owned by High-Volume Users with Unauthenticated Guest Users

Select whether to include records owned by high-volume community or site users when you create guest user sharing rules. By default, guest user sharing rules include only records that match the rule’s criteria and are owned by authenticated users, guest users, and queues. Because of recent security improvements, this setting is the only way to grant guest users access to records owned by high-volume users. This option isn’t available for owner-based or criteria-based sharing rules.

10. Control Access to Sensitive Data with Restriction Rules (Beta)

Secure your data and boost productivity by permitting your users to see only the records necessary for their job function. Create restriction rules to control which subset of records you allow specified groups of users to see. Restriction rules are available for custom objects, contracts, tasks, and events. You can create and manage restriction rules via the Tooling and Metadata APIs. They provide another layer of access control on top of your existing sharing settings and let you configure truly private visibility.

Without restriction rules, users with access to an account can see its contracts, tasks, and events, even when the organization-wide default is set to Private. For custom objects, users can see all detail records. Restriction rules let you configure truly private access for these objects.

Beta feature

Close

NOTE This feature is a Beta Service. Customer may opt to try such Beta Service in its sole discretion. Any use of the Beta Service is subject to the applicable Beta Services Terms provided at Agreements and Terms.

11. Set Expirations for Assignments on Permissions in Permission Sets and Permission Set Groups (Beta)

When assigning users to a permission set or permission set group, select expiration dates that you specify. Control when a user's permissions expire based on your business requirements.

To use the user interface with assignment expiration options for permission set groups, enable Permission Set Group Assignments with Expiration Dates (Beta) in User Management Settings. Then, when you assign users to a permission set group, select the expiration options that you want. You can also select no expiration date as an option.

Beta feature

Close

NOTE This feature is a Beta Service. Customer may opt to try such Beta Service in its sole discretion. Any use of the Beta Service is subject to the applicable Beta Services Terms provided at Agreements and Terms.

12. Connect Your Customers to the Right Service Agents Using Omni-Channel Flow (Beta)

Manage complex routing processes from a centralized location to create efficient, flexible and productive service experiences. The Omni-Channel Flow incorporates all the functionality of Omni-Channel within a Salesforce Flow. Use the power and flexibility of Flow Builder to define your routing rules and other business processes and dynamically route work to the best agent for each customer. If it’s your first time using an Omni-Channel Flow, enable it in Omni-Channel Settings.

For example, use the information on the Chat Transcript or a related Contact to route work based on the website your customer is using, their location or language, the number of times they reached out for help, or even their preferred agent.

Beta feature

Close

NOTE As a beta feature, Omni-Channel Flow is a preview and isn’t part of the “Services” under your master subscription agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply equally to your use of this feature. You can provide feedback and suggestions for Omni-Channel Flow in the Trailblazer Community.

13. Secure Apex Code with User Mode Database Operations (Pilot)

You can now declare when Apex runs database operations in user mode or system mode. The new Database methods support an AccessLevel parameter that enables you to run database operations in user mode, instead of in the default system mode.

By default Apex code executes in system mode and doesn’t respect running user permissions. To enhance the security context of Apex, you can specify user-mode access for database operations by invoking Apex in user mode. The field-level security (FLS), sharing rules, and CRUD permissions of the running user are respected in user mode, unlike in system mode.

If you're interested in participating in the pilot program, ask your Salesforce Account Executive.

Pilot feature

Close

NOTE We provide User-Mode Database Operations in Apex feature to selected customers through a pilot program that requires agreement to specific terms and conditions. To be nominated to participate in the program, contact Salesforce. Pilot programs are subject to change, and we can’t guarantee acceptance. This feature isn’t generally available unless or until Salesforce announces its general availability in documentation or in press releases or public statements. We can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features. You can provide feedback and suggestions for the feature in the Trailblazer Community.

14. Create a Dynamic Actions Bar for Your App Page (Pilot)

Access all your most important actions in one convenient bar. Easily add, drag, and configure the Dynamic Actions Bar component on your app page with the Lightning App Builder. Customize your bar with standard and custom global actions.

To add a Dynamic Actions Bar to your Lightning app page, first create or edit a Lightning app page in the Lightning App Builder. In the Lightning App Builder, drag the Dynamic Actions Bar component (1) to add it to a region on your page (2). The order of actions in the properties pane (3) determines their order in the Dynamic Actions Bar. Click Add Action (4) to add actions to the Dynamic Actions Bar. Click Add Filter (5) to set visibility filters for the Dynamic Actions Bar component. Save your work.

Pilot feature

Close

NOTE We provide the Dynamic Actions Bar to selected customers through a pilot program that requires agreement to specific terms and conditions. To be nominated to participate in the program, contact Salesforce. Pilot programs are subject to change, and we can’t guarantee acceptance. Feature isn’t generally available unless or until Salesforce announces its general availability in documentation or in press releases or public statements. We can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.

Keep this in mind as action on

Changed Limits



Useful links:
Tagged under: Release Notes Summer'21

Comments powered by CComment