- Remove the undocumented internal app.pipeline property and AppPipeline export from astro/app; adapters that used app.pipeline.getLogger() should call the new app.getLogger() instead
- Improve error handling for custom log destinations to report the error and continue with the default console logger instead of failing the first request when the configured logger fails to load
- Fix an issue where Astro could run out of memory when experimental.collectionStorage is set to chunked and there are multiple concurrent updates to the same collection
- Fix the dev server sometimes matching against stale routes after pages were added, removed, or renamed, requiring a dev server restart to pick up the change
- Fix composable request helpers (astro/fetch) throwing an error when used on a request that had been rewritten with Astro.rewrite() or next()
- Fix a link in font providers JSDoc annotations
- Fix JSDoc for configuration options to display correctly when hovering over nested options in server and fonts
- Fix a crash when a request arrives with a malformed port in the Host header by degrading to a host the server controls
- Fix a dev server error where an SSR full reload triggered by a third-party Vite plugin could fail with Failed to load url astro:server-app.js
- Fix getCollection() and getEntry() throwing DataCloneError when a collection schema transform returns a Temporal.PlainDate or other class instance
From Astro
Patch Changes
-
#17724
97140b2Thanks @ematipico! - Fixes an issue where Astro could run out of memory whenexperimental.collectionStorageis set tochunkedand there are multiple concurrent updates to the same collection. -
#17636
51723b1Thanks @matthewp! - Fixes the dev server sometimes matching against stale routes after pages were added, removed, or renamed, requiring a dev server restart to pick up the change -
#17636
51723b1Thanks @matthewp! - Fixes the composable request helpers (astro/fetch) throwing an error when used on a request that had been rewritten withAstro.rewrite()ornext() -
#17636
51723b1Thanks @matthewp! - Refactors Astro's internal server-side request handling. This is an internal change: all documented public APIs, includingAppandNodeApp, keep their existing signatures and behavior.The undocumented internal
app.pipelineproperty and theAppPipelineexport fromastro/apphave been removed. Adapters that usedapp.pipeline.getLogger()to wait for the configured log destination can call the newapp.getLogger()instead.As a result of this refactor,
new FetchState(request)fromastro/fetchnow works anywhere inside a built Astro server — including customsrc/fetch.tsentrypoints — without the request needing to first pass throughapp.render(). Previously this threw an error, breaking patterns like the Cloudflare adapter's advanced custom-worker setup. -
#17723
c3b9aedThanks @florian-lefebvre! - Fixes a link in font providers JSDoc annotations -
#17699
e28d227Thanks @ArmandPhilippot! - Fixes several documentation issues related to the JSDoc for configuration options.- When hovering over the
serverandfontsoptions, the JSDoc for the nested options was displayed instead of the JSDoc for the top-level property. - Two i18n configuration options were being used incorrectly in the examples.
- The indentation of some code blocks was broken on hover.
- When hovering over the
-
#17572
2066f39Thanks @matthewp! - Fixes a crash when a request arrives with a malformed port in theHostheader (for exampleexample.com:65536orexample.com:8080:8080). Such a host made the constructed request URL invalid, and the fallback that was meant to recover reused the same invalid host and threw again. The request URL now degrades to a host the server controls when the incoming host cannot be parsed, so the request is handled instead of erroring. -
#17685
9f15609Thanks @astrobot-houston! - Fixes a dev server error where an SSR full reload triggered by a third-party Vite plugin (such as@tailwindcss/vite) could fail withFailed to load url astro:server-app.js -
#17636
51723b1Thanks @matthewp! - Improves error handling for custom log destinations. When the configured logger fails to load, Astro now reports the error and continues with the default console logger instead of failing the first request. -
#17631
cf29becThanks @matthewp! - FixesgetCollection()andgetEntry()throwingDataCloneErrorwhen a collection schema transform returns aTemporal.PlainDateor other class instance. -
Updated dependencies [
8c193f6]:- @astrojs/internal-helpers@0.10.3
- @astrojs/markdown-remark@7.2.3
- @astrojs/markdown-satteri@0.3.6