Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update astro monorepo (major) #649

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 3, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@astrojs/vercel (source) 7.8.2 -> 8.1.3 age adoption passing confidence
astro (source) ^4.0.0 -> ^5.0.0 age adoption passing confidence

Release Notes

withastro/astro (@​astrojs/vercel)

v8.1.3

Compare Source

Patch Changes

v8.1.2

Compare Source

Patch Changes

v8.1.1

Compare Source

Patch Changes

v8.1.0

Compare Source

Minor Changes
  • #​13211 7ea0aba Thanks @​slawekkolodziej! - Adds support for regular expressions in ISR exclude list

    Previously, excluding a page from ISR required explicitly listing it in isr.exclude. As websites grew larger, maintaining this list became increasingly difficult, especially for multiple API routes and pages that needed server-side rendering.

    To address this, ISR exclusions now support regular expressions, allowing for more flexible and scalable configurations.

    // astro.config.mjs
    import vercel from '@​astrojs/vercel/serverless';
    
    export default defineConfig({
      output: 'server',
      adapter: vercel({
        isr: {
          exclude: [
            '/preview', // Excludes a specific route (e.g., pages/preview.astro)
            '/auth/[page]', // Excludes a dynamic route (e.g., pages/auth/[page].astro)
            /^\/api\/.+/, // Excludes all routes starting with /api/
          ],
        },
      }),
    });
Patch Changes

v8.0.8

Compare Source

Patch Changes

v8.0.7

Patch Changes

v8.0.6

Patch Changes

v8.0.5

Patch Changes

v8.0.4

Patch Changes
  • #​516 3fe04eb Thanks @​ascorbic! - Fixes a bug that prevented integration-generated static assets from being deployed with non-static sites

v8.0.3

Patch Changes

v8.0.2

Patch Changes

v8.0.1

Patch Changes
  • #​472 d9eed7e Thanks @​bluwy! - Add back support for Node 22 on Vercel serverless that was fixed in v7 but lost in v8

v8.0.0

Major Changes
Minor Changes
  • #​424 3351348 Thanks @​ematipico! - Deprecates the entrypoints @astrojs/vercel/serverless and @astrojs/vercel/static. These will continue to work but are no longer documented and will be removed in a future version. We recommend updating to the @astrojs/vercel entrypoint as soon as you are able:

    -import vercel from "@​astrojs/vercel/static"
    +import vercel from "@​astrojs/vercel"
    -import vercel from "@​astrojs/vercel/serverless"
    +import vercel from "@​astrojs/vercel"
  • #​447 7d9835f Thanks @​laymonage! - Add support for Node 22 on Vercel serverless

  • #​385 bb725b7 Thanks @​florian-lefebvre! - Cleans up astro:env support

Patch Changes
  • #​437 b725b49 Thanks @​ematipico! - Fixes a regression where the @astrojs/vercel single entry point for the adapter was causing some regressions in users projects.
withastro/astro (astro)

v5.5.4

Compare Source

Patch Changes

v5.5.3

Compare Source

Patch Changes
  • #​13437 013fa87 Thanks @​Vardhaman619! - Handle server.allowedHosts when the value is true without attempting to push it into an array.

  • #​13324 ea74336 Thanks @​ematipico! - Upgrade to shiki v3

  • #​13372 7783dbf Thanks @​ascorbic! - Fixes a bug that caused some very large data stores to save incomplete data.

  • #​13358 8c21663 Thanks @​ematipico! - Adds a new function called insertPageRoute to the Astro Container API.

    The new function is useful when testing routes that, for some business logic, use Astro.rewrite.

    For example, if you have a route /blog/post and for some business decision there's a rewrite to /generic-error, the container API implementation will look like this:

    import Post from '../src/pages/Post.astro';
    import GenericError from '../src/pages/GenericError.astro';
    import { experimental_AstroContainer as AstroContainer } from 'astro/container';
    
    const container = await AstroContainer.create();
    container.insertPageRoute('/generic-error', GenericError);
    const result = await container.renderToString(Post);
    console.log(result); // this should print the response from GenericError.astro

    This new method only works for page routes, which means that endpoints aren't supported.

  • #​13426 565583b Thanks @​ascorbic! - Fixes a bug that caused the astro add command to ignore the --yes flag for third-party integrations

  • #​13428 9cac9f3 Thanks @​matthewp! - Prevent bad value in x-forwarded-host from crashing request

  • #​13432 defad33 Thanks @​P4tt4te! - Fix an issue in the Container API, where the renderToString function doesn't render adequately nested slots when they are components.

  • Updated dependencies [ea74336]:

v5.5.2

Compare Source

Patch Changes
  • #​13415 be866a1 Thanks @​ascorbic! - Reuses experimental session storage object between requests. This prevents memory leaks and improves performance for drivers that open persistent connections to a database.

  • #​13420 2f039b9 Thanks @​ematipico! - It fixes an issue that caused some regressions in how styles are bundled.

v5.5.1

Compare Source

Patch Changes

v5.5.0

Compare Source

Minor Changes
  • #​13402 3e7b498 Thanks @​ematipico! - Adds a new experimental flag called experimental.preserveScriptOrder that renders <script> and <style> tags in the same order as they are defined.

    When rendering multiple <style> and <script> tags on the same page, Astro currently reverses their order in your generated HTML output. This can give unexpected results, for example CSS styles being overridden by earlier defined style tags when your site is built.

    With the new preserveScriptOrder flag enabled, Astro will generate the styles in the order they are defined:

    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      experimental: {
        preserveScriptOrder: true,
      },
    });

    For example, the following component has two <style> tags, and both define the same style for the body tag:

    <p>I am a component</p>
    <style>
      body {
        background: red;
      }
    </style>
    <style>
      body {
        background: yellow;
      }
    </style>

    Once the project is compiled, Astro will create an inline style where yellow appears first, and then red. Ultimately, the red background is applied:

    body {
      background: #ff0;
    }
    body {
      background: red;
    }

    When experimental.preserveScriptOrder is set to true, the order of the two styles is kept as it is, and in the style generated red appears first, and then yellow:

    body {
      background: red;
    }
    body {
      background: #ff0;
    }

    This is a breaking change to how Astro renders project code that contains multiple <style> and <script> tags in the same component. If you were previously compensating for Astro's behavior by writing these out of order, you will need to update your code.

    This will eventually become the new default Astro behavior, so we encourage you to add this experimental style and script ordering as soon as you are able! This will help us test the new behavior and ensure your code is ready when this becomes the new normal.

    For more information as this feature develops, please see the experimental script order docs.

  • #​13352 cb886dc Thanks @​delucis! - Adds support for a new experimental.headingIdCompat flag

    By default, Astro removes a trailing - from the end of IDs it generates for headings ending with
    special characters. This differs from the behavior of common Markdown processors.

    You can now disable this behavior with a new configuration flag:

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

    This can be useful when heading IDs and anchor links need to behave consistently across your site
    and other platforms such as GitHub and npm.

    If you are using the rehypeHeadingIds plugin directly, you can also pass this new option:

    // astro.config.mjs
    import { defineConfig } from 'astro/config';
    import { rehypeHeadingIds } from '@&#8203;astrojs/markdown-remark';
    import { otherPluginThatReliesOnHeadingIDs } from 'some/plugin/source';
    
    export default defineConfig({
      markdown: {
        rehypePlugins: [
          [rehypeHeadingIds, { experimentalHeadingIdCompat: true }],
          otherPluginThatReliesOnHeadingIDs,
        ],
      },
    });
  • #​13311 a3327ff Thanks @​chrisirhc! - Adds a new configuration option for Markdown syntax highlighting excludeLangs

    This option provides better support for diagramming tools that rely on Markdown code blocks, such as Mermaid.js and D2 by allowing you to exclude specific languages from Astro's default syntax highlighting.

    This option allows you to avoid rendering conflicts with tools that depend on the code not being highlighted without forcing you to disable syntax highlighting for other code blocks.

    The following example configuration will exclude highlighting for mermaid and math code blocks:

    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      markdown: {
        syntaxHighlight: {
          type: 'shiki',
          excludeLangs: ['mermaid', 'math'],
        },
      },
    });

    Read more about this new option in the Markdown syntax highlighting configuration docs.

Patch Changes

v5.4.3

Compare Source

Patch Changes

v5.4.2

Compare Source

Patch Changes

v5.4.1

Compare Source

Patch Changes
  • #​13336 8f632ef Thanks @​ematipico! - Fixes a regression where some asset utilities were move across monorepo, and not re-exported anymore.

  • #​13320 b5dabe9 Thanks @​{! - Adds support for typing experimental session data

    You can add optional types to your session data by creating a src/env.d.ts file in your project that extends the global App.SessionData interface. For example:

    declare namespace App {
      interface SessionData {
    
          id: string;
          email: string;
        };
        lastLogin: Date;
      }
    }

    Any keys not defined in this interface will be treated as any.

    Then when you access Astro.session in your components, any defined keys will be typed correctly:

v5.4.0

Compare Source

Minor Changes
Config helpers

Two new helper functions exported from astro/config:

  • mergeConfig() allows users to merge partially defined Astro configurations on top of a base config while following the merge rules of updateConfig() available for integrations.
  • validateConfig() allows users to validate that a given value is a valid Astro configuration and fills in default values as necessary.

These helpers are particularly useful for integration authors and for developers writing scripts that need to manipulate Astro configurations programmatically.

Programmatic build

The build API now receives a second optional BuildOptions argument where users can specify:

  • devOutput (default false): output a development-based build similar to code transformed in astro dev.
  • teardownCompiler (default true): teardown the compiler WASM instance after build.

These options provide more control when running Astro builds programmatically, especially for testing scenarios or custom build pipelines.

  • #​13278 4a43c4b Thanks @​ematipico! - Adds a new configuration option server.allowedHosts and CLI option --allowed-hosts.

    Now you can specify the hostnames that the dev and preview servers are allowed to respond to. This is useful for allowing additional subdomains, or running the dev server in a web container.

    allowedHosts checks the Host header on HTTP requests from browsers and if it doesn't match, it will reject the request to prevent CSRF and XSS attacks.

    astro dev --allowed-hosts=foo.bar.example.com,bar.example.com
    astro preview --allowed-hosts=foo.bar.example.com,bar.example.com
    // astro.config.mjs
    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      server: {
        allowedHosts: ['foo.bar.example.com', 'bar.example.com'],
      },
    });

    This feature is the same as Vite's server.allowHosts configuration.

  • #​13254 1e11f5e Thanks @​p0lyw0lf! - Adds the ability to process and optimize remote images in Markdown files

    Previously, Astro only allowed local images to be optimized when included using ![]() syntax in plain Markdown files. Astro's image service could only display remote images without any processing.

    Now, Astro's image service can also optimize remote images written in standard Markdown syntax. This allows you to enjoy the benefits of Astro's image processing when your images are stored externally, for example in a CMS or digital asset manager.

    No additional configuration is required to use this feature! Any existing remote images written in Markdown will now automatically be optimized. To opt-out of this processing, write your images in Markdown using the HTML <img> tag instead. Note that images located in your public/ folder are still never processed.

Patch Changes
  • #​13256 509fa67 Thanks @​p0lyw0lf! - Adds experimental responsive image support in Markdown

    Previously, the experimental.responsiveImages feature could only provide responsive images when using the <Image /> and <Picture /> components.

    Now, images written with the ![]() Markdown syntax in Markdown and MDX files will generate responsive images by default when using this experimental feature.

    To try this experimental feature, set experimental.responsiveImages to true in your astro.config.mjs file:

    {
       experimental: {
          responsiveImages: true,
       },
    }

    Learn more about using this feature in the experimental responsive images feature reference.

    For a complete overview, and to give feedback on this experimental API, see the Responsive Images RFC.

  • #​13323 80926fa Thanks @​ematipico! - Updates esbuild and vite to the latest to avoid false positives audits warnings caused by esbuild.

  • #​13313 9e7c71d Thanks @​martrapp! - Fixes an issue where a form field named "attributes" shadows the form.attributes property.

  • #​12052 5be12b2 Thanks @​Fryuni! - Fixes incorrect config update when calling updateConfig from astro:build:setup hook.

    The function previously called a custom update config function made for merging an Astro config. Now it calls the appropriate mergeConfig() utility exported by Vite that updates functional options correctly.

  • #​13303 5f72a58 Thanks @​ematipico! - Fixes an issue where the dev server was applying second decoding of the URL of the incoming request, causing issues for certain URLs.

  • Updated dependencies [1e11f5e, 1e11f5e]:

v5.3.1

Compare Source

Patch Changes
  • #​13233 32fafeb Thanks @​joshmkennedy! - Ensures consistent behaviour of Astro.rewrite/ctx.rewrite when using base and trailingSlash options.

  • #​13003 ea79054 Thanks @​chaegumi! - Fixes a bug that caused the vite.base value to be ignored when running astro dev

  • #​13299 2e1321e Thanks @​bluwy! - Uses tinyglobby for globbing files

  • #​13233 32fafeb Thanks @​joshmkennedy! - Ensures that Astro.url/ctx.url is correctly updated with the base path after rewrites.

    This change fixes an issue where Astro.url/ctx.url did not include the configured base path after Astro.rewrite was called. Now, the base path is correctly reflected in Astro.url.

    Previously, any rewrites performed through Astro.rewrite/ctx.rewrite failed to append the base path to Astro.url/ctx.rewrite, which could lead to incorrect URL handling in downstream logic. By fixing this, we ensure that all routes remain consistent and predictable after a rewrite.

    If you were relying on the work around of including the base path in astro.rewrite you can now remove it from the path.

v5.3.0

Compare Source

Minor Changes
  • #​13210 344e9bc Thanks @​VitaliyR! - Handle HEAD requests to an endpoint when a handler is not defined.

    If an endpoint defines a handler for GET, but does not define a handler for HEAD, Astro will call the GET handler and return the headers and status but an empty body.

  • #​13195 3b66955 Thanks @​MatthewLymer! - Improves SSR performance for synchronous components by avoiding the use of Promises. With this change, SSR rendering of on-demand pages can be up to 4x faster.

  • #​13145 8d4e566 Thanks @​ascorbic! - Adds support for adapters auto-configuring experimental session storage drivers.

    Adapters can now configure a default session storage driver when the experimental.session flag is enabled. If a hosting platform has a storage primitive that can be used for session storage, the adapter can automatically configure the session storage using that driver. This allows Astro to provide a more seamless experience for users who want to use sessions without needing to manually configure the session storage.

Patch Changes
  • #​13145 8d4e566 Thanks @​ascorbic! - ⚠️ BREAKING CHANGE FOR EXPERIMENTAL SESSIONS ONLY ⚠️

    Changes the experimental.session option to a boolean flag and moves session config to a top-level value. This change is to allow the new automatic session driver support. You now need to separately enable the experimental.session flag, and then configure the session driver using the top-level session key if providing manual configuration.

    defineConfig({
      // ...
      experimental: {
    -    session: {
    -      driver: 'upstash',
    -    },
    +    session: true,
      },
    +  session: {
    +    driver: 'upstash',
    +  },
    });

    You no longer need to configure a session driver if you are using an adapter that supports automatic session driver configuration and wish to use its default settings.

    defineConfig({
      adapter: node({
        mode: "standalone",
      }),
      experimental: {
    -    session: {
    -      driver: 'fs',
    -      cookie: 'astro-cookie',
    -    },
    +    session: true,
      },
    +  session: {
    +    cookie: 'astro-cookie',
    +  },
    });

    However, you can still manually configure additional driver options or choose a non-default driver to use with your adapter with the new top-level session config option. For more information, see the experimental session docs.

  • #​13101 2ed67d5 Thanks @​corneliusroemer! - Fixes a bug where HEAD and OPTIONS requests for non-prerendered pages were incorrectly rejected with 403 FORBIDDEN

v5.2.6

Compare Source

Patch Changes

v5.2.5

Compare Source

Patch Changes
  • #​13133 e76aa83 Thanks @​ematipico! - Fixes a bug where Astro was failing to build an external redirect when the middleware was triggered

  • #​13119 ac43580 Thanks @​Hacksore! - Adds extra guidance in the terminal when using the astro add tailwind CLI command

    Now, users are given a friendly reminder to import the stylesheet containing their Tailwind classes into any pages where they want to use Tailwind. Commonly, this is a shared layout component so that Tailwind styling can be used on multiple pages.

v5.2.4

Compare Source

Patch Changes

v5.2.3

Compare Source

Patch Changes
  • #​13113 3a26e45 Thanks @​unprintable123! - Fixes the bug that rewrite will pass encoded url to the dynamic routing and cause params mismatch.

  • #​13111 23978dd Thanks @​ascorbic! - Fixes a bug that caused injected endpoint routes to return not found when trailingSlash was set to always

  • #​13112 0fa5c82 Thanks @​ematipico! - Fixes a bug where the i18n middleware was blocking a server island request when the prefixDefaultLocale option is set to true

v5.2.2

Compare Source

Patch Changes

v5.2.1

Compare Source

