Significant Highlights for Developers in Salesforce’s Summer 2023 Release
The much-awaited Salesforce Summer Release ’23 has come, bringing with it plenty of innovative new features and improvements that will completely change how businesses operate and interact with their clients. It includes major improvements for both Salesforce Admins and Developers. In the previous blog, we discussed the key features of Salesforce admin Today, we will discuss the key features for developers included in the salesforce summer release 2023.
1. Simplify Data Transfer to External Servers with Codeless HTTP Callout (Beta):
Take your data integration to the next level in Flow Builder! Now, you can easily send your Salesforce data to an external server using the POST method. This is a new way, in addition to the existing GET method, to transfer data between Salesforce and external systems.
The best part? You don’t need to write any complicated code. It’s a seamless process that simplifies data transmission and saves you time and effort.
- Select POST (Beta) to make a callout request that adds the resource to the external server.
- Enter a sample JSON request body that the API expects when configuring the HTTP Callout, and the API infers the external data structure.
Check out the Salesforce Summer’23 Release Notes By Salesforce
- After you create the callout action, set the body for the flow by creating a resource and selecting the Apex class for the external server’s body.
- Once you’ve set up the action, include an Assignment element before the HTTP Callout action element. In the Assignment element, you can assign specific values to each field on the resource.
- When you run the flow, these assigned values will be applied to the resource, and the corresponding data will be created on the external server.
Note: This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
2. Query Five Levels of Parent-to-Child Relationships in SOQL Queries
Good news! Now, in Salesforce, you can use SOQL to easily fetch parent-child records from up to five levels deep. It means you can retrieve data from different levels in one go, without needing multiple queries.
SELECT Name,
(SELECT LastName,
(SELECT AssetLevel,
(SELECT Description,
(SELECT LineItemNumber FROM WorkOrderLineItems)
FROM WorkOrders)
FROM Assets)
FROM Contacts)
FROM Account
Here’s what you need to know:
– This feature is limited to using SOQL queries through REST and SOAP query calls on standard and custom objects.
– With a single SOQL query, you can access parent and child records up to five levels deep.
– This saves you time and effort by reducing the number of queries you need to perform.
Note: Available from API version 58.0 and later
3. Async SOQL Is Being Retired:
Async SOQL is retired in Summer ’23. Use Bulk API or batch Apex to query big objects.
4. Implement Iterable on Set in Apex
Exciting news! The Set class in Apex has received a major upgrade—it now implements the Iterable interface.
What does this mean for you? Well, it’s simple! You can now iterate over sets directly, just like you can with lists.
This enhancement is a game-changer for your Apex development. It promotes code reuse and adds a new level of flexibility to your programming
Note: This modification applies to API version 58.0 and beyond, making it a version-specific update.
Set<String> letters = new Set<String>{'a', 'b', 'c', 'd'};
for (String singleLetter: letters){
System.debug('Letter'+ singleLetter);
}
<String> letters = new Set<String>{'a', 'b', 'c', 'd'};
System.debug(String.join(letters, '...'));
5. DML Exception in User Mode
Say goodbye to Security Exceptions when performing user-mode DML operations!
With the latest Apex release in Summer ’23, user-mode DML operations now generate accurate DMLExceptions, ensuring smoother error handling.
Note: This improved behavior applies to API version 58.0 and onwards.
Account acct = new Account();
try {
insert as user acct;
Assert.fail('DmlException expected due to missing Name field');
} catch (Exception ex) {
Assert.isTrue(ex.getMessage().contains('REQUIRED_FIELD_MISSING'));
// This assertion fails with API versions below v58.0 because a SecurityException is generated
Assert.isInstanceOfType(ex, DmlException.class);
6. Dynamic Access to Apex Labels
Utilize the System.Label.get(namespace, label, language) method to dynamically retrieve custom labels, with the option to specify a language.
This feature enables the runtime resolution of label names, even allowing for overrides of the user’s current language if a translation exists for the requested language. Previously, accessing labels required prior knowledge of the label API name at compile-time.
- To begin, navigate to the Setup menu and create custom label strings. Then, enable the Translation Workbench and add translation mappings to assign translated values.
- Retrieve labels for the default language setting or for a specific language and namespace using the System.Label.get(namespace, label, language) method. You can also check if a translation exists for a label and language within a namespace by utilizing Label.translationExists(namespace, label, language).
Note: Accessing labels protected in a different namespace is not possible.
7. REST URIs Undergo Content Type Syntax Change
There has been a recent change in how file extensions like JSON or XML are handled. Now, it’s no longer possible to directly append these extensions to URIs to indicate the desired content type.
While this functionality is still supported in API versions 57.0 and earlier, it’s important to transition away from this syntax to avoid compatibility issues in the future.
So, how can you specify the content type for REST requests?
The recommended approach is to embrace the use of the HTTP ACCEPT header. By adopting this revised approach, you can ensure smooth and seamless handling of content types in all your REST interactions.
This is just a glimpse of the exciting features and enhancements in the Salesforce Summer Release ’23. However, there are numerous other enhancements and innovations available for organizations to explore.
If you are looking for a consulting firm that can help you to excel in your business needs, feel free to contact us!!
Looking for a reliable Salesforce implementation partner? Our experienced team of Salesforce consultants and developers can help streamline your business processes. With a deep understanding of Salesforce’s capabilities, we will design and customize a solution that aligns with your unique needs. From consultation to support, we’ll guide you for a seamless transition and maximum ROI.
Very good informative blog as a Salesforce developer, we always need to be updated on the recent trends
Thank you , Manan Patel!