What’s trending
UPCOMING EVENTS
10 Salesforce Winter ’25 Features for Developers
By Andrew Cook
The Salesforce Winter ’25 release is just around the corner! The release notes are here, revealing all the latest enhancements and updates. This update brings a host of exciting new features for you to explore.
Get all the details you need to prepare for your instance’s upgrade and find your release window here. But for now, let’s dive into the most captivating features and updates – crafted specifically for developers in the Salesforce Winter ’25 release.
1. New Documentation Site: Einstein for Developers
Einstein for Developers has come on leaps and bounds recently, and with those updates now comes a newly launched documentation site. The site has been redesigned to align better with the look and feel of other developer guides, creating a more uniform user experience. It brings together all the documentation related to Einstein for Developers (currently in Beta) into one centralized location.
The new design also improves navigation, making it simpler for users to find the information they need. Additionally, if someone tries to access the old documentation site, they’ll be automatically redirected to the new one, ensuring a seamless transition.

The new documentation site can be found here.
2. Metadata API
Salesforce’s latest updates introduce a range of new and modified metadata types to enhance customization, development, security, and service capabilities. In customization, users can now access Lightning Experience transition tools via the External Application Settings page and add descriptions for public groups and queues.
Development enhancements include parallel subscriptions for platform event Apex Triggers and the ability to generate actions from External Services using Heroku apps. Additionally, new metadata types and fields improve the management of Enablement programs and custom exercise types across different orgs.
For security and identity, updates enable OAuth client credentials to be accessed via the REST API and support headless identity flows using the OAuth 2.0 authorization challenge endpoint. For Service, significant improvements have been made to Embedded Messaging channels, including new metadata subtypes for managing pre-chat forms, dropdown fields, auto-response messaging, and JWT validation.
Moreover, Salesforce Flow has undergone changes, with new fields and values that refine how flows are triggered, paused, and executed. These enhancements collectively provide administrators and developers with more robust tools for customizing and managing their Salesforce environments.
3. Free-Tier Event Monitoring
Salesforce now offers free-tier access to Event Monitoring, allowing users to enhance their ability to track and troubleshoot unhandled exceptions in Apex code. Traditionally, developers relied on unhandled exception emails to identify issues in their code. However, with Event Monitoring, you can now analyze detailed information captured in event log files specifically for the Apex Unexpected Exception event type. This provides a more robust and comprehensive approach to debugging and improving your Apex code.

By utilizing these event logs, developers can gain deeper insights into the context and conditions that led to an exception, enabling more effective troubleshooting and faster resolution of issues. This change applies to all Salesforce editions, making advanced debugging tools accessible without additional costs thereby improving code reliability and overall system performance.
4. Heroku Apps in Setup (Beta)
Salesforce introduces the ability to explore and integrate Heroku apps within Salesforce Setup through the Heroku Integration add-on (currently in Pilot). This feature allows users to publish their Heroku apps as External Services, making the app’s API operations accessible as actions within Salesforce. These actions can then be utilized in Flow Builder, Apex, and Data Cloud, enabling seamless interaction between your Heroku apps and Salesforce, including querying and writing data back to Salesforce and Data Cloud.
This functionality is available in both Lightning Experience and Salesforce Classic for Enterprise, Unlimited, and Developer editions, though not in all orgs. As a Pilot or Beta service, it is subject to specific terms, and participation requires contacting your account executive. To explore your Heroku apps in Salesforce, navigate to Setup, enter “Heroku” in the Quick Find box, and select “Apps”.

5. Updates to Lightning Web Component
Several Lightning Web Components have received updates aimed at improving both functionality and accessibility.
The lightning-datatable component now displays validation errors directly on the cell being edited rather than across the entire table, making for a more focused user experience. You also have more control over header wrapping with the wrap-table-header attribute, which now accepts string values like all
, none
, and by-column
.
For enhanced accessibility, the lightning-helptext component now supports tooltip launching via both mouse clicks and keyboard interactions.
The lightning-input component has gained a badNumericInput
validity error for number inputs, and date inputs now display the required format below the field. Error messages for date-related inputs have also been improved to include the expected date format.
Support for Salesforce Event objects has been added to the lightning-record-form, lightning-record-edit-form, and lightning-record-view-form components, though certain recurrence and reminder fields are not rendered.
Finally, the lightning-modal component has been made more accessible with a white background fill added to its close icon, ensuring compliance with contrast ratio requirements.
6. Create LWCs with TypeScript
Sticking with Lightning Web Components (LWCs), Salesforce has introduced TypeScript support for developing new LWCs, allowing developers to improve productivity and code quality. This update also enables the conversion of existing JavaScript-based components to TypeScript, which was previously unsupported.
This feature applies to Lightning Experience and all versions of the mobile app across all Salesforce editions. Currently, TypeScript support is available as a developer preview, meaning it is not yet generally available and may change or be deprecated without notice.
To configure TypeScript for an LWC project, install TypeScript version 5.4.5 or later, and ensure your project includes a tsconfig.json
file with the target
set to "ESNext"
. Additionally, the experimentalDecorators
option should be unset or set to false
. You must also configure the paths
option for LWC module resolution, which differs from standard TypeScript module resolution. If you’re using Salesforce DX with Visual Studio Code, the Lightning Language Server extension will automatically manage this configuration.

