[SALESFORCE] Spring '25 Release Notes

February 8, 2025

Introduction

To be honest I am not a big fan of the form how Salesforce presents release notes. For me they are not user-friendly and it is difficult to catch interesting points. Fortunately, AI can help here. Washing dishes and listening about new Salesforce featurs and updates? Sounds like a good plan. Let's try. :)

1/ AI generated podcast going through the release notes documentation - quick overview off all areas and clouds

2/ AI generated briefing document from Salesforce Spring '25 Release Notes

Key Themes and Highlights:

Agentforce 2.0 and Enhanced Agent Experience:

  • The release emphasizes "Drive customer success with Agentforce 2.0," suggesting significant improvements to the agent experience.
  • Digital Wallet provides enhanced monitoring of Agentforce usage for Sales and Service Cloud: "Monitor more of your Agentforce usage for Sales and Service Cloud with Digital Wallet...the Conversations consumption card summarizes your org's combined usage of Agentforce Sales Coach and Agentforce SDR (Sales Development Rep) along with ASA Messaging (formerly Agentforce Service Agent - Inbound)."
  • Easy creation of Agentforce service agents from Einstein Bots: "Quickly build an Agentforce Service agent based on an Einstein bot. Agentforce generates agent topics and actions based on the bot's intents and dialogs."

Data Cloud Integration and Enhancements:

  • Significant focus on Data Cloud with cross-cloud updates.
  • Semantic Data Model enhancements for improved reporting and analysis (Beta): "Analyze Logical View and Semantic Union Metrics in Data Cloud Reports (Beta) Get a comprehensive analysis of records in a semantic data model by including its logical views and semantic unions in a Data Cloud report."
  • Ability to control data access based on user territories in Territory Management 2.0 (Generally Available): "Allow users to see data in dashboards and insights only for the territories they're assigned to in Territory Management 2.0."
  • Ability to act on Data in other clouds: "Create Data Cloud Enrichments with Companion Org Data"

Revenue Cloud Enhancements:

  • Flexible billing strategies, including milestone billing and usage-based billing: "Adopt a Flexible Billing Strategy with Milestone Billing Added a release note to announce the Revenue Cloud Billing feature for generating invoices based on milestones." and "Generate Usage-Based Invoices with Usage Management Added a release note to announce the Revenue Cloud Billing feature for generating usage-based invoices."
  • Usage Management is generally available: "Manage consumption of usage-based products with Usage Management."
  • The use of decimal quantities in transactions: "Who: To enter decimal quantities, users must have the DecimalQuantityRuntime permission set."
  • Sales Agreements improvements: "Revenue Management Features for Sales Agreements Modernize your run-rate business processes and win more business by using revenue management features for Sales Agreements."

Einstein AI Integration:

  • Einstein is leveraged for Data Mask: "Let Einstein do the heavy lifting and create your custom libraries. Automatically run masking configurations each time you refresh your sandbox."
  • Einstein's capabilities extend to generating custom libraries, providing values for masking sensitive data in sandboxes.
  • Consumption forecasting in Sales Cloud: "Show progress toward quota attainment."

Lightning Design System (SLDS) Updates:

  • Introduction of Salesforce Lightning Design System (SLDS) 2 (Beta): "Now available in Spring '25, SLDS 2 is the latest design system for Salesforce products on the Lightning Platform."
  • SLDS Validator to scan UI code and provide improvement recommendations.
  • "The new design of SLDS 2 is achieved through CSS updates and the implementation of styling hooks, without changing the markup or structure of components. This approach allows for seamless UI changes while preserving the Lightning Experience."

Hyperforce Expansion and Disaster Recovery:

  • Hyperforce availability expands to more regions: "Hyperforce is now available in 17 countries, giving you more choice and control over data residency." New regions include Israel and Osaka, Japan.
  • Out of Region Disaster Recovery (OORDR) provides business continuity during regional catastrophes (premium offering).
  • Easy access to outbound IP lists: "Access Hyperforce Outbound IP Lists Keep your allowlists up to date with easier access to Hyperforce egress IPs."

