Skip to content

Latest commit

 

History

History
1095 lines (477 loc) · 51.2 KB

File metadata and controls

1095 lines (477 loc) · 51.2 KB

3.2.10 (2026-04-15)

Features

  • runtime: infer Exposed type for defineComponent (9b9dc62)

3.2.9 (2026-04-04)

Bug Fixes

  • compiler/vdom: cleanup scope identifiers and improve slot tracking (1ae1239)
  • compiler/vdom: should optimize in optional defineComponent (27e3b45)
  • macros: direct TSNonNullExpression checks (c6b2200)
  • runtime/vapor: make NodeChild generic (f74e3b5)
  • runtime/vdom: remove _c flag for normalizeSlot (61d5bb6)

Features

  • compiler/vdom: add optimize option and replace optimizeSlots (e598555)
  • runtime: support v-slots types in defineComponent and (1e7f259)

3.2.8 (2026-03-30)

Bug Fixes

  • compiler/vdom: remove withCtx for normalizeSlot (b1568de)

3.2.7 (2026-03-29)

Bug Fixes

  • compiler/vdom: mark element as block if prop has jsx (406ec74)
  • compiler/vdom: prevent optimize in for statement (7d456fa)
  • runtime/vdom: invalidate detached v-for memo vnodes after unmount (3bc38eb)

Features

  • compiler/vdom: optimize object-expression slots (98dcb89)
  • vapor: preserve static keys (d1dca8a)

3.2.6 (2026-03-25)

Bug Fixes

  • compiler/vapor: avoid delegating same-event handlers when sibling (b9dce34)
  • compiler/vapor: normalize default dynamic slot names in transform (dc47bdf)
  • compiler/vdom: collect scope identifiers for slot optimization (d82ef13)
  • compiler/vdom: handle Fragment block usage for conditional (dcf7851)

3.2.5 (2026-03-22)

Bug Fixes

  • compiler/vapor: add block_shape for v-if IR (8a18c2d)
  • compiler/vdom: collect scope identifiers for slots flag detection (7ae5cb6)
  • compiler/vdom: mark Fragment stable only when used as a block (4d66cad)

3.2.4 (2026-03-16)

Bug Fixes

  • compiler/vdom: mark Provider components as dynamic slots (72ac0cb)
  • runtime/vdom: set PatchFlags.BAIL for normalizeVNode (c72d5d8)

Features

  • compiler/vdom: compile slots.xx component as a slot (6cde1ee)

Reverts

  • compiler/vdom: add optimizeSlots option (8bceb59)

3.2.3 (2026-03-12)

Bug Fixes

  • compiler/vdom: use hash_string for VDOM cache keys (ba2dc81)
  • compiler: treat valueless attributes as boolean true (fc3d292)
  • macros: close inheritAttrs if only a rest prop (1661760)
  • runtime: use a computed Proxy to merge props and attrs (b63c312)
  • types: allow JSX elements to be arrays (0564d64), closes #54

3.2.2 (2026-03-08)

Bug Fixes

  • compiler/vdom: prevent cache this-expression (932a6ae)
  • compiler/vdom: prevent hoisted this-expression (470e6b8)
  • compiler/vdom: transform JSX in expression with assignment targets (7c24536)
  • macros: remove import shim (14d4c6d), closes #53

3.2.1 (2026-03-01)

Bug Fixes

  • compiler/vdom: don't convert plain text to normalizeNode when an (2b6b74d), closes #51
  • compiler/vdom: only optimize JSX in functional scope (6f0ac81)
  • compiler/vdom: slot element and condition expression co-usage (2b45f51)
  • compiler/vdom: use createElementBlock instead of createBlock for (aebec9a)
  • compiler: ignore codegen text as plain child (9341fcd)
  • compiler: preserve   when trimming text (fedff20)
  • compiler: resolve dynamic prop names starting with underscores (2149e83)
  • macros/volar: collect scopes to detect slot element's scope (6c73397), closes #52
  • runtime/vdom: wrap array items in normalizeVNode (966ffc4)

3.2.0 (2026-02-26)

Bug Fixes

  • compiler: ignore filename query for source_type (9a8725c), closes #50
  • compiler: visit simple assignment target (5bba443)

Features

  • runtime: support HyperScript (24c1b2e)

3.1.23 (2026-02-19)

Bug Fixes

  • compiler/vapor: skip empty expressions when detecting (5f0b847)
  • compiler: ensure static directive is a string (190511f)
  • compiler: introduce oxc_semantic to determine whether components (06f2bc1), closes #38

