Skip to content

Update astro monorepo (major) - #1132

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-astro-monorepo
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-astro-monorepo

Conversation

@renovate

@renovate renovate Bot commented Jun 22, 2026 •

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
@astrojs/cloudflare (source) 13.6.0 → 14.3.4 age confidence
@astrojs/vue (source) 6.0.1 → 7.0.3 age confidence
astro (source) 6.4.2 → 7.3.8 age confidence

Release Notes

withastro/astro (@​astrojs/cloudflare)

v14.3.4

Compare Source

Patch Changes
  • #​18213 1e5523d Thanks @​astro-factory! - Fixes the globalThis.process shim being prepended to client-side scripts. The shim is now only added to the server output.

  • #​18253 78dca00 Thanks @​astro-factory! - Fixes the @astrojs/cloudflare/hono usage example so i18n() is mounted before pages(). In the old order, i18n() never ran, so locale redirects and fallbacks were skipped.

  • #​18145 02246c9 Thanks @​astro-factory! - Fixes dev dependency scan failing when a frontmatter line starts with import.meta or import(

  • #​17677 4f85749 Thanks @​andreialba! - Fixes remote images without a file extension failing with 400 Unsupported format: null when using the cloudflare-binding image service

    Astro only adds the f (format) parameter to /_image URLs when it can infer a format from the source, and otherwise leaves it off so the image service resolves the format from the source itself. Extensionless remote images, such as GitHub avatars like https://avatars.githubusercontent.com/u/1234, take that path. The image transform endpoint now falls back to the source's media type when f is absent, passing SVG sources through unchanged and encoding everything else as WebP. This also fixes SVG images, which are requested as f=svg and previously failed the same way.

  • #​18057 8db3024 Thanks @​asqar! - Fixes astro build failing with fetch failed / connect ECONNREFUSED 127.0.0.1:<port> during prerendering on hosts where localhost resolves to IPv6

    The prerenderer started its Vite preview server with host: 'localhost' and then built the fetch URL by re-stating that same hostname. localhost was therefore resolved twice, independently — once by listen() to pick a bind address and once by fetch() to pick a connect address — with nothing making the two agree. On hosts where those resolutions land on different families, the preview server listens on ::1 while fetch dials 127.0.0.1, and every prerender request is refused. The URL is now derived from the address actually bound, so bind and connect agree by construction.

  • Updated dependencies [6987261, 62b13ba]:

v14.3.3

Compare Source

Patch Changes

v14.3.2

Compare Source

Patch Changes
  • #​17958 b95c574 Thanks @​astro-factory! - Fixes a build failure when the wrangler config uses the exports field to declare Durable Object classes

  • #​18022 24946f7 Thanks @​matthewp! - Fixes cold astro dev crashes when using the passthrough image service

  • #​17842 d68db73 Thanks @​adamchal! - Fixes broken images on static sites by transforming prerendered images at build time with the default Cloudflare Images binding

  • #​17945 750b4db Thanks @​matthewp! - Pre-bundles renderer server entrypoints and the default console logger during dev so they are included in the initial optimization pass, preventing a mid-request re-optimization that could crash the dev server on Cloudflare (workerd).

  • Updated dependencies []:

v14.3.1

Compare Source

Patch Changes
  • #​17914 a400504 Thanks @​astro-factory! - Fixes a build crash when a custom worker entrypoint exports Durable Object classes alongside prerendered pages. The prerender worker no longer inherits durable_objects, migrations, or workflows from the entry worker config.

  • Updated dependencies []:

v14.3.0

Compare Source

Minor Changes
  • #​17795 15e2deb Thanks @​matthewp! - Adds concurrent rendering support for experimental.incrementalBuild, including when using @astrojs/cloudflare

    Incremental builds no longer disable caching when build.concurrency is greater than 1. Projects that set build.concurrency: 1 to keep the cache enabled can remove that workaround. Cloudflare builds also reduce serialization overhead for large prerendered pages.

  • #​17887 35aa62e Thanks @​matthewp! - Adds a Cloudflare finalize() response handler for custom request handlers

    Call finalize() to apply cookies and Cloudflare CDN cache defaults to the response from an astro/fetch pipeline:

    import { astro, FetchState } from 'astro/fetch';
    import { cf, finalize } from '@astrojs/cloudflare/fetch';
    
    export default {
      async fetch(request: Request, env: Env, context: ExecutionContext) {
        const state = new FetchState(request);
        const asset = await cf(state, env, context);
        if (asset) return asset;
    
        return finalize(state, await astro(state));
      },
    };

    The @astrojs/cloudflare/hono middleware applies these response headers automatically. Cloudflare custom entrypoints also fall back to static assets when no Astro route matches and use the default server entrypoint when prerendering through workerd.

