Releases: withastro/astro
[email protected]
Patch Changes
-
#15573
d789452Thanks @matthewp! - Clear the route cache on content changes so slug pages reflect updated data during dev. -
#15560
170ed89Thanks @z0mt3c! - Fix X-Forwarded-Proto validation when allowedDomains includes both protocol and hostname fields. The protocol check no longer fails due to hostname mismatch against the hardcoded test URL. -
#15563
e959698Thanks @ematipico! - Fixes an issue where warnings would be logged during the build using one of the official adapters
[email protected]
@astrojs/[email protected]
Patch Changes
-
#15564
522f880Thanks @matthewp! - Add a default body size limit for server actions to prevent oversized requests from exhausting memory. -
#15572
ef851bfThanks @matthewp! - Upgrade astro package support[email protected] includes a fix to prevent Action payloads from exhausting memory. @astrojs/node now depends on this version of Astro as a minimum requirement.
[email protected]
Major Changes
- #15451
84d6efdThanks @ematipico! - Changes how styles applied to code blocks are emitted to support CSP - (v6 upgrade guidance)
Minor Changes
-
#15529
a509941Thanks @florian-lefebvre! - Adds a new build-in font providernpmto access fonts installed as NPM packagesYou can now add web fonts specified in your
package.jsonthrough Astro's type-safe Fonts API. Thenpmfont provider allows you to add fonts either from locally installed packages innode_modulesor from a CDN.Set
fontProviders.npm()as your fonts provider along with the requirednameandcssVariablevalues, and addoptionsas needed:import { defineConfig, fontProviders } from 'astro/config'; export default defineConfig({ experimental: { fonts: [ { name: 'Roboto', provider: fontProviders.npm(), cssVariable: '--font-roboto', }, ], }, });
See the NPM font provider reference documentation for more details.
-
#15548
5b8f573Thanks @florian-lefebvre! - Adds a new optionalembeddedLangsprop to the<Code />component to support languages beyond the primarylangThis allows, for example, highlighting
.vuefiles with a<script setup lang="tsx">block correctly:--- import { Code } from 'astro:components'; const code = ` <script setup lang="tsx"> const Text = ({ text }: { text: string }) => <div>{text}</div>; </script> <template> <Text text="hello world" /> </template>`; --- <Code {code} lang="vue" embeddedLangs={['tsx']} />
See the
<Code />component documentation for more details. -
#15483
7be3308Thanks @florian-lefebvre! - Addsstreamingoption to thecreateApp()function in the Adapter API, mirroring the same functionality available when creating a newAppinstanceAn adapter's
createApp()function now acceptsstreaming(defaults totrue) as an option. HTML streaming breaks a document into chunks to send over the network and render on the page in order. This normally results in visitors seeing your HTML as fast as possible but factors such as network conditions and waiting for data fetches can block page rendering.HTML streaming helps with performance and generally provides a better visitor experience. In most cases, disabling streaming is not recommended.
However, when you need to disable HTML streaming (e.g. your host only supports non-streamed HTML caching at the CDN level), you can opt out of the default behavior by passing
streaming: falsetocreateApp():import { createApp } from 'astro/app/entrypoint'; const app = createApp({ streaming: false });
See more about the
createApp()function in the Adapter API reference.
Patch Changes
-
#15542
9760404Thanks @rururux! - Improves rendering by preservinghidden="until-found"value in attribues -
#15550
58df907Thanks @florian-lefebvre! - Improves the JSDoc annotations for theAstroAdaptertype -
#15507
07f6610Thanks @matthewp! - Avoid bundling SSR renderers when only API endpoints are dynamic -
#15459
a4406b4Thanks @florian-lefebvre! - Fixes a case wherecontext.cspwas logging warnings in development that should be logged in production only -
Updated dependencies [
84d6efd]:- @astrojs/[email protected]
@astrojs/[email protected]
Major Changes
- #15451
84d6efdThanks @ematipico! - Changes how styles applied to code blocks are emitted to support CSP - (v6 upgrade guidance)
Patch Changes
- Updated dependencies [
84d6efd]:- @astrojs/[email protected]
@astrojs/[email protected]
Major Changes
- #15451
84d6efdThanks @ematipico! - Changes how styles applied to code blocks are emitted to support CSP - (v6 upgrade guidance)
@astrojs/[email protected]
Patch Changes
- Updated dependencies [
84d6efd]:- @astrojs/[email protected]
[email protected]
Major Changes
-
#15535
dfe2e22Thanks @florian-lefebvre! - DeprecatesloadManifest()andloadApp()fromastro/app/node(Adapter API) - (v6 upgrade guidance) -
#15461
9f21b24Thanks @florian-lefebvre! - BREAKING CHANGE to the v6 beta Adapter API only: renamesentryTypetoentrypointResolutionand updates possible valuesAstro 6 introduced a way to let adapters have more control over the entrypoint by passing
entryType: 'self'tosetAdapter(). However during beta development, the name was unclear and confusing.entryTypeis now renamed toentrypointResolutionand its possible values are updated:legacy-dynamicbecomesexplicit.selfbecomesauto.
If you are building an adapter with v6 beta and specifying
entryType, update it:setAdapter({ // ... - entryType: 'legacy-dynamic' + entrypointResolution: 'explicit' }) setAdapter({ // ... - entryType: 'self' + entrypointResolution: 'auto' }) -
#15461
9f21b24Thanks @florian-lefebvre! - DeprecatescreateExports()andstart()(Adapter API) - (v6 upgrade guidance) -
#15535
dfe2e22Thanks @florian-lefebvre! - DeprecatesNodeAppfromastro/app/node(Adapter API) - (v6 upgrade guidance) -
#15407
aedbbd8Thanks @ematipico! - Changes how styles of responsive images are emitted - (v6 upgrade guidance)
Minor Changes
-
#15535
dfe2e22Thanks @florian-lefebvre! - Exports newcreateRequest()andwriteResponse()utilities fromastro/app/nodeTo replace the deprecated
NodeApp.createRequest()andNodeApp.writeResponse()methods, theastro/app/nodemodule now exposes newcreateRequest()andwriteResponse()utilities. These can be used to convert a NodeJSIncomingMessageinto a web-standardRequestand stream a web-standardResponseinto a NodeJSServerResponse:import { createApp } from 'astro/app/entrypoint'; import { createRequest, writeResponse } from 'astro/app/node'; import { createServer } from 'node:http'; const app = createApp(); const server = createServer(async (req, res) => { const request = createRequest(req); const response = await app.render(request); await writeResponse(response, res); });
-
#15407
aedbbd8Thanks @ematipico! - Adds support for responsive images whensecurity.cspis enabled, out of the box.Astro's implementation of responsive image styles has been updated to be compatible with a configured Content Security Policy.
Instead of, injecting style elements at runtime, Astro will now generate your styles at build time using a combination of
class=""anddata-*attributes. This means that your processed styles are loaded and hashed out of the box by Astro.If you were previously choosing between Astro's CSP feature and including responsive images on your site, you may now use them together.
Patch Changes
-
#15508
2c6484aThanks @KTibow! - Fixes behavior when shortcuts are used before server is ready -
#15497
a93c81dThanks @matthewp! - Fix dev reloads for content collection Markdown updates under Vite 7. -
#15535
dfe2e22Thanks @florian-lefebvre! - Fixes the types ofcreateApp()exported fromastro/app/entrypoint -
#15491
6c60b05Thanks @matthewp! - Fixes a case where settingvite.server.allowedHosts: truewas turned into an invalid array
[email protected]
@astrojs/[email protected]
Patch Changes
- #15461
9f21b24Thanks @florian-lefebvre! - Updates to new Adapter API introduced in v6