Skip to content

Releases: orhun/ratty

Ratty v0.5.0

Choose a tag to compare

@orhun orhun released this 05 Jul 16:57
8d1c0a5

Ratty logo

Ratty: A GPU-rendered terminal emulator with inline 3D graphics 🧀
ratty-term.org

0.5.0 - 2026-07-05

The highlight of this release is the performance improvements and STL support!

Now you can use STL files as the cursor model or inline objects. For example, to change the cursor (with a texture):

[cursor.model]
path = "SkateMouse.stl"
texture = "texture.png"

"Your terminal can render in 3D now, and Rust made it surprisingly usable" - MakeUseOf

Download Ratty

From crates.io:

cargo install ratty

From Arch Linux repositories:

pacman -S ratty

Or download binary releases:

File Platform Checksum
ratty-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
ratty-x86_64-apple-darwin.tar.xz Intel macOS checksum
ratty-x86_64-pc-windows-msvc.zip x64 Windows checksum
ratty-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
ratty-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

Features

Bug Fixes

  • Preserve chunked payloads by @orhun

New Contributors

Full Changelog: v0.4.2...0.5.0

Ratty 0.4.2

Choose a tag to compare

@orhun orhun released this 15 Jun 10:29
a487312

Ratty logo

Ratty: A GPU-rendered terminal emulator with inline 3D graphics 🧀
ratty-term.org

0.4.2 - 2026-06-15

The highlight of this release is the new Rubik's Cube demo!

ratty-rubiks-cube.mp4

Download Ratty

From crates.io:

cargo install ratty

From Arch Linux repositories:

pacman -S ratty

Or download binary releases:

File Platform Checksum
ratty-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
ratty-x86_64-apple-darwin.tar.xz Intel macOS checksum
ratty-x86_64-pc-windows-msvc.zip x64 Windows checksum
ratty-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
ratty-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

Features

  • Add Rubik's Cube example by @orhun in #110
  • Add Nix compatible build files by @DarthPJB in #61
  • Embed app icon and set consoleAllocationPolicy=detached for Windows by @sitiom in #87

Bug Fixes

  • Shut down gracefully on window close by @gold-silver-copper in #108
  • Make xy plane offset coordinates in 2D mode work like in 3D by @Nomagno in #86
  • Reflow terminal contents on resize by @orhun in #105
  • Add drag threshold for mouse selection by @orhun in #104
  • Report correct window size back to Portable-PTY at all times by @Nomagno in #96

New Contributors

Full Changelog: v0.4.1...0.4.2

Ratty 0.4.1

Choose a tag to compare

@orhun orhun released this 30 May 10:17
ca5e563

Ratty logo

Ratty: A GPU-rendered terminal emulator with inline 3D graphics 🧀
ratty-term.org

0.4.1 - 2026-05-30

Watch Fireship's video about Ratty: "10 weird OSS projects you need right now... "

The highlight of this release is ComChan, a terminal serial monitor with 3D dashboard by @Vaishnav-Sabari-Girish!
Here is the demo:

2026-05-23_18-01-42.mp4

Download Ratty

From crates.io:

cargo install ratty

From Arch Linux repositories:

pacman -S ratty

Or download binary releases:

File Platform Checksum
ratty-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
ratty-x86_64-apple-darwin.tar.xz Intel macOS checksum
ratty-x86_64-pc-windows-msvc.zip x64 Windows checksum
ratty-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
ratty-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

Features

Bug Fixes

New Contributors

Full Changelog: v0.4.0...0.4.1

Ratty 0.4.0

Choose a tag to compare

@orhun orhun released this 18 May 07:44
4b68085

Ratty logo

Ratty: A GPU-rendered terminal emulator with inline 3D graphics 🧀
ratty-term.org

0.4.0 - 2026-05-18

Read the It's FOSS article about Ratty: "This New Terminal is Absurd (But Totally Fun)"

The highlight of this release is ratSCAD, a terminal CAD application built with Ratty by @qewer33!
Here is the demo:

ratscad-demo.mp4

Download Ratty

From crates.io:

cargo install ratty

From Arch Linux repositories:

pacman -S ratty

Or download binary releases:

File Platform Checksum
ratty-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
ratty-x86_64-apple-darwin.tar.xz Intel macOS checksum
ratty-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
ratty-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

Features

  • Support scrolling with trackpad by @orhun in #54
  • Support clipboard on Wayland by default by @TheCodedKid in #47
  • Select the correct default shell on Windows by @ahostbr in #66

Bug Fixes

  • Allow absolute paths for objects by @orhun in #56
  • Add some options for font fallback by @orhun in #55
  • Use transparency while rendering cells by @orhun in #53
  • Use synthetic mouse events for scrolling in apps by @orhun in #63
  • Enable shading for all objects by @qewer33 in #62
  • Keep rendering smooth when the window is unfocused by @orhun

New Contributors

Full Changelog: v0.3.0...0.4.0

Ratty 0.3.0

Choose a tag to compare

@orhun orhun released this 13 May 17:22
99e98df

Ratty logo

Ratty: A GPU-rendered terminal emulator with inline 3D graphics 🧀
ratty-term.org

0.3.0 - 2026-05-13

Read The Register article about Ratty: "Rodent-obsessed developer creates Ratty to bring 3D graphics to the command line"

ratty-0.3.0-demo.mp4

Download Ratty

From crates.io:

cargo install ratty

From Arch Linux repositories:

pacman -S ratty

Or download binary releases:

File Platform Checksum
ratty-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
ratty-x86_64-apple-darwin.tar.xz Intel macOS checksum
ratty-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
ratty-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

Features

  • Support transform and update control for 3D objects by @orhun in #39

You can now set the position, rotation and scale of inline 3D objects in Ratty and update them in-place after placement.

The following RGP sequence first registers (r) an object, then places it (p) and finally updates its rotation, position and brightness (u).

ESC _ ratty;g;r;id=7;fmt=glb;path=SpinyMouse.glb ESC \
ESC _ ratty;g;p;id=7;row=5;col=10;w=3;h=2;depth=1.5;rx=0;ry=30;rz=0;sx=1;sy=1;sz=1 ESC \
ESC _ ratty;g;u;id=7;ry=120;px=0.25;brightness=1.2 ESC \
Example usage in Rust
use ratatui_core::{buffer::Buffer, layout::Rect, widgets::Widget};
use ratatui_ratty::{ObjectFormat, RattyGraphic, RattyGraphicSettings};

let mut graphic = RattyGraphic::new(
    RattyGraphicSettings::new("assets/objects/SpinyMouse.glb")
        .id(7)
        .format(ObjectFormat::Glb)
        .rotation([0.0, 30.0, 0.0])
        .scale3([1.0, 1.0, 1.0]),
);

graphic.register()?;

let mut buf = Buffer::empty(Rect::new(0, 0, 80, 24));
(&graphic).render(Rect::new(10, 5, 24, 10), &mut buf);

graphic.settings_mut().rotation = [0.0, 120.0, 0.0];
graphic.settings_mut().brightness = 1.2;
graphic.update()?;

You can now register 3D objects from payload data sent directly over the Ratty Graphics Protocol, without needing to provide a local file path first.

This will make it possible to e.g. send 3D object data from SSH sessions! 🎉

Example registration pipeline (with source=payload and more fields to indicate chunking):

ESC _ ratty;g;r;id=42;fmt=obj;source=payload;more=1;name=rat.obj;<base64 chunk 1> ESC \
ESC _ ratty;g;r;id=42;fmt=obj;source=payload;more=1;<base64 chunk 2> ESC \
ESC _ ratty;g;r;id=42;fmt=obj;source=payload;more=0;<base64 chunk N> ESC \
ESC _ ratty;g;p;id=42;row=12;col=8;w=4;h=2 ESC \
Example usage in Rust
use ratatui_ratty::{ObjectFormat, RattyGraphic, RattyGraphicSettings};

let graphic = RattyGraphic::new(
    RattyGraphicSettings::new("live_draw.obj")
        .id(42)
        .format(ObjectFormat::Obj),
);

let obj_bytes = std::fs::read("live_draw.obj")?;

graphic.register_payload(&obj_bytes)?;
  • Support keyboard scrollback navigation by @orhun in #35

Here are new (customizable) key bindings for navigating Ratty's local scrollback without using the mouse:

  • Alt+PageUp: scroll one page up
  • Alt+PageDown: scroll one page down
  • Alt+Up: scroll one line up
  • Alt+Down: scroll one line down

Bug Fixes

  • Fall back to $SHELL or /bin/sh by default by @orhun in #36

Documentation

  • Update README.md to run the install command for arch and dependency install commands for other Distros by @zalanwastaken in #38
  • Document necessary prerequisites for Linux by @jokeyrhyme in #10

New Contributors

Full Changelog: v0.2.0...0.3.0

Ratty 0.2.0

Choose a tag to compare

@orhun orhun released this 11 May 08:47
5b8fed8

Ratty logo

Ratty: A GPU-rendered terminal emulator with inline 3D graphics 🧀
ratty-term.org

We're excited to announce the first public release of Ratty! 🐁

ratty-demo-with-audio.mp4

Download Ratty

From crates.io:

cargo install ratty

From Arch Linux repositories:

pacman -S ratty

Or download binary releases:

File Platform Checksum
ratty-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
ratty-x86_64-apple-darwin.tar.xz Intel macOS checksum
ratty-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
ratty-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.1.0-rc.1 - 2026-05-10

Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 May 22:15
14dbdb3

