Updatify / Astro | Release notes

Create your changelog

Astro is a JavaScript web framework optimized for building fast, content-driven websites. Server-First

Update Sep 3, 2026 tracked by Updatify

@astrojs/cloudflare@14.3.0

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));
      },
    };

Update Sep 3, 2026 tracked by Updatify

astro@7.3.0

Minor Changes

  • #17767 ce7c91f Thanks @astro-factory! - Adds --ignore-lock flag to astro preview, allowing multiple preview servers to run simultaneously on different ports. This is useful for E2E testing workflows (e.g., Playwright) that need to run several preview servers at once.

  • #17818 c0b6581 Thanks @florian-lefebvre! - Adds a logger parameter to image services hooks

    Custom image services now receive Astro’s runtime logger as an extra argument. Messages logged with it are routed through the destination configured in logger and respect your log level, instead of being written straight to the console:

    import type { LocalImageService } from 'astro';
    
    const service: LocalImageService = {
      // ...
      async transform(inputBuffer, transform, imageConfig, logger) {
        logger.warn(`Could not optimize "${transform.src}". Passing it through unchanged.`);
        return { data: inputBuffer, format: 'png' };
      },
    };

    Astro’s built-in Sharp service now uses this logger for the warnings it emits when it encounters an unexpected or unsupported source format.

Update Aug 31, 2026 tracked by Updatify

@astrojs/mdx@8.0.0

Major Changes

  • #17262 f8e9458 Thanks @Princesseuh! - Moves MDX file processing to the Markdown processors.

    ‘@astrojs/mdx’ is still required to add MDX support to your project. However, it now delegates the MDX files processing to Markdown processors.

    What should I do?

    If you haven’t explicitly installed a Markdown processor, you don’t need to do anything.

    Otherwise, ensure that your configured Markdown processor uses the following version:

    • @astrojs/markdown-satteri 0.4.0 or later if you use satteri()
    • @astrojs/markdown-remark 7.3.0 or later if you use unified()

Patch Changes

  • #17262 f8e9458 Thanks @Princesseuh! - Fixes .mdx files still using markdown.processor when extendMarkdownConfig is false. They now use a clean default processor instead; pass mdx({ processor }) to choose one explicitly.

Update Aug 31, 2026 tracked by Updatify

@astrojs/cloudflare@14.2.6

Patch Changes

  • #17854 07b919f Thanks @ematipico! - Added @astrojs/prism to the list of dependencies to optimise. The dev server is now faster for sites that use Prism as code highlighter.

  • #17850 1301c37 Thanks @matthewp! - Fixes React SSR failures on the first Cloudflare dev request when JSON logging is enabled

  • Updated dependencies [f8e9458]:

    • @astrojs/internal-helpers@0.11.0
    • @astrojs/underscore-redirects@1.0.4

Update Aug 31, 2026 tracked by Updatify

@astrojs/markdown-remark@7.3.0

Minor Changes

  • #17262 f8e9458 Thanks @Princesseuh! - Adds MDX rendering to the unified() and satteri() processors.

    Both processors now compile .mdx files themselves. You still need to install @astrojs/mdx to add MDX support to your project.

  • #17262 f8e9458 Thanks @Princesseuh! - Adds a recmaPlugins option to unified() for adding recma (estree/JSX) plugins to the MDX compiler.

Patch Changes

  • Updated dependencies [f8e9458]:
    • @astrojs/internal-helpers@0.11.0

Update Aug 31, 2026 tracked by Updatify

astro@7.2.10

Patch Changes

  • #17262 f8e9458 Thanks @Princesseuh! - Fixes @astrojs/markdown-remark being pinned to an exact version.

  • #17874 10c7e63 Thanks @astro-factory! - Fixes SSR manifest placeholder not being replaced when the server build is minified, which caused a runtime Invalid URL crash at server boot

  • #17869 2548abf Thanks @ematipico! - Fixes a case where the logger was improperly initialized at runtime in dev.

  • #17878 76eff3d Thanks @ematipico! - Fixes browser heuristic caching for cached responses that include Last-Modified or ETag validators

Update Aug 27, 2026 tracked by Updatify

astro@7.2.9

Patch Changes

Update Aug 25, 2026 tracked by Updatify

@astrojs/cloudflare@14.2.5

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 []:

    • @astrojs/underscore-redirects@1.0.4

Update Aug 25, 2026 tracked by Updatify

astro@7.2.7

Patch Changes

  • #17415 55d38c8 Thanks @iseraph-dev! - Deserializes each route once when loading the SSR manifest

  • #17772 023b48b Thanks @matthewp! - Fixes route selection for normalized request paths in adapter and development request handling

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

  • #17813 ae26d18 Thanks @matthewp! - Fixes rewrite() and next(payload) for GET and HEAD requests with host-provided bodies

Update Aug 24, 2026 tracked by Updatify

create-astro@5.2.4

Patch Changes

  • #17756 f88c875 Thanks @astro-factory! - Fixes npm install warnings on npm v11+ about esbuild’s install scripts not being covered by allowScripts. Adds ensureNpmScriptsAllowed() to pre-approve esbuild in package.json before running npm install, matching the existing pnpm v11 compatibility fix.

Update Aug 24, 2026 tracked by Updatify

astro@7.2.5

Patch Changes

Update Aug 19, 2026 tracked by Updatify

astro@7.2.4

Patch Changes

  • #17747 a90ff66 Thanks @Princesseuh! - Fixes builds hanging when an image file is malformed

  • #17701 05763a0 Thanks @matthewp! - Fixes base path stripping to respect path-segment boundaries. With a configured base such as /docs, a request like /docs-archive/page is no longer treated as being under the base, so routing and context.url.pathname now agree on the same pathname.

  • #17742 70b449d Thanks @Kjubikstronk! - Fixes astro build throwing TypeError: Missing parameter for dynamic routes when build.format: 'preserve' and trailingSlash: 'always' are used together. Stripping the framework-injected .html suffix dropped the trailing slash that the compiled route pattern requires, so the route no longer matched itself and its params resolved as empty.

Update Aug 19, 2026 tracked by Updatify

@astrojs/vercel@11.0.7

Patch Changes

  • #17687 0a22ff5 Thanks @asmyshlyaev177! - Fixes middlewareMode: 'edge' not running your middleware when isr is also enabled

    Previously, enabling both options deployed the edge middleware but never reached it: requests went straight to the ISR function, which skips rendering entirely on a cache hit. Middleware now runs at the edge for ISR-backed routes before the cached response is served, and query strings are preserved when it forwards the request.

  • Updated dependencies [05763a0]:

    • @astrojs/internal-helpers@0.10.4