Skip to content

build(deps): bump @unhead/vue from 2.1.13 to 3.0.0#3934

Closed
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/npm_and_yarn/unhead/vue-3.0.0
Closed

build(deps): bump @unhead/vue from 2.1.13 to 3.0.0#3934
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/npm_and_yarn/unhead/vue-3.0.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github Apr 10, 2026

Bumps @unhead/vue from 2.1.13 to 3.0.0.

Release notes

Sourced from @​unhead/vue's releases.

v3.0.0

Unhead v3 rebuilds the rendering engine from the ground up. The motivation: streaming SSR. Frameworks like Nuxt, SolidStart, and SvelteKit stream HTML to the browser as data loads, but head tags were still stuck in a request/response model, resolved once and never updated. To fix this properly, we had to make rendering synchronous, pluggable, and side-effect free. The result is a faster, smaller, and more capable head manager.

📣 Highlights

🌊 Streaming SSR

Head tags now update dynamically as suspense boundaries resolve during streaming. As each chunk streams to the browser, new <title>, <meta>, and <link> tags are pushed to a client-side queue and applied to the DOM. No waiting for the full page to load.

// entry-server.ts
import { createStreamableHead } from '@unhead/vue/stream/server'
const { head, wrapStream } = createStreamableHead()
app.use(head)
// wraps the Vue stream, injecting head updates as chunks resolve
return wrapStream(renderToWebStream(app), template)

// entry-client.ts
import { createStreamableHead } from '@unhead/vue/stream/client'
const head = createStreamableHead()
app.use(head)

Under the hood: a queue stub (window.__unhead__) collects head entries as they stream in before the main JS bundle loads. Once the client head instance initializes, it processes the queue and takes over. No entries are ever lost regardless of timing.

Streaming is supported for Vue, React, Solid.js, Svelte, and vanilla TypeScript. See [PR #537](unjs/unhead#537).

🛠️ Unified Vite Plugin + DevTools

A single @unhead/{framework}/vite plugin replaces the old manual composition of @unhead/addons + streaming plugin + framework glue. One import, one call, and you get tree-shaking, useSeoMetauseHead transform, inline minification, streaming SSR, dev-mode ValidatePlugin auto-injection, and Vite DevTools integration.

// vite.config.ts
import { Unhead } from '@unhead/vue/vite'
import vue from '@vitejs/plugin-vue'
export default defineConfig({
plugins: [vue(), Unhead()],
})

The DevTools panel surfaces live head state during development: every useHead() / useSeoMeta() call with its source file and line number, resolved tags, SEO overview (title, description, canonical, Open Graph), useScript() load status, active plugins, template params, and warnings from the Validate plugin. Source tracing lets you click through from any tag back to the exact line that created it.

Available for Vue, React, Svelte, Solid, and vanilla via @unhead/bundler/vite (the renamed @unhead/addons package; the old name still works with a deprecation warning).

... (truncated)

Commits
  • 1c15b90 chore: release v3.0.0
  • 018d92e chore: release v3.0.0-rc.4
  • 481cd0a chore: release v3.0.0-rc.3
  • 5e24719 chore: release v3.0.0-rc.2
  • 4cc74e9 chore: release v3.0.0-rc.1
  • 3a60751 refactor(bundler)!: named Unhead export, ctx-based transforms, dev-mode valid...
  • f846a88 feat(types)!: enforce strict type narrowing for Link and Script unions (#729)
  • df9c846 feat: @unhead/bundler and /vite subpath exports (#726)
  • 8de2266 chore(deps): update peerdependency vite to >=6.4.2 [security] (#723)
  • f5edf07 feat: v2 migration rules in ValidatePlugin + DOM hook deprecations (#722)
  • Additional commits viewable in compare view

@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Apr 10, 2026
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/unhead/vue-3.0.0 branch 2 times, most recently from cc1d7e1 to ed79659 Compare April 10, 2026 04:09
Bumps [@unhead/vue](https://github.com/unjs/unhead/tree/HEAD/packages/vue) from 2.1.13 to 3.0.0.
- [Release notes](https://github.com/unjs/unhead/releases)
- [Commits](https://github.com/unjs/unhead/commits/v3.0.0/packages/vue)

---
updated-dependencies:
- dependency-name: "@unhead/vue"
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/unhead/vue-3.0.0 branch from ed79659 to 2d429dd Compare April 10, 2026 13:46
PierreBrisorgueil added a commit that referenced this pull request Apr 10, 2026
Bumps both packages to v3.0.2 together — @unhead/vue depends on unhead
and both must share the same major version. Supersedes #3934 and #3937.

No code migration required:
- createHead still imported from '@unhead/vue/client' (supported path)
- useHead calls only use standard properties (title, meta, link, script,
  htmlAttrs) — no deprecated children/hid/vmid/body/mode props
- No useServerHead* usage
- No Vite unhead plugin in use

Verified: lint, 897 unit tests (coverage 99%+), production build.
@PierreBrisorgueil
Copy link
Copy Markdown
Collaborator

Superseded by #3948 which bumps both unhead and @unhead/vue to v3.0.0 together (they must share the same major version).

@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot bot commented on behalf of github Apr 10, 2026

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot bot deleted the dependabot/npm_and_yarn/unhead/vue-3.0.0 branch April 10, 2026 17:04
PierreBrisorgueil added a commit that referenced this pull request Apr 10, 2026
* build(deps): bump unhead + @unhead/vue to v3.0.0

Bumps both packages to v3.0.2 together — @unhead/vue depends on unhead
and both must share the same major version. Supersedes #3934 and #3937.

No code migration required:
- createHead still imported from '@unhead/vue/client' (supported path)
- useHead calls only use standard properties (title, meta, link, script,
  htmlAttrs) — no deprecated children/hid/vmid/body/mode props
- No useServerHead* usage
- No Vite unhead plugin in use

Verified: lint, 897 unit tests (coverage 99%+), production build.

* build(deps): drop unused direct unhead dependency

Per Copilot review: unhead is not imported directly anywhere in the
codebase (only @unhead/vue and @unhead/vue/client are). It remains
installed transitively via @unhead/vue, still resolved to 3.0.2.

* fix(deps): sync package-lock after dropping unhead direct dep
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant