Changelog
-
Google’s Gemini 3 Flash Preview is now available through AI Gateway. You can call this model from Netlify Functions without configuring API keys; the AI Gateway provides the connection to Google for you.
Example usage in a Function:
import { GoogleGenAI } from '@google/genai';export default async (request: Request, context: Context) => {const ai = new GoogleGenAI({});const response = await ai.models.generateContent({model: 'gemini-3-flash-preview',contents: 'How does AI work?'});return new Response(JSON.stringify({ answer: response.text }), {headers: { 'Content-Type': 'application/json' }});};This model works across any function type and is compatible with other Netlify primitives such as caching and rate limiting, giving you control over request behavior across your site.
See the AI Gateway documentation for details.
-
OpenAI’s GPT-image-1.5 is now available through AI Gateway. You can call this model from Netlify Functions without configuring API keys; the AI Gateway provides the connection to OpenAI for you.
Example usage in a Function:
import OpenAI from 'openai';const ai = new OpenAI();export default async (req, context) => {const response = await ai.images.generate({model: 'gpt-image-1.5',prompt: 'Generate a realistic image of a golden retriever working in an office',n: 1,size: '1024x1024',quality: 'low',output_format: 'jpeg',output_compression: 80});const imageBase64 = response.data[0].b64_json;const imageBuffer = Uint8Array.from(atob(imageBase64), c => c.charCodeAt(0));return new Response(imageBuffer, {status: 200,headers: {'content-type': 'image/jpeg','cache-control': 'no-store'}});}This model works across any function type and is compatible with other Netlify primitives such as caching and rate limiting, giving you control over request behavior across your site.
See the AI Gateway documentation for details.
-
AI Gateway is now generally available (GA) for all Netlify users. Build AI-powered apps with confidence using our fully managed gateway that handles AI model keys, setup, and monitoring automatically.
For a deeper dive into AI Gateway capabilities, check out our latest blog post.
For a video overview of how the AI Gateway works with a fun demo project, check out our AI Gateway gameshow demo.
For other AI Gateway example projects, check out these videos:
Learn more in our AI Gateway documentation.
Availability
To use AI Gateway, you must have a Credit-based plan or an enabled Enterprise plan.
Learn more about pricing for AI features and monitoring their usage.
To request access to the AI Gateway for an Enterprise plan, reach out to your Netlify account manager.
-
Netlify Observability offers real-time visibility into your project’s production performance and resource usage.
Monitor requests, bandwidth, runtime behavior, functions, and Edge Functions to understand how your web project operates in production, fix errors, and optimize web performance.
Get a deep feature tour from our Observability blog post.
Try Observability
From your project overview, select Logs & metrics > Observability. To expand details for a request, select a request.

Availability
Observability is available for Credit-based plans and Enterprise plans. If you have a Legacy pricing plan, you can get a sneak peek at your observability data by checking out the widget from your Project Overview.

