Change8

astro@6.0.0-beta.13

Breaking Changes
📦 astroView on GitHub →
1 breaking3 features🐛 3 fixes🔧 4 symbols

Summary

This release introduces an NPM font provider, enhances the `<Code />` component with support for embedded languages, and updates how code block styles are emitted for better CSP compatibility. Adapters can now explicitly control HTML streaming via `createApp()`.

⚠️ Breaking Changes

  • The way styles applied to code blocks are emitted has changed to better support CSP. Consult the v6 upgrade guidance for details on potential impact.

Migration Steps

  1. Review changes related to how Shiki code block styles are emitted if you rely on custom CSP configurations. See the v6 upgrade guidance.
  2. If implementing an adapter, note that `createApp()` now accepts a `streaming` option; if you need to disable streaming, pass `streaming: false`.

✨ New Features

  • Added a new built-in font provider `npm` to allow adding web fonts specified in `package.json` via the Fonts API.
  • Added optional `embeddedLangs` prop to the `<Code />` component to support highlighting secondary languages within a code block (e.g., TSX inside a Vue file).
  • The `createApp()` function in the Adapter API now accepts an optional `streaming` option (defaults to `true`) to control HTML streaming behavior.

🐛 Bug Fixes

  • Improved rendering by preserving the `hidden="until-found"` attribute value in attributes.
  • Avoided bundling SSR renderers when only API endpoints are dynamic.
  • Fixed an issue where `context.csp` was logging warnings in development that should only be logged in production.

Affected Symbols