cursive/CHANGELOG.md

150 lines
4.4 KiB
Markdown
Raw Permalink Normal View History

2018-01-17 02:54:37 +00:00
# Changelog
2018-11-09 20:47:58 +00:00
## Next version (0.10.0)
### New features
- Add `EventTrigger` and update `OnEventView` to use it.
2018-11-09 22:33:43 +00:00
- Breaking change: "inner" callbacks for OnEventView now take the event as
extra argument.
2018-11-09 22:27:30 +00:00
- Add `Printer::enabled` and `EnableableView` to disable whole subtrees
2018-11-09 20:47:58 +00:00
### Bugfixes
- Fix mouse events on Ubuntu
### Doc
- Added examples to most utility types (`XY`, `Vec2`, ...)
2018-10-18 20:55:39 +00:00
## 0.9.2
### New features
- Add an optional title to `Panel`
- Add `immut1!`, `immut2!` and `immut3!` macros to wrap a `FnMut` in `Fn`
- SelectView: autojump is now opt-in (jump to an element after a letter is pressed)
### Bugfixes
- Fix possible crash with `ListView` and `SelectView` in very small spaces
- Fix termion backend compilation on non-unix platforms
## 0.9.1
2018-07-26 05:28:18 +00:00
2018-09-14 19:58:50 +00:00
### New features
- Add `Cursive::on_event` to send simulated events.
- Add `EventResult::and` to combine callbacks.
- Allow custom color in `ProgressBar`.
### Bugfixes
- LinearLayout:
- Better geometry computation with constrained size
- Fixed cache invalidation
- Fix possible panic when removing children
- ScrollView:
- Fix possible panic with full-height scrollbar
- Fix possible panic with empty content
- Fix cache
- Fix menubar focus after action
## Doc
- Fix Readme and examples with `Cursive::default()`
2018-07-26 05:28:18 +00:00
## 0.9.0
2018-04-02 05:58:25 +00:00
### New features
2018-11-09 22:33:43 +00:00
- Cursive now supports third-party backends
2018-07-09 17:38:17 +00:00
- Add generic `ScrollView` wrapper. Removes internal scrolling behaviour from
`TextView`.
- Callbacks sent through `Cursive::cb_sink()` are now processed instantly,
without the need for `set_fps`.
2018-04-02 05:58:25 +00:00
- Make backend a dynamic choice
- User must select a backend in `Cursive::new`
- 3rd party libraries do not need to play with backend features anymore
2018-07-09 17:38:17 +00:00
- Move from `chan` and `chan-signals` to `crossbeam-channel` and `signal-hook`
- Batch-process events for higher performance
2018-04-02 05:58:25 +00:00
- Add `StackView::find_layer_from_id`
- Add `SelectView::insert_item`
- Add `TextArea::{enable, disable}`
- Reworked `AnyView`
- `SelectView`: Fix mouse events
- Return callbacks from manual control methods
- `SelectView::{set_selection, select_up, select_down, remove_item}`
- `EditView::{set_content, insert, remove}`
- Add `rect::Rect`
2018-11-09 20:47:58 +00:00
- Add `HideableView`
2018-04-02 05:58:25 +00:00
### Changes
2018-11-09 22:33:43 +00:00
- Replaced `Cursive::new()` with `Cursive::default()`
2018-04-02 05:58:25 +00:00
- Renamed `Vec4` to `Margins`
- `Callbacks` cannot be created from functions that return a value
- The returned value used to be completely ignored
- `AnyView` does not extend `View` anymore (instead, `View` extends `AnyView`)
- If you were using `AnyView` before, you probably need to replace it with `View`
2018-07-09 17:38:17 +00:00
- Scrolling is now added to a view with `.scrollable()`
- `cb_sink` is now a `crossbeam_channel::Sender` instead of `chan::Sender`
2018-07-23 03:29:42 +00:00
- `SelectView::selection` now returns an `Option<Rc<T>>` instead of just `Rc<T>`.
It will return `None` if the `SelectView` is empty.
2018-02-20 21:59:10 +00:00
2018-03-11 17:16:25 +00:00
## 0.8.1
### New features
- Add `Cursive::clear_global_callbacks`
### Bugfixes
- Fix non-ASCII input with pancurses backend
- Fix `StackView::move_layer`
- Fix layout computation for `SelectView`
- Remove unused `maplit` dependency for termion and blt backends
2018-02-20 21:59:10 +00:00
## 0.8.0
2018-01-17 02:54:37 +00:00
### New features
2018-01-18 18:32:08 +00:00
- Style (breaking change):
2018-01-17 18:31:20 +00:00
- Added support for bold/italic/underlined text
2018-01-17 02:54:37 +00:00
- Added `StyledString` for markup text
2018-01-18 18:32:08 +00:00
- Refactored line-break module
- Colors (breaking change):
- Added ColorStyle and PaletteColor for more flexible colored text
2018-01-17 02:54:37 +00:00
- Buttons:
- Added `Dialog::buttons` to iterate on buttons
- Added `Button::set_label` and `Button::label`
- TextView:
2018-01-17 18:31:20 +00:00
- Added TextContent, a way to separate model and view for TextView
- Added manual scrolling methods
2018-01-17 02:54:37 +00:00
- Allow multiple global callbacks per event
- Allow buttons and delimiters in top-level menubar
- StackView:
2018-02-20 21:59:10 +00:00
- Added `StackView::move_layer` to re-order layers
2018-01-17 02:54:37 +00:00
- `StackView::pop_layer` now returns the pop'ed view
2018-02-20 21:59:10 +00:00
- Added `StackView::reposition_layer` to move a layer around
- Dialog: added `Dialog::focus(&self)`
- SelectView: added `SelectView::selected`
- `Cursive::cb_sink` now accepts `FnOnce` (previously `Fn` only)
2018-01-17 02:54:37 +00:00
### Bugfixes
- Fix a bug in `TextArea::set_content`
- Fix `Color::from_256colors` for grayscale colors
- Fix resize detection on windows
2018-02-20 21:59:10 +00:00
- Fix possible panic with weird input on pancurses
- Fix possible panic in ListView layout
2018-01-17 02:54:37 +00:00
### Doc
- Add per-distributions instructions to install ncurses
- Improved comments in examples
- Improve doc for `Cursive::find_id`
- Improve doc for `Identifiable::with_id`
2018-02-20 21:59:10 +00:00
- Include Changelog