Patch Changes

v14.2.6

Compare Source

Patch Changes

v14.2.5

Compare Source

Patch Changes
  • #​17819 633855b Thanks @​matthewp! - Updates generated and default Cloudflare compatibility_date values to match the installed runtime and requires Wrangler ^4.125.0

  • #​17675 44d384c Thanks @​danielmlr! - Adds the Worker version to the cache metadata of cached responses when the CF_VERSION_METADATA binding is configured. Responses carry an astro-version:<id> cache tag for version-specific purging, and responses that already send Last-Modified get a weak ETag that folds the version in. Conditional revalidation then returns fresh content after a deploy that changes rendered output but not content — most commonly the hashed asset URLs in server-rendered HTML. Without the binding, nothing changes.

  • Updated dependencies []:

v14.2.4

Compare Source

Patch Changes

v14.2.3

Compare Source

Patch Changes

v14.2.2

Compare Source

Patch Changes

v14.2.1

Compare Source

Patch Changes
  • #​17627 ba6a9f6 Thanks @​astrobot-houston! - Fixes the astro peer dependency range from ^7.0.0 to ^7.2.0. The adapter imports symbols (beginContentEntryCollection, beginImageCollection, endContentEntryCollection, endImageCollection) from astro/app that were added in Astro 7.2.0, so earlier versions fail at build time with a MISSING_EXPORT error.

  • Updated dependencies [0891ac9]:

v14.2.0

Compare Source

Minor Changes
  • #​16194 2a59663 Thanks @​Daedalus-Icarus! - Adds opt-in build-time image optimization for the cloudflare-binding image 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 90c98ae Thanks @​adamchal! - When session: false is set in astro.config, the adapter no longer auto-wires the Cloudflare KV session driver. Combined with the matching astro change, this lets the session runtime tree-shake out of the Worker bundle.

  • #​17084 961bbe5 Thanks @​matthewp! - Supports Astro's experimental incremental static builds. When experimental.incrementalBuild is enabled, the adapter skips unchanged pages between builds.

Patch Changes
  • #​17576 0a79753 Thanks @​alexanderniebuhr! - Fixes /_image returning 500 in dev mode when using imageService: 'custom'. Astro's default dev image endpoint imports vite and node:fs, which cannot be loaded inside workerd. The custom and fallback cases now use the generic fetch-based endpoint in dev, matching the other image service modes. A user-configured image.endpoint is left untouched.

    Additionally, a dev-time warning is now logged when imageService: 'custom' resolves to the Sharp service (including when no image.service is configured), since Sharp's native binding cannot run inside workerd in dev or production.

  • #​17481 0c32649 Thanks @​ondraulehla! - Fixes a crash on /_image cache 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 default Cloudflare-CDN-Cache-Control: no-store header to them. The handler now rebuilds the response with mutable headers when needed.

  • #​17347 ce83c39 Thanks @​astrobot-houston! - Fixes imageService: 'compile' producing unoptimized images when prerenderEnvironment is set to 'node'

  • #​17594 2b8915a Thanks @​astrobot-houston! - Fixes a type-checking error when using app.use(cf()) from @astrojs/cloudflare/hono in projects with wrangler types-generated ExecutionContext declarations

  • Updated dependencies []:

v14.1.7

Compare Source

Patch Changes

v14.1.6

Compare Source

Patch Changes

v14.1.5

Compare Source

Patch Changes

v14.1.4

Compare Source

Patch Changes

v14.1.3

Compare Source

Patch Changes

v14.1.2

Compare Source

Patch Changes
  • #​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

  • #​17323 4298883 Thanks @​ematipico! - Fixes an issue where vars weren't available at build time. Now the adapter loads vars from the Wrangler config so astro:env public variables resolve at build time

  • Updated dependencies []:

v14.1.1

Compare Source

Patch Changes

v14.1.0

Compare Source

Minor Changes
  • #​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:

    • Setting imageService: 'compile' now ensures it is used for pre-rendered routes. When no custom image service is defined, the behavior remains unchanged.
    • With 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.
    • The other imageService options remain unchanged.

    Learn more about the image service options available in the Cloudflare adapter guide.

Patch Changes

v14.0.2

Compare Source

Patch Changes
  • #​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 []:

v14.0.1

Compare Source

Patch Changes

v14.0.0

Compare Source

Major Changes
Minor Changes
  • #​16335 9a53f77 Thanks @​ascorbic! - Adds an opt-in CDN cache provider for Astro route caching on Cloudflare Workers

    [!WARNING]
    This provider requires the Cloudflare Workers Cache feature, which is currently in private beta. It is opt-in: nothing changes unless you import cacheCloudflare() and set it as your provider. But without beta access it does not work and should not be used. Cloudflare Workers run in front of the cache, so cached responses are never served, and calling cache.invalidate() throws an error.

Setup

Import cacheCloudflare() from @astrojs/cloudflare/cache and set it as your cache provider:

import { defineConfig } from 'astro/config';
import cloudflare from '@astrojs/cloudflare';
import { cacheCloudflare } from '@astrojs/cloudflare/cache';

export default defineConfig({
  adapter: cloudflare(),
  cache: {
    provider: cacheCloudflare(),
  },
});

The adapter automatically enables the Worker caching layer when a Cloudflare cache provider is configured. No manual wrangler.jsonc changes are needed.

Caching responses

Use Astro.cache.set() in your pages and API routes to cache responses. The provider sets Cloudflare-CDN-Cache-Control and Cache-Tag headers, which are read by Cloudflare's built-in caching layer. Cache hits bypass Worker execution entirely, meaning your Worker is not invoked for cached responses.

---
Astro.cache.set({ maxAge: 300, tags: ['products'] });
const data = await fetchProducts();
---

<ProductList items={data} />

You can also set cache rules for groups of routes in your config:

cache: { provider: cacheCloudflare() },
routeRules: {
  '/products/[...slug]': { maxAge: 3600, tags: ['products'] },
  '/api/[...path]': { maxAge: 60, swr: 600 },
},
Invalidation

Purge cached responses by tag or path from any API route or server endpoint:

// src/pages/api/purge.ts
export async function POST({ request, cache }) {
  await cache.invalidate({ tags: ['products'] });
  return new Response('Purged');
}

// Path-based invalidation (implemented via an auto-generated path tag)
await cache.invalidate({ path: '/products/123' });

Both tag-based and path-based invalidation are supported.

Patch Changes

v13.7.0

Compare Source

Minor Changes
  • #​16571 d4b0cd1 Thanks @​MA2153! - Sets immutable cache headers for static assets

    Static assets under _astro can be cached to improve performance. The adapter now automatically injects a Cache-Control header at build time when possible.

Patch Changes
  • #​16968 7a5c001 Thanks @​astrobot-houston! - Fixes a build crash when using experimental.advancedRouting with a custom fetchFile that statically imports cf from @astrojs/cloudflare/fetch. The circular dependency between @astrojs/cloudflare/fetch and astro/app/entrypoint caused createApp or createGetEnv to be undefined at module evaluation time. Initialization is now deferred to the first cf() call, breaking the cycle.

  • Updated dependencies []:

v13.6.1

Compare Source

Patch Changes
withastro/astro (@​astrojs/vue)

v7.0.3

Compare Source

Patch Changes
  • #​17985 7a6e7f7 Thanks @​astro-factory! - Fixes Vue render-function components failing to build when @astrojs/react is also enabled. React's renderer check no longer crashes on non-React object components, and Vue's check now recognizes defineComponent() components that use a setup function returning a render function.

v7.0.2

Compare Source

Patch Changes

v7.0.1

Compare Source

Patch Changes

v7.0.0

Compare Source