Patch Changes
  • #​13095 740eb60 Thanks @​ascorbic! - Fixes a bug that caused some dev server asset requests to return 404 when trailingSlash was set to "always"

v5.2.0

Compare Source

Minor Changes
  • #​12994 5361755 Thanks @​ascorbic! - Redirects trailing slashes for on-demand pages

    When the trailingSlash option is set to always or never, on-demand rendered pages will now redirect to the correct URL when the trailing slash doesn't match the configuration option. This was previously the case for static pages, but now works for on-demand pages as well.

    Now, it doesn't matter whether your visitor navigates to /about/, /about, or even /about///. In production, they'll always end up on the correct page. For GET requests, the redirect will be a 301 (permanent) redirect, and for all other request methods, it will be a 308 (permanent, and preserve the request method) redirect.

    In development, you'll see a helpful 404 page to alert you of a trailing slash mismatch so you can troubleshoot routes.

  • #​12979 e621712 Thanks @​ematipico! - Adds support for redirecting to external sites with the redirects configuration option.

    Now, you can redirect routes either internally to another path or externally by providing a URL beginning with http or https:

    // astro.config.mjs
    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      redirects: {
        '/blog': 'https://example.com/blog',
        '/news': {
          status: 302,
          destination: 'https://example.com/news',
        },
      },
    });
  • #​13084 0f3be31 Thanks @​ematipico! - Adds a new experimental virtual module astro:config that exposes a type-safe subset of your astro.config.mjs configuration

    The virtual module exposes two sub-paths for controlled access to your configuration:

    • astro:config/client: exposes config information that is safe to expose to the client.
    • astro:config/server: exposes additional information that is safe to expose to the server, such as file/dir paths.

    To enable this new virtual module, add the experimental.serializeManifest feature flag to your Astro config:

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

    Then, you can access the module in any file inside your project to import and use values from your Astro config:

    // src/utils.js
    import { trailingSlash } from 'astro:config/client';
    
    function addForwardSlash(path) {
      if (trailingSlash === 'always') {
        return path.endsWith('/') ? path : path + '/';
      } else {
        return path;
      }
    }

    For a complete overview, and to give feedback on this experimental API, see the Serialized Manifest RFC.

Patch Changes

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

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.

Copy link

vercel bot commented Dec 3, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
send-transactions ✅ Ready (Inspect) Visit Preview 💬 Add feedback Mar 27, 2025 9:38am

@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 2ab9db7 to 47b295d Compare December 3, 2024 18:50
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 47b295d to ca67e2f Compare December 3, 2024 23:15
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from ca67e2f to 6092a53 Compare December 4, 2024 13:17
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 6092a53 to fdc9f9f Compare December 5, 2024 03:50
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from fdc9f9f to e44d74c Compare December 5, 2024 19:45
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from e44d74c to 015e51f Compare December 9, 2024 22:31
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 015e51f to 36122fc Compare December 10, 2024 00:23
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 36122fc to 4caf6e1 Compare December 11, 2024 14:47
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 4caf6e1 to 248350d Compare December 12, 2024 21:34
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 248350d to aea4b6c Compare December 13, 2024 04:07
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from aea4b6c to e91be74 Compare December 13, 2024 04:16
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from e91be74 to 8cbedc4 Compare December 13, 2024 05:36
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 8cbedc4 to f722500 Compare December 13, 2024 05:45
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from f722500 to a0b2f6c Compare December 16, 2024 21:52
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 450b46c to c4ac431 Compare March 10, 2025 21:03
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from c4ac431 to a081f8c Compare March 11, 2025 09:49
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from a081f8c to 29ce865 Compare March 12, 2025 00:49
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 29ce865 to 1cd558e Compare March 14, 2025 01:00
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 1cd558e to e3d2f7c Compare March 14, 2025 02:58
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from e3d2f7c to 7560930 Compare March 14, 2025 04:22
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 7560930 to aeab69a Compare March 17, 2025 19:07
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from aeab69a to 6b7e04d Compare March 20, 2025 05:08
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 6b7e04d to 70d0871 Compare March 21, 2025 17:56
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 70d0871 to ce39a37 Compare March 22, 2025 04:38
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from ce39a37 to 3cc8881 Compare March 24, 2025 18:25
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 3cc8881 to 0c2db25 Compare March 24, 2025 20:50
@renovate renovate bot force-pushed the renovate/major-astro-monorepo branch from 0c2db25 to 6308e01 Compare March 25, 2025 01:13
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