Skip to content

Releases: vimma-browser/vimma

Vimma 0.1.12 · Firefox 159.0

Choose a tag to compare

@JRanne JRanne released this 30 Oct 16:29
4e4b163

Updating

  • macOS: brew upgrade --cask vimma, or download vimma-0.1.12-macos-aarch64.dmg
    below and drag Vimma over the copy in Applications.
  • Linux: :update shows the command for how you installed Vimma; the user guide's
    Updates section lists them all.

0.1.12 · Firefox 159.0 (2026-10-30)

Added

  • Vimma's own agent: ctrl+b i (or :agent) opens a chat window where you write a task, watch every step in a plain-text transcript, add instructions or stop it. It runs a model you pick, a local one (Ollama, LM Studio, the llama.cpp server) or a hosted one (Anthropic, or an OpenAI-compatible endpoint, with its API key kept encrypted in login storage). Models are set up in the window's picker, which also switches a conversation's model, or under [agent] and [[agent.providers]] in config.toml, where local_only, max_running and keep_days also live; a refused config.toml is named in the window. The agent works only in the agent workspace, through the same tools, grants and checkpoints as an MCP agent. Sending with Enter lets the conversation act without asking at each step, ctrl+Enter asks at every step, and sending a form or paying always asks in the window. Several conversations run at once, each on its own tabs, with step and token limits, and they are kept across restarts, encrypted, without the page text they read. The help overlay and its snapshots list the new key, agent_chat in the Agents group.
  • Agents (MCP): vimma_open, vimma_activate and vimma_fill take elements: true and return the page's element list with the step, so an action and the next look are one call. Screenshots default to at most 1024 px, PNG or JPEG, whichever is smaller; full: true gives the full-size image.
  • agent: a local model prunes older results rarely, a hosted one at 6 (#632) (cfa6793)
  • agent: a model loop and provider adapters in vimma-core (#585) (b013457)
  • agent: a model test bench on a local fixture shop (#590) (3bceaaf)
  • agent: conversations kept across restarts (#620) (b8aa1c3)
  • agent: older page content leaves the agent's context (#629) (9646b31)
  • agent: switch the chat window model from its picker (#644) (b7ca66c)
  • agent: the built-in agent's gate connections, providers and key storage (#595) (b72f466)
  • agent: the chat window (#608) (140968e)
  • ctl: one-time tickets bind a vimma-ctl connection to a conversation (#633) (fcc7efb)
  • keys: a key opens the agent chat window (adbe2e2)
  • mcp: agents open a site's search results by url (#616) (5301d81)
  • mcp: compact element lists (#621) (16df595)
  • mcp: steps return the page's element list; smaller screenshots (#588) (af4dca5), closes #584

Fixed

  • Agents (MCP): pages that send a Cross-Origin-Opener-Policy header open in agent tabs instead of failing with NS_ERROR_DOM_COOP_FAILED. Agent tabs keep their pop-up sandbox; such pages lose only crossOriginIsolated there (docs/limits.md).
  • Agents (MCP): a step that lands on Firefox's error page is reported to the agent as an error naming the reason, instead of a success with an empty element list, so an agent no longer opens the same failing page again and again.
  • Workspaces: tab search and the side panel no longer lose a window's tabs after the last window is closed and a new one opened (on macOS, from the Dock), or after a session restore that stops partway; until a restart they listed one tab while the status bar counted them all. The :bug report now shows the open tabs beside the workspaces' count and names a restore that never finished.
  • agent: agent tabs load pages that send an opener policy (#645) (f6cd389), closes #640
  • agent: an open that ends on firefox's error page is an error naming it (#651) (5f9710b), closes #643
  • agent: the api key field never reveals the key (#627) (1ac8c22)
  • agent: the chat header says "asks every step" only after ctrl+enter (#641) (846e2db), closes #535
  • agent: the chat window names a refused config.toml instead of "no model set up" (#642) (20a341a), closes #639
  • mcp: a rate refusal names its limit and when the next call is allowed (#594) (522071d), closes #592
  • mcp: element labels last while their page and element do (#593) (1a5fb29), closes #591
  • workspaces: the tab list survives a restore that never finishes (#631) (d6544b3), closes #630 #546

Changed

  • Agents (MCP): a label from vimma_elements stays valid for as long as its page and element do, instead of expiring after 120 seconds, so a slow model's clicks and fills are no longer refused; labels drawn on a screenshot still expire after 120 seconds.
  • Agents (MCP): element lists are shorter. The explanation that every list repeated is in the vimma_elements description, sent once, and a list of a page on a site already listed leaves out the elements identical to the earlier list and names their labels, which still work (full: true lists every element). vimma_elements, and elements: true on vimma_open, vimma_activate and vimma_fill, take query and kinds filters.
  • Agents (MCP): an agent over a per-minute limit is told which limit it hit, that no question is waiting, and how long to wait, instead of a message saying questions are waiting.
  • Agents (MCP): clicks and fills wait only while the page is busy instead of a fixed second; a fill without a submit returns at once, and a page counts as ready before its slow images finish. Sending a form or paying is caught exactly as before.
  • mcp: agent clicks and fills wait only while the page is busy (#582) (6f858f1), closes #579

Third-party notice

The AppImage starts with the unmodified AppImage type-2 runtime 20251108 (MIT), which
statically links libfuse 3.15.0 under the LGPL-2.1-or-later. Its source:
https://github.com/AppImage/type2-runtime/tree/20251108. The licence text and how to relink or replace the runtime are in
usr/share/doc/vimma/ inside the AppImage (--appimage-extract). vimma-ctl links Rust's
standard library, and on Linux musl and LLVM's libunwind, into its binary; their notices are in
vimma-ctl-licenses/ ...

Read more

Vimma 0.1.11 · Firefox 159.0

Choose a tag to compare

@JRanne JRanne released this 29 Oct 06:28
44d17eb

Updating

  • macOS: brew upgrade --cask vimma, or download vimma-0.1.11-macos-aarch64.dmg
    below and drag Vimma over the copy in Applications.
  • Linux: :update shows the command for how you installed Vimma; the user guide's
    Updates section lists them all.

0.1.11 · Firefox 159.0 (2026-10-28)

Added

  • Control socket: vimma-ctl state reports a loading flag for each tab, true while the tab is busy, a document is loading, or a new window has not yet started to load its first page. It names no page, so a private window's tabs carry it too.
  • mcp: one approval lasts the agent's whole session (#581) (796a266), closes #578

Fixed

  • macOS: back, forward, the tab digits and the address bar have Firefox's macOS keys, cmd+left / cmd+right and cmd+[ / cmd+], cmd+1 to cmd+9 and cmd+l, in place of the Linux defaults alt+left, alt+right, alt+1 to alt+9 and alt+d, which never ran on a Mac because Option types characters there. Linux keeps its keys. A new help snapshot holds the macOS keymap, and the defaults.toml snapshot lists the macOS keys as comments under [keys].
  • Find: on Firefox 160, n and N in a PDF keep the find bar closed, so the focus stays on the page and the next N moves to the previous match instead of typing into the bar.
  • Updates: an installed release no longer offers itself as a security update. Release builds now keep one build ID from the binary to the packaged application.ini, and Vimma never offers the version it runs, dropping a saved offer of it at startup.
  • Private windows: closing a private window in any way brings the normal window back on the closed window's workspace. When Hyprland reported the close before the window's unload ran, the normal window could land on the active workspace instead.
  • Workspaces: a workspace could lose its tab list (tab search and the side panel showing one "New Tab") while its tabs stayed open, when a restore into the window ended with a workspace rebuild that failed partway. The rebuild now replaces the window's model only once it is complete, a failed one keeps the current model, and selecting a tab the model does not know puts it back.
  • Releases: publishing a release now starts the Homebrew tap update whenever the macOS cask is already on the release, so brew upgrade --cask vimma finds new releases. Releases 0.1.9 and 0.1.10 had missed the tap because their macOS files reached the draft before it was published; 0.1.10 was pushed to the tap by hand.
  • e2e: m3-private-workspace waits for the private start page to load (#568) (5897b09), closes #567
  • find: n and N in a pdf keep the find bar closed on firefox 160 (#560) (a1f5be8), closes #548
  • grep: a step that ends after grep reopens leaves the new search alone (71c0117)
  • keys: the default alt keys are firefox's cmd keys on macos (50f067c)
  • private: a close read before the unload brings the normal window back to its workspace (#559) (33ecab0), closes #554
  • private: a close read during the swap back keeps the record its rescue needs (#571) (8fbcd35), closes #570
  • release: start the homebrew tap update when a release is published (#553) (49061ab)
  • update-publish: give the manifest push's rebase a git identity (7afddf3), closes #530
  • update-publish: give the manifest push's rebase a git identity (#558) (7afddf3)
  • updates: a release no longer offers itself as an update (#565) (ab0525b), closes #563
  • workspaces: a failed rebuild keeps the window's tabs (#547) (273946d), closes #546

Third-party notice

The AppImage starts with the unmodified AppImage type-2 runtime 20251108 (MIT), which
statically links libfuse 3.15.0 under the LGPL-2.1-or-later. Its source:
https://github.com/AppImage/type2-runtime/tree/20251108. The licence text and how to relink or replace the runtime are in
usr/share/doc/vimma/ inside the AppImage (--appimage-extract). vimma-ctl links Rust's
standard library, and on Linux musl and LLVM's libunwind, into its binary; their notices are in
vimma-ctl-licenses/ next to it, or in Vimma.app/Contents/Resources/ on macOS. Vimma is
MPL-2.0; the CycloneDX SBOM lists the other components.

Vimma 0.1.10 · Firefox 159.0

Choose a tag to compare

@JRanne JRanne released this 27 Oct 22:05
569f4d0

Updating

  • macOS: brew upgrade --cask vimma, or download vimma-0.1.10-macos-aarch64.dmg
    below and drag Vimma over the copy in Applications.
  • Linux: :update shows the command for how you installed Vimma; the user guide's
    Updates section lists them all.

0.1.10 · Firefox 159.0 (2026-10-27)

Changed

  • Keys: on Firefox 159, ctrl+shift+a is Firefox's tab search key, so it opens Vimma's tab search (as ctrl+b g does), and the add-ons manager moves to Firefox's new ctrl+shift+f. The help and defaults.toml snapshots change with the two keys.
  • Tests: the m3-private-workspace e2e baseline is redrawn from the current start page, which now shows the bookmarks hint and the running Vimma and Firefox versions. The old image dated from Vimma 0.1.2 on Firefox 158, and the longer 0.1.10 version string pushed the difference past the 0.5 % limit.

Third-party notice

The AppImage starts with the unmodified AppImage type-2 runtime 20251108 (MIT), which
statically links libfuse 3.15.0 under the LGPL-2.1-or-later. Its source:
https://github.com/AppImage/type2-runtime/tree/20251108. The licence text and how to relink or replace the runtime are in
usr/share/doc/vimma/ inside the AppImage (--appimage-extract). vimma-ctl links Rust's
standard library, and on Linux musl and LLVM's libunwind, into its binary; their notices are in
vimma-ctl-licenses/ next to it, or in Vimma.app/Contents/Resources/ on macOS. Vimma is
MPL-2.0; the CycloneDX SBOM lists the other components.

Vimma 0.1.9 · Firefox 158.0.1

Choose a tag to compare

@JRanne JRanne released this 27 Oct 19:15
9ce3e9a

Updating

  • macOS: brew upgrade --cask vimma, or download vimma-0.1.9-macos-aarch64.dmg
    below and drag Vimma over the copy in Applications.
  • Linux: :update shows the command for how you installed Vimma; the user guide's
    Updates section lists them all.

0.1.9 · Firefox 158.0.1 (2026-10-23)

Added

  • Agents (MCP): sending a form and paying are checkpoints. Under any grant they ask with y and n only, marked ▲ in the theme's warning colour, and the agent goes on under its grant after either answer. A step pays when the page shows a payment card field (also in a payment provider's frame) or the pressed button or followed link says it pays (Pay now, Place order, Vahvista tilaus, … in six languages), also a button that sends no form; its question names the button, the site and the total the page states (▲ claude-code wants to pay: "Vahvista tilaus" on shop.example · the page says "Yhteensä 42,90 €"), and a button in a payment provider's frame of another site names that site, then the shop's (on pay.provider.example (in shop.example)). A form's question lists each field it sends with its value, a password as •••, hidden fields counted. A yes shows allowed payment on shop.example or allowed sending the form to example.com. The grant's hint is y once · 10a 10 min · n deny · x mute, so that a usual question fits one line at 1,280 pixels, and the grant's notice says that sending a form or paying still asks. The e2e baselines m0-mcp-stdio-question, m0-mcp-drive-keys-question, m0-mcp-forms-fill-question and m0-mcp-forms-submit-question change with the shorter hint and the form question, and m0-mcp-checkpoints-basket-ran, m0-mcp-checkpoints-pay-question, m0-mcp-checkpoints-card-question, m0-mcp-checkpoints-hosted-question (a payment provider's pay button in a frame of another site) and m0-mcp-checkpoints-hosted-allowed (the notice at its yes) are new.
  • Releases: vimma-ctl ships in every package (the tarball, the AppImage, the .deb, the .rpm, the PKGBUILD and the macOS app with its Homebrew cask), so each update replaces it together with Vimma. A vimma-ctl older than Vimma keeps the tools it knows: vimma-ctl mcp tells the agent it is older, and Vimma shows a one-line notice once per client and version.
  • Release packages carry the licence notices of what vimma-ctl links (Rust's standard library, musl, LLVM's libunwind) in vimma-ctl-licenses/, and the release SBOM lists vimma-ctl with them.
  • mcp: paying and sending a form are checkpoints (#522) (c2dadf6), closes #508
  • release: packages carry vimma-ctl's licence notices and the sbom lists it (#528) (5e26f06)
  • release: ship vimma-ctl in every package, and an older vimma-ctl says it is older (#517) (5741ea7)

Fixed

  • mcp: a one-line grant hint, an honest yes notice and a framed pay button's site (#526) (cd5d275), closes #525

Third-party notice

The AppImage starts with the unmodified AppImage type-2 runtime 20251108 (MIT), which
statically links libfuse 3.15.0 under the LGPL-2.1-or-later. Its source:
https://github.com/AppImage/type2-runtime/tree/20251108. The licence text and how to relink or replace the runtime are in
usr/share/doc/vimma/ inside the AppImage (--appimage-extract). vimma-ctl links Rust's
standard library, and on Linux musl and LLVM's libunwind, into its binary; their notices are in
vimma-ctl-licenses/ next to it, or in Vimma.app/Contents/Resources/ on macOS. Vimma is
MPL-2.0; the CycloneDX SBOM lists the other components.

Vimma 0.1.8 · Firefox 158.0.1

Choose a tag to compare

@JRanne JRanne released this 22 Oct 23:16
4191533

Updating

  • macOS: brew upgrade --cask vimma, or download vimma-0.1.8-macos-aarch64.dmg
    below and drag Vimma over the copy in Applications.
  • Linux: :update shows the command for how you installed Vimma; the user guide's
    Updates section lists them all.

0.1.8 · Firefox 158.0.1 (2026-10-22)

Added

  • keys: a firefox key inventory for macos (f46e554)
  • mcp: one grant covers every agent tool of its connection (#515) (e4273b9)
  • private: swap in place on macos (202e260)

Fixed

  • keys: hint, copy and element mode keep y and n from a waiting question (#521) (423b0c0), closes #495
  • mcp: agent clicks, fills and lists no longer race a busy content process (df1c20c)
  • mcp: an agent step's load wait passes over an initial about:blank (#520) (fc39dfd)
  • mcp: read clamd's socket owner on macOS with lstat (d83cdc2)
  • mcp: the child's submit-check test hook works only in automation (947178f)
  • mcp: vimma_activate says what a click changed in place (#514) (c39fc4b), closes #510 #513
  • update: check the shape of github's responses before reading labels (#519) (27b58a1)
  • update: retry transient gh failures when reading commit labels (50a061b)

Third-party notice

The AppImage starts with the unmodified AppImage type-2 runtime 20251108 (MIT), which
statically links libfuse 3.15.0 under the LGPL-2.1-or-later. Its source:
https://github.com/AppImage/type2-runtime/tree/20251108. The licence text and how to relink or replace the runtime are in
usr/share/doc/vimma/ inside the AppImage (--appimage-extract). Vimma is MPL-2.0; the
CycloneDX SBOM lists the other components.

Vimma 0.1.7 · Firefox 158.0.1

Choose a tag to compare

@JRanne JRanne released this 22 Oct 14:52
627949f

Updating

  • macOS: brew upgrade --cask vimma, or download vimma-0.1.7-macos-aarch64.dmg
    below and drag Vimma over the copy in Applications.
  • Linux: :update shows the command for how you installed Vimma; the user guide's
    Updates section lists them all.

0.1.7 · Firefox 158.0.1 (2026-10-22)

Added

  • bookmarks: firefox's bookmarks toolbar hidden by default (#438) (3e5fed1), closes #214
  • copy: ip and ap select the block around the caret (#451) (ed08a47)
  • element: focus a block, then v selects it and y copies it (#449) (375684a), closes #213
  • hints: text blocks as hint targets (#447) (7643f5a), closes #213
  • keys: F starts element focus, gF opens a link in the background (#453) (775b45f), closes #213
  • mcp: full control says it reaches beyond the agent workspace (#441) (b3bd8f9)
  • mcp: vimma_activate clicks by hint label (#472) (5a15c32)
  • mcp: vimma_console reads a page's errors and failed requests (#482) (14af7d0)
  • mcp: vimma_elements lists a page's buttons and fields by hint label (#471) (dcb7487)
  • mcp: vimma_fill fills fields, never passwords or payment fields (#474) (7f536ac)
  • mcp: vimma_keys follows links by hint label (#455) (0c3c401)
  • mcp: vimma_keys scrolls, finds and goes back in an agent tab (#450) (b596440)
  • mcp: vimma_screenshot shows an agent tab (#480) (7215505)
  • mcp: vimma_show brings the agent workspace to the front (#459) (5af9cf4)
  • packaging: an .rpm for fedora and opensuse (#448) (0d76cfa), closes #294
  • sites: a snapshot gate that replays recorded pages offline on every pull request (#446) (dd71c74)
  • sites: night-to-night diff, a rolling site-compat issue and one retry of blocked sites (#437) (a0247d4)
  • split: a 3 px border in the theme's focus colour marks the focused pane (#431) (5a7203f), closes #362
  • updates: :restart, and an installed security update asks to restart (#454) (660af98)
  • updates: the appimage replaces its own file with a verified newer release (#430) (d20bc3b)
  • updates: update notices on macos (620fdef), closes #393
  • updates: with checks off, updates: off shows for a few seconds at startup (#457) (09a15c2)

Fixed

  • build: npm run build runs surfer build under a python mach supports (#460) (a84946d), closes #458
  • commitlint: skip dependabot commits that write bump in lower case (#421) (0ee6c71)
  • copy: { and } step past a paragraph's source white space (#463) (60c463c), closes #461
  • find: a page's own focus on a field a find matched in enters insert mode (#445) (3300eb9), closes #442
  • hints: every entry of an open dropdown menu gets a label (#428) (c03bb0b), closes #329
  • macos: platform fallbacks (#414) (4304712)
  • mochitest: run mach with a python inside the range mach supports (#436) (190739c), closes #435
  • private: the swap waits up to 2 s for hyprland to name a starting window (0820c9e)
  • prompts: the password prompt's fields keep their keys, and the keys line says esc first (#432) (35d017f)
  • prompts: y and n typed into live grep or a search no longer answer a permission prompt (#491) (0f1c26d)
  • theme: every mode badge keeps a colour of its own under any theme (#464) (3792de4), closes #462
  • workspaces: keys typed while a new start page loads reach vimma (#417) (3ce256c), closes #388

Changed

Third-party notice

The AppImage starts with the unmodified AppImage type-2 runtime 20251108 (MIT), which
statically links libfuse 3.15.0 under the LGPL-2.1-or-later. Its source:
https://github.com/AppImage/type2-runtime/tree/20251108. The licence text and how to relink or replace the runtime are in
usr/share/doc/vimma/ inside the AppImage (--appimage-extract). Vimma is MPL-2.0; the
CycloneDX SBOM lists the other components.

Vimma 0.1.6 · Firefox 158.0

Choose a tag to compare

@JRanne JRanne released this 19 Oct 17:45
2947c49

0.1.6 · Firefox 158.0 (2026-10-19)

Added

  • keymap: bind the rest of Firefox's keys on Firefox's chords (#352) (256c52c), closes #234
  • macos: vimma's app icon and the dev.vimma.browser bundle id (783c0ed)
  • release: publish the homebrew cask to vimma-browser/homebrew-tap (bbceb78)
  • setup: add a skippable first-run setup for add-ons and search (#392) (e0a0e2b), closes #378
  • upstream: auto-merge a green version-only firefox bump (#383) (8cdc0d2)
  • upstream: open a triage issue when patches do not apply (#390) (4d2212a), closes #259
  • upstream: re-export patches that need only fuzz in the bump (#380) (35085f0)
  • upstream: refresh copied upstream prefs in the bump commit (#377) (507582f)
  • workspaces: m in the side panel moves that row's tab to a workspace (#376) (dc2d40d), closes #260
  • workspaces: unpin pinned tabs and show lost containers in the status bar (#370) (25314f2)

Fixed

  • ci: skip key-guard on a merged pull request (#359) (be72ef7), closes #357
  • grep: keep a reopened grep's frames when an earlier jump ends late (#402) (a6197ce), closes #401
  • keys: ctrl+shift+z opens the debugger on a plain page (#400) (5b01dfe), closes #371
  • prompt-keys: answer the add-on install prompt with y and n (#365) (83b6049), closes #323

Third-party notice

The AppImage starts with the unmodified AppImage type-2 runtime 20251108 (MIT), which
statically links libfuse 3.15.0 under the LGPL-2.1-or-later. Its source:
https://github.com/AppImage/type2-runtime/tree/20251108. The licence text and how to relink or replace the runtime are in
usr/share/doc/vimma/ inside the AppImage (--appimage-extract). Vimma is MPL-2.0; the
CycloneDX SBOM lists the other components.

Vimma 0.1.5 · Firefox 158.0

Choose a tag to compare

@JRanne JRanne released this 18 Oct 14:52
d0081f7

0.1.5 · Firefox 158.0 (2026-10-17)

Added

Fixed

  • bench: measure the baseline commit in the same run, sample by sample (#356) (c86bbfb), closes #342
  • keys: keep a capital letter whose lower case is two characters as typed (#349) (8d17eb0), closes #313
  • prompt-keys: arm y and n on firefox's own prompt delay, and fix two test races (#346) (d100a04), closes #334 #307

Third-party notice

The AppImage starts with the unmodified AppImage type-2 runtime 20251108 (MIT), which
statically links libfuse 3.15.0 under the LGPL-2.1-or-later. Its source:
https://github.com/AppImage/type2-runtime/tree/20251108. The licence text and how to relink or replace the runtime are in
usr/share/doc/vimma/ inside the AppImage (--appimage-extract). Vimma is MPL-2.0; the
CycloneDX SBOM lists the other components.

Vimma 0.1.4 · Firefox 158.0

Choose a tag to compare

@JRanne JRanne released this 17 Oct 16:32
aa05543

0.1.4 · Firefox 158.0 (2026-10-17)

Fixed

  • panel: space marks a row and leaves the highlight on it (#340) (c24ac76)

Third-party notice

The AppImage starts with the unmodified AppImage type-2 runtime 20251108 (MIT), which
statically links libfuse 3.15.0 under the LGPL-2.1-or-later. Its source:
https://github.com/AppImage/type2-runtime/tree/20251108. The licence text and how to relink or replace the runtime are in
usr/share/doc/vimma/ inside the AppImage (--appimage-extract). Vimma is MPL-2.0; the
CycloneDX SBOM lists the other components.

Vimma 0.1.3 · Firefox 158.0

Choose a tag to compare

@JRanne JRanne released this 17 Oct 09:44
83b9da7

0.1.3 · Firefox 158.0 (2026-10-17)

Added

  • theme: the vimma logo follows the theme's colours (#338) (ea67716)
  • updates: announce new versions once and ask about security updates per session (#337) (2941983), closes #336

Fixed

  • install: build the arch linux package in ~/.cache/vimma-build from any directory (#333) (e4135c5)

Third-party notice

The AppImage starts with the unmodified AppImage type-2 runtime 20251108 (MIT), which
statically links libfuse 3.15.0 under the LGPL-2.1-or-later. Its source:
https://github.com/AppImage/type2-runtime/tree/20251108. The licence text and how to relink or replace the runtime are in
usr/share/doc/vimma/ inside the AppImage (--appimage-extract). Vimma is MPL-2.0; the
CycloneDX SBOM lists the other components.