diff --git a/.changeset/afraid-socks-rescue.md b/.changeset/afraid-socks-rescue.md
deleted file mode 100644
index b5a9c587e5..0000000000
--- a/.changeset/afraid-socks-rescue.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"astro": patch
----
-
-Improves `astro add` error reporting when the dependencies fail to install
diff --git a/.changeset/blue-bobcats-remain.md b/.changeset/blue-bobcats-remain.md
deleted file mode 100644
index 3562d49aef..0000000000
--- a/.changeset/blue-bobcats-remain.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-"@astrojs/preact": minor
----
-
-Allows rendering lazy components.
-
-You can now use [lazy components](https://preactjs.com/guide/v10/switching-to-preact/#suspense-experimental) with Suspense:
-
-``` jsx
-import { lazy, Suspense } from 'preact/compat';
-
-const HeavyComponent= lazy(() => import('./HeavyComponent'));
-
-const Component = () => {
- return (
- Loading...
}>
-
-
- );
-};
-```
diff --git a/.changeset/breezy-eyes-teach.md b/.changeset/breezy-eyes-teach.md
deleted file mode 100644
index 6ab45e666e..0000000000
--- a/.changeset/breezy-eyes-teach.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-"astro": patch
----
-
-Fixes back navigation to fragment links (e.g. `#about`) in Firefox when using view transitions
-
-Co-authored-by: Florian Lefebvre <69633530+florian-lefebvre@users.noreply.github.com>
-Co-authored-by: Sarah Rainsberger
diff --git a/.changeset/bright-feet-flash.md b/.changeset/bright-feet-flash.md
deleted file mode 100644
index d88d2aecea..0000000000
--- a/.changeset/bright-feet-flash.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'astro': minor
----
-
-Adds a `'load'` prefetch strategy to prefetch links on page load
diff --git a/.changeset/chatty-penguins-sin.md b/.changeset/chatty-penguins-sin.md
deleted file mode 100644
index 5c6a1bdf0d..0000000000
--- a/.changeset/chatty-penguins-sin.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'create-astro': minor
----
-
-Improves the `create astro` CLI experience by asking all the questions upfront, then creating your new Astro project based on your responses.
diff --git a/.changeset/chilly-badgers-push.md b/.changeset/chilly-badgers-push.md
deleted file mode 100644
index ffe277122b..0000000000
--- a/.changeset/chilly-badgers-push.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-'@astrojs/solid-js': major
----
-
-Render SolidJS components using [`renderToStringAsync`](https://www.solidjs.com/docs/latest#rendertostringasync).
-
-This changes the renderer of SolidJS components from `renderToString` to `renderToStringAsync`. It also injects the actual SolidJS hydration script generated by [`generateHydrationScript`](https://www.solidjs.com/guides/server#hydration-script), so that [`Suspense`](https://www.solidjs.com/docs/latest#suspense), [`ErrorBoundary`](https://www.solidjs.com/docs/latest#errorboundary) and similar components can be hydrated correctly.
-
-The server render phase will now wait for Suspense boundaries to resolve instead of always rendering the Suspense fallback.
-
-If you use the APIs [`createResource`](https://www.solidjs.com/docs/latest#createresource) or [`lazy`](https://www.solidjs.com/docs/latest#lazy), their functionalities will now be executed on the server side, not just the client side.
-
-This increases the flexibility of the SolidJS integration. Server-side components can now safely fetch remote data, call async Astro server functions like `getImage()` or load other components dynamically. Even server-only components that do not hydrate in the browser will benefit.
-
-It is very unlikely that a server-only component would have used the Suspense feature until now, so this should not be a breaking change for server-only components.
-
-This could be a breaking change for components that meet the following conditions:
-
-- The component uses Suspense APIs like `Suspense`, `lazy` or `createResource`, and
-- The component is mounted using a *hydrating* directive:
- - `client:load`
- - `client:idle`
- - `client:visible`
- - `client:media`
-
-These components will now first try to resolve the Suspense boundaries on the server side instead of the client side.
-
-If you do not want Suspense boundaries to be resolved on the server (for example, if you are using createResource to do an HTTP fetch that relies on a browser-side cookie), you may consider:
-
-- changing the template directive to `client:only` to skip server side rendering completely
-- use APIs like [isServer](https://www.solidjs.com/docs/latest/api#isserver) or `onMount()` to detect server mode and render a server fallback without using Suspense.
diff --git a/.changeset/chilly-students-glow.md b/.changeset/chilly-students-glow.md
deleted file mode 100644
index b7f5ca4e89..0000000000
--- a/.changeset/chilly-students-glow.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'astro': minor
----
-
-Adds "Missing ARIA roles check" and "Unsupported ARIA roles check" audit rules for the dev toolbar
diff --git a/.changeset/cyan-seals-bathe.md b/.changeset/cyan-seals-bathe.md
deleted file mode 100644
index 0e2f69f597..0000000000
--- a/.changeset/cyan-seals-bathe.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"astro": minor
----
-
-Allows passing a string to `--open` and `server.open` to open a specific URL on startup in development
diff --git a/.changeset/four-moles-burn.md b/.changeset/four-moles-burn.md
deleted file mode 100644
index 3f45f452d9..0000000000
--- a/.changeset/four-moles-burn.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'astro': minor
----
-
-Adds a helpful error for static sites when you use the `astro preview` command if you have not previously run `astro build`.
diff --git a/.changeset/funny-lobsters-promise.md b/.changeset/funny-lobsters-promise.md
deleted file mode 100644
index 6b77e442cc..0000000000
--- a/.changeset/funny-lobsters-promise.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"astro": patch
----
-
-Fixes an issue where configuring trailingSlash had no effect on API routes.
diff --git a/.changeset/poor-apes-cheat.md b/.changeset/poor-apes-cheat.md
deleted file mode 100644
index 1d8c380d0b..0000000000
--- a/.changeset/poor-apes-cheat.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-'astro': minor
----
-
-Adds an option for the Sharp image service to allow large images to be processed. Set `limitInputPixels: false` to bypass the default image size limit:
-
-```js
-// astro.config.mjs
-import { defineConfig } from 'astro/config';
-
-export default defineConfig({
- image: {
- service: {
- entrypoint: 'astro/assets/services/sharp',
- config: {
- limitInputPixels: false,
- },
- },
- },
-});
-```
diff --git a/.changeset/silent-rabbits-cross.md b/.changeset/silent-rabbits-cross.md
deleted file mode 100644
index d00b47f4f1..0000000000
--- a/.changeset/silent-rabbits-cross.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"astro": patch
----
-
-Fixes page titles in the browser's drop-down for back / forward navigation when using view transitions
diff --git a/.changeset/six-bottles-mix.md b/.changeset/six-bottles-mix.md
deleted file mode 100644
index d010104a69..0000000000
--- a/.changeset/six-bottles-mix.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"astro": patch
----
-
-Sets correct `process.env.NODE_ENV` default when using the JS API
diff --git a/.changeset/slow-kiwis-own.md b/.changeset/slow-kiwis-own.md
deleted file mode 100644
index 8e22e97d9f..0000000000
--- a/.changeset/slow-kiwis-own.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"astro": patch
----
-
-Adds a `CSSProperties` interface that allows extending the style attribute
diff --git a/.changeset/three-owls-drop.md b/.changeset/three-owls-drop.md
deleted file mode 100644
index f6a5f90e9b..0000000000
--- a/.changeset/three-owls-drop.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-"astro": minor
----
-
-Adds the ability to set a [`rootMargin`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver/rootMargin) setting when using the `client:visible` directive. This allows a component to be hydrated when it is _near_ the viewport, rather than hydrated when it has _entered_ the viewport.
-
-```astro
-
-
-```
diff --git a/.changeset/tiny-days-dance.md b/.changeset/tiny-days-dance.md
deleted file mode 100644
index ae62b609f4..0000000000
--- a/.changeset/tiny-days-dance.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-'astro': minor
----
-
-Cookie encoding / decoding can now be customized
-
-Adds new `encode` and `decode` functions to allow customizing how cookies are encoded and decoded. For example, you can bypass the default encoding via `encodeURIComponent` when adding a URL as part of a cookie:
-
-```astro
----
-import { encodeCookieValue } from "./cookies";
-Astro.cookies.set('url', Astro.url.toString(), {
- // Override the default encoding so that URI components are not encoded
- encode: value => encodeCookieValue(value)
-});
----
-```
-
-Later, you can decode the URL in the same way:
-
-```astro
----
-import { decodeCookieValue } from "./cookies";
-const url = Astro.cookies.get('url', {
- decode: value => decodeCookieValue(value)
-});
----
-```
diff --git a/.changeset/two-hats-arrive.md b/.changeset/two-hats-arrive.md
deleted file mode 100644
index 6796462b0a..0000000000
--- a/.changeset/two-hats-arrive.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'astro': patch
----
-
-Ignores `3g` in slow connection detection. Only `2g` and `slow-2g` are considered slow connections.
diff --git a/examples/basics/package.json b/examples/basics/package.json
index 8ed1da076d..e7b3d9612b 100644
--- a/examples/basics/package.json
+++ b/examples/basics/package.json
@@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
- "astro": "^4.0.9"
+ "astro": "^4.1.0"
}
}
diff --git a/examples/blog/package.json b/examples/blog/package.json
index cd92573805..0d87e509d6 100644
--- a/examples/blog/package.json
+++ b/examples/blog/package.json
@@ -14,6 +14,6 @@
"@astrojs/mdx": "^2.0.3",
"@astrojs/rss": "^4.0.1",
"@astrojs/sitemap": "^3.0.4",
- "astro": "^4.0.9"
+ "astro": "^4.1.0"
}
}
diff --git a/examples/component/package.json b/examples/component/package.json
index 728c58c0d8..b828003aca 100644
--- a/examples/component/package.json
+++ b/examples/component/package.json
@@ -15,7 +15,7 @@
],
"scripts": {},
"devDependencies": {
- "astro": "^4.0.9"
+ "astro": "^4.1.0"
},
"peerDependencies": {
"astro": "^3.0.0"
diff --git a/examples/framework-alpine/package.json b/examples/framework-alpine/package.json
index 2651136e30..12674daedf 100644
--- a/examples/framework-alpine/package.json
+++ b/examples/framework-alpine/package.json
@@ -14,6 +14,6 @@
"@astrojs/alpinejs": "^0.3.2",
"@types/alpinejs": "^3.13.5",
"alpinejs": "^3.13.3",
- "astro": "^4.0.9"
+ "astro": "^4.1.0"
}
}
diff --git a/examples/framework-lit/package.json b/examples/framework-lit/package.json
index 212c4b7f27..e4d2e2cebe 100644
--- a/examples/framework-lit/package.json
+++ b/examples/framework-lit/package.json
@@ -13,7 +13,7 @@
"dependencies": {
"@astrojs/lit": "^4.0.1",
"@webcomponents/template-shadowroot": "^0.2.1",
- "astro": "^4.0.9",
+ "astro": "^4.1.0",
"lit": "^2.8.0"
}
}
diff --git a/examples/framework-multiple/package.json b/examples/framework-multiple/package.json
index c6bdb4fd9c..3e2930ff63 100644
--- a/examples/framework-multiple/package.json
+++ b/examples/framework-multiple/package.json
@@ -11,12 +11,12 @@
"astro": "astro"
},
"dependencies": {
- "@astrojs/preact": "^3.0.2",
+ "@astrojs/preact": "^3.1.0",
"@astrojs/react": "^3.0.9",
- "@astrojs/solid-js": "^3.0.3",
+ "@astrojs/solid-js": "^4.0.0",
"@astrojs/svelte": "^5.0.3",
"@astrojs/vue": "^4.0.7",
- "astro": "^4.0.9",
+ "astro": "^4.1.0",
"preact": "^10.19.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
diff --git a/examples/framework-preact/package.json b/examples/framework-preact/package.json
index 1d15b0b91f..d0ee865af4 100644
--- a/examples/framework-preact/package.json
+++ b/examples/framework-preact/package.json
@@ -11,9 +11,9 @@
"astro": "astro"
},
"dependencies": {
- "@astrojs/preact": "^3.0.2",
+ "@astrojs/preact": "^3.1.0",
"@preact/signals": "^1.2.1",
- "astro": "^4.0.9",
+ "astro": "^4.1.0",
"preact": "^10.19.2"
}
}
diff --git a/examples/framework-react/package.json b/examples/framework-react/package.json
index 6876397bd2..9751750854 100644
--- a/examples/framework-react/package.json
+++ b/examples/framework-react/package.json
@@ -14,7 +14,7 @@
"@astrojs/react": "^3.0.9",
"@types/react": "^18.2.37",
"@types/react-dom": "^18.2.15",
- "astro": "^4.0.9",
+ "astro": "^4.1.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
}
diff --git a/examples/framework-solid/package.json b/examples/framework-solid/package.json
index 1ac1ac9af5..efe7f0c813 100644
--- a/examples/framework-solid/package.json
+++ b/examples/framework-solid/package.json
@@ -11,8 +11,8 @@
"astro": "astro"
},
"dependencies": {
- "@astrojs/solid-js": "^3.0.3",
- "astro": "^4.0.9",
+ "@astrojs/solid-js": "^4.0.0",
+ "astro": "^4.1.0",
"solid-js": "^1.8.5"
}
}
diff --git a/examples/framework-svelte/package.json b/examples/framework-svelte/package.json
index d7f859642f..a6cab2ef52 100644
--- a/examples/framework-svelte/package.json
+++ b/examples/framework-svelte/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@astrojs/svelte": "^5.0.3",
- "astro": "^4.0.9",
+ "astro": "^4.1.0",
"svelte": "^4.2.5"
}
}
diff --git a/examples/framework-vue/package.json b/examples/framework-vue/package.json
index b8f46c7d53..e38759ad07 100644
--- a/examples/framework-vue/package.json
+++ b/examples/framework-vue/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@astrojs/vue": "^4.0.7",
- "astro": "^4.0.9",
+ "astro": "^4.1.0",
"vue": "^3.3.8"
}
}
diff --git a/examples/hackernews/package.json b/examples/hackernews/package.json
index 10e2cef66f..cbc5b3aebc 100644
--- a/examples/hackernews/package.json
+++ b/examples/hackernews/package.json
@@ -12,6 +12,6 @@
},
"dependencies": {
"@astrojs/node": "^7.0.4",
- "astro": "^4.0.9"
+ "astro": "^4.1.0"
}
}
diff --git a/examples/integration/package.json b/examples/integration/package.json
index 914397e0ce..75beefa921 100644
--- a/examples/integration/package.json
+++ b/examples/integration/package.json
@@ -15,7 +15,7 @@
],
"scripts": {},
"devDependencies": {
- "astro": "^4.0.9"
+ "astro": "^4.1.0"
},
"peerDependencies": {
"astro": "^3.0.0"
diff --git a/examples/middleware/package.json b/examples/middleware/package.json
index ea19c7a873..183ff1c593 100644
--- a/examples/middleware/package.json
+++ b/examples/middleware/package.json
@@ -13,7 +13,7 @@
},
"dependencies": {
"@astrojs/node": "^7.0.4",
- "astro": "^4.0.9",
+ "astro": "^4.1.0",
"html-minifier": "^4.0.0"
},
"devDependencies": {
diff --git a/examples/minimal/package.json b/examples/minimal/package.json
index 233f0474fa..ac5a85e056 100644
--- a/examples/minimal/package.json
+++ b/examples/minimal/package.json
@@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
- "astro": "^4.0.9"
+ "astro": "^4.1.0"
}
}
diff --git a/examples/non-html-pages/package.json b/examples/non-html-pages/package.json
index d86fb3091a..53d08f0380 100644
--- a/examples/non-html-pages/package.json
+++ b/examples/non-html-pages/package.json
@@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
- "astro": "^4.0.9"
+ "astro": "^4.1.0"
}
}
diff --git a/examples/portfolio/package.json b/examples/portfolio/package.json
index e3afa006c0..5476abfc3e 100644
--- a/examples/portfolio/package.json
+++ b/examples/portfolio/package.json
@@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
- "astro": "^4.0.9"
+ "astro": "^4.1.0"
}
}
diff --git a/examples/ssr/package.json b/examples/ssr/package.json
index 5167af81f9..e7216030a3 100644
--- a/examples/ssr/package.json
+++ b/examples/ssr/package.json
@@ -14,7 +14,7 @@
"dependencies": {
"@astrojs/node": "^7.0.4",
"@astrojs/svelte": "^5.0.3",
- "astro": "^4.0.9",
+ "astro": "^4.1.0",
"svelte": "^4.2.5"
}
}
diff --git a/examples/starlog/package.json b/examples/starlog/package.json
index 97ddbf059f..d8ccd4cfa8 100644
--- a/examples/starlog/package.json
+++ b/examples/starlog/package.json
@@ -10,7 +10,7 @@
"astro": "astro"
},
"dependencies": {
- "astro": "^4.0.9",
+ "astro": "^4.1.0",
"sass": "^1.69.5",
"sharp": "^0.32.5"
}
diff --git a/examples/view-transitions/package.json b/examples/view-transitions/package.json
index 42cdc61788..d495b893af 100644
--- a/examples/view-transitions/package.json
+++ b/examples/view-transitions/package.json
@@ -12,6 +12,6 @@
"devDependencies": {
"@astrojs/tailwind": "^5.1.0",
"@astrojs/node": "^7.0.4",
- "astro": "^4.0.9"
+ "astro": "^4.1.0"
}
}
diff --git a/examples/with-markdoc/package.json b/examples/with-markdoc/package.json
index 714bf0c546..b8070124a6 100644
--- a/examples/with-markdoc/package.json
+++ b/examples/with-markdoc/package.json
@@ -12,6 +12,6 @@
},
"dependencies": {
"@astrojs/markdoc": "^0.8.2",
- "astro": "^4.0.9"
+ "astro": "^4.1.0"
}
}
diff --git a/examples/with-markdown-plugins/package.json b/examples/with-markdown-plugins/package.json
index bdcee218cf..35f42f9145 100644
--- a/examples/with-markdown-plugins/package.json
+++ b/examples/with-markdown-plugins/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@astrojs/markdown-remark": "^4.0.1",
- "astro": "^4.0.9",
+ "astro": "^4.1.0",
"hast-util-select": "^6.0.2",
"rehype-autolink-headings": "^7.1.0",
"rehype-slug": "^6.0.0",
diff --git a/examples/with-markdown-shiki/package.json b/examples/with-markdown-shiki/package.json
index d0b6da252f..376192b9a5 100644
--- a/examples/with-markdown-shiki/package.json
+++ b/examples/with-markdown-shiki/package.json
@@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
- "astro": "^4.0.9"
+ "astro": "^4.1.0"
}
}
diff --git a/examples/with-mdx/package.json b/examples/with-mdx/package.json
index 4a53e0b222..8137e0f6db 100644
--- a/examples/with-mdx/package.json
+++ b/examples/with-mdx/package.json
@@ -12,8 +12,8 @@
},
"dependencies": {
"@astrojs/mdx": "^2.0.3",
- "@astrojs/preact": "^3.0.2",
- "astro": "^4.0.9",
+ "@astrojs/preact": "^3.1.0",
+ "astro": "^4.1.0",
"preact": "^10.19.2"
}
}
diff --git a/examples/with-nanostores/package.json b/examples/with-nanostores/package.json
index 1d143b844e..ff315d0221 100644
--- a/examples/with-nanostores/package.json
+++ b/examples/with-nanostores/package.json
@@ -11,9 +11,9 @@
"astro": "astro"
},
"dependencies": {
- "@astrojs/preact": "^3.0.2",
+ "@astrojs/preact": "^3.1.0",
"@nanostores/preact": "^0.5.0",
- "astro": "^4.0.9",
+ "astro": "^4.1.0",
"nanostores": "^0.9.5",
"preact": "^10.19.2"
}
diff --git a/examples/with-tailwindcss/package.json b/examples/with-tailwindcss/package.json
index 61f7bf8f30..6a7bd10057 100644
--- a/examples/with-tailwindcss/package.json
+++ b/examples/with-tailwindcss/package.json
@@ -14,7 +14,7 @@
"@astrojs/mdx": "^2.0.3",
"@astrojs/tailwind": "^5.1.0",
"@types/canvas-confetti": "^1.6.3",
- "astro": "^4.0.9",
+ "astro": "^4.1.0",
"autoprefixer": "^10.4.15",
"canvas-confetti": "^1.9.1",
"postcss": "^8.4.28",
diff --git a/examples/with-vitest/package.json b/examples/with-vitest/package.json
index ccc9e60049..bb5966c3a0 100644
--- a/examples/with-vitest/package.json
+++ b/examples/with-vitest/package.json
@@ -12,7 +12,7 @@
"test": "vitest"
},
"dependencies": {
- "astro": "^4.0.9",
+ "astro": "^4.1.0",
"vitest": "^0.34.2"
}
}
diff --git a/packages/astro/CHANGELOG.md b/packages/astro/CHANGELOG.md
index 5afff3ce04..0014fdcd8c 100644
--- a/packages/astro/CHANGELOG.md
+++ b/packages/astro/CHANGELOG.md
@@ -1,5 +1,86 @@
# astro
+## 4.1.0
+
+### Minor Changes
+
+- [#9513](https://github.com/withastro/astro/pull/9513) [`e44f6acf99195a3f29b8390fd9b2c06410551b74`](https://github.com/withastro/astro/commit/e44f6acf99195a3f29b8390fd9b2c06410551b74) Thanks [@wtto00](https://github.com/wtto00)! - Adds a `'load'` prefetch strategy to prefetch links on page load
+
+- [#9377](https://github.com/withastro/astro/pull/9377) [`fe719e27a84c09e46b515252690678c174a25759`](https://github.com/withastro/astro/commit/fe719e27a84c09e46b515252690678c174a25759) Thanks [@bluwy](https://github.com/bluwy)! - Adds "Missing ARIA roles check" and "Unsupported ARIA roles check" audit rules for the dev toolbar
+
+- [#9573](https://github.com/withastro/astro/pull/9573) [`2a8b9c56b9c6918531c57ec38b89474571331aee`](https://github.com/withastro/astro/commit/2a8b9c56b9c6918531c57ec38b89474571331aee) Thanks [@bluwy](https://github.com/bluwy)! - Allows passing a string to `--open` and `server.open` to open a specific URL on startup in development
+
+- [#9544](https://github.com/withastro/astro/pull/9544) [`b8a6fa8917ff7babd35dafb3d3dcd9a58cee836d`](https://github.com/withastro/astro/commit/b8a6fa8917ff7babd35dafb3d3dcd9a58cee836d) Thanks [@bluwy](https://github.com/bluwy)! - Adds a helpful error for static sites when you use the `astro preview` command if you have not previously run `astro build`.
+
+- [#9546](https://github.com/withastro/astro/pull/9546) [`08402ad5846c73b6887e74ed4575fd71a3e3c73d`](https://github.com/withastro/astro/commit/08402ad5846c73b6887e74ed4575fd71a3e3c73d) Thanks [@bluwy](https://github.com/bluwy)! - Adds an option for the Sharp image service to allow large images to be processed. Set `limitInputPixels: false` to bypass the default image size limit:
+
+ ```js
+ // astro.config.mjs
+ import { defineConfig } from 'astro/config';
+
+ export default defineConfig({
+ image: {
+ service: {
+ entrypoint: 'astro/assets/services/sharp',
+ config: {
+ limitInputPixels: false,
+ },
+ },
+ },
+ });
+ ```
+
+- [#9596](https://github.com/withastro/astro/pull/9596) [`fbc26976533bbcf2de9d6dba1aa3ea3dc6ce0853`](https://github.com/withastro/astro/commit/fbc26976533bbcf2de9d6dba1aa3ea3dc6ce0853) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds the ability to set a [`rootMargin`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver/rootMargin) setting when using the `client:visible` directive. This allows a component to be hydrated when it is _near_ the viewport, rather than hydrated when it has _entered_ the viewport.
+
+ ```astro
+
+
+ ```
+
+- [#9063](https://github.com/withastro/astro/pull/9063) [`f33fe3190b482a42ebc68cc5275fd7f2c49102e6`](https://github.com/withastro/astro/commit/f33fe3190b482a42ebc68cc5275fd7f2c49102e6) Thanks [@alex-sherwin](https://github.com/alex-sherwin)! - Cookie encoding / decoding can now be customized
+
+ Adds new `encode` and `decode` functions to allow customizing how cookies are encoded and decoded. For example, you can bypass the default encoding via `encodeURIComponent` when adding a URL as part of a cookie:
+
+ ```astro
+ ---
+ import { encodeCookieValue } from './cookies';
+ Astro.cookies.set('url', Astro.url.toString(), {
+ // Override the default encoding so that URI components are not encoded
+ encode: (value) => encodeCookieValue(value),
+ });
+ ---
+ ```
+
+ Later, you can decode the URL in the same way:
+
+ ```astro
+ ---
+ import { decodeCookieValue } from './cookies';
+ const url = Astro.cookies.get('url', {
+ decode: (value) => decodeCookieValue(value),
+ });
+ ---
+ ```
+
+### Patch Changes
+
+- [#9593](https://github.com/withastro/astro/pull/9593) [`3b4e629ac8c2fdb4b491bf01abc7794e2e100173`](https://github.com/withastro/astro/commit/3b4e629ac8c2fdb4b491bf01abc7794e2e100173) Thanks [@bluwy](https://github.com/bluwy)! - Improves `astro add` error reporting when the dependencies fail to install
+
+- [#9563](https://github.com/withastro/astro/pull/9563) [`d48ab90fb41fbc0589cd2df711682a41382c03aa`](https://github.com/withastro/astro/commit/d48ab90fb41fbc0589cd2df711682a41382c03aa) Thanks [@martrapp](https://github.com/martrapp)! - Fixes back navigation to fragment links (e.g. `#about`) in Firefox when using view transitions
+
+ Co-authored-by: Florian Lefebvre <69633530+florian-lefebvre@users.noreply.github.com>
+ Co-authored-by: Sarah Rainsberger
+
+- [#9597](https://github.com/withastro/astro/pull/9597) [`9fd24a546c45d48451da46637c14e7ed54dac76a`](https://github.com/withastro/astro/commit/9fd24a546c45d48451da46637c14e7ed54dac76a) Thanks [@lilnasy](https://github.com/lilnasy)! - Fixes an issue where configuring trailingSlash had no effect on API routes.
+
+- [#9586](https://github.com/withastro/astro/pull/9586) [`82bad5d6205672ed3f6a49d4de53d3a68367433e`](https://github.com/withastro/astro/commit/82bad5d6205672ed3f6a49d4de53d3a68367433e) Thanks [@martrapp](https://github.com/martrapp)! - Fixes page titles in the browser's drop-down for back / forward navigation when using view transitions
+
+- [#9575](https://github.com/withastro/astro/pull/9575) [`ab6049bd58e4d02f47d500f9db08a865bc7f09b8`](https://github.com/withastro/astro/commit/ab6049bd58e4d02f47d500f9db08a865bc7f09b8) Thanks [@bluwy](https://github.com/bluwy)! - Sets correct `process.env.NODE_ENV` default when using the JS API
+
+- [#9587](https://github.com/withastro/astro/pull/9587) [`da307e4a080483f8763f1919a05fa2194bb14e22`](https://github.com/withastro/astro/commit/da307e4a080483f8763f1919a05fa2194bb14e22) Thanks [@jjenzz](https://github.com/jjenzz)! - Adds a `CSSProperties` interface that allows extending the style attribute
+
+- [#9513](https://github.com/withastro/astro/pull/9513) [`e44f6acf99195a3f29b8390fd9b2c06410551b74`](https://github.com/withastro/astro/commit/e44f6acf99195a3f29b8390fd9b2c06410551b74) Thanks [@wtto00](https://github.com/wtto00)! - Ignores `3g` in slow connection detection. Only `2g` and `slow-2g` are considered slow connections.
+
## 4.0.9
### Patch Changes
diff --git a/packages/astro/package.json b/packages/astro/package.json
index aa585b45ea..c5417b08c8 100644
--- a/packages/astro/package.json
+++ b/packages/astro/package.json
@@ -1,6 +1,6 @@
{
"name": "astro",
- "version": "4.0.9",
+ "version": "4.1.0",
"description": "Astro is a modern site builder with web best practices, performance, and DX front-of-mind.",
"type": "module",
"author": "withastro",
diff --git a/packages/create-astro/CHANGELOG.md b/packages/create-astro/CHANGELOG.md
index 45b684e205..24063894f1 100644
--- a/packages/create-astro/CHANGELOG.md
+++ b/packages/create-astro/CHANGELOG.md
@@ -1,5 +1,11 @@
# create-astro
+## 4.7.0
+
+### Minor Changes
+
+- [#9470](https://github.com/withastro/astro/pull/9470) [`607303be198931825dac9f3bc97867b4886feaf3`](https://github.com/withastro/astro/commit/607303be198931825dac9f3bc97867b4886feaf3) Thanks [@onsclom](https://github.com/onsclom)! - Improves the `create astro` CLI experience by asking all the questions upfront, then creating your new Astro project based on your responses.
+
## 4.6.0
### Minor Changes
diff --git a/packages/create-astro/package.json b/packages/create-astro/package.json
index 9a62aca78b..8a9b8991e3 100644
--- a/packages/create-astro/package.json
+++ b/packages/create-astro/package.json
@@ -1,6 +1,6 @@
{
"name": "create-astro",
- "version": "4.6.0",
+ "version": "4.7.0",
"type": "module",
"author": "withastro",
"license": "MIT",
diff --git a/packages/integrations/preact/CHANGELOG.md b/packages/integrations/preact/CHANGELOG.md
index 994349bec7..56cb647550 100644
--- a/packages/integrations/preact/CHANGELOG.md
+++ b/packages/integrations/preact/CHANGELOG.md
@@ -1,5 +1,27 @@
# @astrojs/preact
+## 3.1.0
+
+### Minor Changes
+
+- [#9524](https://github.com/withastro/astro/pull/9524) [`0903ef90494e9c8bd0272347a0cdd51eca7f4648`](https://github.com/withastro/astro/commit/0903ef90494e9c8bd0272347a0cdd51eca7f4648) Thanks [@aleksandrjet](https://github.com/aleksandrjet)! - Allows rendering lazy components.
+
+ You can now use [lazy components](https://preactjs.com/guide/v10/switching-to-preact/#suspense-experimental) with Suspense:
+
+ ```jsx
+ import { lazy, Suspense } from 'preact/compat';
+
+ const HeavyComponent = lazy(() => import('./HeavyComponent'));
+
+ const Component = () => {
+ return (
+ Loading...}>
+
+
+ );
+ };
+ ```
+
## 3.0.2
### Patch Changes
diff --git a/packages/integrations/preact/package.json b/packages/integrations/preact/package.json
index a172152ee6..75e48e8afc 100644
--- a/packages/integrations/preact/package.json
+++ b/packages/integrations/preact/package.json
@@ -1,7 +1,7 @@
{
"name": "@astrojs/preact",
"description": "Use Preact components within Astro",
- "version": "3.0.2",
+ "version": "3.1.0",
"type": "module",
"types": "./dist/index.d.ts",
"author": "withastro",
diff --git a/packages/integrations/solid/CHANGELOG.md b/packages/integrations/solid/CHANGELOG.md
index bcaca37d7c..57837e866e 100644
--- a/packages/integrations/solid/CHANGELOG.md
+++ b/packages/integrations/solid/CHANGELOG.md
@@ -1,5 +1,37 @@
# @astrojs/solid-js
+## 4.0.0
+
+### Major Changes
+
+- [#6791](https://github.com/withastro/astro/pull/6791) [`37021044dd4382a9b214f89b7c221bf1c93f3e7d`](https://github.com/withastro/astro/commit/37021044dd4382a9b214f89b7c221bf1c93f3e7d) Thanks [@patdx](https://github.com/patdx)! - Render SolidJS components using [`renderToStringAsync`](https://www.solidjs.com/docs/latest#rendertostringasync).
+
+ This changes the renderer of SolidJS components from `renderToString` to `renderToStringAsync`. It also injects the actual SolidJS hydration script generated by [`generateHydrationScript`](https://www.solidjs.com/guides/server#hydration-script), so that [`Suspense`](https://www.solidjs.com/docs/latest#suspense), [`ErrorBoundary`](https://www.solidjs.com/docs/latest#errorboundary) and similar components can be hydrated correctly.
+
+ The server render phase will now wait for Suspense boundaries to resolve instead of always rendering the Suspense fallback.
+
+ If you use the APIs [`createResource`](https://www.solidjs.com/docs/latest#createresource) or [`lazy`](https://www.solidjs.com/docs/latest#lazy), their functionalities will now be executed on the server side, not just the client side.
+
+ This increases the flexibility of the SolidJS integration. Server-side components can now safely fetch remote data, call async Astro server functions like `getImage()` or load other components dynamically. Even server-only components that do not hydrate in the browser will benefit.
+
+ It is very unlikely that a server-only component would have used the Suspense feature until now, so this should not be a breaking change for server-only components.
+
+ This could be a breaking change for components that meet the following conditions:
+
+ - The component uses Suspense APIs like `Suspense`, `lazy` or `createResource`, and
+ - The component is mounted using a _hydrating_ directive:
+ - `client:load`
+ - `client:idle`
+ - `client:visible`
+ - `client:media`
+
+ These components will now first try to resolve the Suspense boundaries on the server side instead of the client side.
+
+ If you do not want Suspense boundaries to be resolved on the server (for example, if you are using createResource to do an HTTP fetch that relies on a browser-side cookie), you may consider:
+
+ - changing the template directive to `client:only` to skip server side rendering completely
+ - use APIs like [isServer](https://www.solidjs.com/docs/latest/api#isserver) or `onMount()` to detect server mode and render a server fallback without using Suspense.
+
## 3.0.3
### Patch Changes
diff --git a/packages/integrations/solid/package.json b/packages/integrations/solid/package.json
index d444e511cf..301d36c939 100644
--- a/packages/integrations/solid/package.json
+++ b/packages/integrations/solid/package.json
@@ -1,6 +1,6 @@
{
"name": "@astrojs/solid-js",
- "version": "3.0.3",
+ "version": "4.0.0",
"description": "Use Solid components within Astro",
"type": "module",
"types": "./dist/index.d.ts",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f4e7679b7a..66d2ce6b71 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -125,7 +125,7 @@ importers:
examples/basics:
dependencies:
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
examples/blog:
@@ -140,13 +140,13 @@ importers:
specifier: ^3.0.4
version: link:../../packages/integrations/sitemap
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
examples/component:
devDependencies:
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
examples/framework-alpine:
@@ -161,7 +161,7 @@ importers:
specifier: ^3.13.3
version: 3.13.3
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
examples/framework-lit:
@@ -173,7 +173,7 @@ importers:
specifier: ^0.2.1
version: 0.2.1
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
lit:
specifier: ^2.8.0
@@ -182,13 +182,13 @@ importers:
examples/framework-multiple:
dependencies:
'@astrojs/preact':
- specifier: ^3.0.2
+ specifier: ^3.1.0
version: link:../../packages/integrations/preact
'@astrojs/react':
specifier: ^3.0.9
version: link:../../packages/integrations/react
'@astrojs/solid-js':
- specifier: ^3.0.3
+ specifier: ^4.0.0
version: link:../../packages/integrations/solid
'@astrojs/svelte':
specifier: ^5.0.3
@@ -197,7 +197,7 @@ importers:
specifier: ^4.0.7
version: link:../../packages/integrations/vue
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
preact:
specifier: ^10.19.2
@@ -221,13 +221,13 @@ importers:
examples/framework-preact:
dependencies:
'@astrojs/preact':
- specifier: ^3.0.2
+ specifier: ^3.1.0
version: link:../../packages/integrations/preact
'@preact/signals':
specifier: ^1.2.1
version: 1.2.1(preact@10.19.3)
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
preact:
specifier: ^10.19.2
@@ -245,7 +245,7 @@ importers:
specifier: ^18.2.15
version: 18.2.18
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
react:
specifier: ^18.2.0
@@ -257,10 +257,10 @@ importers:
examples/framework-solid:
dependencies:
'@astrojs/solid-js':
- specifier: ^3.0.3
+ specifier: ^4.0.0
version: link:../../packages/integrations/solid
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
solid-js:
specifier: ^1.8.5
@@ -272,7 +272,7 @@ importers:
specifier: ^5.0.3
version: link:../../packages/integrations/svelte
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
svelte:
specifier: ^4.2.5
@@ -284,7 +284,7 @@ importers:
specifier: ^4.0.7
version: link:../../packages/integrations/vue
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
vue:
specifier: ^3.3.8
@@ -296,13 +296,13 @@ importers:
specifier: ^7.0.4
version: link:../../packages/integrations/node
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
examples/integration:
devDependencies:
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
examples/middleware:
@@ -311,7 +311,7 @@ importers:
specifier: ^7.0.4
version: link:../../packages/integrations/node
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
html-minifier:
specifier: ^4.0.0
@@ -324,19 +324,19 @@ importers:
examples/minimal:
dependencies:
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
examples/non-html-pages:
dependencies:
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
examples/portfolio:
dependencies:
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
examples/ssr:
@@ -348,7 +348,7 @@ importers:
specifier: ^5.0.3
version: link:../../packages/integrations/svelte
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
svelte:
specifier: ^4.2.5
@@ -357,7 +357,7 @@ importers:
examples/starlog:
dependencies:
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
sass:
specifier: ^1.69.5
@@ -375,7 +375,7 @@ importers:
specifier: ^5.1.0
version: link:../../packages/integrations/tailwind
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
examples/with-markdoc:
@@ -384,7 +384,7 @@ importers:
specifier: ^0.8.2
version: link:../../packages/integrations/markdoc
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
examples/with-markdown-plugins:
@@ -393,7 +393,7 @@ importers:
specifier: ^4.0.1
version: link:../../packages/markdown/remark
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
hast-util-select:
specifier: ^6.0.2
@@ -414,7 +414,7 @@ importers:
examples/with-markdown-shiki:
dependencies:
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
examples/with-mdx:
@@ -423,10 +423,10 @@ importers:
specifier: ^2.0.3
version: link:../../packages/integrations/mdx
'@astrojs/preact':
- specifier: ^3.0.2
+ specifier: ^3.1.0
version: link:../../packages/integrations/preact
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
preact:
specifier: ^10.19.2
@@ -435,13 +435,13 @@ importers:
examples/with-nanostores:
dependencies:
'@astrojs/preact':
- specifier: ^3.0.2
+ specifier: ^3.1.0
version: link:../../packages/integrations/preact
'@nanostores/preact':
specifier: ^0.5.0
version: 0.5.0(nanostores@0.9.5)(preact@10.19.3)
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
nanostores:
specifier: ^0.9.5
@@ -462,7 +462,7 @@ importers:
specifier: ^1.6.3
version: 1.6.4
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
autoprefixer:
specifier: ^10.4.15
@@ -480,7 +480,7 @@ importers:
examples/with-vitest:
dependencies:
astro:
- specifier: ^4.0.9
+ specifier: ^4.1.0
version: link:../../packages/astro
vitest:
specifier: ^0.34.2