Changelog
-
The Next.js team has disclosed a critical severity vulnerability in an upstream dependency that can lead to remote code execution when
ImageResponserenders untrusted input. It is patched in 15.5.26 and 16.3.6. Applications that do not pass untrusted input intoImageResponseare 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/ogImageResponse. Critical. Patched in 15.5.26 and 16.3.6.
Impact on Netlify
Netlify sites are affected only if they use
ImageResponseand the image it generates includes untrusted input — text, or an image loaded from the request. Sites that don’t useImageResponse, 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:
next15.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
- GHSA-vcvr-r3jv-pc5j / CVE-2026-94545 — Remote Code Execution in
-
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.
-
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.
-
TypeSafe’s Jev model is now available through Netlify’s AI Gateway with zero configuration required.
Install
@typesafe-ai/sdkand 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:
choicepicks one option from a set,scorerates against ordered levels, andnoulreturns 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-latestalias, currentlyjev-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
choicehelper declares the three possible destinations up front, soanswers.team.choicecomes 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.
-
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.
-
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.
-
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.
-
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:
-
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-flareorgpt-image-2.5-sunburstto 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-flaremodel: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.