AstroEco is Releasing…
Display your GitHub releases using astro-loader-github-releases

Patch Changes
- #17584
5462b81Thanks @astrobot-houston! - Fixes a build crash when a Solid island imports a package that ships pre-compiled browser artifacts via theexports.solidcondition (e.g.@kobalte/core). Solid ecosystem packages are now bundled in non-client environments so that Vite resolves the correct export condition during prerendering.


Minor Changes
-
#17174
0224a3aThanks @matthewp! - Adds theastro preview --backgroundflag to start preview servers as background processes.This makes preview servers easier to manage from scripts and AI coding agents because the command returns after the server is ready instead of keeping the terminal attached to the long-running process.
astro preview --background
When a preview server is running in the background, you can inspect or stop it with new
astro previewsubcommands:astro preview status astro preview logs astro preview logs --follow astro preview stop
If Astro detects that
astro previewis being run by an AI coding agent, background mode is enabled automatically. This matches the existing behavior forastro dev, allowing agents to continue working after the preview server starts while still receiving the server URL and process ID.To opt out of automatic background mode for preview servers, set
ASTRO_PREVIEW_BACKGROUND=0before runningastro preview. -
#17532
7f94895Thanks @florian-lefebvre! - Adds support for paths relative to your project root inlogger.entrypointPreviously, pointing
logger.entrypointat a custom log handler living in your own project required building an absoluteURL. You can now write the path directly:// astro.config.mjs import { defineConfig } from 'astro/config'; export default defineConfig({ logger: { - entrypoint: new URL('./src/logger.js', import.meta.url), + entrypoint: './src/logger.js', }, });Paths starting with
./or../are resolved against your project root. Package specifiers such as@org/astro-logger, absolute paths, andURLentrypoints keep working as before. -
#17084
961bbe5Thanks @matthewp! - Widens theAstroPrerendererrender()return type so prerenderers can report incremental-build metadataA prerenderer's
render()may now resolve to either aResponse(as before) or aPrerenderResultobject that pairs the response with the content entries and optimized-image transforms the page resolved. This lets prerenderers that render out of process (for example, in an adapter's runtime like workerd) report those dependencies back to the build, so incremental static builds can track and replay them for skipped pages.import type { AstroPrerenderer, PrerenderResult } from 'astro'; const prerenderer: AstroPrerenderer = { name: 'my-adapter:prerenderer', getStaticPaths, async render(request, { routeData }): Promise<PrerenderResult> { const { response, metadata } = await renderInRuntime(request, routeData); return { response, metadata }; }, };
This is a non-breaking widening: prerenderers that return a bare
Responsecontinue to work unchanged, and in-process prerenderers can keep returning aResponsesince the build collects their metadata directly. -
#16871
90c98aeThanks @adamchal! - Addssession: falseinastro.configto opt out of session support. Projects that do not setsession: falsesee no behavior change.import { defineConfig } from 'astro/config'; export default defineConfig({ session: false, });
The session runtime and dependencies (
unstorage) are now tree-shaken out of the SSR bundle for any project where no session driver is wired via:session: false- no
sessionconfig at all - a
sessionconfig without a driver
Useful for serverless/edge runtimes where cold-start parse time is sensitive.
-
#17084
961bbe5Thanks @matthewp! - Adds experimental support for incremental static builds withexperimental.incrementalBuild.When enabled, Astro can skip regenerating static pages from dynamic routes when both the page's module dependencies and its data cache key are unchanged from the previous build. This currently applies to pages returned from
getStaticPaths()that include acacheKey.// astro.config.mjs import { defineConfig } from 'astro/config'; export default defineConfig({ experimental: { incrementalBuild: true, }, });
Return a
cacheKeyfor each generated page fromgetStaticPaths():--- export async function getStaticPaths() { const posts = await fetchPosts(); return posts.map((post) => ({ params: { slug: post.slug }, props: { post }, cacheKey: post.digest, })); } ---
For incremental builds to skip rendering in CI, Astro's cache directory must be preserved between builds. Astro empties the output directory on each build and restores skipped pages from the cache directory, so only that directory needs to persist. For the default config, cache and restore
node_modules/.astro/before runningastro build.See the experimental incremental static builds documentation for more information.
-
#17084
961bbe5Thanks @matthewp! - Adds the optionaldigestproperty to content collection entries.Loaders can provide an opaque digest value that changes when an entry changes. This is now reflected in the
CollectionEntrytype returned bygetCollection()andgetEntry(), making it easier to detect content changes without re-hashing large entry bodies.--- import { getCollection } from 'astro:content'; const posts = await getCollection('blog'); for (const post of posts) { console.log(post.digest); } ---
The property is optional because not every loader provides a digest. See incremental static builds for how
digestcan be used as acacheKey.
Patch Changes
-
#17534
5a5337eThanks @florian-lefebvre! - Improveslogger.entrypointreference docs -
#17529
d52a787Thanks @QVinto! - Fixesastro devcrashing withInvalid URLwhen--hostis set to a specific non-loopback addressVite only reports a
localURL for loopback hosts. When the dev server was started with--host <custom-address>bound to a specific non-loopback address (a LAN or Tailscale IP, for example), the URL was reported undernetworkandlocalwas empty, so writing the dev lock file threwInvalid URLand killed a server that had already started successfully.The lock file URL now falls back to the network URL, and a server that exposes no URL at all is left untracked rather than being taken down by lock file bookkeeping.
-
#17566
296248cThanks @astrobot-houston! - FixesfontProviders.googleicons()returning the full icon font (~3.9MB) instead of only the requested glyphs when multipleexperimental.glyphsare specified -
#17560
ef45de1Thanks @astrobot-houston! - FixesAstro.url.pathnamefor non-index pages when usingbuild.format: 'preserve'. Previously, a page likesrc/pages/about-me.astrowould output todist/about-me.htmlbutAstro.url.pathnamewould incorrectly return/about-me/instead of/about-me.html. -
#17573
0089f83Thanks @astrobot-houston! - Fixes a Content Layer build crash that could occur when another dependency causes an older version ofneotraverseto be hoisted to the project root -
#17571
116f700Thanks @astrobot-houston! - Fixes cookies set viaAstro.cookies.set()inside a custom404.astroor500.astroerror page being silently dropped from the final response -
#17579
3ea55ceThanks @bluwy! - Supports thedevEnginesfield in package.json when detecting the package manager for install commands -
#17422
e4e2037Thanks @jiwonyoon-dev! - Fixespopoverbeing rendered aspopover="true"/popover="false"on custom elements (tag names containing a hyphen). Per the Popover API, the attribute only accepts"auto","manual", or being absent, so boolean values are now always rendered as a barepopoverattribute (or omitted), regardless of the tag name.


Minor Changes
-
#16194
2a59663Thanks @Daedalus-Icarus! - Adds opt-in build-time image optimization for thecloudflare-bindingimage service.When enabled, the Cloudflare IMAGES binding transforms static images in the workerd prerender environment, and the optimized bytes are written directly to the output directory. If the binding fails, it falls back to Sharp.
To opt in, use the compound configuration form:
export default defineConfig({ adapter: cloudflare({ imageService: { build: 'cloudflare-binding', runtime: 'cloudflare-binding' }, }), });
The string shorthand
imageService: 'cloudflare-binding'preserves the current runtime-only behavior and is unaffected. -
#16871
90c98aeThanks @adamchal! - Whensession: falseis set inastro.config, the adapter no longer auto-wires the Cloudflare KV session driver. Combined with the matchingastrochange, this lets the session runtime tree-shake out of the Worker bundle. -
#17084
961bbe5Thanks @matthewp! - Supports Astro's experimental incremental static builds. Whenexperimental.incrementalBuildis enabled, the adapter skips unchanged pages between builds.
Patch Changes
-
#17576
0a79753Thanks @alexanderniebuhr! - Fixes/_imagereturning 500 in dev mode when usingimageService: 'custom'. Astro's default dev image endpoint importsviteandnode:fs, which cannot be loaded inside workerd. Thecustomand fallback cases now use the generic fetch-based endpoint in dev, matching the other image service modes. A user-configuredimage.endpointis left untouched.Additionally, a dev-time warning is now logged when
imageService: 'custom'resolves to the Sharp service (including when noimage.serviceis configured), since Sharp's native binding cannot run inside workerd in dev or production. -
#17481
0c32649Thanks @ondraulehla! - Fixes a crash on/_imagecache hits when the Cloudflare cache provider is enabled. Responses served from the Workers Cache API have immutable headers, and the request handler crashed with "Can't modify immutable headers" when applying its defaultCloudflare-CDN-Cache-Control: no-storeheader to them. The handler now rebuilds the response with mutable headers when needed. -
#17347
ce83c39Thanks @astrobot-houston! - FixesimageService: 'compile'producing unoptimized images whenprerenderEnvironmentis set to'node' -
#17594
2b8915aThanks @astrobot-houston! - Fixes a type-checking error when usingapp.use(cf())from@astrojs/cloudflare/honoin projects withwrangler types-generatedExecutionContextdeclarations -
Updated dependencies []:
- @astrojs/underscore-redirects@1.0.3



Minor Changes
- #16871
90c98aeThanks @adamchal! - Whensession: falseis set inastro.config, the adapter no longer auto-wires the Netlify Blobs session driver. Combined with the matchingastrochange, this lets the session runtime tree-shake out of the function bundle.
Patch Changes
- Updated dependencies []:
- @astrojs/underscore-redirects@1.0.3

Patch Changes
-
#17543
bbc1ec9Thanks @ematipico! - Fixes a bug where Cloudflare couldn't load chunked collections viaexperimental.collectionStorage: 'chunked'. -
Updated dependencies []:
- @astrojs/underscore-redirects@1.0.3

Patch Changes
-
#17536
ff97b86Thanks @dmgawel! - Fixes concurrent static builds failing to generate i18n rewrite fallbacks for dynamic routes -
#17383
296e1b0Thanks @thelazylamaGit! - Fixes stale dev CSS after editing component style blocks and CSS files in dev -
#17543
bbc1ec9Thanks @ematipico! - Adds a feature toexperimental.collectionStoragethat allows to change the size of chunks.For example, you can reduce the size of chunks to 1MB:
// astro.config.mjs import { defineConfig } from 'astro/config'; export default defineConfig({ experimental: { collectionStorage: { type: 'chunked', chunkSize: 1024 * 1024, }, }, });
-
#17545
5214663Thanks @ematipico! - Bumps the Astro compiler to the latest version. Changelog.

Patch Changes
- Updated dependencies [
c895b12]:- @astrojs/internal-helpers@0.10.2
- @astrojs/underscore-redirects@1.0.3

Patch Changes
- #17474
c895b12Thanks @nicksnyder! - Updates dependencyjs-yamlto v4.3.0

Patch Changes
- #17474
c895b12Thanks @nicksnyder! - Updates dependencyjs-yamlto v4.3.0

Patch Changes
- Updated dependencies [
c895b12]:- @astrojs/internal-helpers@0.10.2

Patch Changes
- Updated dependencies [
c895b12]:- @astrojs/internal-helpers@0.10.2

Patch Changes
- Updated dependencies [
c895b12]:- @astrojs/internal-helpers@0.10.2
- @astrojs/underscore-redirects@1.0.3

Patch Changes
- Updated dependencies [
c895b12]:- @astrojs/internal-helpers@0.10.2

Patch Changes
- Updated dependencies [
c895b12]:- @astrojs/internal-helpers@0.10.2

Patch Changes
- Updated dependencies [
c895b12]:- @astrojs/internal-helpers@0.10.2
- @astrojs/markdown-remark@7.2.2

Patch Changes
- Updated dependencies [
c895b12]:- @astrojs/internal-helpers@0.10.2

Patch Changes
- Updated dependencies [
c895b12]:- @astrojs/internal-helpers@0.10.2

Patch Changes
-
#17524
7613030Thanks @matthewp! - Fixes a bug where an error while finalizing a request could prevent a response from being sent -
#17480
f61ba9cThanks @florian-lefebvre! - Fixes a case where a customlogger.entrypointfailed to load at runtime in a built server bundle. -
#17525
e614b7bThanks @matthewp! - Fixes action path resolution so that properties of a resolved action function are not treated as routable path segments -
#17284
c775c1fThanks @matthewp! - Fixes a bug where the custom 404 (or 500) page was not rendered when a middleware rewrite targeted a route that returned an empty 404/500 response, and a blank page was returned instead -
#17474
c895b12Thanks @nicksnyder! - Updates dependencyjs-yamlto v4.3.0 -
Updated dependencies [
c895b12]:- @astrojs/internal-helpers@0.10.2
- @astrojs/markdown-remark@7.2.2
- @astrojs/markdown-satteri@0.3.5

Patch Changes
- Updated dependencies [
c895b12]:- @astrojs/internal-helpers@0.10.2

Patch Changes
-
#17376
0216368Thanks @astrobot-houston! - Fixes a bug where an explicitcache: { enabled: false }in your wrangler config was overridden and forced totruewhen a Workers cache provider was configured -
Updated dependencies []:
- @astrojs/underscore-redirects@1.0.3

Patch Changes
-
#17488
d4f266dThanks @emerson-d-lopes! - Fixes duplicate CSS files being emitted in server output when a prerendered page and a server-rendered page share the same styles (e.g. a shared layout importing Tailwind). The prerender and SSR environments each emitted their own copy of the same stylesheet (index.X.cssand_..Y.css); the SSR build now reuses the CSS asset filename from the prerender build when the stylesheet is backed by the same CSS source modules, so only a single file is emitted. -
#17472
4dc590cThanks @astrobot-houston! - Adds the missingbackgroundprop to the<Image />and<Picture />component types. The prop already worked at runtime, but was absent from the types, causingastro checkto report thatbackgrounddoes not exist on the component props -
#17292
0fc519dThanks @astrobot-houston! - Fixes missing scoped styles for child components insideclient:onlyislands in production builds -
#17421
f1448deThanks @iamkaleemsajjad-hue! - Fixes session runtime errors being silently swallowed byconsole.errorinstead of routing through Astro's logger -
#17421
f1448deThanks @iamkaleemsajjad-hue! - Fixes a session being left in a partial state after a storage failure duringsession.regenerate(), preventing unnecessary storage reads on subsequent operations -
#17517
82bf7e2Thanks @Hashim1999164! - Prevents a visible terminal window from popping up on Windows when the dev server runs in background mode. The detached child process is now spawned withwindowsHide: true, so console-subsystem grandchildren (such asworkerd.exe) no longer get a new focus-stealing window allocated by Windows Terminal. -
#17510
eaa1fb0Thanks @astrobot-houston! - Fixes theglob()loader watcher so negation patterns like!docs/drafts/**correctly exclude files during development, matching the behavior of the initial scan. Previously, negations were treated as independent matchers, causing unrelated files (including.astro/data-store.json) to be ingested as collection entries -
#17511
704e570Thanks @astrobot-houston! - Fixes TypeScript path aliases fromtsconfig.jsonnot resolving inastro.config.ts

Patch Changes
- #17423
08e8adbThanks @astrobot-houston! - Fixescreate-astrosilently writing template files to the wrong directory on Linux when the path contains non-ASCII characters.

Patch Changes
- #17447
b01a692Thanks @ocavue! - Update dependencyyargsto version 18. See the yargs changelog for details.

Patch Changes
-
#17460
3b93a1aThanks @astrobot-houston! - Fixes customtransformfunctions being dropped when a tag or node also specifies a customrendercomponent. User-written transforms are now always preserved; only Markdoc's built-in transforms are removed so the custom component wins. -
#17191
fc3fb2bThanks @eldardada! - Fixes customtransformfunctions being incorrectly dropped for tags and nodes whose names require bracket access (e.g.side-note). The check that detects whether a transform respects a customrendercomponent now recognizes bracket notation, optional chaining and whitespace, not only dot notation.

Patch Changes
- #17514
41a00ddThanks @gtritchie! - Fixes a bug where the integration was emitting React-cased attribute names.
Patch Changes
-
#3936
712eeddThanks @miichom! - Fixes support for modifying Zod enums when passing anextendoption to Starlight’sdocsSchema() -
#4092
0896b91Thanks @delucis! - Fixes support for links containing a protocol likemailto:in the sidebar -
#4088
4486ba4Thanks @delucis! - Simplifies Starlight’s client-side sidebar state persistence script slightly

Patch Changes
- #17465
6a1c1d8Thanks @florian-lefebvre! - Fixes a case where errors in files included in tsconfig project references would never be caught


Patch Changes
- #17427
630b382Thanks @astrobot-houston! - Fixes image optimization duringastro buildusing too many parallel processes in CPU-limited containers. Builds now respect the container's CPU limit, reducing peak memory usage and avoiding out-of-memory crashes.



Patch Changes
-
#17368
ee74c28Thanks @matthewp! - Fixes the generated Netlify Image CDNremote_imagespatterns so that regex metacharacters (such as.) inimage.remotePatterns(hostname,pathname) andimage.domainsare matched literally instead of behaving like wildcards. This makes the generated patterns consistent with how Astro matches these values elsewhere. -
Updated dependencies []:
- @astrojs/underscore-redirects@1.0.3

Patch Changes
- #17345
5196fb4Thanks @kkhys! - Fixes an opaqueCannot read properties of undefined (reading 'fileExists')crash whenastro checkruns against the TypeScript 7 native compiler. The native compiler does not ship the programmatic API the checker relies on yet, soastro checknow fails early with a clear message pointing to the tracking issue instead.

Patch Changes
- #17341
64b0d66Thanks @Princesseuh! - Fixes customprecomponents not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX.

Patch Changes
- #17341
64b0d66Thanks @Princesseuh! - Fixes customprecomponents not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX.

Patch Changes
-
#17323
4298883Thanks @ematipico! - Refactors internal WSL detection by removing theis-wsldependency. -
#17323
4298883Thanks @ematipico! - Replacedwhich-pm-runsdependency withpackage-manager-detector

🚨 Breaking Changes
- Upgrade from Astro 5.14.4 to Astro 7.0.6 and more - by @lin-stephanie in #77 (f1712)
View changes on GitHub

Patch Changes
-
Expand the Astro peer range from
>=4.14.0 <7.0.0to>=4.14.0 <8.0.0so Astro 7 projects can install the loader without peer dependency conflicts. (70b8058) -
Migrate the package build from inline
tsupscripts andpostbuild.graphqlcopying totsdown --watch/tsdownwithtsdown.config.ts, keepastro:env/serverexternal throughdeps.neverBundle, disable declaration/source maps, and mark the package as side-effect free for better tree-shaking. (70b8058)

Patch Changes
-
Expand the Astro peer range from
>=4.14.0 <7.0.0to>=4.14.0 <8.0.0so Astro 7 projects can install the loader without peer dependency conflicts. (70b8058) -
Migrate the package build from inline
tsupscripts andpostbuild.graphqlcopying totsdown --watch/tsdownwithtsdown.config.ts, keepastro:env/serverexternal throughdeps.neverBundle, disable declaration/source maps, and mark the package as side-effect free for better tree-shaking. (70b8058)

Patch Changes
-
Expand the Astro peer range from
>=4.14.0 <7.0.0to>=4.14.0 <8.0.0so Astro 7 projects can install the loader without peer dependency conflicts. (70b8058) -
Migrate the package build from inline
tsupscripts andpostbuild.graphqlcopying totsdown --watch/tsdownwithtsdown.config.ts, keepastro:env/serverexternal throughdeps.neverBundle, disable declaration/source maps, and mark the package as side-effect free for better tree-shaking. (70b8058)

Patch Changes
-
Expand the Astro peer range from
>=4.14.0 <7.0.0to>=4.14.0 <8.0.0so Astro 7 projects can install the loader without peer dependency conflicts. (70b8058) -
Relax Release identifier validation from fixed 16-character Base64 node IDs to GitHub global node IDs such as
RE_..., reuse shared URL regexes, and document live entry identifiers asstring | object. (70b8058) -
Update GraphQL Code Generator (
codegen.config.ts) to emit typed string documents with pure annotations, operation-only types, pre-resolved result shapes, type-only imports, string-union enums, and a scoped post-generation formatter forsrc/graphql/gen/operations.ts. (70b8058) -
Replace
graphql#printcalls withString(...)because generated documents are now typed string documents instead of GraphQL AST documents. (70b8058) -
Migrate the package build from inline
tsupscripts andpostbuild.graphqlcopying totsdown --watch/tsdownwithtsdown.config.ts, keepastro:env/serverexternal throughdeps.neverBundle, disable declaration/source maps, and mark the package as side-effect free for better tree-shaking. (70b8058) -
Add
__typenameto the release GraphQL fragment and use it ingetValidReleaseNode()so lookups only map realReleasenodes before stripping the typename from returned data. (70b8058) -
Return an
INVALID_IDENTIFIERloader error when live release entry lookups by node ID, URL or{ owner, repo, tagName }do not resolve to a GitHub Release, instead of returning an empty result. (70b8058) -
Align README with the updated runtime behavior. (
70b8058)

Patch Changes
-
Expand the Astro peer range from
>=4.14.0 <7.0.0to>=4.14.0 <8.0.0so Astro 7 projects can install the loader without peer dependency conflicts. (70b8058) -
Normalize PR search construction by prefixing
type:pronly when neithertype:prnoris:pris present, and preserve existing positive or negativecreated:qualifiers when applyingmonthsBack. (70b8058) -
Relax PR identifier validation from fixed 16-character Base64 node IDs to GitHub global node IDs such as
PR_..., reuse shared URL regexes, and document live entry identifiers asstring | object. (70b8058) -
Update GraphQL Code Generator (
codegen.config.ts) to emit typed string documents with pure annotations, operation-only types, pre-resolved result shapes, type-only imports, string-union enums, and a scoped post-generation formatter forsrc/graphql/gen/operations.ts. (70b8058) -
Replace
graphql#printcalls withString(...)because generated documents are now typed string documents instead of GraphQL AST documents. (70b8058) -
Migrate the package build from inline
tsupscripts andpostbuild.graphqlcopying totsdown --watch/tsdownwithtsdown.config.ts, keepastro:env/serverexternal throughdeps.neverBundle, disable declaration/source maps, and mark the package as side-effect free for better tree-shaking. (70b8058) -
Add
__typenameto the PR GraphQL fragment and use it ingetValidPrNode()so lookups only map realPullRequestnodes before stripping the typename from returned data. (70b8058) -
Return an
INVALID_IDENTIFIERloader error when live PR entry lookups by node ID, URL or{ owner, repo, number }do not resolve to a GitHub PR, instead of returning an empty result. (70b8058) -
Align README with the updated runtime behavior. (
70b8058)
Patch Changes
- #3911
1686eccThanks @timothyjordan! - Keeps keyboard focus inside the mobile menu while it is open, preventing focus moving to hidden interactive elements in page content.

Patch Changes
- #17059
60cb289Thanks @dupontcyborg! - Update volar-service-* dependencies from 0.0.70 to 0.0.71 to pull in yaml-language-server 1.23.0 and yaml 2.8.3, resolving CVE-2026-33532 (GHSA-48c2-rrv3-qjmp), a denial-of-service vulnerability in yaml <2.8.3.

Patch Changes
- Updated dependencies [
eb6f97e]:- @astrojs/internal-helpers@0.10.1

Patch Changes
- #17270
0142964Thanks @FrancoKaddour! - Fix@astrojs/solid-jsincorrectly claiming Svelte 5 components compiled with the newer$$rendererprop (instead of the legacy$$payload). Projects mixing Solid and Svelte could see Svelte components silently rendered as empty strings by the Solid renderer.

Patch Changes
- Updated dependencies [
eb6f97e]:- @astrojs/internal-helpers@0.10.1

Patch Changes
- Updated dependencies [
eb6f97e]:- @astrojs/internal-helpers@0.10.1

Patch Changes
- Updated dependencies [
eb6f97e]:- @astrojs/internal-helpers@0.10.1
- @astrojs/markdown-remark@7.2.1

Patch Changes
- Updated dependencies [
eb6f97e]:- @astrojs/internal-helpers@0.10.1

Patch Changes
- Updated dependencies [
eb6f97e]:- @astrojs/internal-helpers@0.10.1

Patch Changes
-
#17252
eb6f97eThanks @matthewp! - Fixes trailing-slash handling for request paths that begin with a backslashWith
trailingSlash: 'always', the standalone Node server could append a trailing slash to a request path that begins with a backslash (for example/\example.com/foo) and echo that path back in theLocationheader of a301response. Because browsers resolve a leading\the same way as/, the resultingLocationcould point off-site.Such paths are now recognized as internal paths, matching the existing handling for paths that begin with
//, so they are no longer rewritten with a trailing slash. -
Updated dependencies [
eb6f97e]:- @astrojs/internal-helpers@0.10.1

Patch Changes
- #17259
ed6bea5Thanks @astrobot-houston! - Fixes proxy support by respectingHTTP_PROXYandHTTPS_PROXYenvironment variables when downloading templates. On Node.js v22.21.0+ and v24.5.0+,create-astronow automatically enables the--use-env-proxyflag so that nativefetch()routes requests through the configured proxy.

Patch Changes
-
#17252
eb6f97eThanks @matthewp! - Fixes trailing-slash handling for request paths that begin with a backslashWith
trailingSlash: 'always', the standalone Node server could append a trailing slash to a request path that begins with a backslash (for example/\example.com/foo) and echo that path back in theLocationheader of a301response. Because browsers resolve a leading\the same way as/, the resultingLocationcould point off-site.Such paths are now recognized as internal paths, matching the existing handling for paths that begin with
//, so they are no longer rewritten with a trailing slash.

Patch Changes
- Updated dependencies [
eb6f97e]:- @astrojs/internal-helpers@0.10.1
- @astrojs/underscore-redirects@1.0.3


Patch Changes
- Updated dependencies [
eb6f97e]:- @astrojs/internal-helpers@0.10.1

Patch Changes
- #17249
02b73b0Thanks @ematipico! - Fixes an issue where thepeerDependenciesfield used incorrect dependencies.

Patch Changes
- #17249
02b73b0Thanks @ematipico! - Fixes an issue where thepeerDependenciesfield used incorrect dependencies.

Patch Changes
- #17254
2cffae1Thanks @astrobot-houston! - Fixes syntax highlighting breaking when using CSS@propertyat-rules inside<style>blocks. The</style>closing tag and all subsequent blocks are now correctly recognized regardless of CSS content.

Patch Changes
- #17249
02b73b0Thanks @ematipico! - Fixes an issue where thepeerDependenciesfield used incorrect dependencies.

Patch Changes
- #17249
02b73b0Thanks @ematipico! - Fixes an issue where thepeerDependenciesfield used incorrect dependencies.

Patch Changes
- #17249
02b73b0Thanks @ematipico! - Fixes an issue where thepeerDependenciesfield used incorrect dependencies.

Patch Changes
- #17249
02b73b0Thanks @ematipico! - Fixes an issue where thepeerDependenciesfield used incorrect dependencies.

Minor Changes
-
#17245
f56d9e7Thanks @astrobot-houston! - AddsedgeFunctionsto thedevFeaturesadapter option, allowing users to disable Netlify Edge Function emulation duringastro devSome npm packages that access the filesystem at initialization (e.g.
node-html-parser) fail inside the edge function sandbox with "Reading or writing files with Edge Functions is not supported yet." You can now disable edge function emulation to avoid this error:import netlify from '@astrojs/netlify'; import { defineConfig } from 'astro/config'; export default defineConfig({ adapter: netlify({ devFeatures: { edgeFunctions: false, }, }), });
Edge functions will still work in production builds and via
netlify dev.
Patch Changes
-
#17249
02b73b0Thanks @ematipico! - Fixes an issue where thepeerDependenciesfield used incorrect dependencies. -
Updated dependencies []:
- @astrojs/underscore-redirects@1.0.3
Last fetched: | Scheduled refresh: Every Saturday
See Customizing GitHub Activity Pages to configure your own
Inspired by releases.antfu.me