Repository navigation
Releases: vimma-browser/vimma
Release list
Vimma 0.1.12 · Firefox 159.0
Updating
- macOS:
brew upgrade --cask vimma, or downloadvimma-0.1.12-macos-aarch64.dmg
below and drag Vimma over the copy in Applications. - Linux:
:updateshows 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]]inconfig.toml, wherelocal_only,max_runningandkeep_daysalso live; a refusedconfig.tomlis named in the window. The agent works only in the agent workspace, through the same tools, grants and checkpoints as an MCP agent. Sending withEnterlets the conversation act without asking at each step,ctrl+Enterasks 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_chatin the Agents group. - Agents (MCP):
vimma_open,vimma_activateandvimma_filltakeelements: trueand 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: truegives 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-Policyheader open in agent tabs instead of failing withNS_ERROR_DOM_COOP_FAILED. Agent tabs keep their pop-up sandbox; such pages lose onlycrossOriginIsolatedthere (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
:bugreport 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_elementsstays 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_elementsdescription, 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: truelists every element).vimma_elements, andelements: trueonvimma_open,vimma_activateandvimma_fill, takequeryandkindsfilters. - 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.
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/ ...
Vimma 0.1.11 · Firefox 159.0
Updating
- macOS:
brew upgrade --cask vimma, or downloadvimma-0.1.11-macos-aarch64.dmg
below and drag Vimma over the copy in Applications. - Linux:
:updateshows 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 statereports aloadingflag 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.
Fixed
- macOS: back, forward, the tab digits and the address bar have Firefox's macOS keys,
cmd+left/cmd+rightandcmd+[/cmd+],cmd+1tocmd+9andcmd+l, in place of the Linux defaultsalt+left,alt+right,alt+1toalt+9andalt+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 thedefaults.tomlsnapshot lists the macOS keys as comments under[keys]. - Find: on Firefox 160,
nandNin a PDF keep the find bar closed, so the focus stays on the page and the nextNmoves 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 vimmafinds 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
Updating
- macOS:
brew upgrade --cask vimma, or downloadvimma-0.1.10-macos-aarch64.dmg
below and drag Vimma over the copy in Applications. - Linux:
:updateshows 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+ais Firefox's tab search key, so it opens Vimma's tab search (asctrl+b gdoes), and the add-ons manager moves to Firefox's newctrl+shift+f. The help anddefaults.tomlsnapshots change with the two keys. - Tests: the
m3-private-workspacee2e 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 longer0.1.10version string pushed the difference past the 0.5 % limit.
- Firefox 159.0 (MFSA 2026-118) (#550) (d48d3f3)
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
Updating
- macOS:
brew upgrade --cask vimma, or downloadvimma-0.1.9-macos-aarch64.dmg
below and drag Vimma over the copy in Applications. - Linux:
:updateshows 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
yandnonly, 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 showsallowed payment on shop.exampleorallowed sending the form to example.com. The grant's hint isy 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 baselinesm0-mcp-stdio-question,m0-mcp-drive-keys-question,m0-mcp-forms-fill-questionandm0-mcp-forms-submit-questionchange with the shorter hint and the form question, andm0-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) andm0-mcp-checkpoints-hosted-allowed(the notice at its yes) are new. - Releases:
vimma-ctlships 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. Avimma-ctlolder than Vimma keeps the tools it knows:vimma-ctl mcptells 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
Updating
- macOS:
brew upgrade --cask vimma, or downloadvimma-0.1.8-macos-aarch64.dmg
below and drag Vimma over the copy in Applications. - Linux:
:updateshows 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
Updating
- macOS:
brew upgrade --cask vimma, or downloadvimma-0.1.7-macos-aarch64.dmg
below and drag Vimma over the copy in Applications. - Linux:
:updateshows 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:
Fstarts element focus,gFopens 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
- Firefox 158.0.1 (MFSA 2026-111) (#425) (7748419)
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
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
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
0.1.4 · Firefox 158.0 (2026-10-17)
Fixed
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
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
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.