v0.3.62
LatestJul 2026
Fixes the “everything underlined” glitch with Claude Code and other keyboard-protocol-aware apps
- No more surprise underlines — apps that configure xterm’s modifyOtherKeys (Claude Code re-asserts it on every keypress) could leave the entire screen underlined and dimmed after a full redraw; those control sequences were being misread as text styling and are now handled correctly.
- Steadier redraws — kitty keyboard-protocol sequences no longer trigger a stray cursor jump mid-redraw.
- More self-tests — three new checks pin the fix down; the self-test suite now runs 240 checks.
v0.3.61
Jun 2026
More faithful VT/ANSI handling, hardened by a much bigger self-test suite
- Stronger terminal correctness — the self-test suite grew from ~40 to 235 checks that hammer the VT parser, surfacing and fixing a batch of edge cases real terminal apps rely on.
- Cursor & editing fixes — cursor moves with omitted parameters (e.g.
CSI ;5H) now land in the right place, insert mode shifts text correctly, and tab stops are honoured — forward/back tab and custom stops all work.
- Modes & resets — origin mode, soft reset, the screen-alignment test, and the legacy alternate-screen modes are now supported, and
clear wipes scrollback as expected.
- Robustness — the saved-cursor pair now restores the active character set, and malformed/overlong UTF-8 is rejected cleanly instead of mis-rendering.
v0.3.60
Jun 2026
Scripting API, headless mode, and a terminal that tests itself
- Remote control / scripting API — drive a running rbterm from the shell with
rbterm @ …: open tabs, type into panes, read the screen back, recolor, resize, screenshot, and record video clips of a session. Works over a private local socket or an in-band escape sequence (even over SSH), with optional end-to-end encryption. See the API page.
- Headless mode — run with a hidden window so automation and CI can screenshot or record without anything appearing on screen or stealing focus.
- CLI-tool demo tooling — capture a screenshot or a video (gif/webp/mp4) of any command-line tool in one command, ready for a README.
- Self-hosted test framework — rbterm now tests itself through its own API, pixel-verifying what it renders. See the Testing page.
- Rendering fixes: non-ASCII text (emoji, accents, CJK) sent over the control channel, and X11
rgb: colour specifications now render at full brightness.
v0.3.59
Jun 2026
Faster at swallowing plain-text floods
- A new batched write path makes dumping large amounts of plain text —
cat a big file, tail -f a log, watch a noisy build — about 18% faster to ingest, with byte-for-byte identical output.
v0.3.58
Jun 2026
New windows show their prompt right away
- Opening a second window (⌘N) or a new tab inside one no longer shows a blank pane until you press a key — the shell prompt now appears immediately.
v0.3.57
Jun 2026
Extra windows actually show their contents (for real this time)
- Opening a second window with ⌘N on macOS now renders the full window — tab bar, shell, output, and the system HUD — at the correct size. (The previous build only painted a corner of the window, which usually looked blank.)
v0.3.56
Jun 2026
Extra windows actually show their contents
- Opening a second window with ⌘N used to give you an empty black window on macOS. Extra windows now render their tab, shell, and output correctly — at the right size and sharpness.
v0.3.55
Jun 2026
Copy a wrapped path, paste it whole
- Selecting a long path or command that wraps across two lines now copies as a single unbroken string — no more stray line break landing in the middle when you paste it back.
v0.3.54
Jun 2026
Logs that can't fill your disk
- Session logging now rotates each log file at a size cap — default 50 MB, keeping a few older generations — so an enabled log can't quietly grow to gigabytes and fill your disk. Set the cap under Settings → Logging → Max log size.
- Logging stays off by default: it's opt-in and records raw terminal output, which grows fast.
- Double-clicking inside a URL now selects just the URL, not the surrounding words.
v0.3.53
Jun 2026
Multiple windows
- Closing a window now returns focus to the most recently used window, instead of whatever the OS picks next.
- Fixed: Cmd+W in a freshly opened window closed the original window's tab instead of the new one's.
- Fixed: opening a third (or further) window could silently fail.
v0.3.52
Jun 2026
- Fixed a crash when closing a window's last tab with the × button — it could take the whole app down, including other windows.
v0.3.51
Jun 2026
- Window size & position persist across auto-updates — an update no longer reopens the window on a different monitor or at a different size.
- A clean Cmd+Q now closes your shells and shuts down the background session helper, instead of leaving it running. (Crashes and auto-updates still preserve sessions for recovery.)
- More reliable drag-to-install DMG layout — rbterm on the left, an arrow, the Applications folder on the right.
v0.3.50
Jun 2026
- Inline kitty-protocol graphics now render at pixel resolution — graphics demos and image tools show real pixels instead of an ASCII fallback. rbterm reports its pixel geometry (cell size) to programs so they can choose pixel mode.
- Fixed a freeze / runaway memory use under heavy continuous graphics output (millions of queued events no longer pile up).
- Kitty image scaling to a cell area (
c=/r=) and image deletion.
v0.3.49
Jun 2026
- DMG installer icon-position fixes.
- The hold-Cmd+Q-to-quit countdown overlay now shows on every window, not just the first.
v0.3.48
Jun 2026
- Standard drag-to-Applications DMG installer.
v0.3.47
Jun 2026
- Multiple windows in one process: Cmd+N opens a new window (a single Dock icon), Cmd+` cycles between them.
- Right-click or scroll-wheel on the tab bar cycles the active tab.
v0.3.46
Jun 2026
- Kitty graphics: raw RGB / RGBA pixel formats and the graphics-capability probe.
v0.3.45
2026
- Fixed a stray green “?” that could paint over bold glyphs drawn from a fallback font.
v0.3.44
2026
- New local shells now open in your home directory instead of “/”.
- Rebuilt against raylib 6.0.
v0.3.43
2026
- Text selection now stays glued to its content when the terminal scrolls underneath it.
v0.3.42
2026
- Added synchronized-update (DECSET 2026) support so full-screen apps repaint without tearing.
v0.3.38–.41
2026
- Manually-renamed tabs keep their names across background-helper restarts.
- Left/Right arrow keys cycle through the tab strip.
- Fixed reattached local panes showing “?” in the system-info HUD.
v0.3.34–.37
2026
- Multi-pane split layouts are restored across restarts via session reattach.
- Optional local-scroll mode lets the terminal own the mouse wheel even inside mouse-aware apps like tmux.
- Double-clicking a bracketed word no longer includes the wrapping brackets.
- Custom tab titles persist, and SSH tabs no longer show local machine stats in the HUD.
v0.3.31–.33
2026
- Fixed the system-info HUD showing the local machine instead of the remote host on session-routed SSH tabs.
- Performance: faster wakeups on SSH output, link-time optimization in release builds, and quicker glyph lookup.
- Fixed far-tab reordering to rotate the strip instead of swapping.
v0.3.28–.30
2026
- Added a complete user manual (markdown + PDF) and a manual landing page.
- Async per-pane SSH connect for splits and saved layouts — no more multi-second freeze per pane.
- Local drag-select now works even while a mouse-aware app has focus; the settings tab bar wraps to two rows past eight tabs.
- Idle CPU floor dropped to roughly 0.1% when unfocused.
- Fixes: pasting no longer drops bytes when the input queue fills; closing the active tab returns you where you came from; tab order survives relaunch.
v0.3.23–.27
2026
- Added an iTerm2-style green progress stripe shown while a command runs.
- Truecolor is now preserved in scrollback (previously lost when scrolling in tmux).
- The window titlebar now follows the active tab/pane when you switch.
v0.3.20–.22
2026
- Added a macOS menu-bar status item and debounced the Quake toggle.
- Recording gained a “Reset effects” button.
- Native MP4 recording on Windows via Media Foundation (dropped the bundled ffmpeg).
- QR-code SSH pairing: scan via webcam on the Mac, render on your phone.
- Available via a Homebrew tap, plus a major idle-CPU reduction using external GLFW.
v0.3.15–.19
2026
- Native MP4, APNG, and WebM recording encoders on macOS — no ffmpeg dependency.
- Paints throttle to 2 Hz when the window is unfocused to save power.
- Fixed htop rendering at the wrong width and made the Game Boy effect preset readable.
v0.3.5–.14
2026
- Many session-helper reliability fixes: faster Cmd+T, no duplicate helpers, PID-file locking to stop orphans, and helper shells cleaned up on quit.
- Set TCP_NODELAY on SSH sessions for snappier remote typing.
- Fixed multi-second freezes on Cmd+A select-all and during HUD probes.
- Auto-update relaunch no longer doubles your tabs.
v0.3.0–.4
2026
- Introduced the background session helper that keeps local shells (and SSH sessions, HUD, SFTP, port forwards) alive across app restarts and updates.
- Crash banner and idle-exit polish for the helper.
v0.2.6–.9
2026
- Session restore on update relaunch — your tabs come back after auto-updating.
- Cmd+W now dismisses any open modal.
- Quake-mode windows re-show on app activation, with the HUD drag clamped strictly inside the terminal.
v0.2.0–.5
2026
- Added the in-app update channel: signed manifest, an “Updates” settings tab, and one-click auto-install on macOS (with optional background install and relaunch hint).
- The system-info HUD became draggable, resizable, and freely positionable without bleeding into selection.
v0.1.x
2026 · first builds
The early, unversioned era — from the first commit through the first numbered release. Grouped by milestone.
Foundation & core terminal
- Initial raylib-rendered terminal emulator in pure C, with a VT/ANSI parser, glyph atlas, and Core Text colour-emoji and font-substitution on macOS.
- Tabs, scrollback with reflow on resize, OSC colour-palette support, and current-working-directory tab labels.
- Cross-platform PTYs: macOS/Linux via
forkpty, Windows via ConPTY, plus a WebAssembly demo build.
Graphics & display
- Sixel and kitty inline-graphics protocols, DEC Special Graphics box-drawing, mouse reporting, focus events, OSC 10/11/12, OSC 52 clipboard, bracketed paste, and synchronized updates.
- An underline menagerie (curly / dotted / dashed), DECSCUSR cursor shapes, and OSC 9 desktop notifications.
Panes, selection & navigation
- Split panes (vertical/horizontal) growing into a full recursive split tree, with pane maximize (Cmd+Z), directional focus, and broadcast input to every pane.
- Search-in-scrollback (Cmd+F) with live highlighting, plus caret and shift-click selection.
- Smarter word/line selection that follows auto-wrap across rows, clickable URLs with hover underline, and a background-tab activity indicator.
Shell integration
- OSC 8 hyperlinks, OSC 7 cwd inheritance for new tabs, and OSC 133 prompt marks with gutter badges, jump-to-prompt, and select-output.
SSH
- Embedded libssh client with a connection form (host/port/user/key), password and per-identity/agent auth, a saved-hosts sidebar from
~/.ssh/config, and trust-on-first-use host keys.
- SFTP upload & download (including recursive directories) with progress toasts, per-host init dir/command, per-host tab accent colour and HUD config, and a native SSH key manager (generate / install / delete keys in-app).
- Local / remote / dynamic SOCKS port forwards (-L / -R / -D), per-host saved split layouts replayed on connect, async parallel connects with placeholder loading tabs, and a dedicated SSH reader thread.
Appearance & fonts
- Embedded themes with Dark/Light filtering and live preview, and 37 bundled monospace fonts (including ligature-capable faces) with a live-preview picker.
- Ligature shaping via HarfBuzz, letter-spacing and glyph-centering controls, a supersampled atlas for crisper text, and a per-host / app-wide cursor colour setting.
Recording & effects
- Per-pane session recording exportable to cast / txt / gif / mp4 / webm / apng / webp.
- 20 cinema / movie / hardware effect presets and active-pane screenshot (Cmd+Shift+S).
System-info HUD
- Per-pane overlay showing host, IP, load, memory, disk, and a CPU sparkline, with per-field colour/size controls and remote stats gathered over SSH.
Settings & startup
- Tabbed settings modal with persistent defaults (Save as Default), font and theme pickers, session logging, key-repeat sliders, and a help modal.
- Settings → Launch to choose startup tabs (local / SSH), and Settings → Window startup modes (Small / Medium / Large / Fill / Borderless / Fullscreen).
- macOS Quake-style global hide/show hotkey (Cmd+CapsLock) and hold-Cmd+Q to quit.
Performance & distribution
- Reader threads for local PTYs, a DSR fast-path answering cursor queries in microseconds, and idle-frame render skipping that drops idle CPU toward ~0%.
- GitHub Actions CI building Linux and Windows binaries (Windows embeds fonts and ffmpeg), and a signed/notarized macOS
.app bundling its dependencies.