Skip to content

Relay 0.20.0

Choose a tag to compare

@lubomirmolin lubomirmolin released this 22 Oct 16:58
· 533 commits to main since this release

TL;DR: Preferences live in a settings.json you can script, the composer can guess your next message, and a new status strip replaces the usage footer.

  • Preferences (theme, typography, chat width, send keys, keep awake, when threads settle) now live in a settings.json file: ~/.config/relay/ on macOS and Linux (or $XDG_CONFIG_HOME/relay/), %APPDATA%\Relay\ on Windows. Edit it from a script or an editor and every open window follows at once; a broken file shows where it broke instead of wiping your settings.
  • The composer can suggest your next message after a longer turn: Tab takes it, Escape dismisses it. Off by default, turn it on in Settings → Composer.
  • The usage footer is now a status strip with usage rings and compact reset times, and it says why a saved reset can't be used yet.
  • The model picker offers to install a missing agent or sign in to it right there, here or on a paired computer, instead of showing a Default that can't run.
  • Import from another app has "Ask an agent…": an agent reads your Codex or Claude history and proposes which projects and chats to bring over, with a list you tick.
  • Antigravity gets separate Google accounts, its own questions, planning, subagents and quota readings, and compaction.
  • OpenCode now steers, forks, answers side questions and runs subagents natively.
  • Codex shows an estimated breakdown of what fills its context.
  • Agents' multiple-choice questions show their real options, and usage limits split into each quota pool, on desktop and the phone.
  • Claude connection failures show once, with a way to recover.
  • The working tree refreshes with a single git status, and the app polls less while its window is in the background.
  • Fixes: side questions stay in order when one is cancelled, steers OpenCode got stuck on, agents losing text written right before a tool call, shortcuts blocked by passive notices, and the Android thread jumping as rows settle.