Changelog
-
Anthropic’s Claude Opus 4.5 model is now available through Netlify’s AI Gateway 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 Opus 4.5 model:
import Anthropic from "@anthropic-ai/sdk";export default async () => {const anthropic = new Anthropic();const response = await anthropic.messages.create({model: "claude-opus-4-5-20251101",max_tokens: 4096,messages: [{role: "user",content: "Give me pros and cons of using claude-opus-4-5-20251120 over other models."},],});return new Response(JSON.stringify(response), {headers: { "Content-Type": "application/json" }});}Claude Opus 4.5 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 access the newest Claude Code capabilities via Agent Runners, including expanded tool use and support for long-running agent workflows. Learn more in the Agent runner documentation.
-
When you deploy a project using a ZIP file and the Netlify API, you can now also create branch deploys using the new
branchparameter.While it was always possible to pass a
branchparameter to thehttps://api.netlify.com/api/v1/sites/{site_id}/buildsendpoint, it previously had no effect for deploys made programmatically using the API. Now, when creating a ZIP-based deploy via the API, including thebranchparameter will properly create a branch deploy instead of a production deploy.This means teams using ZIP-based workflows through our API can now take full advantage of Netlify’s branch deploy features like preview URLs, and isolated testing environments for different branches.
To create a branch deploy for a ZIP-based site, simply include the
branchparameter in your API request:curl -X POST \-H "Authorization: Bearer YOUR_TOKEN" \-F "zip=@your-site.zip" \-F "branch=feature-branch" \https://api.netlify.com/api/v1/sites/{site_id}/buildsLearn more about the Netlify API builds endpoint in the documentation.
-
Angular v21 was released today and it is supported on Netlify on day one.
To upgrade, follow the Angular upgrade steps and update
@netlify/angular-runtimeto v3.0.1 or later.Learn more:
-
Google’s Gemini 3 Pro Preview 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 Pro Preview model:
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-pro-preview",contents: "Explain why gemini 3 is better than other models",});return new Response(JSON.stringify({ answer: response.text }), {headers: { "Content-Type": "application/json" }});};Gemini 3 is available across Background Functions, Scheduled 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.
-
If you have a Netlify Organization, you can now add a DNS record that has a DNS zone from a different team in your Netlify organization.
Previously, DNS records could only be added to DNS zones in the Netlify team that managed them, limiting those with Netlify Organizations. With this new change it is easier than ever for your organization to share DNS zones across Netlify Teams and projects.
Learn more about managing DNS records in the Netlify documentation.
-
Skew protection is now available for deploys triggered from the CLI starting with the Netlify CLI version 23.11.0 and above. Previously, skew protection did not work with CLI workflows.
To upgrade your Netlify CLI version:
npm update -g netlify-cliNote that if you use
npxwhen you run your Netlify CLI commands, you will always use the latest Netlify CLI version.Learn more about the benefits of skew protection, including more stable user experiences and preventing server-client version mismatch errors in our docs.
-
Now you can purchase domains with the following top-level domains (TLDs) for even more flexibility when buying and registering a domain through Netlify:
.place.be.pl.dk.co.uk
For help buying a new domain, check out our docs on registering and buying a domain.
For even more help setting up a domain, check out our domains setup wizard.
-
OpenAI’s latest GPT-5.1 model (
gpt-5.1) is now available through Netlify’s AI Gateway. This model brings enhanced performance and efficiency with no additional setup required.Use the OpenAI SDK directly in your Netlify Functions without managing API keys. The AI Gateway handles authentication, rate limiting, and caching automatically. Here’s an example using the GPT-5.1 model:
import { OpenAI } from "openai";export default async () => {const openai = new OpenAI();const response = await openai.chat.completions.create({model: "gpt-5.1",messages: [{role: "user",content: "Compare GPT-5.1's improvements over GPT-5 Pro"}]});return new Response(JSON.stringify(response), {headers: { "Content-Type": "application/json" }});};The GPT-5.1 model works seamlessly across Edge Functions, Background Functions, and Scheduled Functions. You also get access to Netlify’s advanced caching primitives and built-in rate limiting.
Learn more in the AI Gateway documentation.
-
React Router 7 apps on Netlify are deployed to Serverless Functions by default. Now, you can choose to deploy your app to Edge Functions instead, bringing your page renders, data loaders, and actions closer to your users while lowering cold start times.
How to use it
- Ensure you’re on version 7.9.0 or later of React Router:
npm install react-router@latest @react-router/node@latest @react-router/dev@latest- Update to the latest version of the Netlify React Router plugin:
npm install @netlify/vite-plugin-react-router@latest- Enable the new
edgeoption in yourvite.config.ts(or.js):
export default defineConfig({plugins: [reactRouter(),netlifyReactRouter({ edge: true }), // <- deploy to Edge Functionsnetlify(),],})- Finally, create a file at
app/entry.server.tsx(or.jsx) containing this single line:
export { default } from 'virtual:netlify-server-entry'On your next deploy, page renders, loaders, and actions will all run in an edge function.
When to use it
Choose Edge Functions when:
- You need minimal latency for your globally distributed users (edge functions run on the node closest to the user)
- You need to optimize cold starts (initialization is faster with the slim Deno edge runtime)
- Your data loaders and actions make requests to databases and APIs that are also globally distributed, or none at all
- You need to support very large request or response bodies (Serverless Functions have a 6 MB limit)
Choose Serverless Functions when:
- Your data loaders and actions make requests to databases or APIs that are centrally located (canceling out much of the benefit of edge compute)
- Your server-side code is CPU-intensive (Serverless Functions run on more powerful machines)
- You need longer execution times (Functions allow up to 30s clock time, while Edge Functions are limited to 50ms CPU time)
- You cannot use Edge Functions due to their runtime constraints or limitations
Next steps
- Create a new React Router 7 project with our template
- Read the Netlify React Router plugin docs for more details on deploying to the edge