Skip to content

chore(deps): update astro monorepo (major)#112

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

chore(deps): update astro monorepo (major)#112
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-astro-monorepo

Conversation

@renovate

@renovate renovate Bot commented Mar 10, 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/netlify (source) ^6.4.0^8.1.2 age confidence
astro (source) ^4.14.0 || ^5.0.0^4.14.0 || ^5.0.0 || ^7.0.0 age confidence
astro (source) ^5.10.1^7.1.3 age confidence

Release Notes

withastro/astro (@​astrojs/netlify)

v8.1.2

Compare Source

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

v8.1.1

Compare Source

Patch Changes

v8.1.0

Compare Source

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

Patch Changes

v8.0.0

Compare Source

Major Changes
Minor Changes
Setup

Import cacheNetlify() from @astrojs/netlify/cache and set it as your cache provider:

import { defineConfig } from 'astro/config';
import netlify from '@​astrojs/netlify';
import { cacheNetlify } from '@​astrojs/netlify/cache';

export default defineConfig({
  adapter: netlify(),
  cache: {
    provider: cacheNetlify(),
  },
});
Caching responses

Use Astro.cache.set() in your pages and API routes to cache responses on Netlify's edge network. The provider uses Netlify's durable cache so cached responses are shared across all edge nodes, reducing function invocations.

---
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: cacheNetlify() },
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
await cache.invalidate({ path: '/products/123' });

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

Patch Changes

v7.0.13

Compare Source

Patch Changes

v7.0.12

Compare Source

Patch Changes

v7.0.11

Compare Source

Patch Changes

v7.0.10

Compare Source

Patch Changes

v7.0.9

Compare Source

Patch Changes

v7.0.8

Compare Source

Patch Changes

v7.0.7

Compare Source

Patch Changes

v7.0.6

Compare Source

Patch Changes

v7.0.5

Compare Source

Patch Changes

v7.0.4

Compare Source

Patch Changes

v7.0.3

Compare Source

Patch Changes

v7.0.2

Patch Changes

v7.0.1

Patch Changes

v7.0.0

Compare Source

Major Changes
Minor Changes
  • #​15258 d339a18 Thanks @​ematipico! - Stabilizes the adapter feature experimentalStatiHeaders. If you were using this feature in any of the supported adapters, you'll need to change the name of the flag:

    export default defineConfig({
      adapter: netlify({
    -    experimentalStaticHeaders: true
    +    staticHeaders: true
      })
    })
  • #​15809 94b4a46 Thanks @​Princesseuh! - Adds support for the fit option to the image service

  • #​15495 5b99e90 Thanks @​leekeh! - Adds new middlewareMode adapter feature and deprecates edgeMiddleware option

    The edgeMiddleware option is now deprecated and will be removed in a future major release, so users should transition to using the new middlewareMode feature as soon as possible.

    export default defineConfig({
      adapter: netlify({
    -    edgeMiddleware: true
    +    middlewareMode: 'edge'
      })
    })
  • #​15006 f361730 Thanks @​florian-lefebvre! - Adds new session driver object shape

    For greater flexibility and improved consistency with other Astro code, session drivers are now specified as an object:

    -import { defineConfig } from 'astro/config'
    +import { defineConfig, sessionDrivers } from 'astro/config'
    
    export default defineConfig({
      session: {
    -    driver: 'redis',
    -    options: {
    -      url: process.env.REDIS_URL
    -    },
    +    driver: sessionDrivers.redis({
    +      url: process.env.REDIS_URL
    +    }),
      }
    })

    Specifying the session driver as a string has been deprecated, but will continue to work until this feature is removed completely in a future major version. The object shape is the current recommended and documented way to configure a session driver.

  • #​15413 736216b Thanks @​florian-lefebvre! - Updates the implementation to use the new Adapter API

  • #​14946 95c40f7 Thanks @​ematipico! - Removes the experimental.csp flag and replaces it with a new configuration option security.csp - (v6 upgrade guidance)

