Repository navigation
Ari v0.3.7
Ari 0.3.7 is the speed release: sessions open and switch close to instantly, typing and streaming stay smooth on slower machines, the in-app browser stays inside its own panel, and model pickers open with each agent's real models straight away.
Faster everywhere
Measured on the real app, before (0.3.6) and after, on the same PC. "Slow PC" is the same run with the app's CPU slowed down 4x.
| 0.3.6 | 0.3.7 | |
|---|---|---|
| Open a long session | 1.0 s | 0.2 s |
| Open a long session, slow PC | 7.2 s | 1.1 s |
| Go back to a session you just left | 0.94 s | 0.06 s |
| Go back to a session, slow PC | 7.2 s | 0.46 s |
| Typing delay while a reply streams, slow PC | 82 ms | 45 ms |
| Stutters (frames over 50 ms) during a 20 s reply, slow PC | 132 | 3 |
| App's own response time while streaming (95th percentile) | 22 ms | 1.4 ms |
- No more freezes from session history. Ari kept re-reading each session's whole history from disk, on open, every 10 seconds and on every file access. It now keeps it in memory.
- Instant switching. The last 12 sessions and your recently visited spaces stay ready in the background, so switching back is a same-frame swap with your scroll position and draft intact. No fade, no reload.
- Settings and the GitHub hub open on top of the workspace instead of tearing it down, so closing them is instant.
- Smooth streaming. Only the transcript redraws while a reply streams, updates are grouped per frame, long code blocks and tables re-parse less often, and long sessions draw only what is near the screen first.
- Snappier clicks. Pin, archive and rename update the sidebar at once. Menus open in 140 ms and close in 100 ms, the sidebar opens and closes in 180 ms, and nothing on a click path takes longer than 200 ms.
- Lighter on weak graphics cards. The wallpaper blur is now applied once to the image instead of being recomputed across the whole window on every change. It looks the same.
- Lighter startup. Background work waits until the window has appeared, and startup launches half as many agent CLI checks.
In-app browser
- The browser page stays inside its panel when you resize the window or the layout moves. It no longer covers the conversation next to it.
- Menus, dialogs, tooltips and the command palette hide the browser almost instantly (3–8 ms, was about 50–60 ms) instead of letting it show through.
- The browser no longer floats over the app after a reload, and it stays hidden under Settings.
- Toasts no longer sit underneath the browser.
- All menus, dialogs and popups share one layer and one stacking order, so a menu in a narrow split pane is no longer drawn under the pane next to it.
Models
- Pickers open on each agent's last answer. Ari saves the models and reasoning levels each agent reports and shows them immediately at the next launch, then refreshes in the background.
- The reasoning chip stays. It no longer disappears or loses its level while an agent is slow to answer.
- The real default model is named instead of "CLI default", including Claude's model from your CLI settings and Codex's from its
config.toml. - New sessions start on your last pick of agent, model and level.
- A model picked from the full list now reaches the agent under the name the agent uses.
- If an agent's model list fails to load, Ari retries on its own after 30 s, 2 min and 10 min instead of waiting for you to click something.
Upgrade notes
Install over any 0.3.6 build. Sessions, layouts and settings load as before.
Small behaviour changes:
- While a reply streams, the view jumps to the newest text instead of gliding.
- A branch switch made outside Ari can take up to 30 seconds to show in the session header.
- @-file suggestions can be up to 30 seconds stale in worktree sessions, and folders like
target,.venv,venv,__pycache__,vendor,.nextand.turboare no longer watched or suggested. - Clicking outside an open menu closes it without also pressing what is underneath. Clicking another menu's button still switches menus in one click.
- When a menu opens over the in-app browser you see a snapshot of the page, refreshed every 2 seconds.
If you already have 0.3.6, the in-app update toast (or Advanced → Check for updates) will offer 0.3.7 once the installers finish building. You can also download the installer for your platform below.
Known limits
- Startup time is unchanged (about 2.7 s until the window is usable, plus the launch animation).
- Keeping recent sessions ready uses a little more memory in the window itself (about 46 MB of JavaScript memory after a long session, was 37 MB); the app as a whole used less in the benchmark.
- The working indicator during a live turn and the music equaliser were checked in tests but not by eye in the real app.
- The benchmark numbers come from one Windows PC; the "before" run happened while the machine was busier, so treat the exact figures as indicative.
Included pull requests
- #270 — serve session history from memory instead of re-reading it
- #271 — a motion standard and quicker click-path animations
- #273 — cache the file-access roots and slow the branch poll
- #274 — defer background startup work past the first paint
- #275 — route streamed updates once and write journal lines once
- #276 — stop re-walking the workspace on every session switch
- #277 — load a session's history in one pass
- #278 — fetch per-turn diffs only when they come into view
- #286 — keep each session's transcript in a per-session store (re-opened #279)
- #280 — stop session chrome re-rendering while a reply streams
- #281 — commit streamed text once per frame and jump-scroll while streaming
- #282 — cheaper composer keystrokes
- #283 — cheaper markdown while streaming
- #284 — mount long transcripts progressively
- #285 — fix a flaky popover test
- #287 — keep recent session views mounted so switching back is instant
- #289 — keep recently visited spaces mounted
- #288 — keep the workspace mounted under Settings and the GitHub hub
- #290 — apply pin, archive and rename the moment they are clicked
- #291 — bake the wallpaper blur once instead of blurring live
- #292 — quicker sidebar motion
- #293 — run loaders on CSS and one shared clock
- #294 — keep the in-app browser inside its panel
- #295 — hide the browser the moment an overlay opens
- #296 — one layer root and one z-index scale
- #297 — composer menus on the shared popover
- #269 — retry a failed model-list probe on its own
- #272 — instant agent model lists, a reasoning chip that stays, no "CLI default"
- #298 — a performance benchmark for the real app
- #299 — release 0.3.7
Downloads
Installers for Windows, macOS (universal), and Linux are attached by the release build.
| Platform | File |
|---|---|
| Windows | Ari-Setup-0.3.7.exe |
| macOS | Ari-0.3.7-universal.dmg (zip also attached for auto-update) |
| Linux | Ari-0.3.7.AppImage, Ari-0.3.7.deb |
Full changelog: v0.3.6...v0.3.7