github withastro/astro @astrojs/vercel@4.0.0

latest releases: astro@4.16.11, astro@5.0.0-beta.7, @astrojs/svelte@6.0.0-beta.2...
14 months ago

Major Changes

  • #8188 d0679a666 Thanks @ematipico! - Remove support for Node 16. The lowest supported version by Astro and all integrations is now v18.14.1. As a reminder, Node 16 will be deprecated on the 11th September 2023.

  • #8179 6011d52d3 Thanks @matthewp! - Astro 3.0 Release Candidate

  • #8188 7511a4980 Thanks @ematipico! - When using an adapter that supports neither Squoosh or Sharp, Astro will now automatically use an image service that does not support processing, but still provides the other benefits of astro:assets such as enforcing alt, no CLS etc to users

  • #8015 9cc4e48e6 Thanks @matthewp! - Remove the Vercel Edge adapter

    @astrojs/vercel/serverless now supports Edge middleware, so a separate adapter for Edge itself (deploying your entire app to the edge) is no longer necessary. Please update your Astro config to reflect this change:

    // astro.config.mjs
    import { defineConfig } from 'astro/config';
    - import vercel from '@astrojs/vercel/edge';
    + import vercel from '@astrojs/vercel/serverless';
    
    export default defineConfig({
     output: 'server',
     adapter: vercel({
    +    edgeMiddleware: true
     }),
    });

    This adapter had several known limitations and compatibility issues that prevented many people from using it in production. To reduce maintenance costs and because we have a better story with Serveless + Edge Middleware, we are removing the Edge adapter.

  • #8239 52f0837bd Thanks @matthewp! - Vercel adapter now defaults to functionPerRoute.

    With this change, @astrojs/vercel/serverless now splits each route into its own function. By doing this, the size of each function is reduced and startup time is faster.

    You can disable this option, which will cause the code to be bundled into a single function, by setting functionPerRoute to false.

  • #8188 148e61d24 Thanks @ematipico! - Reduced the amount of polyfills provided by Astro. Astro will no longer provide (no-op) polyfills for several web apis such as HTMLElement, Image or Document. If you need access to those APIs on the server, we recommend using more proper polyfills available on npm.

Minor Changes

  • #8188 cd2d7e769 Thanks @ematipico! - Introduced the concept of feature map. A feature map is a list of features that are built-in in Astro, and an Adapter
    can tell Astro if it can support it.

    import { AstroIntegration } from './astro';
    
    function myIntegration(): AstroIntegration {
      return {
        name: 'astro-awesome-list',
        // new feature map
        supportedAstroFeatures: {
          hybridOutput: 'experimental',
          staticOutput: 'stable',
          serverOutput: 'stable',
          assets: {
            supportKind: 'stable',
            isSharpCompatible: false,
            isSquooshCompatible: false,
          },
        },
      };
    }
  • #8188 80f1494cd Thanks @ematipico! - The build.split and build.excludeMiddleware configuration options are deprecated and have been replaced by options in the adapter config.

    If your config includes the build.excludeMiddleware option, replace it with edgeMiddleware in your adapter options:

    import { defineConfig } from "astro/config";
    import vercel from "@astrojs/vercel/serverless";
    
    export default defineConfig({
         build: {
    -        excludeMiddleware: true
         },
         adapter: vercel({
    +        edgeMiddleware: true
         }),
    });

    If your config includes the build.split option, replace it with functionPerRoute in your adapter options:

    import { defineConfig } from "astro/config";
    import vercel from "@astrojs/vercel/serverless";
    
    export default defineConfig({
         build: {
    -        split: true
         },
         adapter: vercel({
    +        functionPerRoute: true
         }),
    });

Patch Changes

Don't miss a new astro release

NewReleases is sending notifications on new releases.