Salesforce Winter ’25 Release Highlights: What You Need to Know

Salesforce Winter ’25 Release Highlights: What You Need to Know

4/5 - (1 vote)

I know why you’re here and I have exactly what you need. Welcome to the Winter’25 release highlights.
From AI-powered innovations to productivity-boosting tools, here are the top highlights you should know about.

  1. Platform Login License.
    The Salesforce Platform Login license allows you to assign access to custom apps built on Platform for internal users without the requirement to buy a seat-based license. With the Salesforce Platform Login license, you can pay per daily unique login for users who need infrequent or occasional access. Contact your account executive for more information on purchasing the Salesforce Platform Login license.
    • The Salesforce Platform Login license is available October 15, 2024.
  2. Inbound Email Limit Increased
    To deliver expected performance, we now limit the number of inbound emails that can be queued after you reach your daily email limit. The number of emails that you can queue is equal to your daily email rate limit. After you reach the limit, inbound emails bounce. Review your email services, and use the Requeue Message failure response option only for high-priority services.
    • Example: If you have 10 Salesforce licenses, you can receive 10,000 inbound emails before you reach your daily limit. When you reach that limit, additional inbound emails are queued for processing if the failure response option on the email service is Requeue Message. After 10,000 emails are queued, all additional inbound emails for that day bounce.
  3. Einstein Search Limit
    To ensure fair access for all users and protect against potential service disruptions, the number of search queries for each user is limited to 5,000 and 1.4 CPU hours within a 5-minute interval. If a user exceeds the limit, an error message is displayed.
    • From August 2024.
  4. Permission Insights: Object and Users
    Get a comprehensive view of the permission sets, permission set groups, and profiles that grant access to an object, and the level of access granted. Use the read-only Object Access Summary in Object Manager to quickly check object permissions when troubleshooting, completing reviews, or determining how to grant user access. We delivered this feature thanks to your ideas on IdeaExchange.
    The User Access Summary, depicting the Access Granted By action on a user permission
  5. New Dynamic Highlights Panel
    Use the new Dynamic Highlights Panel to configure your most important fields right in the Lightning App Builder. Previously, you could only configure fields in the Highlights Panel by using compact layouts in Setup. The Dynamic Highlights Panel can contain up to 12 fields. We delivered this feature thanks to your ideas on IdeaExchange.
    Dynamic Highlights Panel in the Fields tab
  6. Multiple Picklist Values in Restriction and Scoping Rules
    You can now reference multiple picklist values in the record criteria of your restriction and scoping rules. This change makes it easier to configure which records and fields your users see when these rules are applied.
    The modal to select multiple picklist in a scoping rule's record criteria.
  7. User Access Summary
    User information is now consolidated on the improved User Access Summary page, so it’s easier to view and edit that information. The standard and custom user fields that appear on the summary page match the User Details section of the user’s assigned user profile page layout.
    The User Details section highlighted on a user's access summary.
  8. TypeScript in LWC
    To improve developer productivity and code quality, you can now author new Lightning web components (LWCs) with TypeScript. You can also convert existing JavaScript components to TypeScript. Previously, LWC projects only supported JavaScript components.
    • TypeScript support for LWC is available as a developer preview.
  9. More Coverage for Unexpected Exceptions in Apex Code Execution
    Exceptions triggered by transactions with entry points as @AuraEnabled@RestResource, and @InvocableAction annotations are now captured in the Apex Unexpected Exception event type. Analyze the event log files that provide information on exceptions triggered by these transactions. A spike in exception data logged in the event log files is possible because of the expanded coverage.
  10. SOQL Error and Functionality Changes
    Updates in this release can impact existing Apex code that relies on old SOQL error messages and functionality, particularly to dynamic SOQL code that handles the parsing of error messages. Review these changes and update your code as needed.
    • Review the changes in functionality and updates to error messages.
      • Support for negative currency values in queries, such as SELECT Name FROM Invoice__c WHERE Balance__c < USD-500.
      • New error messages with invalid SOQL queries.
        • SELECT Id FROM Account USING everythingOld: unexpected token: '<EOF>'New: unexpected token: 'everything'
        • SELECT ParentId, Value FROM InteractionRefOrValue WHERE ParentId IN ()Old: unexpected token: ')'New: unexpected token: 'ParentId IN ()'
        • SELECT FROM ServicePresenceStatusOld: unexpected token: 'FROM'New: unexpected token: 'SELECT FROM'
        • SELECT Id from $casecomment WHERE isdeleted = falseOld: line 1:15 no viable alternative at character '$'New: line 1:15 unexpected token: '$'
        • SELECT lastmodifieddate, companyna fr$om userOld: unexpected token: userNew: missing value at 'user'
      • New error message in SOQL queries with quotes surrounding an unexpected token.SELECT annualrevenue , parentid FROM Account WHERE (isDeleted = false AND NumberOfEmployees != 100) OR (isDeleted = false AND Site = '999') AND ParentId = '000000000000000' LIMIT 50000 Old: unexpected token: ANDNew: unexpected token: 'AND'
      • New error message when using NULL literals in WHERE statements with the LIKE keyword.SELECT Id, Name, Country__c, State__c, City__c, PAN_Number__c FROM Account WHERE PAN_Number__c LIKE NULL AND Name LIKE '%a%'Old: invalid operatorNew: unexpected token: 'NULL'
      • New error message when using more than two nested functions.SELECT convertCurrency(calendar_year(convertTimezone(lastmodifieddate))) FROM accountOld: expecting a right parentheses, found ‘(’New: unexpected token: ‘(’
      • New error messages in SOQL queries with invalid datetime literals.
        • SELECT Id FROM Account WHERE SystemModstamp > 2020-12-12t12:12:00-25:00Old: line 1:67 mismatched character '5' expecting set '0'..'3'New: Invalid datetime: 2020-12-12t12:12:00-25:00
        • SELECT Id FROM Account WHERE SystemModstamp > 2020-52-12t12:12:00-05:00Old: line 1:51 no viable alternative at character '5'New: Invalid datetime: 2020-52-12t12:12:00-05:00
      • New error message when there isn’t a valid bind variable reference after a colon.SELECT Id FROM Custom_User_Attribute__c WHERE User__c =: 0050W000007Jz7jQACOld: Only variable references are allowed in dynamic SOQL/SOSLNew: unexpected token: '0050'
  11. Limitation on Modifying a Collection in Iteration
    In API version 62.0 and later, modifying elements of a set while iterating the set in a for or foreach() loop throws an exception. This behavior is versioned. In API 61.0 and earlier, modifications to sets while iterating were sometimes allowed and generated unexpected results.
    • This sample code removes elements while iterating the set, which throws an exception: System.FinalException: Cannot modify a collection while it is being iterated.

      Set<String> set_string = new Set<String>{'one', 'two', 'three'};
      for (String str : set_string) {
      System.debug(str);
      set_string.remove(str);

      System.debug(set_string.contains(str));
      }
      System.debug(set_string);
  12. Mock SOQL Tests for External Objects
    To increase code coverage and quality, you can now write better Apex unit tests for external objects and mock SOQL query responses by using the new SOQL stub methods and a new test class. Use basic and joined SOQL queries against external objects and return mock records in a testing context.
    • Create mock test classes by extending the new System.SoqlStubProvider class and overriding the handleSoqlQuery() class method. Create external object records using either Test.createStubQueryRow() or Test.createStubQueryRows(). Register the mock provider in the test using Test.createSoqlStub() and execute the test code.
  13. Design and Layout Controls for LWR Sites
    New features in Experience Builder offer abundant options for refining your site design. Use new properties in the Theme panel to specify the style for more elements, such as buttons and headings. Anchor the header region of your site to the top of the page so that it stays visible even when visitors scroll down. Customize the color palette for an individual Columns component. Previously, you could customize only a full section or an entire site.
  14. Modernized Record Experience in Aura Sites
    Use upgraded record components, running on Lightning web component technology, and see stylistic changes to these components in your Aura sites. Previously, changes were available only in sandbox environments. Now changes are available in Create Record Form, Record Banner, and Record Detail components in production environments.
  15. Easier to Troubleshoot your Salesforce Flow
    Troubleshooting flow errors is easier than ever before. The new Errors and Warnings pane lists issues that prevent you from saving and activating your flow as you work in an easy to scan format. The pane includes links to the Flow Builder canvas that help you identify the source of issues. You can show or hide the new pane with the Show Error button, which includes a notification badge that displays the total number of issues to address.
    Errors and Warning pane in Flow Builder
  16. Flow Child Resources
    When referencing the child resource of an element in a flow, such as a screen component within a Screen element, now you can search for and select it directly in the updated resource menu. Previously, you had to first select the element of the child resource, and then select the child resource.
    This change applies to these child resources: Screen components, screen actions, Decision element outcomes, and Wait element configurations.
    A Create Records element properties panel showing the search for the screen componenet and the resulting screen component in the resource menu
  17. Create New Variable and Constant Flow Resources More Easily
    Now it’s easier to create new variable and constant flow resources with ‌improved grouping and user-friendly labeling. Resource grouping is now enabled for Text, Number, Currency, Boolean, Date, and Date/Time data types. These improvements make it easier for you to more quickly discover the resources that you need.
    New Resource window with the breadcrumb path and intuitive icons highlighted in a variable resource type.
  18. Find Flow Resource Variables More Easily
    With this update, Flow Builder extends the enhanced resource-selection experience to Assignment and Create Records elements. Resources such as Actions, Screen components, and Variables are grouped so it’s easier to find what you need.
    The opened variable with a checkmark and the API Name, Data Type, and the Variable Type displayed.
  19. Identify Inefficient Flow Designs with New Tips
    New tips in Flow Builder help you identify designs that can slow down your flows and increase the risk of reaching Apex governor limits. These tips appear in the Flow Builder canvas and provide guidance on how to improve your flow. By addressing these suggestions, you can ensure that your flows are running efficiently and avoid potential performance issues.
    Tip that appears on Flow Builder canvas
  20. Better Screen Flow Experience with Action Buttons
    With the Action Button component, the running user can trigger a screen action with the click of a button on a screen. The screen action runs an active autolaunched flow, and the results of the autolaunched flow can be shown on the same screen as the button. This component means fewer screens so users can complete screen flows more quickly and with fewer mistakes. Previously, users clicked through multiple screens to get the same functionality. Now generally available, the Action Button component includes some improvements since the last release.
    Flow Builder with a Screen element open and a Lookup, Action Button, and Data Table component
    The screen flow at runtime showing all the components on one screen
  21. Modify Existing Record Collection in the Repeater Component
    You can now use the Repeater component to update existing record collections so it’s easier for end users to change a collection of records in a screen flow. Previously, the Repeater component in the Screen element supported only creating records.
    A running flow that shows a screen with two repeater instances
  22. Disable More Screen Component Fields at Run Time
    Now you can disable fields on the Action Button, Dependent Picklist, Lookup, Phone, and Slider screen components by using the component’s Disabled attribute. When the Disabled attribute is set to true, screen flow users can’t focus on or modify any fields in the component. A gray background appears on the component’s input fields to give users a visual cue.
    A Lookup screen component with its Disabled field set to a formula resource
  23. Select Multiple Choices with Choice Lookup Component
    You can now configure the Choice Lookup component to accept either a single selection or multiple selections (up to 25), making it more flexible for your business processes. Previously, only the Lookup component supported selecting multiple options through a lookup field.
    A running flow that shows a screen with two selected options
    Configure choices section in the Choice Lookup component properties panel
  24. Recognize and Differentiate Between Custom Components Instantly in Screen Elements
    Custom components now show labels or API names directly on the component in Flow Builder where you add the component to the Screen element, streamlining your workflow and reducing confusion. Previously, without a preview, understanding the role and function of each custom component was a guessing game, especially if you added the same component more than once.
    Preview of two custom components that show their labels
  25. Get Help Creating Flow Formulas with Einstein (Beta)
    Build flow formulas with ease by describing what you want to calculate and letting Einstein generative AI figure out the functions and operators for you. Formulas created by Einstein are available only in Flow Formula Builder. Generative AI can produce inaccurate or harmful responses, so it’s important to test your formula for accuracy and safety before activating your flow.
    A new Formula resource with the Einstein section opn in the Flow Builder and a description of a formula
  26. CC and BCC Options in Send Email Action in Flow
    The maximum total number of recipient email addresses is increased from 5 to 150. You can now add CC and BCC recipients to emails by using the Send Email Action in Flow Builder. Any address entered in the CC field receives a copy of the email, and those in the BCC field also receive a copy, but their email addresses are hidden from all recipients.
    The Send Email Action’s BCC Recipient Address List and CC Recipient Address List options turned on to add email addresses.
  27. See Scheduled Flows Limit in Debug Details
    Now, you can view the maximum number of scheduled flows that your org can run daily, helping you stay under the limits. Previously, the panel showed only the ID of the record on which the debug operation ran and the number of records impacted. This additional information helps you plan and execute more efficiently, avoiding the frustration of halted flows.
    Debug details in Flow Builder that shows the Affected Records section expanded
  28. Einstein Next Best Action in Experience Cloud Sites
    Use Einstein Next Best Action to build AI-powered insights for a wide array of use cases. You can use point-and-click and programmatic functionality to build applications that predict anything surfaced through Salesforce. In Experience Cloud sites, you can add the Einstein Next Best Action component in your Experience Cloud page to set up data that uses flows, strategies, and the Recommendation object to create personalized offers and actions for your users using business logic and predictive models to refine those recommendations.
  29. Control Who Can Perform Authenticated Callouts with Ease
    It’s easier than ever to configure permissions for named credentials so that your users can make authenticated callouts to external systems. Previously, after you enabled external credential principal access, you also assigned object permissions for User External Credentials manually on each permission set or profile. Now, most standard permission sets and profiles have access to the User External Credentials object by default. For the guest user profile, and for existing custom permission sets and profiles, you must still grant access to the User External Credentials object manually

Of course, there are more in this release, I will try to update this blog to cover them. However, I request all of you go to the Release note page and read them all as I have just covered platform stuff. There are many things related to each cloud and industry as well.

I hope you’ve enjoyed reading this. see you on the next one!

Leave a Comment