Salesforce Spring ’24 Release Notes — The Funny-ish Summary — Volume V
3 min readJan 9, 2024
Every time a developer says “This will be easy 🤓”, a project manager gets an extra grey hair.
This article is one of many other volumes for the Spring ’24 Release Notes — The Funny-ish Summary. If you want to jump to a specific Topic please use the links at the bottom of this page.
Lightning Components
- Controlling the workspace’s tabs and subtabs via LWC is now GA. Thank you Workspace API.
- We can finally rest, fellow devs. the Lightning Record Picker component is also GA.
- Did you just ask me for better performance and web standards alignment? Mixed Shadow Mode is for you. BETA. It indeed sounds like some Ninja Shenanigans, doesn’t it? 🥷
- Finally LWCs have some l̶o̶v̶e̶ logs. Meet the Custom Component Instrumentation API. In short, you can log stuff within your LWC logic, then leverage the Event Monitoring to keep an eye on what’s going on. GA btw 😎
Apex
- Say Hi to the Null Coalescing Operator. A straightforward example is
Integer a = b ?? 1
. In short, if b is not null, a will get b. If b is null, a will get 1 instead. Life is so easy now, isn’t it? - Say another Hi to the new class
UUID
. It mainly helps to generate universally unique identifiers, without writing crazy code to do so. - Before, if you had to do a callout after rollbacking to a Database savepoint, an Callout exception would still be thrown. The new solution is
Database.releaseSavepoint()
which solves this problem. Some details here. - You can compress and extract Zip files. DEVELOPER PREVIEW.
- You can evaluate formulas dynamically. Click here to know more. DEVELOPER PREVIEW.
- Auto Hold activated! Before you make a callout, all records obtained & locked via FOR UPDATE are released automatically.
- No more mixing!✋ DML methods such as Database.insertImmediate() and Database.insertAsync() only supports External Objects. If you add in some other types of objects, an exception will be thrown.
API
- There is a new profile in town. Minimum Access — API Only Integrations. It also comes in with the integration license.
- If you need to deserialize (XML-wise) into a class via the API. Make sure that class is annotated with @JsonAccess. Also this is applicable in the managed packages context. Why? Security reasons.
Development Environments
- Capture a snapshot of your scratch org config, to easily replicate it when creating new ones. ✨ Magic ✨, right? BETA.
- One place to access them all! You can access your sandboxes login URLs from the Setup instead of being redirected to the test.salesforce.com.
Platform Development Tools
- If you didn’t know it yet, you should. The Scale Center is GA. More details here.
- Have you heard about this Scale Test too? Not yet? Here you go.
CDC & Platform Events
- New objects are supported in Change Events. The full list is here.
- Don’t panic, it’s all saved! Uncaught exceptions occurred in Platform Events triggers are available in the Event Log Files.