github withastro/astro astro@5.3.0

4 hours ago

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

Don't miss a new astro release

NewReleases is sending notifications on new releases.