Patch Changes
  • #​15187 bbb5811 Thanks @​matthewp! - Update to Astro 6 beta

  • #​15781 2de969d Thanks @​ematipico! - Adds a new clientAddress option to the createContext() function

    Providing this value gives adapter and middleware authors explicit control over the client IP address. When not provided, accessing clientAddress throws an error consistent with other contexts where it is not set by the adapter.

    Additionally, both of the official Netlify and Vercel adapters have been updated to provide this information in their edge middleware.

    import { createContext } from 'astro/middleware';
    
    createContext({
      clientAddress: context.headers.get('x-real-ip'),
    });
  • #​15665 52a7efd Thanks @​matthewp! - Fixes builds that were failing with "Entry module cannot be external" error when using the Netlify adapter

    This error was preventing sites from building after recent internal changes. Your builds should now work as expected without any changes to your code.

  • #​15679 19ba822 Thanks @​matthewp! - Fixes server-rendered routes returning 404 errors

    A configuration error in the build output prevented Netlify from correctly routing requests to server-rendered pages, causing them to return 404 errors. This fix ensures that all server routes are properly handled by the Netlify SSR function.

  • #​15809 94b4a46 Thanks @​Princesseuh! - Fixes the image CDN being used in development despite being disabled in certain cases

  • #​15460 ee7e53f Thanks @​florian-lefebvre! - Updates to use the new Adapter API

  • #​15450 50c9129 Thanks @​florian-lefebvre! - Fixes a case where build.serverEntry would not be respected when using the new Adapter API

  • #​15461 9f21b24 Thanks @​florian-lefebvre! - Updates to new Adapter API introduced in v6

  • Updated dependencies [4ebc1e3, 4e7f3e8, a164c77, cf6ea6b, a18d727, 240c317, 745e632]:

v6.6.5

Compare Source

Patch Changes

v6.6.4

Compare Source

Patch Changes

v6.6.3

Compare Source

Patch Changes

v6.6.2

Compare Source

Patch Changes

v6.6.1

Compare Source

Patch Changes

v6.6.0

Compare Source

Minor Changes
  • #​14543 9b3241d Thanks @​matthewp! - Enables Netlify's skew protection feature for Astro sites deployed on Netlify. Skew protection ensures that your site's client and server versions stay synchronized during deployments, preventing issues where users might load assets from a newer deployment while the server is still running the older version.

    When you deploy to Netlify, the deployment ID is now automatically included in both asset requests and API calls, allowing Netlify to serve the correct version to every user. These are set for built-in features (Actions, View Transitions, Server Islands, Prefetch). If you are making your own fetch requests to your site, you can include the header manually using the DEPLOY_ID environment variable:

    const response = await fetch('/api/endpoint', {
      headers: {
        'X-Netlify-Deploy-ID': import.meta.env.DEPLOY_ID,
      },
    });
Patch Changes

v6.5.13

Compare Source

Patch Changes

v6.5.12

Compare Source

Patch Changes

v6.5.11

Compare Source

Patch Changes

v6.5.10

Compare Source

Patch Changes

v6.5.9

Compare Source

Patch Changes

v6.5.8

Compare Source

Patch Changes

v6.5.7

Compare Source

Patch Changes

v6.5.6

Compare Source

Patch Changes
  • #​14175 1e1cef0 Thanks @​ematipico! - Fixes a bug where the adapter would cause a runtime error when calling astro build in CI environments.

v6.5.5

Compare Source

Patch Changes

v6.5.4

Compare Source

Patch Changes

v6.5.3

Compare Source

Patch Changes

v6.5.2

Compare Source

Patch Changes

v6.5.1

Compare Source

Patch Changes

v6.5.0

Compare Source

Minor Changes

This is an implementation update that does not require any change to your project code, but means that astro dev will run with an environment closer to a production deploy on Netlify. This brings several benefits you'll now notice working in dev mode!

