Salesforce Winter’21 Release Quick Summary

Salesforce Winter’21 Release Quick Summary

Last Updated on August 29, 2020 by Rakesh Gupta

Currently, Winter’21 release is available under the pre-release program. On the and 11th & 12th of September, Sandboxes will be upgraded, as a result, your organization will get the look and feel of Winter’21 releaseIn this release, you will find lots of new features, as well as, new enhancements related to Lightning Experience, Lightning Flow, Lightning Web Component, Apex, Communities, Pardot, Quip, Einstein Analytics, and APIs. Screen Shot 2020-08-24 at 9.47.39 AM

For example, features likeMicrosoft Teams Integration (Pilot), Get Prospect Custom Field Data Faster (Beta), Build Fast, Efficient Experiences with the LWC-Based Template (Pilot), Build Multi-Column Screens in Flow Builder (Pilot)and Create Scratch Orgs More Easily Using an Org’s Shape (Beta)Debug Autolaunched Flows Directly on the Canvas (Beta) are now available in Lightning Experience. 

Also, check out these beta and pilot features: 

  1. Debug Autolaunched Flows Directly on the Canvas (Beta): – Now you can debug an autolaunched flow without opening a new browser tab. Just click Debug on Canvas (Beta) in Flow Builder and view the path the flow took during the debug run.
  2. Auto Add Fields to Custom Report Types (Beta): – It’s time-consuming to add new custom fields to your reports, especially when you have many custom report types. Now 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 Fields to Custom Report Types (Beta)
  3. Scan a Barcode in a Lightning Web Component (Beta): – Use the BarcodeScanner API to add barcode scanning to your Lightning web components. Scan UPC, QR, and other standard barcode types from Lightning components running on a mobile device. Look up product details, record inventory scans, save contact details from a conference badge—your code, your way!
  4. Avoid Stale Salesforce Data in Snowflake with Sync Out (Beta): – Fresh Salesforce data is vital if you maintain a central Snowflake data lake for processing, analysis, business automation, or storage. For example, give your shipping logistics team the freshest data by merging your account data from your system of record, Salesforce, with your ERP’s shipping data in your data lake. Sync Out for Snowflake exports your raw local Salesforce data via Analytics to Snowflake using the Einstein Analytics connector for Snowflake. With Sync Out for Snowflake, keep your Salesforce data in Snowflake up to date using scheduled Data Sync without the need for a third-party ETL tool.rn_bi_create_output_connection
  5. Customize How Users Navigate in the Community App (Pilot): – Put Mobile Publisher for Communities users’ frequently used menu items within easy reach. You can customize the type and order of menu items with the community Experience Builder.rn_mobile_publisher_native_nav
  6. Improve Preventive Maintenance with Advanced Recurrence (Beta): – Assets can have requirements for multiple maintenance schedules, with each schedule at different frequencies. When maintenance tasks coincide, you may want to do them all or perform only some. 

    For example, a building maintenance company performs minor maintenance on an air conditioning system every 3 months and a major service annually. When a work order is generated for annual service, the service manager doesn’t want a work order generated for 3-month service.

    Or, consider, a pool maintenance company that cleans a pool monthly and applies a chemical treatment every 3 months. In this case, when the treatment work order is created, the service manager wants the pool cleaning work order too.

  7. Build Fast, Efficient Experiences with the LWC-Based Template (Pilot): –Develop communities that load quickly and scale well using the Build Your Own (LWC) template. Based on Lightning Web Components (LWC), a programming model that delivers exceptional performance, this lightweight template supports fully custom solutions. The template, now available as a pilot, includes some changes since the previous release.rn_lwc
  8. Customize Components with Lightning Design System Styling Hooks (Beta): –
    Lightning Design System Styling Hooks provide you with a set of CSS custom properties so you can customize a component’s look and feel. In Winter ’21, a limited set of CSS custom properties is available for component-level customizations.

Supported Browsers for Lightning Experience 

Lightning Experience is supported by Apple® Safari® latest version on macOS. The most recent stable versions of Microsoft® Edge Chromium, Mozilla® Firefox®, and Google Chrome™ are also supported. You can continue to use Microsoft Internet Explorer and Microsoft Edge (non-chromium) to access Lightning Experience until December 31, 2020, If you opt into Extended Support for IE11.

Use Apple Safari on iPadOS (iOS 13.x) or later. Portrait orientation and orientation switching aren’t supported on Lightning Experience on iPad Safari. Use landscape orientation and maximize your Safari browser to full width. To avoid orientation switching, turn on the iPad rotation lock.

Supported Browsers for Salesforce Classic

Salesforce Classic is supported with Microsoft® Internet Explorer® latest version, Apple® Safari® latest version on macOS. The most recent stable versions of Microsoft® Edge (non-chromium), Firefox®, and Google Chrome™ are also supported.
Below is the quick summary of Winter’21 release from user’s /customer’s

Customers/Administrators Point of View

  1. Add In-App Guidance to New, Edit, and Clone Page: – Help users along as they create, edit, and clone records, including dialogs, with in-app guidance.promptonmodal
  2. Enhance Security with a New Threading Behavior for Email-To-Case: – A new Email-to-Case threading behavior matches incoming emails with their header information instead of through a Ref ID from the subject or body. New outbound emails don’t contain a Ref ID, and existing orgs get an upgrade path with an end-of-life notification for Ref ID.
  3. Display Survey Pages Based on Your Data: – Now you can use your data in Salesforce org to determine which survey page participants view next. Use variables to define conditions in your page branching logic. Use associated record merge field variables and participant record merge field variables to define field-level conditions. Use org variables to define conditions based on your org’s information. Use custom variables to define conditions based on values that you define.rn_general_survey_merge_field_branching
  4. Hand Off Sales Cadence Targets to Another Rep: – If a sales manager or rep wants to give in-progress targets to a different rep, they can update the target assignee without removing the target from the sales cadence.

    Sales reps can change target assignees from the Work Queue or the Sales Cadence Steps component.

  5. Easily Coordinate When to Meet with Insert Free Time in Lightning Experience: – When emailing someone to set up a meeting, your reps can include their available time slots. The email recipient then selects from among the choices, and the meeting is automatically added to everyone’s calendar. rn_sales_productivity_email_ift_modal
  6. Add Policy Records Directly from the Policy Component: – The Policy component has a new New Policy button that lets agents add policy records without leaving the page they’re on. For example, when an agent learns about competitors’ policies with a client, the agent can add records for those policies directly from the Policy component.rn_fsc_insurance_new_policy
  7. Find Changed Deals at a Glance: – Opportunity deal change highlights help your sales team prioritize work by showing recent changes to amounts and close dates. For example, knowing which deals changed helps sales managers with their weekly coaching sessions. In the opportunities list view and Kanban view, text colors and arrows indicate amounts and close dates that changed during the last 7 days. And users can hover over an arrow to get detail. opportunity_deal_motion_end_user
  8. Update Opportunity Stages on the Forecasts Page in Lightning Experience: – Forecasts users can now update stages in the opportunity list without leaving the forecasts page. Previously, inline editing was available for other fields, but not for Stage. forecasting_inline_edit_stage
  9. Send List Emails at the Ideal Time: – You can now schedule when to send a list email. Choose an ideal date and time to ensure that the list email has the best chance of being read. For example, schedule a list email to arrive at the beginning of the workday. Scheduling was previously available for individual emails only.rn_sales_productivity_email_schedule_list_email_button

  10. Use Salesforce Record Permissions to Determine Access to Linked Quip Documents: – Synced Sharing provides a set of options for governing access to Quip documents associated with Salesforce records. With the new Salesforce Record Access option, users with access to a Salesforce record have the same access to its linked Quip documents. You can set your linked Quip document access at the org level without compromising security.rn_quip_synced_sharing_sfdc_record_access
  11. Add In-Line Salesforce Record Fields to a Quip Document (Data Mentions): – Add live Salesforce data to your Quip documents, spreadsheets, and Account Plans without getting in the way of your formatting. With in-line data mentions, data reads like normal text but stays up to date and syncs with Salesforce. You can even edit the record fields from the data mentions, making it easier to keep your Salesforce work in Quip.rn_quip_live_data_mention_hover
  12. Build Calculated Formula Columns with More Functions in Data Prep (Einstein Analytics): – You can now use EA SQL functions with the Data Prep formula transformation to add calculated columns derived from other fields to your dataset. EA SQL is a collection of standard and custom functions for numeric, string, and date data. Previously, you were limited to 18 functions when you built formulas in Data Prep. Now there are more than 40 functions, including [case] to create buckets or flags based on a field value, and [datediff()] to calculate the duration between dates.

    Create your own calculated columns with the formula editor using a function and column selector (1), auto-complete (2), built-in EA SQL function guidance (3), and output type selection (4).rn_bi_recipe_formula_expanded
  13. Protect Data in Embedded Dashboards with Locked or Hidden Filters (Einstein Analytics): – When filters on embedded dashboards aren’t locked or hidden, users can modify or delete both external and global filters, exposing more data. The new lock and hide options for filters are an easy way to configure embedded dashboards so users see only the data that you want them to see. And, with the updated dashboard reset action, you can now return an embedded dashboard to its initial embedded state.bi_embedded_filters_locked_hidden
  14. Apply Audiences to Record Detail Pages with Record-Based Criteria (Community Cloud):You can now vary what people see on a record detail page using audience criteria based on record fields. For example, you can display different theme layouts when someone is looking at a coffee machine or a box of tea, or different pages for high-value and low-value opportunities. Also, we moved record criteria from the advanced section into the main body of the editor, so you can easily combine it with user criteria to create custom formulas.

    You can create record-based criteria using these objects:

    • Account
    • Asset
    • Campaign
    • Case
    • Contact
    • Contract
    • Lead
    • Opportunity
    • Product2
    • ProductCategory
    • Quote
    • Custom Objects
    • Any object with at least one record type (only some fields available)
  15. Manage Your Pages and URLs with the Pages Menu (Community Cloud): – Now it’s easier to organize and restructure your pages and page URLs in Experience Builder. Edit your pages to suit your content needs with the Pages menu and see these updates in your live site’s URL.

    In Experience Builder, navigate to the Pages menu panel. Create your own page hierarchy (1) in seconds when you open the Page Action menu (2) and click Add Subpage.

    Build out your site’s hierarchy with up to six-page levels by nesting a standard, object, or content page under an existing page.

    The site URL for each page reflects the structure you set up in Experience Builder when you share the live site with your users.


  16. Interactively Create Engaging Email Templates: – Create email templates faster and more easily with visual tools in Email Template Builder. Instead of adding HTML code, your users can drag elements to create effective email templates. They can compose email templates with a few clicks to place design elements right where they want them.2_Lightning_Email_Template_nocallouts


    Click Edit in Builder to open the Email Template Builder.



  17. Source Images from Salesforce CMS for Lightning Content Builder (Pardot): – Give users the power to quickly select images for email marketing content and templates from Salesforce CMS. No need to bother with separate file hosting or copy-and-paste errors when you turn on CMS for Lightning Content Builder. After you enable and configure the connection, users can access repositories at the click of a button.rn_sales_pardot_eilex_cmspicker
  18. Subscribe to Get Report Results Delivered by Email (Generally Available): –When people subscribe to a report, a new option lets them choose to receive results as a .csv file attached to the subscription email. The email itself includes the report name in the subject line, but there is no email body. Row-level record details are included in the attached .csv file instead. And small changes to the Edit Subscription menu design include a new Attach File button and a refined layout.
    1. To enable it, navigate to Setup (Gear Icon) | Setup | Feature Settings | Analytics | Reports & Dashboards |Reports & Dashboards Settings and then select Let users attach reports as files to report subscription emails in Lightning Experience.
    2. To attach files to a report subscription, subscribe to a report, click Attach File, choose Details Only. The attachment format is Comma Delimited .csv by default.


Additional enhancements worth noting!

  1. Manage Deleted Fields in Lightning Experience: – You can now manage deleted fields in Lightning Experience. In previous releases, you could only manage a deleted field and its data by switching to Salesforce Classic.Manage Deleted Fields in Lightning Experience_2
  2. Choose Your Utility Bar Alignment: – Customize where your Salesforce org’s utility bar appears on the screen. You can choose to align the utility bar to the bottom right or the bottom left of the screen. The default alignment matches the directionality of the user’s language.Choose Your Utility Bar Alignment
  3.  Manually Log Emails from the Gmail Integration When Einstein Activity Capture Is On: – If your Einstein Activity Capture configuration has emails disabled, reps can now log emails manually from the Gmail integration. Previously, if emails were disabled in the configuration, users weren’t shown an option to log emails. rn_sales_outlook_integration_eac_manual_log1
  4. Custom Metadata Types Support Geolocation Field Types Relationships: – Support for entity particle relationships was introduced in Summer ’20, with the exception of geolocation field types. With Winter ’21, you can now create geolocation field type relationships.rn_forcecom_dev_cmt_geolocation
  5. Serve CMS Content with a Content Delivery Network (CDN).: – Deliver Salesforce CMS content to your users with higher performance than ever through a CDN. A CDN is a distributed group of servers that work together to deliver your content quickly and efficiently. Readily connect content to your sites through Community Cloud or to custom applications through public channels. And conveniently share your email marketing content and templates from Salesforce CMS with Marketing Email in Lightning.

    Serve your content from a CDN such as Akamai, or use one of your own. To create a public channel, open the CMS Channels page in the Salesforce CMS app, click Create Channel, and select Public Channel.

  6. Organize Salesforce CMS Content with Folders: – Now it’s easier to organize content in your Salesforce CMS workspace, and share links to folders with others in your org. In your workspace (1) create folders with a hierarchy of up to five levels (2) with the click of a button (3). Edit and rename folders to fine-tune your CMS, and delete empty folders you no longer need. Add content directly to folders and move content within folders (4). Each folder has a unique folder ID that appears in the URL (5). This means you can bookmark the URL to find a folder quickly and share the link to specific folders with other members of the workspace.rn_cms_folders_features
  7. Personalize Survey Questions Within Email: – Now you can give your participants a VIP experience by personalizing survey questions that are embedded within an email invitation.rn_general_survey_merge_field_email
  8. Review Aggregate Email Metrics in Lightning Experience: – As part of Marketing Email in Lightning, rollup metrics now appear on email content and email template records. Marketers get an aggregate view of how certain content and templates perform based on statistics from everywhere they’re used. Individual list email send and campaign-level email marketing reports are still available, too.rn_sales_pardot_eilex_metrics
  9. Customize More Pardot Assets with Any Tracker Domain (Pardot): – You can now use any of your tracker domains to customize the links for Pardot form handlers, dynamic content, social posts, and multivariate landing page tests. Previously, these asset links defaulted to the primary tracker domain. Emails without templates are now the only Pardot assets that don’t include this functionality. rn_sales_pardot_tracker_domain
  10. Send Your Custom Notification Recipients to New Places with Page Reference Navigation: – Use the new Target Page Reference field on the Send Custom Notification action to specify navigation targets for your custom notifications sent via flow or REST API. Previously, only the Target ID field was available for custom notification navigation and only a record ID could be specified as a navigation target. Now your custom push and in-app notifications can navigate to any page that’s accessible via the PageReference class, such as a Lightning app or an external URL.
  11. Choose When to Show the Submit for Approval Action (Generally Available and Beta): – Ever wanted to display the Submit for Approval action only when a record is eligible for approval? That day has come! With dynamic actions, now you can set conditions for when each action is visible, including the Submit for Approval action.
  12. Create a Relationship Map in Quip with Live Salesforce Data: – Build relationship maps in your Account Plans with imported Salesforce record data. To add data to your maps that exist outside of Salesforce, create custom Quip cards.rn_quip_salesforce_relationship_map
  13. Preview and Test an Email in Lightning Experience (Pardot): – Users can preview and test emails from the email content record. Before sending an email to a large recipient list, do a trial run by sending it to a test list or individual email addresses. Preview and troubleshoot possible personalization issues by previewing as specific recipients.rn_sales_productivity_eilex_preview_test
  14. Analyze Your Lightning Page Performance: – Discover ways to make your record page perform better based on analysis right inside the Lightning App Builder. Performance Analysis in App Builder evaluates the fields, instances of the Related Lists component, and metadata of a record page. With the click of a button, get best practices and suggestions for improving page performance and the end-user experience.lab_performance_prompt

Developers Point of View

  1. Use the Safe Navigation Operator to Avoid Null Pointer Exceptions: – Use the safe navigation operator (?.) to replace explicit, sequential checks for null references. This new operator short-circuits expressions that attempt to operate on a null value and returns null instead of throwing a NullPointerException.
    1. This example first evaluates a, and returns null if a is null. Otherwise, the return value is a.b.
      a?.b // Evaluates to: a == null? Null : a.b
    2. This example returns null if a[x] evaluates to null. If a[x] does not evaluate to null and aMethod() returns null, then this expression throws a null pointer exception.
      a[x]?.aMethod().aField // Evaluates to null if a[x] == null
    3. This example returns null if a[x].aMethod() evaluates to null.
    4. This example indicates that the type of the expression is the same, whether the safe navigation operator is used in the expression or not.
      Integer x = anObject?.anIntegerField; // The expression is of type Integer because the field is of type Integer
    5. This example shows a single statement replacing a block of code that checks for nulls.
      // Previous code checking for nulls
      String profileUrl = null;
      if (user.getProfileUrl() != null) {
      	profileUrl = user.getProfileUrl().toExternalForm();
      // New code using the safe navigation operator
      String profileUrl = user.getProfileUrl()?.toExternalForm();
    6. This example shows a single-row SOQL query using the safe navigation operator.
      // Previous code checking for nulls
      results = [SELECT Name FROM Account WHERE Id = :accId];
      if (results.size() == 0) { // Account was deleted
          return null;
      return results[0].Name;
      // New code using the safe navigation operator
      return [SELECT Name FROM Account WHERE Id = :accId]?.Name;
  2. Send Custom Notifications from Apex: – Use the Messaging.CustomNotification class to create, configure, and send custom notifications directly from Apex code, such as a trigger. 
  3. Break Up Your Record Details with Dynamic Forms (Generally Available): –

    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.

    With more fields on your page layout, the more that the Record Detail component becomes a monolithic block of fields that you can’t customize. With Dynamic Forms, you can migrate the fields and sections from your page layout as individual components into the Lightning App Builder. Then, you can configure them just like the rest of the components on the page, and give users only the fields and sections that they need.

    Dynamic Forms benefit you in these ways.

    • An instant upgrade from page layouts: Place fields and sections wherever you want.
    • Better page performance: Put fields and sections into accordion components or tabs to significantly improve page load times.
    • Dynamic layouts: Use visibility rules to show and hide fields and sections.
    • Simpler layout management:
      • Manage the fields and sections on your pages in the Lightning App Builder without touching the page layout editor.
      • Reduce the number of page layouts you need with component visibility rules.
      • Take advantage of a single assignment model for the Lightning page instead of the dual model of assigning a Lightning page and a page layout.

    To enable Dynamic Forms in your org, navigate to Setup (Gear Icon) | Setup | User Interface | Record Page Settings and then click on the Dynamic Forms section, flip the switch to On.

    Summer 20.2

    After you enable Dynamic Forms, new features appear in the Lightning App Builder. A new Fields tab in the component palette contains Field and Field Section components, which are the building blocks for Dynamic Forms.

    Summer 20.3

    To get started? Open an existing record page in the Lightning App Builder, then click Upgrade Now from the Record Detail properties pane to launch the Dynamic Forms migration wizard. With only a few clicks, the wizard adds fields and field sections to the page for you.

  4. Make Apex Callouts After Publishing Platform Event Messages: – You can now make Apex callouts after publishing event messages for events configured with the Publish Immediately behavior. Previously, after publishing such events, you couldn’t make callouts from any Apex code. Events published immediately have a new limit, which is separate from the Apex DML statement limit. Read more about it here.
  5. Deploy Organization-Wide Defaults and Criteria-Based Sharing Rules Together: – You can now simultaneously update the sharingModel field for an object and create new criteria-based or guest user sharing rules via the Metadata API. Previously, you deployed these changes in separate packages. You still deploy owner-based sharing rules separately from organization-wide default changes.
  6. Lightning Flow Enhancements: – There are several enhancements in Lightning Flow as follows:
    1. Trigger a Flow to Run Before a Record is Deleted: – In Flow Builder, you can now configure a new record–triggered flow to run before a record is deleted. You no longer need to write Apex code to set this up. This autolaunched flow runs in the background and updates related records when a record is deleted.Trigger a Flow to Run Before a Record is Deleted
    2. Improve the Performance and Precision of Record-Triggered Flows with Entry Criteria: – Salesforce has added entry criteria to record-triggered flows, giving you more control over your automation. Instead of configuring the flow to run every time a record is created or edited, you can now configure it to run only when condition requirements are met. This optimization can also significantly reduce your record-triggered flows’ impact on your org’s performance, depending on the flow.Record-Triggered Flows with Entry Criteria
    3. Debug Flow Errors in Sandbox Org as Another User: – Debugging a flow in a sandbox org is now easier than ever with the ability to debug a flow as another user. When you debug a flow as another user, you can catch flow exceptions such as unexpected permission, sharing, and profile configurations before they occur in production orgs.Debug Flow Errors in Sandbox Org as Another User_1
    4. Create Decision Outcomes that Only Execute When Certain Changes are Made: – Now a flow triggered by a record update can take different paths if the record that triggered the flow was edited to meet certain criteria. When you configure a Decision outcome, you can now set that outcome to execute only when the triggering record is updated to meet the condition requirements. This feature allows you to filter out record updates that are unrelated to your flow’s use case, and to avoid reprocessing records that previously triggered the flow.Create Decision Outcomes that Only Execute When Certain Changes are Made
    5. Easily Access Related Record Data in Autolaunched Flows with Triggers: –
      Now in autolaunched flows with triggers, you no longer need to create Get Records elements to find associated records and retrieve data from them. Instead, when you configure flow elements and resources, you can easily drill down to the field values of a global or record variable’s associated records. For example, in a Decision element, drill down from $Record to Account ID to Customer Priority.
    6. Use AND, OR, and Custom Operators Across All Flow Builder Elements: –
      Salesforce has added the condition-defining options across Flow Builder. Specify that you want the condition logic to meet ANY conditions or that you want it to meet ALL conditions. For example, specify contacts with the name Joe OR the city of Mumbai. Or you can provide your own custom logic. Salesforce has added these options to the Get Records, Update Records, and Delete Records elements, and to screen elements. You can also find the options in the Start element when configuring schedule- and record-triggered flows, and in record choice sets.
  7. Detect Apex Runtime Context with RequestId and Quiddity: – You can now detect Apex context at runtime and correlate multiple logs triggered by the request, using Request ID and Quiddity values. Use the methods in the System.Request class to obtain the Request ID and Quiddity of the current Salesforce request.

    The following example shows how to retrieve and use Request ID and Quiddity.

    //Get info about the current request
    Request reqInfo = Request.getCurrent();
    //Universally unique identifier for this request
    //Same as requestId in splunk or REQUEST_ID in event monitoring
    String currentRequestId = reqInfo.getRequestId();
    //enum representing how Apex is running. e.g. BULK_API vs LIGHTNING
    //Use this with a switch statement,
    //instead of checking System.isFuture() || System.isQueueable() || ...
    Quiddity currentType = reqInfo.getQuiddity();
  8. Create Scratch Orgs More Easily Using an Org’s Shape (Beta): – It is not easy to build a scratch org definition that mirrors the features and settings in your production org. With Org Shape for Scratch Orgs, you can leave building the scratch org definition to us. After you capture the org’s shape, you can spin up scratch orgs based on it with minor assembly required.

    Enable Org Shape for Scratch Orgs in the org whose shape you want to capture (source org). Perform the steps below to configure it: 

    1. As an admin, log in to the source org.
    2. From Setup, enter Org Shape in the Quick Find box, then select Org Shape.
    3. Click Enable Org Shape for Scratch Orgs (Beta).
    4. If your source org is different from your Dev Hub org, enter the Dev Hub org ID to the list of allowed Dev Hub orgs.
    5. Create a scratch org definition file that contains the 15-character source org ID, the only required option.
        "orgName": "Salesforce",
        "sourceOrg": "00DB1230400Ifx5"
    6. Create a scratch org.
  9. Add Custom Buttons to the lightning-input-rich-text Base Component (Beta): – You can now add buttons to perform actions that you define, such as inserting an email template, applying formats, or adding a link to your FAQ. You can even open a popup from a custom button. Define a custom button using two new components together, nested in the lightning-input-rich-text component. Read more about it here.

  10. Improve Apex Testing with New SObject Error Methods: – Track errors with the new SObject.hasErrors() and SObject.getErrors() methods without performing a DML operation to check the result for errors. Dynamically add errors to specific fields with new SObject.addError() overload methods. Use the hasErrors() method to know if an SObject instance contains errors. Use the getErrors() method to retrieve the list of errors for a specific SObject instance.

    The following example code shows usage of the new SObject error methods.

    //Baseline code sample for using addError, getErrors, together
       Account a = new Account();
       String msg = 'New error method in SObject';
       //The new overload that accepts the field dynamically at runtime
       a.addError('Name', msg); 
       List<Database.Error> errors = a.getErrors();
       System.assertEquals(1, errors.size());
       Database.Error error = errors.get(0);
       System.assertEquals(msg, error.getMessage());
       System.assertEquals(StatusCode.FIELD_CUSTOM_VALIDATION_EXCEPTION, error.getStatusCode());
       String[] fields = error.getFields();
       System.assertNotEquals(null, fields);
       System.assertEquals(1, fields.size());
  11. Second-Generation Packages Support Lightning Message Channels: – Lightning components use message channels to communicate via the Lightning Message Service. You can now include message channels in second-generation packages.

Additional enhancements worth noting!

  1. Write Lightning Scheduler Appointments Directly to External Calendars: – Salesforce has added a setting that allows developers to help write Lightning Scheduler appointments directly to external calendars. When you enable the new Publish Appointments as Platform Events setting, Lightning Scheduler triggers platform events for new, modified, or deleted appointments. You can capture and write those events to external calendars using APIs.rn_ls_write_to_ext_cal
  2. Increased Timeout for Client-Side Caching: – When a component is generated on the server from metadata, the page loads from a client-side cache of the indexed database. The client-side cache timeout has increased from 15 minutes to 8 hours, with a refresh interval of 15 minutes. This increased timeout can result in faster page loads for users who bootstrap the application frequently or click links from outside the application to open a new browser window or tab to Lightning Experience. 
  3. New Attribute on <apex:inputField> Overrides Entity Edit Permissions: – The new ignoreEditPermissionForRendering attribute on <apex:inputField> allows you to override entity edit permissions for users, even when the underlying permission on the object doesn’t allow edits.
  4. Specify Unpackaged Metadata for Package Version Creation Tests (Pilot): – If there are scenarios where you require metadata that shouldn’t be part of your package, but is necessary for Apex test runs during package version creation, you can specify the path containing unpackaged metadata in the sfdx-project.json file. Unpackaged metadata isn’t included in the package and isn’t installed in subscriber orgs.
  5. Delete up to 50,000 Big Object Records in a Batch: – The Database.deleteImmediate() method now supports batch deletes of up to 50,000 big object records at once. This new limit matches the total number of records you can retrieve with a SOQL query.

Salesforce Mobile App Enhancements

To access Salesforce from a mobile device, use the downloadable Salesforce mobile app from Google Play or the App Store. Or use Lightning Experience on iPad Safari.
Users can run the Salesforce mobile app on mobile devices that meet these mobile platform requirements.

Operating System and Version Requirements

Mobile Browser Requirements*

Android 7.0 or later
Google Chrome on Android
iOS 13.x or later
Apple Safari on iOS

1Create Shortcuts to Users’ Essential Pages: – Set up a mobile launchpad to let users quickly access the information they need. Use the Launchpad Lightning web component to add links to Lightning pages on mobile and desktop. Internal links open in the Salesforce mobile app, while external links open in a mobile browser window.



2Tap Into Salesforce from Your Home Screen with the Quick Navigation Widget: –Use the Salesforce Quick Navigation widget to get to your most important items, right from the home screen of your iOS device. The widget displays the first four navigation items of the navigation bar of the Lightning app you most recently accessed in the Salesforce mobile app, including Mobile Only. And if you personalize your navigation items for a Lightning app, the widget stays up to date.

3Keep Track of Your Activities with Activity Timeline on iOS: – The activity timeline is now available in the Salesforce mobile app for leads, opportunities, accounts, and contacts. On these record types, iOS users can view all of the tasks, events, and emails associated with a record in one convenient feed. Previously, admins had to create a related list with the activity history view to track activities in the mobile app.

4Get to the Point with Report Highlights: – Users can get a high-level overview of their reports on the Salesforce mobile app. Report Highlights shows summaries of up to eight key metrics, including average amounts, grand totals, subtotals, record counts, and formula column results. For summary and matrix reports, users can also see totals for groups based on the first-level group field.

5Salesforce Anywhere: Plan and Accelerate Your Business in Real-Time (Beta): – Salesforce Anywhere is making Salesforce real-time. Get alerts about changes to the Salesforce data you care about. Update your Salesforce data in just a few taps with suggested actions. Collaborate in context with chat. Search and view your Salesforce data. And integrate Salesforce Anywhere chat and alerts into your business processes with Lightning Flow and Process Builder.

Formative Assessment:

I want to hear from you!   What are your favorite Winter’21 release note gems?

You can download release notes in HTML format!, for PDF file.

Let me know by Tweeting me at @automationchamp, or find me on LinkedIn.

Have feedback, suggestions for posts, or need more information about Salesforce online training offered by me? Say hello, and leave a message!

4 thoughts on “Salesforce Winter’21 Release Quick Summary

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.