---
name: Changelog
slug: netlify-changelog
type: feed
source_url: https://www.netlify.com/changelog/
organization: Netlify
organization_slug: netlify
total_releases: 225
latest_date: 2026-09-24
last_updated: 2026-09-24
tracking_since: 2024-01-17
canonical: https://releases.sh/netlify/netlify-changelog
organization_url: https://releases.sh/netlify
---

<Release date="September 24, 2026" published="2026-09-24T00:00:00.000Z" url="https://www.netlify.com/changelog/2026-09-24-new-activity-feed/">
## New project activity feed

As part of our ongoing work to simplify the Netlify dashboard, we’ve added an activity feed to the project overview page. It’s available on all plans and adapts to how your project is set up. Now when you open a project, the activity feed gives you a snapshot of your project's latest updates, with quick access to:

- Production versions of your project, including the version last published
- Preview versions of your project
- Agent runs, so you can see what agents are working on and what you and your teammates have prompted

Project activity feed in the Netlify dashboard listing recent activity newest first, with filters for All, Production, Previews, and Agent runs. Entries include an in-progress agent run, a published production deploy, and two branch deploys with Preview links. This means that instead of tracking down Production deploy links, Deploy Preview links, branch deploy links, and your agent runs list separately, you can now see where your project stands at a glance in one single spot. The feed also suggests next steps to help you get started. It's one of several dashboard improvements we're gradually rolling out to simplify the Netlify experience, so you may have spotted a few already, with more to come.
</Release>

<Release date="September 22, 2026" published="2026-09-22T00:00:00.000Z" url="https://www.netlify.com/changelog/gpt-6-sol-luna-ai-gateway-agent-runners/">
## GPT-6 Sol and GPT-6 Luna now available in AI Gateway and Agent Runners

OpenAI’s GPT-6 Sol and GPT-6 Luna models are 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 Sol with the Responses API:

import OpenAI from 'openai';

export default async () => {
    const openai = new OpenAI();

    const response = await openai.responses.create({
        model: 'gpt-6-sol',
        input: 'Give a concise explanation of how AI works.',
    });

    return Response.json(response);
};

GPT-6 Sol and GPT-6 Luna 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 and Agent Runners documentation.
</Release>

<Release version="5.5" date="September 22, 2026" published="2026-09-22T00:00:00.000Z" url="https://www.netlify.com/changelog/claude-opus-5-5-ai-gateway-agent-runners/">
## Claude Opus 5.5 now available in AI Gateway and Agent Runners

Anthropic’s Claude Opus 5.5 model is now available through Netlify’s AI Gateway and Agent Runners with zero configuration required.

Use the Anthropic SDK directly in your Netlify Functions without managing API keys or authentication. AI Gateway handles everything automatically. Here’s an example using Claude Opus 5.5:

import Anthropic from '@anthropic-ai/sdk';

export default async () => {
  const anthropic = new Anthropic();

  const response = await anthropic.messages.create({
    model: 'claude-opus-5-5',
    max_tokens: 4096,
    output_config: { effort: 'medium' },
    messages: [
      {
        role: 'user',
        content: 'How can AI improve my coding?',
      },
    ],
  });

  return new Response(JSON.stringify(response), {
    headers: { 'Content-Type': 'application/json' },
  });
};

Claude Opus 5.5 is also available across Background Functions, Scheduled 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.
</Release>

<Release date="September 22, 2026" published="2026-09-22T00:00:00.000Z" url="https://www.netlify.com/changelog/2026-09-22-nextjs-imageresponse-vulnerability/">
## Security Update: Critical Next.js vulnerability in ImageResponse

The Next.js team has disclosed a critical severity vulnerability in an upstream dependency that can lead to remote code execution when ImageResponse renders untrusted input. It is patched in 15.5.26 and 16.3.6. Applications that do not pass untrusted input into ImageResponse are not expected to be affected. Here’s what Netlify customers need to know. Vulnerabilities

- GHSA-vcvr-r3jv-pc5j / CVE-2026-94545 — Remote Code Execution in next/og ImageResponse. Critical. Patched in 15.5.26 and 16.3.6.

Impact on Netlify Netlify sites are affected only if they use ImageResponse and the image it generates includes untrusted input — text, or an image loaded from the request. Sites that don’t use ImageResponse, or that only render trusted content through it, are not affected. For sites that do, the impact is limited to a crashed function invocation, not code execution. On Netlify, this has minimal impact: our autoscaling serverless architecture means that a malicious request resulting in a crashed function does not affect other requests. However, active exploitation could increase your function costs. What should I do? We strongly recommend upgrading as soon as possible to patched releases:

- next 15.5.26 or later, or 16.3.6 or later, then redeploy.

Until you can upgrade, do not place untrusted input inside elements passed to ImageResponse. Escape it as XML before rendering, or keep it out of the generated image entirely. Note that any publicly available deploy previews and branch deploys may remain vulnerable until they are automatically deleted. Consider deleting these deploys manually. Resources

- Next.js security advisory (GHSA-vcvr-r3jv-pc5j)
- Next.js Security Update for a Critical Upstream Issue
- Next.js security advisories
</Release>

<Release date="September 17, 2026" published="2026-09-17T00:00:00.000Z" url="https://www.netlify.com/changelog/typesafe-jev-ai-gateway/">
## TypeSafe Jev now available in AI Gateway

TypeSafe’s Jev model is now available through Netlify’s AI Gateway with zero configuration required.

Install @typesafe-ai/sdk and use it directly in your Netlify Functions — no API keys to create, no provider config, no base URLs to wire up. AI Gateway handles credentials automatically, and usage is billed to your Netlify credits like every other model in the gateway.

Jev is TypeSafe’s first “System One” model, and it works differently from the chat models you’re used to. Instead of generating prose, you send it your program state along with a set of typed questions, and it returns typed answers with calibrated probabilities. There are three question primitives: choice picks one option from a set, score rates against ordered levels, and noul returns a yes/no probability between 0 and 1. Answers are constrained to the options you declare, so there’s no JSON parsing or schema coercion on your end.

Every question in a request is evaluated in parallel against the same state, which means batching a dozen questions into one call costs little more than asking one. State and questions share a budget of roughly 32,000 tokens — about 150,000 characters of English text — and TypeSafe reports end-to-end response times of 70–500ms, making Jev a good fit for classification, routing, extraction, scoring, and guardrail checks on the request path. The SDK defaults to the jev-latest alias, currently jev-1.13.0, and requires Node.js 20 or newer.

Here’s a Function that routes an incoming contact form submission to sales, support, or spam:

import type { Config, Context } from "@netlify/functions";
import { choice, TypeSafeClient } from "@typesafe-ai/sdk";

export default async (req: Request, context: Context) => {
  const client = new TypeSafeClient();

  const { answers } = await client.systemOne({
    state: await req.json(),
    questions: {
      team: choice("Route this contact form submission", {
        sales: null,
        support: null,
        spam: null,
      }),
    },
  });

  return Response.json({
    team: answers.team.choice,
    requestId: context.requestId,
  });
};

export const config: Config = { path: "/api/route", method: "POST" };

The choice helper declares the three possible destinations up front, so answers.team.choice comes back as one of them and nothing else, which makes the response safe to branch on directly. Each answer also carries a probability distribution and a confidence value, so you can act on high-confidence decisions and escalate the rest to a human.

Learn more in the AI Gateway documentation and the TypeSafe documentation.
</Release>

<Release version="4.1" date="September 15, 2026" published="2026-09-15T00:00:00.000Z" url="https://www.netlify.com/changelog/deepseek-v4-1-flash-ai-gateway/">
## DeepSeek V4.1 Flash now available in AI Gateway

DeepSeek V4.1 Flash is now available through OpenRouter on Netlify’s AI Gateway with zero configuration required.

Use the OpenRouter SDK directly in your Netlify Functions without managing API keys or authentication. AI Gateway handles everything automatically. Here’s an example using DeepSeek V4.1 Flash:

import { OpenRouter } from '@openrouter/sdk';

export default async () => {
    const client = new OpenRouter();

    const response = await client.chat.send({
        chatRequest: {
            model: 'deepseek/deepseek-v4.1-flash',
            messages: [{ role: 'user', content: 'How can AI improve my coding?' }],
            maxTokens: 400,
        },
    });

    return Response.json(response);
};

DeepSeek V4.1 Flash is available across Background Functions, Scheduled Functions, and Edge Functions. You get automatic access to Netlify’s rate limiting and authentication infrastructure.

Learn more in the AI Gateway documentation and OpenRouter documentation.
</Release>

<Release date="September 14, 2026" published="2026-09-14T00:00:00.000Z" url="https://www.netlify.com/changelog/2026-09-14-agent-runners-wrap-up-before-credit-limit/">
## Agent Runners: Get a working result when low on credits

Agent Runners are now better at completing their work when a run has less credits remaining than the task requires.

If you are close to running our of credits during a run, the agent will start focusing on delivering the most useful result it can with the credits it has left. It finishes work already in progress, leaves the project in a working state, and provides a clear summary of what it completed.

Previously, an ambitious task could end abruptly before the agent wrapped up, leaving partial changes and little explanation. Now, you’re more likely to get a working result you can use right away, or a solid, clearly documented starting point for your next run.

This improvement applies automatically to every agent and model available in Agent Runners. There’s nothing to enable or configure.
Learn more in Make changes with Agent Runners and how credits work.
</Release>

<Release date="September 14, 2026" published="2026-09-14T00:00:00.000Z" url="https://www.netlify.com/changelog/2026-09-11-agent-runners-wrap-up-before-credit-limit/">
## Get a working result even when a run runs low on credits

Agent Runners are now better at completing their work when a run has less credits remaining than the task requires.

If you are close to running our of credits during a run, the agent will start focusing on delivering the most useful result it can with the credits it has left. It finishes work already in progress, leaves the project in a working state, and provides a clear summary of what it completed.

Previously, an ambitious task could end abruptly before the agent wrapped up, leaving partial changes and little explanation. Now, you’re more likely to get a working result you can use right away, or a solid, clearly documented starting point for your next run.

This improvement applies automatically to every agent and model available in Agent Runners. There’s nothing to enable or configure.
Learn more in Make changes with Agent Runners and how credits work.
</Release>

<Release date="September 11, 2026" published="2026-09-11T00:00:00.000Z" url="https://www.netlify.com/changelog/2026-09-11-social-media-share-buttons/">
## Social media share buttons

Sharing your Netlify projects is now faster with built-in social media share buttons.

When you’re ready to show off what you’ve built, you can share your project directly to X, LinkedIn, Reddit, Facebook, or Bluesky. Choose your preferred platform and Netlify opens a ready-to-publish post with your project link, so you can reach your community with fewer steps.
</Release>

<Release date="September 10, 2026" published="2026-09-10T00:00:00.000Z" url="https://www.netlify.com/changelog/2026-09-10-cursor-origin-git-provider/">
## Cursor Origin now supported as a Git provider

You can now connect repositories hosted on Cursor Origin to Netlify, so every Git push deploys an updated version of your project at a preview URL or a production URL. Netlify supports Cursor Origin with continuous deployment, meaning that once your codebase’s repo is connected, Netlify will automatically:

- Build and deploy your project with every git push
- Build Deploy Previews for your pull requests
- Send deploy notifications to your pull request comments on Cursor Origin so you can check preview URLs there

Requirements Cursor Origin uses OAuth authentication, so connecting a repo works much like our existing Azure DevOps support: the Cursor user who authenticates needs access to the Cursor Origin codebase that owns the repository. To use Cursor Origin with Netlify, you do not need a specific pricing plan with Netlify. Support scope Note that features outside of continuous deployment, such as Agent Runners and the Netlify Drawer, are not supported at this time. Get started To learn more, check out these docs:

- Get started Cursor Origin
- Link your repo to your Netlify project
- Deploy a new project to Netlify from your Cursor Origin repo
</Release>

<Release version="2.5" date="September 9, 2026" published="2026-09-09T00:00:00.000Z" url="https://www.netlify.com/changelog/chatgpt-images-2-5-ai-gateway/">
## ChatGPT Images 2.5 now available in AI Gateway and Agent Runners

