release notes
release notes
Published 2/17/2026
Contains new features84d6efd Thanks @ematipico! - Changes how styles applied to code blocks are emitted to support CSP - (v6 upgrade guidance)#15529 a509941 Thanks @florian-lefebvre! - Adds a new build-in font provider npm to access fonts installed as NPM packages
You can now add web fonts specified in your package.json through Astro's type-safe Fonts API. The npm font provider allows you to add fonts either from locally installed packages in node_modules or from a CDN.
Set fontProviders.npm() as your fonts provider along with the required name and cssVariable values, and add options as needed:
import { defineConfig, fontProviders } from 'astro/config';
export default defineConfig({
experimental: {
fonts: [
{
name: 'Roboto',
provider: fontProviders.npm(),
cssVariable: '--font-roboto',
},
],
},
});
See the NPM font provider reference documentation for more details.
#15548 5b8f573 Thanks @florian-lefebvre! - Adds a new optional embeddedLangs prop to the <Code /> component to support languages beyond the primary lang
This allows, for example, highlighting .vue files with a <script setup lang="tsx"> block correctly:
---
import { Code } from 'astro:components';
const code = `
<script setup lang="tsx">
const Text = ({ text }: { text: string }) => <div>{text}</div>;
</script>
<template>
<Text text="hello world" />
</template>`;
---
<Code {code} lang="vue" embeddedLangs={['tsx']} />
See the <Code /> component documentation for more details.
#15483 7be3308 Thanks @florian-lefebvre! - Adds streaming option to the createApp() function in the Adapter API, mirroring the same functionality available when creating a new App instance
An adapter's createApp() function now accepts streaming (defaults to true) as an option. HTML streaming breaks a document into chunks to send over the network and render on the page in order. This normally results in visitors seeing your HTML as fast as possible but factors such as network conditions and waiting for data fetches can block page rendering.
HTML streaming helps with performance and generally provides a better visitor experience. In most cases, disabling streaming is not recommended.
However, when you need to disable HTML streaming (e.g. your host only supports non-streamed HTML caching at the CDN level), you can opt out of the default behavior by passing streaming: false to createApp():
import { createApp } from 'astro/app/entrypoint';
const app = createApp({ streaming: false });
See more about the createApp() function in the Adapter API reference.
#15542 9760404 Thanks @rururux! - Improves rendering by preserving hidden="until-found" value in attribues
#15550 58df907 Thanks @florian-lefebvre! - Improves the JSDoc annotations for the AstroAdapter type
#15507 07f6610 Thanks @matthewp! - Avoid bundling SSR renderers when only API endpoints are dynamic
#15459 a4406b4 Thanks @florian-lefebvre! - Fixes a case where context.csp was logging warnings in development that should be logged in production only
Updated dependencies [84d6efd]:
release notes
Published 2/17/2026
Contains new features84d6efd Thanks @ematipico! - Changes how styles applied to code blocks are emitted to support CSP - (v6 upgrade guidance)#15529 a509941 Thanks @florian-lefebvre! - Adds a new build-in font provider npm to access fonts installed as NPM packages
You can now add web fonts specified in your package.json through Astro's type-safe Fonts API. The npm font provider allows you to add fonts either from locally installed packages in node_modules or from a CDN.
Set fontProviders.npm() as your fonts provider along with the required name and cssVariable values, and add options as needed:
import { defineConfig, fontProviders } from 'astro/config';
export default defineConfig({
experimental: {
fonts: [
{
name: 'Roboto',
provider: fontProviders.npm(),
cssVariable: '--font-roboto',
},
],
},
});
See the NPM font provider reference documentation for more details.
#15548 5b8f573 Thanks @florian-lefebvre! - Adds a new optional embeddedLangs prop to the <Code /> component to support languages beyond the primary lang
This allows, for example, highlighting .vue files with a <script setup lang="tsx"> block correctly:
---
import { Code } from 'astro:components';
const code = `
<script setup lang="tsx">
const Text = ({ text }: { text: string }) => <div>{text}</div>;
</script>
<template>
<Text text="hello world" />
</template>`;
---
<Code {code} lang="vue" embeddedLangs={['tsx']} />
See the <Code /> component documentation for more details.
#15483 7be3308 Thanks @florian-lefebvre! - Adds streaming option to the createApp() function in the Adapter API, mirroring the same functionality available when creating a new App instance
An adapter's createApp() function now accepts streaming (defaults to true) as an option. HTML streaming breaks a document into chunks to send over the network and render on the page in order. This normally results in visitors seeing your HTML as fast as possible but factors such as network conditions and waiting for data fetches can block page rendering.
HTML streaming helps with performance and generally provides a better visitor experience. In most cases, disabling streaming is not recommended.
However, when you need to disable HTML streaming (e.g. your host only supports non-streamed HTML caching at the CDN level), you can opt out of the default behavior by passing streaming: false to createApp():
import { createApp } from 'astro/app/entrypoint';
const app = createApp({ streaming: false });
See more about the createApp() function in the Adapter API reference.
#15542 9760404 Thanks @rururux! - Improves rendering by preserving hidden="until-found" value in attribues
#15550 58df907 Thanks @florian-lefebvre! - Improves the JSDoc annotations for the AstroAdapter type
#15507 07f6610 Thanks @matthewp! - Avoid bundling SSR renderers when only API endpoints are dynamic
#15459 a4406b4 Thanks @florian-lefebvre! - Fixes a case where context.csp was logging warnings in development that should be logged in production only
Updated dependencies [84d6efd]:
The web framework for content-driven websites. ⭐️ Star to support our work!