For example, your project running in development mode will now use local versions of the Netlify Image CDN for images, and a local Blobs server for sessions. It will also populate your environment with the variables from your linked Netlify site.

While not required for fully static, prerendered web sites, you may still wish to add this for the additional benefits of now working in a dev environment closer to your Netlify production deploy, as well as to take advantage of Netlify-exclusive features such as the Netlify Image CDN.

Patch Changes

v6.4.1

Compare Source

Patch Changes
withastro/astro (astro)

v7.1.3

Compare Source

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

v7.1.2

Compare Source

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

v7.1.1

Compare Source

Patch Changes

v7.1.0

Compare Source

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

  • #​17296 30698a2 Thanks @​ematipico! - Adds a new experimental collectionStorage option for controlling how the content layer persists its data store

    By default, Astro serializes the entire content layer data store to a single file (.astro/data-store.json). For very large content collections, this file can grow large enough to hit platform file-size limits.

    Set experimental.collectionStorage: 'chunked' to instead split the data store across many smaller, content-addressed files inside a .astro/data-store/ directory, described by a manifest:

    // astro.config.mjs
    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      experimental: {
        collectionStorage: 'chunked',
      },
    });

    Because each part file is named by a hash of its contents, unchanged parts keep the same name across builds and are not rewritten, and identical parts are deduplicated. The default value is 'single-file', which preserves the current behavior.

  • #​17214 44c4989 Thanks @​ematipico! - Adds support for the more specific CSP directives script-src-elem, script-src-attr, style-src-elem, and style-src-attr through a new kind option.

    Previously, CSP was only scoped to generic script-src/style-src directives. Now each source or hash can be scoped to a narrower directive — for example, to allow inline style attributes (such as those from define:vars or Shiki) without loosening the policy for your <style> and <link> elements.

Scoping sources and hashes in your config

Each entry in resources and hashes can be an object with a kind property. Depending on whether you use scriptDirective or styleDirective, "element" targets script-src-elem or style-src-elem, "attribute" targets script-src-attr or style-src-attr, and "default" (the same as a bare string or hash) targets script-src or style-src.

// astro.config.mjs
import { defineConfig } from 'astro/config';

export default defineConfig({
  security: {
    csp: {
      scriptDirective: {
        resources: [{ resource: 'https://cdn.example.com', kind: 'element' }],
      },
      styleDirective: {
        resources: [{ resource: "'unsafe-inline'", kind: 'attribute' }],
      },
    },
  },
});
Scoping at runtime

The same kind option is available on the runtime CSP API, where the existing methods now also accept an object:

ctx.csp.insertScriptResource({ resource: 'https://cdn.example.com', kind: 'element' });
ctx.csp.insertStyleResource({ resource: "'unsafe-inline'", kind: 'attribute' });
  • #​17258 84814d4 Thanks @​astrobot-houston! - Adds a new format() option to the paginate utility. The format() option is a function that accepts the current URL of the page, and returns a new URL.

    For example, when your host only supports URLs using the .html extension, you can use format() to add it to the generated URLs:

    ---
    export async function getStaticPaths({ paginate }) {
      // Load your data with fetch(), getCollection(), etc.
      const response = await fetch(`https://pokeapi.co/api/v2/pokemon?limit=150`);
      const result = await response.json();
      const allPokemon = result.results;
    
      // Return a paginated collection of paths for all items
      return paginate(allPokemon, {
        pageSize: 10,
        format: (url) => `${url}.html`,
      });
    }
    
    const { page } = Astro.props;
    ---
  • #​17331 7db6420 Thanks @​matthewp! - Adds a --ignore-lock flag to astro dev for starting a dev server without checking or writing the lock file, so it can run alongside an already-running dev server for the same project.

    The new instance is not tracked by astro dev stop, astro dev status, or astro dev logs. --ignore-lock cannot be combined with --background (or an auto-detected AI agent environment, which runs dev servers in the background automatically) or --force, since those rely on the lock file.

    astro dev --ignore-lock
  • #​17389 16de021 Thanks @​florian-lefebvre! - Allows passing URL entrypoints when configuring the logger

    Matching other APIs like session drivers or font providers, the logger entrypoint can now be a URL:

    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      logger: {
        entrypoint: new URL('./logger.js', import.meta.url),
      },
    });
