Winter '27 is rolling out now. Salesforce's developer blog says most instances have already upgraded and the last production wave is this weekend, so check Trust (search your instance, open Maintenance) for your own date. The release notes run past 600 pages. You do not need to read them all.
We already covered the security-related release updates and the Developer Console change. This post is the other half: the features worth turning on. Each one says where to find it, whether it is generally available or still in beta, and what to check first. Everything here comes from Salesforce's own release posts for admins and developers.
A note on labels: beta features have limited support, and Salesforce recommends trying them in a sandbox first.
For admins
Flow is the big winner
Flow Builder gets more in this release than anything else. In order of how much they are likely to matter:
Edit History. For record-triggered, scheduled, platform-event and no-trigger autolaunched flows, a clock icon in Flow Builder opens a timeline of every save. You can preview the flow at any past save, see which elements changed, restore an older state as a new version, or copy it into a separate flow. If you have ever stared at a broken flow wondering what changed, this is for you.
Test Mode (beta). Enable it in Setup → Process Automation Settings → Enable Flow Test Mode (Beta), then click Test in Flow Builder. For record-triggered and autolaunched flows, you can build a test scenario, add assertions that define the expected result, save it and run it again later. It reports pass or fail. Two related additions:
- Mock outputs for Action and Subflow elements (beta). Define what an element returns during a test, so the real callout never goes out. This is the practical way to test fault paths, which are hard to trigger with live data.
- Primitive collections and record IDs in the debugger. You can pass a collection of text, numbers or dates into the debug panel, and enter a static 15- or 18-character record ID directly, which helps with objects such as Cases that are awkward to search.
Run as the user, for real. With Flow API version 68.0 or later, a new run context, User Context: Enforces User Permissions, makes a screen or autolaunched flow run strictly with the running user's object access and sharing rules. Previously a flow set to user context could inherit elevated permissions from an Apex or flow caller running in system context. For anything that handles sensitive records, this closes a real gap. Review the screen flows that handle sensitive records and decide which should use it.
Catch mistakes before users do. Flow Builder now warns at save time about a Create Records element that is missing a required field and about values that exceed a field's length. Both are warnings, not blockers, so someone still has to fix them. Separately, flows now retry automatically after a record lock error (UNABLE_TO_LOCK_ROW), waiting 10 seconds before trying again.
Bulk actions from list views. A mass quick action on a list view or related list can now launch a screen flow that receives all the selected record IDs. The flow needs a text collection input variable named exactly ids (and a text variable recordId when launched from a related list), plus a Flow quick action on the object.
Easier to read and maintain. Collapsible, named element groups in auto-layout (rolling out gradually), an Unused filter in the Toolbox to find orphaned resources, Flow Tags in the Automation app to replace naming conventions, clickable element names in version comparison, automatic element labels, end elements that stay where you put them, and keyboard shortcuts for copy, cut, paste, delete and element search.
Screen flow additions. A native Time component, and reactive formulas that can now drive conditional visibility on the same screen.
Check first: if you have many flows, turn on Test Mode in a sandbox and write tests for your three most important record-triggered flows. Our Flow Health feature reads your org's flow interview logs and ranks flows by real failure rate, which is a good way to choose which flows to test first.
Reports and dashboards
- Record preview in Lightning reports (beta). Click a record link and it opens in a side panel, so your filters, sorting and place in the report stay put. Enable Show record previews on Lightning Reports (Beta) in Reports and Dashboards Settings, then click the eye icon in report view.
- Common Rows Only for joined reports (beta). Show only the records that appear in every block, such as accounts that actually have opportunities. Salesforce says you need to contact Customer Support to turn it on.
- Reports and dashboards in LWR Experience Cloud sites (beta). The Lightning Dashboard and Lightning Report components can be dropped onto LWR pages. Access controls apply, so site users only see what their permissions allow.
Sharing and users
- Keep manual shares when a record changes owner. Until now, transferring a record deleted its manual shares, and the people who had access through them lost it. A new Sharing Settings checkbox, Keep manual shares when transferring records, lets you stop that at the org level. Anyone who has been told "I lost access after the reassignment" should look at this one.
- User field history tracking is generally available. Track up to 20 fields on the User object, with old and new values, timestamp and who made the change. Salesforce says it is auto-enabled in Winter '27 and retains the data for up to 18 months in the UI. Choose your fields in Object Manager → User → Set Field History.
- Inline editing in list views. Two new User Interface Settings (off by default): allow inline editing of any field a user can access even if it is not on the page layout, and allow inline edits in list views that contain several record types.
- User Email Domains page. A single Setup page shows every email domain across your active users, with verified and unverified address counts. It pairs with new options to import authorised email domains into a sandbox and to set verification per domain to Always, For Updated Addresses Only or Never.
For developers
Apex
- A bigger heap. The synchronous heap limit rises from 6 MB to 10 MB and the asynchronous limit from 12 MB to 25 MB. It is on automatically. If you deploy from a Winter '27 sandbox to a production org still on Summer '26, Apex Settings has an option to enforce the old limit in the sandbox until production upgrades.
- Integration tests (Developer Preview). Annotate a class and its methods with
@IntegrationTestto make real callouts from a scratch org, so a broken named credential or payload is not hidden behind a mock. They are scratch-org only, do not count towards coverage, and run asynchronously. FORMULA()in SOQL (beta). Compare two fields in aWHEREclause (for exampleAmount_To_Pay__c - Amount_Paid__c > 0) without creating a formula field. It needs API version 68.0 and is not available in production.- Apex Symbol API (beta). A Tooling API resource that returns type information the way the compiler sees it. Salesforce suggests it for code completion or for grounding a coding agent before it writes Apex.
- Smaller changes. Compile only invalid classes/triggers in Setup, a Test Discovery API
testLevelparameter, compiler warnings for classes saved at API versions 9.0–19.0, Apex cursors for Data 360 objects (beta) and elastic limits for Batch Apex (beta).
Lightning Web Components
- Template expressions are generally available. You can write a subset of JavaScript in a template (string joins, ternaries, optional chaining,
.filter().length) instead of adding a getter for each. They need API version 66.0 or later, expressions in attributes must be wrapped in double quotes, andthis,newand function declarations are not allowed. lwc:externalis generally available. Render third-party web components in LWC without an iframe or a rewrite. They require Lightning Web Security, and libraries must be IIFE or UMD bundles becauseloadScriptdoes not support ES modules.refresh()for state managers that have no single record ID, such as related list records.
Multi-Framework, React and Angular
React apps on Salesforce reached general availability in July (we weigh them up in Salesforce React apps with AI: pros and cons). Winter '27 adds:
- Angular as a second supported framework, with starter templates for internal apps, external apps and a bare-bones app.
- Data SDK extensions. Write reusable data logic once with
defineDataExtensionand call it from every app throughsdk.ext.<name>. The release also adds a labels extension and per-request headers. - Microfrontends (beta). A thin LWC renders the
lightning-ui-embeddingcomponent to show your deployed app on a Lightning page or Experience Cloud site page, with data passed down and events passed back. It supports internal apps served from thesalesforce.appdomain. - Packaging, management and insight. Second-generation packaging, a New Multi-Framework App option in App Manager and a Multi-Framework Insights dashboard (beta).
CLI and APIs
- Check your CI scripts now. Commands such as
org displayandorg list --jsonno longer print access tokens, SFDX auth URLs or passwords. The temporarySF_TEMP_SHOW_SECRETS=trueworkaround is removed on 28 October 2026. Scripts that readaccessTokenfromorg display --jsonget[REDACTED]and fail later with a 401. Ask for secrets explicitly withsf org auth show-access-token. - Node.js 22 or later is now required for the Salesforce CLI.
- Better scaffolding.
sf template generate apex class --template BatchableorQueueablegenerates async Apex with a typed scope, or with a Finalizer attached. - Debug logs from the command line.
sf apex run --debug-level DETAILor--category-levelsets log levels per run. latestin REST URIs./services/data/latest/...resolves to the newest version your org supports. It is handy for scripts, but keep a pinned version for production integrations. Winter '27 ships API version 68.0.- Composite API monitoring. New
CompositeApiandCompositeApiSubrequestevent types inEventLogFileshow which subrequest failed when a composite call looks successful overall. api request restandapi request graphqlare generally available.
AI, agents and MCP
- A Salesforce Development plugin for Claude Code, installable from the plugin marketplace. It detects a Salesforce DX project and gives Claude Code Salesforce-specific skills and org context through Salesforce-hosted MCP servers. The skills come from an open-source library that other coding agents can use.
- MCP works in both directions. You can expose an Agentforce agent as a tool on a custom MCP server (only agents built with the new Agent Script Builder), and add MCP server tools to an agent in Agentforce Builder. Calls run as the authenticated user, so sharing rules and field-level security still apply.
- Multi-Agent Orchestration is generally available, and agents move between orgs with two metadata types,
AiAgentDefinitionandAiAgentDefinitionVersion, instead of listing every dependency by hand. Both orgs must be on API version 68.0. - Agent Script gets more expressive (
else if, string and JSON functions, a deterministicescalate). Gemini 2.5 requests are rerouted to newer Gemini models on 20 October 2026, so test any prompts that depend on them. - Headless Experience Layer (beta). Define a widget once and render it in Agentforce, Claude and Slackbot.
What to do this week
- Admins: find your upgrade date on Trust. In a sandbox, turn on Flow Test Mode, write tests for your most important flows, and review any screen flow that handles sensitive data for the new user-context option.
- Admins: switch on Keep manual shares when transferring records if reassignments have caused lost access, and choose your User field history fields.
- Developers: search your pipelines for
org display --jsonbefore 28 October, and upgrade the CLI image to Node.js 22. - Developers: if you deploy from a Winter '27 sandbox to a production org that has not upgraded yet, remember that new API 68.0 metadata types and the heap setting behave differently until production catches up. Validate before you deploy.
- Everyone: treat beta features as sandbox-only until they are generally available.
Deploying the release's changes safely
Winter '27 is also a reminder of how much a release changes between your sandbox and production. Metadata built on API 68.0 can behave differently on an org that has not upgraded yet.
The orgadmin.ai Deployments feature compares two orgs and shows what differs before you deploy, and the Development Studio validates against production first and then quick-deploys the validated change without re-running tests. Our validate-first guide explains why that order matters.
Details in this post come from Salesforce's own Winter '27 release posts as of 6 October 2026. Several features are beta or developer preview and may change before general availability.