Releases: Im-Beast/deno_tui
Releases · Im-Beast/deno_tui
Deno TUI 1.3.1
Deno TUI 1.3.0
Release 1.3.0
BREAKING CHANGES
- Deno 1.27+ is now required since Deno 1.27
Deno.consoleSize()
no longer requires an argument - Tui 1.2.0 will still work on Deno 1.27 unless you type check remote modules
Changelog
- Tui no longer requires
--unstable
permission on Linux and macOS as Deno 1.27 stabilized every required API--unstable
alongside--allow-ffi
is still required on Windows.
- Normalized the way classes use options construct themselfs
- Added
replaceEmptyStyle
function intheme.ts
- Added new
TableComponent
Full Changelog: 1.2.0...1.3.0
Deno TUI 1.2.0
Release 1.2.0
BREAKING CHANGES
- Deno 1.26+ is now required because of
Deno.setRaw
being moved tostdin.setRaw
Changelog
- Changed
Deno.setRaw
calls tostdin.setRaw
(To make it work for Deno 1.26+) - Improved
TextboxComponent
- Added
placeholder
,lineNumbering
andlineHighlighting
option that offer better customization - Added
keyboardHandler
option that allows you to use custom keyboard handler in textbox - Improved interacting with it
- Added
- Fixed minor issues regarding rendering on
Canvas
that caused styles to be improperly ordered - Fixed memory leak in
ComboboxComponent
caused by not clearing temporary buttons - Fixed
SliderComponent
's thumb not being styled whenadjustThumbSize
option is set to true - Minorly refactored order of property types in classes
Full Changelog: 1.1.0...1.2.0
Deno TUI 1.1.0
Release 1.1.0
BREAKING CHANGES
TypedEventTarget
andCombinedAsyncIterator
has been removed- Tui now uses custom implementation of
EventEmitter
instead ofAsyncIterator
's andEventTarget
Tui.run()
now starts application and returns nothing- Use
Tui.on()
to intercept events
- Use
Tui.render()
,Tui.update()
andCanvas.render()
now return functions that allow to stop them- Tui no longer automatically exits after CTRL+C'ing
- To return to previous behaviour call
Tui.dispatch()
after creating Tui - You can manually call
Tui.remove()
to stop Tui (doesn't exit deno app)
- To return to previous behaviour call
- Tui's
close
has been renamed todispatch
Component
's now use stricter typings soComponent
without specifying literal type doesn't mean Any Component, useComponent<EventRecord>
instead.
Changelog
- Added custom
EventEmitter
andDeffered
implementation - Switching to custom
EventEmitter
indirectly caused many things to improve:- Changing size of the Tui caused by resizing terminal is now smooth as butter
- Tui is now way more stable when it's time to
unload
it (in watch) and on closing- There were cases where it could still run in the background after closing, no longer the case
updateRate
andrefreshRate
is now way more stable,CombinedAsyncIterator
caused it to overshoot previously- frametimes are now way more consistent
- Previously, some small (but existent) CPU spikes were happening, it's no longer the case
- Component's can now intercept more events, specifically
remove
,keyPress
,multiKeyPress
andmousePress
- Theoritically Tui should now be more memory efficient in the long run,
Tui.remove()
andComponent.remove()
"clean" more after themselfs
Tip
- Take a look at changelog and/or demo diff to see how to adapt to these changes
Full Changelog: 1.0.3...1.1.0
Deno TUI 1.0.3
Release 1.0.3
Changelog
- Renamed
KeypressEvent
class toKeyPressEvent
to keep consistent naming scheme - Fixed broken mouse controls within views
Full Changelog: 1.0.2...1.0.3
Deno TUI 1.0.2
Release 1.0.2
Changelog
- Fixed
TextboxComponent
repeating text inside of it when using backspace at the start of the line - Improved interaction using keyboard with
CheckboxComponent
andComboboxComponent
- Improved keyboard control handler, it should now be more reliable and performant
ScrollableViewComponent
state
now gets set to"focused"
when it's currently used using keyboard (CTRL+F
key switching)- Minor refactoring (added explicit return type to functions and methods)
Full Changelog: 1.0.1...1.0.2
Deno TUI 1.0.1
Release 1.0.1
Changelog
ViewComponent
now providesupdateOffsets
methodComponent
'sview
property can now be dynamically changed andViewComponent
's offset will be updatedScrollableViewComponent
now adjusts its margins accordingly to its scrollbars visibilitysrc/theme.ts
now exportshierarchizeTheme
function which automatically assigns correct hierarchy values to properties of given input.- Minor refactoring regarding given QOL changes
Full Changelog: 1.0.0...1.0.1
Deno TUI 1.0.0
Release 1.0.0 🎉
Changelog
- Added missing documentation
- Cleaned up code
- Tui now switches to secondary buffer on
Tui.run
- Smoothened experience of resizing terminal
- Views are more integrated into components
- Components now have
view
property which assigns them to specificViewComponent
- Components now have
- Keyboard control handling improvements
- It now supports switching views using
CTRL+F...
keys - Defaults to already focused component and fallbacks to first one in tui
- It now respects z-indexes
- It now supports switching views using
ScrollableViewComponent
's scrollbars are now within its rectangleViewComponent
receivedmargin
option- Fixed mouse handling
Tui
'sclose
event is now dispatched on more signal occasionsComponent
'srectangle
property is now an getter and setter- This fixes an issue which made it impossible for components to extend and use getters and setters
- Introduced new
PlaceComponent
which definitely (Component
doesn't guarantee it) hasrectangle
property doesn't modify it when getting or setting it- Modified some components to inherit it instead of
Component
- Modified some components to inherit it instead of
ComboboxComponent
'soption
property has been renamed tovalue
to normalize naming scheme across components- Added some simple examples
Full Changelog: 1.0.0-RC...1.0.0
Deno TUI 1.0.0-RC
Release candidate for 1.0.0
Changelog
- Changelog would be very long pointing out everything, so take it as a summary
- It's now OOP
- Development of new components is way easier thanks to inheritance
- Takes use of async iterators and generators
- Performance skyrocketed 🚀
- It's now styling framework agnostic, literally anything can be used to style component
Styler
(nowTheme
) doesn't need to be compiledkey_reader.ts
recode- Smarter way of reading modifier and keys in terminals
- Added support for SGR and UTF-8 mouse handling
- Special keys and modifiers are now supported on windows thanks to using FFI
Full Changelog: 0.5.1...1.0.0-RC
Deno TUI 0.5.1
Changelog
- Improved documentation and README
- Added community contributing guidelines as well ass issue templates