Skip to content

Migrate from tui-rs

Ratatui is a fork of tui-rs, created to continue maintenance of the project.

Several options are available to migrate apps and libs:

  • Fully replace tui-rs with ratatui (preferred approach)
  • Use ratatui as a drop in replacement aliased as tui
  • Support both tui and ratatui

Most new code should use the following. To take this approach to migration requires find and replace tui::->ratatui:: on the entire codebase.

ratatui = { version = "0.28.0" }
crossterm = { version = "0.28.0" }

The simplest approach to migrating to ratatui is to use it as drop in replacement for tui and update the terminal libraries used (crossterm / termion). E.g.:

tui = { package = "ratatui", version = "0.28.0", features = ["crossterm"] }
crossterm = { version = "0.28.0" }

For more complex scenarios where a library (or in some cases an app) needs to support both ratatui and maintain existing support for tui, it may be feasible to use feature flags to select which library to use. See tui-logger for an example of this approach.

Backwards compatibility and breaking changes

Section titled “Backwards compatibility and breaking changes”