Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Added
Changed
Fixed
Removed
0.2.0 - 2026-01-08
Added
-
The Elm Architecture (TEA): Implemented the core Model-View-Update (MVU) runtime. Use
RatatuiRuby::Tea.run(model, view: ..., update: ...)to start an interactive application with predictable state management. -
Async Command System: Side effects (database, HTTP, shell) are executed asynchronously in a thread pool. Results are dispatched back to the main loop as messages, ensuring the UI never freezes.
-
Ractor Safety Enforcement: The runtime strictly enforces that all
ModelandMessageobjects are Ractor-shareable (deeply frozen). This guarantees thread safety by design and prepares for future parallelism. -
Flexible Update Returns: The
updatefunction supports multiple return signatures for developer ergonomics: -
[Model, Cmd]— Standard tuple. -
Model— Implicitly[Model, Cmd::None]. -
Cmd— Implicitly[CurrentModel, Cmd]. -
Startup Commands:
RatatuiRuby::Tea.runaccepts aninit:parameter to dispatch an initial command immediately after startup, useful for loading initial data without blocking the first render. -
View Validation: The
viewfunction must return a valid widget. ReturningnilraisesRatatuiRuby::Error::Invariantto catch bugs early.
0.1.0 - 2026-01-07
Added
-
First Release: Empty release of
ratatui_ruby-tea, a Ruby implementation of The Elm Architecture (TEA) forratatui_ruby. Scaffolding generated byratatui_ruby-devtools.