Skip to content

0.7.3 - 2026-10-18

Choose a tag to compare

@github-actions github-actions released this 18 Oct 15:52

Release Notes

Changed

  • /tools is one list of where the tools come from. The two tabs, Tools
    and MCP, are now one list: built in (the tools iota ships with) and then
    each MCP server, with how many tools it has and how it stands —
    connected, connecting…, down, needs login or failed, with the
    reason in a few words. Enter opens a page for that source: for a server
    its endpoint, transport, login, tool names, call timeout, the full reason
    it failed (its stderr included) and its tools; Esc goes back to the list.
  • An MCP server can be reconnected from /tools. Press Enter on a
    server's page: it reconnects in the background, the page shows it
    happening and how it went, and the chat gets one line —
    MCP db reconnected · 3 tools, or why it did not. A reconnect that fails
    does not take a server's tools away: one that had tools stays down with
    them, showing why the new start failed, and you can try again. A server you
    have just logged in to with iota mcp login no longer needs a restart of
    the chat to use the new login.
  • MCP failures say what happened and what to do. A server that did not
    connect used to be reported with the library's own words — generic Rust
    type names, when send initialize request, and sometimes a proxy's whole
    HTML error page — with the actual reason buried or missing. Now the notice
    is one line that names the server, what went wrong, and what to check:
    ⚠ MCP nb: can't reach https://example.com/mcp: connection refused — check the url, and that the server is running · details in /tools. A 404, a 5xx,
    a web page where the MCP endpoint should be, a command that is not
    installed, a server that exits during startup (its last stderr line is
    shown), a handshake that never finishes and a rejected header are each
    worded the same way. The full cause chain and the server's stderr are on
    the server's page in /tools, and under the warning in a headless run.
  • rustls is 0.23.46 (RUSTSEC-2026-0346, -0347, -0348, -0349). iota keeps
    no session store of its own, does not use Encrypted Client Hello and does
    not enable the brotli feature, so the first three never applied. The
    fourth did: a network attacker who answered one connection could make
    later connections to the same host fall back from the post-quantum hybrid
    key exchange to X25519 alone — a loss of post-quantum protection, with no
    key exposed and no server authentication bypassed.

Fixed

  • Resizing a slow or busy iota no longer breaks the screen for good.
    When iota was starved of CPU — run at background priority, or on a machine
    under heavy load — and the terminal took more than two seconds to answer
    one of the cursor-position questions a resize asks, every later answer was
    the one before it. After that, resizing the window could draw the prompt
    in the middle of the screen with its top line gone and lose the last lines
    of a reply, and every later resize in that session could do it again. iota
    now tells its own answer from a late one, ignores the late one and waits
    a little longer for its own. A slow machine now makes a resize slower, and
    at worst a drag repeats a few of a reply's last lines in the scrollback;
    nothing is lost, and the prompt stays whole at the bottom.
  • A herdr pane no longer stays "working" after an agent is run from the
    chat.
    When the model ran another agent from the shell — claude -p …,
    say — that agent's herdr integration took over iota's pane, and herdr then
    ignored iota for good: the pane showed working with the chat idle until
    the pane was closed. Inside herdr, the shell tool's commands and the MCP
    servers now start without HERDR_ENV, so an agent started there leaves
    the pane to iota. The model is told this in its environment, and the
    herdr command line works as before — a pane it opens with herdr still
    gets its own herdr identity, so an agent started in a pane of its own
    reports there as it should.
  • A job that finished while no model was chosen no longer keeps the host
    busy.
    If a background job's result woke a chat that had no model yet,
    and the model choice was then cancelled, the host (herdr, cmux, the
    terminal's progress indicator) went on showing the chat as busy until the
    next turn. It now shows it idle.
  • An MCP server that stops mid-session is shown as stopped. A stdio
    server that exited — killed, or crashed — used to stay connected in
    /tools, with nothing said in the chat. Now it shows as down as soon as
    /tools is opened or a call finds it gone, and the chat says so once, with
    the last line the server wrote to stderr: ⚠ MCP db: exited (its last stderr line: "RuntimeError: database connection lost") — its tools will fail until it is reconnected from /tools · details in /tools. Its tools
    stay available to the model, and every call to them answers with a
    sentence that says the server has exited and that it can be reconnected
    from /tools — instead of Transport closed. This holds for a server
    reconnected from /tools too, even when no server connected when the
    chat started.
  • A tool call an MCP server never answers no longer hangs forever. Every
    MCP tool call now has a deadline, 30 minutes by default, after which it is
    given up and the model is told why. A server whose tools legitimately run
    longer can raise it with tool_timeout_sec: in its mcp_servers entry.

Install iota 0.7.3

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/iotash/iota/releases/download/v0.7.3/iota-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/iotash/iota/releases/download/v0.7.3/iota-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install iotash/tap/iota

Download iota 0.7.3

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