Cursive v0.15.0 Release Notes
Release Date: 2020-05-26 // about 6 years ago-
๐ฅ Breaking changes
- Split library into a backend-agnostic
cursive-coreand a user-facingcursive. - 0๏ธโฃ
Cursive::defaultnow needs thecursive::CursiveExttrait 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 AnyCbnow takes a&mut dyn Viewrather than a&mut dyn Any.
โก๏ธ API updates
- โ Added
cursive::{default,ncurses,pancurses,termion,crossterm,blt,dummy}functions. - โ Add
Cursive::debug_name - โ Add
ScreensViewto move some code away from theCursiveroot- Reworked global callbacks configuration
- Ctrl-C can be rewired to no longer exit the application
- Add
SelectView::(try_)iter_mut() - ๐
Dialog::{test, info}now acceptStyledStringas input - โ Add missing functions to Checkbox re: enabled state
๐ Bugfixes
- ๐ Fix Ctrl-Z binding for ncurses
- ๐ Fix potential crash with empty
SelectView - โ Add
tomlandmarkdownfeatures to docs.rs
- Split library into a backend-agnostic
Previous changes from v0.14.0
-
๐ฅ Breaking changes
cursive::event::AnyCbchanged fromBox<...>to&mut ..., so users ofView::call_on_anyno longer need to box their closures.- โ Remove
BoxView::squishable. - โก๏ธ Update crossterm to 0.14.
- โ Removed
Fromimplementations forMargins. UseMargins::lrtband the like instead.- Or
Dialog::padding_lrtb.
- Or
- ๐ Renamed multiple types (old names are still re-exported, but deprecated):
BoxView->ResizedViewViewBox->BoxedViewSizedView->LastSizeViewIdentifiable->NameableBoxable->ResizableIdView->NamedViewSelector::Id->Selector::Namewith_id->with_namecall_on_id->call_on_namefind_id->find_namefocus_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::scrollis now a public module.- Add
Cursive::process_eventsandCursive::post_events.- This gives users finer control than
Cursive::step.
- This gives users finer control than
Layernow has acoloroption.LinearLayoutcan 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
TitleSecondaryfrom yellow to light blue. - ๐ Changed the default color for
Tertiaryfrom grey to white. - โฌ๏ธ Reduced dependencies (
tomlis 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
ScrollViewafter focus change. - ๐ Fixed layout for
BoxViewwith some size constraints. - ๐ On Windows, do not print unix-specific character during initialization.
- ๐ Fix out-of-bounds access for some mouse events in
MenuPopup