Salesforce Winter19 release quick summary

Salesforce Winter19 release quick summary

Last Updated on April 15, 2019 by Rakesh Gupta

Currently, Winter’19 release is available under the pre-release program. On the 7th and 8th of September, Sandboxes will be upgraded; as a result, your organization will get the look and feel of Winter’19 releaseIn this release, you will find lots of new features, as well as, new enhancements related to Lightning Experience, Flow, Apex, and Communities.

For example, features likeLearn Why Users Are Switching Back to Salesforce Classic, View Page Performance by Browser and Other New Metrics in the Lightning Usage AppFind the Data You Need in a Jiffy with List View SearchEnterprise Territory Management: Forecast Sales by Territory (Generally Available) and  Use Autolaunched Flows in Einstein Bots – No Coding Required is now available in Lightning Experience. 

Also, check out these beta and pilot features:

  • Move Actions and Buttons Easily When Transitioning to Lightning Experience (Beta): – Don’t have time to move all your Salesforce Classic actions and buttons into Lightning Experience? The latest Lightning Experience Configuration Converter feature does just that in a simple, easy to understand wizard. Select the objects and page layouts to work on, and Salesforce does the heavy moving. The Lightning Experience Configuration Converter (is a standalone tool that lives outside of Salesforce), which was made generally available during Summer ‘18, has been enhanced. Easily move custom, standard, and global actions from the Quick Actions in the Salesforce Classic Publisher section of a page layout to the Salesforce Mobile and Lightning Experience Actions section. Also included the right mobile actions and move custom and standard buttons along the way.
  • Schedule Event Series (Beta): – Now onwards your reps can schedule daily, weekly, monthly, or other repeating events from Lightning Experience and the Salesforce app.

    Reference – Salesforce release notes
  • Edit Joined Reports with Lightning Report Builder (Beta): – Joined reports are perfect for analyzing Salesforce data across multiple report types (like Opportunities with Products joined to Cases with Assets) or getting multiple, simultaneous views of an object (like Closed Won Opportunities alongside Closed Lost Opportunities). Now your reps an edit joined reports with the Lightning report builder and with more run page functionality including filtering and sorting.
  • Use Sharing Sets with Campaigns, Opportunities, and Orders (Beta): – You can now grant portal or community users access to records that are associated with their campaigns, opportunities, and orders using sharing sets.
  • Enable Access to Metadata Without Enabling Access to Data, Too (Beta): – If a user requires access to metadata but not to data, enable the new Modify Metadata permission to give the access the user needs without providing access to org data. Users can create, edit, and delete org metadata but not org data. Users must have appropriate access rights to the metadata they’re trying to modify. Modify Metadata is enabled automatically when the Deploy Change Sets permission is selected.
  • Check a Field’s References Before You Edit It (Pilot): – Now you can see the references to a custom field, such as in a report or formula, with the click of a button. You can also communicate changes to others who use the field in a formula or other context.
  • Use Strategies to Recommend Flows to Users and Community Members (Pilot): – Rather than displaying all flows all the time, display the right flows at the right moment to the right people with Einstein Next Best Action. Create a strategy that integrates business rules, predictive models, and data—both inside and outside of Salesforce— to show users suggested offers and actions.

Two new Lightning Experience display density settings give you more control of how you want to view data without changing the page layout. Select one of the settings as the default, but users can choose their own display density at any time from the user profile menu.

  • The Compact setting, which has labels to the left of fields and less space between page elements, fits 30% more fields on the page.
  • Comfy has labels on the top of fields and more space between page elements. It’s similar to previous versions of Lightning Experience.

Lightning Experience is supported by Apple® Safari® version 11.x+ on Mac OS X. The most recent stable versions of Microsoft® Edge, Mozilla® Firefox®, and Google Chrome™ are also supported. You can continue to use IE11 to access Lightning Experience until December 16, 2017. Salesforce now offering Extended Support for IE11. This extended support is available through December 31, 2020. You can not access Lightning Experience via a mobile browser.