Performance Improvements

  • compiler: use fast-path matching for is_jsx_component (4eb14ce)

3.1.22 (2026-02-13)

Bug Fixes

  • compiler/vapor: prevent generate template when fragment has (997d963)
  • compiler: remove unused defineVaporComponent for SSR (9639575)
  • hmr: use reload instead of rerender for functional component (d3f65fb)
  • macros/volar: unwrapRef for exposed (60b6c63)
  • macros/volar: use defineVaporComponent instead of functional component (33bf5ce)

3.1.21 (2026-02-11)

Bug Fixes

  • compiler/vapor: always set index for if IR (eef760d)
  • compiler/vapor: skip static key (505db7e)
  • compiler: ensure JSX is compiled to Vapor in defineVaporComponent (148746b)
  • runtime: set __proxyed for createProxyComponent directly (e6de6aa)

3.1.20 (2026-02-03)

Bug Fixes

  • compiler/vapor: handle invalid table nesting with dynamic child (712ec26)
  • compiler: use createNodes instead of setNodes for fragment (37be7f2)
  • use regex instead of string for filterId (fac1483)

Features

  • compiler/vapor: support nested fragments (38d2925)

3.1.19 (2026-02-01)

Bug Fixes

  • compiler/vapor: add key for transition if-branches (f711dc6)
  • compiler/vapor: do not escape quotes in root-level text nodes (d843400)
  • compiler/vapor: enhance v-slot prop destructuring support (5c7ef06)
  • compiler/vapor: merge component v-model onUpdate handlers (01ed414)
  • compiler/vapor: prevent event handler execution during emits lookup (946fa2f)
  • compiler/vapor: support v-if and v-for on the same (33d97ef)
  • compiler/vapor: wrap handler values in functions for dynamic v-on (514a200)
  • use regex instead of string for filter.id (f54d685)
  • 3.1.18 (2026-01-29)

    Bug Fixes

    • compiler/vapor: more accurate fallthrough attr support (4c571ef)
    • compiler/vapor: only apply v-on key modifiers to keyboard events (1bb06d8)
    • compiler/vapor: prevent nested components from inheriting parent (f5539ec)
    • volar/jsx-element: refine type inference (dc21389)

    Features

    • compiler/vapor: support merging multiple event handlers on (4471831)
    • macros/volar: support auto infer slot types for defineComponent (1f7f474)

    3.1.17 (2026-01-28)

    Bug Fixes

    • compiler/vdom: merge v-model and onUpdate handlers (501dfb6), closes #43
    • macros: use proxy slots to keep reactivity (e834f13)
    • runtime: remove NO_SIDE_EFFECTS flag (41d6e8d)

    Features

    • macros/volar: support auto infer slot type (c1325cd)

    3.1.16 (2026-01-27)

    Bug Fixes

    • compiler/vdom: prevent generate redundant normalizeVNode when with (f83bf65), closes #42
    • compiler: prevent mark _temp as static for LogicalExpression (f5ef8f5), closes #41

    Features

    • compiler/vapor: add withVaporCtx helper to manage currentInstance (47929f9)
    • compiler/vapor: support defineVaporCustomElement (420c903)
    • compiler/vapor: support slot (1e0767b)
    • compiler/vdom: support slot (9b3d7e8)
    • support custom-element (82dd87f)

    3.1.15 (2026-01-24)

    Bug Fixes

    Features

    • compiler/vapor: support svg and MathML (98f47f4)

    3.1.14 (2026-01-23)

    Bug Fixes

    • compiler/vdom: prevent mark condition expression as static (a6c0cb5)

    Features

    • compiler: support custom runtimeModuleName (fa772d1)
    • support bun plugin (00aa94b)

    3.1.13 (2026-01-22)

    Bug Fixes

    • compiler/vapor: remove empty_text child (bf87609)
    • compiler: preserve non-breaking spaces in JSX (c104e6a)
    • compiler: regist ssr moduels for defineVaporSSRComponent (f4d25a7)

    Features

    • compiler/vapor: hydration (e3722c6)
    • compiler/vapor: v-html and v-text work with component (24d8cd8)
    • support hydration (3f235d9)

    3.1.12 (2026-01-15)

    Bug Fixes

    • compiler: escape HTML chars (9a9ae27)
    • compiler: prevent process JSXEmptyExpression for props (e67b463)
    • compiler: prevent process value prop as directive (cc9c31a)
    • compiler: wrapping resolveDirective for custom directive (e1a37b8)

    Features

    • compiler: support Transition and TransitionGroup (13bd49b)
    • hmr: support defineComponentName option (1664b82), closes #35
    • vapor: support key (89b502d)

    Performance Improvements

    • compiler: remove IIFE that only returns an expression (ac72506)
    • compiler: use oxc_ast_visit instead of oxc_traverse (32b789e)
    • macros: add code filter hooks (fe8d82f)
    • vapor: use Direcives struct instead of find_prop (ede1ab3)

    3.1.11 (2026-01-11)

    Features

    • hmr: support defineComponentName option (1664b82), closes #35

    Performance Improvements

    • compiler: remove IIFE that only returns an expression (ac72506)
    • compiler: use oxc_ast_visit instead of oxc_traverse (32b789e)
    • macros: add code filter hooks (fe8d82f)
    • vapor: use Direcives struct instead of find_prop (ede1ab3)

    3.1.10 (2026-01-06)

    Features

    • vue-jsx-vapor: use virtual helper modules to prevent deps on (654da93)

    3.1.9 (2026-01-02)

    3.1.8 (2026-01-02)

    Bug Fixes

    • compiler/dom: slots in v-for should be dynamic (d6fd49e)

    3.1.7 (2025-12-31)

    3.1.6 (2025-12-31)

    Bug Fixes

    • compiler/vdom: prevent cache include slot props's events for (0ce3a55), closes #30
    • compiler: add missing _temp variable (2b4b691), closes #31
    • compiler: remove unused withCtx helper for Fragment (afdec4a)

    3.1.5 (2025-12-30)

    Bug Fixes

    • compiler: use cache for LogicalExpression (f3e14b3)
    • runtime: use Text instead of Comment to support undefined ref (e0e5a4d)

    Features

    • compiler: convert ObjectExpression and FunctionExpression to (38e6057), closes #29
    • compiler: support LogicalExpression with coalesce (0f48e4c)

    3.1.4 (2025-12-29)

    Bug Fixes

    • runtime: prevent render undefined (7b8c058), closes #27

    Features

    • hmr: support rerender render function (4c394e5), closes #28
    • vue-jsx-vapor: add compiler options (1bb3932)

    Performance Improvements

    • compiler/vdom: use take_in instead of clone_in for JSXExpression (76c53bd)
    • compiler: remove empty_text (c796b83)

    3.1.3 (2025-12-26)

    Bug Fixes

    • add index for createVNodeCache (0c9af89)

    Features

    • compiler/vdom: check key for v-memo in v-for (6f7f1a3)
    • compiler/vdom: support map expression (ab16f06)

    Performance Improvements

    • compiler: use createElementBlock instead of createBlock for v-for (7a86c07)

    3.1.2 (2025-12-26)

    Bug Fixes

    • compiler: prevent v-for error in browser (1cf005b)

    3.1.1 (2025-12-25)

    Bug Fixes

    • compiler/vdom: prevent JSXText.raw unwrap error in browser (85699ae)

    3.1.0 (2025-12-25)

    Features

    • compiler: support generating Virtual DOM (#26) (c1701db)

    3.0.4 (2025-12-10)

    Features

    • normalize setup-fn result (8fa28ad)

    3.0.3 (2025-12-10)

    Bug Fixes

    • runtime: prevent proxy setup fn multiple (84cd14b), closes #24

    3.0.2 (2025-12-09)

    Bug Fixes

    • macros: sync localValue with prop changes for defineModel (95d2d89)

    3.0.1 (2025-12-03)

    Bug Fixes

    • compiler-rs: prevent compiler functional component to vapor when (2e30262)

    3.0.0 (2025-11-29)

    2.7.4 (2025-11-29)

    Bug Fixes

    • compiler-rs: move context.slots to block.slots for nested slots (717a6ac)
    • vue-jsx-vapor: move macros before compiler-rs (7332859)

    2.7.3 (2025-11-28)

    2.7.2 (2025-11-28)

    2.7.1 (2025-11-28)

    2.7.0 (2025-11-28)

    Bug Fixes

    • compiler: prevent transforming v-slot with non-ObjectExpression (73be347)

    2.6.8 (2025-10-22)

    Bug Fixes

    • macros: return VNode for generic defineComponent (3bd71f8), closes #21

    2.6.7 (2025-09-30)

    Bug Fixes

    • compiler: escape html for safer template output (d02e238)
    • compiler: treat template v-for with single component child as component (f657781)

    2.6.6 (2025-09-23)

    Bug Fixes

    • macros: add placeholder after removed params (e7b81c1)
    • macros: prevent handle dts files (a34b23c)
    • runtime: correct expose types for VaporComponentInstance (ebe60a6)
    • runtime: handle undefined default slot for Fragment (8a349d1)

    Features

    • macros: add "/" prefix for helper-id (341d18c)
    • macros: support generic components (ff75eb7)

    2.6.4 (2025-09-06)

    Bug Fixes

    • volar/jsx-element: return VaporInstance for functional component (3b14249)

    2.6.3 (2025-09-06)

    Bug Fixes

    • compiler: adjust children generation order for hydration (128eb21)

    Features

    • volar: introduce jsx-element (264c7be)

    2.6.2 (2025-08-08)

    Bug Fixes

    • babel: import createComponentWithFallback from vue-jsx-vapor (0c5b966)
    • runtime: correct props type for h (443945b)
    • runtime: normalizeNode slots for createComponentWithFallback (2f8e6fc)

    Features

    • compiler: add withFallback option to compile components to createComponentWithFallback (0c2d470)
    • macros: add verification feature for return keyword (65c6a5e)

    2.6.1 (2025-08-05)

    Bug Fixes

    • macros: correct types for defineComponent and defineVaporComponent (8a79bdb)

    2.6.0 (2025-07-29)

    Bug Fixes

    • macros: allow VariableStatement for defineModel (9769f27)
    • macros: prevent return defineComponent for generic component (dc64b7f)
    • macros: return DefineComponent type for defineComponent (5803b5e)

    Features

    • introduce @vue-jsx-vapor/runtime (27add9e)
    • vue-jsx-vapor: support functional props for h (4fb5d61)

    2.5.4-beta.1 (2025-07-23)

    2.5.3 (2025-07-22)

    Features

    • compiler: add fast-remove flag (4e549e1)
    • compiler: support JSXComponent in JSXExpressionContainer (c69e8ca)
    • eslint: support template literal interpolation for define-style (5be5080)
    • macros/volar: allow define styles after the ReturnStatement (255479b)
    • vue-jsx-vapor: support h and Fragment (c4e0bbe)

    2.5.2 (2025-07-17)

    Bug Fixes

    • ts-macro: prevent useSelector undefined error (1800b44)
    • vue-jsx-vapor: generate correct HMR (27179f6)

    Features

    • macros: support vue sfc (0106c80)
    • vue-jsx-vapor: support vue sfc (c24d3c7)

    2.5.1 (2025-07-13)

    Bug Fixes

    • compiler: remove compiler error for v-slots (033d62f)
    • compiler: use underscores instead of colons for cached name (0ffd1c6)

    Features

    • compiler: generate more efficient runtime code for specific interpolation patterns (3c22e74)
    • compiler: support JSXNamespacedName for v-model (941fb83)
    • vue-jsx-vapor: add getCurrentInstance (067f018)

    2.5.0 (2025-07-07)

    Features

    2.4.8 (2025-07-05)

    Bug Fixes

    • compiler: use parseExpression instead of walkIdentifiers (13fa2f4)

    2.4.7 (2025-07-04)

    Features

    • support functional component in interop mode (26afc8c)

    2.4.6 (2025-06-27)

    Bug Fixes

    • compiler-vapor: properly locate last if node (9633b9c)
    • compiler: correct execution order of operations (485e709)
    • compiler: prevent v-for components from being single root (9c10b3b)

    Features

    • add sourceMap option (9566477)
    • vue-jsx-vapor: add class and style for IntrinsicAttributes (997045f)

    2.4.5 (2025-06-12)

    Features

    • eslint: enhance offset calculation for defineStyle formatting (7d53c74)
    • macros: improve handling of required props in defineComponent (1889468)

    2.4.4 (2025-06-03)

    Features

    • vue-jsx-vapor: expose jsx-runtime/dom (2802d74)

    2.4.3 (2025-06-01)

    Bug Fixes

    • compiler: use createNodes instead of setNodes for v-slot (1c5cf09)

    2.4.2 (2025-05-29)

    Bug Fixes

    • comiler: unwrap type for expressions (a5c0c85)
    • vue-jsx-vapor: remove pauseTracking (78fcc0a)

    Features

    • vue-jsx-vapor: support array expression (bccb5ef)

    2.4.1 (2025-05-26)

    Bug Fixes

    • vue-jsx-vapor: expose correct jsx-runtime type (bdd3613)

    Features

    • macros: use vue-jsx-vapor/runtime to support browser environments (20be1a0)

    2.4.0 (2025-05-26)

    Bug Fixes

    • babel: add typescript plugin for parse (2d0cd50)
    • vue-jsx-vapor/volar: correct passing macros's options (21d8b0a)

    Features

    • macros/define-style: support navigation for css-modules (710127d)
    • macros: add JSX support for auto generate props (4cfcc0d)
    • macros: props allowed to be overridden for defineComponent (2f5ce4a)
    • vue-jsx-vapor: add pauseTracking and pauseTracking for createNodes (617eb2f)
    • vue-jsx-vapor: introduce useProps and useFullProps (69041a7)
    • vue-jsx-vapor: support custom HTMLAttributes for jsx-runtime (22fb370)

    2.3.6 (2025-05-12)

    Features

    • vue-jsx-vapor: support vaporComponent for createNodes (403a800)

    2.3.5 (2025-05-05)

    Features

    • macros: support :slotted for defineStyle (fb10489)

    2.3.4 (2025-05-02)

    Bug Fixes

    • eslint/jsx-sort-props: correct sort for reservedProps (7ddd014)
    • macros: make alias option optional (d459bd1)

    2.3.3 (2025-04-28)

    Features

    • compiler: defaults prop.value to true when it is null (e653e77)
    • macros: automatically infer type from default value (d7b31d6)
    • macros: automatically infer type from default value for defineModel (47c139e)

    2.3.2 (2025-04-26)

    Bug Fixes

    • macros/volar: add semicolon for defineComponent (1289cb3)

    2.3.1 (2025-04-25)

    2.3.0 (2025-04-10)

    Features

    • introduce eslint (f241afa)
    • macros/defineComponent: support auto return functional component for SSR (c0b310f)

    2.2.0 (2025-04-05)

    Features

    • vue-jsx-vapor: support SSR (1ae4fe9)

    2.1.8 (2025-03-28)

    Bug Fixes

    • vue-jsx-vapor: prevent register HMR in production environment (cab7de4)

    2.1.7 (2025-03-25)

    Bug Fixes

    • macros/volar: use __MACROS_ctx to infer type (0a5b315)

    Features

    • vue-jsx-vapor: support hmr (c1091da)
    • vue-jsx-vapor: support hmr for functional components (faed7fa)

    Performance Improvements

    • macors/volar: optimize infer type performance (bebec2b)

    2.1.6 (2025-03-20)

    Bug Fixes

    • compiler: use modelValueModifiers instead of modelModifiers (563b2f0)
    • macros: remove lib option (9548729)

    2.1.5 (2025-03-19)

    Features

    • compiler: support v-text directive (98a24d6)

    2.1.4 (2025-03-18)

    Features

    • vue-jsx-vapor: use virtual code to support browser environments (db1660e)

    2.1.3 (2025-03-18)

    Bug Fixes

    • compiler: move next, child and nthChild before the setInsertionState (d12a086)

    2.1.2 (2025-03-17)

    Bug Fixes

    2.1.1 (2025-03-17)

    Bug Fixes

    • compiler: missing modifiers (32849a7)
    • compiler: remove empty modifiers (dce2e83)
    • compiler: use setInsertionState instead of insert (2fae757)

    Features

    • compiler: support empty expression for event with modifiers (187bf8c)

    2.1.0 (2025-03-16)

    Bug Fixes

    Features

    • vue-jsx-vapor: add jsxImportSource support (b5e051d)

    2.0.1 (2025-03-12)

    Features

    • macros: add semicolon prefix for defineExpose (1f7171e)

    2.0.0 (2025-03-12)

    1.7.0 (2025-03-11)

    Bug Fixes

    1.6.0 (2025-03-10)

    Features

    • volar: auto infer type for useRef (0e44f13)

    (2025-03-09)

    Bug Fixes

    Features

    • add interop mode (f46592c)
    • babel: support nested source maps (3e69eba)
    • babel: support source map (17d7ea7)
    • compiler: remove babel/parser (ac494d1)
    • compiler: support native v-if directive (18b77fc)
    • compiler: support native v-slot directive (9db436d)
    • compiler: support nested component slot (a17e04e)
    • compiler: support string source (4293948)
    • compiler: support v-once directive (16a6b49)
    • compiler: support v-text directive (e1445ae)
    • introducing babel-plugin (dd2e384)
    • support AST node compilation (06eb0a3)
    • unplugin: add filename option for source map (10a6909)
    • unplugin: add volar plugin (7bf1284)
    • unplugin: expose raw to support browser environments (4dc2ffc)

    Reverts

    • unplugin: add effectScope for helper code (dfb640b)
    • vue/vapor (ea9f738)