summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-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
8 files changed, 225 insertions, 4 deletions
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",