Salesforce Classic is supported with Microsoft® Internet Explorer® version 9, 10 (support for 9 and 10 ends on April 5, 2019), and 11, Apple® Safari® version 11.x on Mac OS. The most recent stable versions of Microsoft® Edge, Firefox®, and Google Chrome™ are also supported.

Below is the quick summary of Winter’19 release from user’s /customer’s

Customers/Users Point of view

1. Learn Why Users Are Switching Back to Salesforce Classic: – Discover why your users are not adopting Lightning Experience by going to the source. A form prompts your users for feedback when they switch back to Salesforce Classic. Use the responses to educate users about productivity features and fine-tune your org customizations. The feedback form appears when users switch to Salesforce Classic. Select how often the form appears and in which public Chatter group to store the feedback.

To enable this feature navigates to Setup | Onboarding & Assistance. Then turn on the feature under Switch to Salesforce Classic Feedback Form, as shown in the preceding screenshot (1).

2. Insert Quick Text into Your Emails with a Button: – Inserting predefined messages is now just a click away. A new button in the Email action toolbar visually reminds users of this time-saving tool. Previously, you could only insert quick text using a keyboard shortcut.

To insert quick text, users need Read permission on the quick text object. Optionally, you can also give users Create, Edit, and Delete access so that they can create and manage their own quick text. Quick text in Lightning Experience is enabled by default in all orgs. If you enabled and created quick text in Salesforce Classic, your messages work in Lightning Experience.

3. Assign a New Owner to Multiple Leads, Cases, or Custom Objects at One Time: – Use the Change Owner page-level button to assign a new owner for up to 200 selected leads, cases, or custom objects. You can access the button in the page-level action menu in a list view or related list in standard table mode, or in Related List Quick Links.

In the Change Owner pop-up, enter the new owner name, select Send Email Notification if needed, and click Submit. You must have Edit permission for a selected record to change its owner.

4. Find the Data You Need in a Jiffy with List View Search: – You can now use the new search bar to search the field data in your list views and find the records you need in record time.

Use the keyboard shortcut g+f to select the search bar. You can also add the search bar to the List View component in Lightning App Builder.

5. Collaborate with Ease with List View Sharing: – Have a list view with an amazing set of filters that you’d love to share with your team? Or maybe you have a list view that you only want a select few to access. Take collaboration to the next level by sharing your list views with user groups in your Org.

You can search through the roles, public groups, Territories in your org to find the groups you want to share your list view with.

6. Clean Your Slate with the Close All Tabs Keyboard Shortcut: – When using Lightning console apps – do you have more tabs open than anyone could ever hope to remember? Do you long for a quick and easy way to keep your workspace clean? Use the Shift+w keyboard shortcut to close all of your unpinned tabs at once. Lightning console apps are available for an extra cost to users with Salesforce Platform user licenses for certain products.  

7. Filter Search Results by Number Range: – When the numbers matter, use filters to frame your search results. Zero in on opportunities that fall within a certain amount or probability range. Looking for that big presentation? You can also filter files by size.

For example, use number range filters to create a list of hot opportunities to follow up on. On the search results page, click Opportunities in the sidebar to see the available filters. Enter your target range, and click the magnifying glass.

8. Field History Tracking Data Deleted After 18 Months: – Salesforce guarantees to retain your field history data for up to 18 months. To ensure high availability of data and accommodate the fast-growing data needs of our customers, up until now, we haven’t enforced the 18-month retention policy. Starting with the Winter’19 release, we no longer retain field history beyond 18 months. To retain field history longer, you can purchase the Field Audit Trail add-on. This policy applies to all orgs created after June 2011 who have not purchased the Field Audit Trail add-on.

9. Einstein Forecasting: Optimize Your Forecasting Model with Custom Fields (Beta): – Einstein now uses your custom opportunity fields to provide more accurate forecast predictions. If you have opportunity fields that aren’t relevant to closing deals, a new setup wizard lets you ignore specific custom opportunity fields. 

Einstein uses only the fields that affect your sales forecast, so custom fields that don’t impact forecast predictions aren’t used in the forecasting model. If you have custom fields that aren’t relevant to forecasting but can affect your sales forecast, you can exclude them from the forecasting model. Einstein Forecasting is available to sales managers with the Sales Cloud Einstein license.

10. See Your Email Impact with Email Tracking: – Get a 360-degree view of email activity and customer engagement. Let your sales reps see how their emails impact customers. In the activity timeline and the email detail record, reps can quickly see if an email isn’t being tracked or when a tracked email was last opened.

Tracking information is visible in the activity timeline. This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.

11. Record Your Dialer Calls: – Need to refer to a call later? Sales reps can now record the calls they make with Lightning Dialer. Reps can use call recording to refer back to important conversations or improve their selling techniques.

This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, and Unlimited editions.

12. Support Your Customers on YouTube: – Deliver service to your customers by turning their YouTube comments into cases in Salesforce. Connect your YouTube channel directly to Service Cloud, track cases, and respond directly to customers.

First, add your YouTube accounts the same way that you add other social networks. Assign agents the user permission you use to give your agents access to your social accounts. Last, add YouTube to the social conversations component. When one of your YouTube videos gets a comment, your agents can reply directly in Salesforce. The video and all relevant comments are visible in the social conversations component. When customers edit or delete their comments, Salesforce updates the social post accordingly. This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, and Unlimited Editions.

13. Use Visualforce Email Templates in Lightning Experience: – Agents save tons of time drafting emails using email templates. Now you can use the power of Visualforce email templates in Lightning Experience. Users insert text, field data, and email attachments into the case email publisher with just a few clicks. This change applies to Lightning Experience in Professional, Essentials, Enterprise, Performance, Unlimited, and Developer editions.

14. Map Case Fields to Data Categories for Better Search Results: – Make suggested articles and Knowledge component searches more relevant when solving cases in Lightning Knowledge. Similar to Salesforce Classic, you can map case fields to data categories so that the Knowledge component is automatically filtered to show articles that have those categories mapped to the fields on cases. 

To set up category mapping, perform the following steps:  

  • Navigates to Setup | Feature Settings | Service | Knowledge | Data Cataogery Mappings
  • In the Case Field column, use the dropdown list to add a field.
  • In the Data Category Group column, use the dropdown list to map the information from the lookup field to a data category.
  • In the Default Data Category column, use the dropdown list to assign a data category when the field value does not match any categories from the category group.
  • Once done click on the Add button. 

This change applies to Lightning Knowledge in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions with Service Cloud. Salesforce Knowledge is available in Professional, Enterprise, and Performance editions as an add-on.

15. Route Work to Agents Using Both Queues and Skills Simultaneously in the Same Org: – Try out Omni-Channel skills-based routing in your org while keeping the queue-based routing that you know and love. Omni-Channel gives you the flexibility to route work items to agents in the way that makes the most sense for your company. Route some work items by skills, and route other work items by queues. It’s the best of both worlds in the same org! 

To enable this feature navigates to Setup | Feature Settings | Service | Omni-Channel | Routing Configurations. Then set up queue-based routing, as shown in the following screenshot: 

This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, and Developer editions with the Service Cloud.

16. Save Your Chatter Posts as Drafts: – Have you ever lost your work in the middle of writing an important Chatter post? It is very frustrating. After Winter’19 release, you can Draft Posts, a new option to automatically save all your unpublished feed items.

Make sure to enable Allow draft posts under Chatter settings. This feature is available in Lightning Experience in Contact Manager, Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer edition

17. Choose the Currency for a Report: – If your org has an international clientele, chances are some of your users want the option to review the financial data in other currencies. Lightning report builder lets users set the currency on a report.

This feature is available in Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.

18. Use Joined Reports as Source Reports for Dashboard Components: – With a joined report as its source report, a dashboard component can contain data from multiple standards or custom report types. Or, you can provide multiple views of the same object. To use a joined report as a source report, it must have a chart. To add a chart to your joined report, edit it with the Lightning Experience report builder or edit it in Salesforce Classic. 

This change applies to Lightning Experience in Professional, Enterprise, Performance, Unlimited, and Developer editions.

19. Smarter Subscribe Options for Reports and Dashboards: – Reports and dashboard subscribe options just got smarter. If you are sharing a report or dashboard, you do not have to remember whether the recipient has the right access. Salesforce will figure that out and present only a validated list of users. 

Suppose that you want to share your pipeline dashboard with a colleague, but you are not sure what her access permissions are. Not to worry. Go ahead and try selecting her as a recipient. If you are able to select her, you know that she has permission to access the dashboard. This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.

20. Share Folders Using Public Links: – Share multiple files easily by creating public links to folders. This feature is available in Lightning communities accessed through Lightning Experience, and is available in Essentials, Enterprise, Performance, Unlimited, and Developer editions.

Additional enhancements worth noting!

1. Add Multiple Account Team Members Faster in Lightning Experience: – The days of slowly adding account team members one… by… one are finally over. Now your sales reps can add multiple account team members simultaneously, so they have more time for everything else on their to-do lists. Plus, reps see only the team member fields they’re allowed to edit.

If you have enabled account teams, no additional setup is required to see these updates. 

2. Campaigns: Keep Pardot and Salesforce Campaign Members in Sync: – When your marketing team connects their Pardot and Salesforce campaigns, they don’t have to think twice about which system to use to add campaign members. Members that are added to Salesforce campaigns show up on connected records in Pardot, and vice versa.

This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, and Developer editions with a connected Pardot account.

3. Opportunities: Retain Edit Rights for Previous Opportunity Owners: – You can now choose to keep the previous opportunity team together when an opportunity is transferred to a new owner in Lightning Experience. You can also choose to let the previous owner retain read/write access after the switch. The Retain edit rights for previous owner option becomes available when Keep Opportunity Team is selected.

This change applies to Lightning Experience in Essentials, Group, Professional, Enterprise, Unlimited, Performance, and Developer editions.

Administrators/Developers Point of view

1. Set Component Visibility-Based on Standard and Custom User Permissions: – Now you can make your Lightning pages more dynamic by configuring component visibility filters based on the permissions of the person viewing the page. For example, you can create a rule for a component to display for users with a specific permission, but it’s hidden for everyone else. Component visibility filters are supported for standard components, custom components, and components from AppExchange.

You can either use Standard or Custom Permission to define the filter. This change applies to components on record, Home, and app pages in Lightning Experience in the Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.

2. Show Your Salesforce IoT Data Anywhere in Salesforce with IoT Insights: – Make your Salesforce IoT data available to your users throughout Salesforce, giving them more information to serve customers. The IoT Insights Lightning standard component enhances your CRM data by showing Salesforce IoT information alongside it. You can include the component on Salesforce Lightning record pages, such as cases, work orders, and assets.

This component is available only for record pages and is available only in English. This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.

3. Manage Duplicate Data Privacy Settings Records with the Individual Object: – Now you can properly manage duplicate records for your data privacy settings. With the Individual object, you can create your own duplicate rules and matching rules to identify duplicate records. Manage duplicate data privacy records one at a time or in bulk, just like you can with other records. This change applies to Lightning Experience, Salesforce Classic, and all versions of the app in all editions.

