Upgrading from v0.24 or earlier? Check out the Migration Guide.
Breaking & Minor Changes
-
#2820 Thanks @FredKSchott! - New Astro Integrations System!
Full Documentation -
#2849
72ef7ae6
Thanks @natemoo-re! - Introduce newastro add
command to automatically configure integrations.npx astro add
-
#2833
79545412
Thanks @natemoo-re! - This PR introduces a new internal CSS parser for@astrojs/compiler
. Seewithastro/compiler#329
for more details.This fixes Astro's support for modern CSS syntax like
@container
,@layer
, and nesting. Note While Astro now correctly parses this modern syntax, it does not automatically compile features for browser compatability purposes. -
#2824
0a3d3e51
Thanks @bholmesdev! - Change shiki to our default markdown syntax highlighter. This includes updates to all relevant starter projects that used Prism-specific styles.
Patch Changes
-
#2879
80034c6c
Thanks @matthewp! - Netlify AdapterThis change adds a Netlify adapter that uses Netlify Functions. You can use it like so:
import { defineConfig } from 'astro/config'; import netlify from '@astrojs/netlify/functions'; export default defineConfig({ adapter: netlify(), });
-
#2871
5029382a
Thanks @FredKSchott! - Fix a bug where tailwind integration wouldn't apply to markdown pages -
#2852
96372e6b
Thanks @bholmesdev! - Fix "isSelfAccepting" exception when using the new @astrojs/react integration in development -
#2798
4c25a1c2
Thanks @matthewp! - Implement APIs for headers for SSR flag -
#2855
5e52814d
Thanks @matthewp! - Adds support for the Node adapter (SSR)This provides the first SSR adapter available using the
integrations
API. It is a Node.js adapter that can be used with thehttp
module or any framework that wraps it, like Express.In your astro.config.mjs use:
import nodejs from '@astrojs/node'; export default { adapter: nodejs(), };
After performing a build there will be a
dist/server/entry.mjs
module that works like a middleware function. You can use with any framework that supports the Noderequest
andresponse
objects. For example, with Express you can do:import express from 'express'; import { handler as ssrHandler } from '@astrojs/node'; const app = express(); app.use(handler); app.listen(8080);
-
#2859
c781b12f
Thanks @natemoo-re! - Ensure private, internal APIs are not enumerable -
#2835
77ebab8b
Thanks @natemoo-re! - Fix missingpostcss-load-config
dependency -
#2878
2db97f10
Thanks @bholmesdev! - Move the built-inPrism
component fromastro/components
to@astrojs/prism/component
. -
#2857
1061d647
Thanks @bholmesdev! - Improve granularity of production build logs. This now lists:- the "data collection" build step, with timeout warnings for larger imports. This is useful for understanding large
import.meta.glob
calls. - the Vite client bundling step. This logs all Vite production build info to clarify what assets are built alongside your HTML.
- the route generation step, complete with all output HTML files for a given input file. This is especially useful when debugging
getStaticPaths
. - fixes "0 pages in Infinityms" log when building to SSR
- the "data collection" build step, with timeout warnings for larger imports. This is useful for understanding large
-
#2825
1cd7184c
Thanks @hlynursmari1! - Fix island deduplication ignoring props.Re-resolves an issue initially patched in #846 but seemingly lost in the 0.21.0 mega-merge (d84bfe7).This change makes the component render step account for all props, even if they don't affect the generated HTML, when deduplicating island mounts. -
#2873
e4025d1f
Thanks @matthewp! - Improves the build by building to a single file for rendering -
#2815
7b9d042d
Thanks @matthewp! - Allows dynamic routes in SSR to avoid implementing getStaticPaths -
#2875
55712277
Thanks @FredKSchott! - Generalize output assets to avoid adblocker false positives -
#2848
981e2a83
Thanks @FredKSchott! - add missing injected "page" scripts into markdown pages -
#2872
098f6f6b
Thanks @bholmesdev! - FixisSelfAccepting
errors when using the Preact integration with the Astro dev server -
Updated dependencies [
0a3d3e51
,2db97f10
,d763ec18
]:- @astrojs/[email protected]
- @astrojs/[email protected]