Cursive v0.15.0 Release Notes
Release Date: 2020-05-26 // over 4 years ago-
๐ฅ Breaking changes
- Split library into a backend-agnostic
cursive-core
and a user-facingcursive
. - 0๏ธโฃ
Cursive::default
now needs thecursive::CursiveExt
trait to be in scope. - โก๏ธ Update dependencies:
- crossterm to 0.17.
- enumset to 1.0
- ahash to 0.3
- pulldown-cmark to 0.7
- โ Add
PaletteColor::HighlightText
AnyCb
now takes a&mut dyn View
rather than a&mut dyn Any
.
โก๏ธ API updates
- โ Added
cursive::{default,ncurses,pancurses,termion,crossterm,blt,dummy}
functions. - โ Add
Cursive::debug_name
- โ Add
ScreensView
to move some code away from theCursive
root- Reworked global callbacks configuration
- Ctrl-C can be rewired to no longer exit the application
- Add
SelectView::(try_)iter_mut()
- ๐
Dialog::{test, info}
now acceptStyledString
as input - โ Add missing functions to Checkbox re: enabled state
๐ Bugfixes
- ๐ Fix Ctrl-Z binding for ncurses
- ๐ Fix potential crash with empty
SelectView
- โ Add
toml
andmarkdown
features to docs.rs
- Split library into a backend-agnostic
Previous changes from v0.14.0
-
๐ฅ Breaking changes
cursive::event::AnyCb
changed fromBox<...>
to&mut ...
, so users ofView::call_on_any
no longer need to box their closures.- โ Remove
BoxView::squishable
. - โก๏ธ Update crossterm to 0.14.
- โ Removed
From
implementations forMargins
. UseMargins::lrtb
and the like instead.- Or
Dialog::padding_lrtb
.
- Or
- ๐ Renamed multiple types (old names are still re-exported, but deprecated):
BoxView
->ResizedView
ViewBox
->BoxedView
SizedView
->LastSizeView
Identifiable
->Nameable
Boxable
->Resizable
IdView
->NamedView
Selector::Id
->Selector::Name
with_id
->with_name
call_on_id
->call_on_name
find_id
->find_name
focus_id
->focus_name
โก๏ธ API updates
- ๐
SelectView::{item, with_all}
now acceptS: Into<StyledString>
for colored labels. - Add
ScrollView::scroll_to_important_area
. - Add
LinearLayout::set_focus_index
. - โ Add
XY::{sum, product}
. view::scroll
is now a public module.- Add
Cursive::process_events
andCursive::post_events
.- This gives users finer control than
Cursive::step
.
- This gives users finer control than
Layer
now has acolor
option.LinearLayout
can now directly add boxed views without re-boxing.- โ Add inner getters to
EnableableView
. - Add
PaddedView::get_inner(_mut)
. - โ Add a bunch of constructors for
Margins
. - โ Add
Dialog::padding_lrtb
- Add
Dialog::set_padding*
- โ Add
PaddedView::lrtb
๐ Improvements
- ๐ Changed the default color for
TitleSecondary
from yellow to light blue. - ๐ Changed the default color for
Tertiary
from grey to white. - โฌ๏ธ Reduced dependencies (
toml
is now optional, removedhashbrown
). - 0๏ธโฃ
Cursive::default()
now fallbacks do dummy backend if no other is available.
๐ Bugfixes
- ๐ Fixed
ScrollView::show_scrollbars()
. - โก๏ธ Correctly update the offset for
ScrollView
after focus change. - ๐ Fixed layout for
BoxView
with some size constraints. - ๐ On Windows, do not print unix-specific character during initialization.
- ๐ Fix out-of-bounds access for some mouse events in
MenuPopup