Change8

astro@6.0.0-beta.15

📦 astroView on GitHub →
4 features🐛 10 fixes🔧 2 symbols

Summary

This release introduces two major experimental features: a queue-based rendering engine (`queuedRendering`) for potential performance gains, and an optional Rust-based compiler (`rustCompiler`). Several performance improvements and bug fixes related to SSR, client-side navigation, and build stability were also implemented.

Migration Steps

  1. If enabling `experimental.rustCompiler`, you must install the `@astrojs/compiler-rs` package separately.
  2. If you were relying on Shiki syntax highlighting while using Content Security Policy (CSP), be aware that they are now incompatible, and you should remove Shiki or adjust CSP.

✨ New Features

  • Adds a new experimental flag `queuedRendering` to enable a queue-based rendering engine, which uses a two-pass process for traversal and rendering.
  • Introduces optional node pooling with `experimental.queuedRendering.poolSize` to reuse nodes across static page renderings.
  • Introduces optional content caching with `experimental.queuedRendering.contentCache` to cache node values during rendering.
  • Adds a new flag `experimental.rustCompiler` to opt into the experimental Rust-based Astro compiler, which offers faster compilation and better error messages.

🐛 Bug Fixes

  • Fixes an issue where the use of the Astro internal logger couldn't work with Cloudflare Vite plugin.
  • Removes types for the `astro:ssr-manifest` module, which was removed.
  • Improves compatibility of the built-in image endpoint with runtimes that don't support CJS dependencies correctly.
  • Reverts the support of Shiki with CSP due to incompatibility (Shiki uses inline styles). Adds a warning when both CSP and Shiki are enabled.
  • Improves `.astro` component SSR rendering performance by up to 2x through micro-optimizations.
  • Fixes font flash (FOUT) during ClientRouter navigation by preserving inline `<style>` elements and font preload links in the head during page transitions.
  • Fixes a build error when generating projects with a large number of static routes.
  • Fixes an issue where original (unoptimized) images from prerendered pages could be kept in the build output during SSR builds.
  • Fixes an issue where the use of the `Code` component would result in an unexpected error.
  • Add a default body size limit for server actions to prevent oversized requests.

Affected Symbols