I am happy to announce ratatui_ruby v1.0.0 (stable), v1.1.0, and v1.2.0.
## ratatui_ruby v1.0.0 (stable)
The API is stable. No breaking changes until 2.0.
What is fixed:
* **Terminal Deadlocks Resolved.**
Calling terminal queries (`viewport_area`, `poll_event`, etc.) or mutations
(`insert_before`, `set_cursor_position`) from inside a `draw()` block
previously caused silent freezes. Queries now work via a snapshot captured
before rendering. Mutations raise `Error::Invariant` with a clear message.
* **TableState Row Navigation.**
Added `select_next`, `select_previous`, `select_first`, `select_last` for
row navigation. These match `ListState`'s API.
## ratatui_ruby v1.1.0
What is new:
* **Terminal Capability Detection.**
New class methods on `Terminal` for environment-based detection:
`Terminal.tty?`, `Terminal.dumb?`, `Terminal.no_color?`,
`Terminal.interactive?`, `Terminal.color_support`. Query capabilities
before initializing TUI mode.
* **Alignment Constants.**
New `HorizontalAlignment` and `VerticalAlignment` modules with discoverable
constants (`LEFT`, `CENTER`, `RIGHT`, `TOP`, `BOTTOM`).
* **Frame Count Query.**
`RatatuiRuby.frame_count` returns frames drawn since terminal initialization.
* **Mouse and Resize Symbol Comparison.**
`Event::Mouse` and `Event::Resize` support symbol comparison via `to_sym`
and `==`. Use `event == :mouse_left_down` or `event == :resize`.
* **Key Event DWIM Predicates.**
Arrow key aliases (`arrow_up?`, `up_arrow?`) distinguish keyboard input from
mouse events.
* **Generated RBS Predicates.**
New `rake rbs:predicates` generates RBS declarations for all 1,328
`Event::Key` predicate methods.
## ratatui_ruby v1.2.0
What is new:
* **Inline Sync Mode.**
`SyntheticEvents.inline_sync!` enables deterministic ordering of sync events
with key events. Runtimes that need ordering guarantees should call this at
startup.
Full changelog:
https://git.sr.ht/~kerrick/ratatui_ruby/tree/v1.2.0/item/CHANGELOG.md
Installation:
gem install ratatui_ruby
Gem: https://rubygems.org/gems/ratatui_ruby
Source: https://git.sr.ht/~kerrick/ratatui_ruby
Website: https://www.ratatui-ruby.dev