---
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/page/2/"
last_updated: "2026-07-02T10:13:38.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)

-   [
    
    ## Environment variable size limit removed for Serverless Functions
    
    ](/changelog/2026-06-12-serverless-functions-env-var-size-limit-removed/)
    
    June 12, 2026
    
    -   [functions](/changelog/tag/functions/)
    
    You can now use as many environment variables as your Serverless Functions need. The 4KB total size limit on environment variables no longer applies to functions running on the current Netlify Functions runtime.
    
    This limit was a common source of friction. Teams with several API keys, connection strings, or feature flags could quietly bump into the cap and see their functions fail to deploy or run, often with confusing errors. With the limit gone, you no longer have to ration space or work around the ceiling for the configuration your functions legitimately need.
    
    The limit still applies to functions running in Lambda compatibility mode. If your functions are using Lambda compatibility mode and you want to remove the size limit entirely, consider upgrading to the current Netlify Functions runtime.
    
    Learn more about [environment variables in Netlify Functions](https://docs.netlify.com/build/functions/environment-variables/) in our documentation.
    
    [Permalink to Environment variable size limit removed for Serverless Functions Permalink](/changelog/2026-06-12-serverless-functions-env-var-size-limit-removed/)
    
-   [
    
    ## Netlify is now in the Cursor marketplace
    
    ](/changelog/2026-06-09-netlify-cursor-marketplace/)
    
    June 9, 2026
    
    -   [extensions](/changelog/tag/extensions/)
    -   [ai](/changelog/tag/ai/)
    
    Netlify is now listed in the [Cursor marketplace](https://cursor.com/marketplace/netlify), so you can connect your AI-assisted coding environment directly to Netlify without leaving your editor.
    
    Whether you’re spinning up a new project or iterating on an existing site, having Netlify available from within Cursor means fewer context switches between building and deploying.
    
    Find it at [cursor.com/marketplace/netlify](https://cursor.com/marketplace/netlify).
    
    [Permalink to Netlify is now in the Cursor marketplace Permalink](/changelog/2026-06-09-netlify-cursor-marketplace/)
    
-   [
    
    ## Claude Fable 5 now available in AI Gateway
    
    ](/changelog/claude-fable-5-ai-gateway/)
    
    June 9, 2026
    
    -   [ai gateway](/changelog/tag/ai-gateway/)
    
    > **Update — June 13, 2026**
    > 
    > Anthropic has [suspended access to Claude Fable 5](https://www.anthropic.com/news/fable-mythos-access). Requests to `claude-fable-5` through Netlify AI Gateway will fail until access is restored.
    
    Anthropic’s Claude Fable 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 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 cybersecurity?'            }        ]    });
        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 now available in AI Gateway Permalink](/changelog/claude-fable-5-ai-gateway/)
    
-   [
    
    ## Angular v22 is now supported
    
    ](/changelog/2026-06-01-support-for-angular-v22/)
    
    June 3, 2026
    
    -   [framework](/changelog/tag/framework/)
    -   [angular](/changelog/tag/angular/)
    
    Angular v22 [was released today](https://blog.angular.dev/announcing-angular-v22-c52bb83a4664) and it is supported on Netlify on day one.
    
    To upgrade, follow the [Angular upgrade steps](https://angular.dev/update-guide?v=21.0-22.0&l=1) and update `@netlify/angular-runtime` to v4.0.0 or later.
    
    ## Notable changes
    
    -   **Minimum Node.js version**: Angular v22 requires Node.js 22.12.0 or later. Make sure your Netlify site is [configured to use a supported Node.js version](https://docs.netlify.com/configure-builds/manage-dependencies/#node-js-and-javascript).
    -   **`allowedHosts` config**: Angular v21.x (specifically, `@angular/ssr`) introduced an `allowedHosts` option in the `AngularAppEngine` configuration, giving you explicit control over which hosts are permitted to connect. Angular 22 started returning a HTTP 400 for requests with other host headers. `@netlify/angular-runtime` handles adding the most common URLs for a Netlify deploy to the `allowedHosts` config automatically allowing developers to use Netlify’s branch and deploy previews without the HTTP 400 error.
    -   **Forwarded headers support with`trustProxyHeaders`**: A new `trustProxyHeaders` option lets Angular applications behind a reverse proxy correctly read forwarded headers such as `X-Forwarded-For` and `X-Forwarded-Proto`. `@netlify/angular-runtime` handles adding the required headers automatically.
    
    Learn more:
    
    -   [Angular v22 Release](https://angular.dev/events/v22)
    -   [Angular on Netlify](https://docs.netlify.com/build/frameworks/framework-setup-guides/angular/)
    -   [Angular Runtime](https://github.com/netlify/angular-runtime)
    
    [Permalink to Angular v22 is now supported Permalink](/changelog/2026-06-01-support-for-angular-v22/)
    
-   [
    
    ## Security update: multiple vulnerabilities in React Router
    
    ](/changelog/2026-06-02-react-router-security-vulnerabilities/)
    
    June 2, 2026
    
    -   [security](/changelog/tag/security/)
    -   [remix](/changelog/tag/remix/)
    
    The React Router team has disclosed seven security vulnerabilities. Here’s what Netlify customers need to know.
    
    ## Vulnerabilities
    
    Vulnerability
    
    Package
    
    Affected versions
    
    Fixed in
    
    [GHSA-8x6r-g9mw-2r78](https://github.com/remix-run/react-router/security/advisories/GHSA-8x6r-g9mw-2r78) — DoS via `__manifest` endpoint
    
    `react-router`
    
    7.0.0–7.14.x
    
    7.15.0
    
    [GHSA-rxv8-25v2-qmq8](https://github.com/remix-run/react-router/security/advisories/GHSA-rxv8-25v2-qmq8) — DoS via single-fetch request body
    
    `react-router`
    
    7.0.0–7.13.x
    
    7.14.0
    
    [GHSA-8646-j5j9-6r62](https://github.com/remix-run/react-router/security/advisories/GHSA-8646-j5j9-6r62) — XSS via `javascript:` redirect in unstable RSC
    
    `react-router`
    
    7.7.0–7.13.1
    
    7.13.2
    
    [GHSA-49rj-9fvp-4h2h](https://github.com/remix-run/react-router/security/advisories/GHSA-49rj-9fvp-4h2h) — RCE when chained with prototype pollution
    
    `react-router`
    
    7.5.2–7.14.1
    
    7.14.2
    
    [GHSA-2j2x-hqr9-3h42](https://github.com/remix-run/react-router/security/advisories/GHSA-2j2x-hqr9-3h42) — Protocol-relative open redirect
    
    `react-router`
    
    7.0.0–7.14.0
    
    7.14.1
    
    [GHSA-f22v-gfqf-p8f3](https://github.com/remix-run/react-router/security/advisories/GHSA-f22v-gfqf-p8f3) — Stored XSS in prerendered redirect HTML
    
    `@react-router/dev`
    
    7.0.0–7.13.1
    
    7.13.2
    
    [GHSA-84g9-w2xq-vcv6](https://github.com/remix-run/react-router/security/advisories/GHSA-84g9-w2xq-vcv6) — CSRF check bypassed for PUT/PATCH/DELETE
    
    `react-router`
    
    7.12.0–7.15.0
    
    7.15.1
    
    ## Impact on Netlify
    
    ### GHSA-8x6r-g9mw-2r78 and GHSA-rxv8-25v2-qmq8 (denial of service)
    
    These are server-side denial-of-service (DoS) vulnerabilities. **On Netlify, these have minimal impact**: our autoscaling serverless architecture means that a malicious request resulting in a crashed or hung function does not affect other requests. However, active exploitation could increase your function costs.
    
    ### GHSA-8646-j5j9-6r62 (XSS in unstable RSC)
    
    This vulnerability affects apps using the experimental `unstable_*` RSC APIs where an attacker can control a redirect target. Only apps using these unstable APIs are affected.
    
    **Regardless of hosting provider, affected apps passing untrusted input into RSC redirect calls may be vulnerable.**
    
    ### GHSA-49rj-9fvp-4h2h (RCE when chained)
    
    **This vulnerability is not directly exploitable against React Router alone.** Reaching the vulnerable code path requires the application to first be independently vulnerable to a prototype pollution attack.
    
    ### GHSA-2j2x-hqr9-3h42 (open redirect)
    
    Apps that redirect users to attacker-supplied URLs with the intent to restrict them to the same origin may inadvertently allow protocol-relative redirects to external origins.
    
    **Regardless of hosting provider, all affected apps passing untrusted input to `redirect()` may be vulnerable.**
    
    ### GHSA-f22v-gfqf-p8f3 (stored XSS in prerendering)
    
    This vulnerability affects apps using the prerendering feature (`prerender: [...]` in `react-router.config.ts`). If any redirect target baked into a prerendered build originates from external or attacker-controlled data, the static artifact remains affected until a fresh build is run with a patched version.
    
    **Regardless of hosting provider, all affected apps using prerendering with externally sourced redirect targets may be vulnerable.**
    
    ### GHSA-84g9-w2xq-vcv6 (CSRF bypass for PUT/PATCH/DELETE)
    
    The CSRF origin check introduced in React Router 7.12.0 only applied to `POST` requests on the document-request path, leaving `PUT`, `PATCH`, and `DELETE` unchecked. In practice, exploitation additionally requires the app to have explicitly opened CORS for those methods and to be issuing session cookies with `SameSite=None`.
    
    **Regardless of hosting provider, this only poses a meaningful risk in apps with permissive cross-origin configurations.**
    
    ## What should I do?
    
    We strongly recommend upgrading as soon as possible to patched releases:
    
    -   `react-router` 7.15.1 or later
    -   `@react-router/dev` 7.13.2 or later (if using prerendering)
    
    If your app uses prerendering, trigger a fresh build after upgrading to regenerate any affected static assets.
    
    Note that any publicly available deploy previews and branch deploys may remain vulnerable until they are [automatically deleted](https://docs.netlify.com/deploy/manage-deploys/manage-deploys-overview/#automatic-deploy-deletion). Consider [deleting these deploys manually](https://docs.netlify.com/deploy/manage-deploys/manage-deploys-overview/#manual-deploy-deletion-through-the-netlify-ui).
    
    [Permalink to Security update: multiple vulnerabilities in React Router Permalink](/changelog/2026-06-02-react-router-security-vulnerabilities/)
    
-   [
    
    ## Claude Opus 4.8 now available in AI Gateway and Agent Runners
    
    ](/changelog/claude-opus-4-8-ai-gateway-agent-runners/)
    
    May 28, 2026
    
    -   [ai gateway](/changelog/tag/ai-gateway/)
    -   [agent runners](/changelog/tag/agent-runners/)
    
    Anthropic’s Claude Opus 4.8 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 Opus 4.8 model:
    
    ```
    import Anthropic from '@anthropic-ai/sdk';
    export default async () => {    const anthropic = new Anthropic();
        const response = await anthropic.messages.create({        model: 'claude-opus-4-8',        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 Opus 4.8 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 Opus 4.8 now available in AI Gateway and Agent Runners Permalink](/changelog/claude-opus-4-8-ai-gateway-agent-runners/)
    
-   [
    
    ## Build Plugins: End of support for Node.js 18 + Node.js 20
    
    ](https://answers.netlify.com/t/build-plugins-end-of-support-for-node-js-18-node-js-20/162662)
    
    May 21, 2026
    
    • Support Forums
    
    -   [updates](/changelog/tag/updates/)
    
    The following versions of Node.js have reached their official end of life: Node.js v18 on April 30, 2025 Node.js v20 on April 30, 2026 Now it’s time to say goodbye to Node.js versions 18 and 20 in our build plugins. This change will allow us to use…
    
    [Learn more about Build Plugins: End of support for Node.js 18 + Node.js 20 Learn More](https://answers.netlify.com/t/build-plugins-end-of-support-for-node-js-18-node-js-20/162662)
    
-   [
    
    ## Gemini 3.5 Flash now available in Agent Runners
    
    ](/changelog/gemini-3-5-flash-agent-runners/)
    
    May 20, 2026
    
    -   [agent runners](/changelog/tag/agent-runners/)
    
    Google’s Gemini 3.5 Flash model is now available through Netlify’s Agent Runners with zero configuration required.
    
    Learn more in the [Agent Runners documentation](https://docs.netlify.com/build/build-with-ai/agent-runners/overview/).
    
    [Permalink to Gemini 3.5 Flash now available in Agent Runners Permalink](/changelog/gemini-3-5-flash-agent-runners/)
    
-   [
    
    ## Security update: multiple vulnerabilities in Nuxt
    
    ](/changelog/2026-05-19-nuxt-security-vulnerabilities/)
    
    May 19, 2026
    
    -   [security](/changelog/tag/security/)
    -   [nuxt.js](/changelog/tag/nuxt-js/)
    
    The Nuxt team has disclosed four security vulnerabilities. Here’s what Netlify customers need to know.
    
    ## Vulnerabilities
    
    -   [**CVE-2026-47200**](https://github.com/nuxt/nuxt/security/advisories/GHSA-hg3f-28rg-4jxj): Route middleware bypass via island page endpoints (nuxt 3.11.0–3.21.5, 4.0.0-alpha.1–4.4.5)
    -   [**CVE-2026-46342**](https://github.com/nuxt/nuxt/security/advisories/GHSA-g8wj-3cr3-6w7v): Island response not validated against request props (nuxt 3.1.0–3.21.5, 4.0.0-alpha.1–4.4.5)
    -   [**CVE-2026-45670**](https://github.com/nuxt/nuxt/security/advisories/GHSA-6m52-m754-pw2g): Dev server exposes built source over LAN (nuxt 3.15.4–3.21.5, 4.0.0-alpha.1–4.4.5)
    -   [**CVE-2026-45669**](https://github.com/nuxt/nuxt/security/advisories/GHSA-fx6j-w5w5-h468): Reflected XSS via `navigateTo` with `external: true` (nuxt 3.4.3–3.21.5, 4.0.0-alpha.1–4.4.5)
    
    ## Impact on Netlify
    
    ### CVE-2026-47200 (route middleware bypass)
    
    When component islands are enabled — the default in Nuxt 4, and available via an opt-in flag in Nuxt 3 — `.server.vue` page files are accessible via `/__nuxt_island/page_*` endpoints that render pages without invoking Vue Router, bypassing route middleware entirely. An unauthenticated attacker can request these endpoints directly to access pages that rely solely on middleware for access control.
    
    **Regardless of hosting provider, all affected Nuxt apps using `.server.vue` pages with route-middleware-only authentication are vulnerable.**
    
    ### CVE-2026-46342 (island cache poisoning)
    
    The `/__nuxt_island/*` endpoint accepts props via query parameters without server-side hash validation, allowing the same path to return different content depending on query parameters. If an upstream cache keys on path only, an attacker can inject crafted props into cached responses — enabling XSS if the application renders those props through unsafe HTML sinks.
    
    On Netlify, [cached function responses vary by query string](https://docs.netlify.com/build/caching/caching-overview/#default-caching-behavior). **This vulnerability requires overriding Netlify’s default `Netlify-Vary` behavior and is not exploitable in standard Netlify deployments.**
    
    ### CVE-2026-45670 (dev server source exposure)
    
    Running `nuxt dev --host` binds the development server to a non-loopback address; with the rspack or webpack builder (not the default Vite builder), malicious sites on the same network can access the application’s source code. This only affects local development environments.
    
    **Netlify production deployments are not affected.** Developers should avoid using `--host` with rspack or webpack builders, or upgrade to patch the issue.
    
    ### CVE-2026-45669 (reflected XSS via `navigateTo`)
    
    When `navigateTo()` is called with `external: true`, Nuxt generates a server-side HTML meta-refresh redirect. The destination URL is insufficiently sanitized — HTML-significant characters are not encoded, so an attacker who controls the URL parameter can inject arbitrary scripts that execute before the redirect occurs.
    
    **Regardless of hosting provider, all apps passing untrusted user input to `navigateTo()` with `external: true` are vulnerable.**
    
    ## What should I do?
    
    We strongly recommend upgrading as soon as possible to patched releases:
    
    -   `nuxt` 3.21.6 or later (for Nuxt 3.x), or 4.4.6 or later (for Nuxt 4.x)
    -   `@nuxt/rspack-builder` and `@nuxt/webpack-builder` 3.21.6 or later, or 4.4.6 or later (if applicable)
    
    Note that any publicly available deploy previews and branch deploys may remain vulnerable until they are [automatically deleted](https://docs.netlify.com/deploy/manage-deploys/manage-deploys-overview/#automatic-deploy-deletion). Consider [deleting these deploys manually](https://docs.netlify.com/deploy/manage-deploys/manage-deploys-overview/#manual-deploy-deletion-through-the-netlify-ui).
    
    ## Resources
    
    -   [Nuxt security advisories](https://github.com/nuxt/nuxt/security)
    
    [Permalink to Security update: multiple vulnerabilities in Nuxt Permalink](/changelog/2026-05-19-nuxt-security-vulnerabilities/)
    

[Previous page](/changelog) [Next page](/changelog/page/3)