Changelog

Every Neumann release, newest first. The desktop app updates itself — this is what each one changed.

Hardened file access and a Stop that really stops

A security and reliability release, and the first one where Stop means stop.

Stop actually cancels

Pressing Stop used to detach the run from the interface while the work carried on underneath — the agent kept writing files and burning tokens with nothing on screen to show it. Cancellation now propagates to the process and the sandbox, local and cloud alike, so the run ends when you say it ends.

Isolation

  • File access is confined to the workspace you opened; paths that resolve outside it are refused rather than followed.
  • Tenant boundaries are enforced on the cloud side, so one account's runs and credentials cannot be reached from another's.

The editor no longer pins a CPU core

The editor could pin a CPU core and stay there. Syntax highlighting looped on certain files instead of settling, which showed up as a hot fan and a sluggish window long after you stopped typing.

The highlighter now terminates, and the app recovers on its own from a stuck highlight pass rather than needing a restart.

Full transcripts for cloud runs

Cloud runs were a black box: you started one, waited, and eventually got a branch. This release opens them up.

  • Full transcript — open any cloud run and read exactly what the agent did, the same view you get locally.
  • Live streaming — tool calls and messages arrive as they happen rather than in one lump at the end.
  • Stuck runs — several cases where a run appeared to hang forever now either progress or report the failure that actually occurred.

Design and feel

A pass over how the app feels rather than what it does.

  • Every button acknowledges your press instead of waiting for the action to finish before reacting.
  • Menus grow from the point you clicked, so the thing you opened is where your attention already is.
  • Motion follows one rhythm across the app — the same durations and curves everywhere, rather than each surface inventing its own.

All of it respects the system's reduced-motion and reduced-transparency settings; with those on, the app is still and opaque.

Accessibility and security pass

Mostly invisible work, and the release the following months of performance fixes were built on.

Accessibility

A full pass over labels and keyboard support: every control reachable without a mouse, and every icon-only button given a name a screen reader can announce.

Structure

The parts of the interface that re-render during streaming were separated from the parts that do not, which is what made the later streaming work possible.

Lighter and faster

Editors and settings no longer re-render while an agent is streaming — they were subscribing to the conversation state that changes on every token, so a reply arriving would repaint panels that had nothing to do with it.

The app also shed roughly seven thousand lines of code that nothing referenced any more.

Performance sweep across the UI

A performance sweep across the interface.

  • Fixed a hooks-order bug in agent settings that could tear the panel down and rebuild it on an unrelated change.
  • Stopped document-wide style recalculation during streaming — one measurement inside the message renderer was forcing the browser to re-evaluate the whole page for every token.

Incremental rendering for long replies

Long replies render incrementally. Previously the whole message was re-parsed from the beginning each time a token arrived, so cost grew with the square of the reply's length and a long answer would lock the window near the end.

No more freezing on long streamed replies

Fixes the freeze during long streamed replies. The app stays responsive while the agent is writing, however long the answer runs — you can scroll, switch threads, and stop the run mid-sentence.

Instant startup, fully offline

Startup no longer waits on an external font and icon host before responding to clicks. Those assets ship inside the app, so a cold launch is immediate and the editor works with no network at all.