Winter is on its way but Salesforce Winter ’20 Release Notes are already here. Winter ’20 is currently available under the pre-release program. The sandbox will be updated on September 6 and 7, giving your organization the look and feel of the new Winter ’20 release.
This release is an exciting one as Salesforce Lightning is getting switched on for all Salesforce Orgs. Most Orgs will make switch to Winter’20 in early October this year. To find out the appropriate time to update your organization, we recommend that you must view the Support section of the Salesforce Trust Website.
In this blog post, we will discuss Winter ’20 Release new features that would be useful for both Salesforce Admins and Developers.
1. Turning on Lightning Experience for all users
The Lightning Experience will be activated for all orgs from Winter ’20. Users can still access Salesforce Classic via Switch To Classic Link. But we strongly recommend you keep using lightning, because it is the future of CRM.
Users have to review the org’s features and customizations in the new UI and prepare themselves for the new User Interface. This is part of Salesforce’s strategy to help customers make the transition as quickly as possible. Although this may not have been possible in recent years due to some limitations, but this new release is allowing even the most complex organizations to migrate easily.
2. Accessing Recycle Bin in a Lightning experience
You no longer need to switch to Salesforce Classic to access the Recycle Bin. You can now view, restore, and delete items permanently in your Recycle Bin and the Org Recycle Bin. You can make use of Restore and Delete buttons but you cannot restore reports and dashboards.
For this, you need to switch to Salesforce Classic to access them in the Recycle Bin. At Salesforce Winter ’20, the Recycle Bin will be available in Salesforce Lightning.
3. The new mobile Salesforce application
Salesforce plans to launch a new mobile application in the third week of October this year. The new mobile interface is already activated and you can start immediately whenever you’re ready.
The QuickStart page guides you with best tips and practices through the setup. With the new Salesforce mobile applications, you can configure the Lightning applications, record pages, and Component visibility rules for use on mobile phones. With the latest version of the Salesforce platform, Einstein Analytics users can do more without making transitions between apps.
4. Lightning Web Components is now Open Source
The Lightning Web Components framework is now open source, enabling you to explore the source code, customize the framework as per your needs, and build business-ready web components on any platform, and not just the Salesforce CRM.
5. Add the Lightning Web Component to the Flow Screens
You can now use the Lightning web component to Flow screens. To make the Lightning Web Component available for flow screens as screen components, lightning__FlowScreen must be the target in the component’s targets tag, and the isExposed tag must be set to true. Components can use events in the new Lightning / FlowSupport module.
6. Lightning Configuration Converter: Scan and Prepare Org
7. Increased limits for the approval process
Salesforce has increased the limits for the approval processes. Now your org can carry out up to 1000 active and a total of 2000 approval processes. Each object can have up to 300 active and 500 total approval processes.
8. Communication across Salesforce UI technology with the Lightning Message Service
With the Lightning Message Service API, you can use the Document Object Model (DOM) to communicate between the Aura Components, VisualForce pages, and Lightning Web Components. You can now build Lightning Web Components that can communicate with existing VisualForce pages or Aura Components. This feature is available as a developer preview for the Developer Edition and scratch orgs.
For accessing the Lightning Message Service API, a Lightning web component uses the Lightning message Channel. Reference Lightning Message Channel with the scoped module @salesforce/messageChannel. Use the global variable $ MessageChannel in VisualForce, Use lightning: messageChannel in your component in Aura.
9. Add opportunity scores to standard reports
You can use standard reports to analyze opportunities based on opportunities scores. In the past, you could only use opportunity scores with custom types of reports.
10. Secure field-level security in Apex (Beta)
The stripInaccesible method checks the source records for subquery fields that do not match the security-level field security check for the existing users.
The method returns a list of sObjects that only contain fields that can be accessed by the existing users. If the user does not have access to the relationship field from child to parent, the return list of sObjects does not include child relationship. If the user does not have permission to read the Contact object’s Phone field, this sample code removes the subquery field before reading the records. The DML operations execute without throwing any exception.
Here is the code snippet for removing subquery field:
List<Account> accountsWithContacts =
[SELECT Id, Name, Phone,
(SELECT Id, LastName, Phone FROM Account.Contacts)
// Strip fields that are not readable
SObjectAccessDecision decision = Security.stripInaccessible(
// Print stripped records
for (Integer i = 0; i < accountsWithContacts.size(); i++)
System.debug('Insecure record access: '+accountsWithContacts[i]);
System.debug('Secure record access: '+decision.getRecords()[i]);
// Print modified indexes
System.debug('Records modified by stripInaccessible: '+decision.getModifiedIndexes());
// Print removed fields
System.debug('Fields removed by stripInaccessible: '+decision.getRemovedFields());
11. Extend the Apex test with the ApexSettings metadata type
You can now utilize the new ApexSettings metadata type to improve Apex tests with aggregate tracking, serial executing, and prevent auto-number gaps. You can also use ApexSettings to reduce log details errors in unhandled email exceptions.
You can use the ApexSettings metadata type in various ways:
- Use the new enableAggregateCodeCoverageOnly field to enable tracking of aggregate instead of detailed, totals for Apex test coverage data.
- Use the new enableDisableParallelApexTesting field to enable Apex test serial execution.
- Use the new enableDoNotEmailDebugLog field to suppress Apex debug log details in unhandled exception emails.
- Use the newenableGaplessTestAutoNum field to prevent the Apex test executions from increasing auto number fields for non-test records and creating gaps.
12. Add the Lightning Web Component as a Custom Tab
You can now make the Lightning Web component accessed as a custom tab in the Lightning Experience application and in the Salesforce application. You need to add the target lightning__Tab to the component configuration file.
13. Hitting Apex Limits in Server-Side Actions in Lightning Component
Apex limitations in Lightning component are now applied per action. Applying Apex limits for actions makes it less possible that our components will reach the Apex limits. The issues of Apex’s limit are more predictable because their limits are based on one action rather than a series of unpredictable actions that the framework batches together.
14. Easily develop applications with second generation managed packages
The Second Generation Management Package (2GP) is an enhanced and innovative way for AppExchange partners to develop, distribute, and manage their applications and metadata.
With 2GP, you can better manage your sources, integrate them into your version control system, and make better use of your custom Apex code. Since version control is the source of truth, there are no packaging orgs, and you can carry out all packaging operations through the Salesforce command-line interface (CLI), which allows end-to-end automation. You can submit the second generation managed packages for security review and list them on AppExchange.
15. Select the API version for Lightning Locker
You can choose the API version used by Lightning Locker. The default is the current API version that includes the latest Locker security improvements. Select the previous API version when the custom components matches with the locker in an older version. If the component is compatible with the latest security improvements, you can change the setting to the current API version.
If you need more detailed information, you can go through the Salesforce Winter ’20 Release Notes here.
With so much to take in, all we can say is that with Winter ’20 Release notes, Salesforce has gratified the users to a great extent and as a Salesforce user you can expect some great updates from Salesforce, the world’s #1 CRM, in the near future.
Which feature you liked the most in Winter ’20 Release Notes? Let us know in the comments’ section below.