Major Changes
Minor Changes
  • #​17093 4585fe5 Thanks @​Princesseuh! - Replaces the import entrypoint of getContainerRenderer()

    A new container-renderer entrypoint exporting getContainerRenderer() has been added to the following integrations: React, Preact, Svelte, SolidJS, Vue, and MDX. This prevents bundlers from trying to bundle unrelated exports from the package root when only the Container API is used.

    If you are using the Container API, update your import statements to use the new entrypoint. The following example updates the getContainerRenderer() import for React:

    - import { getContainerRenderer } from '@astrojs/react';
    + import { getContainerRenderer } from '@astrojs/react/container-renderer';

    Importing getContainerRenderer() from the package root still works, but is now deprecated and logs a warning.

Patch Changes
withastro/astro (astro)

v7.3.8

Compare Source

Patch Changes
  • #​18293 28e7410 Thanks @​astro-factory! - Fixes Astro.cache being undefined when a custom 404 or 500 page is rendered by the error handler, for example after a request to an API route with an HTTP method the route doesn't export

  • #​18298 0e9e857 Thanks @​matthewp! - Fixes astro add removing existing allowBuilds approvals from pnpm-workspace.yaml with pnpm v11.0–v11.22

  • #​18263 882dd98 Thanks @​florian-lefebvre! - Refactors internal bundling and code transforms to use Vite's Oxc-based transformWithOxc and Rolldown instead of esbuild. These packages no longer depend on esbuild directly.

  • #​18290 31f13c3 Thanks @​astro-factory! - Fixes the glob() loader not reloading changed files in dev when the pattern starts with an extglob such as !(drafts)/**/*.md

v7.3.7

Compare Source

Patch Changes
  • #​18266 cba76cc Thanks @​astro-factory! - Fixes a build error when a Markdown content collection entry loaded with glob({ deferRender: true }) has a layout frontmatter property. layout is now ignored for content collection entries, as documented.

  • #​18287 38f6793 Thanks @​astro-factory! - Fixes astro add cloudflare failing to install dependencies with pnpm v11+ by approving the workerd build script, and shows the package manager's error output when astro add fails to install dependencies

  • #​18222 fcf6ed6 Thanks @​mingjunlu! - Fixes an issue where AVIF images were served as image/heif instead of image/avif in the dev server.

  • #​18240 de4df06 Thanks @​astro-factory! - Fixes the cache() handler from astro/hono and astro/fetch throwing a TypeError when a cache provider is configured. It now registers the cache provider before rendering, so Astro.cache is available to downstream handlers like pages().

  • #​18268 547b572 Thanks @​astro-factory! - Fixes security.checkOrigin rejecting cross-origin requests with non-form content types such as application/json. As documented, the check only applies to unsafe requests that have no content-type header or one of application/x-www-form-urlencoded, multipart/form-data, or text/plain.

v7.3.6

Compare Source

Patch Changes
  • #​18166 5134d0f Thanks @​astro-factory! - Fixes an intermittent dev server crash when using astro:actions inside a server island with adapters that use a pre-bundled SSR environment (e.g. @astrojs/cloudflare)

  • #​18076 8a2df66 Thanks @​astro-factory! - Fixes stale scoped styles during HMR when both markup and <style> are changed in a single save

  • #​18252 2d29e7e Thanks @​astro-factory! - Fixes CSS from other pages leaking into a page's <head> in dev when the page imports a module such as astro:config/server.

  • #​18000 6724575 Thanks @​barclayd! - Fixes a bug where server islands containing framework components rendered empty in the dev server when using a custom src/fetch.ts

  • #​18241 7c5fd6f Thanks @​astro-factory! - Fixes the composable i18n() handler from astro/fetch and astro/hono returning an empty 404 for paths without a locale prefix. It now renders the custom 404 page, matching astro().

  • #​18164 1a6997f Thanks @​astro-factory! - Fixes CSS Module HMR in dev when a component is rendered both with and without hydration on the same page. Astro now uses path-based class name hashing in dev mode so that editing CSS declarations no longer changes the generated selectors, allowing Vite's CSS HMR to update styles without a full page reload.

  • #​18243 dd29d62 Thanks @​astro-factory! - Fixes context.props being null in middleware and endpoints when the composable astro/hono or astro/fetch actions() handler runs before middleware(), or when pages() runs without middleware()

  • #​18193 95d5d16 Thanks @​astro-factory! - Fixes astro build failing on Windows with Node.js 25+ with ERR_INVALID_ARG_VALUE when clearing the output directory hits a transient EPERM error

  • #​18220 d6c13a4 Thanks @​astro-factory! - Fixes type errors reported in Astro's built-in <Picture /> and <Font /> components when type-checking a project with tsc and @astrojs/ts-content-mapper

  • #​18133 faac481 Thanks @​astro-factory! - Fixes lost request state when Vite discovers server dependencies during a request in Cloudflare dev mode

  • #​18146 2af4516 Thanks @​astro-factory! - Fixes CSS imported from an injectScript('page') script being dropped during build

  • #​18159 e5f8fe0 Thanks @​astro-factory! - Fixes a hang when a server:defer component is inside a slot of another component in an MDX content collection entry

  • #​18246 c3b42ad Thanks @​astro-factory! - Fixes the glob() loader skipping content files whose paths contain # or ?

  • #​18248 b97184e Thanks @​astro-factory! - Fixes a bug where page routes added with injectRoute() returned a 404 when i18n.routing.prefixDefaultLocale was true and the route path had no locale prefix

  • #​18251 3415263 Thanks @​astro-factory! - Fixes content collection changes being ignored in astro dev after the dev server restarts because of a config change

  • #​18226 ad54af0 Thanks @​imharjot! - Fixes Astro.cookies.get() returning undefined for request cookies with empty values

  • #​18155 37ab0e4 Thanks @​astro-factory! - Fixes nondeterministic ordering of the server manifest's assets array, ensuring builds with identical inputs produce byte-identical output

  • #​18099 6987261 Thanks @​renovate! - Adds YAML parsing with timestamp and merge key support, and formats YAML errors consistently across Astro, Markdown, MDX, and Markdoc.

  • #​15595 64e4039 Thanks @​qzio! - Improves CSRF protection by taking modern browsers headers into account

  • #​18215 941bd5e Thanks @​ump45nose! - Fixes a runtime ReferenceError for inlined scripts that import a URL with /* @vite-ignore */.

    Astro now inlines scripts after Vite replaces its preload markers, so ignored dynamic imports can remain inline without shipping an unresolved __VITE_PRELOAD__ reference.

  • #​18179 6caa659 Thanks @​matthewp! - Fixes custom View Transition direction names that are not valid CSS identifiers, such as names starting with a digit or containing spaces. These directions now match their animations

❗ Important

✂ PR body was truncated to here.

@renovate
renovate Bot requested a review from IgorKowalczyk June 22, 2026 18:48
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 3 times, most recently from 3127fa7 to ceabc4d Compare June 30, 2026 13:41
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 3 times, most recently from cf062b8 to 624dd00 Compare July 8, 2026 19:46
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 5 times, most recently from 1c99bde to d4fd7e5 Compare July 17, 2026 13:42
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 3 times, most recently from 66827a6 to 9fab49d Compare July 27, 2026 18:31
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 5 times, most recently from da16315 to a9e2411 Compare August 4, 2026 09:58
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 4 times, most recently from 6f5eb60 to 3779713 Compare August 12, 2026 17:30
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 4 times, most recently from ba6c1f4 to 99631c9 Compare August 20, 2026 18:12
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch from 99631c9 to 0497ecf Compare August 25, 2026 17:03
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 5 times, most recently from f8393f0 to 0a003cd Compare September 2, 2026 20:59
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 4 times, most recently from dedd78b to 656ee9e Compare September 9, 2026 21:46
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 3 times, most recently from c75a96a to 6e8c8dc Compare September 16, 2026 23:31
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 2 times, most recently from 7525d21 to 46c188a Compare September 24, 2026 02:50
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 3 times, most recently from 7cf2d91 to e95ecb5 Compare October 1, 2026 04:08
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 3 times, most recently from 625f736 to f4b6d1e Compare October 8, 2026 23:17
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch from f4b6d1e to eff3d5d Compare October 9, 2026 19:56

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants