1. The @track Decorator Is No Longer Required for Lightning Web Components:

No more guessing about whether to use @track to make a field reactive. All fields in a Lightning web component class are reactive. If a field’s value changes and the field is used in a template or in a getter of a property that’s used in a template, the component rerenders and displays the new value.

2. Navigate Users to a Record’s Create Page with Default Field Values:

Use the new lightning/pageReferenceUtils module or lightning:pageReferenceUtils Aura component to build navigation links in your components that prepopulate a record’s create page with default field values. Prepopulated values can accelerate data entry, improve data consistency, and otherwise make the process of creating a record easier.

To construct a custom button or link that launches a new record with prepopulated field values, use this sample formula:

/lightning/o/Account/new?defaultFieldValues=Name {!URLENCODE(Account.Name)},OwnerId={!Account.OwnerId},AccountNumber={!Account.AccountNumber},NumberOfEmployees=35000,CustomCheckbox__c={!IF(Account.SomeCheckbox__c, true,false)}

3. Communicate Across Salesforce UI Technologies with the Lightning Message Service API (Beta):

Use the Lightning Message Service API to communicate across the DOM, between Aura components, Visualforce pages, and Lightning web components.

4. Enable Field- and Object-Level Permissions Checking Using WITH SECURITY_ENFORCED in SOQL Queries:

SOQL queries using WITH SECURITY_ENFORCED is now generally available. Use the WITH SECURITY_ENFORCED clause to enable field and object level security permissions checking for SOQL SELECT queries in Apex code, including subqueries and cross-object relationships. The WITH SECURITY_ENFORCED clause is available only in Apex.

5. Use Generic sObject Data Types in Invocable Methods and Invocable Variables:

Methods annotated with @InvocableMethod and variables annotated with @InvocableVariable now support the generic sObject and List<sObject> data types.

6. Update and Deploy Lightning Communities with ExperienceBundle:

The ExperienceBundle metadata type, which was previously available as a pilot program, is now generally available. ExperienceBundle provides human-readable, text-based representations of the different Experience Builder settings and site components, such as pages, branding sets, and themes. Whether it’s for your own org or you’re a consulting partner or ISV, quickly update and deploy Lightning communities using your preferred development tools, including Salesforce Extensions for VS Code, Salesforce CLI, Workbench, or your favorite IDE or text editor.

7. Build Fast, Efficient Experiences with a New LWC-Based Template (Developer Preview):

Use the latest Build Your Own (LWC) template to develop communities that load quickly and scale well. Based on Lightning Web Components (LWC), a new programming model that delivers exceptional performance, this lightweight template supports fully customized LWC solutions. For example, if you specialize in building experiences with your own design system and component library, you can remove SLDS and include custom Lightning web components to achieve the pixel-perfect experience that you want.

8. Create Scratch Orgs with More Features:

Salesforce has added new set of features in scratch org definition file

  • BigObjectsBulkAPI
  • CalloutSizeMB:<value>
  • ChangeDataCapture
  • CMSMaxContType
  • CMSMaxNodesPerContType
  • CMSUnlimitedUse
  • ConAppPluginExecuteAsUser
  • ConcStreamingClients:<value>
  • ConnectedAppToolingAPI
  • ConsolePersistenceInterval:<value>
  • DataMaskUser
  • DensityValue
  • DeviceTrackingEnabled
  • DisableManageIdConfAPI
  • DurableClassicStreamingAPI
  • DurableGenericStreamingAPI
  • DynamicClientCreationLimit
  • EinsteinArticleRecommendations
  • EmbeddedLoginForIE
  • EmpPublishRateLimit:<value>
  • EnableManageIdConfUI
  • EnablePRM
  • ExperienceBundle
  • FinancialServicesCommunityUser:<value>
  • GenericStreaming
  • GenStreamingEventsPerDay:<value>
  • HoursBetweenCoverageJob:<value>
  • IdentityProvisioningFeatures
  • IgnoreQueryParamWhitelist
  • IndustriesManufacturingCmty
  • IndustriesMfgAccountForecast
  • LegacyLiveAgentRouting
  • ListCustomSettingCreation
  • MaxAudTypeCriterionPerAud
  • MaxFavoritesAllowed:<value>
  • MaxNoOfLexThemesAllowed:<value>
  • MaxStreamingTopics:<value>
  • MaxUserNavItemsAllowed:<value>
  • MaxUserStreamingChannels:<value>
  • MedVisDescriptorLimit:<value>
  • MobileExtMaxFileSizeMB:<value>
  • MobileSecurity
  • MultiLevelMasterDetail
  • MutualAuthentication
  • NumPlatformEvents:<value>
  • OutboundMessageHTTPSession
  • PardotScFeaturesCampaignInfluence
  • PlatformConnect
  • PlatformEventsPerDay
  • RefreshOnInvalidSession
  • S1ClientComponentCacheSize
  • SalesCloudEinstein
  • SalesforceIdentityForCommunities
  • SAML20SingleLogout
  • SCIMProtocol
  • SecurityEventEnabled
  • SessionIdInLogEnabled
  • SingleSignOn
  • StreamingAPI
  • StreamingEventsPerDay
  • SubPerStreamingChannel
  • SubPerStreamingTopic
  • SustainabilityCloud
  • TransactionFinalizers
  • WorkThanksPref

9. Secure Your Sandbox Data with Salesforce Data Mask:

Salesforce Data Mask is a powerful new data security resource for Salesforce admins and developers. Instead of manually securing data and access for sandbox orgs, admins can use Data Mask to automatically mask the data in a sandbox.

10. Encrypt Platform Event Messages in the Event Bus:

For added security, you can now enable encryption of platform event messages at rest while they’re stored in the event bus in a Shield Encryption org.