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//.d.ts` and must end with `".d.ts"`.
The `content` property will create the body of the file, and must be valid TypeScript.
Additionally, `injectTypes()` returns a URL to the normalized path so you can overwrite its content later on, or manipulate it in any way you want.
```js
// my-integration/index.js
export default {
name: 'my-integration',
'astro:config:done': ({ injectTypes }) => {
injectTypes({
filename: 'types.d.ts',
content: "declare module 'virtual:my-integration' {}",
});
},
};
```
Codegen has been refactored. Although `src/env.d.ts` will continue to work as is, we recommend you update it:
```diff
- ///
+ ///
- ///
- ///
```
- [#11605](https://togithub.com/withastro/astro/pull/11605) [`d3d99fb`](https://togithub.com/withastro/astro/commit/d3d99fba269da9e812e748539a11dfed785ef8a4) Thanks [@jcayzac](https://togithub.com/jcayzac)! - Adds a new property `meta` to Astro's [built-in `` 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.
Configuration
📅 Schedule: Branch creation - "after 3am on Sunday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
4.13.3
->4.14.2
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.
Configuration
📅 Schedule: Branch creation - "after 3am on Sunday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.