Release Notes

  • chore: release 0.1.0 of ratatui-ratty by @orhun
  • chore: expand the target checks in CI by @orhun
  • chore: set up release workflow by @orhun
  • chore: add macos build step by @orhun
  • docs: update video link in website by @orhun
  • docs: add link to demo video by @orhun
  • refactor: apply clippy suggestions by @orhun
  • chore: add libfontconfig1-dev as dependency by @orhun
  • style: run rustfmt by @orhun
  • chore: add missing CI dependencies by @orhun
  • refactor: apply clippy suggestions by @orhun
  • style: run rustfmt by @orhun
  • chore: add CI by @orhun
  • Add release profile by @pythops in #21
  • fix: use the workspace root in widget examples by @orhun
  • feat: add CLI arguments by @orhun
  • feat: add animation to mobius mode by @orhun
  • chore: exclude assets from the crates.io release by @orhun
  • chore: update og:description for the website by @orhun
  • chore: add website by @orhun
  • refactor!: rename ToggleMode to Toggle3DMode by @orhun
  • feat: add mobius mode by @orhun
  • chore: set widget version by @orhun
  • fix: apply the bob animation in 3D mode by @orhun
  • feat: support color while configuring the cursor by @orhun
  • fix: handle numlock-off keypad navigation keys by @orhun
  • chore: add Ferris object for fun by @orhun
  • feat: support enhanced keyboard reporting for modified special keys by @orhun
  • feat: support window transparency by @orhun
  • docs: add tetro-tui demo video by @orhun
  • chore: add metadata by @orhun
  • chore: set RC version by @orhun
  • docs: update logo style by @orhun
  • docs: update logo by @orhun
  • perf: reduce runtime CPU and memory footprint by @EzgiTastan in #18
  • fix: handle \x1b[0c and \x1b[5n by @orhun
  • fix: handle cursor position report request by @orhun
  • style: tweak the badge by @orhun
  • docs: add logo by @orhun
  • revert: update description by @orhun
  • style: update description by @orhun
  • docs: add emoji by @orhun
  • docs: add project description by @orhun
  • docs: librarify ratty by @orhun
  • feat: support theming by @orhun
  • feat: support resetting the font size by @orhun
  • refactor: simplify runtime and system state handling by @orhun
  • chore: update default font by @orhun
  • chore: add issue and PR templates by @orhun
  • style: update documentation style by @orhun
  • docs: add widget documentation by @orhun
  • docs: add CoC by @orhun
  • docs: add contribution guide by @orhun
  • docs: add security policy by @orhun
  • docs: remove description by @orhun
  • docs: reorder sections by @orhun
  • docs: expand documentation and add demos by @orhun
  • fix(terminal): normalize HVP cursor positioning by @orhun
  • refactor: reorder systems module definitions by @orhun
  • refactor: apply clippy suggestions by @orhun
  • fix: honor the application cursor for keys by @orhun
  • chore: enable sponsorships by @orhun
  • docs: update the project features by @orhun
  • feat: add mouse drawing demo by @orhun
  • feat: render image in the editor demo by @orhun
  • feat: add inline object demos by @orhun
  • feat: add a ratatui widget for RGP by @orhun
  • feat: support animate and scale in RGP by @orhun
  • feat: support GLB files by @orhun
  • feat: implement Ratty Graphics Protocol (RGP) by @orhun
  • docs: update the syntax by @orhun
  • docs: update the syntax by @orhun
  • docs: update the demo by @orhun
  • fix: make the images affect by warp by @orhun
  • refactor: simplify image anchor handling by @orhun
  • feat: add experimental image support via kitty by @orhun
  • fix: warp the cursor model by @orhun
  • feat: apply warp animation by @orhun
  • perf: defer the cursor model spawn by @orhun
  • perf: lazy-init off-screen GPU by @orhun
  • feat: embed models into the binary by @orhun
  • chore: update default key bindings by @orhun
  • refactor: support loading fonts from system by @orhun
  • feat: support configuration by @orhun
  • feat: support changing font size by @orhun
  • chore: support x-offset for the cursor by @orhun
  • refactor: switch to parley_ratatui for rendering by @orhun
  • feat: support debug view in 3D mode by @orhun
  • feat: support 3D mode by @orhun
  • feat: support ctrl+arrow combinations by @orhun
  • perf: add terminal redraw optimization by @orhun
  • chore: switch to parley-vello by @orhun
  • feat: support clipboard by @orhun
  • refactor: handle the input combinations better by @orhun
  • feat: set window scale factor by @orhun
  • chore: bump soft_ratatui by @orhun
  • docs: add README.md by @orhun
  • style: switch to JetBrains mono font by @orhun
  • revert: switch to embedded-ttf for font rendering by @orhun
  • chore: switch to embedded-ttf for font rendering by @orhun
  • chore: clean up assets by @orhun
  • chore: license under MIT by @orhun
  • perf: load the model after terminal initialization by @orhun
  • style: switch to dark theme by @orhun
  • chore: remove the window padding by @orhun
  • feat: support resize by @orhun
  • refactor: use a widget renderer for the terminal by @orhun
  • feat: support space key by @orhun
  • chore: switch to cosmic-text backend by @orhun
  • refactor: split into modules by @orhun
  • chore: bump bevy to 0.18 by @orhun
  • chore: rename project by @orhun
  • feat: implement cursor as 3d model by @orhun
  • Add model by @orhun
  • Simple terminal implementation by @orhun

New Contributors

Download ratty 0.1.0-rc.1

File Platform Checksum
ratty-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
ratty-x86_64-apple-darwin.tar.xz Intel macOS checksum
ratty-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
ratty-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum