Releases: Karanjot786/TermUI
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