# Spring '21 Abridged --- The [Salesforce Discord Collective](https://join.sfxd.org) Presents: **[THE SPRING 21 RELEASE NOTES - ABRIDGED](https://cdn.discordapp.com/attachments/314860664885870592/660832931354509322/final_5e08a63309a3c50014a495f7_895504.mp4)** As Exciting as the new Samsung WF50R8500A release --- **CRITICAL STUFF** - [CRUD permissions fully removed from Guest User](https://help.salesforce.com/articleView?id=release-notes.rn_experiences_crud_perms_removed.htm&release=230&type=5). Last release, they only set it to `FALSE`. Yes, it’s always been good practice to not have Unauthenticated Users view and delete your data on a public endpoint. Yes, we already called it last release. Yes, some of y’all decided "[eh i’ll just turn it back on](http://gph.is/1fFAj2t)". Well now you can’t. FIX. DEM. PERMS. **GENERAL STUFF** - [Official Release Notes move](https://help.salesforce.com/articleView?id=release-notes.rn_general_release_notes_move_to_help_site.htm&type=5&release=230) to [a slightly better looking but slower website](https://media-cdn.tripadvisor.com/media/photo-s/01/64/f1/2d/same-old-place.jpg). Doesn’t change the hidden advertisement for paid features though. - [Dynamic Forms check Dupes before save](https://help.salesforce.com/articleView?id=release-notes.rn_lex_duplicates.htm&type=5&release=230) you time. I wanted to reuse the word “save” [to make the sentence shorter,](https://media.tumblr.com/9eae0bd47d2fe14be106500529de3801/tumblr_inline_ml6k1osbWn1qz4rgp.gif) realized it wasn’t intelligible, and committed anyway. - In-App Guidance gets [snooze](https://help.salesforce.com/articleView?id=release-notes.rn_general_iag_snooze.htm&type=5&release=230) capabilities, and [you can now share them manually to someone](https://releasenotes.docs.salesforce.com/en-us/spring21/release-notes/rn_general_iag_pull_url.htm). [Trailhead](https://help.salesforce.com/articleView?id=release-notes.rn_general_inapplearning.htm&type=5&release=230) also now is present in Salesforce, to ease User Onboarding. All of these [*should*](https://media.tumblr.com/9eae0bd47d2fe14be106500529de3801/tumblr_inline_ml6k1osbWn1qz4rgp.gif) be free of myTrailhead licensing. **SALESFORCE CORE** - [Recently Viewed](https://help.salesforce.com/articleView?id=release-notes.rn_lex_mru_list_actions.htm&type=5&release=230) now supports Actions, making the view less useless great again ffs I give up on the joke here useful. - [Opportunity Products can now be the Parent of a Relationship](https://releasenotes.docs.salesforce.com/en-us/spring21/release-notes/rn_sales_features_core_opportunities_line_item_lookup.htm) This was listed for Winter21, [pulled](https://trailblazer.salesforce.com/ideaView?id=08730000000Brfa) (with actually great communication as highlighted in the thread), and is now available. Yay :) - Lightning Email Templates are now [set](https://help.salesforce.com/articleView?id=release-notes.rn_sales_productivity_email_templates_packaging.htm&type=5&release=230) to [replace](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_flow_email_templates_alerts_lightning_templates.htm&type=5&release=230) [ye olden classic](https://i.pinimg.com/originals/bb/43/f3/bb43f36ffbf06436dcde6c85c1326b73.jpg) ones. [Considerations to be read](https://help.salesforce.com/apex/HTViewHelpDoc?id=customize_wfalerts.htm&language=en_US) - Dashboards [now expose filters as URL parameters](https://help.salesforce.com/articleView?id=release-notes.rn_rd_dashboards_filter_url.htm&type=5&release=230) so you can actually do “dynamic”-ish dashboard filters. - [Dynamic Actions](https://help.salesforce.com/articleView?id=release-notes.rn_lex_dynamic_actions.htm&type=5&release=226) [now available](https://help.salesforce.com/articleView?id=release-notes.rn_lex_dynamic_actions_desktop_mobile.htm&type=5&release=230) [on mobile](https://help.salesforce.com/articleView?id=release-notes.rn_mobile_dynamic_actions_custom_objects.htm&type=5&release=230). To avoid further confusion with Dynamic Dashboards, we’d like to offer to [Rebrand](https://help.salesforce.com/articleView?id=release-notes.rn_networks_rebrand.htm&type=5&release=228) it to Lightning Actions, can’t go wrong with that, [guaranteed no confusion](https://i.imgur.com/QbAhLr1.png). Yessir. - [New Limit](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_fields_inactive_picklists.htm&type=5&release=230) on inactive picklist values. Great for people that don’t sanitize data before loading it to SF. I’m looking at YOU, Rob. You know what you did. - [Enhanced Domains](https://help.salesforce.com/articleView?id=release-notes.rn_security_domains_enhanced.htm&type=5&release=230) change how My Domains work a bit, required reading for users, some nice perks. - [Help Texts](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_fields_characters.htm&type=5&release=230) go BRRR but don’t go `
` which is nice but also too bad ^Please ^let ^^me ^^^line ^^^^break **SERVICE** - Service Cloud Voice [QoL changes](https://help.salesforce.com/articleView?id=release-notes.rn_voice.htm&type=5&release=230) include some good stuff, but the *real thing* is their new [Documentation](https://help.salesforce.com/articleView?id=release-notes.rn_voice_documentation.htm&type=5&release=230) including a learning portal. Also their [API changes](https://help.salesforce.com/articleView?id=release-notes.rn_voice_rest_api_update.htm&type=5&release=230) so if you’re one of the two devs that already used it already, read that. - Einstein Bots support [more languages](https://help.salesforce.com/articleView?id=release-notes.rn_einstein_bots_input_recommender_updates.htm&type=5&release=230) (some more stuff in Pilot) and Predictions can be [turned on with fewer Transcripts available](https://help.salesforce.com/articleView?id=release-notes.rn_einstein_reply_recommendations_refresh.htm&type=5&release=230) - That [Email RefId update](https://help.salesforce.com/articleView?id=release-notes.rn_email_to_case.htm&type=5&release=228) is now delayed by a year because turns out [they didn’t think](https://www.monkeyuser.com/2019/edge-cases/) people had automation building the RefId. [:Kekw:](https://knowyourmeme.com/memes/kekw) - Minor nice change: you can now change [NoReply](https://help.salesforce.com/articleView?id=release-notes.rn_service_case_management_noreply.htm&type=5&release=230) email addresses on some Service notifications. **FLOWS** - [Record-Triggered Flows can now have Delayed Actions](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_flow_fbuilder_scheduled_paths.htm&type=5&release=230) but I find the example they give really unfortunate - for one week before the Opp Close date, you should use a Scheduled Flow that queries records matching specific criteria instead, which will avoid the undue Flow Scheduled Interviews. Great for low-delay dynamic dates though. - [PriorValue in Record-Triggered Flows](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_flow_fbuilder_prior_values_flow.htm&type=5&release=230) to most admin’s glorious celebration. - [SendEmail with Rich text from Templates](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_flow_fbuilder_send_rich_emails.htm&type=5&release=230). [So Pretty](https://www.treehugger.com/thmb/FXgeocf8cwCYjxJSqBjRZ3QavI0=/768x0/filters:no_upscale():max_bytes(150000):strip_icc():format(webp)/__opt__aboutcom__coeus__resources__content_migration__treehugger__images__2016__04__unicorn-dc0d1ba53b6d45ee956ae1aa3b298199.jpg). - Screen Flows get nice polish with [pretty screens, many columns](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_flow_fbuilder_multicolumn_screens.htm&type=5&release=230) and the [ability to control how Screens behave on revists](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_flow_fbuilder_revisit_screen_values.htm&type=5&release=230) - [Debugging gets better](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_flow_fbuilder_debug_email.htm&type=5&release=230) and supports [Scheduled Flows](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_flow_debug_terms_direct.htm&type=5&release=230). Debug Logs also get [more accurate](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_flow_debug_accurate_flow_logs.htm&type=5&release=230) - The first Flow [API Version](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_flow_versioned_updates.htm&type=5&release=230) is here with mostly QoL updates. For anyone who cares, we consider Flows a valid replacement for some Processes starting this release, with the caveat of more testing in Sandbox required compared to Processes. We still recommend wariness for enterprise orgs though, and do not consider it ready for prime-time in all contexts. **FIELD SERVICE** - [Shift patterns](https://help.salesforce.com/articleView?id=release-notes.rn_fs_shift_patterns.htm&type=5&release=230) solve a major pain point, and being able to mass create them is a big time saver and likely the first flow a consultant would have to build for dispatchers/territory managers. Combined with [Shift Criteria](https://help.salesforce.com/articleView?id=release-notes.rn_fs_shift_criteria.htm&type=5&release=230) this makes the entire concept a thoroughbred workhorse of a solution. - [Advanced recurrence](https://help.salesforce.com/articleView?id=release-notes.rn_field_service_advanced_recurrence.htm&type=5&release=230) is ‘Pretty big’ according to @lookasavage, but he ain’t saying why, so… IT’S BIG I TELL YOU. **DEVELOPMENT** - [Salesforce Functions](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_functions.htm&type=5&release=230) will shortly be open as Beta. You might remember them as [Evergreen](https://media-cdn.tripadvisor.com/media/photo-s/01/64/f1/2d/same-old-place.jpg). Would I use this in prod, or even sandbox, yet ? Nah. Would I research it for fun ? HELL YASS. - `FIELDS(ALL)` / `FIELDS(CUSTOM)` [etc](https://help.salesforce.com/articleView?id=release-notes.rn_api_soql.htm&type=5&release=230) now exist (but have a lot of limitations). Are meant to replace describes, not to replace field selection in actual SOQL queries. Mostly because there’s a 200 record limit on SOQLs that use it. - CI/CD starting to get easier, faster. [Source Tracking between Local and SDB](https://help.salesforce.com/articleView?id=release-notes.rn_sandboxes_source_tracking.htm&type=5&release=230), and [Org-dependent Unlocked Packages](https://help.salesforce.com/articleView?id=release-notes.rn_sfdx_packaging_org_dependent_packages_ga.htm&type=5&release=230) come expand your toolkit. - Transaction Finalizers [feature](https://help.salesforce.com/articleView?id=release-notes.rn_apex_Transaction_Finalizers_Interface_Beta.htm&type=5&release=230) is in beta. Dev guide [here](https://developer.salesforce.com/docs/atlas.en-us.230.0.apexcode.meta/apexcode/apex_transaction_finalizers.htm). TL;DR you can know the status of a Queuable once it finishes without polling. - Apex upgraded to 51.0 have some important behavioral changes to System and Schema functions, [scroll to the bottom](https://help.salesforce.com/articleView?id=release-notes.rn_apex_nc.htm&type=5&release=230) so you’re aware. - Minor changes to [Lead Conversion](https://help.salesforce.com/articleView?id=release-notes.rn_sales_features_core_leads_convert_to_bus_and_pers_acct.htm&type=5&release=230) that require analysis as it can simplify stuff for a lot of orgs - SOQL for loop syntax, `for (Account acc : [SELECT ...)`, is now better [optimized](https://help.salesforce.com/articleView?id=release-notes.rn_apex_query_cursor_optimization.htm&type=5&release=230) - Platform Events can now be [configured](https://help.salesforce.com/articleView?id=release-notes.rn_messaging_trigger_config.htm&type=5&release=230) with a `` and `` property. - CMDT [accessible via Static Methods](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_dev_static_accessor.htm&release=230&type=5), no need for SOQL anymore \*[SLDS](https://www.lightningdesignsystem.com/components/overview/) gets a few more [styling hooks](https://help.salesforce.com/articleView?id=release-notes.rn_slds_changes.htm&type=5&release=230) and has [breaking CSS changes](https://help.salesforce.com/articleView?id=release-notes.rn_slds_bem_deprecate.htm&type=5&release=230) - ISVs, [there’s new APEX Analytics](https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_isvforce_app_analytics.htm&type=5&release=230) for you and better [Release](https://help.salesforce.com/articleView?id=release-notes.rn_sfdx_packaging_target_specific_release.htm&type=5&release=230) and [Error](https://help.salesforce.com/articleView?id=release-notes.rn_apex_BatchApexErrorEvent_Triggers.htm&type=5&release=230) handling. You also get [Free Platform Cache](https://help.salesforce.com/articleView?id=release-notes.rn_apex_freeplatformcache.htm&type=5&release=230) in a small amount. Now you too can experience this [beautiful website](https://cachingexplained.com) - Shield Subscribers, [RTE Monitoring Setup now available via MDAPI](https://help.salesforce.com/articleView?id=release-notes.rn_security_em_metadata_api.htm&type=5&release=230) **DOGELAND** - [:doge:](https://cdn.discordapp.com/attachments/314860664885870592/660826873252675614/dogesf.png) I think I’ll leave this in as long as it’s not fixed: STOP PUTTING PAID ADDONS IN CORE FEATURE RELEASE NOTES WITHOUT FLAGGING THEM AS SUCH THANK YOU. - [:doge:](https://cdn.discordapp.com/attachments/314860664885870592/660826873252675614/dogesf.png) [There was a bug in a function so we removed the function yo](https://help.salesforce.com/articleView?id=release-notes.rn_messaging_inactive_channel_error.htm&type=5&release=230) - [:doge:](https://cdn.discordapp.com/attachments/314860664885870592/660826873252675614/dogesf.png) [“Optimize”](https://help.salesforce.com/articleView?id=release-notes.rn_sales_productivity_email_templates_insert.htm&type=5&release=230) by adding LIGHTNING in places Users don’t care about **OTHER** - [CPQ as usual has the best release notes format](https://help.salesforce.com/articleView?id=release-notes.rn_revenue.htm&type=5&release=230) Check that out I can’t summarize it more than it is. - [Accounts can be Campaign Members](https://help.salesforce.com/articleView?id=release-notes.rn_sales_features_core_campaigns.htm&type=5&release=230) because… you can contact Companies now ? I don’t really understand that one, like you’re calling a business that has no one in it ? Not a single contact or lead ? Useless fact of the day: This ARN is 27% shorter than last release, and 48% shorter than Spring20. --- This abridged version was graciously written up by the **SF Discord** We have a nice wiki: [https://wiki.sfxd.org/](https://wiki.sfxd.org/) And a linkedin page: [https://www.linkedin.com/company/sfxd/](https://www.linkedin.com/company/sfxd/) Join the ~2500 members in the most active chat-based community around Salesforce these parts of the web at [http://join.sfxd.org/](http://join.sfxd.org/) ---