0.22.0
We are happy to release the new version of ratatui
🐭, a community-maintained fork of tui.
In this version, we have introduced a new Scrollbar
widget and enhanced the functionality of existing widgets like Block
and Barchart
. We have also made significant improvements to the stylization/widgets API, ensuring a smoother experience when creating TUIs. Additionally, we have addressed various bugs and implemented enhancements to optimize the overall user experience in TUI development.
Here is a blog post highlighting the prominent new features and providing practical examples of their usage: https://blog.orhun.dev/ratatui-0-22-0
Features
- (barchart) Set custom text value in the bar (#309)
- (barchart) Enable barchart groups (#288)
- (block) Support for having more than one title (#232)
- (examples) User_input example cursor movement (#302)
- (misc) Make builder fn const (#275) (#275)
- (prelude) Add a prelude (#304)
- (style) Enable setting the underline color for crossterm (#308) (#310)
- (style) Allow Modifiers add/remove in const (#287)
- (stylize) Allow all widgets to be styled (#289)
- (terminal) Expose 'swap_buffers' method
- (uncategorized) Stylization shorthands (#283)
- (uncategorized) Add scrollbar widget (#228)
Bug Fixes
- (clippy) Unused_mut lint for layout (#285)
- (examples) Correct progress label in gague example (#263)
- (layout) Cap Constraint::apply to 100% length (#264)
- (lint) Suspicious_double_ref_op is new in 1.71 (#311)
- (prelude) Remove widgets module from prelude (#317)
- (title) Remove default alignment and position (#323)
- (typos) Configure typos linter (#233)
- (uncategorized) Rust-tui-template became a revival project (#320)
- (uncategorized) Revert removal of WTFPL from deny.toml (#266)
Refactor
Documentation
- (color) Parse more color formats and add docs (#306)
- (lib) Add
tui-term
a pseudoterminal library (#268) - (lib) Fixup tui refs in widgets/mod.rs (#216)
- (lib) Add backend docs (#213)
- (readme) Remove duplicated mention of tui-rs-tree-widgets (#223)
- (uncategorized) Improve CONTRIBUTING.md (#277)
- (uncategorized) Fix scrollbar ascii illustrations and calendar doc paths (#272)
- (uncategorized) README tweaks (#225)
- (uncategorized) Add CODEOWNERS file (#212)
- (uncategorized) Update README.md and add hello_world example (#204)
Styling
- (comments) Set comment length to wrap at 100 chars (#218)
- (config) Apply formatting to config files (#238)
- (manifest) Apply formatting to Cargo.toml (#237)
- (readme) Update the style of badges in README.md (#299)
- (widget) Inline format arguments (#279)
- (uncategorized) Fix formatting (#292)
- (uncategorized) Reformat imports (#219)
Testing
- (barchart) Add unit tests (#301)
- (paragraph) Simplify paragraph benchmarks (#282)
- (uncategorized) Add benchmarks for paragraph (#262)
Miscellaneous Tasks
- (ci) Bump cargo-make version (#239)
- (ci) Enable merge queue for builds (#235)
- (ci) Integrate cargo-deny for linting dependencies (#221)
- (commitizen) Add commitizen config (#222)
- (demo) Update demo gif (#234)
- (demo) Update demo gif with a fixed unicode gauge (#227)
- (features) Enable building with all-features (#286)
- (github) Add EditorConfig config (#300)
- (github) Simplify the CODEOWNERS file (#271)
- (github) Add pull request template (#269)
- (github) Fix the syntax in CODEOWNERS file (#236)
- (license) Add Ratatui developers to license (#297)
- (tests) Add coverage job to bacon (#312)
- (uncategorized) Lint and doc cleanup (#191)
Build
- (deps) Upgrade bitflags to 2.3 (#205) [breaking]
- (uncategorized) Add git pre-push hooks using cargo-husky (#274)
Continuous Integration
- (makefile) Split CI jobs (#278)
- (uncategorized) Parallelize CI jobs (#318)
- (uncategorized) Add feat-wrapping on push and on pull request ci triggers (#267)
- (uncategorized) Add code coverage action (#209)
Contributors
Thank you so much to everyone that contributed to this release!
Here is the list of contributors who have contributed to ratatui
for the first time!
- @nydragon
- @snpefk
- @Philipp-M
- @mrbcmorris
- @endepointe
- @kdheepak
- @samyosm
- @SLASHLogin
- @karthago1
- @BoolPurist
- @Nogesma
- @lthoerner
Special thanks to Florian Dehau for creating this awesome library 💖 We don't see how this would be possible without him in the first place.
Feel free to join our Discord for more discussion!