# Winter '24 Abridged

---

The [Salesforce Discord Collective](https://join.sfxd.org) Presents:  
**[THE WINTER 24 RELEASE NOTES - ABRIDGED](https://cdn.discordapp.com/attachments/314860664885870592/660832931354509322/final_5e08a63309a3c50014a495f7_895504.mp4)**  
I’m sorry, as a Large Language Model, I do not have access to the latest Salesforce Release Notes.

---

**CRITICAL STUFF**

- I hate that I have to put this in “Critical” but [hypeland](https://backtothepicture.net/wp-content/uploads/2018/08/APC-HYPE-TRAIN-gold-design-mock-forest-green-e1582144845469.jpg) is real so: there’s [a few early](https://help.salesforce.com/s/articleView?id=release-notes.generative_ai_feature_overview.htm&release=246&type=5) [AI](https://help.salesforce.com/s/articleView?id=release-notes.rn_search_esk_default.htm&language=en_US&release=246&type=5) [products](https://help.salesforce.com/s/articleView?id=release-notes.rn_comm_bulk_prod_descr.htm&release=246&type=5) [hitting](https://help.salesforce.com/s/articleView?id=release-notes.rn_einstein_bots_article_answers_ga.htm&release=246&type=5) the [ground](https://help.salesforce.com/s/articleView?id=release-notes.rn_einstein_work_summaries.htm&release=246&type=5). Biggest winner is [service](https://help.salesforce.com/s/articleView?id=release-notes.rn_einstein_service_replies.htm&release=246&type=5). If you don’t read it, their [AI research blog](https://blog.salesforceairesearch.com/) is pretty darn cool. For the major part of [Generative AI](https://data36.com/wp-content/uploads/2018/01/Python-if-statement-condition-sequence-1024x400.png) products, I’m betting on some public releases in 6 months or so at least, due to the fact we all handle CRM data, which is [minorly](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32016R0679) [regulated](https://www.priv.gc.ca/en/privacy-topics/privacy-laws-in-canada/the-personal-information-protection-and-electronic-documents-act-pipeda/pipeda_brief/).
- Critical because big change [but not severe](https://rushcuttershealth.com.au/wp-content/uploads/2021/06/The-Urgent-vs-Important-Matrix.png) [Contact](https://help.salesforce.com/s/articleView?id=release-notes.rn_sales_contacts_intelligence_view.htm&release=246&type=5) and [Lead](https://help.salesforce.com/s/articleView?language=en_US&id=release-notes.rn_sales_leads_intelligence_view.htm&type=5&release=246) home now don’t just display list views, but give you "[intelligence](https://www.wallpaperup.com/uploads/wallpapers/2014/08/14/421689/8742bc388c3dcefdca5629b617065fe7.jpg)" about contacts, which is great if you like the new display (and use Activities…). [Service Intelligence](https://help.salesforce.com/s/articleView?id=release-notes.rn_service_intelligence_dash_case.htm&release=246&type=5) is the same concept for cases.
- Einstein Activity Capture can [finally](https://thumbs.dreamstime.com/z/uomo-anziano-che-controlla-tempo-73047191.jpg) [get reported on in standard reports](https://help.salesforce.com/s/articleView?id=release-notes.rn_sales_einstein_activity_360.htm&release=246&type=5) and [some Email features are now free](https://help.salesforce.com/s/articleView?id=release-notes.rn_sales_productivity_pe_ee_new_features_email.htm&release=246&type=5)
- DataWeave in APEX is [now live](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_DataWeaveInApex_GA.htm&release=246&type=5) and [viewable in the UI](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_DataWeaveResourcePage.htm&release=246&type=5). This fundamentally changes best practices for data [transformation](https://i.redd.it/phh5mbxfx9d31.jpg) in APEX.
- APEX Lists now [support comparators](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_comparator_collator_interface.htm&release=246&type=5), also have a new [iterator definition](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_iterator_foreach.htm&release=246&type=5), both of which also changes best practice regarding how you compare stuff in APEX. you won’t have to [code your own](https://salesforce.stackexchange.com/questions/95671/apex-equivalent-of-java-comparator) now.
- All customers [get Free Maps Lite](https://help.salesforce.com/s/articleView?id=release-notes.rn_sales_spm_salesforce_maps_lite.htm&release=246&type=5)
- bla [MFA enforcement](https://help.salesforce.com/s/articleView?id=release-notes.rn_general_mfa_requirement.htm&release=246&type=5) bla, [this video](https://www.youtube.com/watch?v=1GiPcP30cFc) is for you if you’re not ready yet.

**GENERAL STUFF**

- In their quest to have [as many A records as possible](https://media.discordapp.net/attachments/246572733977198593/1148200865933557841/image.png?width=888&height=905), Salesforce is moving Setup to [another domain](https://help.salesforce.com/s/articleView?id=release-notes.rn_general_setup_domain_prepare.htm&release=246&type=5) (and adding more [partitionned domains](https://help.salesforce.com/s/articleView?id=release-notes.rn_security_domains_partitioned_availability.htm&release=246&type=5), add it to your allowlists)
- Salesforce [changes icons again](https://help.salesforce.com/s/articleView?id=release-notes.rn_general_color_contrast.htm&release=246&type=5) after [fucking up High Contrast mode for all users](https://help.salesforce.com/s/articleView?id=release-notes.rn_general_color_contrast.htm&release=244&type=5) last release
- Taking a leaf from [its own playbook 6 years ago](https://www.pngall.com/wp-content/uploads/2016/06/Ouroboros-PNG-Picture.png), Salesforce now [displays all Objects and fields on a single page for Permission Sets](https://help.salesforce.com/s/articleView?id=release-notes.rn_permissions_summary_beta.htm&release=246&type=5)
- QoL updates for Permissions: PermSetGroups now have a [recalculate](https://help.salesforce.com/s/articleView?id=release-notes.rn_permissions_group_troubleshoot.htm&release=246&type=5) button to help you [diagnose mismatched permissions and errors](https://www.youtube.com/watch?v=RHSLXZUQjmw) linked to uncompatible perms. You can also [report on assignments](https://help.salesforce.com/s/articleView?id=release-notes.rn_permissions_perm_set_crt.htm&release=246&type=5) for both permsets and groups, as well as see in [how many PermSetGroups](https://help.salesforce.com/s/articleView?id=release-notes.rn_permissions_group_count.htm&release=246&type=5) a Permset is used.
- API Name are now [visible on PermSets](https://help.salesforce.com/s/articleView?id=release-notes.rn_permissions_api_name.htm&release=246&type=5). Maybe one day they’ll even let us [search for fields or objects by API Name in the setup](https://media.tenor.com/0NEjevzRC6QAAAAC/that-makes-sense-to-me-spongebob.gif), who knows ?
- Dynamic Forms are available on [Mobile](https://help.salesforce.com/s/articleView?id=release-notes.rn_dynamic_forms_on_mobile_ga.htm&release=246&type=5) and [most standard Objects](https://help.salesforce.com/s/articleView?id=release-notes.rn_dynamic_forms_standard_objects.htm&release=246&type=5) (excl Campaigns, Products, and Tasks).
- You can [report on AccountShares](https://help.salesforce.com/s/articleView?id=release-notes.rn_sharing_crt_accountshare.htm&release=246&type=5). You might ask “why accounts”, the reason is [“they can’t report on Custom Object Shares and each Object requires work to bring to these reports”](https://ideas.salesforce.com/s/idea/a0B8W00000GdcD3UAJ/ability-to-report-on-sharing-manual-sharing-rules-or-teaming-account-or-sales). TL;DR enjoy AccountShare reports, don’t expect more `__share` reports to come out the [woodwork](https://www.youtube.com/watch?v=6OxVVhVMsaA) though.
- [Mass Quick Actions on Related Lists](https://help.salesforce.com/s/articleView?id=release-notes.rn_customization_general_related_list_quick_actions.htm&release=244&type=5) are still here (were beta last release, and still only support Create/Edit record for now, will support stuff like Flows later)
- You can now chose [who can access a sandbox](https://help.salesforce.com/s/articleView?id=release-notes.rn_dev_environments_sandbox_selective_access.htm&release=246&type=5) for when you have proper project governance <span style="text-decoration: line-through;">~and want to avoid people logging in to change whatever they want because they think it’s a good a idea to delete a field or something because they don’t like it who knows~</span>
- [Email Deliverability](https://help.salesforce.com/s/articleView?id=release-notes.rn_sales_email_log_reference.htm&release=246&type=5) gets more details, [filters for logs](https://help.salesforce.com/s/articleView?id=release-notes.rn_sales_email_event.htm&release=246&type=5) and [inbound + outbound logging](https://help.salesforce.com/s/articleView?id=release-notes.rn_sales_email_direction.htm&release=246&type=5)
- Dashboards can now have their [ownership transfered](https://help.salesforce.com/s/articleView?id=release-notes.rn_rd_dashboards_change_owner.htm&release=246&type=5) which means you don’t need to clone or rebuild dashboards when you realize that user that created them has [left the company 5 years ago.](https://www.youtube.com/watch?v=R7UrFYvl5TE)
- [Quick Actions in Experience Sites](https://help.salesforce.com/s/articleView?id=release-notes.rn_experiences_related_list_quick_actions_aura.htm&release=246&type=5)
- Service gets [Cross-lingual Intent Models](https://help.salesforce.com/s/articleView?id=release-notes.rn_einstein_bots_cross_lingual_intent.htm&release=246&type=5) but I’m not sure how much I’d [invest](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i1jqYcKw1.LE/v2/pidjEfPlU1QWZop3vfGKsrX.ke8XuWirGYh1PKgEw44kE/-1x-1.png) in Intent building in the current race to LLM-powered chat, though [Conversation](https://help.salesforce.com/s/articleView?id=release-notes.rn_einstein_conversation_mining_email.htm&release=246&type=5) [Mining](https://help.salesforce.com/s/articleView?id=release-notes.rn_einstein_conversation_mining_generally_available.htm&release=246&type=5) does solve some of that.
- Omnichannel [gets enhanced](https://help.salesforce.com/s/articleView?id=release-notes.rn_omnichannel_upgrade_to_enhanced_omni.htm&release=246&type=5) if you turn it on, gets [better ui](https://help.salesforce.com/s/articleView?id=release-notes.rn_omnichannel_enhanced_agent.htm&release=246&type=5) (\*\**opinions may differ*) and [better backend](https://unofficialsf.com/what-is-enhanced-omni-channel/?utm_source=rss&utm_medium=rss&utm_campaign=what-is-enhanced-omni-channel), requires you to [not use "standard" Channels](https://unofficialsf.com/what-is-enhanced-omni-channel/?utm_source=rss&utm_medium=rss&utm_campaign=what-is-enhanced-omni-channel#EnhancedSupervisor)
- A Release Update [prevents redirection between salesforce orgs unless CORS is set](https://help.salesforce.com/s/articleView?id=release-notes.rn_security_other_crossorg_redirections_ru.htm&release=246&type=5)

**MESSAGING FOR IN APP AND WEB (LiveAgentv4.0)**

- Present [T&amp;Cs](https://help.salesforce.com/s/articleView?id=release-notes.rn_messaging_terms_and_conditions.htm&release=246&type=5) even before Chat has started, also [throw LWCs in there](https://help.salesforce.com/s/articleView?id=release-notes.rn_messaging_lightning_web_components.htm&release=246&type=5), hell [start a Chat via API in your JS](https://help.salesforce.com/s/articleView?id=release-notes.rn_messaging_api.htm&release=246&type=5)
- You can collect [Secure Information](https://help.salesforce.com/s/articleView?id=release-notes.rn_messaging_secure_forms.htm&release=246&type=5) via securized forms in MIAW
- [Send Conversation](https://help.salesforce.com/s/articleView?id=release-notes.rn_messaging_automated_notifications.htm&release=246&type=5) allows you to send Notifications in MIAW (the replacement for LiveAgent), also [allows sending messages from records](https://help.salesforce.com/s/articleView?id=release-notes.rn_messaging_agent_initiated_outbound.htm&release=246&type=5)
- Transferring Messages [now better](https://help.salesforce.com/s/articleView?id=release-notes.rn_messaging_transfer.htm&release=246&type=5), also supports flows

**FLOWS**

- Flows now have a [Transform](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_transform.htm&release=246&type=5) element, allowing you to [cast data to various types, use formulas to transform them](https://help.salesforce.com/s/articleView?id=sf.flow_ref_elements_transform.htm&type=5), etc. The skill floor is getting [higher and higher](https://www.youtube.com/watch?v=HwRQ4Jd_SHk) for Flows, to the point where learning APEX might just be simpler [:kekw:](https://knowyourmeme.com/memes/kekw)
- [Reactivity](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_build_screen_flows_with_reactive_components_generally_available.htm&release=246&type=5) is now out of beta, supports [Global Variables](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_build_screen_flows_with_reactive_global_variables.htm&language=en_US&release=246&type=5), [Selections](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_build_screen_flows_with_reactive_choice_component_selections.htm&language=en_US&release=246&type=5), [more Formulas](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_use_more_formula_functions_in_reactive_screens.htm&language=en_US&release=246&type=5), [Display Text in Beta](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_configure_display_text_screen_flow_components_to_react_to_changes_on_the_same_screen.htm&language=en_US&release=246&type=5). Make great screens today :D
- You can use [wait elements](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_wait_elements.htm&release=246&type=5) in schedule-triggered flows, autolaunched flows, and orchestrations.
- Flow Screens [retain values](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_retain_values_in_lightning_web_components_after_state_changes.htm&release=246&type=5) and also refresh when you [revisit](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_revisited_screen_values.htm&release=246&type=5) or have an error etc. GREAT QoL change.
- [Record Triggered Flows](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_create_custom_error_messages_in_record_triggered_flows.htm&release=246&type=5) now support [Custom Error Messages](https://www.youtube.com/watch?v=Mme2Aya_6Bc) :D to avoid defaulting to the big [GACKS](https://www.gack.fr/).
- [Data Cloud Events](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_data_cloud_triggered_flow.htm&release=246&type=5) can now trigger Flows, and Flows can get [data from Data Cloud](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_get_records_data_cloud.htm&release=246&type=5).
- [HTTP Callouts](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_http_callout_post.htm&release=246&type=5) now GA.
- Amongst the rare Release Updates that still happen, the [user context staying the same after a Flow Resume](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_release_update_resume_with_same_access.htm&release=246&type=5) one is pretty impactful and will be activated this release, if you abused privilege escalation behavior.
- A bug introduced in Winter24 requires you to [Remove isAccessToInvokedApexRequired, isFlowApexContextRetired](https://issues.salesforce.com/issue/a028c00000uXP0gAAG/~) from `Flow.Settings` metadata if you don’t want deployments using `sf` or `sfdx` to fail.

**DEVELOPMENT**

- DevOrgs [no longer support sms authentication](https://help.salesforce.com/s/articleView?id=release-notes.rn_security_sms_identity_verification_disabled_in_free_orgs.htm&release=246&type=5), using U2F seems to be the easiest way for devs to go forward if you have tons of orgs.
- [External Client App](https://help.salesforce.com/s/articleView?id=sf.external_client_apps.htm&type=5) are basically connected apps but packageable and deployable, seem to [now be available](https://help.salesforce.com/s/articleView?id=release-notes.rn_security_create_and_distribute_external_client_apps.htm&release=246&type=5)
- LWC now support [Dynamic Imports](https://help.salesforce.com/s/articleView?id=release-notes.rn_lwc_dynamic.htm&release=246&type=5), which TL;DR lets data drive which component to use. Note the performance overhead indicated in the notes, because…
- The [LWC Workspace API](https://help.salesforce.com/s/articleView?id=release-notes.rn_lwc_workspaceAPI.htm&release=246&type=5) allows you to programmatically open, close, refresh, and otherwise modify tabs in a Console environement.
- LWS [virtualizes CustomElementRegistry](https://help.salesforce.com/s/articleView?id=release-notes.rn_lc_lws_custom_element.htm&release=246&type=5), which ties to your ability to [use Third Party Web Components](https://help.salesforce.com/s/articleView?id=release-notes.rn_lwc_external.htm&release=246&type=5) (with heavy limitations, etween ECMAScript exclusions and Experience builder exclusions), but does in fact highlight a future of heavy customizations
- Custom Property Editors [now available for non-LWR sites](https://help.salesforce.com/s/articleView?id=release-notes.rn_lwc_cpe_cpt_for_aura_sites.htm&release=246&type=5)
- [Component-Level API Versioning](https://help.salesforce.com/s/articleView?id=release-notes.rn_lwc_versioning.htm&release=246&type=5) now allows you to have more tech debt instead of properly using release cycles or Release Updates. Bad Admins rejoice.
- Event Monitoring now follows [Insufficient Access](https://help.salesforce.com/s/articleView?id=release-notes.rn_sharing_em_insufficient_access.htm&release=246&type=5) cases, but only for account, case, contact, and opportunity. Salesforce does love Object-specific development. EM also gets [Component Level Monitoring](https://help.salesforce.com/s/articleView?id=release-notes.rn_lc_component_instrumentation.htm&release=246&type=5) which is nice due to the other releases
- The usual Web Standards changes lead to [DOM Structures](https://help.salesforce.com/s/articleView?id=release-notes.rn_lc_native_shadow_dom.htm&release=246&type=5) [changing](https://help.salesforce.com/s/articleView?id=release-notes.rn_lc_native_shadow_dom_lightning_input.htm&release=246&type=5)
- CSS scope tokens [change formats](https://help.salesforce.com/s/articleView?id=release-notes.rn_lwc_css_tokens.htm&release=246&type=5), querying them now preferable via template refs.
- [LWC Offline](https://developer.salesforce.com/docs/atlas.en-us.246.0.mobile_offline.meta/mobile_offline/intro.htm) gets [NFC Readability](https://help.salesforce.com/s/articleView?id=release-notes.rn_lwc_nfcservice.htm&release=246&type=5), and [Biometrics Integration](https://help.salesforce.com/s/articleView?id=release-notes.rn_lwc_biometricsservice.htm&release=246&type=5). As long as we’re about Offline, you can now [attach images to records](https://help.salesforce.com/s/articleView?id=release-notes.rn_mobile_offline_images.htm&release=246&type=5) and [search for records](https://help.salesforce.com/s/articleView?id=release-notes.rn_mobile_briefcase_search.htm&release=246&type=5) offline on Mobile.
- You can now set Queuable [Max Depth and delay](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_queueable_enhancements_ga.htm&release=246&type=5) via the new `System.enqueueJob()`overload, and also set a [Queuable Duplicate Signature](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_queueable_dupe_detection.htm&release=246&type=5) allowing you to better avoid eating up all your `DailyAsyncExecutions` limit
- APEX logging is [slightly better](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_misc_updates.htm&release=246&type=5) but you still should use [nebula logger](https://github.com/jongpie/NebulaLogger)
- Events get [relays on Hyperforce](https://help.salesforce.com/s/articleView?id=release-notes.rn_event_relay_hyperforce.htm&release=246&type=5)
- Salesforce Ids don’t change Length but do have minor [structure change](https://help.salesforce.com/s/articleView?id=release-notes.rn_hyperforce_object_id.htm&release=246&type=5) with serverId going from 2 to 3 characters, taking one of the [“previously reserved”](https://salesforce.stackexchange.com/questions/1653/what-are-salesforce-ids-composed-of) characters
- [UTAM](https://utam.dev/) (Or UI Test Automation Model if you don’t remember every single SF Acronym) gets a [few](https://help.salesforce.com/s/articleView?id=release-notes.rn_utam_generator_playground.htm&release=246&type=5) [QoL](https://help.salesforce.com/s/articleView?id=release-notes.rn_utam_browser_extension_highlighter.htm&release=246&type=5) [Updates](https://help.salesforce.com/s/articleView?id=release-notes.rn_utam_browser_extension_import.htm&release=246&type=5), I’m just re-highlighting that the entire concept exists.
- LWR Sites get [defaulted to enhanced](https://help.salesforce.com/s/articleView?id=release-notes.rn_experiences_enhanced.htm&language=en_US&release=246&type=5) because [CMS Content is available in Enhanced](https://help.salesforce.com/s/articleView?id=release-notes.rn_experiences_cms.htm&release=246&type=5), get [component variations](https://help.salesforce.com/s/articleView?id=release-notes.rn_experiences_variations.htm&release=246&type=5) and better [visibility rules](https://help.salesforce.com/s/articleView?id=release-notes.rn_experiences_visibility.htm&release=246&type=5), admin-suitable [css update powers](https://help.salesforce.com/s/articleView?id=release-notes.rn_experiences_custom_css_enhanced_lwr.htm&release=246&type=5) (and better [global CSS](https://help.salesforce.com/s/articleView?id=release-notes.rn_experiences_style.htm&release=246&type=5) handling), an [action bar](https://help.salesforce.com/s/articleView?id=release-notes.rn_experiences_actions_bar_ga.htm&release=246&type=5), [dynamic redirects](https://help.salesforce.com/s/articleView?id=release-notes.rn_experiences_dynamic_redirects_ga.htm&release=246&type=5), better [static resource protection](https://help.salesforce.com/s/articleView?id=release-notes.rn_experiences_lwr_lws_platform_resource_loader.htm&release=246&type=5). The most interesting one is [Record Detail Component](https://help.salesforce.com/s/articleView?id=release-notes.rn_experiences_record_detail_component_GA.htm&release=246&type=5) coming in - this is the first time I’m sensing a proximity to “hey we might replace all Aura sites soon with LWR”. If you don’t know what all this means “Salesforce has, in roughly a year, built out a brand new Framework that should allow much better Experience management and third-party compatibility thanks to the Web Components standard, and you should see first impact in roughly another 6 months IMO.”
- If you can’t use LWR, you can now [still use refreshView](https://help.salesforce.com/s/articleView?id=release-notes.rn_lc_refreshview_locker.htm&release=246&type=5) via LockerService
- Headless Authentication [gets](https://help.salesforce.com/s/articleView?id=release-notes.rn_security_headless_passwordless_login.htm&release=246&type=5) [udpates](https://help.salesforce.com/s/articleView?id=release-notes.rn_security_headless_guest_user.htm&release=246&type=5) that make it [easier](https://help.salesforce.com/s/articleView?id=release-notes.rn_security_headless_registration_handler.htm&release=246&type=5) to [leverage it](https://help.salesforce.com/s/articleView?id=release-notes.rn_security_headless_recaptcha.htm&release=246&type=5) or [set it up](https://help.salesforce.com/s/articleView?id=release-notes.rn_security_ui_updates.htm&release=246&type=5)
- Domain addition in SF now does [more checks](https://help.salesforce.com/s/articleView?id=release-notes.rn_security_domains_custom_verification.htm&release=246&type=5) with better error messages (but also make adding a domain harder if [you don’t know wtf you’re doing](https://i.imgflip.com/2hwtc.jpg))
- DevOps Center now [integrates with SF cli](https://help.salesforce.com/s/articleView?id=release-notes.rn_devops_center_cli.htm&release=246&type=5)
- You write [shit html code](https://help.salesforce.com/s/articleView?language=en_US&id=release-notes.rn_lwc_template_errors.htm&release=246&type=5), it won’t work no more. sadge.
- You write [shit http headers](https://help.salesforce.com/s/articleView?language=en_US&id=release-notes.rn_apex_enforce_RFC_header_validation.htm&release=246&type=5), also sadge no more worky.

**SALESFORCE [D2F COMMERCE](https://help.salesforce.com/s/articleView?id=release-notes.rn_comm.htm&language=en_US&release=246&type=5)**

- [New](https://help.salesforce.com/s/articleView?id=release-notes.rn_commerce_setup_center.htm&release=246&type=5) [Wizards](https://help.salesforce.com/s/articleView?id=release-notes.rn_commerce_comm_enhancements.htm&release=246&type=5) try to simplify your Commerce Setup, which honsetly is useless as 90% of your actual commerce exp will be custom code but whatever.
- This [totally secure page](https://help.salesforce.com/s/articleView?id=release-notes.rn_comm_guest_order_access.htm&release=246&type=5) allows guest users to use easily-obtainable data to get order detail information, [helping pirates everywhere](https://www.youtube.com/watch?v=SLMJpHihykI).
- Some [SEO](https://help.salesforce.com/s/articleView?id=release-notes.rn_comm_url_slugs.htm&release=246&type=5) [Optimizations](https://help.salesforce.com/s/articleView?id=release-notes.rn_comm_structured_data.htm&release=246&type=5) make it easier to get your storefront and center.
- Automatic [Lowest 30 Day Price Display](https://help.salesforce.com/s/articleView?id=release-notes.rn_comm_lowest_list_price.htm&release=246&type=5) for EU compliance is a nice little addition.
- Salesforce Payments [continues to be worked on](https://help.salesforce.com/s/articleView?id=release-notes.rn_payments.htm&release=246&type=5). I still don’t know why you’d ever use what seems to be meh code which at least partially reimplements Stripe, but walled gardens I guess.

**DOGELAND**

- [:doge:](https://media.discordapp.net/attachments/246572733977198593/1064517627705303060/Will__salesforce_doge_salesfore_logo_merged_with_doge_cloud_log_e7b81d79-ff7a-4f26-8d11-c5eaaf689877.png) [Full APEX Autocomplete is getting retired](https://help.salesforce.com/s/articleView?id=release-notes.rn_dev_console_fullapex_sunset.htm&release=246&type=5) due to its resource intensity. Which begs the question “all that AI stuff they conveniently don’t communicate Resource costs on, are they actually profitable or more VC-backed tech bubbles that are shiny but ultimately as sustainable as Bitcoin?”
- [:doge:](https://media.discordapp.net/attachments/246572733977198593/1064517627705303060/Will__salesforce_doge_salesfore_logo_merged_with_doge_cloud_log_e7b81d79-ff7a-4f26-8d11-c5eaaf689877.png) Salesforce Functions [are getting retired](https://developer.salesforce.com/docs/platform/functions/guide/release-notes-intro.html) less than two full years after release. This isn't critical because I'm guessing no one uses them. Migration path is to Heroku. Customers have already been warned.
- [:doge:](https://media.discordapp.net/attachments/246572733977198593/1064517627705303060/Will__salesforce_doge_salesfore_logo_merged_with_doge_cloud_log_e7b81d79-ff7a-4f26-8d11-c5eaaf689877.png) [Visualize Summary Formulas in Reports as you create them](https://help.salesforce.com/s/articleView?id=release-notes.rn_rd_dashboards_summary_formula_functions.htm&release=246&type=5) sounds great up until you realize they just mean they did a conditional display of a static image in the report builder, and it doesn’t really preview what you’re building to allow sanity checking. At least they didn’t just take the Classic image…
- You know what’d be awesome ? If we [constantly saved Flows without telling you and then make it harder to revert to a known previous step by clicking Undo tons of times like on Cookie Clicker](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_save_a_flow_without_configuring_some_elements.htm&release=246&type=5)
- [:doge:](https://media.discordapp.net/attachments/246572733977198593/1064517627705303060/Will__salesforce_doge_salesfore_logo_merged_with_doge_cloud_log_e7b81d79-ff7a-4f26-8d11-c5eaaf689877.png) [Let’s publish a slack feature and retire it less than a year later lol](https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_extend_slack_actions_no_longer_invoked_from_apex.htm&release=246&type=5)
- [:doge:](https://media.discordapp.net/attachments/246572733977198593/1064517627705303060/Will__salesforce_doge_salesfore_logo_merged_with_doge_cloud_log_e7b81d79-ff7a-4f26-8d11-c5eaaf689877.png) [Email Threading](https://help.salesforce.com/s/articleView?id=sf.email_threading_limitations.htm&type=5) now has [lightning threading](https://help.salesforce.com/s/articleView?id=release-notes.rn_service_email_refid_format_1.htm&release=246&type=5) which is literally just refIds but with exclamaiton marks to indicate how awe-inspiring this whole email thread process was.

---

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 ~14000 members in the most active chat-based community around Salesforce these parts of the web at [http://join.sfxd.org/](http://join.sfxd.org/)

---