Releases: Karanjot786/TermUI
Release list
v0.1.7
A CLI for copy-paste component installs, a real component registry, live previews for all 230 components, and an SEO/GEO pass on the docs. 253 commits from 35 contributors.
New: @termuijs/cli
npx termuijs add <component> copies a component's real source straight into your project — path-safe, with a registry resolver, package-manager detection, and automatic dependency install. npx termuijs list opens an interactive picker (built on the @termuijs/widgets List, dogfooding the framework).
Component registry
Every component now has a generated registry entry with its real constructor signature and options props — extracted from source, resolving extends, union params, inline object-literal options, *Props types, and per-field descriptions. The registry ships per-component files plus their dependencies for copy-source installs, and termui.io serves it at /r/<slug>.json.
Docs
- Live previews for all 230 components, all 30
@termuijs/jsxhooks, and the@termuijs/uitemplates. - Component pages render the real constructor signature and props, with Shiki-highlighted, collapsible, copy-paste source.
- SEO/GEO pass: comparison pages, a dynamic sitemap (297 URLs), branded OG card, per-page canonical and structured data, and an accurate, regenerated
llms.txtplus.mdendpoints for LLM citation. - The documentation site moved to its own repository,
TermUI_Docs.
@termuijs/jsx
The feedback API (useFeedback, triggerFeedback, AUDIBLE_FEEDBACK_TYPES, FeedbackType) and package-manager helpers (usePackageManager, detectPackageManager, getPackageManagerCommands) are now published to npm.
Notes
All 14 library packages are re-published in lockstep at 0.1.7. No breaking changes. See CHANGELOG.md for the full list.
Contributors
35 contributors made commits in this release. Thank you to:
@Karanjot786 @jainiksha @srushti-panara @ionfwsrijan @Harshithk951 @realtushartyagi @ZainabTravadi @pradeep0153 @anshika1179 @pranvxag @knoxiboy @RosheshChaware @atul-upadhyay-7 @RitikOnWork @KrutagyaKaneria @riddhima25bet10005-a11y @pixeltannu @hrx01-dev @Vartika-l7 @Akshith-cdr @theblag @prasannaPratapSingh @palak170306-design @nidhib08 @namrarafique93-del @kotebhakti30 @i-OmSharma @harsh0028-boop @divyanshisrivastava395 @bhumindeshpande8-spec @VirenSumbly @Vaibhavi-1107 @Satvik-art-creator @DivyanshSaharan @Aryan-Agarwal-creator
v0.1.6
72 new widgets, 35 new hooks, fixes across 14 packages, 5018 tests passing. 162 contributors shipped this release.
New packages
@termuijs/adapters connects your app to external tools: localStorage, conf, commander, chalk, execa, git, GitHub via Octokit, dotenv, keychain, zod validation, and a local RAG vector store with a built-in RAGChat widget.
@termuijs/charts ships as a standalone package. All chart widgets are re-exported and fully typed.
Widgets
New display widgets: Markdown, Code, Highlight, Typewriter, Digits, Marquee, Callout, Kbd, BigText, Hexdump, Stat, Avatar, Badge, Tag, EmptyState, Placeholder, Watermark
New layout widgets: SplitPane, Stack, Masonry, Fill, AspectRatio, Dock, Accordion, Collapsible, Carousel
New feedback widgets: ProgressCircle, ProgressString, LoadingDots, Stepper, Timer, Clock, Meter, NotificationBadge, Tooltip, ShortcutBar, TaskList, Timeline, ThinkingBlock
New chart widgets: StackedBarChart, Histogram, PieChart, BulletChart, CandlestickChart, AreaChart, ScatterPlot, RadarChart, GanttChart, BrailleCanvas
New input widgets: RangeInput, Knob, PinInput, Calendar, Form, DataGrid, Canvas, Pty
UI components
34 new components: Drawer, Wizard, RadioGroup, TreeSelect, TextArea, ButtonGroup, AppShell, FilePicker, SegmentedControl, MenuBar, MaskedInput, Disclosure, TagInput, Popover, Combobox, Listbar, Menu, Slider, Switch, DateRangePicker, Transfer, EmailInput, Checkbox, CheckboxGroup, Rating, ThemeSwitcher, SearchInput, Pages, ContentSwitcher, BasicAuthPrompt, SortPrompt, ScalePrompt, SnippetPrompt, QuizPrompt
Hooks
35 new hooks: useWorker, useEventListener, useTimeout, useInterval, useMediaQuery, useFocusWithin, useClipboard, useCountdown, useStopwatch, useThrottle, useDebounce, useMount, useLatest, useBoolean, useMap, useList, useSet, useToggle, useUpdateEffect, useUnmount, useIsMounted, useDefault, useForceUpdate, useFirstRender, useTransition, Suspense and lazy, useSubprocess, useSyncExternalStore, useDeferredValue, useId, useImperativeHandle, createPortal, useLayoutEffect, useTerminalSize, useEventCallback
Store
Middleware support, computed selectors with memoization, temporal history middleware, persist plugin, slices helper, createLogger middleware, mutate() for in-place signal mutations, store reset to initial state.
Router
Navigation guards with beforeEnter and afterEnter hooks, declarative redirect rules, query string parsing, route meta fields, param validation, useParams and useNavigate hooks, forward navigation, lazy routes.
Data
Docker monitoring, database connection pool monitoring, systemd service monitoring, useInfiniteQuery, useSSE, useWebSocket, useGpu, useBattery, useFileWatch, useTemperature, useMutation, response caching with invalidation, retry with exponential backoff.
Theming
4 new built-in themes: High Contrast, Rose Pine, Tokyo Night, Gruvbox. You now have 10 built-in themes.
New syntax: mixin support with @mixin and @include, calc() expressions, @import, size media queries, nested rules, runtime CSS variable overrides, adaptive() helper for light and dark terminals, color functions (lighten, darken, alpha).
Motion
Keyframe animations, chained and parallel sequencing, stagger helper, cubicBezier easing, repeat and yoyo modes, path animation, 2D vector helpers, interpolate and mapRange.
Core
Mouse double-click, drag synthesis, modifier keys, hit-grid dispatch. Bracketed paste. Keychord and sequence binding. OSC 8 hyperlinks. Terminal bell. setCursorShape. Clipboard read and write. screenMode for alternate, main, and inline rendering. Constraint-based layout engine with Pos and Dim algebra. Render profiling hooks. Incremental diff renderer.
Testing
New helpers: pressKey, pressKeys, getOutput, getByRole, getByLabelText, queryAllByText, queryAllByType, frameSerializer, createFixture, createVirtualClock, fireResize, snapshot diff reporter.
Dev server
ThemeWatcher reloads .tss files without restarting your app. Error overlay displays render errors in-terminal. Reload notification banner shows when hot reload fires.
Quick
Modifier-aware keybindings, tabs() and select() shorthands, stack() and spacer() layout builders, batch() re-exported from @termuijs/store.
create-termui-app
6 templates: minimal, dashboard, rest-client, forms-and-validation, ai-assistant, cli-tool. Non-interactive --yes flag skips all prompts. Component registry command lists available components.
Bug fixes
Core: render pipeline race condition, wide-char differential renderer, multi-byte UTF-8 input, ANSI escape sanitization, border offset correction, SIGINT and SIGTERM drain before exit.
Widgets: unicode-correct ProgressBar, Callout, Spinner; TextInput keyboard handling; DataGrid runtime crash; exports restored for ContextMenu, Fill, SplitPane, ThinkingBlock, Collapsible, Digits, DirectoryTree.
JSX: reconciler memory leak, Suspense fallback, portal fiber context, memo() per-fiber cache scoping.
Store: selector memoization, batch() rollback on throw, async batch support.
Data: shell injection replaced with execFile, partial line buffering in tail(), WebSocket console.warn removed.
Router: back() and forward() now apply guards and redirects correctly.
create-termui-app: path traversal prevention, Windows path validation, project name validation.
Contributors
162 contributors made commits in this release. Thank you to:
@Karanjot786 @srushti-panara @Aryan-Agarwal-creator @ionfwsrijan @ZainabTravadi @Harshithk951 @riddhima25bet10005-a11y @Rish-2006 @kajalpa302005 @Satvik-art-creator @Pranaykarvi @Nikhil-0710 @TanCodeX @jainiksha @Ishika-1110 @Komal2008 @Tejas9406 @madhuri-perumalla @OnkarJondhale @Harshit-Maurya838 @Rashi1404 @karthikj5453 @ARPANPATRA111 @nandani-singh15 @PremSahith @abhijnyan-codes @Akshita-2307 @Xenon010101 @Debangana-Dutta @KrutagyaKaneria @namrarafique93-del @Krishnavamsi-codes @Kokila-chandrakar @theblag @Krushnakant-08 @RosheshChaware @16Rohan @RitikOnWork @RangeR107 @AnantTirupati @aanyacloud @anjalikumari45 @yashrajpurohit7 @Vidulaa03 @realtushartyagi @Srushti-Thombre @Srishti-Gupta74 @mittalsonal @Shan7Usmani @SamXop123 @Nicks-19 @Lalit-mahajan-1 @harsh0028-boop @Abhik-Mudi @anchallll02 @kotebhakti30 @akshayad2006-cmd @siddiqui7864 @titax03 @Vaibhavi-1107 @Aspirant200715 @riyanshigupta890-cloud @Bhavikapatel06 @palak170306-design @Khushiii008 @KanchanWaldia @Jenisish @ayyushrk @anirudhagarwal-dev @aavishkarchaudhari @anshika1179 @Vaibhav090212 @Siddh2024 @Shivansho @Shiva210Jyoti @shineetejol9 @SatyajeetSahoo08 @saksham91108 @adityabhatkar23 @Vishvadharman @2593803287-hue @Yazhini74 @arpita-pa @VirenSumbly @rpoojaa06-git @Unnati1007 @Althafdudekula @DarkSorcerer14 @bhanu-forge @Chakshu-Bamotra-04 @ida-jemi @Jighnesh-Py13 @kunal-9090 @lakshaygujjar273-cys @mohitmeena3883 @NachiketPatil26 @paridhijain153 @PranavAgarkar07 @Rakesh-Manthri @SairajTripathy-0077 @ShubhamSawant726 @Shri-Ananth @shaktipy @saurabhhhcodes @sapronaut @sandeepsidar1210-rgb @Safiya007 @rj9884 @Pushtikansara @Pratishtha-Yadav @Prateek007380 @palxsh01 @711nishtha @Novice47 @Sneha6657 @sujeetkumar1425 @NirvanJain @Yashisinghal285 @anjali1521 @codedbydollys10 @Khushi5041 @mahakagarwal7 @nidhib08 @prernaajaypatil-oss @saam-07 @sripriya1156 @vidushi1129 @Dev-aaditya @AbhishekAwasthi47 @A-adilajaleel @thakurakanksha288 @anshull-saxena @Anunay-2712 @Anushkaaa-09 @asthasingh011 @ravichandra14 @biswa1601nk-hub @CoderPrateek971 @Dippp10-ally @DivyaShreeS09 @DivyanshSaharan @durgaprasadml @GAURI167007 @Jagnyaseni-17 @jatingow @kanan010506 @DAYHARIKA @sahare-mayur-0071 @maheshshinde9100 @manasvi-sahare @ezManish @MeghPatel-007 @nkapoor175