Attention Salesforce Developers — we’re excited to introduce you to the Spring ’24 Release Readiness program! Salesforce has three major releases each year, and with them comes a lot to read and learn about. If you don’t have time to scan the 600 pages of release notes to find developer features, we’ve got you covered.
Our Release Readiness program gives you the information that matters most to developers in easy and accessible ways. Think of this blog post as the hub and everything else as the spokes. For example, you can learn more about the latest release in video format by watching Release Readiness Live on the Salesforce Developers YouTube channel, and listening to it in podcast format.
Be sure to read, bookmark, and come back to this post any time you have questions about the Spring ’24 release.
Are you ready to get release ready? Let’s get started!
Spring ’24 Salesforce Platform updates
Spring ’24 is packed with a lot of platform features focusing on improving your quality of life as a Salesforce Developer.
New additions to Apex
The new null coalescing operator (??
) simplifies code that has verbose null checks. For example, instead of:
You can simplify to:
Note: nullish coalescing operator (??
) is also part of modern JavaScript APIs. You can also use them in your Lightning Web Components (LWCs) to simplify null checks.
- A new UUID system class now allows generating a version 4 universally unique identifier (UUID) directly in Apex.
- You can now make an http callout after rolling back your DML operations by releasing savepoints using the new
Database.releaseSavepoint
method. - Two new developer preview features are available for feedback. These features are currently in developer preview only — do not use them in production apps yet. Please share your feedback via the Trailblazer community.
- Compress and extract files in Apex using the new
ZipWriter
class. This allows zipping files in code without external dependencies. - Construct and evaluate formulas at Apex runtime without using database CPU. This is useful for ISVs to dynamically generate formulas from Apex code and objects. Use the
FormulaEval
class.
- Compress and extract files in Apex using the new
LWC enhancements
- The Lightning Web Components Workspace API is now generally available, making it easy to manage tabs and subtabs in Lightning Console apps with Lightning Web Components. Previously, only Aura components were supported.
- The Lightning Record Picker component is now generally available. This component enables you to easily find and select Salesforce records. Refer to our blog post to learn how to get started.
- You can now monitor events and interactions in your custom Lightning Web Components using the new
lightning/logger
module. This module allows you to log events in your components, which can then be viewed in Event Monitoring. Please note that the Event Monitoring feature needs to be enabled in your org to utilize the lightning/logger functionality. - Upgrade your Lightning Web Components to API version 60.0 to get better performance when using object spread and rest syntax (
...obj
). This syntax now utilizes native JavaScript APIs instead of Babel transpiling. See the release notes for more notable changes and enhancements in LWC API version 60.0. Note that from the last release, we now give you the flexibility to upgrade your components on your own timeline with component-level API versioning. - Starting in the Spring ’24 release, a number of Lightning base components like
lightning-input
(see docs) use the browser’s native shadow DOM instead of the synthetic shadow DOM that supported legacy browsers. This means that component internals are now truly encapsulated. If your UI tests reference internals, they may break and need fixing. Refer to our blog post to learn more and fix affected tests. Also learn how you can make your own custom components Native Shadow DOM ready through this helpful blog. - You can now enable native shadow DOM instead of synthetic shadow for your custom LWC components using the new Mixed Shadow Mode (Beta). This feature has several important considerations when using base components. Read more in the LWC Developer Guide.
- Additional ARIA properties, such as
aria-braillelabel
andaria-brailleroledescription
, are now supported, making your LWC components more accessible.
Mobile App Development with LWC
- Mobile Test Harness app now makes it easier to debug LWCs when building LWCs for offline mobile use. It provides capabilities like network tracing, inspecting draft queue behavior, and easily launching and testing quick actions.
- Building offline mobile got easier with the new onboarding wizard v2. The Offline App Onboarding Wizard guides you with easy-to-follow prompts to configure the Offline Starter Kit experiences for the Offline App.
- When building custom Lightning web components for Field Service and Salesforce mobile apps, you can utilize device features like NFC, OCR, and biometrics. This allows you to create components that can interact with the user’s mobile device hardware and operating system.
Development environments
- The new Scratch Org Snapshots (Beta) feature lets you quickly replicate scratch orgs with required project dependencies. Manually configuring scratch orgs with packages, metadata, data, and other configurations can be time-consuming. With snapshots, you save a scratch org’s configuration and then use it to create identically-configured orgs much faster. This makes development and testing easier. See the documentation to learn more.
Platform development tools
- The Salesforce CLI receives updates every week. Check the Salesforce CLI release notes weekly for helpful updates. Recent major improvements include:
- A command to toggle tracking on/off in your source files between your project and an org.
- Clearer error and warning messages when using deprecated commands. The CLI now clearly flags outdated commands to make migrating to newer versions easier.
- Einstein for Developers (Beta) Updates
- Check out the prompt writing guidelines for Einstein for Developers, your AI coding assistant for Salesforce-specific languages. These tips help you write the clearest prompts to get the best code recommendations.
- Coming soon in the next few months:
- Test code generation – Einstein will automatically generate test classes to help you unit test code.
- Inline autocomplete for LWC and Apex – Get intelligent code suggestions as you type inline comments in the VS Code
- Plan and test your Salesforce applications for scale with Scale Test, a paid add-on for customers with a Full Copy Sandbox. The product includes the Test Scheduler and Test Execution features. You can learn more about Scale Test in our blog post.
- ApexGuru is now generally available for Unlimited Edition and signature orgs. This innovative solution leverages runtime profiles to provide actionable insights and code recommendations powered by advanced AI models developed with Salesforce AI Research.
- ApexGuru helps you:
- Identify CPU-intensive methods
- Optimize SOQL and DML
- Get code recommendations to improve CPU performance
- By profiling code execution and leveraging AI, ApexGuru makes it easy to understand and optimize CPU usage right within your org.
- ApexGuru helps you:
- The Ant Migration Tool is being retired in the Spring ’24 release. Instead, we recommend using the Salesforce CLI for deployments and retrievals. The Salesforce CLI provides many more features compared to Ant, which focuses solely on deployments.
- This is a gentle reminder to replace Workbench, a legacy and unsupported tool, with modern tools like Code Builder or the Salesforce CLI. Workbench has been deprecated for several years and does not receive new features or bug fixes.
Data Cloud highlights
Data powers the AI revolution. It teaches machine learning models, so they can evolve and reveal impactful patterns. Salesforce Data Cloud lets you ingest data from all sources, normalize it, gain a single source of truth, and analyze it at scale. This AI-ready data helps you harness predictive and generative AI. Spring ’24 is adding important features to Data Cloud, making it possible to use tools and technology that you already know on the Salesforce Platform.
- Einstein Studio now connects to generative AI, such as OpenAI. It also makes predictions using your custom models. See the release notes for details on Einstein Studio’s latest capabilities.
- You can now send data to the data cloud using Flows. The flow uses Ingestion API to send data to the Data Cloud.
- In the last release, we launched Data Cloud-triggered flows, and this release adds the ability to easily debug them.
- You can now create a data graph to retrieve customer data. Data from the data graph can then be used to ground prompts that you send to the large language model (LLM) to generate better responses.
- Small, but mighty, Data Cloud now supports new data types like email, URL, phone, percent, and boolean. These data types expand data compatibility and interoperability with external systems that interface with Data Cloud.
- You can more easily locate and browse Salesforce Data Cloud Connect API reference documentation in the new standalone Data Cloud Connect REST API guide.
Einstein Platform
- Prompt Builder makes it easy to add generative AI capabilities to your Salesforce apps. With Prompt Builder you can:
- Create and manage AI prompt templates with built-in security for your data with the Einstein Trust Layer. You have the capability to test and version the prompts.
- Connect prompts to your CRM data for personalized responses without exposing your data to a large language model. You can use merge fields from your objects or provide the grounded information via Apex, Flows, or a combination of them all.
- Reuse AI-generated responses from templates in your Salesforce apps via Apex or Flow Action elements. You can also use REST APIs to access the AI responses from the Salesforce prompt templates in your custom apps.
- You can retrieve and deploy Prompt templates using the metadata API.
- Add conversational AI capability for your Salesforce app with Einstein Copilot (Beta).
- Copilot is packed with a library of standard actions.
- Extend and build actions for Copilot using Apex, Flows, or Prompts.
- Use Copilot Builder to design, test, and troubleshoot your copilot.
To learn more about Prompt Builder and Copilot (Beta) join us at TrailblazerDX ’24.
APIs & integrations
- Change Data Capture now supports additional objects, including opportunity line items and many Health Cloud-related objects. You can subscribe to receive change events when data changes for any of the newly supported objects in Salesforce.
- You can better manage event subscriptions with the Pub/Sub API. Use the configuration options via the new ManagedEventSubscription (Beta) tooling objects to automatically track the events that a subscriber client consumed and to resume a subscription from where it left off after a client disconnects.
- The Pub/Sub API service can now process requests in the new India region, in addition to the United States and Europe. The new region helps improve API request latency.
- Apex trigger errors from unhandled platform events now appear in Event Monitoring logs. Query the
EventlogFile
object for events of typeApexUnexpectedException
. Note that Event Monitoring is a paid add-on that lets you monitor detailed user activity for security. - Enhancements have been made to the GraphQL API, including:
- Increased upper limit for retrieving records to 4000 (up from 2000)
- GraphQL fields now return localized labels instead of API names
- Name collisions between objects are avoided by appending suffixes
- External services can now generate a typesafe Apex class with callback interfaces. Previously, External Services callouts could only be synchronous, waiting up to two minutes for an HTTP response before timing out. With callbacks, External Services can now integrate asynchronously and wait for responses for up to a year or more before timing out.
- The enhanced Named Credentials introduced in Winter ’23 now supports:
- A new user profile called “Minimum Access – API Only Integrations” is now available for use with the Salesforce Integration user license. We recommend migrating to the “Minimum Access – API Only Integrations” profile instead of using the previous “Salesforce API Only Systems Integration” profile for all your integration user requirements. The key benefit is that the new profile does not allow create, read, update, or delete (CRUD) access to custom objects.
- You can now securely connect to Snowflake from Salesforce and execute interactive SQL queries using the Salesforce Connect adapter for SQL.
Salesforce releases features and enhancements more frequently than three times per year for some products. This also includes new generative AI features. As these developer-focused updates roll out, we will update this blog.
More Spring ’24 learning resources
- Are you more of a visual learner? Watch Spring ’24 product demos here.
- Watch Developer Preview: Spring ’24 Release Readiness Live. Hear about the latest features from some of Salesforce’s product managers.
- View the official release notes or download the PDF version.
- Presenting to a community group, stakeholder, or leadership team? Use the Spring ’24 Release in a Box to guide you.
- Complete the Spring ’24 Release Highlights module on Trailhead.
- Join the Salesforce Developers Trailblazer Community group to connect with the global developer community.
- Join Release Readiness Trailblazers to stay up to date on the latest and greatest product enhancements and innovations across the Salesforce ecosystem.
About the authors
Mohith Shrivastava is a Developer Advocate at Salesforce with a decade of experience building enterprise-scale products on the Salesforce Platform. Mohith is currently among the lead contributors on Salesforce Stack Exchange, a developer forum where Salesforce Developers can ask questions and share knowledge. You can follow him on LinkedIn.
Kaitlin Benz is a Senior Developer Marketing Specialist at Salesforce. She’s most passionate about storytelling, podcasts, and vegan food. Find her on LinkedIn.