Open renovate[bot] opened 1 month ago
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 73.81%. Comparing base (
de6d87c
) to head (513cf3c
).
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
This PR contains the following updates:
4.11.3
->4.14.2
0.6.2
->0.7.0
3.4.4
->3.4.10
Release Notes
withastro/astro (astro)
### [`v4.14.2`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4142) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.14.1...astro@4.14.2) ##### Patch Changes - [#11733](https://togithub.com/withastro/astro/pull/11733) [`391324d`](https://togithub.com/withastro/astro/commit/391324df969db71d1c7ca25c2ed14c9eb6eea5ee) Thanks [@bluwy](https://togithub.com/bluwy)! - Reverts back to `yargs-parser` package for CLI argument parsing ### [`v4.14.1`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4141) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.14.0...astro@4.14.1) ##### Patch Changes - [#11725](https://togithub.com/withastro/astro/pull/11725) [`6c1560f`](https://togithub.com/withastro/astro/commit/6c1560fb0d19ce659bc9f9090f8050254d5c03f3) Thanks [@ascorbic](https://togithub.com/ascorbic)! - Prevents content layer importing node builtins in runtime - [#11692](https://togithub.com/withastro/astro/pull/11692) [`35af73a`](https://togithub.com/withastro/astro/commit/35af73aace97a7cc898b9aa5040db8bc2ac62687) Thanks [@matthewp](https://togithub.com/matthewp)! - Prevent errant HTML from crashing server islands When an HTML minifier strips away the server island comment, the script can't correctly know where the end of the fallback content is. This makes it so that it simply doesn't remove any DOM in that scenario. This means the fallback isn't removed, but it also doesn't crash the browser. - [#11727](https://togithub.com/withastro/astro/pull/11727) [`3c2f93b`](https://togithub.com/withastro/astro/commit/3c2f93b66c6b8e9d2ab58e2cbe941c14ffab89b5) Thanks [@florian-lefebvre](https://togithub.com/florian-lefebvre)! - Fixes a type issue when using the Content Layer in dev ### [`v4.14.0`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4140) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.13.4...astro@4.14.0) ##### Minor Changes - [#11657](https://togithub.com/withastro/astro/pull/11657) [`a23c69d`](https://togithub.com/withastro/astro/commit/a23c69d0d0bed229bee52a32e61f135f9ebf9122) Thanks [@bluwy](https://togithub.com/bluwy)! - Deprecates the option for route-generating files to export a dynamic value for `prerender`. Only static values are now supported (e.g. `export const prerender = true` or `= false`). This allows for better treeshaking and bundling configuration in the future. Adds a new [`"astro:route:setup"` hook](https://docs.astro.build/en/reference/integrations-reference/#astroroutesetup) to the Integrations API to allow you to dynamically set options for a route at build or request time through an integration, such as enabling [on-demand server rendering](https://docs.astro.build/en/guides/server-side-rendering/#opting-in-to-pre-rendering-in-server-mode). To migrate from a dynamic export to the new hook, update or remove any dynamic `prerender` exports from individual routing files: ```diff // src/pages/blog/[slug].astro - export const prerender = import.meta.env.PRERENDER ``` Instead, create an integration with the `"astro:route:setup"` hook and update the route's `prerender` option: ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { loadEnv } from 'vite'; export default defineConfig({ integrations: [setPrerender()], }); function setPrerender() { const { PRERENDER } = loadEnv(process.env.NODE_ENV, process.cwd(), ''); return { name: 'set-prerender', hooks: { 'astro:route:setup': ({ route }) => { if (route.component.endsWith('/blog/[slug].astro')) { route.prerender = PRERENDER; } }, }, }; } ``` - [#11360](https://togithub.com/withastro/astro/pull/11360) [`a79a8b0`](https://togithub.com/withastro/astro/commit/a79a8b0230b06ed32ce1802f2a5f84a6cf92dbe7) Thanks [@ascorbic](https://togithub.com/ascorbic)! - Adds a new [`injectTypes()` utility](https://docs.astro.build/en/reference/integrations-reference/#injecttypes-options) to the Integration API and refactors how type generation works Use `injectTypes()` in the `astro:config:done` hook to inject types into your user's project by adding a new a `*.d.ts` file. The `filename` property will be used to generate a file at `/.astro/integrations/` component](https://docs.astro.build/en/reference/api-reference/#code-). This allows you to provide a value for [Shiki's `meta` attribute](https://shiki.style/guide/transformers#meta) to pass options to transformers. The following example passes an option to highlight lines 1 and 3 to Shiki's `tranformerMetaHighlight`: ### [`v4.13.4`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4134) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.13.3...astro@4.13.4) ##### Patch Changes - [#11678](https://togithub.com/withastro/astro/pull/11678) [`34da907`](https://togithub.com/withastro/astro/commit/34da907f3b4fb411024e6d28fdb291fa78116950) Thanks [@ematipico](https://togithub.com/ematipico)! - Fixes a case where omitting a semicolon and line ending with carriage return - CRLF - in the `prerender` option could throw an error. - [#11535](https://togithub.com/withastro/astro/pull/11535) [`932bd2e`](https://togithub.com/withastro/astro/commit/932bd2eb07f1d7cb2c91e7e7d31fe84c919e302b) Thanks [@matthewp](https://togithub.com/matthewp)! - Encrypt server island props Server island props are now encrypted with a key generated at build-time. This is intended to prevent accidentally leaking secrets caused by exposing secrets through prop-passing. This is not intended to allow a server island to be trusted to skip authentication, or to protect against any other vulnerabilities other than secret leakage. See the RFC for an explanation: https://github.com/withastro/roadmap/blob/server-islands/proposals/server-islands.md#props-serialization - [#11655](https://togithub.com/withastro/astro/pull/11655) [`dc0a297`](https://togithub.com/withastro/astro/commit/dc0a297e2a4bea3db8310cc98c51b2f94ede5fde) Thanks [@billy-le](https://togithub.com/billy-le)! - Fixes Astro Actions `input` validation when using `default` values with a form input. - [#11689](https://togithub.com/withastro/astro/pull/11689) [`c7bda4c`](https://togithub.com/withastro/astro/commit/c7bda4cd672864babc3cebd19a2dd2e1af85c087) Thanks [@ematipico](https://togithub.com/ematipico)! - Fixes an issue in the Astro actions, where the size of the generated cookie was exceeding the size permitted by the `Set-Cookie` header. ### [`v4.13.3`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4133) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.13.2...astro@4.13.3) ##### Patch Changes - [#11653](https://togithub.com/withastro/astro/pull/11653) [`32be549`](https://togithub.com/withastro/astro/commit/32be5494f6d33dbe32208704405162c95a64f0bc) Thanks [@florian-lefebvre](https://togithub.com/florian-lefebvre)! - Updates `astro:env` docs to reflect current developments and usage guidance - [#11658](https://togithub.com/withastro/astro/pull/11658) [`13b912a`](https://togithub.com/withastro/astro/commit/13b912a8702afb96e2d0bc20dcc1b4135ae58147) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - Fixes `orThrow()` type when calling an Action without an `input` validator. - [#11603](https://togithub.com/withastro/astro/pull/11603) [`f31d466`](https://togithub.com/withastro/astro/commit/f31d4665c1cbb0918b9e00ba1431fb6f264025f7) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - Improves user experience when render an Action result from a form POST request: - Removes "Confirm post resubmission?" dialog when refreshing a result. - Removes the `?_astroAction=NAME` flag when a result is rendered. Also improves the DX of directing to a new route on success. Actions will now redirect to the route specified in your `action` string on success, and redirect back to the previous page on error. This follows the routing convention of established backend frameworks like Laravel. For example, say you want to redirect to a `/success` route when `actions.signup` succeeds. You can add `/success` to your `action` string like so: ```astro ``` - On success, Astro will redirect to `/success`. - On error, Astro will redirect back to the current page. You can retrieve the action result from either page using the `Astro.getActionResult()` function. ##### Note on security This uses a temporary cookie to forward the action result to the next page. The cookie will be deleted when that page is rendered. ⚠ **The action result is not encrypted.** In general, we recommend returning minimal data from an action handler to a) avoid leaking sensitive information, and b) avoid unexpected render issues once the temporary cookie is deleted. For example, a `login` function may return a user's session id to retrieve from your Astro frontmatter, rather than the entire user object. ### [`v4.13.2`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4132) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.13.1...astro@4.13.2) ##### Patch Changes - [#11648](https://togithub.com/withastro/astro/pull/11648) [`589d351`](https://togithub.com/withastro/astro/commit/589d35158da1a2136387d0ad76609f5c8535c03a) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - Fixes unexpected error when refreshing a POST request from a form using Actions. - [#11600](https://togithub.com/withastro/astro/pull/11600) [`09ec2ca`](https://togithub.com/withastro/astro/commit/09ec2cadce01a9a1f9c54ac433f137348907aa56) Thanks [@ArmandPhilippot](https://togithub.com/ArmandPhilippot)! - Deprecates `getEntryBySlug` and `getDataEntryById` functions exported by `astro:content` in favor of `getEntry`. - [#11593](https://togithub.com/withastro/astro/pull/11593) [`81d7150`](https://togithub.com/withastro/astro/commit/81d7150e02472430eab555dfc4f053738bf99bb6) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - Adds support for `Date()`, `Map()`, and `Set()` from action results. See [devalue](https://togithub.com/Rich-Harris/devalue) for a complete list of supported values. Also fixes serialization exceptions when deploying Actions with edge middleware on Netlify and Vercel. - [#11617](https://togithub.com/withastro/astro/pull/11617) [`196092a`](https://togithub.com/withastro/astro/commit/196092ae69eb1249206846ddfc162049b03f42b4) Thanks [@abubakriz](https://togithub.com/abubakriz)! - Fix toolbar audit incorrectly flagging images as above the fold. - [#11634](https://togithub.com/withastro/astro/pull/11634) [`2716f52`](https://togithub.com/withastro/astro/commit/2716f52aae7194439ebb2336849ddd9e8226658a) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - Fixes internal server error when calling an Astro Action without arguments on Vercel. - [#11628](https://togithub.com/withastro/astro/pull/11628) [`9aaf58c`](https://togithub.com/withastro/astro/commit/9aaf58c1339b54f2c1394e718a0f6f609f0b6342) Thanks [@madbook](https://togithub.com/madbook)! - Ensures consistent CSS chunk hashes across different environments ### [`v4.13.1`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4131) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.13.0...astro@4.13.1) ##### Patch Changes - [#11584](https://togithub.com/withastro/astro/pull/11584) [`a65ffe3`](https://togithub.com/withastro/astro/commit/a65ffe314b112213421def26c7cc5b7e7b93558c) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - Removes async local storage dependency from Astro Actions. This allows Actions to run in Cloudflare and Stackblitz without opt-in flags or other configuration. This also introduces a new convention for calling actions from server code. Instead of calling actions directly, you must wrap function calls with the new `Astro.callAction()` utility. > `callAction()` is meant to *trigger* an action from server code. `getActionResult()` usage with form submissions remains unchanged. ### [`v4.13.0`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4130) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.12.3...astro@4.13.0) ##### Minor Changes - [#11507](https://togithub.com/withastro/astro/pull/11507) [`a62345f`](https://togithub.com/withastro/astro/commit/a62345fd182ae4886d586c8406ed8f3e5f942730) Thanks [@ematipico](https://togithub.com/ematipico)! - Adds color-coding to the console output during the build to highlight slow pages. Pages that take more than 500 milliseconds to render will have their build time logged in red. This change can help you discover pages of your site that are not performant and may need attention. - [#11379](https://togithub.com/withastro/astro/pull/11379) [`e5e2d3e`](https://togithub.com/withastro/astro/commit/e5e2d3ed3076f10b4645f011b13888d5fa16e92e) Thanks [@alexanderniebuhr](https://togithub.com/alexanderniebuhr)! - The `experimental.contentCollectionJsonSchema` feature introduced behind a flag in [v4.5.0](https://togithub.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md#450) is no longer experimental and is available for general use. If you are working with collections of type `data`, Astro will now auto-generate JSON schema files for your editor to get IntelliSense and type-checking. A separate file will be created for each data collection in your project based on your collections defined in `src/content/config.ts` using a library called [`zod-to-json-schema`](https://togithub.com/StefanTerdell/zod-to-json-schema). This feature requires you to manually set your schema's file path as the value for `$schema` in each data entry file of the collection: ```json title="src/content/authors/armand.json" ins={2} { "$schema": "../../../.astro/collections/authors.schema.json", "name": "Armand", "skills": ["Astro", "Starlight"] } ``` Alternatively, you can set this value in your editor settings. For example, to set this value in [VSCode's `json.schemas` setting](https://code.visualstudio.com/docs/languages/json#\_json-schemas-and-settings), provide the path of files to match and the location of your JSON schema: ```json { "json.schemas": [ { "fileMatch": ["/src/content/authors/**"], "url": "./.astro/collections/authors.schema.json" } ] } ``` If you were previously using this feature, please remove the experimental flag from your Astro config: ```diff import { defineConfig } from 'astro' export default defineConfig({ - experimental: { - contentCollectionJsonSchema: true - } }) ``` If you have been waiting for stabilization before using JSON Schema generation for content collections, you can now do so. Please see [the content collections guide](https://docs.astro.build/en/guides/content-collections/#enabling-json-schema-generation) for more about this feature. - [#11542](https://togithub.com/withastro/astro/pull/11542) [`45ad326`](https://togithub.com/withastro/astro/commit/45ad326932971b44630a32d9092c9505f24f42f8) Thanks [@ematipico](https://togithub.com/ematipico)! - The `experimental.rewriting` feature introduced behind a flag in [v4.8.0](https://togithub.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md#480) is no longer experimental and is available for general use. `Astro.rewrite()` and `context.rewrite()` allow you to render a different page without changing the URL in the browser. Unlike using a redirect, your visitor is kept on the original page they visited. Rewrites can be useful for showing the same content at multiple paths (e.g. /products/shoes/men/ and /products/men/shoes/) without needing to maintain two identical source files. Rewrites are supported in Astro pages, endpoints, and middleware. Return `Astro.rewrite()` in the frontmatter of a `.astro` page component to display a different page's content, such as fallback localized content: ### [`v4.12.3`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4123) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.12.2...astro@4.12.3) ##### Patch Changes - [#11509](https://togithub.com/withastro/astro/pull/11509) [`dfbca06`](https://togithub.com/withastro/astro/commit/dfbca06dda674c64c7010db2f4de951496a1e631) Thanks [@bluwy](https://togithub.com/bluwy)! - Excludes hoisted scripts and styles from Astro components imported with `?url` or `?raw` - [#11561](https://togithub.com/withastro/astro/pull/11561) [`904f1e5`](https://togithub.com/withastro/astro/commit/904f1e535aeb7a14ba7ce07c3130e25f3e708266) Thanks [@ArmandPhilippot](https://togithub.com/ArmandPhilippot)! - Uses the correct pageSize default in `page.size` JSDoc comment - [#11571](https://togithub.com/withastro/astro/pull/11571) [`1c3265a`](https://togithub.com/withastro/astro/commit/1c3265a8c9c0b1b1bd597f756b63463146bacc3a) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - **BREAKING CHANGE to the experimental Actions API only.** Install the latest `@astrojs/react` integration as well if you're using React 19 features. Make `.safe()` the default return value for actions. This means `{ data, error }` will be returned when calling an action directly. If you prefer to get the data while allowing errors to throw, chain the `.orThrow()` modifier. ```ts import { actions } from 'astro:actions'; // Before const { data, error } = await actions.like.safe(); // After const { data, error } = await actions.like(); // Before const newLikes = await actions.like(); // After const newLikes = await actions.like.orThrow(); ``` ### [`v4.12.2`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4122) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.12.1...astro@4.12.2) ##### Patch Changes - [#11505](https://togithub.com/withastro/astro/pull/11505) [`8ff7658`](https://togithub.com/withastro/astro/commit/8ff7658001c2c7bedf6adcddf7a9341196f2d376) Thanks [@ematipico](https://togithub.com/ematipico)! - Enhances the dev server logging when rewrites occur during the lifecycle or rendering. The dev server will log the status code **before** and **after** a rewrite: ```shell 08:16:48 [404] (rewrite) /foo/about 200ms 08:22:13 [200] (rewrite) /about 23ms ``` - [#11506](https://togithub.com/withastro/astro/pull/11506) [`026e8ba`](https://togithub.com/withastro/astro/commit/026e8baf3323e99f96530999fd32a0a9b305854d) Thanks [@sarah11918](https://togithub.com/sarah11918)! - Fixes typo in documenting the `slot="fallback"` attribute for Server Islands experimental feature. - [#11508](https://togithub.com/withastro/astro/pull/11508) [`ca335e1`](https://togithub.com/withastro/astro/commit/ca335e1dc09bc83d3f8f5b9dd54f116bcb4881e4) Thanks [@cramforce](https://togithub.com/cramforce)! - Escapes HTML in serialized props - [#11501](https://togithub.com/withastro/astro/pull/11501) [`4db78ae`](https://togithub.com/withastro/astro/commit/4db78ae046a39628dfe8d68e776706559d4f8ba7) Thanks [@martrapp](https://togithub.com/martrapp)! - Adds the missing export for accessing the `getFallback()` function of the client site router. ### [`v4.12.1`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4121) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.12.0...astro@4.12.1) ##### Patch Changes - [#11486](https://togithub.com/withastro/astro/pull/11486) [`9c0c849`](https://togithub.com/withastro/astro/commit/9c0c8492d987cd9214ed53e71fb29599c206966a) Thanks [@ematipico](https://togithub.com/ematipico)! - Adds a new function called `addClientRenderer` to the Container API. This function should be used when rendering components using the `client:*` directives. The `addClientRenderer` API must be used *after* the use of the `addServerRenderer`: ```js const container = await experimental_AstroContainer.create(); container.addServerRenderer({ renderer }); container.addClientRenderer({ name: '@astrojs/react', entrypoint: '@astrojs/react/client.js' }); const response = await container.renderToResponse(Component); ``` - [#11500](https://togithub.com/withastro/astro/pull/11500) [`4e142d3`](https://togithub.com/withastro/astro/commit/4e142d38cbaf0938be7077c88e32b38a6b60eaed) Thanks [@Princesseuh](https://togithub.com/Princesseuh)! - Fixes inferRemoteSize type not working - [#11496](https://togithub.com/withastro/astro/pull/11496) [`53ccd20`](https://togithub.com/withastro/astro/commit/53ccd206f9bfe5f6a0d888d199776b4043f63f58) Thanks [@alfawal](https://togithub.com/alfawal)! - Hide the dev toolbar on `window.print()` (CTRL + P) ### [`v4.12.0`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4120) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.11.6...astro@4.12.0) ##### Minor Changes - [#11341](https://togithub.com/withastro/astro/pull/11341) [`49b5145`](https://togithub.com/withastro/astro/commit/49b5145158a603b9bb951bf914a6a9780c218704) Thanks [@madcampos](https://togithub.com/madcampos)! - Adds support for [Shiki's `defaultColor` option](https://shiki.style/guide/dual-themes#without-default-color). This option allows you to override the values of a theme's inline style, adding only CSS variables to give you more flexibility in applying multiple color themes. Configure `defaultColor: false` in your Shiki config to apply throughout your site, or pass to Astro's built-in `
` component to style an individual code block. ```js title="astro.config.mjs" import { defineConfig } from 'astro/config'; export default defineConfig({ markdown: { shikiConfig: { themes: { light: 'github-light', dark: 'github-dark', }, defaultColor: false, }, }, }); ``` ### [`v4.11.6`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4116) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.11.5...astro@4.11.6) ##### Patch Changes - [#11459](https://togithub.com/withastro/astro/pull/11459) [`bc2e74d`](https://togithub.com/withastro/astro/commit/bc2e74de384776caa252fd47dbeda895c0488c11) Thanks [@mingjunlu](https://togithub.com/mingjunlu)! - Fixes false positive audit warnings on elements with the role "tabpanel". - [#11472](https://togithub.com/withastro/astro/pull/11472) [`cb4e6d0`](https://togithub.com/withastro/astro/commit/cb4e6d09deb7507058115a3fd2a567019a501e4d) Thanks [@delucis](https://togithub.com/delucis)! - Avoids targeting all files in the `src/` directory for eager optimization by Vite. After this change, only JSX, Vue, Svelte, and Astro components get scanned for early optimization. - [#11387](https://togithub.com/withastro/astro/pull/11387) [`b498461`](https://togithub.com/withastro/astro/commit/b498461e277bffb0abe21b59a94b1e56a8c69d47) Thanks [@bluwy](https://togithub.com/bluwy)! - Fixes prerendering not removing unused dynamic imported chunks - [#11437](https://togithub.com/withastro/astro/pull/11437) [`6ccb30e`](https://togithub.com/withastro/astro/commit/6ccb30e610eed34c2cc2c275485a8ac45c9b6b9e) Thanks [@NuroDev](https://togithub.com/NuroDev)! - Fixes a case where Astro's config `experimental.env.schema` keys did not allow numbers. Numbers are still not allowed as the first character to be able to generate valid JavaScript identifiers - [#11439](https://togithub.com/withastro/astro/pull/11439) [`08baf56`](https://togithub.com/withastro/astro/commit/08baf56f328ce4b6814a7f90089c0b3398d8bbfe) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - Expands the `isInputError()` utility from `astro:actions` to accept errors of any type. This should now allow type narrowing from a try / catch block. ```ts // example.ts import { actions, isInputError } from 'astro:actions'; try { await actions.like(new FormData()); } catch (error) { if (isInputError(error)) { console.log(error.fields); } } ``` - [#11452](https://togithub.com/withastro/astro/pull/11452) [`0e66849`](https://togithub.com/withastro/astro/commit/0e6684983b9b24660a8fef83fe401ec1d567378a) Thanks [@FugiTech](https://togithub.com/FugiTech)! - Fixes an issue where using .nullish() in a formdata Astro action would always parse as a string - [#11438](https://togithub.com/withastro/astro/pull/11438) [`619f07d`](https://togithub.com/withastro/astro/commit/619f07db701ebab2d2f2598dd2dcf93ba1e5719c) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - Exposes utility types from `astro:actions` for the `defineAction` handler (`ActionHandler`) and the `ActionError` code (`ActionErrorCode`). - [#11456](https://togithub.com/withastro/astro/pull/11456) [`17e048d`](https://togithub.com/withastro/astro/commit/17e048de0e79d76b933d128676be2388954b419e) Thanks [@RickyC0626](https://togithub.com/RickyC0626)! - Fixes `astro dev --open` unexpected behavior that spawns a new tab every time a config file is saved - [#11337](https://togithub.com/withastro/astro/pull/11337) [`0a4b31f`](https://togithub.com/withastro/astro/commit/0a4b31ffeb41ad1dfb3141384e22787763fcae3d) Thanks [@florian-lefebvre](https://togithub.com/florian-lefebvre)! - Adds a new property `experimental.env.validateSecrets` to allow validating private variables on the server. By default, this is set to `false` and only public variables are checked on start. If enabled, secrets will also be checked on start (dev/build modes). This is useful for example in some CIs to make sure all your secrets are correctly set before deploying. ```js // astro.config.mjs import { defineConfig, envField } from 'astro/config'; export default defineConfig({ experimental: { env: { schema: { // ... }, validateSecrets: true, }, }, }); ``` - [#11443](https://togithub.com/withastro/astro/pull/11443) [`ea4bc04`](https://togithub.com/withastro/astro/commit/ea4bc04e9489c456e2b4b5dbd67d5e4cf3f89f97) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - Expose new `ActionReturnType` utility from `astro:actions`. This infers the return type of an action by passing `typeof actions.name` as a type argument. This example defines a `like` action that returns `likes` as an object: ```ts // actions/index.ts import { defineAction } from 'astro:actions'; export const server = { like: defineAction({ handler: () => { /* ... */ return { likes: 42 }; }, }), }; ``` In your client code, you can infer this handler return value with `ActionReturnType`: ```ts // client.ts import { actions, ActionReturnType } from 'astro:actions'; type LikesResult = ActionReturnType;
// -> { likes: number }
```
- [#11436](https://togithub.com/withastro/astro/pull/11436) [`7dca68f`](https://togithub.com/withastro/astro/commit/7dca68ff2e0f089a3fd090650ee05b1942792fed) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - Fixes `astro:actions` autocompletion for the `defineAction` `accept` property
- [#11455](https://togithub.com/withastro/astro/pull/11455) [`645e128`](https://togithub.com/withastro/astro/commit/645e128537f1f20da6703afc115d06371d7da5dd) Thanks [@florian-lefebvre](https://togithub.com/florian-lefebvre)! - Improves `astro:env` invalid variables errors
### [`v4.11.5`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4115)
[Compare Source](https://togithub.com/withastro/astro/compare/astro@4.11.4...astro@4.11.5)
##### Patch Changes
- [#11408](https://togithub.com/withastro/astro/pull/11408) [`b9e906f`](https://togithub.com/withastro/astro/commit/b9e906f8e75444739aa259b62489d9f5749260b9) Thanks [@matthewp](https://togithub.com/matthewp)! - Revert change to how boolean attributes work
### [`v4.11.4`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#4114)
[Compare Source](https://togithub.com/withastro/astro/compare/astro@4.11.3...astro@4.11.4)
##### Patch Changes
- [#11362](https://togithub.com/withastro/astro/pull/11362) [`93993b7`](https://togithub.com/withastro/astro/commit/93993b77cf4915b4c0d245df9ecbf2265f5893e7) Thanks [@ematipico](https://togithub.com/ematipico)! - Fixes an issue where creating manually the i18n middleware could break the logic of the functions of the virtual module `astro:i18n`
- [#11349](https://togithub.com/withastro/astro/pull/11349) [`98d9ce4`](https://togithub.com/withastro/astro/commit/98d9ce41f20c8bf024c937e8bde80d3c3dbbed99) Thanks [@ematipico](https://togithub.com/ematipico)! - Fixes an issue where Astro didn't throw an error when `Astro.rewrite` was used without providing the experimental flag
- [#11352](https://togithub.com/withastro/astro/pull/11352) [`a55ee02`](https://togithub.com/withastro/astro/commit/a55ee0268e1ca22597e9b5e6d1f24b4f28ad978b) Thanks [@ematipico](https://togithub.com/ematipico)! - Fixes an issue where the rewrites didn't update the status code when using manual i18n routing.
- [#11388](https://togithub.com/withastro/astro/pull/11388) [`3a223b4`](https://togithub.com/withastro/astro/commit/3a223b4811708cc93ebb27706118c1723e1fc013) Thanks [@mingjunlu](https://togithub.com/mingjunlu)! - Adjusts the color of punctuations in error overlay.
- [#11369](https://togithub.com/withastro/astro/pull/11369) [`e6de11f`](https://togithub.com/withastro/astro/commit/e6de11f4a941e29123da3714e5b8f17d25744f0f) Thanks [@bluwy](https://togithub.com/bluwy)! - Fixes attribute rendering for non-boolean attributes with boolean values
leudz/shipyard (shipyard)
### [`v0.7.0`](https://togithub.com/leudz/shipyard/releases/tag/v0.7.0): Shipyard 0.7 [Compare Source](https://togithub.com/leudz/shipyard/compare/v0.6.5...v0.7.0) This release should require very little to no changes to user code. #### Guide The guide continues to expand with a new [Learn by example](https://leudz.github.io/shipyard/guide/0.7/learn-by-example.html) section. #### Tracking new design This is what took the most time, and in the end, the new design is syntactically identical to 0.6 for most users. The new design allows for the easy-to-use derive of 0.6 while allowing downstream crate to specify additional tracking on a component they didn't define. Let's take an example. You have 3 crates, crateA and crateB both depend on crateC. crateA and crateB both use a component `T` that is defined in crateC. crateA cares about modification on `T` but crateB and crateC don't. With 0.6 you would have to always track `T` modifications, in all three crates. The only place tracking could be defined was crateC. With 0.7 you can omit tracking from crateB and crateC. And only track modifications in crateA. The derive macro also allows any combination of tracking now where it only allowed a single kind of tracking in 0.6. You can read more about tracking evolution [in this post](https://shipyard.zulipchat.com/#narrow/stream/219626-general/topic/Tracking.20retrospective/near/443988601). #### More convenience functions Back in early versions all entity and component operations had to go through views. With time I changed my mind on this and I added shortcuts to add entities or components directly from `World`. 0.7 adds more of these functions like `World::iter`. ```rust #[derive(Component, Debug, PartialEq, Eq)] struct U32(u32); #[derive(Component, Debug, PartialEq, Eq)] struct USIZE(usize); let mut world = World::new(); let entity = world.add_entity((USIZE(0), U32(1))); for (i, j) in &mut world.iter::<(&USIZE, &mut U32)>() { // <-- SNIP --> } ``` #### Custom Views Custom views are easier to create and more powerful than ever. ```rust #[derive(Borrow, BorrowInfo, IntoIter)] struct TransformView<'v> { pos: View<'v, Pos>, vel: View<'v, Vel>, } fn main() { // -- SNIP -- world.run(|v_transform: TransformView| { for transform in v_transform.iter() { transform.pos; transform.vel; } }); } ``` *** Thanks [@eldyer](https://togithub.com/eldyer), [@BoxyUwU](https://togithub.com/BoxyUwU) and everyone that opened an issue or PR! ### [`v0.6.5`](https://togithub.com/leudz/shipyard/compare/v0.6.4...v0.6.5) [Compare Source](https://togithub.com/leudz/shipyard/compare/v0.6.4...v0.6.5) ### [`v0.6.4`](https://togithub.com/leudz/shipyard/compare/v0.6.3...v0.6.4) [Compare Source](https://togithub.com/leudz/shipyard/compare/v0.6.3...v0.6.4)tailwindlabs/tailwindcss (tailwindcss)
### [`v3.4.10`](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.4.9...v3.4.10) [Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.4.9...v3.4.10) ### [`v3.4.9`](https://togithub.com/tailwindlabs/tailwindcss/releases/tag/v3.4.9) [Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.4.8...v3.4.9) ##### Fixed - No longer warns when broad glob patterns are detecting `vendor` folders ### [`v3.4.8`](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.4.7...1676118af9dd1ca2b59f3f9b91afef4d0b453ea5) [Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.4.7...v3.4.8) ### [`v3.4.7`](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.4.6...v3.4.7) [Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.4.6...v3.4.7) ### [`v3.4.6`](https://togithub.com/tailwindlabs/tailwindcss/releases/tag/v3.4.6) [Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.4.5...v3.4.6) ##### Fixed - Fix detection of some utilities in Slim/Pug templates ([#14006](https://togithub.com/tailwindlabs/tailwindcss/pull/14006)) ##### Changed - Loosen `:is()` wrapping rules when using an important selector ([#13900](https://togithub.com/tailwindlabs/tailwindcss/pull/13900)) ### [`v3.4.5`](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.4.4...a0dbb3d87664521af8a422df5c179d9572a4698c) [Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.4.4...v3.4.5)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.