Skip to content

Ari v0.3.1

Choose a tag to compare

@j35dev j35dev released this 12 Sep 23:54
· 59 commits to main since this release
c6d9411

Ari v0.3.1

Ari 0.3.1 is the product follow-up to the slim 0.3.0 packaging rebuild. You can split the shell across several sessions, see generated images in the transcript, keep the composer out of the way while you read, and decide when an update actually installs.

Split view

Up to six sessions on screen at once, laid out as a binary tree of panes.

  • Drag a session from the sidebar onto a pane. A translucent half-pane shows where it will land; the nearest edge both splits and fills.
  • Right-click a session → Open in split right / Open in split below, or right-click a pane → Split right / Split down, Zoom pane, Close pane.
  • Drag a pane header onto another pane to swap them. Drag a divider to resize; arrow keys nudge, double-click resets.
  • Keyboard: Mod+\ split right, Mod+Shift+\ split down, Mod+Shift+Arrow move focus. The same commands live in the palette and in Settings → Keybindings.
  • The focused pane is the active session for workspace lookup, Changes, Mod+1..9, and Ctrl+Tab. Layout is restored on launch.

Generated images

Provider image tools used to drop their output before the transcript. Ari now stages those bytes and renders them inline.

  • Codex, ACP, MCP/dynamic tools, and Anthropic-style results are normalized into image parts.
  • Assistant images render at a useful preview size. Click one to open a full-size viewer with a filename-preserving download.
  • Image generation gets its own progress card (elapsed time and prompt) instead of a generic tool call.
  • Grok's local ImageGen files are loaded, size-checked, and shown once. Relative markdown echoes like ![Generated image](images/2.jpg) are stripped so Chromium does not draw a broken-image glyph.

Sessions and sidebar

  • New sessions always belong to a project. The New session button, Mod+N, and the welcome screen pick a registered project first. With no projects, Ari opens the folder dialog instead of creating an Unfiled session against $HOME.
  • Archive from the session row, not only the context menu. Project groups support bulk select, archive, and delete, with a confirm step for destroy.
  • The Archived shelf can restore everything or empty the archive (confirm first).
  • Long titles no longer run under the row action icons.

Composer

The plate now rests whenever it is empty and unfocused — before a turn, during one, and after it finishes. A plate that sprang back open the moment the agent stopped was the jumpiness this state exists to remove. Click or focus anywhere on the plate to expand it; a draft, staged images, or docked attention UI still refuse to fold.

While a turn is running, queued messages can be steered into the live turn or removed. A refused send is toasted and the text is put back in the draft instead of vanishing.

Updates

Ari no longer downloads and installs a release on its own.

  • A 6-hourly check announces what exists. You choose Update, then Restart.
  • A downloaded build still installs on the next normal quit if you never restart into it.
  • Advanced settings shows the real app version and an action that follows the phase: Check for updates, Update, or Restart.
  • Shared UI package Tailwind utilities are now generated, so the update toast (and other UI-package-only classes) actually appear on screen.

Fixes

  • Switching sessions pins the transcript to the latest message instead of leaving you mid-scroll in the previous thread.
  • Activity-burst liveness is scoped to the turn, so a finished tool call does not keep the burst looking live.
  • Codex model discovery stays under the ACP opt-out; current CLI models are discovered instead of a stale snapshot.
  • ACP AskUserQuestion oneOf choices are answered by schema key, including multi-select arrays. Escape no longer sticks the question panel.
  • Removing a project no longer strands its sessions: you can add that folder back and they reattach. The remove confirmation is inset so it does not cover session rows.
  • The terminal rail only starts a shell where a registered project actually exists.
  • Mid-turn messages the provider never accepted stay queued instead of being dropped.

Upgrade notes

Install over any 0.3.0 build. Existing Unfiled sessions still load; new sessions require a project.

If you already have 0.3.0, the in-app update toast (or Advanced → Check for updates) will offer 0.3.1. You can also download the installer for your platform below.

Included pull requests

  • #202 — keep mid-turn messages, steer/remove the queue, surface refusals
  • #203 — require a project for every new session
  • #204 — discover current CLI models
  • #205 — turn-scoped activity-burst liveness
  • #206 — terminal only where a shell can run
  • #207 — re-adding a removed project restores its sessions
  • #208 — inset project-remove confirmation
  • #209 — ACP AskUserQuestion oneOf answers
  • #210 — offer updates instead of installing them silently
  • #211 — repository URLs at j35dev/Ari
  • #212 — tmux/herdr-style split view
  • #213 — pin transcript to latest on session switch
  • #214 — rest the composer while a turn is live
  • #215 — render provider image output
  • #216 — image viewer, download, generation progress
  • #217 — Grok generated images
  • #218 — keep the composer resting after the turn
  • #219 — archive from the row and bulk-manage sessions

Downloads

Installers for Windows, macOS (universal), and Linux are attached below.

Platform File
Windows Ari-Setup-0.3.1.exe
macOS Ari-0.3.1-universal.dmg (zip also attached for auto-update)
Linux Ari-0.3.1.AppImage, Ari-0.3.1.deb

Full changelog: v0.3.0...v0.3.1