summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Houston (Bot) <108291165+astrobot-houston@users.noreply.github.com> 2023-11-09 09:49:35 -0800
committerGravatar GitHub <noreply@github.com> 2023-11-09 12:49:35 -0500
commit83c88706848521922ccd9cbdd914b653e47309db (patch)
tree925696d9995f323b1251a32fae0bce200f228005
parent4ce20b6fc9f6a216e91ca6fa2946ebbff8bba71d (diff)
downloadastro-83c88706848521922ccd9cbdd914b653e47309db.tar.gz
astro-83c88706848521922ccd9cbdd914b653e47309db.tar.zst
astro-83c88706848521922ccd9cbdd914b653e47309db.zip
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
-rw-r--r--.changeset/calm-shirts-battle.md5
-rw-r--r--.changeset/khaki-glasses-raise.md48
-rw-r--r--.changeset/lovely-pianos-build.md28
-rw-r--r--.changeset/many-weeks-sort.md43
-rw-r--r--.changeset/nasty-elephants-provide.md5
-rw-r--r--.changeset/new-islands-lick.md5
-rw-r--r--.changeset/quiet-games-film.md5
-rw-r--r--.changeset/rude-lizards-scream.md51
-rw-r--r--.changeset/sixty-laws-argue.md21
-rw-r--r--.changeset/spotty-rings-crash.md5
-rw-r--r--.changeset/ten-sloths-invent.md7
-rw-r--r--.changeset/tender-suits-glow.md6
-rw-r--r--examples/basics/package.json2
-rw-r--r--examples/blog/package.json4
-rw-r--r--examples/component/package.json2
-rw-r--r--examples/framework-alpine/package.json2
-rw-r--r--examples/framework-lit/package.json4
-rw-r--r--examples/framework-multiple/package.json2
-rw-r--r--examples/framework-preact/package.json2
-rw-r--r--examples/framework-react/package.json2
-rw-r--r--examples/framework-solid/package.json2
-rw-r--r--examples/framework-svelte/package.json2
-rw-r--r--examples/framework-vue/package.json2
-rw-r--r--examples/hackernews/package.json2
-rw-r--r--examples/integration/package.json2
-rw-r--r--examples/middleware/package.json2
-rw-r--r--examples/minimal/package.json2
-rw-r--r--examples/non-html-pages/package.json2
-rw-r--r--examples/portfolio/package.json2
-rw-r--r--examples/ssr/package.json2
-rw-r--r--examples/view-transitions/package.json2
-rw-r--r--examples/with-markdoc/package.json2
-rw-r--r--examples/with-markdown-plugins/package.json4
-rw-r--r--examples/with-markdown-shiki/package.json2
-rw-r--r--examples/with-mdx/package.json4
-rw-r--r--examples/with-nanostores/package.json2
-rw-r--r--examples/with-tailwindcss/package.json4
-rw-r--r--examples/with-vite-plugin-pwa/package.json2
-rw-r--r--examples/with-vitest/package.json2
-rw-r--r--packages/astro/CHANGELOG.md202
-rw-r--r--packages/astro/package.json2
-rw-r--r--packages/integrations/lit/CHANGELOG.md6
-rw-r--r--packages/integrations/lit/package.json2
-rw-r--r--packages/integrations/mdx/CHANGELOG.md7
-rw-r--r--packages/integrations/mdx/package.json2
-rw-r--r--packages/markdown/remark/CHANGELOG.md6
-rw-r--r--packages/markdown/remark/package.json2
-rw-r--r--pnpm-lock.yaml64
48 files changed, 289 insertions, 297 deletions
diff --git a/.changeset/calm-shirts-battle.md b/.changeset/calm-shirts-battle.md
deleted file mode 100644
index 023e17f3b..000000000
--- a/.changeset/calm-shirts-battle.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'astro': patch
----
-
-Add ability to "Click to go editor" on auditted elements in the dev overlay
diff --git a/.changeset/khaki-glasses-raise.md b/.changeset/khaki-glasses-raise.md
deleted file mode 100644
index 4a0622a42..000000000
--- a/.changeset/khaki-glasses-raise.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-'astro': minor
----
-
-## Integration Hooks to add Middleware
-
-It's now possible in Astro for an integration to add middleware on behalf of the user. Previously when a third party wanted to provide middleware, the user would need to create a `src/middleware.ts` file themselves. Now, adding third-party middleware is as easy as adding a new integration.
-
-For integration authors, there is a new `addMiddleware` function in the `astro:config:setup` hook. This function allows you to specify a middleware module and the order in which it should be applied:
-
-```js
-// my-package/middleware.js
-import { defineMiddleware } from 'astro:middleware';
-
-export const onRequest = defineMiddleware(async (context, next) => {
- const response = await next();
-
- if(response.headers.get('content-type') === 'text/html') {
- let html = await response.text();
- html = minify(html);
- return new Response(html, {
- status: response.status,
- headers: response.headers
- });
- }
-
- return response;
-});
-```
-
-You can now add your integration's middleware and specify that it runs either before or after the application's own defined middleware (defined in `src/middleware.{js,ts}`)
-
-```js
-// my-package/integration.js
-export function myIntegration() {
- return {
- name: 'my-integration',
- hooks: {
- 'astro:config:setup': ({ addMiddleware }) => {
- addMiddleware({
- entrypoint: 'my-package/middleware',
- order: 'pre'
- });
- }
- }
- };
-}
-```
diff --git a/.changeset/lovely-pianos-build.md b/.changeset/lovely-pianos-build.md
deleted file mode 100644
index d7d512f3c..000000000
--- a/.changeset/lovely-pianos-build.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-'astro': minor
----
-
-Provides a new, experimental build cache for [Content Collections](https://docs.astro.build/en/guides/content-collections/) as part of the [Incremental Build RFC](https://github.com/withastro/roadmap/pull/763). This includes multiple refactors to Astro's build process to optimize how Content Collections are handled, which should provide significant performance improvements for users with many collections.
-
-Users building a `static` site can opt-in to preview the new build cache by adding the following flag to your Astro config:
-
-```js
-// astro.config.mjs
-export default {
- experimental: {
- contentCollectionCache: true,
- },
-};
-```
-
-When this experimental feature is enabled, the files generated from your content collections will be stored in the [`cacheDir`](https://docs.astro.build/en/reference/configuration-reference/#cachedir) (by default, `node_modules/.astro`) and reused between builds. Most CI environments automatically restore files in `node_modules/` by default.
-
-In our internal testing on the real world [Astro Docs](https://github.com/withastro/docs) project, this feature reduces the bundling step of `astro build` from **133.20s** to **10.46s**, about 92% faster. The end-to-end `astro build` process used to take **4min 58s** and now takes just over `1min` for a total reduction of 80%.
-
-If you run into any issues with this experimental feature, please let us know!
-
-You can always bypass the cache for a single build by passing the `--force` flag to `astro build`.
-
-```
-astro build --force
-```
diff --git a/.changeset/many-weeks-sort.md b/.changeset/many-weeks-sort.md
deleted file mode 100644
index 621daf8b6..000000000
--- a/.changeset/many-weeks-sort.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-'astro': minor
----
-
-Form support in View Transitions router
-
-The `<ViewTransitions />` router can now handle form submissions, allowing the same animated transitions and stateful UI retention on form posts that are already available on `<a>` links. With this addition, your Astro project can have animations in all of these scenarios:
-
-- Clicking links between pages.
-- Making stateful changes in forms (e.g. updating site preferences).
-- Manually triggering navigation via the `navigate()` API.
-
-This feature is opt-in for semver reasons and can be enabled by adding the `handleForms` prop to the `<ViewTransitions /> component:
-
-```astro
----
-// src/layouts/MainLayout.astro
-import { ViewTransitions } from 'astro:transitions';
----
-
-<html>
- <head>
- <!-- ... -->
- <ViewTransitions handleForms />
- </head>
- <body>
- <!-- ... -->
- </body>
-</html>
-```
-
-Just as with links, if you don't want the routing handling a form submission, you can opt out on a per-form basis with the `data-astro-reload` property:
-
-```astro
----
-// src/components/Contact.astro
----
-<form class="contact-form" action="/request" method="post" data-astro-reload>
- <!-- ...-->
-</form>
-```
-
-Form support works on post `method="get"` and `method="post"` forms.
diff --git a/.changeset/nasty-elephants-provide.md b/.changeset/nasty-elephants-provide.md
deleted file mode 100644
index 8a5ab241a..000000000
--- a/.changeset/nasty-elephants-provide.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'astro': minor
----
-
-Updates the Image Services API to now delete original images from the final build that are not used outside of the optimization pipeline. For users with a large number of these images (e.g. thumbnails), this should reduce storage consumption and deployment times.
diff --git a/.changeset/new-islands-lick.md b/.changeset/new-islands-lick.md
deleted file mode 100644
index ba1c7b051..000000000
--- a/.changeset/new-islands-lick.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'astro': minor
----
-
-Adds a new property `propertiesToHash` to the Image Services API to allow specifying which properties of `getImage()` / `<Image />` / `<Picture />` should be used for hashing the result files when doing local transformations. For most services, this will include properties such as `src`, `width` or `quality` that directly changes the content of the generated image.
diff --git a/.changeset/quiet-games-film.md b/.changeset/quiet-games-film.md
deleted file mode 100644
index bb9584d36..000000000
--- a/.changeset/quiet-games-film.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"astro": minor
----
-
-The `<Picture />` component will now use `jpg` and `jpeg` respectively as fallback formats when the original image is in those formats.
diff --git a/.changeset/rude-lizards-scream.md b/.changeset/rude-lizards-scream.md
deleted file mode 100644
index 85eaddb12..000000000
--- a/.changeset/rude-lizards-scream.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-'astro': minor
----
-
-Experimental support for i18n routing.
-
-Astro's experimental i18n routing API allows you to add your multilingual content with support for configuring a default language, computing relative page URLs, and accepting preferred languages provided by your visitor's browser. You can also specify fallback languages on a per-language basis so that your visitors can always be directed to existing content on your site.
-
-Enable the experimental routing option by adding an `i18n` object to your Astro configuration with a default location and a list of all languages to support:
-
-```js
-// astro.config.mjs
-import {defineConfig} from "astro/config";
-
-export default defineConfig({
- experimental: {
- i18n: {
- defaultLocale: "en",
- locales: ["en", "es", "pt-br"]
- }
- }
-})
-```
-
-Organize your content folders by locale depending on your `i18n.routingStrategy`, and Astro will handle generating your routes and showing your preferred URLs to your visitors.
-```
-├── src
-│ ├── pages
-│ │ ├── about.astro
-│ │ ├── index.astro
-│ │ ├── es
-│ │ │ ├── about.astro
-│ │ │ ├── index.astro
-│ │ ├── pt-br
-│ │ │ ├── about.astro
-│ │ │ ├── index.astro
-```
-
-Compute relative URLs for your links with `getRelativeLocaleUrl` from the new `astro:i18n` module:
-
-```astro
----
-import {getRelativeLocaleUrl} from "astro:i18n";
-const aboutUrl = getRelativeLocaleUrl("pt-br", "about");
----
-<p>Learn more <a href={aboutURL}>About</a> this site!</p>
-```
-
-Enabling i18n routing also provides two new properties for browser language detection: `Astro.preferredLocale` and `Astro.preferredLocaleList`. These combine the browser's `Accept-Langauge` header, and your site's list of supported languages and can be used to automatically respect your visitor's preferred languages.
-
-Read more about Astro's [experimental i18n routing](https://docs.astro.build/en/guides/internationalization/) in our documentation.
diff --git a/.changeset/sixty-laws-argue.md b/.changeset/sixty-laws-argue.md
deleted file mode 100644
index 808106f88..000000000
--- a/.changeset/sixty-laws-argue.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-'astro': minor
----
-
-Prefetching is now supported in core
-
-You can enable prefetching for your site with the `prefetch: true` config. It is enabled by default when using [View Transitions](https://docs.astro.build/en/guides/view-transitions/) and can also be used to configure the `prefetch` behaviour used by View Transitions.
-
-You can enable prefetching by setting `prefetch:true` in your Astro config:
-
-```js
-// astro.config.js
-import { defineConfig } from 'astro/config';
-
-export default defineConfig({
- prefetch: true
-})
-```
-
-This replaces the `@astrojs/prefetch` integration, which is now deprecated and will eventually be removed.
-Visit the [Prefetch guide](https://docs.astro.build/en/guides/prefetch/) for more information.
diff --git a/.changeset/spotty-rings-crash.md b/.changeset/spotty-rings-crash.md
deleted file mode 100644
index c4522f96e..000000000
--- a/.changeset/spotty-rings-crash.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@astrojs/lit': patch
----
-
-Fix hydration ordering of nested custom elements. Child components will now wait for their parents to hydrate before hydrating themselves.
diff --git a/.changeset/ten-sloths-invent.md b/.changeset/ten-sloths-invent.md
deleted file mode 100644
index 12c5bdf5f..000000000
--- a/.changeset/ten-sloths-invent.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'astro': patch
----
-
-Use UInt8Array instead of Buffer for both the input and return values of the `transform()` hook of the Image Service API to ensure compatibility with non-Node runtimes.
-
-This change is unlikely to affect you, but if you were previously relying on the return value being a Buffer, you may convert an `UInt8Array` to a `Buffer` using `Buffer.from(your_array)`.
diff --git a/.changeset/tender-suits-glow.md b/.changeset/tender-suits-glow.md
deleted file mode 100644
index a01662ce6..000000000
--- a/.changeset/tender-suits-glow.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@astrojs/markdown-remark': minor
-'astro': minor
----
-
-Adds experimental support for multiple shiki themes with the new `markdown.shikiConfig.experimentalThemes` option.
diff --git a/examples/basics/package.json b/examples/basics/package.json
index 53da20eb4..1fc38a49e 100644
--- a/examples/basics/package.json
+++ b/examples/basics/package.json
@@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
- "astro": "^3.4.4"
+ "astro": "^3.5.0"
}
}
diff --git a/examples/blog/package.json b/examples/blog/package.json
index 13a7db1c7..07a1b1509 100644
--- a/examples/blog/package.json
+++ b/examples/blog/package.json
@@ -11,9 +11,9 @@
"astro": "astro"
},
"dependencies": {
- "@astrojs/mdx": "^1.1.3",
+ "@astrojs/mdx": "^1.1.4",
"@astrojs/rss": "^3.0.0",
"@astrojs/sitemap": "^3.0.3",
- "astro": "^3.4.4"
+ "astro": "^3.5.0"
}
}
diff --git a/examples/component/package.json b/examples/component/package.json
index 1e2af2710..2be4b426c 100644
--- a/examples/component/package.json
+++ b/examples/component/package.json
@@ -15,7 +15,7 @@
],
"scripts": {},
"devDependencies": {
- "astro": "^3.4.4"
+ "astro": "^3.5.0"
},
"peerDependencies": {
"astro": "^3.0.0"
diff --git a/examples/framework-alpine/package.json b/examples/framework-alpine/package.json
index af25272f3..fab8686db 100644
--- a/examples/framework-alpine/package.json
+++ b/examples/framework-alpine/package.json
@@ -14,6 +14,6 @@
"@astrojs/alpinejs": "^0.3.1",
"@types/alpinejs": "^3.7.2",
"alpinejs": "^3.12.3",
- "astro": "^3.4.4"
+ "astro": "^3.5.0"
}
}
diff --git a/examples/framework-lit/package.json b/examples/framework-lit/package.json
index 93c4724bf..e68969e5e 100644
--- a/examples/framework-lit/package.json
+++ b/examples/framework-lit/package.json
@@ -11,9 +11,9 @@
"astro": "astro"
},
"dependencies": {
- "@astrojs/lit": "^3.0.2",
+ "@astrojs/lit": "^3.0.3",
"@webcomponents/template-shadowroot": "^0.2.1",
- "astro": "^3.4.4",
+ "astro": "^3.5.0",
"lit": "^2.8.0"
}
}
diff --git a/examples/framework-multiple/package.json b/examples/framework-multiple/package.json
index 2f94c96d8..86ba2390e 100644
--- a/examples/framework-multiple/package.json
+++ b/examples/framework-multiple/package.json
@@ -16,7 +16,7 @@
"@astrojs/solid-js": "^3.0.2",
"@astrojs/svelte": "^4.0.3",
"@astrojs/vue": "^3.0.4",
- "astro": "^3.4.4",
+ "astro": "^3.5.0",
"preact": "^10.17.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
diff --git a/examples/framework-preact/package.json b/examples/framework-preact/package.json
index 01d80206b..5f2267ef1 100644
--- a/examples/framework-preact/package.json
+++ b/examples/framework-preact/package.json
@@ -13,7 +13,7 @@
"dependencies": {
"@astrojs/preact": "^3.0.1",
"@preact/signals": "^1.2.1",
- "astro": "^3.4.4",
+ "astro": "^3.5.0",
"preact": "^10.17.1"
}
}
diff --git a/examples/framework-react/package.json b/examples/framework-react/package.json
index 37ceb1c0b..8e6789dd8 100644
--- a/examples/framework-react/package.json
+++ b/examples/framework-react/package.json
@@ -14,7 +14,7 @@
"@astrojs/react": "^3.0.4",
"@types/react": "^18.2.21",
"@types/react-dom": "^18.2.7",
- "astro": "^3.4.4",
+ "astro": "^3.5.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 b5dc11020..21733e70d 100644
--- a/examples/framework-solid/package.json
+++ b/examples/framework-solid/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@astrojs/solid-js": "^3.0.2",
- "astro": "^3.4.4",
+ "astro": "^3.5.0",
"solid-js": "^1.7.11"
}
}
diff --git a/examples/framework-svelte/package.json b/examples/framework-svelte/package.json
index 91707a216..c2b8f03f5 100644
--- a/examples/framework-svelte/package.json
+++ b/examples/framework-svelte/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@astrojs/svelte": "^4.0.3",
- "astro": "^3.4.4",
+ "astro": "^3.5.0",
"svelte": "^4.2.0"
}
}
diff --git a/examples/framework-vue/package.json b/examples/framework-vue/package.json
index 49c330f50..6ea13d776 100644
--- a/examples/framework-vue/package.json
+++ b/examples/framework-vue/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@astrojs/vue": "^3.0.4",
- "astro": "^3.4.4",
+ "astro": "^3.5.0",
"vue": "^3.3.4"
}
}
diff --git a/examples/hackernews/package.json b/examples/hackernews/package.json
index 9370b002d..3421fa9ba 100644
--- a/examples/hackernews/package.json
+++ b/examples/hackernews/package.json
@@ -12,6 +12,6 @@
},
"dependencies": {
"@astrojs/node": "^6.0.3",
- "astro": "^3.4.4"
+ "astro": "^3.5.0"
}
}
diff --git a/examples/integration/package.json b/examples/integration/package.json
index f3429a883..3f9eb2a8c 100644
--- a/examples/integration/package.json
+++ b/examples/integration/package.json
@@ -15,7 +15,7 @@
],
"scripts": {},
"devDependencies": {
- "astro": "^3.4.4"
+ "astro": "^3.5.0"
},
"peerDependencies": {
"astro": "^3.0.0"
diff --git a/examples/middleware/package.json b/examples/middleware/package.json
index aa472c86f..1f6853f9f 100644
--- a/examples/middleware/package.json
+++ b/examples/middleware/package.json
@@ -13,7 +13,7 @@
},
"dependencies": {
"@astrojs/node": "^6.0.3",
- "astro": "^3.4.4",
+ "astro": "^3.5.0",
"html-minifier": "^4.0.0"
}
}
diff --git a/examples/minimal/package.json b/examples/minimal/package.json
index 1db139819..630cb77f3 100644
--- a/examples/minimal/package.json
+++ b/examples/minimal/package.json
@@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
- "astro": "^3.4.4"
+ "astro": "^3.5.0"
}
}
diff --git a/examples/non-html-pages/package.json b/examples/non-html-pages/package.json
index c58b9abf1..56015e204 100644
--- a/examples/non-html-pages/package.json
+++ b/examples/non-html-pages/package.json
@@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
- "astro": "^3.4.4"
+ "astro": "^3.5.0"
}
}
diff --git a/examples/portfolio/package.json b/examples/portfolio/package.json
index eb6a10da5..662e23e45 100644
--- a/examples/portfolio/package.json
+++ b/examples/portfolio/package.json
@@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
- "astro": "^3.4.4"
+ "astro": "^3.5.0"
}
}
diff --git a/examples/ssr/package.json b/examples/ssr/package.json
index acc226776..73229d970 100644
--- a/examples/ssr/package.json
+++ b/examples/ssr/package.json
@@ -14,7 +14,7 @@
"dependencies": {
"@astrojs/node": "^6.0.3",
"@astrojs/svelte": "^4.0.3",
- "astro": "^3.4.4",
+ "astro": "^3.5.0",
"svelte": "^4.2.0"
}
}
diff --git a/examples/view-transitions/package.json b/examples/view-transitions/package.json
index db82d8bb1..37daaaad4 100644
--- a/examples/view-transitions/package.json
+++ b/examples/view-transitions/package.json
@@ -12,6 +12,6 @@
"devDependencies": {
"@astrojs/tailwind": "^5.0.2",
"@astrojs/node": "^6.0.3",
- "astro": "^3.4.4"
+ "astro": "^3.5.0"
}
}
diff --git a/examples/with-markdoc/package.json b/examples/with-markdoc/package.json
index 7f8c83c9d..9406bb758 100644
--- a/examples/with-markdoc/package.json
+++ b/examples/with-markdoc/package.json
@@ -12,6 +12,6 @@
},
"dependencies": {
"@astrojs/markdoc": "^0.7.1",
- "astro": "^3.4.4"
+ "astro": "^3.5.0"
}
}
diff --git a/examples/with-markdown-plugins/package.json b/examples/with-markdown-plugins/package.json
index eed5c75e1..8d1bfeea8 100644
--- a/examples/with-markdown-plugins/package.json
+++ b/examples/with-markdown-plugins/package.json
@@ -11,8 +11,8 @@
"astro": "astro"
},
"dependencies": {
- "@astrojs/markdown-remark": "^3.3.0",
- "astro": "^3.4.4",
+ "@astrojs/markdown-remark": "^3.4.0",
+ "astro": "^3.5.0",
"hast-util-select": "^5.0.5",
"rehype-autolink-headings": "^6.1.1",
"rehype-slug": "^5.1.0",
diff --git a/examples/with-markdown-shiki/package.json b/examples/with-markdown-shiki/package.json
index 48d72a4c2..f26198463 100644
--- a/examples/with-markdown-shiki/package.json
+++ b/examples/with-markdown-shiki/package.json
@@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
- "astro": "^3.4.4"
+ "astro": "^3.5.0"
}
}
diff --git a/examples/with-mdx/package.json b/examples/with-mdx/package.json
index 56cba218d..483ae826d 100644
--- a/examples/with-mdx/package.json
+++ b/examples/with-mdx/package.json
@@ -11,9 +11,9 @@
"astro": "astro"
},
"dependencies": {
- "@astrojs/mdx": "^1.1.3",
+ "@astrojs/mdx": "^1.1.4",
"@astrojs/preact": "^3.0.1",
- "astro": "^3.4.4",
+ "astro": "^3.5.0",
"preact": "^10.17.1"
}
}
diff --git a/examples/with-nanostores/package.json b/examples/with-nanostores/package.json
index 27a32bbfc..4b140e196 100644
--- a/examples/with-nanostores/package.json
+++ b/examples/with-nanostores/package.json
@@ -13,7 +13,7 @@
"dependencies": {
"@astrojs/preact": "^3.0.1",
"@nanostores/preact": "^0.5.0",
- "astro": "^3.4.4",
+ "astro": "^3.5.0",
"nanostores": "^0.9.3",
"preact": "^10.17.1"
}
diff --git a/examples/with-tailwindcss/package.json b/examples/with-tailwindcss/package.json
index cf3214dac..e98b53af1 100644
--- a/examples/with-tailwindcss/package.json
+++ b/examples/with-tailwindcss/package.json
@@ -11,10 +11,10 @@
"astro": "astro"
},
"dependencies": {
- "@astrojs/mdx": "^1.1.3",
+ "@astrojs/mdx": "^1.1.4",
"@astrojs/tailwind": "^5.0.2",
"@types/canvas-confetti": "^1.6.0",
- "astro": "^3.4.4",
+ "astro": "^3.5.0",
"autoprefixer": "^10.4.15",
"canvas-confetti": "^1.6.0",
"postcss": "^8.4.28",
diff --git a/examples/with-vite-plugin-pwa/package.json b/examples/with-vite-plugin-pwa/package.json
index 79bc2df57..731761e4b 100644
--- a/examples/with-vite-plugin-pwa/package.json
+++ b/examples/with-vite-plugin-pwa/package.json
@@ -11,7 +11,7 @@
"astro": "astro"
},
"dependencies": {
- "astro": "^3.4.4",
+ "astro": "^3.5.0",
"vite-plugin-pwa": "0.16.4",
"workbox-window": "^7.0.0"
}
diff --git a/examples/with-vitest/package.json b/examples/with-vitest/package.json
index 609acfa51..00d87fe8e 100644
--- a/examples/with-vitest/package.json
+++ b/examples/with-vitest/package.json
@@ -12,7 +12,7 @@
"test": "vitest"
},
"dependencies": {
- "astro": "^3.4.4",
+ "astro": "^3.5.0",
"vitest": "^0.34.2"
}
}
diff --git a/packages/astro/CHANGELOG.md b/packages/astro/CHANGELOG.md
index f35eb7bf2..86793a28f 100644
--- a/packages/astro/CHANGELOG.md
+++ b/packages/astro/CHANGELOG.md
@@ -1,5 +1,207 @@
# astro
+## 3.5.0
+
+### Minor Changes
+
+- [#8869](https://github.com/withastro/astro/pull/8869) [`f5bdfa272`](https://github.com/withastro/astro/commit/f5bdfa272b4270b06bc539c2e382d6730987300c) Thanks [@matthewp](https://github.com/matthewp)! - ## Integration Hooks to add Middleware
+
+ It's now possible in Astro for an integration to add middleware on behalf of the user. Previously when a third party wanted to provide middleware, the user would need to create a `src/middleware.ts` file themselves. Now, adding third-party middleware is as easy as adding a new integration.
+
+ For integration authors, there is a new `addMiddleware` function in the `astro:config:setup` hook. This function allows you to specify a middleware module and the order in which it should be applied:
+
+ ```js
+ // my-package/middleware.js
+ import { defineMiddleware } from 'astro:middleware';
+
+ export const onRequest = defineMiddleware(async (context, next) => {
+ const response = await next();
+
+ if (response.headers.get('content-type') === 'text/html') {
+ let html = await response.text();
+ html = minify(html);
+ return new Response(html, {
+ status: response.status,
+ headers: response.headers,
+ });
+ }
+
+ return response;
+ });
+ ```
+
+ You can now add your integration's middleware and specify that it runs either before or after the application's own defined middleware (defined in `src/middleware.{js,ts}`)
+
+ ```js
+ // my-package/integration.js
+ export function myIntegration() {
+ return {
+ name: 'my-integration',
+ hooks: {
+ 'astro:config:setup': ({ addMiddleware }) => {
+ addMiddleware({
+ entrypoint: 'my-package/middleware',
+ order: 'pre',
+ });
+ },
+ },
+ };
+ }
+ ```
+
+- [#8854](https://github.com/withastro/astro/pull/8854) [`3e1239e42`](https://github.com/withastro/astro/commit/3e1239e42b99bf069265393dc359bf967fc64902) Thanks [@natemoo-re](https://github.com/natemoo-re)! - Provides a new, experimental build cache for [Content Collections](https://docs.astro.build/en/guides/content-collections/) as part of the [Incremental Build RFC](https://github.com/withastro/roadmap/pull/763). This includes multiple refactors to Astro's build process to optimize how Content Collections are handled, which should provide significant performance improvements for users with many collections.
+
+ Users building a `static` site can opt-in to preview the new build cache by adding the following flag to your Astro config:
+
+ ```js
+ // astro.config.mjs
+ export default {
+ experimental: {
+ contentCollectionCache: true,
+ },
+ };
+ ```
+
+ When this experimental feature is enabled, the files generated from your content collections will be stored in the [`cacheDir`](https://docs.astro.build/en/reference/configuration-reference/#cachedir) (by default, `node_modules/.astro`) and reused between builds. Most CI environments automatically restore files in `node_modules/` by default.
+
+ In our internal testing on the real world [Astro Docs](https://github.com/withastro/docs) project, this feature reduces the bundling step of `astro build` from **133.20s** to **10.46s**, about 92% faster. The end-to-end `astro build` process used to take **4min 58s** and now takes just over `1min` for a total reduction of 80%.
+
+ If you run into any issues with this experimental feature, please let us know!
+
+ You can always bypass the cache for a single build by passing the `--force` flag to `astro build`.
+
+ ```
+ astro build --force
+ ```
+
+- [#8963](https://github.com/withastro/astro/pull/8963) [`fda3a0213`](https://github.com/withastro/astro/commit/fda3a0213b1907fd63076ebc93d92ada3d026461) Thanks [@matthewp](https://github.com/matthewp)! - Form support in View Transitions router
+
+ The `<ViewTransitions />` router can now handle form submissions, allowing the same animated transitions and stateful UI retention on form posts that are already available on `<a>` links. With this addition, your Astro project can have animations in all of these scenarios:
+
+ - Clicking links between pages.
+ - Making stateful changes in forms (e.g. updating site preferences).
+ - Manually triggering navigation via the `navigate()` API.
+
+ This feature is opt-in for semver reasons and can be enabled by adding the `handleForms` prop to the `<ViewTransitions /> component:
+
+ ```astro
+ ---
+ // src/layouts/MainLayout.astro
+ import { ViewTransitions } from 'astro:transitions';
+ ---
+
+ <html>
+ <head>
+ <!-- ... -->
+ <ViewTransitions handleForms />
+ </head>
+ <body>
+ <!-- ... -->
+ </body>
+ </html>
+ ```
+
+ Just as with links, if you don't want the routing handling a form submission, you can opt out on a per-form basis with the `data-astro-reload` property:
+
+ ```astro
+ ---
+ // src/components/Contact.astro
+ ---
+
+ <form class="contact-form" action="/request" method="post" data-astro-reload>
+ <!-- ...-->
+ </form>
+ ```
+
+ Form support works on post `method="get"` and `method="post"` forms.
+
+- [#8954](https://github.com/withastro/astro/pull/8954) [`f0031b0a3`](https://github.com/withastro/astro/commit/f0031b0a3959b03d1b28e173982c7e1ca60e735f) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Updates the Image Services API to now delete original images from the final build that are not used outside of the optimization pipeline. For users with a large number of these images (e.g. thumbnails), this should reduce storage consumption and deployment times.
+
+- [#8984](https://github.com/withastro/astro/pull/8984) [`26b1484e8`](https://github.com/withastro/astro/commit/26b1484e808feee6faca3bd89fb512849a664046) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Adds a new property `propertiesToHash` to the Image Services API to allow specifying which properties of `getImage()` / `<Image />` / `<Picture />` should be used for hashing the result files when doing local transformations. For most services, this will include properties such as `src`, `width` or `quality` that directly changes the content of the generated image.
+
+- [#9010](https://github.com/withastro/astro/pull/9010) [`100b61ab5`](https://github.com/withastro/astro/commit/100b61ab5a34c1efc571a57ce46832ece97688e5) Thanks [@jasikpark](https://github.com/jasikpark)! - The `<Picture />` component will now use `jpg` and `jpeg` respectively as fallback formats when the original image is in those formats.
+
+- [#8974](https://github.com/withastro/astro/pull/8974) [`143bacf39`](https://github.com/withastro/astro/commit/143bacf3962f7b0ed3efe2bdfea844e72e10d288) Thanks [@ematipico](https://github.com/ematipico)! - Experimental support for i18n routing.
+
+ Astro's experimental i18n routing API allows you to add your multilingual content with support for configuring a default language, computing relative page URLs, and accepting preferred languages provided by your visitor's browser. You can also specify fallback languages on a per-language basis so that your visitors can always be directed to existing content on your site.
+
+ Enable the experimental routing option by adding an `i18n` object to your Astro configuration with a default location and a list of all languages to support:
+
+ ```js
+ // astro.config.mjs
+ import { defineConfig } from 'astro/config';
+
+ export default defineConfig({
+ experimental: {
+ i18n: {
+ defaultLocale: 'en',
+ locales: ['en', 'es', 'pt-br'],
+ },
+ },
+ });
+ ```
+
+ Organize your content folders by locale depending on your `i18n.routingStrategy`, and Astro will handle generating your routes and showing your preferred URLs to your visitors.
+
+ ```
+ ├── src
+ │ ├── pages
+ │ │ ├── about.astro
+ │ │ ├── index.astro
+ │ │ ├── es
+ │ │ │ ├── about.astro
+ │ │ │ ├── index.astro
+ │ │ ├── pt-br
+ │ │ │ ├── about.astro
+ │ │ │ ├── index.astro
+ ```
+
+ Compute relative URLs for your links with `getRelativeLocaleUrl` from the new `astro:i18n` module:
+
+ ```astro
+ ---
+ import { getRelativeLocaleUrl } from 'astro:i18n';
+ const aboutUrl = getRelativeLocaleUrl('pt-br', 'about');
+ ---
+
+ <p>Learn more <a href={aboutURL}>About</a> this site!</p>
+ ```
+
+ Enabling i18n routing also provides two new properties for browser language detection: `Astro.preferredLocale` and `Astro.preferredLocaleList`. These combine the browser's `Accept-Langauge` header, and your site's list of supported languages and can be used to automatically respect your visitor's preferred languages.
+
+ Read more about Astro's [experimental i18n routing](https://docs.astro.build/en/guides/internationalization/) in our documentation.
+
+- [#8951](https://github.com/withastro/astro/pull/8951) [`38e21d127`](https://github.com/withastro/astro/commit/38e21d1275a379744bc402ad28ac35bd629d5ff0) Thanks [@bluwy](https://github.com/bluwy)! - Prefetching is now supported in core
+
+ You can enable prefetching for your site with the `prefetch: true` config. It is enabled by default when using [View Transitions](https://docs.astro.build/en/guides/view-transitions/) and can also be used to configure the `prefetch` behaviour used by View Transitions.
+
+ You can enable prefetching by setting `prefetch:true` in your Astro config:
+
+ ```js
+ // astro.config.js
+ import { defineConfig } from 'astro/config';
+
+ export default defineConfig({
+ prefetch: true,
+ });
+ ```
+
+ This replaces the `@astrojs/prefetch` integration, which is now deprecated and will eventually be removed.
+ Visit the [Prefetch guide](https://docs.astro.build/en/guides/prefetch/) for more information.
+
+- [#8903](https://github.com/withastro/astro/pull/8903) [`c5010aad3`](https://github.com/withastro/astro/commit/c5010aad3475669648dc939e00f88bbb52489d0d) Thanks [@horo-fox](https://github.com/horo-fox)! - Adds experimental support for multiple shiki themes with the new `markdown.shikiConfig.experimentalThemes` option.
+
+### Patch Changes
+
+- [#9016](https://github.com/withastro/astro/pull/9016) [`1ecc9aa32`](https://github.com/withastro/astro/commit/1ecc9aa3240b79a3879b1329aa4f671d80e87649) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Add ability to "Click to go editor" on auditted elements in the dev overlay
+
+- [#9029](https://github.com/withastro/astro/pull/9029) [`29b83e9e4`](https://github.com/withastro/astro/commit/29b83e9e4b906cc0b5d92fae854fb350fc2be7c8) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Use UInt8Array instead of Buffer for both the input and return values of the `transform()` hook of the Image Service API to ensure compatibility with non-Node runtimes.
+
+ This change is unlikely to affect you, but if you were previously relying on the return value being a Buffer, you may convert an `UInt8Array` to a `Buffer` using `Buffer.from(your_array)`.
+
+- Updated dependencies [[`c5010aad3`](https://github.com/withastro/astro/commit/c5010aad3475669648dc939e00f88bbb52489d0d)]:
+ - @astrojs/markdown-remark@3.4.0
+
## 3.4.4
### Patch Changes
diff --git a/packages/astro/package.json b/packages/astro/package.json
index 2a51200a4..92f55bc0e 100644
--- a/packages/astro/package.json
+++ b/packages/astro/package.json
@@ -1,6 +1,6 @@
{
"name": "astro",
- "version": "3.4.4",
+ "version": "3.5.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/integrations/lit/CHANGELOG.md b/packages/integrations/lit/CHANGELOG.md
index 37aa498a0..44880912a 100644
--- a/packages/integrations/lit/CHANGELOG.md
+++ b/packages/integrations/lit/CHANGELOG.md
@@ -1,5 +1,11 @@
# @astrojs/lit
+## 3.0.3
+
+### Patch Changes
+
+- [#9018](https://github.com/withastro/astro/pull/9018) [`23c9a30ad`](https://github.com/withastro/astro/commit/23c9a30ad859398d62a013d639b5b2716b583331) Thanks [@augustjk](https://github.com/augustjk)! - Fix hydration ordering of nested custom elements. Child components will now wait for their parents to hydrate before hydrating themselves.
+
## 3.0.2
### Patch Changes
diff --git a/packages/integrations/lit/package.json b/packages/integrations/lit/package.json
index a13cee91d..252a412d1 100644
--- a/packages/integrations/lit/package.json
+++ b/packages/integrations/lit/package.json
@@ -1,6 +1,6 @@
{
"name": "@astrojs/lit",
- "version": "3.0.2",
+ "version": "3.0.3",
"description": "Use Lit components within Astro",
"type": "module",
"types": "./dist/index.d.ts",
diff --git a/packages/integrations/mdx/CHANGELOG.md b/packages/integrations/mdx/CHANGELOG.md
index 90070e1b9..fabf754e4 100644
--- a/packages/integrations/mdx/CHANGELOG.md
+++ b/packages/integrations/mdx/CHANGELOG.md
@@ -1,5 +1,12 @@
# @astrojs/mdx
+## 1.1.4
+
+### Patch Changes
+
+- Updated dependencies [[`c5010aad3`](https://github.com/withastro/astro/commit/c5010aad3475669648dc939e00f88bbb52489d0d)]:
+ - @astrojs/markdown-remark@3.4.0
+
## 1.1.3
### Patch Changes
diff --git a/packages/integrations/mdx/package.json b/packages/integrations/mdx/package.json
index 4576c7b3d..9ad90c0ad 100644
--- a/packages/integrations/mdx/package.json
+++ b/packages/integrations/mdx/package.json
@@ -1,7 +1,7 @@
{
"name": "@astrojs/mdx",
"description": "Add support for MDX pages in your Astro site",
- "version": "1.1.3",
+ "version": "1.1.4",
"type": "module",
"types": "./dist/index.d.ts",
"author": "withastro",
diff --git a/packages/markdown/remark/CHANGELOG.md b/packages/markdown/remark/CHANGELOG.md
index 6e98ae452..13e67c693 100644
--- a/packages/markdown/remark/CHANGELOG.md
+++ b/packages/markdown/remark/CHANGELOG.md
@@ -1,5 +1,11 @@
# @astrojs/markdown-remark
+## 3.4.0
+
+### Minor Changes
+
+- [#8903](https://github.com/withastro/astro/pull/8903) [`c5010aad3`](https://github.com/withastro/astro/commit/c5010aad3475669648dc939e00f88bbb52489d0d) Thanks [@horo-fox](https://github.com/horo-fox)! - Adds experimental support for multiple shiki themes with the new `markdown.shikiConfig.experimentalThemes` option.
+
## 3.3.0
### Minor Changes
diff --git a/packages/markdown/remark/package.json b/packages/markdown/remark/package.json
index 131b87371..4f5061e4d 100644
--- a/packages/markdown/remark/package.json
+++ b/packages/markdown/remark/package.json
@@ -1,6 +1,6 @@
{
"name": "@astrojs/markdown-remark",
- "version": "3.3.0",
+ "version": "3.4.0",
"type": "module",
"author": "withastro",
"license": "MIT",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e37c1e33e..cf80efc75 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -125,13 +125,13 @@ importers:
examples/basics:
dependencies:
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
examples/blog:
dependencies:
'@astrojs/mdx':
- specifier: ^1.1.3
+ specifier: ^1.1.4
version: link:../../packages/integrations/mdx
'@astrojs/rss':
specifier: ^3.0.0
@@ -140,13 +140,13 @@ importers:
specifier: ^3.0.3
version: link:../../packages/integrations/sitemap
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
examples/component:
devDependencies:
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
examples/framework-alpine:
@@ -161,19 +161,19 @@ importers:
specifier: ^3.12.3
version: 3.13.2
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
examples/framework-lit:
dependencies:
'@astrojs/lit':
- specifier: ^3.0.2
+ specifier: ^3.0.3
version: link:../../packages/integrations/lit
'@webcomponents/template-shadowroot':
specifier: ^0.2.1
version: 0.2.1
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
lit:
specifier: ^2.8.0
@@ -197,7 +197,7 @@ importers:
specifier: ^3.0.4
version: link:../../packages/integrations/vue
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
preact:
specifier: ^10.17.1
@@ -227,7 +227,7 @@ importers:
specifier: ^1.2.1
version: 1.2.1(preact@10.18.1)
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
preact:
specifier: ^10.17.1
@@ -245,7 +245,7 @@ importers:
specifier: ^18.2.7
version: 18.2.14
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
react:
specifier: ^18.2.0
@@ -260,7 +260,7 @@ importers:
specifier: ^3.0.2
version: link:../../packages/integrations/solid
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
solid-js:
specifier: ^1.7.11
@@ -272,7 +272,7 @@ importers:
specifier: ^4.0.3
version: link:../../packages/integrations/svelte
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
svelte:
specifier: ^4.2.0
@@ -284,7 +284,7 @@ importers:
specifier: ^3.0.4
version: link:../../packages/integrations/vue
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
vue:
specifier: ^3.3.4
@@ -296,13 +296,13 @@ importers:
specifier: ^6.0.3
version: link:../../packages/integrations/node
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
examples/integration:
devDependencies:
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
examples/middleware:
@@ -311,7 +311,7 @@ importers:
specifier: ^6.0.3
version: link:../../packages/integrations/node
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
html-minifier:
specifier: ^4.0.0
@@ -320,19 +320,19 @@ importers:
examples/minimal:
dependencies:
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
examples/non-html-pages:
dependencies:
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
examples/portfolio:
dependencies:
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
examples/ssr:
@@ -344,7 +344,7 @@ importers:
specifier: ^4.0.3
version: link:../../packages/integrations/svelte
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
svelte:
specifier: ^4.2.0
@@ -359,7 +359,7 @@ importers:
specifier: ^5.0.2
version: link:../../packages/integrations/tailwind
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
examples/with-markdoc:
@@ -368,16 +368,16 @@ importers:
specifier: ^0.7.1
version: link:../../packages/integrations/markdoc
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
examples/with-markdown-plugins:
dependencies:
'@astrojs/markdown-remark':
- specifier: ^3.3.0
+ specifier: ^3.4.0
version: link:../../packages/markdown/remark
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
hast-util-select:
specifier: ^5.0.5
@@ -398,19 +398,19 @@ importers:
examples/with-markdown-shiki:
dependencies:
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
examples/with-mdx:
dependencies:
'@astrojs/mdx':
- specifier: ^1.1.3
+ specifier: ^1.1.4
version: link:../../packages/integrations/mdx
'@astrojs/preact':
specifier: ^3.0.1
version: link:../../packages/integrations/preact
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
preact:
specifier: ^10.17.1
@@ -425,7 +425,7 @@ importers:
specifier: ^0.5.0
version: 0.5.0(nanostores@0.9.4)(preact@10.18.1)
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
nanostores:
specifier: ^0.9.3
@@ -437,7 +437,7 @@ importers:
examples/with-tailwindcss:
dependencies:
'@astrojs/mdx':
- specifier: ^1.1.3
+ specifier: ^1.1.4
version: link:../../packages/integrations/mdx
'@astrojs/tailwind':
specifier: ^5.0.2
@@ -446,7 +446,7 @@ importers:
specifier: ^1.6.0
version: 1.6.2
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
autoprefixer:
specifier: ^10.4.15
@@ -464,7 +464,7 @@ importers:
examples/with-vite-plugin-pwa:
dependencies:
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
vite-plugin-pwa:
specifier: 0.16.4
@@ -476,7 +476,7 @@ importers:
examples/with-vitest:
dependencies:
astro:
- specifier: ^3.4.4
+ specifier: ^3.5.0
version: link:../../packages/astro
vitest:
specifier: ^0.34.2