Release Notes
Added
/new starts a new session without leaving the chat. The session you
leave is saved and stays on disk — /session or iota resume <id> brings
it back. The new one has its own id, in the same place, and keeps what the
chat was running under: the model and its settings (including any you
changed by hand), the system prompt, the tools and MCP servers, the
directory, and whether the chat is being saved at all. It starts with an
empty conversation, no attachments and the token counts at zero. The screen
is not cleared; a dim New session <id> line marks where the new session
begins (New session · not saved · /save keeps it when the chat is not
being saved). Background jobs keep running, and their results go to the new
session. An unsaved chat a model has replied in asks before it is
discarded. /clear does the same thing and is not listed. A bot's session
never ends, so a bot refuses /new and says why.
Changed
- An agent without
choices: is offered its model: alone. Since 0.4.0
it was offered every models: entry, so a model declared for one agent
showed up in every other agent's /model list. Write choices: to offer
more; an agent that names no model at all still gets every entry. A model
outside the choices is still allowed, with a warning. A bare word given to
-M or typed in the /model field is still read as the models: entry of
that name, whether or not it is among the choices — -M fast is the model
fast stands for, never a model id spelled fast. Only a word no entry has
is a model id on the current provider.
/model rows no longer say what picking them does. A row is the model,
the models: entries that name it in brackets, and (current) on the one
the chat is running; (moves the chat) and (needs a new session) are
gone. The pick reports itself — Model switched to … on …, the
confirmation before a chat that has replied moves, or the refusal in a bot.
- A compaction in progress shows in the transcript, not on the status
row. Compacting context… is the spinner row thinking uses, raised while
the summary is written and replaced by the outcome when it is done. A
/compact with nothing to summarize still says only Nothing to compact yet.
- ruzstd is 0.9.1 (RUSTSEC-2026-0344). It only ever decompressed the token
table built into the binary, never input from outside.
Fixed
/session takes the session it switches to as iota resume would.
The switch restored the session's model tuning but kept the old session's
record of where each setting came from, so the next /model switch could
drop a setting you had made by hand, or keep one the old model's config had
supplied. A setting the session never recorded kept the old session's
value too; it now comes from the config, as on resume. And declining the
offer to compact no longer silences that offer in the session you switch to.
Install iota 0.7.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/iotash/iota/releases/download/v0.7.1/iota-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/iotash/iota/releases/download/v0.7.1/iota-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install iotash/tap/iota
Download iota 0.7.1