Changelog

Release notes for the vd3 line packages@vanduo-oss/vd3 (the Vue 3 design system and component library) and @vanduo-oss/vd3-cbun (the components bundle: charts, code-editor, draw, flowchart, hex-grid, music-player). Packages only — never docs-site content.

@vanduo-oss/vd3

The standalone Vue 3 design system & component library.

v1.1.0July 2026 Latest

A minor release: a new extra-large VdModal size, broad accessibility & lifecycle hardening, and a security-hardened HTML sanitizer. No breaking changes.

New
  • VdModal xl size

    VdModal gains a fourth size tier — size="xl" (987px, via the --vd-modal-width-xl token and .vd-modal-panel-xl class) — for release notes, side-by-side content, and wider forms.

Accessibility
  • Dialogs, tabs, selects & ratings

    VdModal and VdOffcanvas now trap focus, restore it to the opener on close, and release the body scroll lock on unmount; VdTabs implements the full WAI-ARIA tabs pattern (arrow-key navigation + roving tabindex); VdCustomSelect exposes aria-activedescendant; VdRating is a valid single-checked radiogroup; and useTimepicker is now keyboard-operable.

Security & fixes
  • HTML sanitizer hardening

    sanitizeHtml now correctly keeps allow-listed inline SVG (a case-mismatched allowlist had silently stripped all SVG) and scrubs dangerous inline style values under allowStyle. useClickOutside now attaches when created already-enabled, and useStepper no longer emits a spurious change on mount.

Internal
  • Token-parity gate

    A test-only guard asserts the generated token data stays in sync with the authored token source, catching drift in CI.

v1.0.0July 2026

The standalone Vue 3 line — one package ships DTCG design tokens, the full CSS tree, and typed Vd* components and composables. Sole peer dependency: vue >= 3.3.

New
  • Standalone tokens & CSS

    A zero-dependency generator emits @vanduo-oss/vd3/tokens.json and the typed token-data module; the authored CSS tree bundles into @vanduo-oss/vd3/css (full) and @vanduo-oss/vd3/css/core (tokens-only, no icons), with fonts and Phosphor icons shipped in-package.

  • Complete component surface

    The full typed Vd* component set — including the seven layout primitives — plus the interactive composables, carried over 1:1 as pure Vue.

  • Seven new components

    VdBreadcrumb, VdFooter, VdFab (speed-dial), VdNavbar (burger + overlay + body-lock + glass-on-scroll), VdThemeSwitcher, VdThemeCustomizer (show-palette prop, vd:open-customizer window event), and VdDocSearch (combobox / listbox).

  • New composables

    useThemePreference (the module-scope theme singleton behind both theme controls), useDocSearch, useLazyLoad (IntersectionObserver reveal + loadSection), useGrid + setGridSystem (per-container standard / fibonacci mode), and useClickOutside.

  • VdMenu & pure-Vue interactive composables

    VdMenu ships, and the twelve interactive composables (useRipple, useSearch, useExpandingCards, useValidate, useTimeline, usePopover, useFlow, useTabs, useSpotlight, useDropdown, useImageBox, useDraggable) are pure-Vue rewrites that additively return an optional controller with a refresh() idiom.

Changed
  • VdTree cascade default

    VdTree's cascade prop now genuinely defaults to true via withDefaults: mounting VdTree without it cascades a parent check to its descendants. Pass :cascade="false" to opt out.

Migration notes
  • Standalone by design

    vd3 is pure Vue: there is no separate client-side runtime to bootstrap and no global window objects — theming and interactivity live entirely in typed composables and the VanduoVue plugin. See the migration guide.

  • Pinia-free toast

    useToast is a module-scope singleton with the same documented API (useToastStore, useToast, show(), typed helpers, reactive queue), and pinia is no longer a peer dependency.

@vanduo-oss/vd3-cbun

The components bundle — charts, code-editor, draw, flowchart, hex-grid, music-player.

v1.3.0July 2026 Latest

A minor release: chart mark-click events, hardened document loading, and core bug fixes. Additive and backward-compatible; the saved-document format is unchanged.

