Commit 8b4d8ae
authored
chore(deps): update dependency astro to v6.4.6 [security] (#1934)
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [astro](https://astro.build)
([source](https://redirect.github.com/withastro/astro/tree/HEAD/packages/astro))
| [`6.3.7` →
`6.4.6`](https://renovatebot.com/diffs/npm/astro/6.3.7/6.4.6) |

|

|
---
### Astro: Host header SSRF in prerendered error page fetch
[CVE-2026-54299](https://nvd.nist.gov/vuln/detail/CVE-2026-54299) /
[GHSA-2pvr-wf23-7pc7](https://redirect.github.com/advisories/GHSA-2pvr-wf23-7pc7)
<details>
<summary>More information</summary>
#### Details
##### Summary
Astro SSR apps with prerendered error pages (`/404` or `/500` using
`export const prerender = true`) fetch those pages over HTTP at runtime
when an error occurs. The URL for this fetch is derived from
`request.url`, which in turn gets its origin from the incoming `Host`
header. When the `Host` header is not validated against
`allowedDomains`, an attacker can point the fetch at an arbitrary host
and read the response.
##### Who is affected
This affects SSR deployments that:
1. Have a prerendered 404 or 500 page
2. Use `createRequestFromNodeRequest` from `astro/app/node` with
`app.render()` **without** overriding `prerenderedErrorPageFetch` — this
includes custom servers built on the public API and third-party adapters
**Not affected:**
- `@astrojs/node` >= 9.5.4 (reads error pages from disk)
- `@astrojs/cloudflare` (uses the ASSETS binding)
- The dev server (renders error pages in-process)
##### How it works
`createRequestFromNodeRequest` builds `request.url` from the raw `Host`
/ `:authority` header. The `allowedDomains` option is accepted but only
gates `X-Forwarded-For` — it does not constrain the URL origin. (The
public `createRequest` does fall back to `localhost` for unvalidated
hosts; this internal builder did not.)
When `app.render()` encounters a 404 or 500 with a prerendered error
route, `default-handler.ts` constructs the error page URL using the
origin from `request.url` and fetches it via
`prerenderedErrorPageFetch`, which defaults to global `fetch`. The
response body is served to the client.
An attacker sends a request with `Host: attacker-host:port`, triggers an
error (e.g., requesting a nonexistent path for a 404), and receives the
response from the attacker-controlled host reflected back.
##### Remediation
The error page fetch origin is now validated against `allowedDomains`
before use. When the host is validated, the original origin is
preserved. Otherwise, it falls back to `localhost`. The fetch is also
wrapped in a try/catch so that connection failures degrade gracefully to
a plain error response.
##### Credit
5ud0 / Tarmo Technologies
#### Severity
- CVSS Score: 7.5 / 10 (High)
- Vector String: `CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N`
#### References
-
[https://github.com/withastro/astro/security/advisories/GHSA-2pvr-wf23-7pc7](https://redirect.github.com/withastro/astro/security/advisories/GHSA-2pvr-wf23-7pc7)
-
[https://github.com/advisories/GHSA-2pvr-wf23-7pc7](https://redirect.github.com/advisories/GHSA-2pvr-wf23-7pc7)
This data is provided by the [GitHub Advisory
Database](https://redirect.github.com/advisories/GHSA-2pvr-wf23-7pc7)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>
---
### Astro: XSS via Unescaped Attribute Names in Spread Props
[CVE-2026-54298](https://nvd.nist.gov/vuln/detail/CVE-2026-54298) /
[GHSA-jrpj-wcv7-9fh9](https://redirect.github.com/advisories/GHSA-jrpj-wcv7-9fh9)
<details>
<summary>More information</summary>
#### Details
##### Summary
The `spreadAttributes` function in Astro's server-side rendering
pipeline iterates over object keys and passes them directly to
`addAttribute`, which interpolates the key into the HTML output without
escaping. When a developer uses the spread syntax `{...props}` on an
HTML element and the object keys come from an untrusted source (API,
CMS, URL parameters), an attacker can inject arbitrary HTML attributes
including event handlers like `onmousemove`, `onclick`, or break out of
the attribute context entirely to inject new elements.
##### Details
The vulnerable function is
[`addAttribute`](https://redirect.github.com/withastro/astro/blob/main/packages/astro/src/runtime/server/render/util.ts#L81-L141)
at `packages/astro/src/runtime/server/render/util.ts:81-141`:
```javascript
export function addAttribute(value: any, key: string, shouldEscape = true, tagName = '') {
if (value == null) {
return '';
}
return markHTMLString(` ${key}="${toAttributeString(value, shouldEscape)}"`); // key interpolated not escaped
}
```
This function is called from
[`spreadAttributes`](https://redirect.github.com/withastro/astro/blob/main/packages/astro/src/runtime/server/index.ts#L91-L92)
at `packages/astro/src/runtime/server/index.ts:91-92`:
```javascript
for (const [key, value] of Object.entries(values)) {
output += addAttribute(value, key, true, _name);
}
```
The `toAttributeString` function escapes the attribute value, but the
attribute name `key` is never validated or escaped. An attacker can
craft a JSON object with a key containing " characters to break out of
the attribute context and inject event handlers.
Execution flow: User controlled object keys (from API, CMS, URL params)
are spread onto element via `{...props}`. The compiler generates
`spreadAttributes(props)` which iterates with `Object.entries()` and
calls `addAttribute(value, key)`. The key is interpolated as `` `
${key}="${escapedValue}"` ``. A malicious key breaks attribute context,
resulting in XSS.
##### POC
Create an SSR Astro page (`src/pages/index.astro`):
```astro
---
const props = JSON.parse(Astro.url.searchParams.get('props') || '{}');
---
<html>
<body>
<h1>Hello</h1>
<div {...props}>Move mouse here</div>
</body>
</html>
```
Enable SSR in `astro.config.mjs` (for URL based demo):
```javascript
export default defineConfig({
output: 'server'
});
```
Note: SSR is not required for the vulnerability to exist. In static
builds (default), the attack vector is compromised data sources at build
time (API, CMS, database). SSR simply makes the PoC easier to
demonstrate via URL parameters.
Start the dev server and visit:
```
http://localhost:4321/?props={"x\" onmousemove=\"alert(document.cookie)\" y":""}
```
URL encoded:
```
http://localhost:4321/?props=%7B%22x%5C%22%20onmousemove%3D%5C%22alert(document.cookie)%5C%22%20y%22%3A%22%22%7D
```
View the HTML source. The output contains:
```html
<div x" onmousemove="alert(document.cookie)" y="">Move mouse here</div>
```
The key `x" onmousemove="alert(document.cookie)" y` breaks out of the
attribute context. Moving the mouse over the div executes the
JavaScript.
<img width="1919" height="992" alt="Captura de tela 2026-06-02 005906"
src="https://github.com/user-attachments/assets/ef69c12e-7edf-472e-97d1-3dfa540e61b4"
/>
##### Impact
An attacker can execute arbitrary JavaScript in the context of a
victim's browser session on any Astro application that spreads object
props from untrusted sources onto HTML elements. This is a common
pattern when integrating with external APIs or CMS systems. Exploitation
enables session hijacking via cookie theft, credential theft by
injecting fake login forms or keyloggers, defacement of the rendered
page, and redirection to attacker controlled domains.
The vulnerability affects all Astro versions that support spread syntax
on HTML elements and is exploitable in SSR, SSG (if build time data is
compromised), and hybrid deployments.
#### Severity
- CVSS Score: 4.2 / 10 (Medium)
- Vector String: `CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N`
#### References
-
[https://github.com/withastro/astro/security/advisories/GHSA-jrpj-wcv7-9fh9](https://redirect.github.com/withastro/astro/security/advisories/GHSA-jrpj-wcv7-9fh9)
-
[https://github.com/advisories/GHSA-jrpj-wcv7-9fh9](https://redirect.github.com/advisories/GHSA-jrpj-wcv7-9fh9)
This data is provided by the [GitHub Advisory
Database](https://redirect.github.com/advisories/GHSA-jrpj-wcv7-9fh9)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>
---
### Release Notes
<details>
<summary>withastro/astro (astro)</summary>
###
[`v6.4.6`](https://redirect.github.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#646)
[Compare
Source](https://redirect.github.com/withastro/astro/compare/astro@6.4.5...astro@6.4.6)
##### Patch Changes
-
[#​16765](https://redirect.github.com/withastro/astro/pull/16765)
[`b10e86e`](https://redirect.github.com/withastro/astro/commit/b10e86e6dbaf04678127c86366befc0b78a164f6)
Thanks [@​fkatsuhiro](https://redirect.github.com/fkatsuhiro)! -
Fixes an issue where renaming an image file while the dev server is
running triggers a build error. Now Astro correctly hot-reloads the
image without crashing.
-
[#​17026](https://redirect.github.com/withastro/astro/pull/17026)
[`add3df1`](https://redirect.github.com/withastro/astro/commit/add3df10fdaff469ae0228f09d99290de170029a)
Thanks [@​matthewp](https://redirect.github.com/matthewp)! -
Hardens `addAttribute` to drop attribute names containing characters
that are invalid per the HTML spec (`"`, `'`, `>`, `/`, `=`, whitespace)
-
[#​17033](https://redirect.github.com/withastro/astro/pull/17033)
[`ffda27b`](https://redirect.github.com/withastro/astro/commit/ffda27b7c8697d4b7ed530e93385a420e1fc4acd)
Thanks [@​matthewp](https://redirect.github.com/matthewp)! -
Validates the request origin against `allowedDomains` before fetching
prerendered error pages. When `allowedDomains` is configured and the
Host header matches, the original origin is used. Otherwise, the fetch
falls back to `localhost`.
###
[`v6.4.5`](https://redirect.github.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#645)
[Compare
Source](https://redirect.github.com/withastro/astro/compare/astro@6.4.4...astro@6.4.5)
##### Patch Changes
-
[#​16985](https://redirect.github.com/withastro/astro/pull/16985)
[`4ecff32`](https://redirect.github.com/withastro/astro/commit/4ecff3268acb6ee3db719c4b38bbaead703ff4de)
Thanks [@​maximslo](https://redirect.github.com/maximslo)! - Fixes
the `experimental.logger` destination not being used for the "Server
listening on..." startup message. The logger is now resolved before the
server starts listening, and `adapterLogger` re-creates itself when the
underlying logger changes so the startup message uses the correct
destination.
-
[#​16947](https://redirect.github.com/withastro/astro/pull/16947)
[`e0703a6`](https://redirect.github.com/withastro/astro/commit/e0703a6e815be829759ab7912f7024ee8424c3ac)
Thanks [@​ematipico](https://redirect.github.com/ematipico)! -
Fixes `Astro.request.url` not reflecting validated
`X-Forwarded-Proto`/`X-Forwarded-Host` headers when
`security.allowedDomains` is configured. Previously, only `Astro.url`
was updated with the forwarded origin while `Astro.request.url` retained
the socket-derived URL, causing the two to diverge behind
TLS-terminating proxies.
-
[#​16997](https://redirect.github.com/withastro/astro/pull/16997)
[`dc45246`](https://redirect.github.com/withastro/astro/commit/dc45246812afcaab60393e5236d27e95f98f5efa)
Thanks [@​matthewp](https://redirect.github.com/matthewp)! -
Reverts a change to `isNode` runtime detection that caused a significant
build time regression for Cloudflare adapter users with large
prerendered sites
###
[`v6.4.4`](https://redirect.github.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#644)
[Compare
Source](https://redirect.github.com/withastro/astro/compare/astro@6.4.3...astro@6.4.4)
##### Patch Changes
-
[#​16926](https://redirect.github.com/withastro/astro/pull/16926)
[`1b39ae8`](https://redirect.github.com/withastro/astro/commit/1b39ae8485406937501d8a734afe2a464d671064)
Thanks [@​narendraio](https://redirect.github.com/narendraio)! -
Prevents `App.match()` from throwing on request paths that contain an
invalid percent-sequence.
-
[#​16924](https://redirect.github.com/withastro/astro/pull/16924)
[`2c0bc94`](https://redirect.github.com/withastro/astro/commit/2c0bc943d96d602b429ce3ecbb379d01a46903b5)
Thanks
[@​astrobot-houston](https://redirect.github.com/astrobot-houston)!
- Fixes an issue where editing a client-side component (e.g. with
`client:idle`, `client:load`, etc.) caused an unnecessary full program
reload of the backend during development.
-
[#​16958](https://redirect.github.com/withastro/astro/pull/16958)
[`2c1d50f`](https://redirect.github.com/withastro/astro/commit/2c1d50f5f9d557d7cdc17fd75f3a10fd203699c9)
Thanks [@​fkatsuhiro](https://redirect.github.com/fkatsuhiro)! -
Fixes a bug where static file endpoints using `getStaticPaths` with
`.html` in dynamic param values (e.g. `{ path: 'file.html' }`) would
fail with a `NoMatchingStaticPathFound` error during build. The `.html`
suffix is no longer incorrectly stripped from endpoint route pathnames.
-
[#​16855](https://redirect.github.com/withastro/astro/pull/16855)
[`c610cda`](https://redirect.github.com/withastro/astro/commit/c610cda44b273c15a6e7eaa4a84fa194002643e1)
Thanks
[@​astrobot-houston](https://redirect.github.com/astrobot-houston)!
- Fixes dynamic routes returning 500 "TypeError: Missing parameter" when
using domain-based i18n routing in SSR.
-
[#​16946](https://redirect.github.com/withastro/astro/pull/16946)
[`606c37b`](https://redirect.github.com/withastro/astro/commit/606c37b886a9e25170ba82634cc81a8a775e8ac6)
Thanks [@​ematipico](https://redirect.github.com/ematipico)! -
Fixes `Astro.routePattern` to preserve original casing of dynamic
parameter names from filenames. Previously, a file at
`src/pages/blog/[postId].astro` would return `/blog/[postid]` for
`Astro.routePattern` due to an internal `.toLowerCase()` call. It now
correctly returns `/blog/[postId]`.
-
[#​16720](https://redirect.github.com/withastro/astro/pull/16720)
[`16d49b6`](https://redirect.github.com/withastro/astro/commit/16d49b694071be212fb8c5a141ade72e8717a30e)
Thanks
[@​thomas-callahan-collibra](https://redirect.github.com/thomas-callahan-collibra)!
- Fix an issue where dynamic routes would return the string `[object
Object]` instead of the expected content, in certain runtimes.
-
[#​16703](https://redirect.github.com/withastro/astro/pull/16703)
[`17390a6`](https://redirect.github.com/withastro/astro/commit/17390a6184d5cbd5ff85b7f652a92f5a6a7b0557)
Thanks
[@​henrybrewer00-dotcom](https://redirect.github.com/henrybrewer00-dotcom)!
- Fixes styles being stripped when the project root is started with a
path whose case differs from the actual filesystem case (e.g. running
`astro dev` from `d:\dev\app` while the folder on disk is `D:\dev\app`).
-
[#​16855](https://redirect.github.com/withastro/astro/pull/16855)
[`c610cda`](https://redirect.github.com/withastro/astro/commit/c610cda44b273c15a6e7eaa4a84fa194002643e1)
Thanks
[@​astrobot-houston](https://redirect.github.com/astrobot-houston)!
- Fixes `Astro.currentLocale` returning the default locale instead of
the domain's locale on dynamic routes served from a mapped domain.
###
[`v6.4.3`](https://redirect.github.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#643)
[Compare
Source](https://redirect.github.com/withastro/astro/compare/astro@6.4.2...astro@6.4.3)
##### Patch Changes
-
[#​16900](https://redirect.github.com/withastro/astro/pull/16900)
[`17a0fbd`](https://redirect.github.com/withastro/astro/commit/17a0fbd34d11db765e79caf269bfd5f43ef51da8)
Thanks [@​ocavue](https://redirect.github.com/ocavue)! - Bumps
`devalue` dependency to v5.8.1
-
[#​16016](https://redirect.github.com/withastro/astro/pull/16016)
[`0d85e1b`](https://redirect.github.com/withastro/astro/commit/0d85e1b7ea58a243bd1b61bdfb951c4fd87b9db5)
Thanks [@​felmonon](https://redirect.github.com/felmonon)! - Fix a
false positive in the dev toolbar accessibility audit for anchors with
text inside closed `<details>` elements.
-
[#​16911](https://redirect.github.com/withastro/astro/pull/16911)
[`79c6c46`](https://redirect.github.com/withastro/astro/commit/79c6c469a735bece8a80200f7b188e15f1abff24)
Thanks
[@​astrobot-houston](https://redirect.github.com/astrobot-houston)!
- Fixes a bug where `experimental.advancedRouting` with `astro/hono`
handlers threw `TypeError: Cannot read properties of undefined (reading
'route')` for unmatched routes instead of rendering the custom 404 page.
-
[#​16899](https://redirect.github.com/withastro/astro/pull/16899)
[`239c469`](https://redirect.github.com/withastro/astro/commit/239c469cd2cd66d147a302a2ca14e07a0891f9b8)
Thanks [@​matthewp](https://redirect.github.com/matthewp)! - Fixes
a false "does not call the middleware() handler" warning when using
`astro()` in a custom `src/app.ts` and the first request is a redirect
route.
-
[#​16887](https://redirect.github.com/withastro/astro/pull/16887)
[`493acdb`](https://redirect.github.com/withastro/astro/commit/493acdb4abc56534e9efa68af16e3ef273d7d88b)
Thanks
[@​astrobot-houston](https://redirect.github.com/astrobot-houston)!
- Fixes `redirectToDefaultLocale` not working after the Advanced Routing
refactoring.
-
[#​16908](https://redirect.github.com/withastro/astro/pull/16908)
[`ef53ab9`](https://redirect.github.com/withastro/astro/commit/ef53ab91e8362b50bb1a3ab73d9350b93ea41de4)
Thanks
[@​florian-lefebvre](https://redirect.github.com/florian-lefebvre)!
- Improves optimized fallbacks generation when using the Fonts API by
using better metrics for bold variants
###
[`v6.4.2`](https://redirect.github.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#642)
##### Patch Changes
-
[#​16889](https://redirect.github.com/withastro/astro/pull/16889)
[`b94bcfd`](https://redirect.github.com/withastro/astro/commit/b94bcfd8da64a3f2862a20572e7a9847aebdbc70)
Thanks [@​Princesseuh](https://redirect.github.com/Princesseuh)! -
Fixes a `plugins is not iterable` crash when using a pre-6.0
`@astrojs/mdx` alongside integrations (e.g. Starlight) that set
`markdown.remarkPlugins`, `markdown.rehypePlugins`, or
`markdown.remarkRehype`.
-
[#​16878](https://redirect.github.com/withastro/astro/pull/16878)
[`b9f6bb9`](https://redirect.github.com/withastro/astro/commit/b9f6bb9a238b909d491ca4a7a99620908faf58a8)
Thanks [@​fkatsuhiro](https://redirect.github.com/fkatsuhiro)! -
Fixes an issue where on-demand (SSR) dynamic routes would return 404
when a prerendered dynamic route with the same URL pattern was sorted
first alphabetically. In production builds with `@astrojs/node` adapter,
if `[a_prebuild].astro` (prerender=true) came before `[b_ssr].astro`
alphabetically, requests to URLs not in the prerendered route's static
paths would 404 instead of falling through to the SSR route. The fix
adds fallthrough logic so that when a prerendered dynamic route matches
but can't serve the request, Astro tries subsequent matching routes.
###
[`v6.4.1`](https://redirect.github.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#641)
##### Patch Changes
-
[#​16883](https://redirect.github.com/withastro/astro/pull/16883)
[`eeb064c`](https://redirect.github.com/withastro/astro/commit/eeb064ca9452fd9d0ad9b7557059a646a90a3e57)
Thanks [@​Princesseuh](https://redirect.github.com/Princesseuh)! -
Restores the `astro/jsx/rehype.js` entry point so that older versions of
`@astrojs/mdx` continue to work when used with Astro 6.x. This entry
point will be removed in Astro 7.0.
###
[`v6.4.0`](https://redirect.github.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#640)
[Compare
Source](https://redirect.github.com/withastro/astro/compare/astro@6.3.8...astro@6.4.0)
##### Minor Changes
-
[#​16468](https://redirect.github.com/withastro/astro/pull/16468)
[`4cff3a1`](https://redirect.github.com/withastro/astro/commit/4cff3a107c3750ab5f0878a6b41836705282b771)
Thanks [@​matthewp](https://redirect.github.com/matthewp)! - Adds
a new `preserveBuildServerDir` adapter feature
Adapters can now set `preserveBuildServerDir: true` in their adapter
features to keep the `dist/server/` directory structure for static
builds, mirroring the existing `preserveBuildClientDir` option. This is
useful for adapters that require a consistent `dist/client/` and
`dist/server/` layout regardless of build output type.
```js
setAdapter({
name: 'my-adapter',
adapterFeatures: {
buildOutput,
preserveBuildClientDir: true,
preserveBuildServerDir: true,
},
});
```
-
[#​16848](https://redirect.github.com/withastro/astro/pull/16848)
[`f732f3c`](https://redirect.github.com/withastro/astro/commit/f732f3cc716342a63e5b03815243ba10964b89dc)
Thanks [@​Princesseuh](https://redirect.github.com/Princesseuh)! -
Adds a new `markdown.processor` configuration option, allowing you to
choose an alternative Markdown processor.
Websites with many Markdown/MDX files tend to be slow to build because
the unified ecosystem (e.g., remark, rehype) is slow to process. This
feature introduces the ability to replace this part of the build
pipeline with another processor.
The default processor is `unified()`. This means that existing
configurations remain unchanged and your remark/rehype plugins continue
to work.
```js
// astro.config.mjs
import { defineConfig } from 'astro/config';
import { unified } from '@​astrojs/markdown-remark';
import remarkToc from 'remark-toc';
export default defineConfig({
markdown: {
processor: unified({
remarkPlugins: [remarkToc],
}),
},
});
```
In addition to this new configuration option, Astro provides a new
alternative processor based on Rust:
[Sätteri](https://satteri.bruits.org/). You can choose to use it now by
installing `@astrojs/markdown-satteri`, importing the `satteri()`
processor, and adapting your existing configuration:
```js
// astro.config.mjs
import { defineConfig } from 'astro/config';
import { satteri } from '@​astrojs/markdown-satteri';
export default defineConfig({
markdown: {
processor: satteri({
features: { directive: true },
}),
},
});
```
This processor does not support the remark and rehype plugins. This
means you may need to convert them to [MDAST or HAST
plugins](https://satteri.bruits.org/docs/plugins/) to retain your
current functionality.
The existing top-level `markdown.remarkPlugins`,
`markdown.rehypePlugins`, `markdown.remarkRehype`, `markdown.gfm`, and
`markdown.smartypants` options still work, but are now deprecated and
will be removed in a future major update. The matching `remarkPlugins`,
`rehypePlugins`, and `remarkRehype` options on the MDX integration are
also deprecated for the same reason. To anticipate their removal, move
them onto `unified({...})` (or your preferred plugin processor) :
```diff
// astro.config.mjs
import { defineConfig } from 'astro/config';
import remarkToc from 'remark-toc';
import rehypeSlug from 'rehype-slug';
+ import { unified } from '@​astrojs/markdown-remark';
export default defineConfig({
markdown: {
+ processor: unified({
+ remarkPlugins: [remarkToc],
+ rehypePlugins: [rehypeSlug],
+ remarkRehype: true,
+ gfm: true,
+ smartypants: true,
+ }),
- remarkPlugins: [remarkToc],
- rehypePlugins: [rehypeSlug],
- remarkRehype: true,
- gfm: true,
- smartypants: true,
},
});
```
For more information on enabling and using this feature in your project,
see our [Markdown
guide](https://docs.astro.build/en/guides/markdown-content/). To give
feedback on this new Rust processor, see the [Native Markdown / MDX
parsing and processing
RFC](https://redirect.github.com/withastro/roadmap/pull/1364).
##### Patch Changes
-
[#​16468](https://redirect.github.com/withastro/astro/pull/16468)
[`4cff3a1`](https://redirect.github.com/withastro/astro/commit/4cff3a107c3750ab5f0878a6b41836705282b771)
Thanks [@​matthewp](https://redirect.github.com/matthewp)! - Skips
the static preview server when an adapter provides its own
`previewEntrypoint`, allowing the adapter to handle both static and
dynamic routes
-
[#​16811](https://redirect.github.com/withastro/astro/pull/16811)
[`e0e26db`](https://redirect.github.com/withastro/astro/commit/e0e26dbfe95f9d42f51ad414dbe877e60cbc637d)
Thanks [@​matthewp](https://redirect.github.com/matthewp)! - Fixes
`X-Forwarded-Host` and `X-Forwarded-Proto` headers being ignored when
set in a custom `src/app.ts` fetch handler before creating `FetchState`
-
[#​16468](https://redirect.github.com/withastro/astro/pull/16468)
[`4cff3a1`](https://redirect.github.com/withastro/astro/commit/4cff3a107c3750ab5f0878a6b41836705282b771)
Thanks [@​matthewp](https://redirect.github.com/matthewp)! - Fixes
the static preview server to respect `preserveBuildClientDir`, serving
files from `build.client` instead of `outDir` when the adapter requires
it
-
[#​16770](https://redirect.github.com/withastro/astro/pull/16770)
[`1e2aa11`](https://redirect.github.com/withastro/astro/commit/1e2aa11caf8e7a48f37dd614fd2d4c15cc7a8439)
Thanks [@​matthewp](https://redirect.github.com/matthewp)! - Fixes
a race condition where the Vite dep optimizer could lose React
dependencies in dev mode when using Astro Actions
-
[#​16468](https://redirect.github.com/withastro/astro/pull/16468)
[`4cff3a1`](https://redirect.github.com/withastro/astro/commit/4cff3a107c3750ab5f0878a6b41836705282b771)
Thanks [@​matthewp](https://redirect.github.com/matthewp)! -
Exempts internal routes (e.g. server islands) from `getStaticPaths()`
validation, fixing server island rendering on static sites
-
[#​16468](https://redirect.github.com/withastro/astro/pull/16468)
[`4cff3a1`](https://redirect.github.com/withastro/astro/commit/4cff3a107c3750ab5f0878a6b41836705282b771)
Thanks [@​matthewp](https://redirect.github.com/matthewp)! - Fixes
preview for static sites that contain non-prerendered routes.
Previously, the preview command ignored SSR routes discovered during
route scanning and always used the static preview server.
- Updated dependencies
\[[`f732f3c`](https://redirect.github.com/withastro/astro/commit/f732f3cc716342a63e5b03815243ba10964b89dc),
[`f732f3c`](https://redirect.github.com/withastro/astro/commit/f732f3cc716342a63e5b03815243ba10964b89dc)]:
-
[@​astrojs/internal-helpers](https://redirect.github.com/astrojs/internal-helpers)@​0.10.0
-
[@​astrojs/markdown-remark](https://redirect.github.com/astrojs/markdown-remark)@​7.2.0
###
[`v6.3.8`](https://redirect.github.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#638)
[Compare
Source](https://redirect.github.com/withastro/astro/compare/astro@6.3.7...astro@6.3.8)
##### Patch Changes
-
[#​16830](https://redirect.github.com/withastro/astro/pull/16830)
[`f2bf3cb`](https://redirect.github.com/withastro/astro/commit/f2bf3cb257788ff657ffbe9044fe6225e6662cb7)
Thanks [@​matthewp](https://redirect.github.com/matthewp)! - Fixes
404s for dynamically imported JS chunks when using an adapter with
`assetQueryParams` (e.g. Vercel skew protection)
-
[#​16831](https://redirect.github.com/withastro/astro/pull/16831)
[`ace96ba`](https://redirect.github.com/withastro/astro/commit/ace96ba5024129cbeb9d8e75134f4f8bdf42a57a)
Thanks
[@​astrobot-houston](https://redirect.github.com/astrobot-houston)!
- Fixes a misleading `GetStaticPathsRequired` error when a redirect is
configured from a dynamic route to a static (or less-dynamic)
destination. For example, `'/project/[slug]': '/'` previously produced a
confusing error pointing at `index.astro`. Astro now detects the
parameter mismatch at config validation time and throws a clear
`InvalidRedirectDestination` error naming the missing parameters.
-
[#​16702](https://redirect.github.com/withastro/astro/pull/16702)
[`b7d1758`](https://redirect.github.com/withastro/astro/commit/b7d1758efbe0544520b4b15577d2e0dd944bf8a1)
Thanks [@​matthewp](https://redirect.github.com/matthewp)! - Fixes
scoped styles from `.astro` components being dropped when rendered
inside MDX content (`<Content />` from `render(entry)`) passed through a
named slot using `<Fragment slot="X">`. The Fragment component now
eagerly evaluates its slot contents to ensure propagating components
register their styles before head content is flushed.
-
[#​16823](https://redirect.github.com/withastro/astro/pull/16823)
[`3df6a45`](https://redirect.github.com/withastro/astro/commit/3df6a453243ff4d1d983d0fb6d259617f50be211)
Thanks
[@​astrobot-houston](https://redirect.github.com/astrobot-houston)!
- Fixes missing CSS for conditionally rendered Svelte components in
production builds
-
[#​16836](https://redirect.github.com/withastro/astro/pull/16836)
[`3d7adfa`](https://redirect.github.com/withastro/astro/commit/3d7adfae7d063661d85d92061a15f728fa5df2bd)
Thanks [@​LongYC](https://redirect.github.com/LongYC)! - Document
compressHTML: "jsx" config is only available since Astro v6.2.0
-
[#​16864](https://redirect.github.com/withastro/astro/pull/16864)
[`334ce13`](https://redirect.github.com/withastro/astro/commit/334ce135807666df283dc4cd4d5f6dad1b1b80cc)
Thanks [@​cheets](https://redirect.github.com/cheets)! - Fixes a
false-positive `Internal Warning: route cache overwritten` logged on
every SSR request for dynamic routes
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/knope-dev/knope).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>1 parent 2b98ca6 commit 8b4d8ae
1 file changed
Lines changed: 47 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments