---
title: "Framework | Netlify Changelog"
description: "Get the latest updates on Netlify products and features to meet your developer needs."
source: "https://www.netlify.com/changelog/tag/framework/"
last_updated: "2026-07-04T21:15:54.000Z"
---
# Posts tagged "Framework"

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/tag/framework/feed.xml)

-   [
    
    ## 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/)
    
-   [
    
    ## 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/)
    
-   [
    
    ## 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/)
    
-   [
    
    ## Hydrogen with React Router 7 now supported on Netlify
    
    ](/changelog/2026-03-24-hydrogen-react-router-7/)
    
    March 24, 2026
    
    -   [e-commerce](/changelog/tag/e-commerce/)
    -   [remix](/changelog/tag/remix/)
    -   [framework](/changelog/tag/framework/)
    
    Shopify’s Hydrogen framework now works on Netlify with React Router 7 and Hydrogen 2026.1.0. The [Netlify Hydrogen template](https://github.com/netlify/hydrogen-template) has been fully rebuilt, and [`@netlify/vite-plugin-react-router`](https://npmx.dev/package/@netlify/vite-plugin-react-router) now supports Hydrogen sites out of the box.
    
    The updated template also comes with two meaningful improvements:
    
    -   **Netlify Cache API integration** — Data fetching is cached using the [Netlify Cache API](https://docs.netlify.com/build/caching/cache-api/), giving you low-latency responses without extra configuration.
    -   **Full local platform emulation** — The Netlify Vite Plugin provides zero-config local emulation of Blobs, Functions, Edge Functions, and AI Gateway during development, so what you test locally matches what runs in production.
    
    To get started with a new Hydrogen site on Netlify, deploy the updated template:
    
    [![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/netlify/hydrogen-template)
    
    To move an existing Hydrogen site over to Netlify, follow the [How to deploy a Shopify Hydrogen storefront to Netlify](https://developers.netlify.com/guides/how-to-deploy-a-shopify-hydrogen-storefront-to-netlify/) guide.
    
    Learn more:
    
    -   [Hydrogen template on GitHub](https://github.com/netlify/hydrogen-template)
    -   [`@netlify/vite-plugin-react-router` v3.1.0 release notes](https://github.com/netlify/remix-compute/releases/tag/vite-plugin-react-router-v3.1.0)
    -   [How to deploy a Shopify Hydrogen storefront to Netlify](https://developers.netlify.com/guides/how-to-deploy-a-shopify-hydrogen-storefront-to-netlify/)
    
    [Permalink to Hydrogen with React Router 7 now supported on Netlify Permalink](/changelog/2026-03-24-hydrogen-react-router-7/)
    
-   [
    
    ## Astro 6 just works on Netlify
    
    ](/changelog/2026-03-10-astro-6/)
    
    March 10, 2026
    
    -   [framework](/changelog/tag/framework/)
    -   [astro](/changelog/tag/astro/)
    
    [Astro 6](https://astro.build/blog/astro-6/) 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.
    
    ## What’s new
    
    Some highlights include:
    
    -   **Vite 7 and a redesigned dev server** — Faster builds and a better dev server built from the ground up.
    -   **Content Layer API** — Legacy content collections are fully removed. All collections must now use the [Content Layer API](https://docs.astro.build/en/guides/content-collections/).
    -   **Node 22** — Node 18 and 20 are no longer supported.
    
    Check the full [upgrade guide](https://docs.astro.build/en/guides/upgrade-to/v6/) for all the details.
    
    ## Watch out for import.meta.env
    
    One change worth calling out: `import.meta.env` values are now **always inlined at build time** in Astro 6. This means if you were relying on `import.meta.env` to read environment variables at runtime in your server-side code, those values will be baked into your build output instead.
    
    To read environment variables at runtime, use `process.env` instead:
    
    ```
    - const apiKey = import.meta.env.API_KEY;+ const apiKey = process.env.API_KEY;
    ```
    
    This is especially important for secrets. If a secret is inlined into your server bundle, it’s no longer secret. The good news: Netlify’s [smart secret scanning](https://docs.netlify.com/manage/security/secret-scanning/) will automatically detect exposed secrets in your build output and fail the build before it goes live, so you’ll know right away if something slipped through.
    
    ## Deploy an Astro 6 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 6 just works on Netlify Permalink](/changelog/2026-03-10-astro-6/)
    
-   [
    
    ## Security Update: Multiple vulnerabilities in SvelteKit
    
    ](/changelog/2026-01-15-sveltekit-security-vulnerabilities/)
    
    January 15, 2026
    
    -   [security](/changelog/tag/security/)
    -   [framework](/changelog/tag/framework/)
    
    The Svelte team has disclosed [five CVEs affecting the Svelte and SvelteKit ecosystem](https://svelte.dev/blog/cves-affecting-the-svelte-ecosystem). Here’s what Netlify customers need to know.
    
    ## Vulnerabilities
    
    -   [**CVE-2026-22775**](https://www.cve.org/CVERecord?id=CVE-2026-22775): Memory/CPU exhaustion in `devalue` (5.1.0–5.6.1)
    -   [**CVE-2026-22774**](https://www.cve.org/CVERecord?id=CVE-2026-22774): Memory exhaustion in `devalue` (5.3.0–5.6.1)
    -   [**CVE-2026-22803**](https://www.cve.org/CVERecord?id=CVE-2026-22803): Server crash in `@sveltejs/kit` (2.49.0–2.49.4)
    -   [**CVE-2025-67647**](https://www.cve.org/CVERecord?id=CVE-2025-67647): Server crash and SSRF in `@sveltejs/kit` (2.44.0–2.49.4) and `@sveltejs/adapter-node` (2.19.0–2.49.4)
    -   [**CVE-2025-15265**](https://www.cve.org/CVERecord?id=CVE-2025-15265): XSS in `svelte` (5.46.0–5.46.3)
    
    ## Impact on Netlify
    
    ### CVE-2026-22775, CVE-2026-22774, and CVE-2026-22803
    
    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.
    
    In addition, note that only sites using the experimental [Remote Functions](https://svelte.dev/docs/kit/remote-functions) feature are affected.
    
    ### CVE-2025-67647
    
    As above, this DoS vulnerability involves intentionally “crashing” a server. **On Netlify, this has minimal impact.**
    
    The SSRF vulnerability affects a `@sveltejs/adapter-node`, which is not used by apps deployed to Netlify.
    
    ### CVE-2025-15265
    
    This is a client-side cross-site scripting (XSS) vulnerability. **Regardless of hosting provider, all apps using the experimental `hydratable` with unsanitized user-controlled keys are vulnerable**.
    
    ## What should I do?
    
    Although the impact to Netlify sites is limited in this case, we always strongly recommend upgrading as soon as possible to patched releases:
    
    -   `devalue` 5.6.2 or later
    -   `@sveltejs/kit` 2.49.5 or later
    -   `@sveltejs/adapter-node` 5.5.1 or later
    -   `svelte` 5.46.4 or later
    
    ## Resources
    
    -   [Svelte team disclosure](https://svelte.dev/blog/cves-affecting-the-svelte-ecosystem)
    
    [Permalink to Security Update: Multiple vulnerabilities in SvelteKit Permalink](/changelog/2026-01-15-sveltekit-security-vulnerabilities/)
    
-   [
    
    ## Angular v21 is now supported
    
    ](/changelog/2025-11-20-support-for-angular-v21/)
    
    November 20, 2025
    
    -   [framework](/changelog/tag/framework/)
    -   [angular](/changelog/tag/angular/)
    
    Angular v21 [was released today](https://blog.angular.dev/announcing-angular-v21-57946c34f14b) and it is supported on Netlify on day one.
    
    To upgrade, follow the [Angular upgrade steps](https://angular.dev/update-guide?v=20.0-21.0&l=1) and update `@netlify/angular-runtime` to v3.0.1 or later.
    
    Learn more:
    
    -   [Angular v21 Release](https://angular.dev/events/v21)
    -   [Angular on Netlify](https://docs.netlify.com/build/frameworks/framework-setup-guides/angular/)
    -   [Angular Runtime](https://github.com/netlify/angular-runtime)
    
    [Permalink to Angular v21 is now supported Permalink](/changelog/2025-11-20-support-for-angular-v21/)
    
-   [
    
    ## React Router 7 apps can now be deployed to Edge Functions
    
    ](/changelog/react-router-7-apps-can-now-be-deployed-to-edge-functions/)
    
    November 10, 2025
    
    -   [framework](/changelog/tag/framework/)
    -   [remix](/changelog/tag/remix/)
    
    React Router 7 apps on Netlify are deployed to Serverless Functions by default. Now, you can choose to deploy your app to [Edge Functions](https://docs.netlify.com/build/edge-functions/overview/) instead, bringing your page renders, data loaders, and actions closer to your users while lowering cold start times.
    
    ## How to use it
    
    1.  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
    ```
    
    2.  Update to the latest version of the Netlify React Router plugin:
    
    ```
    npm install @netlify/vite-plugin-react-router@latest
    ```
    
    3.  Enable the new `edge` option in your `vite.config.ts` (or `.js`):
    
    ```
    export default defineConfig({  plugins: [    reactRouter(),    netlifyReactRouter({ edge: true }), // <- deploy to Edge Functions    netlify(),  ],})
    ```
    
    4.  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](https://docs.netlify.com/build/edge-functions/api/#runtime-environment) or [limitations](https://docs.netlify.com/build/edge-functions/limits/#feature-limitations)
    
    ## Next steps
    
    -   Create a new React Router 7 project with [our template](https://github.com/netlify/react-router-template/)
    -   Read the [Netlify React Router plugin docs](https://github.com/netlify/remix-compute/tree/main/packages/vite-plugin-react-router#react-router-adapter-for-netlify) for more details on deploying to the edge
    
    [Permalink to React Router 7 apps can now be deployed to Edge Functions Permalink](/changelog/react-router-7-apps-can-now-be-deployed-to-edge-functions/)
    
-   [
    
    ## React Router 7 middleware now supported
    
    ](/changelog/react-router-7-middleware-now-supported/)
    
    October 24, 2025
    
    -   [framework](/changelog/tag/framework/)
    -   [remix](/changelog/tag/remix/)
    
    React Router 7 [recently launched its long-awaited middleware feature](https://remix.run/blog/middleware), stable since v7.9.0.
    
    Middleware is now fully supported on Netlify.
    
    ## 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
    ```
    
    Upgrade to version 2 of the Netlify React Router plugin:
    
    ```
    npm install @netlify/vite-plugin-react-router@latest
    ```
    
    After that, middleware works out of the box.
    
    ## Next steps
    
    -   [Check out the full React Router middleware docs](https://reactrouter.com/how-to/middleware)
    -   [Create a new React Router 7 project with our updated template](https://github.com/netlify/react-router-template/)
    -   [Read the Netlify React Router plugin docs](https://github.com/netlify/remix-compute/tree/main/packages/vite-plugin-react-router#react-router-adapter-for-netlify) for more on loader/action context and to access type-safe [Netlify context](https://docs.netlify.com/build/functions/api/#netlify-specific-context-object) in middleware
    
    [Permalink to React Router 7 middleware now supported Permalink](/changelog/react-router-7-middleware-now-supported/)
    

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