All Versions
33
Latest Version
Avg Release Cycle
56 days
Latest Release
1400 days ago
Changelog History
Page 2
Changelog History
Page 2
-
v0.9.5 Changes
May 21, 2020π Bug Fixes
- π Fix out of bounds panic in
widgets::Tabswhen the widget is rendered on small areas.
- π Fix out of bounds panic in
-
v0.9.4 Changes
May 12, 2020π Bug Fixes
- Ignore zero-width graphemes in
Buffer::set_stringn.
- Ignore zero-width graphemes in
-
v0.9.3 Changes
May 11, 2020π Bug Fixes
- π Fix usize overflows in
widgets::Chartwhen a dataset is empty.
- π Fix usize overflows in
-
v0.9.2 Changes
May 10, 2020π Bug Fixes
- π Fix usize overflows in
widgets::canvas::Linedrawing algorithm.
- π Fix usize overflows in
-
v0.9.1 Changes
April 16, 2020π Bug Fixes
- The
Listwidget now takes into account the width of thehighlight_symbolwhen calculating the total width of its items. It prevents items to overflow outside of the widget area.
- The
-
v0.9.0 Changes
April 14, 2020π Features
- Introduce stateful widgets, i.e widgets that can take advantage of keeping some state around between two draw calls (#210 goes a bit more into the details).
- π Allow a
Tablerow to be selected. ```rust // State initialization let mut state = TableState::default();
// In the terminal.draw closure let header = ["Col1", "Col2", "Col"]; let rows = [ Row::Data(["Row11", "Row12", "Row13"].into_iter()) ]; let table = Table::new(header.into_iter(), rows.into_iter()); f.render_stateful_widget(table, area, &mut state);
// In response to some event: state.select(Some(1));
* β Add a way to choose the type of border used to draw a block. You can now choose from plain, rounded, double and thick lines. * β Add a `graph_type` property on the `Dataset` of a `Chart` widget. By 0οΈβ£ default it will be `Scatter` where the points are drawn as is. An other option is `Line` where a line will be draw between each consecutive points of the dataset. * π Style methods are now const, allowing you to initialize const `Style` objects. * π Improve control over whether the legend in the `Chart` widget is shown or not. You can now set custom constraints using `Chart::hidden_legend_constraints`. * β Add `Table::header_gap` to add some space between the header and the first row. * β Remove `log` from the dependencies * β Add a way to use a restricted set of unicode symbols in several widgets to π improve portability in exchange of a degraded output. (see `BarChart::bar_set`, `Sparkline::bar_set` and `Canvas::marker`). You can check how the `--enhanced-graphics` flag is used in the demos. ### π₯ Breaking Changes * `Widget::render` has been deleted. You should now use `Frame::render_widget` to render a widget on the corresponding `Frame`. This makes the `Widget` implementation totally decoupled from the `Frame`. ```rust // Before Block::default().render(&mut f, size); // After let block = Block::default(); f.render_widget(block, size);Widget::drawhas been renamed toWidget::renderand the signature has β‘οΈ been updated to reflect that widgets are consumable objects. Thus the method takesselfinstead of&mut self. ```rust // Before impl Widget for MyWidget { fn draw(&mut self, area: Rect, buf: &mut Buffer) { } }
/// After impl Widget for MyWidget { fn render(self, arera: Rect, buf: &mut Buffer) { } }
* `Widget::background` has been replaced by `Buffer::set_background` ```rust // Before impl Widget for MyWidget { fn render(self, arera: Rect, buf: &mut Buffer) { self.background(area, buf, self.style.bg); } } // After impl Widget for MyWidget { fn render(self, arera: Rect, buf: &mut Buffer) { buf.set_background(area, self.style.bg); } }- β‘οΈ Update the
Shapetrait for objects that can be draw on aCanvaswidgets. Instead of returning an iterator over its points, aShapeis given aPainterobject that provides apaintas well as aget_pointmethod. This gives theShapemore information about the surface it will be drawn to. In particular, this change allows theLineshape to use a more precise and efficient drawing algorithm (Bresenham's line algorithm). SelectableListhas been deleted. You can now take advantage of the associatedListStateof theListwidget to select an item. ```rust // Before List::new(&["Item1", "Item2", "Item3"]) .select(Some(1)) .render(&mut f, area);
// After
// State initialization let mut state = ListState::default();
// In the terminal.draw closure let list = List::new(&["Item1", "Item2", "Item3"]); f.render_stateful_widget(list, area, &mut state);
// In response to some events state.select(Some(1));
* π `widgets::Marker` has been moved to `symbols::Marker` -
v0.8.0 Changes
December 15, 2019π₯ Breaking Changes
- β¬οΈ Bump crossterm to 0.14.
- β Add cross symbol to the symbols list.
π Bug Fixes
- π
Use the value of
title_styleto style the title ofAxis.
-
v0.7.0 Changes
November 29, 2019π₯ Breaking Changes
- π Use
Constraintinstead of integers to specify the widths of theTableπ± widget's columns. This will allow more responsive tables.
Table::new(header, row) .widths(&[15, 15, 10]) .render(f, chunk);becomes:
Table::new(header, row) .widths(&[ Constraint::Length(15), Constraint::Length(15), Constraint::Length(10), ]) .render(f, chunk);- β¬οΈ Bump crossterm to 0.13.
- π· Use Github Actions for CI (Travis and Azure Pipelines integrations have been deleted).
π Features
- β Add support for horizontal and vertical margins in
Layout.
- π Use
-
v0.6.2 Changes
July 16, 2019Β Added
Textimplements PartialEq
π ###Β Fixed
- Avoid overflow errors in canvas
Β v0.6.1 - 2019-06-16
π ###Β Fixed
- Avoid a division by zero when all values in a barchart are equal to 0.
- π Fix the inverted cursor position in the curses backend.
- Ensure that the correct terminal size is returned when using the crossterm backend.
- Avoid highlighting the separator after the selected item in the Tabs widget.
Β v0.6.0 - 2019-05-18
Β Changed
- β‘οΈ Update crossterm backend
Β v0.5.1 - 2019-04-14
π Fixed
- π Fix a panic in the Sparkline widget
-
v0.6.1 Changes
June 16, 2019π Bug Fixes
- Avoid a division by zero when all values in a barchart are equal to 0.
- π Fix the inverted cursor position in the curses backend.
- Ensure that the correct terminal size is returned when using the crossterm backend.
- Avoid highlighting the separator after the selected item in the Tabs widget.