stack.pulse
#stacks/astro/framework

Astro release notes, breaking changes, and upgrade notes.

The web framework for content-driven websites StackPulse turns upstream changelogs into scannable summaries with risky changes, deprecations, migration notes, and source links.

releases
20
breaking
5
security
0
deprecated
5
migrations
6

Get source-linked upgrade notes and occasional sponsor recommendations. No GitHub login required.

what stackpulse tracks

Astro releases from GitHub

StackPulse watches Astro release notes and keeps the original source link close to every summary.

upgrade risk

Breaking changes and deprecations

Risky changes are separated from normal feature notes so you can scan upgrade impact before changing production dependencies.

migration notes

Source-backed next steps

Migration steps and recommended actions are only shown when the upstream release notes support them.

# latest_releases

source-backed
@astrojs/vue@7.0.0highbreakingdeprecationmigrationfeatureJun 22, 2026

@astrojs/vue@7.0.0

This release upgrades to Vite v8 and introduces a new entrypoint for `getContainerRenderer()` to optimize bundling.

affected

Users of `getContainerRenderer()` are affected by the deprecation and need to update their import statements.

action

Update import statements for `getContainerRenderer()` to use the new `container-renderer` entrypoint.

release_signals
-Importing `getContainerRenderer()` from the package root is deprecated and now logs a warning. Use the new `container-renderer` entrypoint instead.
!Importing `getContainerRenderer()` from the package root is deprecated.
+Upgrade to Vite v8
+New `container-renderer` entrypoint for `getContainerRenderer()`
migration_steps1 steps
  1. 01Update `getContainerRenderer()` imports to use the new `container-renderer` entrypoint. Example: `import { getContainerRenderer } from '@astrojs/react/container-renderer';`
view source on github->
@astrojs/svelte@9.0.0highdeprecationmigrationfeatureJun 22, 2026

@astrojs/svelte@9.0.0

This release upgrades to Vite v8 and introduces a new entrypoint for `getContainerRenderer()` to improve bundling efficiency. It also updates the Svelte Vite plugin to version 7.

affected

Developers using `getContainerRenderer()` or relying on Vite v7 are affected.

action

Update import statements for `getContainerRenderer()` to use the new `container-renderer` entrypoint.

release_signals
!Importing `getContainerRenderer()` from the package root is deprecated and logs a warning.
+Upgrade to Vite v8
+New `container-renderer` entrypoint for `getContainerRenderer()`
+Update `@sveltejs/vite-plugin-svelte` to v7
migration_steps1 steps
  1. 01Update `getContainerRenderer()` import statements to use the new `container-renderer` entrypoint.
view source on github->
astro@7.0.0highbreakingdeprecationmigrationfeatureJun 22, 2026

astro@7.0.0

Astro 7.0.0 introduces significant changes including upgrading to Vite v8, making 'jsx' the default for HTML compression, and enabling advanced routing by default. The release also removes the `@astrojs/db` package and replaces the Go compiler with a Rust-based version.

affected

Developers using `@astrojs/db`, remark/rehype Markdown processing, or custom advanced routing configurations are affected.

action

Review and update configurations as per the migration steps provided.

release_signals
-Removes the `@astrojs/db` package and related CLI commands
-Replaces the Go compiler with a Rust-based version, which is more strict regarding invalid syntax
-Makes Sätteri the default Markdown processor, requiring manual configuration to continue using remark/rehype
-Enables advanced routing by default, requiring updates to `fetchFile` configuration
!Removes the `@astrojs/db` package
!Removes the `experimental.rustCompiler` flag
!Deprecates `markdown.remarkPlugins`, `markdown.rehypePlugins`, and `markdown.remarkRehype` options without `@astrojs/markdown-remark`
+Upgrade to Vite v8
+Makes 'jsx' the default value for `compressHTML`
+Adds background dev server management for AI coding agents
+Replaces the Go compiler with a Rust-based version
+Makes Sätteri the default Markdown processor
migration_steps4 steps
  1. 01Remove `@astrojs/db` from dependencies and replace it with alternatives like Node.js built-in SQLite or Drizzle ORM
  2. 02Remove `experimental.rustCompiler` flag from `astro.config.mjs`
  3. 03Install `@astrojs/markdown-remark` and configure `markdown.processor` to continue using remark/rehype
  4. 04Update `fetchFile` configuration for advanced routing if using a custom entrypoint
view source on github->
astro@7.0.0-beta.6highbreakingdeprecationmigrationfeatureprereleaseJun 19, 2026

astro@7.0.0-beta.6

Route caching is now stable with top-level configuration options. Also includes minor fixes for build warnings.

affected

Users using experimental route caching need to update their configuration.

action

Migrate cache configuration by moving options out of the experimental block.

release_signals
-Moved 'cache' and 'routeRules' out of 'experimental' block in configuration
!Removed 'experimental.cache' and 'experimental.routeRules' flags
+Route caching is now stable with top-level 'cache' and 'routeRules' configuration options
migration_steps1 steps
  1. 01Update config to move 'cache' and 'routeRules' out of the 'experimental' block
view source on github->
@astrojs/react@6.0.0-beta.2mediumdeprecationmigrationfeatureprereleaseJun 18, 2026

@astrojs/react@6.0.0-beta.2

This release introduces a new container-renderer entrypoint for getContainerRenderer() to optimize bundling. Import paths have been updated for better bundler efficiency.

affected

Affects developers using Container API with getContainerRenderer() imports from package root.

action

Update imports to use the new container-renderer entrypoint as shown in the diff snippet.

release_signals
!Importing getContainerRenderer() from package root is now deprecated and will log a warning
+Added container-renderer entrypoint for getContainerRenderer() across multiple integrations (React, Preact, Svelte, SolidJS, Vue, MDX)
migration_steps2 steps
  1. 01Update getContainerRenderer() imports to use '@astrojs/react/container-renderer' instead of package root
  2. 02For React, change: import { getContainerRenderer } from '@astrojs/react' to import { getContainerRenderer } from '@astrojs/react/container-renderer'
view source on github->