Salesforce Summer ’23 Release Notes — The Funny Summary — Volume V

Oumaima ARBANI
5 min readMay 25, 2023

--

This article is one of many other volumes for the Summer ’23 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.

Why do programmers prefer dark mode? Because light attracts bugs🐞!

Development

Lightning Components

  • Lightning Web Security for Aura Components is now GAAAAA
  • Accessing component markups like any other content in the document host is now GA
  • Aaaaand if you’re just like me, frustrated when it comes to naming your variables, you might want to check this out Click here😉
  • My hopes and wishes became true 🥺 The LWC data refresh API aka lightning/refresh module is now GA
  • Listen up, coding fashionistas! Brace yourselves because now, with the wave of a magic wand… I mean, with the help of “super.stylesheets”, you can extend stylesheets from a superclass component to a subclass component. In the past, the only way to customise components was through CSS custom properties and CSS::part()
  • Scoped slots have arrived for Lightning web components. Now, you can easily access and render data from a child component within the slotted content of a parent component. And here’s the best part: the parent component’s styles automatically apply to the scoped slot’s content 😎
  • Speaking of slots ladies and gentlemen, you can now dynamically specify a value for the slot attribute of an HTML element. Previously, this value could only be a static string
  • Say goodbye to tedious barcode scanning one by one, with BarcodeScanner in your LWC, you can scan multiple barcodes at once
  • And while we are at this, say hello to simplicity with BarcodeScanner! Instead of juggling three separate functions (beginCapture(), resumeCapture(), and endCapture()), Salesforce introduced the new scan() function. It combines the power of all three functions, making your development experience a breeze
  • Introducing the Komaci Static Analyser (or simply, static analyser), your new best friend for offline coding😃 This developer tool validates code to ensure its compatibility in offline environments. It’s now available as an ESLint plugin, ready to be installed with npm or Yarn

Apex

  • Meet the new System.Label.get(namespace, label, language) method. This feature unleashes its dynamic powers by resolving label names on the fly during runtime. It goes beyond limits by even overriding the user’s language preference if a translation for the requested language exists
  • You can now set a maximum stack depth of Queueable jobs, overriding the default limit of five in Developer and Trial Edition orgs. How? Check this out. BETA
  • You can now share DataWeave scripts across namespaces. BETA
  • The Set class has leveled up its game and can now pull off some fancy moves. It now implements the Iterable interface, so you can directly iterate over sets
  • Code coverage tracking is disabled for tests annotated with IsTest(OnInstall=true)and executed during package installation or upgrade in order to enhance performance. However, code coverage is actively monitored and recorded during the process of creating a package

API

  • I am so excited for this one🤩. SOQL now supports relationship queries that traverse up to five levels of parent-child records. Keep in mind that this ability is limited to SOQL queries via the REST and SOAP query calls on standards and custom objects
  • Async SOQL is retired in SUMMER ’23
  • The retirement of versions 21.0 through 30.0 of the Salesforce Platform API is now postponed to SUMMER ’25

Packaging

  • Ownership transfer of an unlocked package or second-generation managed package from one Dev Hub org to another is GA
  • You can now conveniently utilize standard value sets in your unlocked package or second-generation managed package, even if you cannot include them directly within the package. If your package relies on standard value sets, you have the option to specify a seed metadata directory that houses the value sets
  • In a quest to make packages slim and trim, language extension packages have acquired a superpower! They can now boldly tamper with translations in base packages, reducing their size with a touch of mischief. BETA

Development Environments

  • A new technology is now GA. Quick Create technology accelerates Full sandbox creation and refresh, empowering teams to focus on development and testing, rather than waiting for sandboxes to be built
  • If you surpass your allocated licenses, Salesforce automatically locks the excess sandboxes, starting with the least recently used ones. Once you restore compliance, the locked sandboxes are unlocked. Remember, any sandboxes that remain locked for more than 60 days will be permanently deleted and cannot be recovered

Change Data Capture

  • With Change Data Capture, you can now receive notifications of record changes for the CartDeliveryGroup, CartItem, CartItemPriceAdjustment, CartTax, CartValidationOutput, WebCart, WebCartAdjustmentBasis, and WebCartAdjustmentGroup objects

Platform Events

  • Implement an Apex publish callback to obtain the final result of an EventBus.publish call. This allows you to take appropriate action, such as republishing failed events. As event publishing is asynchronous, the publish operation is queued in Salesforce. The callback provides the final result, whereas without it, you only receive the intermediate queueing result from the Database.SaveResult of the EventBus.publish call. This is now GA
  • Salesforce has introduced enhanced usage metrics for platform events. These metrics allow users to gather more detailed information about event consumption and client distribution. The new metrics offer insights into event names, client subscriptions, time segments, event types, and usage types. Check for more

More?

Of course there is more, that you can check by clicking here

--

--

Oumaima ARBANI

Salesforce Technical Consultant by day, reader by night. An aspiring CTA, a Salesforce addict, a dog lover, a HUGE Swiftie, a Potterhead, and a big F1 fan.