Files
astro/packages/integrations/vue/CHANGELOG.md
Houston (Bot) 7a5f28006e [ci] release (#14702)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-06 11:49:39 -05:00

60 KiB

@astrojs/vue

5.1.3

Patch Changes

  • #14715 3d55c5d Thanks @ascorbic! - Adds support for client hydration in getContainerRenderer()

    The getContainerRenderer() function is exported by Astro framework integrations to simplify the process of rendering framework components when using the experimental Container API inside a Vite or Vitest environment. This update adds the client hydration entrypoint to the returned object, enabling client-side interactivity for components rendered using this function. Previously this required users to manually call container.addClientRenderer() with the appropriate client renderer entrypoint.

    See the container-with-vitest demo for a usage example, and the Container API documentation for more information on using framework components with the experimental Container API.

5.1.2

Patch Changes

5.1.1

Patch Changes

5.1.0

Minor Changes

  • #13809 3c3b492 Thanks @ascorbic! - Increases minimum Node.js version to 18.20.8

    Node.js 18 has now reached end-of-life and should not be used. For now, Astro will continue to support Node.js 18.20.8, which is the final LTS release of Node.js 18, as well as Node.js 20 and Node.js 22 or later. We will drop support for Node.js 18 in a future release, so we recommend upgrading to Node.js 22 as soon as possible. See Astro's Node.js support policy for more details.

    ⚠️ Important note for users of Cloudflare Pages: The current build image for Cloudflare Pages uses Node.js 18.17.1 by default, which is no longer supported by Astro. If you are using Cloudflare Pages you should override the default Node.js version to Node.js 22. This does not affect users of Cloudflare Workers, which uses Node.js 22 by default.

5.0.13

Patch Changes

5.0.12

Patch Changes

5.0.11

Patch Changes

5.0.10

Patch Changes

5.0.9

Patch Changes

5.0.8

Patch Changes

5.0.7

Patch Changes

5.0.6

Patch Changes

5.0.5

Patch Changes

  • #12887 ea603ae Thanks @louisescher! - Adds a warning message when multiple JSX-based UI frameworks are being used without either the include or exclude property being set on the integration.

5.0.4

Patch Changes

  • #12776 8809b85 Thanks @aminevg! - Fixes an issue where TypeScript couldn't infer the correct types of the server.mjs file

5.0.3

Patch Changes

5.0.2

Patch Changes

5.0.1

Patch Changes

5.0.0

Major Changes

Minor Changes

Patch Changes

5.0.0-beta.3

Major Changes

Minor Changes

5.0.0-beta.1

Patch Changes

  • 81b0bf5 Thanks @bluwy! - New release to include changes from 4.5.2

5.0.0-beta.0

Major Changes

5.0.0-alpha.0

Patch Changes

4.5.3

Patch Changes

  • #12481 8a46e80 Thanks @marbrex! - Resolve vite peer dependency problem for strict package managers like Yarn in PnP mode.

4.5.2

Patch Changes

4.5.1

Patch Changes

4.5.0

Minor Changes

  • #11234 4385bf7 Thanks @ematipico! - Adds a new function called addServerRenderer to the Container API. Use this function to manually store renderers inside the instance of your container.

    This new function should be preferred when using the Container API in environments like on-demand pages:

    import type { APIRoute } from 'astro';
    import { experimental_AstroContainer } from 'astro/container';
    import reactRenderer from '@astrojs/react/server.js';
    import vueRenderer from '@astrojs/vue/server.js';
    import ReactComponent from '../components/button.jsx';
    import VueComponent from '../components/button.vue';
    
    // MDX runtime is contained inside the Astro core
    import mdxRenderer from 'astro/jsx/server.js';
    
    // In case you need to import a custom renderer
    import customRenderer from '../renderers/customRenderer.js';
    
    export const GET: APIRoute = async (ctx) => {
      const container = await experimental_AstroContainer.create();
      container.addServerRenderer({ renderer: reactRenderer });
      container.addServerRenderer({ renderer: vueRenderer });
      container.addServerRenderer({ renderer: customRenderer });
      // You can pass a custom name too
      container.addServerRenderer({
        name: 'customRenderer',
        renderer: customRenderer,
      });
      const vueComponent = await container.renderToString(VueComponent);
      return await container.renderToResponse(Component);
    };
    

4.4.0

Minor Changes

  • #11144 803dd80 Thanks @ematipico! - The integration now exposes a function called getContainerRenderer, that can be used inside the Container APIs to load the relative renderer.

    import { experimental_AstroContainer as AstroContainer } from 'astro/container';
    import ReactWrapper from '../src/components/ReactWrapper.astro';
    import { loadRenderers } from 'astro:container';
    import { getContainerRenderer } from '@astrojs/react';
    
    test('ReactWrapper with react renderer', async () => {
      const renderers = await loadRenderers([getContainerRenderer()]);
      const container = await AstroContainer.create({
        renderers,
      });
      const result = await container.renderToString(ReactWrapper);
    
      expect(result).toContain('Counter');
      expect(result).toContain('Count: <!-- -->5');
    });
    

4.3.0

Minor Changes

  • #11055 b92de22 Thanks @niklas-wortmann! - Updates the devtools type to allow passing VueDevToolsOptions

    For more customization, you can pass options that the Vue DevTools Vite Plugin supports. (Note: appendTo is not supported.) For example, you can set launchEditor to your preferred editor if you are not using Visual Studio Code:

    import { defineConfig } from 'astro/config';
    import vue from '@astrojs/vue';
    
    export default defineConfig({
      // ...
      integrations: [
        vue({
          devtools: { launchEditor: 'webstorm' },
        }),
      ],
    });
    

4.2.0

Minor Changes

  • #10929 082abb8 Thanks @florian-lefebvre! - Adds a devtools option

    You can enable the official Vue DevTools while working in development mode by setting devtools:true in your vue() integration config:

    import { defineConfig } from 'astro/config';
    import vue from '@astrojs/vue';
    
    export default defineConfig({
      integrations: [vue({ devtools: true })],
    });
    

4.1.0

Minor Changes

4.0.11

Patch Changes

4.0.10

Patch Changes

4.0.9

Patch Changes

4.0.8

Patch Changes

4.0.7

Patch Changes

4.0.6

Patch Changes

4.0.5

Patch Changes

4.0.4

Patch Changes

4.0.3

Patch Changes

  • #9366 1b4e91898 Thanks @lilnasy! - Updates NPM package to refer to the stable Astro version instead of a beta.

4.0.2

Patch Changes

4.0.1

Patch Changes

  • #8794 4d4e34d45 Thanks @yoyo837! - Prevents Astro from crashing when no default function is exported from the appEntrypoint. Now, the entrypoint will be ignored with a warning instead.

4.0.0

Patch Changes

4.0.0-beta.0

Patch Changes

3.0.4

Patch Changes

  • #8998 14e586cc7 Thanks @minht11! - Adds editor support for Vue non setup script blocks and Vue 3.3 generics.

3.0.3

Patch Changes

  • #8930 c77f55d9c Thanks @matthewp! - Fixes an issue where Astro slot names were being rendered as attributes in components. Astro slot names will no longer be sent as props to framework components.

3.0.2

Patch Changes

3.0.1

Patch Changes

3.0.0

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

Patch Changes

3.0.0-rc.2

Patch Changes

3.0.0-rc.1

Major Changes

Patch Changes

3.0.0-beta.0

Major Changes

  • 1eae2e3f7 Thanks @Princesseuh! - 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.

Patch Changes

2.2.1

Patch Changes

2.2.0

Minor Changes

  • #7093 3d525efc9 Thanks @matthewp! - Prevent removal of nested slots within islands

    This change introduces a new flag that renderers can add called supportsAstroStaticSlot. What this does is let Astro know that the render is sending <astro-static-slot> as placeholder values for static (non-hydrated) slots which Astro will then remove.

    This change is completely backwards compatible, but fixes bugs caused by combining ssr-only and client-side framework components like so:

    <Component>
      <div>
        <Component client:load>
          <span>Nested</span>
        </Component>
      </div>
    </Component>
    

Patch Changes

2.1.1

Patch Changes

2.1.0

Minor Changes

Patch Changes

2.0.1

Patch Changes

2.0.0

Major Changes

  • #5782 1f92d64ea Thanks @Princesseuh! - Remove support for Node 14. Minimum supported Node version is now >=16.12.0

  • #5685 f6cf92b48 Thanks @bluwy! - Upgrade to Vite 4. Please see its migration guide for more information.

  • #5806 7572f7402 Thanks @matthewp! - Make astro a peerDependency of integrations

    This marks astro as a peerDependency of several packages that are already getting major version bumps. This is so we can more properly track the dependency between them and what version of Astro they are being used with.

Patch Changes

2.0.0-beta.1

See changes in 2.0.0-beta.1

Major Changes

  • #5782 1f92d64ea Thanks @Princesseuh! - Remove support for Node 14. Minimum supported Node version is now >=16.12.0

  • #5806 7572f7402 Thanks @matthewp! - Make astro a peerDependency of integrations

    This marks astro as a peerDependency of several packages that are already getting major version bumps. This is so we can more properly track the dependency between them and what version of Astro they are being used with.

Patch Changes

2.0.0-beta.0

See changes in 2.0.0-beta.0

Major Changes

1.2.2

Patch Changes

1.2.1

Patch Changes

1.2.0

Minor Changes

  • #5075 d25f54cb9 Thanks @natemoo-re! - Add support for the appEntrypoint option, which accepts a root-relative path to an app entrypoint. The default export of this file should be a function that accepts a Vue App instance prior to rendering. This opens up the ability to extend the App instance with custom Vue plugins.

    // astro.config.mjs
    import { defineConfig } from 'astro/config';
    import vue from '@astrojs/vue';
    
    export default defineConfig({
      integrations: [
        vue({
          appEntrypoint: '/src/pages/_app',
        }),
      ],
    });
    
    // src/pages/_app.ts
    import type { App } from 'vue';
    import i18nPlugin from '../plugins/i18n';
    
    export default function setup(app: App) {
      app.use(i18nPlugin, {
        /* options */
      });
    }
    

1.1.0

Minor Changes

Patch Changes

  • #4842 812658ad2 Thanks @bluwy! - Add missing dependencies, support strict dependency installation (e.g. pnpm)

1.0.2

Patch Changes

1.0.1

Patch Changes

1.0.0

Major Changes

0.5.0

Minor Changes

0.4.1

Patch Changes

0.4.0

Minor Changes

  • #3914 b48767985 Thanks @ran-dall! - Rollback supported node@16 version. Minimum versions are now node@14.20.0 or node@16.14.0.

0.3.1

Patch Changes

0.3.0

Minor Changes

  • #3871 1cc5b7890 Thanks @natemoo-re! - Update supported node versions. Minimum versions are now node@14.20.0 or node@16.16.0.

0.2.1

Patch Changes

  • #3864 f9ed77bb Thanks @Princesseuh! - Add entrypoints for editor support for Vue and Svelte (destined to be used by our language server)

0.2.0

Minor Changes

  • #3652 7373d61c Thanks @natemoo-re! - Adds support for passing named slots from .astro => framework components.

    Inside your components, use the built-in slot API as you normally would.

0.1.5

Patch Changes

  • #3455 e9a77d86 Thanks @natemoo-re! - Update client hydration to check for ssr attribute. Requires astro@^1.0.0-beta.36.

0.1.4

Patch Changes

0.1.3

Patch Changes

0.1.2

Patch Changes

0.1.1

Patch Changes

0.1.0

Minor Changes

0.0.2

Patch Changes

  • #2847 3b621f7a Thanks @tony-sull! - Adds keywords to the official integrations to support discoverability on Astro's Integrations site

0.0.2-next.0

Patch Changes

  • #2847 3b621f7a Thanks @tony-sull! - Adds keywords to the official integrations to support discoverability on Astro's Integrations site