🚨 Breaking Changes
- Only handle promise input when opted in - by @harlan-zw in #445 (af0af)
- Client / server subpaths - by @harlan-zw in #448 (49634)
- Drop implicit context - by @harlan-zw in #459 (7fc77)
- Property debounce dom updates - by @harlan-zw (c97ec)
- Properly debounce dom updates - by @harlan-zw in #475 (3141d)
- Drop
CJS
exports - by @harlan-zw in #482 (0f14f) - V2 core rewrite - by @harlan-zw in #488 (2f85b)
- core:
- Remove
HashHydrationPlugin
- by @harlan-zw in #444 (fa511) unctx
fallback context - by @harlan-zw in #437 (eb6ff)- Default capo sorting - by @harlan-zw in #440 (889e6)
- Drop
vmid
,hid
,children
body
keys - by @harlan-zw in #447 (e1f44) - Make
TemplateParamsPlugin
opt-in - by @harlan-zw in #493 (85c19)
- Remove
- scripts:
useScript
overhaul,@unhead/scripts
- by @harlan-zw in #436 (c234e)
- vue:
- Drop Vue 2 support - by @harlan-zw in #439 (838a7)
🚀 Features
- Vanilla function resolves - by @harlan-zw in #443 (b2ed4)
- Angular support - by @harlan-zw (0e5c2)
- Angular support - by @harlan-zw (671fd)
@unhead/react
- by @harlan-zw in #477 (4b0e0)- Default important head tags - by @harlan-zw in #479 (8bd16)
@unhead/svelte
- by @harlan-zw in #452 (9c9b0)- Solid.js support - by @harlan-zw in #500 (a796d)
@unhead/angular
- by @harlan-zw in #467 (92f3f)- core:
- Whitelist styles with
useHeadSafe()
- by @harlan-zw in #490 (e2d4e) - Whitelist styles with
useHeadSafe()
- by @harlan-zw in #491 (e4b1f) - Canonical plugin - by @harlan-zw in #492 (b1fd5)
- Whitelist styles with
- react:
- Simplified API,
useScript()
- by @harlan-zw (4eafe)
- Simplified API,
- schema:
- Support
blocking
attributes - by @harlan-zw in #489 (eb1b0)
- Support
- schemaOrg,react:
@unhead/schema-org/react
- by @harlan-zw (04ce9)
- ssr:
transformHtmlTemplate
- by @harlan-zw (a4720)- TransformHtmlTemplate - by @harlan-zw in #473 (cefd6)
- svelte:
useScript()
- by @harlan-zw (83870)useSchemaOrg()
- by @harlan-zw (7019b)
- vue:
- Fully typed
style
- by @harlan-zw (45401)
- Fully typed
🐞 Bug Fixes
- Export
InferSeoMetaPlugin
fromunhead/optionalPlugins
- by @harlan-zw in #449 (13db8) - Handle boolean props - by @harlan-zw (41210)
- Support legacy - by @harlan-zw (fb516)
- Clear resolved input when patching a node - by @harlan-zw (f47c4)
- Deprecate
@unhead/schema
- by @harlan-zw in #483 (6e424) - Deprecate
@unhead/shared
- by @harlan-zw in #484 (74343) - addons:
- Stabilize useSeoMeta tree shaking - by @harlan-zw (a3ed9)
- Stabilize
useSeoMeta()
->useHead()
transformer - by @harlan-zw in #506 (a8505)
- angular:
- Broken subpath exports - by @harlan-zw (4fecb)
- Use
DOCUMENT
injection for client - by @harlan-zw (a92a4) - SSR support existing tag replacements - by @harlan-zw (1b43b)
- Broken
typings
export - by @harlan-zw (4c5a6)
- core:
- Avoid recursive function patching - by @harlan-zw (68b89)
- Broken
style
types - by @harlan-zw (ce0ac)
- core,vue:
- Missing subpath exports - by @harlan-zw (927f1)
- Deprecate server composables - by @harlan-zw in #505 (214f9)
- schema-org,vue:
- Support
useSchemaOrg
options - by @harlan-zw (3d1bf)
- Support
- schemaOrg:
- Broken entry patching types - by @harlan-zw (e3034)
- useScript:
- Avoid triggering use() server-side for proxy - by @harlan-zw (5085e)
🏎 Performance
- Isolate plugin logic - by @harlan-zw in #451 (66a46)
- Drop
packrup
dependency - by @harlan-zw in #487 (6d0e4) - Prefer mapped entries - by @harlan-zw in #486 (db1a4)
- core:
- Make
AliasSortingPlugin
opt-in - by @harlan-zw in #494 (4d96c) - Normalize entries once - by @harlan-zw in #504 (ee341)
- Make
- useScript:
- Avoid registering callbacks when ssr - by @harlan-zw (57861)