Update Jul 21, 2026 tracked by Updatify
@astrojs/language-server@2.16.13
Patch Changes
-
#17465
6a1c1d8Thanks @florian-lefebvre! - Fixes a case where errors in files included in tsconfig project references would never be caught
Astro is a JavaScript web framework optimized for building fast, content-driven websites. Server-First
Update Jul 21, 2026 tracked by Updatify
6a1c1d8 Thanks @florian-lefebvre! - Fixes a case where errors in files included in tsconfig project references would never be caught Update Jul 21, 2026 tracked by Updatify
Update Jul 20, 2026 tracked by Updatify
630b382 Thanks @astrobot-houston! - Fixes image optimization during astro build using 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.
</content>
</invoke> Update Jul 20, 2026 tracked by Updatify
#17445 a5f7230 Thanks @ocavue! - Updates dependency cookie to v2. Cookie values made entirely of URL-safe characters are no longer percent-encoded in Set-Cookie headers; encoded values round-trip exactly as before.
#17402 a89c137 Thanks @farrosfr! - Fixes a bug where mutated Astro.locals during the request lifecycle are lost and not passed to custom error pages (404.astro/500.astro)
#17405 91992ef Thanks @Araluma! - Prevents an unhandled promise rejection from the prefetch fetch fallback. In WebKit (Safari), <link rel="prefetch"> is unsupported, so prefetch uses the fetch() fallback; on a flaky connection that fetch rejects with TypeError: Load failed, and because the promise was not awaited or caught, it surfaced as an unhandled rejection to the page’s global error handlers. The best-effort prefetch now swallows the failure with .catch().
Update Jul 16, 2026 tracked by Updatify
#17302 5f4dc03 Thanks @astrobot-houston! - Adds a new deferRender option to the glob() content loader
When set to true, renderable entries (such as Markdown) are not rendered during content sync. Instead, rendering is deferred until the entry is actually rendered in a page, using the same on-demand path that .mdx files already use.
This reduces memory usage during astro build for large collections whose rendered output is much larger than the source — for example, Markdown that uses heavy rehype plugins like rehype-katex. Such builds could previously run out of memory while storing the eagerly-rendered HTML for every entry.
// src/content.config.ts
import { defineCollection } from 'astro:content';
import { glob } from 'astro/loaders';
const docs = defineCollection({
loader: glob({ pattern: '**/*.md', base: 'src/content/docs', deferRender: true }),
});
By default deferRender is false, preserving the existing behavior of rendering entries eagerly during sync so their rendered HTML can be cached across builds.
Update Jul 13, 2026 tracked by Updatify
Update Jul 13, 2026 tracked by Updatify
#17286 a249317 Thanks @astrobot-houston! - Fixes the first browser visit after astro dev starts triggering an immediate full page reload
#17369 a94d4a5 Thanks @adamchal! - Fixes an issue where a client island could permanently fail to hydrate if the first attempt to load its component failed. Islands now reliably recover from transient import failures, which previously did not work for React components during astro dev.
Update Jul 13, 2026 tracked by Updatify
#17368 ee74c28 Thanks @matthewp! - Fixes the generated Netlify Image CDN remote_images patterns so that regex metacharacters (such as .) in image.remotePatterns (hostname, pathname) and image.domains are matched literally instead of behaving like wildcards. This makes the generated patterns consistent with how Astro matches these values elsewhere.
Updated dependencies []:
Update Jul 13, 2026 tracked by Updatify
#17363 3f4efc5 Thanks @astrobot-houston! - Fixes astro preview --open not opening a browser when using an adapter with a custom preview entrypoint, such as @astrojs/cloudflare
#17313 e2e319d Thanks @ronits2407! - Exposes the AstroRuntimeLogger interface to allow users to properly type the logger functions at runtime.
#17328 025cc74 Thanks @matthewp! - Fixes astro dev --force not replacing an already-running dev server
#17353 2bba277 Thanks @ematipico! - Updates the Astro compiler to the latest version, which fixes many regressions. Refer to the changelog for more details.
Update Jul 13, 2026 tracked by Updatify
5196fb4 Thanks @kkhys! - Fixes an opaque Cannot read properties of undefined (reading 'fileExists') crash when astro check runs against the TypeScript 7 native compiler. The native compiler does not ship the programmatic API the checker relies on yet, so astro check now fails early with a clear message pointing to the tracking issue instead. Update Jul 13, 2026 tracked by Updatify
#17363 3f4efc5 Thanks @astrobot-houston! - Fixes astro preview --open not opening a browser when using an adapter with a custom preview entrypoint, such as @astrojs/cloudflare
Updated dependencies []:
Update Jul 13, 2026 tracked by Updatify
64b0d66 Thanks @Princesseuh! - Fixes custom pre components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. Update Jul 13, 2026 tracked by Updatify
64b0d66 Thanks @Princesseuh! - Fixes custom pre components not applying to syntax-highlighted code blocks when using the Sätteri Markdown processor with MDX. Update Jul 8, 2026 tracked by Updatify
#17318 23a4120 Thanks @astrobot-houston! - Fixes CSS module scoped-name hash mismatch in astro dev when using vite.css.transformer: 'lightningcss' with content collections. Previously, a component importing a CSS module and rendered via content collection render() would get different class name hashes in the element and the injected <style> tag, causing styles not to apply.
#17323 4298883 Thanks @ematipico! - Fixes a dev server memory leak which caused Node.js to emit warnings in the console.
#17323 4298883 Thanks @ematipico! - Fixes a dev server crash when a .html or /index.html suffixed request (such as those netlify dev probes as pretty-URL fallbacks) matched a dynamic endpoint route, causing a TypeError: Missing parameter error
Update Jul 8, 2026 tracked by Updatify
#17323 4298883 Thanks @ematipico! - Fixes build-time image optimization ignoring a custom image service registered by an integration
Previously, when using imageService: 'compile' or imageService: 'custom', a custom image service was only respected if it was set directly in the image.service option of astro.config. If an integration registered the service instead, images were silently optimized with the default Sharp service at build time. A custom image service now transforms your images at build time no matter how it was configured.
#17323 4298883 Thanks @ematipico! - Prebundles astro/components and the <ClientRouter /> transition runtime modules in the dev server environment so pages using them no longer trigger a mid-session dep optimizer reload, which caused React “Invalid hook call” errors in islands on the first request after a cold cache
Update Jul 8, 2026 tracked by Updatify
#17323 4298883 Thanks @ematipico! - Refactors internal WSL detection by removing the is-wsl dependency.
#17323 4298883 Thanks @ematipico! - Replaced which-pm-runs dependency with package-manager-detector
Update Jul 2, 2026 tracked by Updatify
60cb289 Thanks @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. Update Jul 2, 2026 tracked by Updatify
0142964 Thanks @FrancoKaddour! - Fix @astrojs/solid-js incorrectly claiming Svelte 5 components compiled with the newer $$renderer prop (instead of the legacy $$payload). Projects mixing Solid and Svelte could see Svelte components silently rendered as empty strings by the Solid renderer. Update Jul 2, 2026 tracked by Updatify
eb6f97e]: Update Jul 2, 2026 tracked by Updatify
eb6f97e]: Update Jul 2, 2026 tracked by Updatify
#17252 eb6f97e Thanks @matthewp! - Fixes trailing-slash handling for request paths that begin with a backslash
With 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 the Location header of a 301 response. Because browsers resolve a leading \ the same way as /, the resulting Location could 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]:
Update Jul 2, 2026 tracked by Updatify
ed6bea5 Thanks @astrobot-houston! - Fixes proxy support by respecting HTTP_PROXY and HTTPS_PROXY environment variables when downloading templates. On Node.js v22.21.0+ and v24.5.0+, create-astro now automatically enables the --use-env-proxy flag so that native fetch() routes requests through the configured proxy. Update Jul 2, 2026 tracked by Updatify
#17252 eb6f97e Thanks @matthewp! - Fixes trailing-slash handling for request paths that begin with a backslash
With 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 the Location header of a 301 response. Because browsers resolve a leading \ the same way as /, the resulting Location could 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.
Update Jul 2, 2026 tracked by Updatify
eb6f97e]: Update Jul 2, 2026 tracked by Updatify
#17261 79aa99c Thanks @astrobot-houston! - Fixes a false deprecation warning for markdown.gfm and markdown.smartypants when using the Container API
#17247 f94280d Thanks @chatman-media! - Fixes route generation throwing “Missing parameter” (or silently dropping the segment) when a dynamic param’s value is 0. The generator used truthy checks instead of checking for undefined, so paginate(posts, { params: { categoryId: 0 } }) would crash even though 0 is a perfectly valid param value.
#17278 6f11739 Thanks @astrobot-houston! - Fixes missing CSS for virtual style modules (e.g., responsive image layout styles) in dev mode when JavaScript is disabled
Update Jul 1, 2026 tracked by Updatify
02b73b0 Thanks @ematipico! - Fixes an issue where the peerDependencies field used incorrect dependencies. Update Jul 1, 2026 tracked by Updatify
02b73b0 Thanks @ematipico! - Fixes an issue where the peerDependencies field used incorrect dependencies. Update Jul 1, 2026 tracked by Updatify
2cffae1 Thanks @astrobot-houston! - Fixes syntax highlighting breaking when using CSS @property at-rules inside <style> blocks. The </style> closing tag and all subsequent blocks are now correctly recognized regardless of CSS content. Update Jul 1, 2026 tracked by Updatify
02b73b0 Thanks @ematipico! - Fixes an issue where the peerDependencies field used incorrect dependencies. Update Jul 1, 2026 tracked by Updatify
02b73b0 Thanks @ematipico! - Fixes an issue where the peerDependencies field used incorrect dependencies. Update Jul 1, 2026 tracked by Updatify
02b73b0 Thanks @ematipico! - Fixes an issue where the peerDependencies field used incorrect dependencies. Update Jul 1, 2026 tracked by Updatify
#17242 9c05ba4 Thanks @matthewp! - Fixes an error that could occur after the dev server restarts when using an adapter such as @astrojs/cloudflare, where a request would fail with a 500 referencing a missing pre-bundled dependency:
The file does not exist at "node_modules/.vite/deps_ssr/astro_compiler-runtime.js?v=6419660d" which is in the optimize deps directory. The dependency might be incompatible with the dep optimizer. Try adding it to `optimizeDeps.exclude`.
#17202 c6d254d Thanks @matthewp! - Refactors path alias resolution to use Vite’s native tsconfigPaths option
This is an internal change with no expected impact on user projects. Astro now defers tsconfig and jsconfig paths alias resolution to Vite, keeping a small fallback for a few CSS cases Vite does not yet handle.
Update Jul 1, 2026 tracked by Updatify
#17099 fdab7ce Thanks @adamchal! - Adds configured image service support with the compile and custom options.
The Cloudflare adapter supports various options that affect how images are processed for both pre-rendered and on-demand routes:
imageService: 'compile' now ensures it is used for pre-rendered routes. When no custom image service is defined, the behavior remains unchanged. imageService: 'custom', assets are now processed at build time for pre-rendered routes. If you have configured an image service, it will be bundled to handle images at runtime; otherwise, the behavior remains unchanged. imageService options remain unchanged. Learn more about the image service options available in the Cloudflare adapter guide.
Update Jul 1, 2026 tracked by Updatify
02b73b0 Thanks @ematipico! - Fixes an issue where the peerDependencies field used incorrect dependencies. Update Jul 1, 2026 tracked by Updatify
#17245 f56d9e7 Thanks @astrobot-houston! - Adds edgeFunctions to the devFeatures adapter option, allowing users to disable Netlify Edge Function emulation during astro dev
Some 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.
#17249 02b73b0 Thanks @ematipico! - Fixes an issue where the peerDependencies field used incorrect dependencies.
Updated dependencies []:
Update Jun 30, 2026 tracked by Updatify
#17049 ffceaa2 Thanks @astrobot-houston! - Fixes prerender errors being silently swallowed when pages throw during rendering in workerd, causing astro build to exit 0 and emit truncated HTML. The response body is now fully buffered inside workerd before being sent back to the build process, so streaming errors are caught and surfaced as build failures with clear error messages.
Updated dependencies []:
Update Jun 30, 2026 tracked by Updatify
e37dfe2 Thanks @astrobot-houston! - Fixes dependency installation when creating Astro projects with pnpm 11+ Update Jun 30, 2026 tracked by Updatify
fbcfa03 Thanks @matthewp! - Hardens RSS feed generation by escaping the source and enclosure item fields. These fields are now serialized as structured XML values, ensuring that special characters in values like source.title and enclosure.type are always treated as text rather than markup, consistent with how other feed fields are handled. Update Jun 30, 2026 tracked by Updatify
#17212 7ba0bb1 Thanks @matthewp! - Ensures transition directive values are HTML-escaped when rendered on hydrated islands
#17224 dc5e52f Thanks @astrobot-houston! - Fixes trailing slash handling for dynamic file endpoints in dev mode. Dynamic file endpoints (e.g., src/pages/api/[name].json.ts) with trailingSlash: "always" incorrectly required a trailing slash in dev mode, returning 404 for /api/bar.json and 200 for /api/bar.json/.
#17067 23f9446 Thanks @fkatsuhiro! - Fixed a bug where the development toolbar did not output a warning even though the implicit ARIA role and the manually specified role were duplicated.
Update Jun 25, 2026 tracked by Updatify
675d11d Thanks @astrobot-houston! - Fixes @astrojs/upgrade showing a generic error when pnpm’s minimumReleaseAge policy blocks installation. The error message now explains that pnpm’s policy blocked the update and suggests running the install command manually. Update Jun 25, 2026 tracked by Updatify
973ea49 Thanks @astrobot-houston! - Fixes a crash when rendering shiki-highlighted code blocks inside list items