0.3.0 (2026-08-18)
- keep wrapped Text from flex-shrinking over its sibling (a12f5bb)
- limit debug console to dev (3245317)
- vite: bundle the 3D stack, externalize bun-webgpu by file URL (1998b9d)
- vite: externalize jimp to its node ESM entry (f2737b0)
- add Image component (#69) (6160237)
- add paste event support (ffea50c)
- vite: keep the 3D stack external in dev and builds (bf0b1b2)
0.2.0 (2026-07-09)
- box border (a816e2b)
- events: don't crash when a modifier is used on a lifecycle emit (d420904)
- vite: resolve built asset URLs relative to the bundle (#57) (bdc47d5)
- namespace host tags under tui- (bf8fb8b)
- add ScrollBox component (f79d396)
- add TabSelect component (ac1f643)
- Box: apply event modifiers to renderable listeners (3c8d815)
- components: apply event modifiers across renderable components (8dc6932)
- error on nested Text (4f0b869)
- externalize more to apply build-time improvements (9cb4cb2)
- utils: add TUI event-modifier resolver (75546cd)
- vite: encode v-on modifiers for terminal events (43c9830)
- simpler synthenic events (da896c9)
- host tags are now prefixed with
tui-(e.g.<box>→<tui-box>).
- feat(markdown)!: require syntaxStyle prop (c4f294a)
- destruction of nodes (6a065e1)
- dev: exit on the first Ctrl+C (75eeda2)
- disable attr fallthrough on renderable components (04c8a4d)
- focus: return a function template ref from useFocus (019a8de)
- hmr: work on initial as well (0013009)
- honor focusedBorderColor in box (c6e3df3)
- multiplex renderer event listeners to avoid EventEmitter leak warning (096dea9)
- no double inherit (ff06b19)
- pass down and type Box and Text props (cf8ab67)
- pass down undefined when possible (600ebc7)
- renderer: support text nodes / Fragment anchors in layout containers (8a4833d)
- rendering timing (219090e)
- test: satisfy isolatedDeclarations/noUncheckedIndexedAccess in hmr spec (60b7e80)
- types (ac3c500)
- add Markdown (9ad801d)
- add vue-termui/vite plugin for turnkey terminal app builds (8e4fb91)
- app: add waitUntilExit(), exit() and useExit() (feb1933)
- components: add Box, Text and Newline components (2c62004)
- components: add Input, Select and ProgressBar with v-model (0256f63)
- composables: add onKeyDown/onKeyUp keyboard composables (c08300a)
- composables: add onResize, useTerminalSize, useTitle, useInterval, useTimeout (881415f)
- composables: add useFocus and useFocusManager (6f98c7a)
- dev server with HMR for terminal apps (6832ffd)
- dispose previous dev app on full reload (823427d)
- expose new components (cd8111b)
- focusable (45e1a74)
- playground: focusable sidebar nav + demo pages (12d0789)
- re-export @opentui/core from vue-termui; playground uses vue-termui only (1d90b10)
- refactor autofocus (65c295a)
- restore router location across dev full reloads (f42b233)
- scaffold core from template-lib-ts (16818c2)
- surface errors in the console overlay instead of crashing (10c099c)
- textarea component (2b24b80)
- useCurrentfocusedElement (7cbf270)
- Vue custom renderer over OpenTUI (box + text) (fbadd0c)
<Markdown>now requires asyntaxStyleprop. Build one withSyntaxStyle.fromStyles(...).