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

Update dependency astro to v5.6.1 - autoclosed #959

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 3, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
astro (source) 5.5.2 -> 5.6.1 age adoption passing confidence

Release Notes

withastro/astro (astro)

v5.6.1

Compare Source

Patch Changes

v5.6.0

Compare Source

Minor Changes
  • #​13403 dcb9526 Thanks @​yurynix! - Adds a new optional prerenderedErrorPageFetch option in the Adapter API to allow adapters to provide custom implementations for fetching prerendered error pages.

    Now, adapters can override the default fetch() behavior, for example when fetch() is unavailable or when you cannot call the server from itself.

    The following example provides a custom fetch for 500.html and 404.html, reading them from disk instead of performing an HTTP call:

    return app.render(request, {
      prerenderedErrorPageFetch: async (url: string): Promise<Response> => {
        if (url.includes("/500")) {
            const content = await fs.promises.readFile("500.html", "utf-8");
            return new Response(content, {
              status: 500,
              headers: { "Content-Type": "text/html" },
            });
        }
        const content = await fs.promises.readFile("404.html", "utf-8");
          return new Response(content, {
            status: 404,
            headers: { "Content-Type": "text/html" },
          });
    });

    If no value is provided, Astro will fallback to its default behavior for fetching error pages.

    Read more about this feature in the Adapter API reference.

  • #​13482 ff257df Thanks @​florian-lefebvre! - Updates Astro config validation to also run for the Integration API. An error log will specify which integration is failing the validation.

    Now, Astro will first validate the user configuration, then validate the updated configuration after each integration astro:config:setup hook has run. This means updateConfig() calls will no longer accept invalid configuration.

    This fixes a situation where integrations could potentially update a project with a malformed configuration. These issues should now be caught and logged so that you can update your integration to only set valid configurations.

  • #​13405 21e7e80 Thanks @​Marocco2! - Adds a new eagerness option for prefetch() when using experimental.clientPrerender

    With the experimental clientPrerender flag enabled, you can use the eagerness option on prefetch() to suggest to the browser how eagerly it should prefetch/prerender link targets.

    This follows the same API described in the Speculation Rules API and allows you to balance the benefit of reduced wait times against bandwidth, memory, and CPU costs for your site visitors.

    For example, you can now use prefetch() programmatically with large sets of links and avoid browser limits in place to guard against over-speculating (prerendering/prefetching too many links). Set eagerness: 'moderate' to take advantage of First In, First Out (FIFO) strategies and browser heuristics to let the browser decide when to prerender/prefetch them and in what order:

    <a class="link-moderate" href="/nice-link-1">A Nice Link 1</a>
    <a class="link-moderate" href="/nice-link-2">A Nice Link 2</a>
    <a class="link-moderate" href="/nice-link-3">A Nice Link 3</a>
    <a class="link-moderate" href="/nice-link-4">A Nice Link 4</a>
    ...
    <a class="link-moderate" href="/nice-link-20">A Nice Link 20</a>
    <script>
      import { prefetch } from 'astro:prefetch';
      const linkModerate = document.getElementsByClassName('link-moderate');
      linkModerate.forEach((link) => prefetch(link.getAttribute('href'), { eagerness: 'moderate' }));
    </script>
  • #​13482 ff257df Thanks @​florian-lefebvre! - Improves integrations error handling

    If an error is thrown from an integration hook, an error log will now provide information about the concerned integration and hook

Patch Changes
  • #​13539 c43bf8c Thanks @​ascorbic! - Adds a new session.load() method to the experimental session API that allows you to load a session by ID.

    When using the experimental sessions API, you don't normally need to worry about managing the session ID and cookies: Astro automatically reads the user's cookies and loads the correct session when needed. However, sometimes you need more control over which session to load.

    The new load() method allows you to manually load a session by ID. This is useful if you are handling the session ID yourself, or if you want to keep track of a session without using cookies. For example, you might want to restore a session from a logged-in user on another device, or work with an API endpoint that doesn't use cookies.

    // src/pages/api/cart.ts
    import type { APIRoute } from 'astro';
    
    export const GET: APIRoute = async ({ session, request }) => {
      // Load the session from a header instead of cookies
      const sessionId = request.headers.get('x-session-id');
      await session.load(sessionId);
      const cart = await session.get('cart');
      return Response.json({ cart });
    };

    If a session with that ID doesn't exist, a new one will be created. This allows you to generate a session ID in the client if needed.

    For more information, see the experimental sessions docs.

  • #​13488 d777420 Thanks @​stramel! - BREAKING CHANGE to the experimental SVG Component API only

    Removes some previously available prop, attribute, and configuration options from the experimental SVG API. These items are no longer available and must be removed from your code:

    • The title prop has been removed until we can settle on the correct balance between developer experience and accessibility. Please replace any title props on your components with aria-label:

      - <Logo title="My Company Logo" />
      + <Logo aria-label="My Company Logo" />
    • Sprite mode has been temporarily removed while we consider a new implementation that addresses how this feature was being used in practice. This means that there are no longer multiple mode options, and all SVGs will be inline. All instances of mode must be removed from your project as you can no longer control a mode:

      - <Logo mode="inline" />
      + <Logo />
      import { defineConfig } from 'astro'
      
      export default defineConfig({
        experimental: {
      -    svg: {
      -      mode: 'sprite'
      -    },
      +   svg: true
        }
      });
    • The default role is no longer applied due to developer feedback. Please add the appropriate role on each component individually as needed:

      - <Logo />
      + <Logo role="img" /> // To keep the role that was previously applied by default
    • The size prop has been removed to better work in combination with viewBox and additional styles/attributes. Please replace size with explicit width and height attributes:

      - <Logo size={64} />
      + <Logo width={64} height={64} />

v5.5.6

Compare Source

Patch Changes
  • #​13429 06de673 Thanks @​ematipico! - The ActionAPIContext.rewrite method is deprecated and will be removed in a future major version of Astro

  • #​13524 82cd583 Thanks @​ematipico! - Fixes a bug where the functions Astro.preferredLocale and Astro.preferredLocaleList would return the incorrect locales
    when the Astro configuration specifies a list of codes. Before, the functions would return the path, instead now the functions
    return a list built from codes.

  • #​13526 ff9d69e Thanks @​jsparkdev! - update vite to the latest version

v5.5.5

Compare Source

Patch Changes

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


Configuration

📅 Schedule: Branch creation - "after 10pm,before 6:00am" in timezone Europe/Paris, Automerge - At any time (no schedule defined).

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

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


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

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

@renovate renovate bot added the dependencies label Apr 3, 2025
@renovate renovate bot force-pushed the renovate/astro-monorepo branch from f278742 to 973d729 Compare April 4, 2025 11:31
@renovate renovate bot changed the title Update dependency astro to v5.6.0 Update dependency astro to v5.6.1 Apr 4, 2025
@renovate renovate bot force-pushed the renovate/astro-monorepo branch from 973d729 to 9bfb76c Compare April 11, 2025 17:30
@renovate renovate bot changed the title Update dependency astro to v5.6.1 Update dependency astro to v5.6.1 - autoclosed Apr 11, 2025
@renovate renovate bot closed this Apr 11, 2025
@renovate renovate bot deleted the renovate/astro-monorepo branch April 11, 2025 17:51
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