• 1.11.0 e15316716c

    1.11.0
    All checks were successful
    Unit Tests / Check Unit Tests (push) Successful in 45s
    Stable

    michi released this 2026-07-03 01:31:48 +02:00 | 0 commits to main since this release

    • feat: add keyed() helper for DOM node reconciliation by stable key
      const state = {
        items: [
          { id: "1", label: "item 1" },
          { id: "2", label: "item 2" },
          { id: "3", label: "item 3" },
        ],
      }
      
      app(container, state, (s) => [DIV,
        keyed([UL, { class: "todos" },
          ...s.items.map(it => [LI, { key: it.id }, it.label]),
        ]),
      ]);
      
    • feat: add reconciled to Props which allows you to set a callback when DOM nodes are assinged (reconciled)
      [DIV, {
        reconciled: (state, newVode, oldVode) => {
          const currentNode = newVode[$NODE];
          const previousNode = oldVode?.[$NODE];
          // previousNode will be undefined in first render
          // if children inside the parent are swapped/removed -> currentNode != previousNode
        }
      }]
      
    • refactor!: internal Vode properties encapsulate behind exported Symbols
    • refactor!: expose rendering stats on the state object via state[$STATS] (also still on appNode[$VODE].stats)
    • feat: add missing HTML and MathML tags
    Downloads
  • 1.10.2 d456cff8ab

    1.10.2
    All checks were successful
    Unit Tests / Check Unit Tests (push) Successful in 40s
    Stable

    michi released this 2026-06-21 23:22:51 +02:00 | 14 commits to main since this release

    • feat: improve SSR compatibility
    Downloads
  • 1.10.1 2f7f1ceaed

    1.10.1
    All checks were successful
    Unit Tests / Check Unit Tests (push) Successful in 54s
    Stable

    michi released this 2026-06-19 18:16:13 +02:00 | 15 commits to main since this release

    • refine(catch): ensure correct lifecycle hooks for error boundaries
    • chore: upgrade to babel 8 & support node 26
    Downloads
  • 1.10.0 3114b56752

    1.10.0
    All checks were successful
    Unit Tests / Check Unit Tests (push) Successful in 46s
    Stable

    michi released this 2026-06-16 03:27:25 +02:00 | 19 commits to main since this release

    • feat: preserve identity of class instances (Date, RegExp, etc.) during state merges
    • feat: improve app() state type inference and event handler typings
    • fix: standardize mergeClass behavior for strings and objects
    • fix: handle string as 2nd argument to vode(tag, string) correctly
    • fix: style property clearing
    • fix: ensure async rendering only proceeds if asyncRenderer is explicitly available
    • fix: correctly skip bigint child nodes
    • refactor(mergeStyle): normalize return types and improve string merging
    • refactor(state-context): refine put() input type
    • feat: add fallback for mergeStyle() in non-browser environments
    Downloads
  • 1.9.4 0b9727e040

    1.9.4
    All checks were successful
    Unit Tests / Check Unit Tests (push) Successful in 37s
    Stable

    michi released this 2026-06-14 23:33:42 +02:00 | 35 commits to main since this release

    • fix: clear stale inline styles
    Downloads
  • 1.9.3 ea4a0df985

    1.9.3
    All checks were successful
    Unit Tests / Check Unit Tests (push) Successful in 46s
    Stable

    michi released this 2026-06-14 13:49:27 +02:00 | 37 commits to main since this release

    • fix: animated patches could get stuck when document becomes hidden
    • test: harden tests and improve run time
    Downloads
  • 1.9.2 a6e2e6dd76

    1.9.2
    All checks were successful
    Unit Tests / Check Unit Tests (push) Successful in 45s
    Stable

    michi released this 2026-06-13 18:30:12 +02:00 | 41 commits to main since this release

    • refactor: refine type definitions
    • refactor: remove all any casts
    • perf: less allocations needed on unmount
    Downloads
  • 1.9.1 35f3dafca4

    1.9.1
    All checks were successful
    Unit Tests / Check Unit Tests (push) Successful in 1m20s
    Stable

    michi released this 2026-06-10 16:56:34 +02:00 | 44 commits to main since this release

    • fix: resolve error boundary from old vode when new component fails to render
    • fix: first level dom evaluation
    • fix: standardize return values for tag() and children()
    Downloads
  • 1.9.0 7fc52c7e14

    1.9.0
    All checks were successful
    Unit Tests / Check Unit Tests (push) Successful in 38s
    Stable

    michi released this 2026-06-09 21:09:15 +02:00 | 48 commits to main since this release

    • fix(catch): usage of 'catch' on the root vode with different Tag

      NOTE: changing the root tag in vode during rendering is supported, but results in a new container node
      to get a reference to the new container node: const newContainer = oldContainer._vode.vode.node

    • feat(state-context): add overload to context() for alternative substate targeting
    Downloads
  • 1.8.12 549e64f21f

    1.8.12
    All checks were successful
    Unit Tests / Check Unit Tests (push) Successful in 36s
    Stable

    michi released this 2026-05-25 16:24:44 +02:00 | 54 commits to main since this release

    • fix: mergeClass with (1. object, 2. array)
    Downloads