v2.1.0

shrimbly/node-bananav2.1.0Oct 11, 2026by github-actions[bot]

Upgrading?

AI Summary

Windows support returns with a new installer, and the agent gains a full-page chat interface with result viewing capabilities. ComfyUI workflows now persist prompts and history, while video players gain sound and canvas performance is significantly improved.

Key Highlights

  • Windows x64 installer restored after absence since v2.0.0
  • Agent features a full-page chat (press C) and result viewing capabilities
  • ComfyUI workflows now save and load prompts and history correctly
  • Video players now support sound playback
  • Canvas performance improved with smoother panning/dragging and off-main-thread rendering

New Features

  • Full-page chat interface for the agent
  • Result viewing capability for the agent via 'view_outputs'
  • ComfyUI workflow prompt attachment and history tracking
  • Sound support added to video players
  • Low-detail rendering mode for zoomed-out canvas
  • Automatic retry logic for passing errors (502, 503, 504)
  • Spinners disabled for idle nodes after a workflow failure

Full Release Notes

Windows is back, the agent gets a full-page chat that runs workflows and looks at their results, ComfyUI workflows arrive with their prompts and keep their history, video players get sound, the canvas pans and drags more smoothly, and a run no longer fails on a provider's passing error.

**Download:** [Mac · Apple Silicon](https://nodebanana.app/download/mac) (macOS 13 or later) or [Windows · x64](https://nodebanana.app/download/windows) (Windows 10 or later). Installed Mac apps update themselves from this release. The Windows installer is unsigned, so SmartScreen warns on the first run; say **More info → Run anyway**. Bring your own provider keys: Node Banana calls the providers directly and their usage is billed to you by them.

## Windows

The x64 installer returns. Since 2.0.0 the canvas performance pass was measured on Windows with a runner that drives the real cursor, the caption buttons take clicks again, the window resizes from its top edge, and recovery checkpoints, window bounds and media chunks are written off the main thread so they no longer stall input. Data lives under `%APPDATA%\Node Banana\`.

## Agent

**A full-page chat.** The floating window expands into a full-page chat (press `C`). A workflow the agent built shows as a minimap with **Open in canvas**, a workflow built from scratch is named and saved, a turn's tool calls fold under one line, and every reply has a Copy button.

**Runs, on your click.** The agent never starts a run itself. Ask it to run something and it sets up a Run card scoped to the whole workflow, a group, the nodes it changed or from a node, with the run count and options; a turn that builds runnable nodes ends with the card too. Progress and then the results show in the chat as previews, with the full-screen viewer, and a result can be attached to your next message.

**It looks at the results.** With `view_outputs` the agent sees what the nodes generated, so it can judge a result and change the workflow accordingly.

## ComfyUI workflows

- **Prompts come with the workflow.** Attaching a ComfyUI workflow adds a Prompt node for each text input the workflow was saved with text in, holding that text and wired to its handle, so a workflow whose system prompt matters runs as its author meant the first time.
- **History.** A node made from a workflow keeps every run, with the same arrows under the picture as the image and video nodes.
- **Builder.** The import dialog's preview is the node as the canvas draws it; **Replace workflow** is in the node header's menu; a seed setting says what it will do after each run.
- **ElevenLabs** voices and sound effects on Comfy Router run again: they take the model's own route, since the Router's queue cannot carry raw audio.

## Canvas

- **Sound in video players.** A sound button in every scrub row, one remembered setting for every player, a volume slider when the pointer rests on it. Hover previews stay silent.
- **Smoother panning and dragging.** React Flow 12.11.2, pointer capture for pans and drags, a node drag that reaches the store when it drops rather than every frame, and edges that stop taking the pointer mid-gesture. Measured with a new performance runner that drives the real cursor (`docs/canvas-performance.md`).
- **Low detail when zoomed out (trial).** Below 25% zoom a node draws as a light card, so a large canvas stays responsive; the threshold and the feature are in Settings › Canvas.
- **Fixes.** A marquee near the canvas edge no longer pans it; Lock canvas locks the nodes again; the media viewer's rail shows the whole prompt.

## Runs and providers

- **Passing errors are retried.** A 502, 503 or 504, a dropped connection, or Gemini's "model overloaded" no longer fails a run on the first try: the request is asked again, up to three times with a short backoff. A Comfy Router submit keeps the same idempotency key on every try, so a retry never queues a run twice. Rate limits and refusals are reported as before.
- **Spinners after a failed run.** When one node fails, the nodes running beside it are put back to idle instead of spinning on.
- **fal.ai settings** no longer come up blank after the model browser was opened: fal's rate limit is waited out, a refusal shows its reason with a Retry, and nothing empty is remembered.

## Desktop

Recovery checkpoints, window bounds and media chunks are written off the main thread and never mid-drag, and thumbnails are decoded off the main thread a few at a time.

## Verify a download

Each release lists `SHA256SUMS-mac-arm64.txt` and `SHA256SUMS-windows-x64.txt`; compare with `shasum -a 256 <file>` on the Mac or `Get-FileHash <file>` in PowerShell.

**Full Changelog**: https://github.com/shrimbly/node-banana/compare/v2.0.0...v2.1.0

Related Repositories