Upgrade to Astro v4
This guide will help you migrate from Astro v3 to Astro v4.
Need to upgrade an older project to v3? See our older migration guide.
Need to see the v3 docs? Visit this older version of the docs site (unmaintained) (random deploy preview lol)
Upgrade Astro
Section titled Upgrade AstroUpdate your project’s version of Astro to the latest version using your package manager. If you’re using Astro integrations, please also update those to the latest version.
Astro v4.0 Experimental Flags Removed
Section titled Astro v4.0 Experimental Flags RemovedRemove the following experimental flags from astro.config.mjs
:
These features are now available by default:
Read more about these two exciting features and more in the 4.0 Blog post!
Astro v4.0 Breaking Changes
Section titled Astro v4.0 Breaking ChangesAstro v4.0 includes some breaking changes, as well as the removal of some previously deprecated features. If your project doesn’t work as expected after upgrading to v4.0, check this guide for an overview of all breaking changes and instructions on how to update your codebase.
See the changelog for full release notes.
Upgraded: Vite 5.0
Section titled Upgraded: Vite 5.0In Astro v3.0, Vite 4 was used as the development server and production bundler.
Astro v4.0 upgrades from Vite 4 to Vite 5.
What should I do?
Section titled What should I do?If you are using Vite-specific plugins, configuration or APIs, check the Vite migration guide for their breaking changes and upgrade your project as needed. There are no breaking changes to Astro itself.
Updated: unified, remark, and rehype dependencies
Section titled Updated: unified, remark, and rehype dependenciesIn Astro v3.x, unified v10 and its related compatible remark/rehype packages were used to process Markdown and MDX.
Astro v4.0 upgrades unified to v11 and the other remark/rehype packages to latest.
What should I do?
Section titled What should I do?If you used custom remark/rehype packages, update all of them to latest using your package manager to ensure they support unified v11. The packages you are using can be found in astro.config.mjs
. There should not be any significant breaking changes if you use actively-updated packages, but some packages may not yet be compatible with unified v11.
Visually inspect your Markdown/MDX pages before deploying to ensure your site is functioning as intended.
Renamed: entrypoint
(Integrations API)
Section titled Renamed: entrypoint (Integrations API)In Astro v3.x, the property of the injectRoute
integrations API that specified the route entry point was named entryPoint
.
Astro v4.0 renames this property to entrypoint
to be consistent with other Astro APIs. The entryPoint
property is deprecated, but will continue to work and logs a warning prompting you to update your code.
What should I do?
Section titled What should I do?If you have integrations that use the injectRoute
API, rename the entryPoint
property to entrypoint
. If you’re a library author who wants to support both Astro 3 and 4, you can specify both entryPoint
and entrypoint
, in which case, a warning will not be logged.
Community Resources
Section titled Community ResourcesKnow a good resource for Astro v4.0? Edit this page and add a link below!
Known Issues
Section titled Known IssuesThere are currently no known issues.