Salesforce Winter '27 Release Notes: Complete Guide for Admins & Developers

📅  Release
SALESFORCE RELEASE GUIDE

Salesforce Winter '27: The Complete Guide

Security overhaul, Agentforce goes deeper, and the changes that can break your integrations overnight

The Salesforce Winter '27 release notes went live on August 19, 2026, and this guide breaks down everything Salesforce Admins, Developers, and Architects need to know before their org's upgrade weekend. From the OAuth 2.0 Username-Password Flow retirement and other Winter '27 security updates, to the increased Apex heap limit, new Flow Builder features, and Agentforce Winter '27 enhancements, here's what's actually changing and what you need to do about it before your Winter '27 sandbox preview and production rollout dates.

8
Release Updates enforcing this cycle
5
Of them touch authentication or permissions
Aug 29 / Oct 3 / Oct 10
2026 production rollout weekends
108%
Async Apex heap limit increase (12MB to 25MB)

Critical Actions Before Your Upgrade Weekend

  • Check the OAuth Username-Password Flow retirement. If any integration still logs in with grant_type=password, it stops getting a token on your upgrade weekend with no warning banner. Audit connected apps now.
  • Bulk email address changes need an Authorized Email Domain. Support can no longer disable Email Change Verification for you, so configure a DKIM key or Authorized Email Domain before doing mass user updates.
  • Confirm your sandbox instance and pod. Preview and non-preview sandboxes upgrade on different timelines, check Salesforce Trust under your instance name to know your exact date.

1. Security, Authentication & Permissions

Winter '27 leans hard into platform security. Eight Release Updates enforce this cycle, and five of them change authentication or permission behavior. If you take away one thing from this whole release, it's this section, because unlike a new UI or a new component, these changes can silently break production integrations with zero warning in the UI.

OAuth 2.0 Username-Password Flow retirement. This is the big one. For years, a lot of middleware and legacy integrations authenticate to Salesforce by posting a username, password, and security token directly to the token endpoint (grant_type=password). It's simple, it works, and it's exactly why Salesforce is killing it, it's one of the weakest OAuth flows from a security standpoint. Once your org hits its Winter '27 upgrade weekend, any connected app still using this flow simply stops receiving tokens. There's no error banner, no email, nothing in Setup pointing at it. The first sign is usually a failed nightly job.

Real World Example at XYZ Company:

XYZ Company's ERP-to-Salesforce middleware had been posting grant_type=password credentials every 15 minutes since 2019 to sync order data. Nobody on the current team even knew the integration used that flow, it predated most of them. Auditing every Connected App's OAuth settings in Setup before the upgrade weekend, and migrating the affected integration to JWT Bearer Flow instead, avoided a Monday-morning outage where the order sync would've just gone quiet with no alert.

Email Change Verification can no longer be disabled by Support. Previously, if you needed to bulk-update user email addresses (say, after a company domain migration), Salesforce Support could temporarily disable the verification step that requires users to confirm a new email before it takes effect. That workaround is gone. Going forward, bulk email changes require an Authorized Email Domain configured via DKIM key, set this up in Setup under Email Domain Verification before you plan any mass update.

Profile visibility tightened (Release Update, enforced this cycle). This setting was first introduced in Summer '26 as opt-in, Winter '27 enforces it for everyone. Users without the View All Profiles permission can now only view their own profile name, not just profile details, the name itself. This sounds cosmetic until you have Apex or Flow logic that queries the Profile object for a user other than the running user, that query now silently returns empty for anyone lacking View All Profiles. Test any automation that touches Profile records against a non-admin user before the upgrade. No action needed if you don't have users who require seeing others' profile names, otherwise plan to grant View All Profiles where genuinely needed.

Not everything enforces immediately. Some items listed under the Winter '27 Release Updates node have enforcement pushed out as far as February 2027, the retirement still appears under this release cycle, but the actual date is different. Always check the Release Updates section inside your own Setup, that's the source of truth for your org, not a blog summary (including this one).

2. For Developers: Apex & LWC

Apex Symbol API (new). This is a Tooling API REST resource that returns compiler-grade metadata about your Apex types, method signatures, field types, class relationships, all of it. Salesforce is explicit that the primary use case is AI grounding: instead of an AI code assistant guessing at your org's Apex structure and hallucinating a method that doesn't exist, it can query this API and get exact, compiler-verified answers. If you're building or using AI dev tools against your org, this closes a real gap.

Apex heap limit increase, with exact numbers. Synchronous transactions go from 6 MB to 10 MB, a 66% jump. Asynchronous transactions go from 12 MB to 25 MB, a 108% jump. This is enforced globally once your org upgrades, regardless of any org-level setting. One side effect: the "Enforce the Summer '26 Apex heap limit" setting that sandbox and scratch orgs needed will no longer be required after Winter '27, since the higher limit applies everywhere. More room is good, but it's not a license to query everything, keep pulling only the fields you actually need. You can check your org's current usage anytime with Limits.getLimitHeapSize().

Real HTTP callouts in Apex integration tests (Dev Preview). Until now, Apex tests could only use mock callouts, HttpCalloutMock and friends, never a real external endpoint. Winter '27 introduces the @IntegrationTest annotation, letting you write Apex tests that call real HTTP endpoints, with lifecycle managed through @BeforeClass and @TearDown. One important constraint: only a single concurrent integration test is allowed, and it must run asynchronously, this feature doesn't support synchronous tests. That's a real gap-closer for teams whose mocks have drifted from what the actual external API returns.

Apex Symbol API (Beta). This is a Tooling API REST resource that returns compiler-grade metadata about your Apex types, method signatures, field types, class relationships, all of it. Before this API existed, there was no reliable source of truth at this level of detail, tools had to piece it together from the /completions endpoint and the SymbolTable Tooling API object. Salesforce is explicit that the primary use case is AI grounding: instead of an AI code assistant guessing at your org's Apex structure and hallucinating a method that doesn't exist, it can query this API and get exact, compiler-verified answers.

Complex JavaScript expressions in LWC templates, now GA (requires LWC API 66.0+). This started as a Spring '26 beta and graduates to General Availability in Winter '27, but it's gated behind API version 66.0 or higher, check your component's api version in the -meta.xml before expecting this to work. Previously, LWC HTML templates only supported simple property bindings, anything more complex had to live in the JS controller as a getter. Now you can write a broader subset of JavaScript expressions directly in the template.

Old way (JS getter required):
get statusClass() { return this.account.isActive ? 'active' : 'inactive'; }

New way (Winter '27, directly in template):
<div class={account.isActive ? 'active' : 'inactive'}>

That kind of inline conditional used to force a dedicated getter just to display it. Now it lives right in the markup, cleaner templates, fewer boilerplate getters cluttering your controller.

Third-party web components in LWC, now GA. The new lwc:external directive lets you drop external JavaScript components, charting libraries, date pickers, and similar third-party widgets, straight into an LWC template without wrapping them in an iframe or rewriting them as native LWC. If you've been maintaining an iframe workaround just to embed a charting library, this removes that need.

SOQL field-to-field comparison (Beta, requires API 68.0+). Until now, comparing two fields on the same record directly inside a WHERE clause wasn't possible in SOQL, you had to pull the records back and compare in Apex. Winter '27 introduces FORMULA() support in WHERE clauses to do this natively:

SELECT Id, Name FROM Invoice__c
WHERE FORMULA('Amount_To_Pay__c - Amount_Paid__c') > 0

That query pulls every invoice where the outstanding balance is positive, in one SOQL call, no client-side filtering needed. Remember it needs API version 68.0 or higher, and it's currently available only in sandboxes, Developer Editions, and scratch orgs, not yet in production, so treat it as sandbox-only until Salesforce confirms a GA date.

REST API /latest endpoint. You can now hit /services/data/latest/sobjects/Account instead of pinning a specific version number like /services/data/v66/sobjects/Account. It always resolves to whatever the newest API version is, great for exploring and testing in a dev sandbox where you always want the newest capabilities. The catch: never use /latest in production. Pin an explicit version there, because /latest changing out from under you the moment Salesforce ships a new release is exactly the kind of surprise that breaks an integration silently.

Managed package SOQL field-name conflicts, solved with explicitNamespace. If you've managed a package with its own namespace and had a custom field collide in name with a field from another installed package or the subscriber org's own fields, you know the pain, SOQL results can come back ambiguous about which field is actually which. The new explicitNamespace property on Database.QueryOptions lets you explicitly declare which namespace's field you want, so only your field gets captured, no more guessing.

Only invalid Apex classes and triggers recompile on deploy. In large orgs with thousands of Apex classes, a full recompile (triggered by things like API version bumps or org-wide settings changes) used to mean recompiling everything, valid or not. Winter '27 changes deploys to recompile only what's actually invalid. For orgs running heavy class counts, this is a real time-saver on every deploy, not just a one-time fix.

3. Agentforce & AI

Agentforce keeps moving from standalone conversational AI into core business process infrastructure. This release is less about a flashy new headline feature and more about the plumbing needed to run agents at scale in production, once you have several agents live, the problems shift from "can it work" to "can I see what it's doing and can it talk to my other agents."

MCP interoperability. Salesforce is expanding Agentforce interoperability through the Model Context Protocol, giving agents a standardized way to discover and interact with approved external tools and capabilities. Hosted MCP Servers connect MCP-compatible AI clients to your Salesforce data and automation through governed, authenticated connections. In practice, this means instead of keeping AI functionality locked inside a single application, you can build connected workflows that flow AI agent, to Salesforce, to business data, to business actions, and back, with governance controls at each hop. If you're building enterprise AI solutions that need controlled access to CRM data, this is the piece that makes it viable instead of hacky.

Agentforce Observability. As orgs deploy more agents, knowing what those agents actually did becomes just as important as building them in the first place. Winter '27's observability capabilities give admins insight into agent activity and performance, without observability, an agent is effectively a black box, you know it responded but not why it made the decision it made, or which tool calls it triggered along the way. This closes that gap with actual session-level tracing.

Expanded voice and multilingual conversation support. Agentforce Voice gets broader language coverage, so agents can hold voice conversations across more languages without needing separate configuration per language, useful for global support operations running a single agent across multiple regions instead of maintaining a fork per language.

Better agent management for multi-agent orgs. For orgs running more than one deployed agent, Winter '27 gives admins more centralized control over managing and monitoring them together, rather than jumping between separate configuration screens for each one.

Real World Example at XYZ Company:

XYZ Company runs a customer support agent and a separate order-status agent. Before Winter '27, if a support conversation needed order data, that logic had to be manually stitched together in Apex. With MCP interoperability, the support agent can now discover and call the order-status agent's exposed capability directly through a governed connection, bringing the answer back into the same conversation without a manual integration layer, and the observability tooling means if that handoff ever fails, there's an actual trace to look at instead of a support rep guessing why the agent went quiet.

4. Flow Builder

This is one of Flow's most substantial refreshes in recent releases, real quality-of-life wins for admins alongside new governance tooling for anyone managing hundreds of flows across a large org.

Launch screen flows for multiple records from list views and related lists. This is the one admins have been asking for across multiple release cycles, an IdeaExchange idea with 650+ votes finally shipping. Until now, launching a screen flow against several selected records from a list view meant building a custom button with Apex, or processing one record at a time. Winter '27 finally lets you select multiple records directly from a list view or related list, launch a screen flow, and have the selected record IDs passed automatically into an ids text collection variable inside the flow. Launch from a related list and the parent record's ID gets passed in too, so the flow knows the context it's running in.

Real World Example at XYZ Company:

Sales ops at XYZ Company needed to bulk-update the Stage field on a batch of Opportunities after a pricing review, applying the change one record at a time. Previously this needed a custom Apex button or a data loader round trip outside Salesforce. With this update, they select the records from the list view, launch a screen flow, and apply the change to all of them in one guided screen, no code, no export/import.

Flow Tags for organizing flows. You can now add one or more tags to a flow, either when you save it or later from the Automation app, and tags are grouped into Tag Categories to keep them organized. If your org has 300 flows and three admins who each quietly disagreed on a naming convention over the years, this is the fix, tag by object, by purpose, by team, however makes sense, instead of relying on inconsistent naming alone.

Split by Field Value element (new). A brand new element that branches flow logic based on a specific field's value, essentially a switch-case for Flow. Previously, replicating that logic meant stacking multiple Decision elements, one comparison after another. This collapses that into a single element, cleaner canvas, easier to read at a glance.

Toolbox filters for cleanup: Missing Description and Unused. A new filter option in the Toolbox lets you instantly see which elements in a flow are missing a description, or which variables and resources are no longer actually used anywhere in the flow. Purely aimed at reducing technical debt, useful before you hand a flow off to someone else, or before an audit.

Flow Builder UI refresh (GA, no opt-out). The redesign ships generally available, there's no toggle to decline it. Cards take less space with less rounded corners, and the element picker becomes a right-side panel with elements grouped into Decision Split, Manage Data, Flow Logic, Interaction, and Actions, with your frequently used elements promoted to the top. Display Text and Text Template resources also get a real color picker instead of a fixed palette. Since your whole team will wake up to this UI on upgrade weekend with no way to opt out, it's worth a quick heads-up in your team channel so nobody thinks something broke.

New Time screen component. Until now, capturing a time-only input (not a full date-time) meant relying on workarounds like picklists with fixed slot options, which doesn't scale and looks clunky to end users. The new Time screen component captures time input directly, with a configurable allowed range, interval, and custom error messages for values outside the range. Anywhere you were faking a time picker with a picklist, this is worth replacing.

Flow Test Mode (Beta). A new integrated testing experience directly inside Flow Builder, enabled through Process Automation Settings. Once enabled, Flow Builder splits into two modes: Build, which is the familiar builder experience with no debug option, and Test, where you actually test and debug the flow, save reusable test scenarios, mock outputs for Apex or external service calls, and version your tests over time. One important catch worth flagging clearly: declarative Flow Tests earn no credit toward the 75% deployment coverage gate, and nothing published so far confirms Test Mode coverage will count either. Treat this as a beta to evaluate in your preview sandbox, Apex remains the currency that actually counts toward deployment coverage for now.

Collapsible flow sections. Group and label sections of a larger flow, then collapse or expand them to focus only on the part you're actively working on, a real help on flows that have grown large and sprawling over several release cycles.

5. For Admins: Reports, List Views & Setup

Beyond Flow and security, admins get a genuinely practical batch this cycle, less flashy than Agentforce, but the kind of thing you'll actually use every single day.

Preview records from reports without losing your place (Beta). Previously, checking the details of a record inside a report meant opening a new tab or navigating away entirely. Now there's an eye icon in the report toolbar, click it, select a record, and it opens in a sidebar right there on the report page. Enable it under Setup, Reports and Dashboard Settings. If you're the type running 50 tabs to cross-reference report data against record detail, this alone is worth updating for.

Common Rows Only for joined reports (Beta). A new toggle for joined reports that shows only records appearing across all blocks, not just some of them. If one block shows Accounts and another shows active Opportunities, turning this on means you only see Accounts that actually have an active Opportunity, instead of every Account regardless of match. Has to be enabled by Salesforce Support first.

Keep manual shares when transferring record ownership. Previously, any manual sharing on a record was wiped the moment ownership changed. There's now a Sharing Settings option, Keep Manual Shares When Transferring Records, that preserves those shares through an ownership change instead. It's off by default and applies org-wide once enabled, not per record, so test the impact before flipping it on broadly.

More flexible inline editing in list views. Two new settings under Setup, User Interface Settings: one lets users edit any field they have access to even if it isn't on the page layout, the other enables inline editing in list views that mix multiple record types, something that used to disable inline editing entirely. Both are off by default.

Dedicated View Setup Audit Trail permission. Access to the Setup Audit Trail now has its own permission instead of requiring the much broader View Setup permission. This is a real Principle of Least Privilege win, you can finally grant someone visibility into what changed in Setup without also handing them access to the entire Setup menu.

Setup With Agentforce gets three new tricks. You can now enable or disable Dynamic Actions on mobile using natural language instead of hunting through Setup. You can describe a related list you want and have the agent build it, asking clarifying questions as needed, instead of manually working out which DMO and lookup field to use. And the Org Health and Usage dashboard now lets you mark metrics as Favorite or Hidden, with everything else auto-sorted by severity.

6. Rollout Timeline

Milestone Date
Release notes published August 19, 2026
Sandbox preview upgrade August 28-29, 2026
Production wave 1 (small instance set) August 29, 2026
Production wave 2 October 3, 2026
Production wave 3 (majority of orgs) October 10, 2026

Find your exact upgrade date under Setup, then Company Information, for your instance name, then look it up on Salesforce Trust.

Frequently Asked Questions: Salesforce Winter '27

When is the Salesforce Winter '27 release date?
Sandbox preview lands around August 28-29, 2026. Production rollout happens in three waves: August 29, October 3, and October 10, 2026, depending on your instance.

Are the Winter '27 release notes live?
Yes. Salesforce published the official Winter '27 release notes on August 19, 2026.

What is the biggest security change in Winter '27?
The retirement of the OAuth 2.0 Username-Password Flow for Connected Apps. Any integration still using grant_type=password stops getting a token on your upgrade weekend with no warning, migrate to JWT Bearer Flow before your upgrade date.

What is the new Apex heap limit in Winter '27?
Synchronous Apex heap increases from 6 MB to 10 MB, and asynchronous Apex heap increases from 12 MB to 25 MB.

Does Winter '27 break existing Apex or Flow automation?
It can, mainly through the Profile visibility enforcement. Any Apex or Flow logic querying another user's Profile record without the View All Profiles permission will start returning empty results. Test this against a non-admin user before your upgrade.

Where can I find my org's exact Winter '27 upgrade date?
Check Company Information under Setup for your instance name, then search that instance on Salesforce Trust to see the scheduled maintenance date.

Testing your org against Winter '27? Bookmark this guide and check back, we will keep it updated as more Release Updates get clarified.

Test yourself on this topic
2,244 practice MCQs across 27 quizzes — 5 quizzes free, no signup
Open Practice Zone →
RK
Written by
Rajnish Kumar
Salesforce Developer · Apex, LWC, Data Cloud & AI · Building SF Interview Pro
Connect on LinkedIn ↗
Testimonials

Real feedback from real candidates

People using SF Interview Pro to prepare for Salesforce interviews
★★★★★
"Crashed multiple interviews thanks to this. Better than the paid courses I tried."
SP
Salesforce Professional
Developer
★★★★★
"No signup, no paywall. The Apex Trigger series alone got me through two rounds."
AK
Aditya K.
Salesforce Admin
★★★★★
"LWC Zero to Hero is more practical than any paid course I found."
RM
Riya M.
LWC Developer
★★★★★
"Practice Zone MCQs matched my actual interview difficulty almost exactly."
PS
Priya S.
Business Analyst
★★★★★
"Started knowing nothing. Three weeks later I had two offers."
MK
Mohit K.
Salesforce Admin
★★★★★
"Company-wise Accenture prep was scarily accurate."
SN
Sneha N.
Consultant
★★★★★
"Explains identity resolution better than official Trailhead modules."
VR
Vikram R.
Data Cloud Consultant
★★★★★
"Free and better than the paid prep I bought earlier."
TJ
Tanvi J.
Fresher
★★★★★
"Reports and Dashboards guide made a tricky topic finally click."
KP
Karan P.
Salesforce Admin
★★★★★
"SOQL Part 2 questions came up almost word for word in my interview."
AN
Ananya N.
Developer
★★★★★
"Field Service Lightning guide is the only good free resource I found."
RD
Rohan D.
FSL Consultant