Industries Cloud Enhancements:

  • Automotive Cloud: Related list enrichments on vehicles with Data Cloud.
  • Financial Services Cloud: Objective Tracking Metrics for business relationship planning. Enhanced Loan Application and the Loan Calculator tool for self-service.
  • Health Cloud: Disease Surveillance data model, and public health actions to track patient records effectively.

Sales Cloud and Sales Performance Management:

  • Improved pipeline forecast visibility with manager judgments on opportunity splits.
  • Quota Planning accounts for ramp-up of new reps and seasonal sales patterns. Publish to territory-based forecasts in Pipeline Forecasting.
  • New Sales Cloud Go features

Mobile Enhancements:

  • Enhanced barcode scanner for Android: "Enhanced Barcode Scanner for Android lets your mobile workers scan multiple barcodes at once."
  • New Salesforce Mobile Home Experience: "Help your mobile users get to what matters faster."

Field Service Improvements:

  • New objects for inventory counts, and enhancements to how counts are managed.
  • "Efficiently Schedule Inventory Counts for Products and Parts"
  • Nuanced structures for inventory replenishment policies: "Design Inventory Replenishment Policies with Nuanced Structures"

Other Notable Features/Changes:

  • GDPR Compliance: Mass delete user information using an API.
  • Security: Prepare for upcoming restrictions on Salesforce cookie use.
  • Apex: Compress and extract Zip files in Apex (Generally Available). Evaluate Dynamic Formulas in Apex (Generally Available).
  • Platform Development Tools: New api request graphql CLI command.

Considerations:

  • Many features are in Beta or Pilot programs, requiring review of the Beta Services Terms.
  • Some features require administrator setup or enabling by Salesforce.
  • Several features are only available in specific Salesforce editions.
  • The release notes mention several "SEE ALSO" links to Salesforce Help, but indicate these may be outdated or unavailable during the release preview.

This document provides a high-level overview. Refer to the full Salesforce Spring '25 Release Notes for detailed information and implementation instructions.

3/ Top 5 new features you can implement in your Salesforce org

• Implement Agentforce for Admin Tasks using Agent for Setup: Utilize Agentforce to help with administrative tasks directly from the Setup menu. For example, use Agent for Setup to troubleshoot user access issues, create report types, and find answers in Salesforce Help documentation, all from the agent panel. This can maximize time savings when setting up the org for users.

• Integrate Knowledge with Data Cloud: Integrate knowledge articles into Data Cloud to improve AI outcomes. This allows for better AI-driven recommendations and insights within your Salesforce org.

• Enable Multi-Column Sorting for List Views: Allow users to sort list views on object home pages by up to five columns. This feature helps users to see data in a more intuitive way and to make list views more actionable. Users can select the columns to sort by and specify the sorting order. This can be enabled in Lightning Experience in all editions except Starter and Pro Suite.

• Assign the View All Fields Permission: Assign the object-level View All Fields permission to users who require broad data access. This grants access to all fields and field data for a specific object, simplifying permission management and ensuring users can access all necessary data. This permission is available for all standard and custom objects that support field permissions.

• Utilize the Enhanced Field Service Setup: Streamline the Field Service setup process by activating Field Service, installing the managed package, and creating and assigning necessary permissions and profiles with one click. Then, use four wizards to create the key data required to start scheduling the first appointment. This engaging, new experience is the first step in simplifying setup and tailoring a Field Service implementation to meet specific needs.

4/ Top 5 new features for Salesforce Developers

• Leverage LWC API Version 63.0 Enhancements: Use the latest Lightning Web Components API to improve type validation for wire adapters and ensure compatibility with native shadow DOM. For example, revise JavaScript selectors to remove extra whitespace to adhere to the updated LWC Framework. An example of code requiring revision: document.querySelector(".slds-var-m-around_medium.highlight.yellow");.

