mirror of
https://github.com/ratatui-org/ratatui
synced 2024-11-30 00:20:34 +00:00
3.9 KiB
3.9 KiB
Changelog
To be released
v0.4.0 - 2019-02-03
### Added
- Add a new canvas shape:
Rectangle
. - Official support of
Crossterm
backend. - Make it possible to choose the divider between
Tabs
. - Add word wrapping on Paragraph.
- The gauge widget accepts a ratio (f64 between 0 and 1) in addition of a percentage.
### Changed
- Upgrade to Rust 2018 edition.
### Fixed
- Fix rendering of double-width characters.
- Fix race condition on the size of the terminal and expose a size that is
safe to use when drawing through
Frame::size
. - Prevent unsigned int overflow on large screens.
v0.3.0 - 2018-11-04
Added
- Add experimental test backend
v0.3.0-beta.3 - 2018-09-24
Changed
show_cursor
is called whenTerminal
is dropped if the cursor is hidden.
v0.3.0-beta.2 - 2018-09-23
Changed
- Remove custom
termion
backends. This is motivated by the fact thattermion
structs are meant to be combined/wrapped to provide additional functionalities to the terminal (e.g AlternateScreen, Mouse support, ...). Thus providing exclusive types do not make a lot of sense and give a false hint that additional features cannot be used together. The recommended approach is now to create your own version ofstdout
:
let stdout = io::stdout().into_raw_mode()?;
let stdout = MouseTerminal::from(stdout);
let stdout = AlternateScreen::from(stdout);
and then to create the corresponding termion
backend:
let backend = TermionBackend::new(stdout);
The resulting code is more verbose but it works with all combinations of
additional termion
features.
v0.3.0-beta.1 - 2018-09-08
Changed
- Replace
Item
by a generic and flexibleText
that can be used in bothParagraph
andList
widgets. - Remove unecessary borrows on
Style
.
v0.3.0-beta.0 - 2018-09-04
Added
- Add a basic
Crossterm
backend
Changed
- Remove
Group
and introduceLayout
in its placeTerminal
is no longer required to compute a layoutSize
has been renamedConstraint
- Widgets are rendered on a
Frame
instead of aTerminal
in order to avoid mixingdraw
andrender
calls draw
onTerminal
expects a closure where the UI is built by rendering widgets on the givenFrame
- Update
Widget
traitdraw
takes area by valuerender
takes aFrame
instead of aTerminal
- All widgets use the consumable builder pattern
SelectableList
can have no selected item and the highlight symbol is hidden in this case- Remove markup langage inside
Paragraph
.Paragraph
now expects an iterator ofText
items
v0.2.3 - 2018-06-09
Added
- Add
start_corner
option forList
- Add more text aligment options for
Paragraph
v0.2.2 - 2018-05-06
Added
Terminal
implementsDebug
Changed
- Use
FnOnce
instead ofFnMut
in Group::render
v0.2.1 - 2018-04-01
Added
- Add
AlternateScreenBackend
intermion
backend - Add
TermionBackend::with_stdout
in order to let an user of the library provides its own termion struct - Add tests and documentation for
Buffer::pos_of
- Remove leading whitespaces when wrapping text
Fixed
- Fix
debug_assert
inBuffer::pos_of
- Pass the style of
SelectableList
to the underlyingList
- Fix missing character when wrapping text
- Fix panic when specifying layout constraints
v0.2.0 - 2017-12-26
Added
- Add
MouseBackend
intermion
backend to handle scroll and mouse events - Add generic
Item
for items in aList
Changed
-
Rename
TermionBackend
toRawBackend
(to distinguish it from theMouseBackend
) -
Generic parameters for
List
to allow passing iterators as items -
Generic parameters for
Table
to allow using iterators as rows and header -
Generic parameters for
Tabs
-
Rename
border
bitflags toBorders
-
Run latest
rustfmt
on all sources
Removed
- Drop
log4rs
as a dev-dependencies in favor ofstderrlog