Exciting news! The Salesforce Winter ’25 release is here, rolling out to sandboxes and production environments from September through October 2024. There are a ton of new features in this latest release that will improve your development experience. This upgrade has something for everyone, whether you’re utilizing new platform capabilities, or going into AI.
So, let’s break down some of the most important features every Salesforce developer needs to know about. Ready? Let’s dive in!
1. Get a Faster Development Experience with LWC Real-Time Preview (Beta)
Tired of waiting for page refreshes to see your LWC changes? Salesforce’s Local Dev (Beta) is here to save the day! Although it’s in Beta, it’s already available in Winter ’25 sandboxes and scratch orgs. Development is made easier with this new feature, which allows you to preview your LWCs quickly as you code. No more refreshing pages or redeploying code!
Using hot module reloading and WebSockets, this feature lets you see live updates of your LWC for Lightning Experience, LWR sites, and mobile apps.
First, enable Local Dev (Beta) in your sandbox org via Setup. Install the Salesforce CLI. Follow the LWC Guide for step-by-step instructions.
2. Build Lightning Web Components with TypeScript (Developer Preview)
Here’s the exciting news for TypeScript enthusiasts! With Salesforce Winter ’25, you can now build Lightning Web Components (LWCs) using TypeScript. With TypeScript support for LWCs, you can now write cleaner, more maintainable code. You will utilize TypeScript instead of JavaScript and compile it into JavaScript, which will provide you with more control and reduce error rates.
Whether you’re working in Lightning Experience or the mobile app, TypeScript support is available in Developer Preview across all Salesforce editions.
To get started, Install TypeScript version 5.4.5 or higher. Set up your project with a tsconfig.json file.
3. Enhance Your Customizations with the Latest Metadata API Updates
The Salesforce Winter ’25 release of the Metadata API has exciting new features that will make your development, security, and customization efforts easier.
This update introduces new metadata types to help you better manage your custom apps and external services. You can now add descriptions to public groups and queues, making it easier to stay organized. Heroku apps can now produce actions from External Services, and platform event Apex Triggers can now operate in parallel, increasing efficiency for developers.
And there’s more! Salesforce has also included a new service protection for Apex-based deployments and accelerated the rate at which Metadata API deployment cancellations can be made.
4. Build More Complex Components with Larger JavaScript Files
Salesforce now offers free-tier access to Event Monitoring, making it easier for you to track and troubleshoot Apex unhandled exceptions. Previously, you had to rely on email notifications, which were limited to 10 emails per hour per application server. This often meant you might miss critical error alerts.
You can now access detailed event logs for Apex Unexpected Exception occurrences with the free-tier Event Monitoring. These logs give you in-depth insights into what went wrong, allowing you to troubleshoot more efficiently. Simply download the event log as a CSV file and start uncovering the root cause of the error.
If you enable Event Monitoring in your org you’ll have a powerful tool to identify and fix problems more quickly, ensuring that your code runs properly. This feature is available across all Salesforce editions, so you can start improving your code reliability without any extra cost.
5. Track Apex Exceptions with Free-Tier Event Monitoring
Great news for developers! Salesforce has increased the size limit for JavaScript files in Lightning Web Components. JavaScript bundles can now be used up to 1MB, compared to the previous which were limited to 128KB.
With this upgrade, you may create advanced components without having to divide your code into several files by packing more complex logic and functionality into a single file. If you’re developing complex apps, this will simplify your process and enhance performance. Now, you can focus more on functionality and less on workarounds for file size limitations.
6. Mock SOQL Tests for External Objects Now Available
Salesforce just made Apex unit testing for external objects more powerful. You can now create mock SOQL tests to simulate query responses, improving both code coverage and quality in your tests. By using new SOQL stub methods you can now perform joined and basic SOQL queries on external objects and receive mock data in a testing environment.
This feature is available in both Lightning Experience and Salesforce Classic for certain editions like Enterprise and Developer. To use it, extend the System.SoqlStubProvider class and override the handleSoqlQuery() method. From there, you may test your code without requiring live data by creating mock records.
Just remember, certain limitations apply—Apex governor limits still hold, and you can’t use features like callouts or DML inside the stub implementation. But overall, this makes testing your external objects much easier and more efficient.
7. GraphQL Wire Adapter Now Supported in Experience Cloud Sites
Great news for developers! Salesforce now supports the GraphQL wire adapter in Experience Cloud sites. This feature, available through lightning/uiGraphQLApi, enables faster and more efficient data querying for Lightning Web Components (LWCs) in Experience Cloud’s LWR sites.
With GraphQL, you can request only the data you need, improving both the speed and performance of your applications—especially for larger, more complex projects. Want to get started? Check out the LWC Recipes to see how to build using this new adapter. It’s a game-changer for data interaction on Experience Cloud!
8. Manage Your List Views with New Lightning Web Component (LWC) Wire Adapters
Managing list views just got a whole lot easier and faster, thanks to the new LWC wire adapters. Salesforce has transitioned list views from Aura to Lightning Web Components, delivering a performance boost that developers are going to love.
The new adapters, available in the lightning/uiListsApi, make it simple to fetch a list view’s record data or update its preferences in real time. Want to see all the list views tied to a specific object or dive into the metadata of a list view? You can now do all that with ease.
These new adapters give you more control over list views and let you customize them dynamically based on user input or external data sources. With these updates, you’re set to build more interactive and efficient user experiences.
9. Introducing the New Documentation Site for Einstein for Developers
A new documentation website for Einstein for Developers has been made available by Salesforce. It’s designed to make your life easier, bringing all the necessary AI documentation into one convenient place. This updated site aligns perfectly with other developer guides, offering a smoother, more consistent user experience.
Navigation has also been simplified, so finding the right information is now quicker than ever. Furthermore, browsing the old website will quickly take you to the new one, ensuring a seamless transfer, so you don’t need to worry if you’re used to it.
10. Understanding New SOQL Error Messages and Changes
Salesforce has made some key updates to SOQL error messages, and it’s important to take note if you’re working with Apex code—especially dynamic SOQL queries. These changes could affect how your code handles errors, so it’s time to review and adjust.
The new release brings more specific error messages for invalid SOQL queries. For example, where you used to see vague errors like unexpected token: <EOF>, you’ll now get clearer messages like unexpected token: ‘everything’. This extra detail makes debugging faster and easier.
11. Apex Update: Prevent Collection Modification During Iteration
Big changes are here for Apex! Starting with API version 62.0, modifying a set while iterating over it is no longer allowed. It was possible to modify a set during iteration in previous versions, although doing so often led to unexpected problems such as missing portions, processing the same item more than once, or even creating errors.
Now, if you try to modify a set while it’s being iterated, you’ll get a clear “System.FinalException: Cannot modify a collection while it is being iterated” error. This update ensures your code runs more smoothly and consistently, making it easier to avoid those tricky bugs. By adjusting your code to align with this new rule, you’ll write more reliable, efficient Apex.
12. Managing Styles with Class Object Bindings in LWC
Good news for Lightning Web Components (LWC) developers! Starting from API version 62.0, managing styles just got a lot easier. It is now possible to use a JavaScript array or object to bind several CSS classes to an element. This means no more messy string concatenation to handle multiple classes.
With class object bindings, you gain more flexibility to dynamically control component styles based on certain conditions. This feature lets you create cleaner, more adaptive UI designs without hard-coding your CSS, making your components more responsive and easier to manage.
13. Safeguard Your OAuth Credentials with the Credentials Connect REST API
Keeping your OAuth consumer credentials secure is more important than ever. In the past, older systems like the Metadata API could unintentionally expose these sensitive credentials—similar to leaving a password on a sticky note where anyone could find it.
Salesforce has stepped up security with the new Credentials Connect REST API resource. This tool acts like a secure vault for your OAuth credentials, ensuring that your secret keys stay private and protected. By using this API, you can rest easy knowing your sensitive information is safely stored, away from prying eyes.
Wrapping It Up: Embrace the New Features in Salesforce Winter '25
The Salesforce Winter ’25 release brings a host of powerful tools to help developers work smarter and faster. With enhanced Lightning Web Components, new APIs, and Einstein for Developers, you have everything you need to build more intelligent and efficient applications.
Now is the perfect time to start utilizing these new features and incorporating them into your projects. Stay ahead of the game, explore the new features, and discover how they might advance your own growth.