I am happy to announce the release of ratatui_ruby v0.7.0.
This release restructures the library to match Ratatui's module hierarchy
and adds rich text support to tables. The TUI API is unchanged. Most
applications upgrade without modification.
What is new:
* **Rich Text in Table Cells.**
Table cells now accept Text::Span and Text::Line objects. Style
individual characters. Highlight errors in red. Make headers bold.
Lists gained this in v0.6.0. Tables now match.
* **Row and Cell Wrappers.**
New Widgets::Row and Widgets::Cell classes wrap table content.
Apply row-level backgrounds. Set cell-specific styles. Control row
height and margins. Plain arrays still work. The wrappers add options.
* **Line-Level Styling.**
Text::Line now accepts a `style:` parameter. Apply backgrounds or
colors to entire lines without styling each span individually.
* **Line#width Method.**
Text::Line now has a `width` method. Calculate display width in
terminal cells. Essential for layout calculations with rich text.
Breaking changes:
- Namespace restructure. Classes moved into Layout, Widgets, Style,
and Buffer modules. The TUI API is unaffected. Direct class
instantiation requires updated paths. See the migration guide.
- Session renamed to TUI. Same class, better name.
- Table `highlight_style:` renamed to `row_highlight_style:` to match
Ratatui's naming convention.
- RatatuiRuby::Cell (buffer inspection) is now RatatuiRuby::Buffer::Cell.
New RatatuiRuby::Widgets::Cell handles table cell construction.
Most users call `tui.paragraph(...)`, `tui.table(...)`, `tui.style(...)`.
These methods work exactly as before.
Migration guide: https://git.sr.ht/~kerrick/ratatui_ruby/tree/v0.7.0/item/doc/v0.7.0_migration.md
Full changelog: https://git.sr.ht/~kerrick/ratatui_ruby/tree/v0.7.0/item/CHANGELOG.md
Gem: https://rubygems.org/gems/ratatui_ruby
Source: https://git.sr.ht/~kerrick/ratatui_ruby