Skip to content

Releases: Johnnyzlee/agent-bridge-for-tab-management-in-firefox

v0.5.10 — automated release

Choose a tag to compare

@github-actions github-actions released this 14 Aug 22:25

Automated release for v0.5.10: full check, AMO unlisted signing, and packaging ran in CI.

v0.5.9 — automated release

Choose a tag to compare

@github-actions github-actions released this 14 Aug 22:16

Automated release for v0.5.9: full check, AMO unlisted signing, and packaging ran in CI.

v0.5.8 — automated release

Choose a tag to compare

@github-actions github-actions released this 14 Aug 22:01

Automated release for v0.5.8: full check, AMO unlisted signing, and packaging ran in CI.

v0.5.7 — audible reporting, mute removed (AMO-signed)

Choose a tag to compare

@Johnnyzlee Johnnyzlee released this 14 Aug 21:32

v0.5.7 — audible reporting (AMO-signed)

  • list_firefox_tabs and get_active_firefox_tab now report each tab's audible state, so agents can tell the user which tabs are playing audio.
  • Removed set_firefox_tab_muted: Firefox silently ignores programmatic mute without a user gesture, so the tool could never succeed (documented in v0.5.6).

25 tools total. Same Gecko ID, AMO unlisted signed. 127 tests pass.

v0.5.6 — Fix pin/unpin/duplicate dispatch + mute gesture error (AMO-signed)

Choose a tag to compare

@Johnnyzlee Johnnyzlee released this 14 Aug 21:16

v0.5.6 — Fix release (real-browser findings)

Two fixes found by live testing v0.5.5 against real Firefox:

  1. pin_firefox_tab / unpin_firefox_tab / duplicate_firefox_tab returned INVALID_SELECTOR: the background dispatch passed the whole params object instead of the unwrapped selector. Fixed and covered by a dispatch-shape regression test.
  2. set_firefox_tab_muted is silently ignored by Firefox without a user gesture — now returns a dedicated MUTE_REQUIRES_USER_GESTURE error with actionable guidance instead of a generic verification failure.

Live-verified in v0.5.5: event-driven wait_for_firefox_tab (instant on completion), get_active_firefox_tab, list_firefox_windows, open/close/restore.

128 tests pass. Same Gecko ID, AMO unlisted signed.

v0.5.5 — 26 tools incl. event-driven wait (AMO-signed)

Choose a tag to compare

@Johnnyzlee Johnnyzlee released this 14 Aug 21:07

v0.5.5 — 26 tools: pin, duplicate, mute, restore, batch ops, event-driven wait

New tools (26 total):

  • pin_firefox_tab / unpin_firefox_tab / duplicate_firefox_tab / set_firefox_tab_muted
  • restore_firefox_tab (undo a close, via sessions) and get_active_firefox_tab
  • move_firefox_tab_to_window (bare cross-window move) and move_firefox_tabs_to_group (batch, one verification)
  • open_firefox_tabs_into_group — atomic batch open-and-group with rollback
  • wait_for_firefox_tabevent-driven: the extension pushes tabs.onUpdated load completions to the broker; waiting agents are answered instantly from cache or on arrival
  • set_firefox_tab_group_color

Full toolset: window management (list/new), tab lifecycle (open/close/duplicate/mute/pin/restore/move/get-active), groups (create/move/merge/rename/color/collapse/close/ungroup), batch operations, and event-driven waiting.

Extension signed via AMO unlisted channel (same Gecko ID; adds the sessions permission). 126 tests pass. Works alongside the official Firefox DevTools MCP — no feature overlap.

v0.5.4 — list_firefox_windows + new_firefox_window (AMO-signed)

Choose a tag to compare

@Johnnyzlee Johnnyzlee released this 14 Aug 20:32

v0.5.4 — Windows + new window tools

New tools (15 total):

  • list_firefox_windows — per-window tab/group counts with each group's title, collapsed state, and size; the target-picker for cross-window moves.
  • new_firefox_window — create a background Firefox window (optionally with an explicit http(s) URL) and verify the window ID and first tab.

Full workflow now: open a new window → open links → create a group there → move tabs across windows with an explicit windowId.

Also ships scripts/upgrade.sh — agents can upgrade the whole stack on request (git pull → rebuild → restart Hermes → open the newest signed XPI).

Extension signed via AMO unlisted channel (same Gecko ID). 108 tests pass.

v0.5.2 — close/merge/rename/collapse + cross-window (AMO-signed)

Choose a tag to compare

@Johnnyzlee Johnnyzlee released this 14 Aug 20:22

v0.5.2 — Close, merge, rename, collapse + cross-window moves

New tools (13 total):

  • close_firefox_tabs — batch close by tabId, with existence checks and verification.
  • close_firefox_tab_group — close a whole exact group and remove the empty group.
  • merge_firefox_tab_groups — atomically move every tab of one exact group into another (cross-window supported), remove the empty source, verify every tab.
  • move_firefox_tab_to_group — new windowId parameter for explicit cross-window moves via tabs.moveToWindow (still rejected without it).
  • rename_firefox_tab_group — exact rename with duplicate-title rejection.
  • set_firefox_tab_group_collapsed — verified collapse/expand.

Example:

Move every tab from the "Trading" group into "Investing".

Extension signed via AMO unlisted channel (same Gecko ID). 104 tests pass.

v0.5.1 — move_firefox_tab (AMO-signed)

Choose a tag to compare

@Johnnyzlee Johnnyzlee released this 14 Aug 20:06

v0.5.1 — Move tabs to a position

New move_firefox_tab tool: move one exactly identified tab to a target position in its own window — 0-based index, or -1 for the end. Index validation, out-of-range clamping, no-op detection, and post-move verification are all handled; ambiguous matches still fail safely.

Example:

Move the tab for "quarterly report" to the front of the window.

{ "selector": { "title": "quarterly report" }, "index": 0 }

Extension unchanged otherwise (same Gecko ID, AMO unlisted signed). 8 MCP tools total.

v0.5.0 — Shared broker for multiple agents (AMO-signed)

Choose a tag to compare

@Johnnyzlee Johnnyzlee released this 14 Aug 19:59

v0.5.0 — Multiple agents, one Firefox connection

A shared broker multiplexes any number of MCP agents over the single Firefox connection. The first MCP server you start becomes the broker; every other instance connects to it automatically as an authenticated client. Claude Code, Hermes, OpenClaw, Codex, OpenCode, WorkBuddy — all can manage the same Firefox session at the same time. Your existing client configs don't change.

  • Extension unchanged (same Gecko ID, signed via AMO unlisted channel).
  • Agent port 127.0.0.1:8767 (override FIREFOX_TABS_BRIDGE_BROKER_PORT).
  • Verified live: Hermes as broker + a second agent connected concurrently, both listing real Firefox tabs.