• Utilize Apex Enhancements for File Compression and Formula Evaluation: Implement new Apex capabilities such as compressing and extracting Zip files using the Compression namespace. Also, employ dynamic formulas using the Formula namespace to perform calculations and logic within Apex. For example, you can compress multiple attachments or documents as an Apex blob in a Zip archive. You can evaluate dynamic formulas in Apex.

"To add zip entry details, such as an entry name, comment, and compression method, use the addEntry(String name, Blob data), addEntry(compression.ZipEntry prototype), and setMethod(compression.Method method) methods in the ZipWriter class. To generate a zipped archive and return the result as an Apex blob, use the getArchive() method. This code sample compresses email attachments into a single file."

Compression.ZipWriter writer = new Compression.ZipWriter();
List<id> contentDocumentIds = new List<id>();
// Add IDs of documents to be compressed to contentDocumentIds
for ( ContentVersion cv : [SELECT PathOnClient, Versiondata
                           FROM ContentVersion
                           WHERE ContentDocumentId IN :contentDocumentIds])
{
      writer.addEntry(cv.PathOnClient, cv.versiondata);
}
blob zipAttachment = writer.getArchive();
Messaging.EmailFileAttachment efa = new Messaging.EmailFileAttachment();
efa.setFileName('attachments.zip');
efa.setBody(zipAttachment);
List<Messaging.EmailFileAttachment> fileAttachments = new List<Messaging.EmailFileAttachment>();
fileAttachments.add(efa);
Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage();
// Set all the other email fields, such as addresses, subject, and body
email.setFileAttachments(fileAttachments);
Messaging.sendEmail(new Messaging.SingleEmailMessage[] { email });

"This example uses the build() and evaluate() methods to validate a formula instance, calculate the formula expression, and return the result."

Account myAcc = new Account(Name='123');
       FormulaEval.FormulaInstance ff = Formula.builder()
           .withType(Schema.Account.class)
           .withReturnType(FormulaEval.FormulaReturnType.STRING)
           .withFormula('name & " (" & website & ")"')
           .build();
//Use the list of field names returned by the getReferenced method to generate dynamic soql
       String fieldNameList = String.join(ff.getReferencedFields(),',');
       String queryStr = 'select ' + fieldNameList + ' from Account LIMIT 1'; //select name, website from Account
       Account s = Database.query(queryStr);
       system.debug(ff.evaluate(s));

"Use the new pauseJobByName(), pauseJobById(), resumeJobByName(), and resumeJobById() System methods. This example code pauses all Apex scheduled jobs for a specific class."

// Scheduled class to be paused
Id apexClassIdToPause = '01p4u000000dVf7AAE';
List<AsyncApexJob> jobsToPause = [SELECT CronTriggerId FROM AsyncApexJob WHERE ApexClassId = :apexClassIdToPause];
for(AsyncApexJob jobToPause : jobsToPause) {
    System.pauseJobById(jobToPause.CronTriggerId);
}

• Migrate from Salesforce Functions: Since Salesforce Functions is being retired, plan to migrate code to alternative solutions before the existing order term ends.

• Employ the SLDS Validator: Use the SLDS Validator to scan UI code, validate it against SLDS rules, and get recommendations to improve SLDS and SLDS 2 code. This tool now provides SLDS and SLDS 2 linting support, validation with recommended SLDS tokens, SLDS 2 styling hooks, and utility classes.

• Implement Debugging with the New Database Access Debug Log Category: Utilize the new Database Access debug log category to troubleshoot and optimize database interactions within applications. This allows developers to log rules and policy information for objects accessed from the UI.

Final word

I hope you found this article useful. The article focuses on new features. If you want to know more how to prepare your org for this feature please check: Salesforce Ben article. If you have any questions, please feel free to ask. Please keep in mind that this is a quick overview of the release notes generated mainly by AI. If you have any suggestions for improvements, please let me know. Have a good day!

SOURCES