Astro is a JavaScript web framework optimized for building fast, content-driven websites. Server-First
Update May 13, 2026 tracked by Updatify
astro@6.3.2
Patch Changes
-
#16675
11d4592Thanks @ascorbic! - Fixes a regression whereAstro.cachewasundefinedwhenexperimental.cachewas not configured.The previous documented behavior is for
Astro.cacheto always be defined as a no-op shim:cache.set()warns once,cache.invalidate()throws andcache.enabledcan be used to gate. This allows library and user code can call cache methods without conditional checks. The cache provider registration was being gated at the call site onexperimental.cachebeing configured, which meant the disabled shim branch inside the provider was unreachable and theAstro.cachegetter was never attached to the context. -
#16691
0f0a4ceThanks @matthewp! - FixesHTMLElement is not definederror during HMR when using components with client-side scripts (e.g. Starlight<Tabs>) and the Cloudflare adapter
Update May 7, 2026 tracked by Updatify
@astrojs/cloudflare@13.5.0
Minor Changes
-
#16639
4d72482Thanks @ematipico! - The adapter now depends on Astro 6.3.0.
Update May 7, 2026 tracked by Updatify
@astrojs/node@10.1.0
Minor Changes
-
#16639
4d72482Thanks @ematipico! - The adapter now depends on Astro 6.3.0.
Update May 7, 2026 tracked by Updatify
@astrojs/language-server@2.16.8
Patch Changes
-
#16627
5778cb7Thanks @Princesseuh! - Fixes unintended dependency on thetypescriptpackage being available to the language server
Update May 7, 2026 tracked by Updatify
@astrojs/telemetry@3.3.2
Patch Changes
-
#16260
354e231Thanks @gameroman! - Refactors internal config logic to remove thedlvdependency in favor of native logic
Update May 7, 2026 tracked by Updatify
astro@6.3.0
Minor Changes
-
#16366
d69f858Thanks @matthewp! - Adds a newexperimental.advancedRoutingoption that lets you take full control of Astro’s request handling pipeline by creating asrc/app.tsfile in your project.Today, Astro handles every incoming request through a fixed internal pipeline: trailing slash normalization, redirects, actions, middleware, page rendering, i18n, and so on. That pipeline works great for most sites, but as projects grow you often want to run your own logic between those steps — an auth check before rendering, a rate limiter before actions, custom logging around the whole stack. Advanced routing gives you that control.
When enabled, Astro looks for a
src/app.tsfile in your project. If it finds one, that file becomes the entrypoint for all server-rendered requests. You compose the pipeline yourself using the handlers Astro provides, and you can slot your own logic anywhere in the chain.Enabling advanced routing
// astro.config.mjs import { defineConfig } from 'astro/config'; export default defineConfig({ experimental: { advancedRouting: true, }, });Two ways to build your pipeline
Astro ships two entrypoints for advanced routing:
astro/fetchandastro/hono.
Update May 7, 2026 tracked by Updatify
@astrojs/cloudflare@13.4.0
Minor Changes
-
#16519
1b1c218Thanks @louisescher! - Adds support for redirecting URLs in remote image optimization.Previously, when a remote image URL meant to be optimized by Astro led to a redirect, Astro would fail silently and ignore the redirect. Now, Astro tracks up to 10 redirects for these images. If any of the redirects are not covered by a pattern in
image.remotePatternsor a domain inimage.domains, Astro will fail with a helpful error message.In the following example, the first image would be loaded successfully, while the second would lead to Astro throwing an error:
export default defineConfig({ image: { domains: ['example.com', 'cdn.example.com'], }, });{ /* Redirects to https://cdn.example.com/assets/image.png: */ } <Image src="https://example.com/assets/image.png" width="1920" height="1080" alt="An example image." />; { /* Redirects to https://malicious.com/image.png: */ } <Image src="https://example.com/bad-image.png" width="1920" height="1080" alt="An example image." />;In cases where all redirects to HTTPS hosts should be trusted, the following configuration for
image.remotePatternscan be used:
Update May 4, 2026 tracked by Updatify
@astrojs/cloudflare@13.3.1
Patch Changes
-
#16552
409f6efThanks @web-dev0521! - Fixes an issue where existing KV namespace bindings were silently removed when session support was enabled. -
#16277
7666bcdThanks @Calvin-LL! - Fix static assets and prerendered pages 404ing whenbaseis configured. -
Updated dependencies []:
- @astrojs/underscore-redirects@1.0.3
Update May 4, 2026 tracked by Updatify
astro@6.2.2
Patch Changes
-
#16292
00f48eeThanks @p-linnane! - Fixes head metadata propagation in dev for adapters that load modules in theprerenderVite environment, such as@astrojs/cloudflare. Theastro:head-metadataplugin previously only tracked thessrenvironment, somaybeRenderHead()could fire inside an unrelated component’s<template>element, trapping subsequent hoisted<style>blocks. -
#16451
778865fThanks @maximslo! - Fixes build crash when processing animated AVIF images. Sharp now gracefully passes through unsupported image formats instead of crashing during the build. -
#16548
7214d3eThanks @senutpal! - Fixes scoped styles applying to the wrong element whenvite.css.transformeris set to'lightningcss'and a selector uses a nested&inside:where(...), such as Tailwind v4’sspace-x-*,space-y-*, anddivide-*utilities.
Update Apr 30, 2026 tracked by Updatify
astro@6.2.1
Patch Changes
-
#16531
76db01dThanks @rodrigosdev! - Fixes config validation for omittedintegrationsfields with newer Zod versions. -
#16535
7df0fe4Thanks @rururux! - Fixed an issue where a warning was displayed when theserverproperty was missing during config validation, even though it is not required. -
#16534
5cf6c51Thanks @matthewp! - Fixes compatibility with Zod 4.4.0 for theserverconfig property and error formatting
Update Apr 30, 2026 tracked by Updatify
@astrojs/cloudflare@13.3.0
Minor Changes
-
#16187
fe58071Thanks @gllmt! - Adds awaitUntiloption to theRenderOptionsso that adapters can forward runtime background-task hooks to Astro.When provided by an adapter, runtime cache providers receive
context.waitUntilinCacheProvider.onRequest(), which allows background cache work such as stale-while-revalidate without blocking the response. The Cloudflare adapter now forwardsExecutionContext.waitUntilto this API. -
#16290
a49637aThanks @ViVaLaDaniel! - Ensures thatserver.allowedHosts(andvite.preview.allowedHosts) configuration is respected when usingastro previewwith the@astrojs/cloudflareadapter. This improves security by preventing DNS rebinding attacks when previewing Cloudflare builds locally.
Patch Changes
-
Updated dependencies []:
- @astrojs/underscore-redirects@1.0.3
Update Apr 30, 2026 tracked by Updatify
astro@6.2.0
Minor Changes
-
#16187
fe58071Thanks @gllmt! - Adds awaitUntiloption to theRenderOptionsso that adapters can forward runtime background-task hooks to Astro.When provided by an adapter, runtime cache providers receive
context.waitUntilinCacheProvider.onRequest(), which allows background cache work such as stale-while-revalidate without blocking the response. The Cloudflare adapter now forwardsExecutionContext.waitUntilto this API. -
#16290
a49637aThanks @ViVaLaDaniel! - Ensures thatserver.allowedHosts(andvite.preview.allowedHosts) configuration is respected when usingastro previewwith the@astrojs/cloudflareadapter. This improves security by preventing DNS rebinding attacks when previewing Cloudflare builds locally.
Update Apr 28, 2026 tracked by Updatify
@astrojs/cloudflare@13.2.2
Patch Changes
-
#16498
4efe020Thanks @matthewp! - Fixes the dependency scan failing with “No matching export for import ‘default’” when a.tsfile default-imports an.astrocomponentThe esbuild scan plugin now includes
export default {}in its output for.astrofiles, preventing the scan from failing and ensuring all dependencies are discovered ahead of time. -
Updated dependencies []:
- @astrojs/underscore-redirects@1.0.3
Update Apr 28, 2026 tracked by Updatify
@astrojs/db@0.21.0
Minor Changes
-
#16289
5d580c0Thanks @maxmalkin! - Adds a newgetDbError()helper exported fromastro:db. It walks the error.causechain and returns the underlyingLibsqlError, orundefinedif the error did not originate from libSQL. This is needed becausedrizzle-orm0.44+ wraps query errors in aDrizzleQueryErrorwhose.causeis the realLibsqlError.Upgrading
Code that reads
.codeor.messageafter catching a database error should migrate fromisDbError()togetDbError():// Before import { isDbError } from 'astro:db'; try { await db.insert(MyTable).values({ ... }); } catch (e) { if (isDbError(e)) { console.error(e.code, e.message); } } // After import { getDbError } from 'astro:db'; try { await db.insert(MyTable).values({ ... }); } catch (e) { const dbError = getDbError(e); if (dbError) { console.error(dbError.code, dbError.message); } }
Update Apr 28, 2026 tracked by Updatify
astro@6.1.10
Patch Changes
-
#16479
1058428Thanks @matthewp! - Fixes a spurious[WARN] [content] Content config not loadedwarning duringastro devfor projects that don’t use content collections -
#16457
3d82220Thanks @matthewp! - Hardens server island encryption to prevent encrypted data from one island component being replayed against a different one -
#16481
152700eThanks @matthewp! - Fixes a spurious 404 request for a dev toolbar sourcemap duringastro devcaused by the browser mis-resolving a relativesourceMappingURLfrom the/@id/URL prefix -
#16480
1bcb43bThanks @matthewp! - Fixes an unnecessary full page reload on first navigation during dev
Update Apr 28, 2026 tracked by Updatify
@astrojs/svelte@8.1.0
Minor Changes
-
#16466
31b6198Thanks @fkatsuhiro! - This change updates the Svelte integration’s type shims to treat non-children snippet props andany-typed props as optional. Previously, these were incorrectly marked as required in Astro files, causing false-positive type errors when using Svelte 5 components.-
Adds
HandleSnippetPropsto make Snippets optional in Astro. - Distinguishes between generic and non-generic components to preserve inference.
- Updates TSX generation to apply the appropriate directive wrapper.
-
Adds
Update Apr 28, 2026 tracked by Updatify
@astrojs/vercel@10.0.6
Patch Changes
-
#16486
0bae1a5Thanks @cyphercodes! - Fix forwarded serverless requests with streamed bodies by preserving the requiredduplex: 'half'option when rewriting middleware paths.
Update Apr 22, 2026 tracked by Updatify
@astrojs/vercel@10.0.5
Update Apr 22, 2026 tracked by Updatify
@astrojs/react@5.0.4
Update Apr 22, 2026 tracked by Updatify
astro@6.1.9
Patch Changes
-
#16448
99464edThanks @matthewp! - Updates vite, picomatch, and unstorage to latest patch versions -
#16422
a3951d7Thanks @matthewp! - Hardensastro-islandexport resolution and hydration error handling for malformed component metadata -
#16420
e21de1dThanks @matthewp! - Hardens Astro’s error overlay and server logging paths to avoid unsafe HTML insertion and format-string interpolation -
#16419
f3485c3Thanks @matthewp! - Hardens nested object and package metadata lookups to ignore prototype keys in content handling and project scaffolding