7. LWC Real-Time Preview
I promise this is the last feature relating to LWCs, but this one is pretty cool. Salesforce has introduced a new feature called Local Dev (currently in Beta) that allows developers to build Lightning Web Components (LWCs) with a real-time preview of their Lightning app or Experience Cloud site.
The preview updates automatically in the browser whenever changes to the source code are detected, enabling faster iteration without the need to deploy code or manually refresh the page. This new experience is set to replace the existing LWC Local Development Server, which has limited testing and preview capabilities.
Local Dev is currently available as an open Beta for users in sandbox orgs and is turned off by default. To enable it, go to Setup, search for “Local Dev”, and select “Enable Local Dev (Beta)” for all org users. This feature can only be used through the command-line interface (CLI). To get started, install the Salesforce CLI and refer to the Lightning Web Components Developer Guide for instructions on running a real-time preview.

8. External Object Mock SOQL Tests
You can now enhance your Apex unit tests for external objects by writing mock SOQL tests, which will help increase both code coverage and quality. With the introduction of new SOQL stub methods and a test class, you can simulate SOQL query responses. This allows you to perform basic and joined SOQL queries against external objects and return mock records in a testing environment.
This feature is available in both Lightning Experience and Salesforce Classic (with some limitations) for Enterprise, Performance, Unlimited, and Developer editions. To use it, create mock test classes by extending the new System.SoqlStubProvider
class and overriding the handleSoqlQuery()
method. You can generate external object records using Test.createStubQueryRow()
or Test.createStubQueryRows()
. Then, register the mock provider with Test.createSoqlStub()
and execute your test code.
Keep in mind that Apex governor limits apply to the stubbed records, and the SOQL query must target an external object directly or through a subquery. Certain features, such as SOQL, SOSL, callouts, future methods, queueable jobs, batch jobs, DML, and platform events, are not permitted within a stub implementation.
9. Understanding SOQL Errors
The latest release introduces several changes to SOQL error messages and functionality that may affect existing Apex code, particularly dynamic SOQL queries that parse error messages. It’s important to review these updates and adjust your code accordingly to accommodate new error messages and changes in query handling.
Significant updates include new error messages for invalid SOQL queries, such as unexpected tokens and invalid datetime literals. For example, queries that previously generated errors like unexpected token: '<EOF>'
now produce messages like unexpected token: 'everything'
.
Additionally, there are new error messages for issues with NULL
literals in WHERE
statements, nested functions, and invalid bind variable references. Be sure to review the updated error messages and functionality changes to ensure your code remains compatible with the new release.
10. Use REST API for Access to External Client App OAuth Consumer Credentials
Imagine you have a secret code to access a special app. This code is similar to your consumer secret. Older systems, like the Metadata API, used to store these codes in a way that could be accidentally shared publicly, similar to leaving your secret code on a sticky note for anyone to see. This lack of security poses a significant risk.
Salesforce has developed a new, more secure method to store and access these secret codes, known as the Credentials Connect REST API resource. Think of it as a super secure vault for your codes, ensuring that they remain protected and private.
Using the new system ensures your secret codes stay protected and won’t be accidentally exposed. Additionally, Salesforce recommends this new method as the safest way to manage your codes. Since Salesforce will stop supporting the old, less secure method by Winter ’25, they suggest completing the necessary steps by September 1, 2024.

Summary
And that’s a wrap on our overview of the most exciting Salesforce Winter ‘25 release features, curated specifically for developers.
Have you uncovered any other intriguing updates or hidden gems in this release? We’d love to hear about your discoveries, so make sure to share them in the comments below!
Read More
- 10 Hottest Salesforce Winter ’25 Features For Admins
- 10 New Flow Features in Salesforce Winter ’25
- Sales Cloud: Top Salesforce Winter ’25 Features
- Service Cloud: Top Salesforce Winter ’25 Features
- Account Engagement (Pardot) Winter ’25 Updates You Should Know
- 7+ Marketing Cloud Growth Updates in the Salesforce Winter ’25 Release
More like this:
