Releases: orhun/ratty
Release list
Ratty v0.5.0
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 rattyFrom Arch Linux repositories:
pacman -S rattyOr 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 stl support by @Rushmore75 in #99
- Render terminal texture with direct Vello path by @gold-silver-copper in #107
- Add gpuBackend/gpuAdapter module options for wgpu device selection under Nix by @DarthPJB in #117
- Apply texture from config for obj and stl models by @onuralpszr in #119
- Reduce inline object memory churn in 3D warp mode by @jackthepunished in #121
Bug Fixes
- Preserve chunked payloads by @orhun
New Contributors
- @jackthepunished made their first contribution in #121
- @onuralpszr made their first contribution in #119
- @Rushmore75 made their first contribution in #99
Full Changelog: v0.4.2...0.5.0
Ratty 0.4.2
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 rattyFrom Arch Linux repositories:
pacman -S rattyOr 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
- @Nomagno made their first contribution in #86
- @DarthPJB made their first contribution in #61
- @sitiom made their first contribution in #87
Full Changelog: v0.4.1...0.4.2
Ratty 0.4.1
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 rattyFrom Arch Linux repositories:
pacman -S rattyOr 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
- Avoid extruding meshes that already have volume by @orhun in #77
- Revert font fallback options by @gold-silver-copper in #76
- Update window title handling to include name property by @AndreasSeidl in #81
- Handle left and right alt keys separately by @orhun in #84
New Contributors
- @kouhe3 made their first contribution in #80
- @AndreasSeidl made their first contribution in #81
- @Vaishnav-Sabari-Girish made their first contribution in #79
Full Changelog: v0.4.0...0.4.1
Ratty 0.4.0
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 rattyFrom Arch Linux repositories:
pacman -S rattyOr 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
- Update parley_ratatui version to 0.2.1 by @gold-silver-copper in #57
- 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
- @ahostbr made their first contribution in #66
- @qewer33 made their first contribution in #62
- @gold-silver-copper made their first contribution in #57
- @TheCodedKid made their first contribution in #47
Full Changelog: v0.3.0...0.4.0
Ratty 0.3.0
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 rattyFrom Arch Linux repositories:
pacman -S rattyOr 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
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)?;Here are new (customizable) key bindings for navigating Ratty's local scrollback without using the mouse:
Alt+PageUp: scroll one page upAlt+PageDown: scroll one page downAlt+Up: scroll one line upAlt+Down: scroll one line down
Bug Fixes
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
- @zalanwastaken made their first contribution in #38
- @jokeyrhyme made their first contribution in #10
Full Changelog: v0.2.0...0.3.0
Ratty 0.2.0
Ratty: A GPU-rendered terminal emulator with inline 3D graphics 🧀
ratty-term.org
We're excited to announce the first public release of Ratty! 🐁
- Read the blog: https://blog.orhun.dev/introducing-ratty
- Demo video: https://www.youtube.com/watch?v=cY9AX5j-osY
ratty-demo-with-audio.mp4
Download Ratty
From crates.io:
cargo install rattyFrom Arch Linux repositories:
pacman -S rattyOr 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
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
- @orhun made their first contribution
- @pythops made their first contribution in #21
- @EzgiTastan made their first contribution in #18
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 |
