---
title: "Changelog | Netlify"
description: "Stay updated with the latest features, fixes, and improvements. Realize the speed, agility and performance of a scalable, composable web architecture with Netlify. Explore the composable web platform now!"
source: "https://www.netlify.com/changelog/"
last_updated: "2026-07-02T08:56:09.000Z"
---
# Changelog

All Tags Agent-runners AI Ai-gateway Angular Astro AX Build CLI Database Design Devtools Domains E-commerce Extensions Forms Framework Functions Logs Next.js Nuxt.js Remix SDK Security Updates Workflow  [Subscribe to feed](https://www.netlify.com/changelog/feed.xml)

-   [
    
    ## Claude Fable 5 reactivated in AI Gateway
    
    ](/changelog/claude-fable-5-re-enabled/)
    
    July 1, 2026
    
    -   [ai gateway](/changelog/tag/ai-gateway/)
    
    Anthropic’s Claude Fable 5 model is once again 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 Fable 5 model:
    
    ```
    import Anthropic from '@anthropic-ai/sdk';
    export default async () => {    const anthropic = new Anthropic();
        const response = await anthropic.messages.create({        model: 'claude-fable-5',        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 is available for all Function types. You get automatic access to Netlify’s caching, rate limiting, and authentication infrastructure.
    
    Learn more in the [AI Gateway documentation](https://docs.netlify.com/build/ai-gateway/overview/).
    
    [Permalink to Claude Fable 5 reactivated in AI Gateway Permalink](/changelog/claude-fable-5-re-enabled/)
    
-   [
    
    ## Nano Banana 2 Lite (Gemini 3.1 Flash-Lite Image) is now available in AI Gateway.
    
    ](/changelog/gemini-3-1-flash-lite-image-ai-gateway/)
    
    June 30, 2026
    
    -   [ai gateway](/changelog/tag/ai-gateway/)
    
    Google’s Nano Banana 2 Lite (Gemini 3.1 Flash-Lite Image) is now available through AI Gateway. You can call this lightweight image generation 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';
    // Netlify Function: Generate an image with Gemini 3.1 Flash Lite Image and return it directly.// Usage (GET): /.netlify/functions/gemini-31-flash-lite-image?prompt=Your+prompt+here// Returns: binary image (PNG/JPEG/etc) with proper content-type. If no image, JSON error.
    export default async (request: Request) => {    const url = new URL(request.url);    const prompt = url.searchParams.get('prompt') || 'two happy bananas holding flashlights';    const ai = new GoogleGenAI({});
        try {        const response = await ai.models.generateContent({            model: 'gemini-3.1-flash-lite-image',            contents: prompt,            config: {                imageConfig: {                    aspectRatio: '16:9',                    imageSize: '1K'                }            }        });
            let imagePart = null;        for (const part of response.candidates[0].content.parts) {            if (part.inlineData) {                imagePart = part.inlineData;                break;            }        }
            const bytes = Buffer.from(imagePart.data, 'base64');        const mimeType = imagePart.mimeType || 'image/png';
            return new Response(bytes, {            status: 200,            headers: {                'Content-Type': mimeType,                'Cache-Control': 'no-store'            }        });    } catch (err) {        return new Response(JSON.stringify({ error: String(err), prompt }), {            status: 500,            headers: { 'Content-Type': 'application/json' }        });    }};
    ```
    
    Built for speed and lower cost, Gemini 3.1 Flash-Lite Image is a good fit for high-volume image generation. It 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.
    
    Learn more in the [AI Gateway documentation](https://docs.netlify.com/build/ai-gateway/overview/).
    
    [Permalink to Nano Banana 2 Lite (Gemini 3.1 Flash-Lite Image) is now available in AI Gateway. Permalink](/changelog/gemini-3-1-flash-lite-image-ai-gateway/)
    
-   [
    
    ## Claude Sonnet 5 now available in AI Gateway and Agent Runners
    
    ](/changelog/claude-sonnet-5-ai-gateway-agent-runners/)
    
    June 30, 2026
    
    -   [ai gateway](/changelog/tag/ai-gateway/)
    -   [agent runners](/changelog/tag/agent-runners/)
    
    Anthropic’s Claude Sonnet 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. The AI Gateway handles everything automatically. Here’s an example using the Claude Sonnet 5 model:
    
    ```
    import Anthropic from '@anthropic-ai/sdk';
    export default async () => {    const anthropic = new Anthropic();
        const response = await anthropic.messages.create({        model: 'claude-sonnet-5',        max_tokens: 4096,        messages: [            {                role: 'user',                content: 'How can AI improve my coding?'            }        ]    });
        return Response.json(response);};
    ```
    
    Claude Sonnet 5 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](https://docs.netlify.com/build/ai-gateway/overview/) and [Agent Runners documentation](https://docs.netlify.com/build/build-with-ai/agent-runners/overview/).
    
    [Permalink to Claude Sonnet 5 now available in AI Gateway and Agent Runners Permalink](/changelog/claude-sonnet-5-ai-gateway-agent-runners/)
    
-   [
    
    ## Functions redesigned for agents
    
    ](/changelog/2026-06-25-functions-redesigned-for-agents/)
    
    June 25, 2026
    
    -   [functions](/changelog/tag/functions/)
    -   [agent runners](/changelog/tag/agent-runners/)
    -   [ai](/changelog/tag/ai/)
    
    We have redesigned Netlify functions for an improved agent experience.
    
    With these updates, functions are more discoverable, easier to autocomplete, update, and manage for people and agents alike. They move function configuration into code, making it type-safe and immediately visible to editors, tools, and agents, with no platform-specific naming conventions to memorize or get wrong. None of these changes are breaking, so you can adopt them on your own timeline.
    
    Netlify Functions are serverless functions that run on-demand in response to HTTP requests or platform events. They handle server-side logic without any infrastructure to manage, and live in your repository at `netlify/functions/`.
    
    To learn more about these updates in depth, check out our [blog on redesigning Netlify functions for agent experience](https://www.netlify.com/blog/netlify-functions-designed-for-agent-experience). See the table below for a summary.
    
    Feature
    
    What changed
    
    What it means for agents
    
    What you need to do
    
    [Event handlers](https://docs.netlify.com/build/functions/overview/#platform-events)
    
    Export typed event handlers from the default export object
    
    Typed handlers are discoverable like any API, with no magic filenames to guess or get wrong.
    
    Nothing required. Adopt the new syntax for new event handlers for better agent discoverability and updates.
    
    [Background functions](https://docs.netlify.com/build/functions/background-functions/)
    
    Declare with `background: true` in config instead of the `-background` filename suffix
    
    Type-safe and config-driven, not name-driven. Agents can set it in code without guessing platform naming conventions, and get an error if the value is wrong.
    
    Nothing required. The `-background` suffix still works.
    
    [Region selection](https://docs.netlify.com/build/functions/configuration/#region)
    
    Set per-function via the `region` config property, replacing the global UI setting
    
    Agents can set region as a type-safe config property, catching invalid values before deploy rather than at runtime. Use deploy previews to test before going live.
    
    Nothing required. Optionally move region out of the UI into config for per-function control.
    
    [Memory and vCPU](https://docs.netlify.com/build/functions/configuration/#memory-or-vcpu)
    
    Set via `memory` or `vcpu` config properties; both values scale together automatically
    
    Agents provisioning compute-heavy workloads (inference, large payloads) can do so in code.
    
    Nothing. Defaults unchanged. Set only if your workload needs more than 1 GB / 0.5 vCPU. Requires a credit-based Pro plan.
    
    [`getContext()`](https://docs.netlify.com/build/functions/api/#getcontext)
    
    Named import from `@netlify/functions`, replacing the `Netlify.context` global
    
    Named imports surface in autocomplete and carry type information. Globals are invisible to agents; named imports are not.
    
    Nothing required. `Netlify.context` still works. Switch to `getContext()` for better discoverability.
    
    Learn more in the [Netlify Functions documentation](https://docs.netlify.com/build/functions/overview/), which has also been recently revamped.
    
    [Permalink to Functions redesigned for agents Permalink](/changelog/2026-06-25-functions-redesigned-for-agents/)
    
-   [
    
    ## Astro 7 just works on Netlify
    
    ](/changelog/2026-06-22-astro-7/)
    
    June 22, 2026
    
    -   [framework](/changelog/tag/framework/)
    -   [astro](/changelog/tag/astro/)
    
    [Astro 7](https://astro.build/blog/astro-7/) is out today, and it just works on Netlify on day one. To upgrade, run:
    
    ```
    npx @astrojs/upgrade
    ```
    
    This will update Astro, the [Netlify adapter](https://docs.netlify.com/frameworks/astro/), and all other official integrations together. You can also check out the [official migration guide](https://docs.astro.build/en/guides/upgrade-to/v7/).
    
    ## What’s new
    
    Some highlights include:
    
    -   **Vite 8** — Astro 7 upgrades to Vite 8, bringing faster builds and improved dev tooling.
    -   **Sätteri is now the default markdown processor** — Astro’s new native markdown pipeline replaces remark/rehype as the default. If your project uses remark or rehype plugins, you’ll need to install `@astrojs/markdown-remark` separately to keep them working.
    -   **Advanced routing is stable** — Previously behind an experimental flag, advanced routing is now enabled by default. The default entry point has moved from `src/app.ts` to `src/fetch.ts`.
    -   **Streaming rendering is stable** — The streaming-based rendering engine is now the default, replacing the legacy queued approach.
    -   **Background dev server for AI coding agents** — `astro dev` now detects AI coding environments and runs as a background process automatically. New `astro dev stop`, `astro dev status`, and `astro dev logs` commands let you manage it directly.
    -   **Astro DB is deprecated** — The `astro db`, `astro login`, `astro logout`, `astro link`, and `astro init` CLI commands have been removed. Switch to a dedicated database client.
    -   **Custom logger is stable** — `context.logger` is now always available in API routes and middleware, with built-in `json`, `node`, and `console` handlers.
    
    Check the full [upgrade guide](https://docs.astro.build/en/guides/upgrade-to/v7/) for all the details.
    
    ## Watch out for the new markdown defaults
    
    If your site uses remark or rehype plugins, you’ll need to take action before upgrading. In Astro 7, the default markdown pipeline is Sätteri — Astro’s own native processor. The remark/rehype pipeline is no longer included by default.
    
    To keep your existing plugins working, install the remark package separately:
    
    ```
    npm install @astrojs/markdown-remark
    ```
    
    Once installed, your existing `markdown.remarkPlugins`, `markdown.rehypePlugins`, and `markdown.remarkRehype` config options will continue to work as before. If you’re not using any remark or rehype plugins, no changes are needed — Sätteri handles standard Markdown out of the box.
    
    ## Deploy an Astro 7 site on Netlify
    
    If you want to get started with a new site, start with the [Astro on Netlify](https://docs.netlify.com/build/frameworks/framework-setup-guides/astro/) doc, or just click this button:
    
    [![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/netlify-templates/astro-platform-starter)
    
    [Permalink to Astro 7 just works on Netlify Permalink](/changelog/2026-06-22-astro-7/)
    
-   [
    
    ## Preview data changes in Netlify Database
    
    ](/changelog/2026-06-22-preview-data-changes-netlify-database/)
    
    June 22, 2026
    
    -   [database](/changelog/tag/database/)
    
    You can now preview proposed data changes for your Netlify database with a Git-style diff view, then apply part or all of those changes to a production version of your database.
    
    This update allows you to carefully review proposed changes from across your team and make sure you’re confident about making changes to the production version of your database before going live. Learn more in our docs on [Data changes for Netlify Database](https://docs.netlify.com/build/data-and-storage/netlify-database/data-changes/).
    
    [Permalink to Preview data changes in Netlify Database Permalink](/changelog/2026-06-22-preview-data-changes-netlify-database/)
    
-   [
    
    ## SAML provisioning upgrades for assigning default roles
    
    ](/changelog/2026-06-22-saml-provisioning-role-options/)
    
    June 22, 2026
    
    -   [security](/changelog/tag/security/)
    
    When you provision new users through SAML SSO, you now have more options for assigning a default role.
    
    Before this update, the Developer role was assigned by default. Now you can assign other roles with fewer permissions, such as [Reviewers](https://docs.netlify.com/manage/accounts-and-billing/team-management/roles-and-permissions/#reviewer) and [Internal Builders](https://docs.netlify.com/manage/accounts-and-billing/team-management/roles-and-permissions/#internal-builder).
    
    Learn more about your options for provisioning with [SAML SSO on Netlify](https://docs.netlify.com/manage/security/secure-netlify-access/configure-organization-saml-sso/).
    
    [Permalink to SAML provisioning upgrades for assigning default roles Permalink](/changelog/2026-06-22-saml-provisioning-role-options/)
    
-   [
    
    ## React Router 8 is now supported on Netlify
    
    ](/changelog/2026-06-18-react-router-8-support/)
    
    June 18, 2026
    
    -   [framework](/changelog/tag/framework/)
    -   [remix](/changelog/tag/remix/)
    
    React Router 8 [was just released](https://remix.run/blog/react-router-v8) and is already supported on Netlify.
    
    The breaking changes are largely limited to these new minimums:
    
    -   Node.js 22.22.0+
    -   React 19.2.7+
    -   Vite 7+
    
    ## How to upgrade
    
    To upgrade your existing Netlify project follow the [React Router 8 upgrade guide](https://reactrouter.com/upgrading/v7) and upgrade the [Netlify React Router Vite plugin](https://npmx.dev/package/@netlify/vite-plugin-react-router) to v4.0.0+:
    
    ```
    npm i @netlify/vite-plugin-react-router@latest
    ```
    
    ## Try it now
    
    To deploy a brand new, React Router 8 application to Netlify, click this button:
    
    [![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/netlify/react-router-template)
    
    ## What you get
    
    Full framework feature support, [serverless](https://docs.netlify.com/build/functions/overview/) and [edge functions](https://docs.netlify.com/build/edge-functions/overview/) included, plus full Netlify platform emulation in local dev for you and your agents.
    
    -   [React Router on Netlify](https://docs.netlify.com/build/frameworks/framework-setup-guides/react-router/)
    -   [`@netlify/vite-plugin-react-router` release notes](https://github.com/netlify/remix-compute/releases/tag/vite-plugin-react-router-v4.0.0)
    
    [Permalink to React Router 8 is now supported on Netlify Permalink](/changelog/2026-06-18-react-router-8-support/)
    
-   [
    
    ## Project labels are now available on Pro
    
    ](/changelog/2026-06-12-project-labels-on-pro/)
    
    June 12, 2026
    
    -   [workflow](/changelog/tag/workflow/)
    
    Team Owners on the credit-based Pro plan can now create and assign labels to organize projects across their team, a capability previously limited to Enterprise.
    
    Use labels to group projects by environment, purpose, or team—for example, staging, marketing, or production—then filter and find projects faster from your team’s project list.
    
    Learn more in [Organize projects](https://docs.netlify.com/manage/projects/organize-projects/) in the Netlify documentation.
    
    [Permalink to Project labels are now available on Pro Permalink](/changelog/2026-06-12-project-labels-on-pro/)
    

[Next page](/changelog/page/2)