Summer'20 Release Notes

Published in Release Notes

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

1. Control How to Serialize and Deserialize Apex Types

The new @JsonAccess annotation defined at Apex class level controls whether instances of the class can be serialized or deserialized. If the annotation restricts JSON serialization and deserialization, a runtime JSONException exception is thrown.

This example code shows an Apex class marked with the @JsonAccess annotation.

@JsonAccess(
    serializeable='always||samePackage||sameNamespace||never', 
    deserializable='....'
)
public class Foo {}

2. Share CSS Styles Among Lightning Web Components

Create a consistent look and feel for Lightning web components by using a common CSS module. Define styles in the CSS module, and import the module into the components that share those styles.

View Example

Close

  1. Create a component that contains a CSS file and a configuration file. The folder and filenames must be identical. This component is your CSS module.
    cssLibrary
    ├──cssLibrary.css
    └──cssLibrary.js-meta.xml
  2. In the CSS file, define the style rules to share.
    /* cssLibrary.css */
    h1 {
        font-size: xx-large;
    }
  3. The configuration file needs only these tags.
    <!-- cssLibrary.js-meta.xml --> 
    <?xml version="1.0" encoding="UTF-8" ?>
    <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
        <apiVersion>49.0</apiVersion>
        <isExposed>false</isExposed>
    </LightningComponentBundle>
  4. In the CSS file of a Lightning web component, import the module.
    myComponent
    ├──myComponent.html
    ├──myComponent.js
    ├──myComponent.js-meta.xml
    └──myComponent.css
    /* myComponent.css */
    @import 'c/cssLibrary';
    /* Define other style rules for myComponent here */
    You can import one or more CSS modules.
    /* Syntax */
    @import 'namespace/moduleName';
  5. Imported style rules are applied to the template just like non-imported style rules. All style rules cascade. In the myComponent.html template, the text in the <h1> tag uses the xx-large style defined in cssLibrary.css.
    <!-- myComponent.html -->
    <template>
        <h1>Words to the Wise</h1>
        <p>An apple a day keeps the doctor away</p>
    </template>

3. Get Information About the Current Lightning Community

Use the @salesforce/community scoped module to import information about the current community context when developing Lightning web components for Lightning communities.

4. Develop Flow Screen Components That Work for Multiple Objects (Beta)

Now you can create reusable flow screen components that use the generic sObject and sObject[] data types. Build one component that works for multiple objects, rather than one for each individual object. For example, you can build a data table component that works with any collection of records, from accounts and contacts to custom objects.

Beta feature

Close

The support of the generic sObject data type in custom flow screen components 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 the support of the generic sObject data type in custom flow screen components in the Trailblazer Community.

5. Get Child Elements by Tag or Class Name in Lightning Web Components

The Element.getElementsByTagName() and Element.getElementsByClassName() APIs are now supported in the LightningElement base class for Lightning web components. A parent element can use getElementsByTagName() to get a list of its child elements with a specified tag. A parent element can use getElementsByClassName() to get a list of its child elements with a specified class.

6. Speed Up Org Maintenance with the Optimizer App

Introducing the Salesforce Optimizer app, the interactive way to review and act on expert recommendations for maintaining your Salesforce org’s implementation. No need to install a package, just enable the app, click to run, and sit back while we inspect your org. Quickly identify issues that require immediate attention by using the sortable results list view. Read through the Salesforce recommendations to plan next steps. Use quick links on result pages to go directly to the applicable Setup page. Previously, you could only consume Optimizer content by scrolling through an English language report delivered as a PDF file.

7. Break Up Your Record Details with Dynamic Forms (Non-GA Preview)

Dynamic Forms is the next step in the evolution of Lightning record pages. It adds the ability to configure record detail fields and sections inside the Lightning App Builder.

Non-GA Preview feature

Close

Dynamic Forms 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 Dynamic Forms in the Dynamic Forms Trailblazer Community. For information on enabling this feature in your org, see Get Started with Dynamic Forms (Non-GA Preview). Any use of this Non-GA Preview is subject to the Beta Services terms at https://www.salesforce.com/company/legal/agreements.jsp.

8. Work Through Lists with Ease Using Split View for Standard Navigation

Do you often find yourself working through multiple records in a list? With split view, you can see a list view and a record side by side. To move on to a new record, select it from the split view, and the new record opens with the list still in view. No more navigating back and forth between your list and your records. Split view is great for going through records in sequence or for quickly skimming through a set of records. The split view panel is collapsible for extra flexibility.

Changed Limits



Useful links:
Tagged under: Release Notes Summer'20

Comments powered by CComment