Lightning · Salesforce · Salesforce Releases

Highlights of Spring’19 Release: Part II

Hello Ohana!! This very article takes you up through the major functionality upgrades in the lightning development platform by salesforce coming this Spring’19 release. Let’s get started!


1. Show a Toast with a New JavaScript Function:  
Displaying messages are now made easy by the introduction of this new JS function. A toast displays a message below the header at the top of a view. 
You can display a message on toast using the function.
This change applies to Lightning Experience, Lightning communities, and all versions of the mobile app. The function is available for Visualforce pages set to API version 45.0.
Syntax of the function :{toastparams})

The toastParams object sets the attributes for the toast, such as the toast title and message. Use any attribute available for the force:showToast Aura event.

The function is a wrapper for the force:showToast Aura event.

2. Postponed “Remove Instance Names from URLs for Visualforce, Community Builder, Studio, and Content Files” Critical Update: 

Use iframes to include Visualforce pages on external web pages while enabling clickjack protection. Whitelist the external domains that you trust to bring your Visualforce content outside the Salesforce domain.

Previously, it was all or nothing: You could allow iframes of Visualforce pages on all external domains or none at all.This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in Contact Manager, Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.
In Setup, search for Session Settings. Under Clickjack Protection, select Enable clickjack protection for customer Visualforce pages either with headers disabled or with standard headers. Both these options allow framing on whitelisted external domains and provide clickjack protection.Then under Whitelisted Domains for Visualforce Inline Frames, add the trusted external domains where you allow framing.
3. The <apex:detail> and <apex:enhancedList> Components:
The <apex:detail> and <apex:enhancedList> components now work together on a Visualforce page that uses the standard controller for custom objects. Previously, these components conflicted when they were used with custom objects.
This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in Contact Manager, Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.


1. Invocable Actions:

Invocable actions are available through the REST API. The following actions below are added in the spring’19 release.


Adds a lead or contact record to a sales cadence. This action requires the following fields.

  • salesCadenceNameOrId—The name or ID of the sales cadence.
  • targetId—The ID of the lead or contact.


Removes the specified lead or contact record from the specified sales cadence. This action requires the following fields.

  • targetId—The ID of the lead or contact.
  • completionReasonCode—The reason the lead or contact was removed. The only valid value for this field is ManuallyRemoved.
2. Fewer Round-Trips for the FlexiPage Object by Using SObject Collections: 

Using Tooling API, you now can take action on multiple records belonging to the FlexiPage object with a single request. By grouping operations by object type, you reduce the number of round-trips between the client and server. SObject Collections supports XML and JSON formats. Only the FlexiPage object is supported.

We can use a POST request to add up to 200 records or a PATCH request to update up to 200 records, returning a list of SaveResult objects.

E.g: Use a GET request to retrieve one or more records of the same object type, specified by ID.

3. Custom MetaData Types: 

Reference a custom metadata type record in a default value to simplify updating fields. If the default field value changes, you can update it in the custom metadata type instead of updating multiple field references.

For the custom metadata type, use __mdt. For fields, use __c. Records require no suffix.

Salesforce CLI:

1. Leverage Extended Functionality for Lightning Web Components with Salesforce CLI:

Now you can create Lightning web components with the pre-release version of Salesforce CLI.

Install the pre-release version to use new commands and parameters available in salesforcedx v45.

Screenshot 2018-12-24 at 4.29.11 PM

In your IDE you can use the sfdx package and the Lightning web components package to create a Lightning Web Component.

Screenshot 2018-12-24 at 4.53.38 PM

2. Build Your Own Salesforce CLI Plug-In with Open-Source Tools: 

Plug-ins add functionality to Salesforce CLI. Salesforce includes several plug-ins when you install the CLI that provide commands and functionality to meet common needs that customers and partners have. You can also choose to install other plug-ins built by Salesforce and others. But when you have requirements that existing plug-ins don’t meet, Salesforce Plug-In Generator simplifies building your own using Node.js. Salesforce Plug-In Generator and the CLI @salesforce/core and @salesforce/commandlibraries are open source.

Enterprise Messaging: 

1. Keep Your External Data Up to Date with Change Data Capture (Generally Available):

Receive near-real-time changes of Salesforce records, and synchronize corresponding records in an external data store. Change Data Capture publishes change events that represent changes to Salesforce records. Changes include creating a record, updating a record, deleting a record, and undeleting a record. Change Data Capture was offered in the last release as a developer preview and a pilot, and we’ve made enhancements for this release.

Change events are based on platform events and share some of their characteristics. For example, you can replay a stream of past events that are stored for up to three days. Also, change events share the usage-based entitlements for CometD event delivery with high-volume platform events.

Change events are available for all custom objects defined in your Salesforce org and a subset of standard objects.

Select the objects that you want to get notifications for from the new Change Data Capture page in Setup.


Change Data Capture is supported when Shield Platform Encryption is enabled. If Salesforce record fields are encrypted with Shield Platform Encryption, changes in encrypted field values generate change events. Data in change event messages is delivered over a secure transport layer (HTTPS and TLS).

2. Scale Your Event-Based Apps with High-Volume Platform Events (Generally Available):

Use high-volume platform events to publish and process millions of events efficiently. Receive notifications in real time, and use an event-driven programming model to automate your processes and integrate your apps with external business processes. With high-volume platform events, your apps scale better than with standard-volume events, and you can retrieve retained event messages for up to three days. High-volume platform events are now the default event type for new event definitions.

You can define a high-volume platform event from the user interface or through Metadata API.

