0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2025-01-13 22:11:20 -05:00

[ci] release (#9021)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Houston (Bot) 2023-11-09 09:49:35 -08:00 committed by GitHub
parent 4ce20b6fc9
commit 83c8870684
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
48 changed files with 289 additions and 297 deletions

View file

@ -1,5 +0,0 @@
---
'astro': patch
---
Add ability to "Click to go editor" on auditted elements in the dev overlay

View file

@ -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'
});
}
}
};
}
```

View file

@ -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
```

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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)`.

View file

@ -1,6 +0,0 @@
---
'@astrojs/markdown-remark': minor
'astro': minor
---
Adds experimental support for multiple shiki themes with the new `markdown.shikiConfig.experimentalThemes` option.

View file

@ -11,6 +11,6 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^3.4.4" "astro": "^3.5.0"
} }
} }

View file

@ -11,9 +11,9 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/mdx": "^1.1.3", "@astrojs/mdx": "^1.1.4",
"@astrojs/rss": "^3.0.0", "@astrojs/rss": "^3.0.0",
"@astrojs/sitemap": "^3.0.3", "@astrojs/sitemap": "^3.0.3",
"astro": "^3.4.4" "astro": "^3.5.0"
} }
} }

View file

@ -15,7 +15,7 @@
], ],
"scripts": {}, "scripts": {},
"devDependencies": { "devDependencies": {
"astro": "^3.4.4" "astro": "^3.5.0"
}, },
"peerDependencies": { "peerDependencies": {
"astro": "^3.0.0" "astro": "^3.0.0"

View file

@ -14,6 +14,6 @@
"@astrojs/alpinejs": "^0.3.1", "@astrojs/alpinejs": "^0.3.1",
"@types/alpinejs": "^3.7.2", "@types/alpinejs": "^3.7.2",
"alpinejs": "^3.12.3", "alpinejs": "^3.12.3",
"astro": "^3.4.4" "astro": "^3.5.0"
} }
} }

View file

@ -11,9 +11,9 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/lit": "^3.0.2", "@astrojs/lit": "^3.0.3",
"@webcomponents/template-shadowroot": "^0.2.1", "@webcomponents/template-shadowroot": "^0.2.1",
"astro": "^3.4.4", "astro": "^3.5.0",
"lit": "^2.8.0" "lit": "^2.8.0"
} }
} }

View file

@ -16,7 +16,7 @@
"@astrojs/solid-js": "^3.0.2", "@astrojs/solid-js": "^3.0.2",
"@astrojs/svelte": "^4.0.3", "@astrojs/svelte": "^4.0.3",
"@astrojs/vue": "^3.0.4", "@astrojs/vue": "^3.0.4",
"astro": "^3.4.4", "astro": "^3.5.0",
"preact": "^10.17.1", "preact": "^10.17.1",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",

View file

@ -13,7 +13,7 @@
"dependencies": { "dependencies": {
"@astrojs/preact": "^3.0.1", "@astrojs/preact": "^3.0.1",
"@preact/signals": "^1.2.1", "@preact/signals": "^1.2.1",
"astro": "^3.4.4", "astro": "^3.5.0",
"preact": "^10.17.1" "preact": "^10.17.1"
} }
} }

View file

@ -14,7 +14,7 @@
"@astrojs/react": "^3.0.4", "@astrojs/react": "^3.0.4",
"@types/react": "^18.2.21", "@types/react": "^18.2.21",
"@types/react-dom": "^18.2.7", "@types/react-dom": "^18.2.7",
"astro": "^3.4.4", "astro": "^3.5.0",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0" "react-dom": "^18.2.0"
} }

View file

@ -12,7 +12,7 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/solid-js": "^3.0.2", "@astrojs/solid-js": "^3.0.2",
"astro": "^3.4.4", "astro": "^3.5.0",
"solid-js": "^1.7.11" "solid-js": "^1.7.11"
} }
} }

View file

@ -12,7 +12,7 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/svelte": "^4.0.3", "@astrojs/svelte": "^4.0.3",
"astro": "^3.4.4", "astro": "^3.5.0",
"svelte": "^4.2.0" "svelte": "^4.2.0"
} }
} }

View file

@ -12,7 +12,7 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/vue": "^3.0.4", "@astrojs/vue": "^3.0.4",
"astro": "^3.4.4", "astro": "^3.5.0",
"vue": "^3.3.4" "vue": "^3.3.4"
} }
} }

View file

@ -12,6 +12,6 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/node": "^6.0.3", "@astrojs/node": "^6.0.3",
"astro": "^3.4.4" "astro": "^3.5.0"
} }
} }

View file

@ -15,7 +15,7 @@
], ],
"scripts": {}, "scripts": {},
"devDependencies": { "devDependencies": {
"astro": "^3.4.4" "astro": "^3.5.0"
}, },
"peerDependencies": { "peerDependencies": {
"astro": "^3.0.0" "astro": "^3.0.0"

View file

@ -13,7 +13,7 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/node": "^6.0.3", "@astrojs/node": "^6.0.3",
"astro": "^3.4.4", "astro": "^3.5.0",
"html-minifier": "^4.0.0" "html-minifier": "^4.0.0"
} }
} }

View file

@ -11,6 +11,6 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^3.4.4" "astro": "^3.5.0"
} }
} }

View file

@ -11,6 +11,6 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^3.4.4" "astro": "^3.5.0"
} }
} }

View file

@ -11,6 +11,6 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^3.4.4" "astro": "^3.5.0"
} }
} }

View file

@ -14,7 +14,7 @@
"dependencies": { "dependencies": {
"@astrojs/node": "^6.0.3", "@astrojs/node": "^6.0.3",
"@astrojs/svelte": "^4.0.3", "@astrojs/svelte": "^4.0.3",
"astro": "^3.4.4", "astro": "^3.5.0",
"svelte": "^4.2.0" "svelte": "^4.2.0"
} }
} }

View file

@ -12,6 +12,6 @@
"devDependencies": { "devDependencies": {
"@astrojs/tailwind": "^5.0.2", "@astrojs/tailwind": "^5.0.2",
"@astrojs/node": "^6.0.3", "@astrojs/node": "^6.0.3",
"astro": "^3.4.4" "astro": "^3.5.0"
} }
} }

View file

@ -12,6 +12,6 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/markdoc": "^0.7.1", "@astrojs/markdoc": "^0.7.1",
"astro": "^3.4.4" "astro": "^3.5.0"
} }
} }

View file

@ -11,8 +11,8 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/markdown-remark": "^3.3.0", "@astrojs/markdown-remark": "^3.4.0",
"astro": "^3.4.4", "astro": "^3.5.0",
"hast-util-select": "^5.0.5", "hast-util-select": "^5.0.5",
"rehype-autolink-headings": "^6.1.1", "rehype-autolink-headings": "^6.1.1",
"rehype-slug": "^5.1.0", "rehype-slug": "^5.1.0",

View file

@ -11,6 +11,6 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^3.4.4" "astro": "^3.5.0"
} }
} }

View file

@ -11,9 +11,9 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/mdx": "^1.1.3", "@astrojs/mdx": "^1.1.4",
"@astrojs/preact": "^3.0.1", "@astrojs/preact": "^3.0.1",
"astro": "^3.4.4", "astro": "^3.5.0",
"preact": "^10.17.1" "preact": "^10.17.1"
} }
} }

View file

@ -13,7 +13,7 @@
"dependencies": { "dependencies": {
"@astrojs/preact": "^3.0.1", "@astrojs/preact": "^3.0.1",
"@nanostores/preact": "^0.5.0", "@nanostores/preact": "^0.5.0",
"astro": "^3.4.4", "astro": "^3.5.0",
"nanostores": "^0.9.3", "nanostores": "^0.9.3",
"preact": "^10.17.1" "preact": "^10.17.1"
} }

View file

@ -11,10 +11,10 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/mdx": "^1.1.3", "@astrojs/mdx": "^1.1.4",
"@astrojs/tailwind": "^5.0.2", "@astrojs/tailwind": "^5.0.2",
"@types/canvas-confetti": "^1.6.0", "@types/canvas-confetti": "^1.6.0",
"astro": "^3.4.4", "astro": "^3.5.0",
"autoprefixer": "^10.4.15", "autoprefixer": "^10.4.15",
"canvas-confetti": "^1.6.0", "canvas-confetti": "^1.6.0",
"postcss": "^8.4.28", "postcss": "^8.4.28",

View file

@ -11,7 +11,7 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^3.4.4", "astro": "^3.5.0",
"vite-plugin-pwa": "0.16.4", "vite-plugin-pwa": "0.16.4",
"workbox-window": "^7.0.0" "workbox-window": "^7.0.0"
} }

View file

@ -12,7 +12,7 @@
"test": "vitest" "test": "vitest"
}, },
"dependencies": { "dependencies": {
"astro": "^3.4.4", "astro": "^3.5.0",
"vitest": "^0.34.2" "vitest": "^0.34.2"
} }
} }

View file

@ -1,5 +1,207 @@
# astro # 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 ## 3.4.4
### Patch Changes ### Patch Changes

View file

@ -1,6 +1,6 @@
{ {
"name": "astro", "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.", "description": "Astro is a modern site builder with web best practices, performance, and DX front-of-mind.",
"type": "module", "type": "module",
"author": "withastro", "author": "withastro",

View file

@ -1,5 +1,11 @@
# @astrojs/lit # @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 ## 3.0.2
### Patch Changes ### Patch Changes

View file

@ -1,6 +1,6 @@
{ {
"name": "@astrojs/lit", "name": "@astrojs/lit",
"version": "3.0.2", "version": "3.0.3",
"description": "Use Lit components within Astro", "description": "Use Lit components within Astro",
"type": "module", "type": "module",
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",

View file

@ -1,5 +1,12 @@
# @astrojs/mdx # @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 ## 1.1.3
### Patch Changes ### Patch Changes

View file

@ -1,7 +1,7 @@
{ {
"name": "@astrojs/mdx", "name": "@astrojs/mdx",
"description": "Add support for MDX pages in your Astro site", "description": "Add support for MDX pages in your Astro site",
"version": "1.1.3", "version": "1.1.4",
"type": "module", "type": "module",
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"author": "withastro", "author": "withastro",

View file

@ -1,5 +1,11 @@
# @astrojs/markdown-remark # @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 ## 3.3.0
### Minor Changes ### Minor Changes

View file

@ -1,6 +1,6 @@
{ {
"name": "@astrojs/markdown-remark", "name": "@astrojs/markdown-remark",
"version": "3.3.0", "version": "3.4.0",
"type": "module", "type": "module",
"author": "withastro", "author": "withastro",
"license": "MIT", "license": "MIT",

64
pnpm-lock.yaml generated
View file

@ -125,13 +125,13 @@ importers:
examples/basics: examples/basics:
dependencies: dependencies:
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
examples/blog: examples/blog:
dependencies: dependencies:
'@astrojs/mdx': '@astrojs/mdx':
specifier: ^1.1.3 specifier: ^1.1.4
version: link:../../packages/integrations/mdx version: link:../../packages/integrations/mdx
'@astrojs/rss': '@astrojs/rss':
specifier: ^3.0.0 specifier: ^3.0.0
@ -140,13 +140,13 @@ importers:
specifier: ^3.0.3 specifier: ^3.0.3
version: link:../../packages/integrations/sitemap version: link:../../packages/integrations/sitemap
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
examples/component: examples/component:
devDependencies: devDependencies:
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
examples/framework-alpine: examples/framework-alpine:
@ -161,19 +161,19 @@ importers:
specifier: ^3.12.3 specifier: ^3.12.3
version: 3.13.2 version: 3.13.2
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
examples/framework-lit: examples/framework-lit:
dependencies: dependencies:
'@astrojs/lit': '@astrojs/lit':
specifier: ^3.0.2 specifier: ^3.0.3
version: link:../../packages/integrations/lit version: link:../../packages/integrations/lit
'@webcomponents/template-shadowroot': '@webcomponents/template-shadowroot':
specifier: ^0.2.1 specifier: ^0.2.1
version: 0.2.1 version: 0.2.1
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
lit: lit:
specifier: ^2.8.0 specifier: ^2.8.0
@ -197,7 +197,7 @@ importers:
specifier: ^3.0.4 specifier: ^3.0.4
version: link:../../packages/integrations/vue version: link:../../packages/integrations/vue
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
preact: preact:
specifier: ^10.17.1 specifier: ^10.17.1
@ -227,7 +227,7 @@ importers:
specifier: ^1.2.1 specifier: ^1.2.1
version: 1.2.1(preact@10.18.1) version: 1.2.1(preact@10.18.1)
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
preact: preact:
specifier: ^10.17.1 specifier: ^10.17.1
@ -245,7 +245,7 @@ importers:
specifier: ^18.2.7 specifier: ^18.2.7
version: 18.2.14 version: 18.2.14
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
react: react:
specifier: ^18.2.0 specifier: ^18.2.0
@ -260,7 +260,7 @@ importers:
specifier: ^3.0.2 specifier: ^3.0.2
version: link:../../packages/integrations/solid version: link:../../packages/integrations/solid
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
solid-js: solid-js:
specifier: ^1.7.11 specifier: ^1.7.11
@ -272,7 +272,7 @@ importers:
specifier: ^4.0.3 specifier: ^4.0.3
version: link:../../packages/integrations/svelte version: link:../../packages/integrations/svelte
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
svelte: svelte:
specifier: ^4.2.0 specifier: ^4.2.0
@ -284,7 +284,7 @@ importers:
specifier: ^3.0.4 specifier: ^3.0.4
version: link:../../packages/integrations/vue version: link:../../packages/integrations/vue
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
vue: vue:
specifier: ^3.3.4 specifier: ^3.3.4
@ -296,13 +296,13 @@ importers:
specifier: ^6.0.3 specifier: ^6.0.3
version: link:../../packages/integrations/node version: link:../../packages/integrations/node
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
examples/integration: examples/integration:
devDependencies: devDependencies:
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
examples/middleware: examples/middleware:
@ -311,7 +311,7 @@ importers:
specifier: ^6.0.3 specifier: ^6.0.3
version: link:../../packages/integrations/node version: link:../../packages/integrations/node
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
html-minifier: html-minifier:
specifier: ^4.0.0 specifier: ^4.0.0
@ -320,19 +320,19 @@ importers:
examples/minimal: examples/minimal:
dependencies: dependencies:
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
examples/non-html-pages: examples/non-html-pages:
dependencies: dependencies:
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
examples/portfolio: examples/portfolio:
dependencies: dependencies:
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
examples/ssr: examples/ssr:
@ -344,7 +344,7 @@ importers:
specifier: ^4.0.3 specifier: ^4.0.3
version: link:../../packages/integrations/svelte version: link:../../packages/integrations/svelte
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
svelte: svelte:
specifier: ^4.2.0 specifier: ^4.2.0
@ -359,7 +359,7 @@ importers:
specifier: ^5.0.2 specifier: ^5.0.2
version: link:../../packages/integrations/tailwind version: link:../../packages/integrations/tailwind
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
examples/with-markdoc: examples/with-markdoc:
@ -368,16 +368,16 @@ importers:
specifier: ^0.7.1 specifier: ^0.7.1
version: link:../../packages/integrations/markdoc version: link:../../packages/integrations/markdoc
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
examples/with-markdown-plugins: examples/with-markdown-plugins:
dependencies: dependencies:
'@astrojs/markdown-remark': '@astrojs/markdown-remark':
specifier: ^3.3.0 specifier: ^3.4.0
version: link:../../packages/markdown/remark version: link:../../packages/markdown/remark
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
hast-util-select: hast-util-select:
specifier: ^5.0.5 specifier: ^5.0.5
@ -398,19 +398,19 @@ importers:
examples/with-markdown-shiki: examples/with-markdown-shiki:
dependencies: dependencies:
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
examples/with-mdx: examples/with-mdx:
dependencies: dependencies:
'@astrojs/mdx': '@astrojs/mdx':
specifier: ^1.1.3 specifier: ^1.1.4
version: link:../../packages/integrations/mdx version: link:../../packages/integrations/mdx
'@astrojs/preact': '@astrojs/preact':
specifier: ^3.0.1 specifier: ^3.0.1
version: link:../../packages/integrations/preact version: link:../../packages/integrations/preact
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
preact: preact:
specifier: ^10.17.1 specifier: ^10.17.1
@ -425,7 +425,7 @@ importers:
specifier: ^0.5.0 specifier: ^0.5.0
version: 0.5.0(nanostores@0.9.4)(preact@10.18.1) version: 0.5.0(nanostores@0.9.4)(preact@10.18.1)
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
nanostores: nanostores:
specifier: ^0.9.3 specifier: ^0.9.3
@ -437,7 +437,7 @@ importers:
examples/with-tailwindcss: examples/with-tailwindcss:
dependencies: dependencies:
'@astrojs/mdx': '@astrojs/mdx':
specifier: ^1.1.3 specifier: ^1.1.4
version: link:../../packages/integrations/mdx version: link:../../packages/integrations/mdx
'@astrojs/tailwind': '@astrojs/tailwind':
specifier: ^5.0.2 specifier: ^5.0.2
@ -446,7 +446,7 @@ importers:
specifier: ^1.6.0 specifier: ^1.6.0
version: 1.6.2 version: 1.6.2
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
autoprefixer: autoprefixer:
specifier: ^10.4.15 specifier: ^10.4.15
@ -464,7 +464,7 @@ importers:
examples/with-vite-plugin-pwa: examples/with-vite-plugin-pwa:
dependencies: dependencies:
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
vite-plugin-pwa: vite-plugin-pwa:
specifier: 0.16.4 specifier: 0.16.4
@ -476,7 +476,7 @@ importers:
examples/with-vitest: examples/with-vitest:
dependencies: dependencies:
astro: astro:
specifier: ^3.4.4 specifier: ^3.5.0
version: link:../../packages/astro version: link:../../packages/astro
vitest: vitest:
specifier: ^0.34.2 specifier: ^0.34.2