New
  • Chart mark clicks

    VdChart now forwards mark clicks as Vue events — @bar-click, @point-click, and @slice-click, each carrying the typed ClickEvent. Charts component 1.1.0.

Hardened
  • Bounded document loading

    VdDraw and VdFlowchart now cap an untrusted or corrupt document on load (truncating, never throwing), so a hostile document cannot freeze the tab. The saved-document format is unchanged.

Fixed
  • Core bug fixes

    Draw undo no longer corrupts history after an undo; bar charts anchor correctly when yMin > 0; the music player stops at the end of a playlist instead of looping forever; hex grid removes its canvas listeners on destroy; and the code editor highlights an unterminated block comment correctly.

v1.2.0July 2026

Adds a sixth component — Drawing tool — to the bundle. Additive minor release; the five existing components are unchanged. Sole runtime peer: vue >= 3.3.

New
  • Drawing tool

    Drawing tool on @vanduo-oss/vd3-cbun/draw (+ /draw/css), exposing VdDrawCore alongside the component — a vector drawing / painting surface with a variable-width brush engine (pen, pencil, marker, highlighter), a color palette with recents, an eraser, selection / move / resize, a toggleable background grid with adjustable cell size, undo / redo history, self-contained SVG & PNG export, and a Phosphor-icon toolbar. Pure-Vue and SSR-safe with no new runtime dependency. Component 1.1.0.

  • Forward-compatible documents

    Saved documents carry VD_DRAW_VERSION; older constant-width freehand strokes migrate to the brush model on load, so earlier drawings keep rendering unchanged.

v1.1.0July 2026

Adds a fifth component — Code editor — to the bundle. Additive minor release; the four existing components are unchanged. Sole runtime peer: vue >= 3.3.

New
  • Code editor

    Code editor on @vanduo-oss/vd3-cbun/code-editor (+ /code-editor/css) — a lightweight, secure textarea-overlay editor: a native <textarea> over a syntax-highlight layer painted by first-party, ReDoS-safe tokenizers for JavaScript/TypeScript, HTML, CSS, JSON, Markdown, Shell, and Python. Line-number gutter, auto-indent, bracket/quote auto-close, read-only mode, copy button, placeholder, and a large-input guard. Escaping-safe (no innerHTML), SSR-safe, and no new runtime dependency. Component 1.0.0.

v1.0.0July 2026

The canvas components bundle for the vd3 line — charts, flowchart, hex-grid, and music-player consolidated into one package with tree-shakeable subpath exports. Sole runtime peer: vue >= 3.3.

New
  • Charts

    Charts on @vanduo-oss/vd3-cbun/charts (+ /charts/css). Component 1.0.0.

  • Flowchart

    Flowchart on @vanduo-oss/vd3-cbun/flowchart (+ /flowchart/css), exposing VdFlowchartCore alongside the component. Component 1.2.0.

  • Hex grid

    Hex grid on @vanduo-oss/vd3-cbun/hex-grid with the /hex-grid/hex-math helpers — canvas-rendered, reading --vd-* tokens (no CSS). Component 1.0.0.

  • Music player

    Music player on @vanduo-oss/vd3-cbun/music-player (+ /music-player/css). Component 1.0.0.

  • Subpath isolation & tests

    Each subpath re-exports both the Vue component and its framework-agnostic core; a build-time guard bundles every entry separately with vue external and fails if inputs cross a component boundary. Versions surface via VD3_CBUN_VERSIONS, with 261 tests across 15 vitest files plus a Playwright real-canvas smoke.

v0.1.0 June 2026 Initial scaffold
New
  • Bundle scaffold

    Package metadata with the full subpath-exports contract (/charts, /flowchart, /hex-grid, /music-player), a hardened pnpm install policy, and the Phase-0 esbuild harness.

  • Per-component version manifest

    component-versions.json pins charts 1.0.0, flowchart 1.2.0, hex-grid 1.0.0, and music-player 1.0.0, asserted against the exported VD3_CBUN_VERSIONS map by a version-consistency test.