3. Monitor Your Standard-Volume Platform Event Usage:
For your previously defined standard-volume events, you can now inspect event delivery usage to CometD clients and prevent hitting the limit. Monitor your 24-hour usage with the limits REST API resource, in the DailyStandardVolumePlatformEventsresponse value.
4. New Status Code for Event Publishing Failure:

When publishing an event message fails due to the publishing service being temporarily unavailable, the returned SaveResult contains the error with a status code of PLATFORM_EVENT_PUBLISHING_UNAVAILABLE.

Salesforce Extensions for VS Code:

Simplify Lightning Web Component Development with the VS Code Extension Pack:

Install the Salesforce Extensions for VS Code extension pack, and get the Lightning Web Component extension to speed your component development. You no longer need to install or manage separate extensions nor worry about the order in which you install and update your Salesforce extensions.

This slideshow requires JavaScript.

Security and Identity: Salesforce Shield –>

1. Field Audit Trail Object Support:

Data changes continuously, and administrators and auditors need access to historical data well beyond 18 months. To ensure that your org captures field and object changes for up to 10 years, Field Audit Trail now supports automated archival for more objects, including the new Individual object. You can now set field history retention policies on these objects: Campaigns, Individuals, Orders, and Order Products.

2. Cache-Only Keys Generally Available:

Shield Platform Encryption lets you use more features to access encrypted data. The Cache-Only Key Service gives you more ways to control your key material. And to help you get to work faster, we added self-service options for managed packages and the background encryption service.

3. New Apex Events:

Two new EventLogFile event types capture Apex exception and long-running Apex request information. Also, you can enable Transaction Security policies as you create them, and we added more informative policy error messages.

Shield Platform Encryption:

1. Self-Service Background Encryption:

Sometimes you add fields to your encryption policy, apply a different encryption scheme to a field, or rotate key material. In these cases, it’s important to synchronize encrypted data with your encryption policy and active key material. Now you can sync data in most fields, as well as field history and feed tracking changes, from Setup. Self-service background encryption gives you the autonomy to maintain your encryption policy on your own schedule with fewer calls to Salesforce Customer Support.


The new Sync Needed column indicates whether you need to synchronize your data (1). Click Sync (2), and Salesforce synchronizes the object’s data in the background. Check the status of the encryption process at the bottom of the page (3), or wait for the email letting you know that the job is complete.

Self-service background encryption isn’t available for all data elements. You can’t sync standard description fields, long and rich text area fields, and data elements, such as files and attachments, and Chatter data through Setup.

2. Self-Service Encryption for Managed Packages:

Now you can turn on the Encrypt Custom Fields for Managed Packages setting for your org right from Setup. No more calls to Support. If the installed managed package supports encryption, you can get right down to the important business of adding extra layers of security to your—and your customers’—data.

On the Advanced Settings page in Setup, turn on Encrypt Custom Fields in Managed Packages. From now on, if an installed managed package supports encryption, you can encrypt custom fields in that package.

3. Encrypt Einstein Discovery (Pilot):
Now you can encrypt sensitive Einstein Discovery data with Shield Platform Encryption. When you encrypt this data at rest in Salesforce, you add another layer of security to your Einstein Discovery answers, explanations, and recommendations.

Lightning Communities: 

Security and Sharing –>

1. Use Sharing Sets with Campaigns, Opportunities, and Orders (Generally Available):
You can now grant portal or community users access to campaigns, opportunities, and orders using sharing sets.
2. Enable External Org-Wide Defaults in Orgs with Communities or Portals (Critical Update):

This update enables the External Sharing Model and provides admins with a list of objects whose default external access settings must be reviewed. This update helps you secure your data by letting you set more restrictive levels of access for external users. Before Spring ‘19, org-wide defaults gave internal and external users the same default access to objects. After activating this update, external org-wide defaults are enabled in all orgs with communities or portals.

This critical update is enforced on June 17, 2019. Orgs that turn on communities after this date have these defaults enabled.

When external org-wide defaults are first enabled, the external access levels are set to match the internal access levels. The default settings might give more data access to external users than you want.

From Setup, enter Critical Updates in the Quick Find box, then select Critical Updates. For Enable External Org-Wide Defaults in Orgs with Communities or Portals, click Activate.

After enabling external org-wide defaults, review your access levels for external users. From Setup, enter Sharing Settings in the Quick Find box, then select Sharing Settings. Under Organization-Wide Defaults, edit the default external access.

3. Enable Clickjack Protection More Easily in Community Builder:

You can now enable clickjack protection levels for Lightning communities right from Community Builder. Clickjack protection helps prevent attacks that trick users into clicking something they shouldn’t.


4. Localize Login Prompts and Error Messages for Login Discovery:

When you use the Login Discovery page type in Communities, you can localize the login prompt with a custom label. You can also localize custom login error messages in Apex.

This change is available in all communities accessed through Lightning Experience and Salesforce Classic, and is available in Essentials, Enterprise, Performance, Unlimited, and Developer editions.

5. Create Your Own Verify Page for Community Sign-Ups:

When users sign up for your community with an email address or phone number, Salesforce sends them a verification code and generates the Verify page for users to confirm their identity. You’ve been able to brand the Verify page with your logo, colors, and background, but the form comes from Salesforce. Now you can customize your Verify page’s layout and text with Visualforce and a couple of Apex methods.

Thanks for reading through #Ohana, hope this will help blaze your trail!! 

For a detailed dive : click here! 

Resources : Spring’19 Release Notes.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s