Developer Winter ‘23 Release Notes Highlights
Salesforce has shared the release notes for the Winter ‘23 update, and there are some very exciting updates and new features coming to the platform. Expanded functionality for existing features, new APIs to expedite integrations, and a whole suite of quality-of-life updates all to improve a developer's daily experience working in the ecosystem. Grab your favorite mug, fill it with your beverage of choice, and let’s dig into some highlights from the Winter 2023 release.
Synchronize Component Data Without a Page Refresh by Using RefreshView API (Pilot)
This new Pilot program from Salesforce allows you to synchronize data without a page refresh. Arguably one of the biggest features that Lightning Components has been lacking, the new lightning/refresh module paired with the RefreshView API will allow Devs to create dynamic components with an improved user experience with always up-to-date data.
RefreshView API is a pilot program being offered to certain customers of Salesforce. It’s worth mentioning that this API is still in its infancy, and a lot could change before it is released to the general user base.
Enable Third-Party Integrations with Light DOM (Beta)
Salesforce has made it much easier to apply global stying to your Lightning components. By enabling ‘Light DOM’ in the component class, your markup can be accessed like any other content in the document host. This update will be available to any custom Lightning component in Experience Builder sites, the Salesforce mobile app, Lightning Experience, and Lightning Web Components in Open Source.
Fix Invalid HTML Syntax to Avoid Component Loading Errors
Salesforce has expanded the list of error messages received on invalid HTML syntax, which is great for beginners to HTML or long-time users needing to dust off their HTML best practices. Want early access to your HTML warning messages? These warnings can be caught before deployment to a Salesforce Org by utilizing the Salesforce Extension Pack expansion in Visual Studio Code.
Managing a Device’s Calendar Events Using Lightning Web Components
Using the new CalendarService API from Salesforce you can create calendar events directly on a user's mobile device from inside the Salesforce mobile app. Most people track their daily schedules on some form of digital calendar these days and the CalendarService API can help them do that with far fewer clicks than if they did it manually. Using a Lightning Web Component, a developer can utilize an API call to schedule a calendar event right on the user's mobile device.
Use DataWeave in Apex to Enable Data Transformation to Different Formats (Developer Preview)
This new Developer Preview function improves data transformation efforts by utilizing Mulesoft’s DataWeave library. In Scratch orgs (for now, since it’s only a Developer Preview feature) Apex developers can create DataWeave scripts metadata to accept various file types to translate into Salesforce SObjects. DataWeave scripts are still subject to the heap size and CPU limit that Apex code is, as they run within the Salesforce servers.
This is still a Developer Preview feature, so the DataWeave scripts should not be deployed into a production environment until the full feature release is complete. You can provide suggestions for the future of DataWeave in the Trailblazer Community.
Write Clear and Intentional Apex Assertions
Salesforce has introduced a new System.Assert class that can operate with various kinds of assertions that Developers previously had to jump through hoops to compare during testing custom code. This update will make your Apex test classes more human-readable, and quicker to develop.
It is clear that developers should start using the new System.Assert class soon, and update existing test classes to use them. This change will apply to all test classes in Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions. You can read about the new Assert class on the Apex Reference Guide
Chart Your Apex Course with the Save Order of Execution Diagram
Salesforce has provided us with a handy diagram explaining the order of execution when saving a record with an insert, update, or upsert via Apex code. This will be very useful when designing custom solutions or studying for those certification exams.
Legacy API Versions 21.0 Through 30.0 Are Being Retired (Release Update)
It’s time to say goodbye to any API through the 21.0 -> 30.0 versions you may have lingering around your org. This includes Bulk API, SOAP API, and REST API. Support will end officially for those versions come the Summer ‘23 release, so the half a year remaining until that should be spent upgrading any integrations you need to. You can use the API Total Usage event to pinpoint which APIs need to be upgraded. Learn more about API Retirement on the Salesforce Help center.
Transfer Package Ownership to a Different Dev Hub (Beta)
This is a very exciting new feature that is still in its infancy. If you are looking to transfer the ownership of an unlocked or second-generation managed package to another DevHub org, you now have a way to do just that! It’s as simple as logging a case with Salesforce Partner Support, and they will handle all the complexities of it.
Update Your Package for Enhanced Domains and Partitioned Domains
With the exciting Enhanced Domains updates that are being required in all orgs by Spring ‘23, it only makes sense that package developers should be paying attention to these requirements too. Salesforce made a special note in the Winter ‘23 release Notes to highlight that any hard-coded URLs should be updated to use a relative path. This should already be standard practice for package developers, but it’s always good to have an additional reminder. Don’t let it bite you, get it done sooner rather than later!
New and Changed Apex Items for Developers
Quite a few small Apex additions have been added to the ecosystem with the Winter ‘23 release. Below are some of the important highlights:
DataWeave Namespace - adds new methods, exception messages, and classes to easily integrate DataWeave scripts.
Existing Methods - Specify whether database operations run in User mode or System mode using a new accessLevel parameter in methods. This allows you to run certain executions with varying permissions.
Invocable Namespace - there are over 20 new classes and methods that make calling invocable actions easier throughout Apex.
If you’re still awake, you made it through our recap of the upcoming release, great job! That was probably information overload, and there is still so much we haven’t gone over. Whew! What a doozy. A lot of exciting things are happening on the platform. It’s clear that Salesforce will continue to make big changes to the existing functionality, as well as introduce compelling new features to improve our user experiences. CRM Science is always ready to help anyone understand how to utilize these new features to perfect your business needs!