Patch Changes
  • #​17332 4407483 Thanks @​astrobot-houston! - Fixes the JSON logger crashing with process is not defined in non-Node runtimes like Cloudflare's workerd. The JSON logger now uses console.log/console.error instead of process.stdout/process.stderr, matching the pattern already used by the console logger.

  • #​17391 186a1e7 Thanks @​florian-lefebvre! - Fixes a case where an integration could not update the logger with updateConfig()

  • #​17394 d9f99e1 Thanks @​matthewp! - Fixes element-specific CSP directives to preserve the existing behavior of configured script and style resources

  • #​17374 b2d1b3e Thanks @​astrobot-houston! - Fixes dev server returning 404 for ?url imported assets when accessed via browser navigation

  • #​17390 ed71eaf Thanks @​florian-lefebvre! - Removes an unused and undocumented generic from the AstroLoggerDestination type

  • #​17393 092da56 Thanks @​matthewp! - Hardens generated transition styles, development metadata, and server island URLs when embedding dynamic values

v7.0.9

Compare Source

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

v7.0.8

Compare Source

Patch Changes

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@netlify

netlify Bot commented Mar 10, 2026

Copy link
Copy Markdown

Deploy Preview for astro-loaders failed. Why did it fail? →

Name Link
🔨 Latest commit ee0ad9a
🔍 Latest deploy log https://app.netlify.com/projects/astro-loaders/deploys/6a63a75dfeb9b40008fdd93d

@changeset-bot

changeset-bot Bot commented Mar 10, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: ee0ad9a

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 2 times, most recently from 95b40bf to 214f844 Compare March 10, 2026 17:17
@renovate renovate Bot changed the title chore(deps): update astro monorepo (major) chore(deps): update peerdependency astro to v6 Mar 10, 2026
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch from 214f844 to 61e28bf Compare March 10, 2026 20:51
@renovate renovate Bot changed the title chore(deps): update peerdependency astro to v6 chore(deps): update astro monorepo (major) Mar 10, 2026
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch from 61e28bf to bf86ece Compare March 14, 2026 12:59
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 4 times, most recently from f85a829 to e875998 Compare March 20, 2026 18:36
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 5 times, most recently from 7f02bfb to 9196ead Compare April 1, 2026 23:35
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 2 times, most recently from e1c5452 to e0bcf42 Compare April 8, 2026 20:31
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 3 times, most recently from 0c6d800 to 8adc768 Compare April 18, 2026 13:16
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 3 times, most recently from 7be7d67 to f6c297d Compare April 29, 2026 13:40
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 4 times, most recently from 239de2b to cd04050 Compare May 7, 2026 06:09
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 6 times, most recently from 6e1c986 to 5241934 Compare June 1, 2026 16:54
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 5 times, most recently from 9b0c810 to 8d9ffb7 Compare June 12, 2026 16:34
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 3 times, most recently from 59ef2eb to 9fd79da Compare June 20, 2026 16:39
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 3 times, most recently from 6472b65 to e42eb64 Compare June 28, 2026 17:39
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 3 times, most recently from e9dd208 to 33e567e Compare July 5, 2026 21:42
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 4 times, most recently from 1946e1f to 0c755eb Compare July 17, 2026 00:20
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch 4 times, most recently from 9f01ce8 to 9ea6b3e Compare July 23, 2026 22:12
@renovate
renovate Bot force-pushed the renovate/major-astro-monorepo branch from 9ea6b3e to ee0ad9a Compare July 24, 2026 17:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants