Changelog
-
Netlify now publishes a JSON schema for
netlify.toml, so you can catch configuration errors in your editor instead of in a failed deploy. The schema describes the supported properties, the values they accept, and what they do, shortening the feedback loop for discovering and fixing mistakes.To use it, add a
$schemakey at the top of yournetlify.toml:"$schema" = "https://open-api.netlify.com/netlify.schema.json"[build]command = "npm run build"publish = "dist"If you write code yourself, editors that support JSON schemas for TOML files can suggest properties as you type, show their descriptions inline, and flag invalid values as you work. In VS Code, install the Even Better TOML extension to turn on schema support for TOML files. You no longer need to keep the docs open in another tab or learn about a typo from your build log.
If an agent writes code for you, the same schema gives it a machine-readable contract for the file. Agents can check the configuration they generate against the schema and fix invalid properties or values before anything is deployed, instead of deploying, reading the failure, and trying again. That means fewer broken deploys for you to review and a faster path from a generated
netlify.tomlto one that works.Netlify ignores the
$schemakey when it builds and deploys your project. Some checks, such as whether a configured directory exists, can only happen during the build, so a file that passes the schema can still fail to build.Learn more about schema validation for
netlify.toml. -
OpenAI’s GPT Image 2.6 Sunburst (
gpt-image-2.6-sunburst) and GPT Image 2.6 Flare (gpt-image-2.6-flare) models are now available through Netlify’s AI Gateway with zero configuration required.Use the OpenAI SDK directly in your Netlify Functions without managing API keys or authentication. AI Gateway handles everything automatically.
GPT Image 2.6 Sunburst and GPT Image 2.6 Flare are also available across Scheduled Functions, Background Functions, and Edge Functions. You get automatic access to Netlify’s caching, rate limiting, and authentication infrastructure.
Learn more in the AI Gateway documentation.
-
We have updated our Self-Serve Subscription Agreement, Privacy Statement, and Acceptable Use Policy. The changes take effect on December 4, 2026.
Verified domains (Agreement section 6.6)
An organization can prove to us that it owns or controls the domain of the email address on your account. Once it has, we may show it that your account exists, its plan type, and the names, URLs, and last deploy dates of your publicly accessible sites. We never show your name, email address, username, or payment information this way, or anything from a private or password-protected site. Verification alone does not give the organization access to or control over your account.
Moving accounts into an organization (Agreement section 2.1)
If that organization also has a subscription agreement with Netlify, your account may be moved into the organization’s account. We will notify you first. If you do not change your account email within the period stated in that notice, the organization will control the account and its content.
Why
Organizations ask us which of their teams are already building on Netlify, and want to bring that work under their own account. These changes let us do that once they have proved the domain is theirs.
If you do not want this
- To stop a verified organization seeing your account, email privacy@netlify.com.
- To keep your account from being moved, change your account email to one outside the organization’s domain before the date in our notice.
If your organization has an enterprise agreement with Netlify, that agreement continues to govern your use.
Questions? Contact support.
-
Your agent can now tell us when something gets in its way.
All you need is to have the Netlify MCP Server installed or set up. If you’re using a Netlify Connector or plugin with your agent, you don’t need extra setup here.
Starting today, the Netlify MCP includes a new feedback tool that lets agents submit feedback or report issues to Netlify on their own when they run into a problem they can’t resolve.
The tool works wherever you use Netlify MCP, including our connectors and plugins. When your agent gets stuck, for example on an unclear error or a missing capability, it can report what happened instead of leaving it as a dead end in the conversation.
We combine this feedback to find where agents struggle on Netlify, then use it to improve the Agent Experience (AX). That means the problems your agent hits today are less likely to slow it down next time.
If your agent is already connected to Netlify MCP, it can use the feedback tool now. To get started, connect to the Netlify MCP server.
-
You can now check on your deploys right where you’re working. Netlify MCP gives you a visual overview of your project’s deploys in ChatGPT and other clients that support MCP Apps, so you don’t need to switch to the Netlify dashboard to see whether your latest deploy went live or why it failed.

Ask “Show recent deploys for my project” to open a card with up to five recent deploys, or ask about a specific deploy. Each deploy shows its status, branch, creation time, and any error message, with links to visit the deployed site or inspect the deploy in Netlify. Status filters help you find successful, unsuccessful, or queued deploys, and team details give you context for the project.
While any of the deploys on the card are still in progress, the card refreshes automatically, so you can watch a deploy finish without asking again. Automatic refresh stops when they finish or after 15 minutes; select Refresh to check again.
Clients without MCP Apps support receive a text summary instead.
To get started, connect to the Netlify MCP server.
-
If you do not have an Enterprise plan or Legacy Business plan, form notification emails must now belong to a member of your Netlify team.
When you set up a form notification that sends form submission details to an email address, you must use an email address connected to a member of your Netlify team. This requirement also applies when you edit an existing form notification that sends updates to an email address.
If you already have an email address set up for form notifications that isn’t connected to a member of your Netlify team, such as orders@company.com, your notifications keep working as before. You only need to meet this new requirement the next time you create or edit a form notification that uses an email. You can’t save an edit that uses an email address that isn’t connected to a member of your Netlify team.
We recommend that you either invite the owner of the address to your Netlify team so you can keep using it, or switch the recipient to an existing team member’s address before you next edit the notification.
Update: We’re building email verification for email addresses that receive form notifications. Once it ships, we’ll share the details in a changelog post.
Learn more about form notifications in our docs.
-
The Next.js team has disclosed seven security vulnerabilities in Next.js, patched on November 3, 2026 in 16.4.5 and 15.5.29. The issues span cached data leaking between users, exposure of HttpOnly cookies, cache poisoning, and cross-client response injection. Several of them do not affect apps hosted on Netlify. Here’s what Netlify customers need to know.
Summary
Some of these vulnerabilities affect Next.js sites hosted on Netlify (details in Impact on Netlify), so if you run Next.js on Netlify, we strongly recommend upgrading
nextto 16.4.5 (or 15.5.29 on 15.x) and redeploying. One issue also needs an update to the OpenNext Netlify Next.js adapter,@netlify/plugin-nextjs5.16.6. The adapter is auto-installed by default, so a redeploy picks it up. You only need to upgrade it manually if you pin its version. See What should I do? for full steps.Vulnerabilities
Vulnerability CVE Severity Affected GHSA-vc7v-qv4w-wrv8 — Cache leak across root param values in nested 'use cache'functions via delayed inner stream metadataCVE-2026-119351 Medium 16.2+ apps using Cache Components with nested use cachefunctions and root paramsGHSA-7qx7-33qx-rqx2 — SVG rejection bypass in Next.js image optimization CVE-2026-119347 Medium 15.x/16.x apps using the built-in image optimizer with images.dangerouslyAllowSVG: falseGHSA-vvgp-ww4w-46vf — Cache poisoning of shared fallback shells in Cache Components via request-supplied placeholder route params CVE-2026-119350 Medium 16.4+ apps using Cache Components with certain dynamic route shapes GHSA-mfr8-8qww-v76h — Information disclosure across root params in Next.js when a 'use cache'function is called throughunstable_cache()CVE-2026-119790 Medium 16.3+ apps using Cache Components that call the same use cachefunction directly and throughunstable_cacheGHSA-f3mh-rxg3-f5g2 — HttpOnly cookie exposure through internal response header on Next.js Edge runtime routes CVE-2026-119346 Medium Edge Route Handlers and Edge API routes that set HttpOnly cookies GHSA-rhh4-g77r-r9qj — Cross-user cache disclosure and poisoning in Next.js use cache with binary arguments CVE-2026-119349 Medium 16.x apps passing binary arguments (e.g. Blob) to a shareduse cachefunctionGHSA-pc58-hwjq-p385 — Cross-client response injection and disclosure in self-hosted Next.js applications forwarding fetched responses CVE-2026-119348 Medium Self-hosted App Router routes returning a fetched response unchanged, behind certain reverse proxies Impact on Netlify
Not affected on Netlify
- GHSA-7qx7-33qx-rqx2 (SVG rejection bypass): Netlify projects are not affected. Image optimization on Netlify is handled by Netlify Image CDN, so the vulnerable Next.js image optimizer code is not used. Netlify Image CDN serves SVG images with a Content Security Policy that prevents scripts from running.
- GHSA-mfr8-8qww-v76h (
use cacheleak viaunstable_cache): Netlify projects are not affected. This leak requires two requests to share a single server process’s in-progress cache fill. On Netlify’s serverless architecture each request is served by its own isolated invocation, so the required overlap cannot occur. - GHSA-pc58-hwjq-p385 (cross-client response injection): Netlify projects are not affected. Netlify’s infrastructure frames responses itself, so a response with an incorrect length from your app cannot affect responses to other requests. However, on unpatched versions, a Route Handler that returns a fetched response unchanged can send a response that browsers fail to decode. Upgrading Next.js resolves it.
Information disclosure
- GHSA-vc7v-qv4w-wrv8 (nested
use cacheleak) and GHSA-rhh4-g77r-r9qj (binaryuse cachearguments): under the conditions in each advisory, content cached for one user or root param value (e.g. a locale or tenant) can be served to another. On Netlify, apps that meet those conditions are affected. Upgrading Next.js resolves both. - GHSA-f3mh-rxg3-f5g2 (HttpOnly cookies in Edge responses): exploitation requires an attacker to already be able to run JavaScript on your site’s origin. It can then read cookies marked HttpOnly. On Netlify, this affects Edge Route Handlers and Edge API routes, and also cookies set in Next.js Middleware. The Netlify adapter update alone covers all of these. Upgrading Next.js fixes Edge Route Handlers and Edge API routes. The Middleware case is fixed in the Netlify adapter, so you also need adapter 5.16.6. See What should I do?.
Cache poisoning and availability
GHSA-vvgp-ww4w-46vf (cache poisoning of shared fallback shells): affects Next.js 16.4+ apps using Cache Components with the route shape described in the advisory. A single request can cause valid pages to return a cached 404 error. On Netlify, apps that meet those conditions are affected. Upgrading Next.js resolves it.
What should I do?
We strongly recommend upgrading as soon as possible:
- Upgrade
nextto 16.4.5 (or 15.5.29 if you’re on 15.x) and redeploy.
The OpenNext Netlify Next.js adapter that runs your app must also be updated to v5.16.6:
- Auto-installed adapter (default): redeploy — the update is applied automatically.
- Manually installed adapter: upgrade
@netlify/plugin-nextjsto v5.16.6 and redeploy. Upgrading Next.js alone does not fix the Middleware case on Netlify. We recommend not pinning the adapter version so future fixes ship automatically.
A new deploy clears content cached by previous deploys in the same deploy context, including any entries affected by these issues. A production deploy does not clear the cache for branch deploys or Deploy Previews (and vice-versa). Purge affected entries in those contexts separately, purge the whole site or delete those deploys. If you’ve opted responses out of automatic invalidation with the
Netlify-Cache-IDheader, those stay cached after a deploy, so purge them on demand.Note that any publicly available deploy previews and branch deploys may remain vulnerable until they are automatically deleted. Consider deleting these deploys manually.
Resources
-
You can now power your Netlify Agent Runners runs with Meta’s Muse family of AI models. Choose Muse for your next run and pick the model that fits the task, from Meta’s most capable Muse Wonder 1.0 for complex software engineering and long-horizon agentic work to Muse Spark 1.3, tuned for agentic workflows and coding.
To use a Muse model, open the agent configuration for your run and select Muse as your agent. Then choose a specific model: Muse Wonder 1.0, Muse Spark 1.3, or Muse Spark 1.2. Or you can leave it on Auto to let the agent pick a model for each run. Each model shows its estimated credit cost so you can weigh capability against spend before you start.

Muse joins Claude, Codex, Antigravity, and OpenCode in the agent configuration, so you’re never locked into a single provider and can match the model to the work at hand. You can start using Muse models today with no additional setup if you have a Credit-based pricing plan on Netlify, including our free plan.
Learn more in the Agent Runners documentation.
-
OpenAI’s GPT-6.1 Terra model is now available through Netlify’s AI Gateway and Agent Runners with zero configuration required.
Use the OpenAI SDK directly in your Netlify Functions without managing API keys or authentication. AI Gateway handles everything automatically. Here’s an example using GPT-6.1 Terra with the Responses API:
import OpenAI from 'openai';export default async () => {const openai = new OpenAI();const response = await openai.responses.create({model: 'gpt-6.1-terra',input: 'Give a concise explanation of how AI works.',});return Response.json(response);};GPT-6.1 Terra is also available across Scheduled Functions, Background Functions, and Edge Functions. You get automatic access to Netlify’s caching, rate limiting, and authentication infrastructure.
Learn more in the AI Gateway documentation and Agent Runners documentation.