OpenAI’s ChatGPT Images 2.5 models are now available through Netlify’s AI Gateway and Agent Runners with zero configuration required. Use gpt-image-2.5-flare or gpt-image-2.5-sunburst to generate images for your applications.

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 the gpt-image-2.5-flare model:

import OpenAI from 'openai';
const ai = new OpenAI();

export default async (req, context) => {
    const response = await ai.images.generate({
        model: 'gpt-image-2.5-flare',
        prompt: 'A golden retriever working at a laptop in a sunny startup office',
        size: '1024x1024',
        quality: 'low',
        output_format: 'jpeg',
        output_compression: 80
    });

    const imageBuffer = Buffer.from(response.data[0].b64_json, 'base64');

    return new Response(imageBuffer, {
        status: 200,
        headers: {
            'content-type': 'image/jpeg',
            'cache-control': 'no-store'
        }
    });
};

Both ChatGPT Images 2.5 models are available across standard Functions, Background Functions, Scheduled Functions, Edge Functions, and Agent Runners. You get automatic access to Netlify’s caching, rate limiting, and authentication infrastructure.

Learn more in the AI Gateway documentation and Agent Runners documentation.
</Release>

<Release date="September 4, 2026" published="2026-09-04T00:00:00.000Z" url="https://www.netlify.com/changelog/gpt-6-astra-ai-gateway-agent-runners/">
## GPT-6 Astra now available in AI Gateway and Agent Runners

OpenAI’s GPT-6 Astra 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 Astra with the Responses API:

import OpenAI from 'openai';

export default async () => {
  const openai = new OpenAI();

  const response = await openai.responses.create({
    model: 'gpt-6-astra',
    input: 'Give a concise explanation of how AI works.',
  });

  return Response.json(response);
};

GPT-6 Astra is also available across Background Functions, Scheduled 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.
</Release>

<Release date="September 4, 2026" published="2026-09-04T00:00:00.000Z" url="https://www.netlify.com/changelog/2026-09-04-agent-run-statuses-project-scoping/">
## Agent Runners now use smarter scoping for new projects

Agent Runners can now scope ambitious prompts for new projects to create a partial working project and provide next steps within the available credit budget.

Previously, a brand new project could use up its credit budget before the agent finished for ambitious prompts, leaving the run marked Cancelled partway through. 

Now, your agent scopes the work more intelligently. It builds out part of the project and shares a plan for next steps, so you can preview a working version within your new project credit budget instead of the run stalling out.

Learn more in Make changes with Agent Runners.
</Release>

<Release version="3.8" date="September 2, 2026" published="2026-09-02T00:00:00.000Z" url="https://www.netlify.com/changelog/gemini-3-8-flash-ai-gateway-agent-runners/">
## Google Gemini 3.8 Flash now available in AI Gateway and Agent Runners

Google’s Gemini 3.8 Flash model is now available through Netlify’s AI Gateway and Agent Runners with zero configuration required.

Use the Google GenAI SDK directly in your Netlify Functions without managing API keys or authentication. The AI Gateway handles everything automatically. Here’s an example using the Gemini 3.8 Flash model:

import { GoogleGenAI } from '@google/genai';

export default async () => {
    const ai = new GoogleGenAI({});

    const response = await ai.models.generateContent({
        model: 'gemini-3.8-flash',
        contents: 'How can AI improve my coding?'
    });

    return Response.json(response);
};

Gemini 3.8 Flash is available for all Function types and Agent Runners. You get automatic access to Netlify’s caching, rate limiting, and authentication infrastructure.

Learn more in the AI Gateway documentation and Agent Runners documentation.
</Release>

<Release version="5.1" date="September 1, 2026" published="2026-09-01T00:00:00.000Z" url="https://www.netlify.com/changelog/claude-fable-5-1-ai-gateway-agent-runners/">
## Claude Fable 5.1 now available in AI Gateway and Agent Runners

Anthropic’s Claude Fable 5.1 model is now available through Netlify’s AI Gateway and Agent Runners with zero configuration required.

Use the Anthropic SDK directly in your Netlify Functions without managing API keys or authentication. The AI Gateway handles everything automatically. Here’s an example using the Claude Fable 5.1 model:

import Anthropic from '@anthropic-ai/sdk';

export default async () => {
    const anthropic = new Anthropic();

    const response = await anthropic.messages.create({
        model: 'claude-fable-5-1',
        max_tokens: 4096,
        messages: [
            {
                role: 'user',
                content: 'How can AI improve my coding?'
            }
        ]
    });

    return new Response(JSON.stringify(response), {
        headers: { 'Content-Type': 'application/json' }
    });
};

Claude Fable 5.1 is available for all Function types and Agent Runners. You get automatic access to Netlify’s caching, rate limiting, and authentication infrastructure.

Learn more in the AI Gateway documentation and Agent Runners documentation.
</Release>

<Release date="August 27, 2026" published="2026-08-27T00:00:00.000Z" url="https://www.netlify.com/changelog/2026-08-27-github-stacked-pull-request-deploy-previews/">
## GitHub stacked pull requests now create Deploy Previews

Netlify now creates a Deploy Preview for every pull request in a GitHub stack when the stack ultimately targets your project’s production branch (usually main). You can review and share each layer of a larger change before it merges. A GitHub stacked pull request showing a successful Netlify Deploy Preview check GitHub Stacked Pull Requests help teams split a larger update into smaller, connected pull requests. Each pull request can focus on one step of the work, making changes easier to review and merge in sequence. Previously, Netlify only created a Deploy Preview for the first pull request in your stack while additional pull requests in the stack didn't get their own Deploy Previews. Now, every pull request in the stack gets its own Deploy Preview. There’s nothing new to configure. Create and update your stack in GitHub as usual, and Netlify automatically adds a Deploy Preview to each eligible pull request. Learn More

- Get an overview of GitHub Stacked Pull Requests
- Follow GitHub’s quick start for creating a stack
</Release>

<Release date="August 25, 2026" published="2026-08-25T00:00:00.000Z" url="https://www.netlify.com/changelog/2026-08-25-nextjs-security-vulnerabilities/">
## Security Update: Two critical Next.js vulnerabilities

The Next.js team has disclosed two critical severity vulnerabilities, both of which can lead to unauthenticated remote code execution. Both are patched in 15.5.24 and 16.3.3. Netlify-hosted sites are not affected by the Windows issue, and do not run the Next.js code path affected by the image issue. We still recommend upgrading. Here’s what Netlify customers need to know. Vulnerabilities Vulnerability: CVE-2026-75604 / GHSA-p293-qw3h-jr36 — Unauthenticated remote code execution on Windows-hosted servers Severity: Critical Affected versions: ≥13.4.0 <15.5.24, ≥16.0.0 <16.3.3 Vulnerability: GHSA-2xp9-vwfh-vxw4 — Unauthenticated remote code execution in Image Optimization API when AVIF files are used Severity: Critical Affected versions: ≥10.0.0 <15.5.24, ≥16.0.0 <16.3.3 Impact on Netlify Unauthenticated remote code execution on Windows-hosted servers CVE-2026-75604 / GHSA-p293-qw3h-jr36: Netlify sites are not affected. The issue affects Windows-hosted deployments only, and Netlify Functions and Edge Functions run on Linux. Unauthenticated remote code execution in Image Optimization API when AVIF files are used GHSA-2xp9-vwfh-vxw4: Netlify sites do not run the affected Next.js code path. Requests to /\_next/image are rewritten to Netlify Image CDN at our edge, so the Next.js Image Optimization API is never invoked. What should I do? Netlify sites are not affected by the Windows issue and do not run the affected image code path, but we always strongly recommend upgrading as soon as possible to patched releases:

- next 15.5.24 or later, or 16.3.3 or later, then redeploy.

Resources

- Next.js August 2026 security release
- Next.js security advisories
</Release>

<Release date="August 19, 2026" published="2026-08-19T00:00:00.000Z" url="https://www.netlify.com/changelog/2026-08-19-agent-runners-clarifying-questions/">
## Agent Runners can now ask clarifying questions

Agent Runners can now ask you clarifying questions before they start building. When a few details could significantly improve the result, the agent pauses and asks instead of guessing.

The clarifying questions UI in an Agent Runners session, asking: What should the tracker dashboard keep track of?

How clarifying questions work

Say you start with something broad, like “Build a tracker dashboard.” Previously the agent had to make every call for you: what the dashboard should track, whether entries should be editable and saved to a database or live in the code as a read-only placeholder, whether the look should be dark and high-contrast or light, clean, and editorial. Now it can ask, and you can answer directly where the agent run works.

Answer, skip, or add your own context

Answering questions is always optional so you can answer the ones you have opinions about and skip the rest. Or you can skip all questions and let the agent decide. Finally, you can always add context in your own words alongside your answers. 

In our testing, even a few quick answers make the first build noticeably sharper and saves credits you’d otherwise spend on course corrections.

Once you answer, the run continues as usual: the agent writes the code, works with Netlify’s platform features, and creates a Deploy Preview you can review and iterate on.

Learn more

Clarifying questions work with every agent and model available in Agent Runners.

Try it out and see how to use Agent Runners in our docs.
</Release>

<Release date="August 19, 2026" published="2026-08-19T00:00:00.000Z" url="https://www.netlify.com/changelog/2026-08-19-pre-launch-toolbar-and-powered-by-netlify-badge/">
## Pre-launch toolbar and the Powered by Netlify badge

Private projects on Netlify will now show a pre-launch toolbar so you can share your project for review and run audits using AI checks before you make your project public. Private projects and agent runs require a Credit pricing plan. If you're on a Legacy pricing plan, you will not have access to the pre-launch toolbar. Audits consume credits like any other agent run. For public projects, new projects created on a Free plan on or after August 19, 2026 show a Powered by Netlify badge to all visitors. The badge configurable for each project through your project configuration settings. To turn the Netlify badge on or off for all visitors of your site:

1. Go to Project configuration > General > Powered by Netlify badge and turn it on or off.

Additionally, any visitor can hide the badge for themselves, and that choice is stored locally on their browser and never reaches Netlify. All projects created before August 19, 2026 have the badge off by default. Users on a Credit-based Personal and Pro plans can also turn the badge on or off per-project. For these plans, the badge is always off by default. Release timeline We’re rolling both overlays out gradually over the next few weeks, so a project that qualifies may not have them yet. Learn more about the pre-launch toolbar and the Powered by Netlify badge in the Netlify documentation.
</Release>

<Release version="3.7" date="August 13, 2026" published="2026-08-13T00:00:00.000Z" url="https://www.netlify.com/changelog/gemini-3-7-flash-ai-gateway-agent-runners/">
## Google Gemini 3.7 Flash now available in AI Gateway and Agent Runners

Google’s Gemini 3.7 Flash model is now available through Netlify’s AI Gateway and Agent Runners with zero configuration required.

Use the Google GenAI SDK directly in your Netlify Functions without managing API keys or authentication. The AI Gateway handles everything automatically. Here’s an example using the Gemini 3.7 Flash model:

import { GoogleGenAI } from '@google/genai';

export default async () => {
    const ai = new GoogleGenAI({});

    const response = await ai.models.generateContent({
        model: 'gemini-3.7-flash',
        contents: 'How can AI improve my coding?'
    });

    return Response.json(response);
};

Gemini 3.7 Flash is available for all Function types and Agent Runners. You get automatic access to Netlify’s caching, rate limiting, and authentication infrastructure.

Learn more in the AI Gateway documentation and Agent Runners documentation.
</Release>

<Pagination cursor="2026-08-13T00:00:00.000Z|2026-08-13T20:59:11.755Z|rel_7IDkJ5Nhy6LGW8PBrh-ow" next="https://releases.sh/netlify/netlify-changelog.md?cursor=2026-08-13T00%3A00%3A00.000Z%7C2026-08-13T20%3A59%3A11.755Z%7Crel_7IDkJ5Nhy6LGW8PBrh-ow&limit=20" />