4. Let External Users Log In with Their Phone Number, Email, or Any Identifier You Choose: – In just a few clicks, you can deploy login pages that simplify how external users log in to your community. With the Login Discovery feature, you can let your external users identify themselves using something other than a username, such as a phone number. Instead of a password, they can verify their identity with a code sent to their email or mobile device. And, if your org is enabled with multiple Identity Providers (IdPs), login is a one-step process—users bypass verification altogether.

5Get JSON-Compliant Values in the UserInfo Endpoint, Identity URL Response, and ID Token: – The updated_at attribute in the UserInfo endpoint, identity URL, and ID token now conforms to the OpenID Connect Core 1.0 specification. The address value in the ID token (if standard claims are enabled) also conforms to the specification.

The updated_at value is a JSON number representing the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date and time when the end user’s information was last updated. For example, previously an updated_at attribute value looked like:

"updated_at" : "2017-07-28T19:17:41.000+0000"

Now the time value looks like:

"updated_at" : "2017-07-28T19:17:41Z"

The ID token standard claims contain information about the user, such as the user’s name, profile, phone number, and address. For example, previously an address attribute value looked like:

"address": "{street_address=null, locality=null, region=CA, country=US, postal_code=94110}"

Now the address looks like:

"address" : { "region" : "CA", "country" : "US", "postal_code" : "94110" }

6. Visual Flow Enhancements: – There are several enhancements in Visual workflow, as follows:

A) Automate More Business Processes with Increased Per-Org Limits: – The default limits for total processes and flows, active processes and flows, and groups of scheduled actions or flow interviews that are waiting to be processed has increased.

Per-Org Limit Summer ’18 and Earlier Winter ’19
Total processes and flows 1,000 4,000
Active processes and flows 500 2,000
Groups of scheduled actions or flow interviews that are waiting to be processed 30,000 50,000

B) Remember Previously Entered Values in Flow Screen Components: – By default, screen components have no memory. If a user enters a value, navigates to another screen, and returns to the component’s screen, the user-entered value is lost. Now flows remember the value for each attribute that you configure in both Inputs and Outputs tabs of the screen component.

To retain the value of an attribute while a user moves between screens, add the attribute to both the Inputs and Outputs tabs in the screen component. For example, you use the Email screen component in an email address confirmation screen. In the Email component, the Value attribute represents the email address. Configure the Inputs tab to set the Value attribute to the value of the {!existingEmail}variable, which is set earlier in the flow to the user’s email address. Configure the Outputs tab to map the Value attribute to the {!confirmedEmail} variable.

C) Avoid Creating Multiple Record-Change Processes for an Object: – When you select the object for a new record-change process, Process Builder displays a list of active record-change processes associated with that object.

As a best practice maintain one record-change process per object. The more record-change processes that are associated with an object, the more likely your org is to exceed limits, such as SOQL queries

D) Flow Screen Components: More Input Types and Dependent Picklists: – Add more functionality to your flow screens with seven new screen Lightning components.

  • Display Dependent Picklists in Flow Screens – Add dependent picklists to your flow screens with just a few clicks. The new Dependent Picklist screen component takes advantage of the field dependencies that you have already defined in your Org.
  • Capture Names in Flow Screens – It’s easier to capture a name in a flow screen. The new Name screen component generates a name form with up to six different fields.
  • Let Flow Users Opt-In with a Toggle – Bored of traditional checkboxes in your flow screens? Capture yes/no, on/off, or true/false values with the new Toggle screen component.
  • Let Flow Users Select a Number Value with a Slider – Need to capture a number value in a flow screen? Try out the new Slider screen component. With Slider, you can configure the range of valid values, and the user enjoys a better visualization.
  • Capture and Validate Email Addresses in Flow Screens – Easily capture email addresses in flow screens by using the new Email screen component in the Cloud Flow Designer. The component verifies that each entered value is a valid email address.
  • Capture Phone Numbers in Flow Screens Easily capture phone numbers in flow screens by using the new Phone screen component in the Cloud Flow Designer.
  • Capture URLs in Flow Screens – Easily capture URLs in flow screens by using the new URL screen component in the Cloud Flow Designer.

E) Deploy Active Processes and Flows Using Change Sets or Metadata API: – You can choose to deploy processes and flows as part of a continuous integration and continuous delivery model without manually activating them. Previously, processes and flows were always deployed as inactive. A new setting lets you deploy a new active version of a process or flow via change sets or Metadata API.

When you deploy an active process or flow, Salesforce runs your org’s Apex tests and confirms that enough of your processes and flows have test coverage. Specifically, the Apex tests must launch at least 75% of the total number of active processes and active autolaunched flows in your Org. The required percentage is the same as the code coverage requirement for Apex code. If the required percentage isn’t met, the deployment is rolled back.

F) Version Numbers Are Omitted from Flow File Names in the API: – When you retrieve or deploy the latest version of a flow, Salesforce no longer adds a number to the end of each flow name. Before you deploy flow metadata using API version 44.0, upgrade your flow files with Metadata API or Salesforce CLI or both to remove the version numbers.

Flow names no longer include the version number when deploying or retrieving via Metadata API or the Salesforce CLI. When you deploy or retrieve a flow, we get only the latest version.

The latest version name of a flow in API version 43.0 and earlier The latest version name of a flow in API version 44.0
myflow-3 (where 3 is the latest version number) myflow (where the latest version number is no longer appended)

If you don’t deploy and retrieve using API version 44.0, you can continue to use API version 43.0 and earlier, and flow file names continue to append version numbers.

7Encrypt Rich Text Area Fields (Beta): – All Shield Platform Encryption can now encrypt rich text area fields, adding a layer of security to a wider range of your data. You can encrypt rich text area fields in custom and standard objects. To use encryption for rich text area fields, contact your account executive or Salesforce Customer Support. To enable encryption on rich text area fields, administrators need the Customize Application permission.

8. Update Tenant Secret Statuses and Schemes Through the API: – New API functionality gives you a flexible way to rotate your key material and keep it aligned with your encryption policy. In version 44.0 and later of the Enterprise API, you can destroy a tenant secret by updating the Status field instead of the SecretValue field. Cache-Only Key Service (beta) customers can activate new tenant secrets and mark archived tenant secrets as destroyed by updating the Status field. All Shield Platform Encryption customers can also view and set a field’s encryption schemes via Metadata API with the new encryptionScheme enum. For example, update a field’s encryption scheme from probabilistic to deterministic encryption by passing in the CaseSensitiveDeterministicEncryption value. The encrypted boolean has been deprecated in versions 44.0 and later.

9. Create Transaction Policies Faster and Easier with Updated Wizard: – You can now use a more intuitive wizard to create transaction security policies in both Lightning Experience and Salesforce Classic. Previously, the wizard was only available in Lightning Experience. We also improved the usability of the Transaction Security Policies page to help you maintain your policies quickly and easily.

10. Track the Platform Integration User: – Many internal Salesforce applications now automatically run their business processes as the Platform Integration User. Some records show as being created, last modified, or owned by this user. Using the Platform Integration User is an expected part of how Salesforce maintains an org, much like the Automated Process user. The Platform Integration User is traceable in the debug logs. 

The Platform Integration User works behind the scenes integrating internal applications. Here are some examples that result in the Platform Integration User showing up in audit fields.

  • An Einstein bot creates a case.
  • Einstein writes prediction data to records that it is evaluating.
  • Data is synchronized using the Salesforce Integration Cloud.

11. Enable CDN to Load Lightning Experience Faster: – Load Lightning Experience and other apps faster by enabling Akamai’s content delivery network (CDN) to serve the static content for Lightning Component framework. A CDN generally speeds up page load time, but it also changes the source domain that serves the files. If your company has IP range restrictions for content served from Salesforce, test thoroughly before enabling this setting.

CDNs improve the load time of static content by storing cached versions in multiple geographic locations. This setting turns on CDN delivery for the static JavaScript and CSS in the Lightning Component framework. It doesn’t distribute your org’s data or metadata in a CDN. To enable CDN navigates to Setup | Security | Session Settings, then select Enable Content Delivery Network (CDN) for Lightning Component framework, once done click on the Save

12. Mark Apex Method as Cacheable: – Mark an Apex method as storable (cacheable) instead of using setStorable() on every JavaScript action that calls the Apex method. This change enables you to centralize your caching notation for a method in the Apex class.

Marking a method as storable improves your component’s performance by quickly showing cached data from client-side storage without waiting for a server trip. If the cached data is stale, the framework retrieves the latest data from the server. Caching is especially beneficial for users on high latency, slow, or unreliable connections such as 3G networks.

Prior to Winter ’19, to cache data returned from an Apex method, you had to call setStorable() in JavaScript code on every action that called the Apex method. Now, you can mark the Apex method as storable (cacheable) and get rid of any setStorable() calls in JavaScript code.

To cache data returned from an Apex method for any component with an API version of 44.0 or higher, annotate the Apex method with @AuraEnabled(cacheable=true). For example:


public static Account getAccount(Id accountId) {

    // your code here


To update an existing component to use an API version of 44.0, remove setStorable() calls in JavaScript code. Annotate the Apex method with @AuraEnabled(cacheable=true) instead of @AuraEnabled, or you’ll get an error response for the action.

13. Create and Edit Field Sets in Lightning Experience: – Now you can create and edit field sets in Lightning Experience. A field set is a grouping of fields. For example, you could have a field set that contains fields describing a user’s first name, middle name, last name, and business title. When a field set is added to a Visualforce page, developers can loop over its fields and render them.

14. Use Inherited Sharing to Secure Your Apex Code: – You can now specify the inherited sharing keyword on an Apex class, which allows the class to run in the sharing mode of the class that called it. Using inherited sharing enables you to pass security review and ensure that your privileged Apex code is not used in unexpected or insecure ways. An Apex class with inherited sharing runs as with sharing when used as a Visualforce page controller, Apex REST service, or an entry point to an Apex transaction.

Apex without a sharing declaration is insecure by default. Designing Apex classes that can run in either with sharing or without sharing mode at runtime is an advanced technique and can be difficult to distinguish from one where a specific sharing declaration is accidentally omitted. An explicit inherited sharing declaration makes the intent clear, avoiding ambiguity arising from an omitted declaration or false positives from security analysis tooling.

There is a distinct difference between an Apex class that is marked with inherited sharing and one with an omitted sharing declaration. If the class is used as the entry point to an Apex transaction, an omitted sharing declaration runs as without sharing. However, inherited sharing ensures that the default is to run as with sharing. A class declared as inherited sharing runs only as without sharing when explicitly called from an already established without sharing context.

This example declares an Apex class with inherited sharing and a Visualforce invocation of that Apex code. Because of the inherited sharing declaration, only contacts for which the running user has sharing access are displayed. If the declaration is omitted, even contacts that the user has no rights to view are displayed due to the insecure default behavior of omitting the declaration.

public inherited sharing class InheritedSharingClass{

    public List<Contact> getAllTheSecrets(){

        return [SELECT Name FROM Contact];


<apex:page controller="InheritedSharingClass">

    <apex:repeat value="{!allTheSecrets}" var="record">




15. Share Extensible Functionality with the Callable Interface: – The System.Callable interface enables you to use a common interface to build loosely coupled integrations between Apex classes or triggers, even for code in separate packages. Agreeing upon a common interface enables developers from different companies or different departments to build upon one another’s solutions. Implement this interface to enable the broader community, which might have different solutions than the ones you had in mind, to extend your code’s functionality.

To implement the Callable interface, you need to write only one method: call(String action, Map<String, Object> args).

In the code that utilizes or tests an implementation of Callable, cast an instance of your type to Callable.

16. Deploy Using REST: – You can use the Metadata REST API with all deployments, either via the new deployRequest REST resource or via the Salesforce CLI. You can enable the Metadata REST API for Deploy in the Salesforce CLI by using a CLI runtime configuration value. To enable the Metadata REST API for Deploy beta feature:

 sfdx force:config:set restDeploy=true

After Metadata REST API for Deploy is enabled for the Salesforce CLI, deployments initiated using the mdapi:deploy or source:push commands use REST.

17. Reference Custom Metadata Types in Advanced Formula Fields: – Create a custom metadata type, and reference its records in an advanced formula field. Store parameters for your formula in custom metadata types. If you need to make a change, you can do so in your custom metadata type instead of changing multiple, hard-coded formulas.

18. Extract Dependency Information for Unlocked Packages: – For an installed unlocked package, you can now run a simple SOQL query to extract its dependency information. You can also create a script to automate the installation of unlocked packages with dependencies.

Salesforce1 Enhancements

Your users have several options for accessing Salesforce on mobile devices that meet minimum platform requirements.

  • Install Salesforce for Android or iOS. Users can download the app from Google Play or the App Store.
  • Access Salesforce mobile web from a supported mobile browser on select Android, Apple, or Windows mobile devices. This option doesn’t require anything to be installed.

1Updated Salesforce App Requirements – Salesforce is available on many popular mobile platforms. Salesforce is revising the requirements for using Salesforce for Android, Salesforce for iOS, and the Salesforce mobile web. Read this article to learn about the mobile platform requirements and the devices that Salesforce use for the feature and performance testing to continue improving the experience.

2Find Your Territories’ Opportunities on the Go: – Enterprise Territory Management users can easily find opportunities assigned to their territories in list views created with the My Territories and My Territory Team’s filters.

3Manage Territory Account Assignment on the Go: – Now you no longer need to switch to the full site to select Evaluate this account against territory rules on save when you are editing an account. With this check box selected, Salesforce runs assignment rules when an account is updated and saved. 

4Use Rich Publisher Apps on Your Mobile Devices: – When you visit a community feed on a mobile device, you can now use any Rich Publisher Apps that are available in the feed publisher.

This feature is available in Lightning communities accessed through Lightning Experience and Salesforce Classic from mobile devices. Communities are available in Enterprise, Performance, Unlimited, and Developer editions.

5See Approval Requests Assigned to Your Queues in All Salesforce Experiences: – You can now see approval requests assigned to you and to your queues regardless of which Salesforce user interface you are using. Previously, approval requests assigned to queues appeared only in Salesforce Classic.

When someone assigns an approval request to a queue, the queue members can see it in the Items to Approve list. This change applies to Lightning Experience and all versions of the Salesforce app in Enterprise, Performance, Unlimited, and Developer editions.

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

🍔 🌮 🍪 🍰 I am thankful to for sponsoring my blog.  🍔 🌮 🍪 🍰

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

14 thoughts on “Salesforce Winter19 release quick summary

  1. Hello Rakesh

    Really good fast view over the highlights in winter 19

    May on some points like apex and flows some notes for “what is good for” with a short example will be good.

    But its a minor one

    kindly regards peter

  2. Great stuff Rakesh! Good to be ahead of the game! I really like the “Where is this Used Button” and the Component Visibility on User Permissions. Also liked all the Flow enhancements, there’s a blog post on it’s own for that with use cases I’m sure.

    I had the pleasure of presenting on Flows at the Sydney Downunder Dreaming event last month, it was fun but this is a leap forward. We held that at the Sydney Cricket Ground and it was a real honour to present to my fellow Ohana members at the Members Pavilion in the Richie Benaud Room no less. One of the Sydney User Group Leaders recomended your site and I’ve been reading your posts since – keep on keeping on they are fantastic!

Leave a Reply

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