Credit-based plan Time filter available Free Past 24 hours Personal Past 7 days Pro Past 30 days Enterprise plan Time filter available Any opted-in Enterprise plan Past 30 days Note that if you have a Credit-based plan or have Observability enabled for an Enterprise plan, then Function Metrics will no longer be available to you as it is replaced by Observability.
If you do not have Observability, then Function Metrics will continue to be available to you.
Learn more in our Function metrics docs.
Other monitoring updates
As part of monitoring updates, we have also updated the names of some of our monitoring features.
Old name New name Real User Metrics Real User Monitoring Project analytics (formerly site analytics) Web analytics Further info
To learn more, check out Observability docs.
-
The Prerender extension is now generally available (GA) for all Netlify users. The legacy prerendering feature is now deprecated with limited support.
Once set up, this extension automatically serves pre-rendered HTML to crawlers, agents, and preview services, while regular site visitors continue to receive your standard JavaScript application.
Prerendering ensures your app’s content is discoverable to AI agents, SEO crawlers, and preview services, such as for social media previews.
Prerendering is designed for apps that use JavaScript to generate page content instead of serving most or all content in HTML, such as for single-page applications (SPAs) built with frameworks like React, Vue, or Angular.
For a deeper dive on prerendering and the new extension, check out our latest blog post.
Does my project need prerendering?
Not sure if your web project needs prerendering?
Find out using our prerendering checker tool and your project URL.
Set up the Prerender extension
To try out the Prerender extension, install it from the Netlify extensions library.
If you have the legacy prerendering feature enabled, disable it in your site’s settings.
Learn more about setting up this extension from our Prerender extension documentation.
Deprecating the legacy prerendering feature
The legacy built-in prerendering feature is now deprecated and will gradually shut down and stop working.
Here is the deprecation timeline:
Date Impacted plans January 20, 2026 The feature will be disabled for customers on Free plans (either legacy or credit-based) or the legacy Starter plan. February 17, 2026 The feature will be disabled for customers on the Personal plan or the Pro plans (legacy or credit-based) March 17, 2026 The feature will be disabled for Enterprise and all other specialized plans. Note: Some customers on paid plans have a customized setup in which the legacy feature acted as a proxy to external prerendering vendors. Please reach out to Netlify Support for help on your next options.
-
Update (2025-12-12 00:41 UTC): The React and Next.js patches initially published on Dec. 11 at 21:10 incompletely addressed the vulnerabilities. A follow-up CVE was issued and follow-up patches have been released by the React and Next.js teams. All versions below have been updated accordingly. If you upgraded during this 3.5-hour window, please upgrade again.
Following last week’s critical vulnerability in React and Next.js, two additional vulnerabilities are being publicly disclosed today:
- CVE-2025-55184: Denial of Service (CVSS 7.5/10, high severity)
- A malicious actor can send a request that makes the Next.js server hang.
- On Netlify, this type of request gets interrupted by a timeout after 30–40 seconds. As Next.js on Netlify runs on automatically scaled serverless functions, there is no risk of impact to legitimate requests. However, this can have impacts to your monthly bill due to increased bandwidth and function CPU usage.
- CVE-2025-55183: Leaking Server Functions (CVSS 5.3/10, medium severity)
- A malicious actor can send a request that leaks the compiled body of a given Server Function/Action.
Impact
In both cases, all Next.js sites using App Router are vulnerable. This includes all v14 releases up to and including 14.2.33, all v15 releases up to and including 15.5.7, all v16 releases up to and including 16.0.8, and v13.4+ if opted into the
experimental.serverActionsflag. (In the case of CVE-2025-55183, only sites actually using any Server Actions are vulnerable.)We have collaborated with the React and Next.js teams to roll out mitigations to the Netlify network in advance of public disclosure.
However, as we’ve seen in the past week, malicious actors around the world are constantly working to quickly identify novel ways to exploit newly published vulnerabilities. The best protection is to upgrade.
What should I do?
Upgrade as soon as possible. Both vulnerabilities are patched in all these releases:
- Next.js 14.2.35
- Next.js 15.0.7, 15.1.11, 15.2.8, 15.3.8, 15.4.10, or 15.5.9
- Next.js 16.0.10
As Next.js 13 has been unsupported for over a year, the Next.js team has chosen not to patch it. If your site uses Next.js 13.4+ and has opted in to the
experimental.serverActionsflag, we strongly recommend upgrading to 14.2.34 or later as soon as possible (note: v14 is also technically unsupported).To be abundantly clear: if you have upgraded to address last week’s CVE, you must upgrade once again.
Other RSC frameworks
These are React vulnerabilities, in the React Server Functions protocol present in all versions of React 19 up to and including 19.2.1.
The following RSC implementations are therefore vulnerable:
waku,@parcel/rsc,@vitejs/plugin-rsc,react-server-dom-parcel,react-server-dom-webpack,react-server-dom-turbopack, and the React Router 7 RSC preview.If you are using any of these, upgrade it to the latest version and upgrade
reactto 19.0.3, 19.1.4, or 19.2.3 as soon as possible.Resources
We are working continually with the React and Next.js teams and are committed to keeping your sites secure on Netlify.
This post was last updated on 2025-12-11 at 21:15 UTC
- CVE-2025-55184: Denial of Service (CVSS 7.5/10, high severity)
-
OpenAI’s GPT-5.2 and GPT-5.2-Pro are now available through AI Gateway and Agent Runners. You can call these models from Netlify Functions without configuring API keys; the AI Gateway provides the connection to OpenAI for you.
Example usage in a Function:
import { OpenAI } from "openai";export default async () => {const openai = new OpenAI();const response = await openai.chat.completions.create({model: "gpt-5.2",messages: [{ role: "user", content: "What are the key improvements in GPT-5.2?" }]});return new Response(JSON.stringify(response), {headers: { "Content-Type": "application/json" }});};These models work across any function type and are compatible with other Netlify primitives such as caching and rate limiting, giving you control over request behavior across your site.
See the AI Gateway documentation for details.
Agent Runners support the same models, enabling AI to complete long-running coding tasks. You can learn more in the Agent Runners documentation.
-
OpenAI’s GPT-5.1-Codex-Max 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. The AI Gateway handles everything automatically. Here’s an example using the GPT-5.1-Codex-Max model:
import OpenAI from 'openai';export default async () => {const openai = new OpenAI();const response = await openai.responses.create({model: 'gpt-5.1-codex-max',input: 'What improvements are in GPT‑5.1-Codex-Max?'});return new Response(JSON.stringify(response), {headers: { 'Content-Type': 'application/json' }});};GPT-5.1-Codex-Max is 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.
You can also leverage GPT-5.1-Codex-Max with Agent Runners to build powerful AI-powered workflows, including expanded tool use and support for long-running agent tasks. Learn more in the Agent Runners documentation.
-
Update (2025-12-08 22:45 UTC): Sites that have not yet upgraded to a patched version of Next.js (or other affected framework) must upgrade immediately. Following upgrade, we also recommend rotating all credentials that are scoped for access within Netlify Functions, if you have been running a vulnerable version on or after December 4th, 2025 at 1:00 PM PT.
Over the last many days, several variants of the original React2Shell exploit have emerged. Netlify is working alongside others in a coordinated industry effort to monitor for exploit variants and has been adjusting our blocking mechanisms accordingly.
In addition to these attack blocking mechanisms, we are now blocking all further deploys for sites using versions of software affected by CVE-2025-55182 and CVE-2025-66478.
Update (2025-12-06 19:15 UTC): An official npm package has been released to update affected Next.js apps. Use
npx fix-react2shell-nextto update now. For more information, check the github repository forreact2shell.Update (2025-12-06 15:42 UTC): As this threat landscape is still evolving in real time, we advise all customers to immediately upgrade all React and Next.js projects to a patched version.
Update (2025-12-06 09:24 UTC): We have deployed further mitigations for newly discovered exploit vectors.
A critical vulnerability (CVE-2025-55182) was recently disclosed in React’s Server Functions protocol, a feature of React Server Components (RSC). React 19.0, 19.1, and 19.2 are affected.
Working closely with the React and Next.js teams, we received early notice and immediately took action to protect our customers.
The vulnerability can be exploited using all RSC implementations, including:
- Next.js versions 15 and 16, up to and including 15.0.4, 15.1.8, 15.2.5, 15.3.5, 15.4.7, 15.5.6, 16.0.6 (CVE-2025-66478)
- React Router RSC Preview
- Vite RSC plugin
In affected configurations, an attacker could craft a request that allows them to execute arbitrary code within the context of the victim’s app.
On December 3, at 14:00 UTC, the Netlify team rolled out a patch that prevents this vulnerability from being exploited on our customers’ sites. Since that time, all Netlify customers are not vulnerable to the exploit. We have found no evidence of exploitation on any Netlify sites.
Please upgrade all React and Next.js projects to a patched version immediately, and, in the case of Next.js, allow automatic updates of the OpenNext Netlify Next.js adapter.
We are working continually with the React and Next.js teams and are committed to keeping your sites secure on Netlify.
This post was last updated on 2025-12-08 at 22:45 UTC