614 downloads in the last 30 days
2026-09-07: 4 downloads2026-09-08: 3 downloads2026-09-09: 4 downloads2026-09-10: 18 downloads2026-09-11: 20 downloads2026-09-12: 23 downloads2026-09-13: 43 downloads2026-09-14: 35 downloads2026-09-15: 20 downloads2026-09-16: 8 downloads2026-09-17: 26 downloads2026-09-18: 21 downloads2026-09-19: 28 downloads2026-09-20: 13 downloads2026-09-21: 17 downloads2026-09-22: 13 downloads2026-09-23: 11 downloads2026-09-24: 2 downloads2026-09-25: 5 downloads2026-09-26: 4 downloads2026-09-27: 5 downloads2026-09-28: 2 downloads2026-09-29: 22 downloads2026-09-30: 66 downloads2026-10-01: 31 downloads2026-10-02: 18 downloads2026-10-03: 30 downloads2026-10-04: 23 downloads2026-10-05: 28 downloads2026-10-06: 44 downloads

Releases 1148

Standalone per-platform binaries to download and run, no tools needed. The newest is pinned on top.

Compare →
Latest release v2.0.700

The taskbar progress bar is requested for every page load: open, navigate, new tab, reload, back and forward now run it on the window being worked on (only screenshots did before). A leftover safety setting (Minimal-touch, on by default) had switched it off for everyone, and on the extension lane it was aimed at whichever pup window Windows listed first (John, 2026-10-05). Note: Adom Bridge 2.1.168 does not render taskbar progress at all yet (adom/adom-bridge#224), so the bar appears once that is fixed. Includes 2.0.698: restored windows keep their videos paused for 30 s.

Stable link for websites and docs: /download/adom/pup-bridge/latest

All releases showing 121-140 of 1148

v2.0.579 Verified 2026-09-14

ext lane: pup_type inserts the whole string in one trusted Input.insertText on the extension lane (per-key dispatch was two poll round trips per character and overran 30 s on a 20-char password); CDP lane unchanged.

v2.0.578 Verified 2026-09-14

ext lane at input parity: click, hover, type, press_key, scroll, fill, element and full-res screenshots, and CSP-proof eval now run on extension-lane windows through nbe's DevTools driver (one driver, synced from nb; chrome.debugger attached on demand). Recording and selector downloads still need lane:cdp (they wait on DevTools events).

v2.0.577 Verified 2026-09-14

ext lane: windows born with the early native stamp now get their jump list (right-click menu) too; a busy lane no longer gets relaunched by an unanswered open (that killed every thread's windows five times today), the open fails with ext_busy instead; lane-rule refusals are logged.

v2.0.576 Verified 2026-09-14

ext lane: launch with CalculateNativeWinOcclusion disabled (as the CDP lane always has) so screenshots of a pup window buried under the user's other windows capture; compositor-only, nothing on the wire. The 2.0.575 debugger screencast produced no frame for an occluded tab and stays only as a fallback.

v2.0.575 Verified 2026-09-14

ext lane: screenshots of a fully occluded window now capture via a one-frame Page.startScreencast under chrome.debugger (a captured tab is treated as visible; Page.captureScreenshot never returns for an occluded tab in stock Chrome and hung the lane in 2.0.574). Every debugger await has a deadline so a capture can never freeze the lane again.

v2.0.574 Verified 2026-09-14

ext lane: screenshots work on a fully occluded window. captureVisibleTab first; on Chrome's image-readback failure the extension attaches chrome.debugger to that one tab, Page.captureScreenshot, detach (Page domain only, no port, no automation flag). --silent-debugger-extension-api hides the bar.

v2.0.573 Verified 2026-09-14

ext lane: one AI thread, one window. Restored the birth lock (R4) so only one window birth is in flight at a time, refused any hwnd another session already owns, filtered births to the lane's own Chrome pids (Edge shares the window class), and dropped the sole-window guess that handed every asking session the same handle. Also ships the annotate preview thumbnail as raw RGBA.

v2.0.572 Verified 2026-09-14

pup-bridge#114: users hear 'pup window'. A naming rule at the top of the root skill (never name the browser build or how pup drives it unless asked), the build taken out of the frontmatter descriptions of pup, pup-lanes, pup-browsers-and-chrome and pup-why-cft (the last two are marked maintainer detail), and plain mode described as the browser's own stock button. Skills only, no code change from 2.0.571.

v2.0.571 Verified 2026-09-14

Skills describe what shipped on 2026-09-14: the thread tile and the overlay badge are composed in the binary (pup-taskbar-states); annotate works on both lanes and the CDP-only list shrinks accordingly, plus the worker self-reload note (pup-lanes, pup-settings); the extension lane's architecture for maintainers, from the shared birth watcher to the queued channel (pup-bridge-dev). The last 41 em-dashes are gone from pup-settings and pup-taskbar-states. No code change from 2.0.570.

v2.0.570 Verified 2026-09-14

Two fixes found by 2.0.569's proofs. (1) The extension-lane command channel is a QUEUE: it was one slot, so two callers at once (the annotate watcher polling every 500 ms and a pup_eval, or the health tick's overlay and a verb) overwrote each other, one timed out, and the annotate watcher died on its first read. Commands queue by id, results are keyed by id, the worker drains the queue on every poll, and everything the worker had taken is re-queued on a fresh hello. (2) The annotate overlay no longer uses innerHTML: pages that enforce Trusted Types (Google Docs) refused it, so annotate had never worked there on either lane. Carries 2.0.569 (annotate on the extension lane, worker self-reload after an install).

v2.0.569 Verified 2026-09-14

Annotate works on the extension lane, and a pup update no longer waits for every window to close. (1) pup_annotate on the default lane: the overlay script is now ONE file shipped in the extension (src/extension/annotate-overlay.js), file-injected into the page's MAIN world on the extension lane (a page CSP cannot refuse a file injection, unlike eval; the pen showed 'Annotating...' and did nothing on Google Docs, John 2026-09-14) and evaluated over CDP on the CDP lane; start, result polling and the Done callback go through lane-generic helpers (inject_script, call_window_fn, read_window, capture_viewport_png); the capture's caption strip and preview are composed in the binary (pup_identity::badge::annotate_compose, fontdue text) instead of an in-page canvas. (2) Worker self-reload: on each health tick, if the lane's worker is behind the bridge version, pup re-stages the extension folder in place and asks the worker to chrome.runtime.reload(); it comes back on the new files with the same lane token and in-flight commands are re-queued. Carries 2.0.568 (overlay badge in the binary) and 2.0.567 (ext windows branded before first show).

v2.0.568 Verified 2026-09-14

The taskbar overlay badge is composed IN THE BINARY (pup_identity::badge) for both lanes. It used to be JavaScript evaluated inside the page, which a strict Content-Security-Policy refused (Google Docs, claude.ai, the wiki), so those windows never got an overlay: 'no badge could be composed' (John, 2026-09-14, the all-engineering agenda). Same card as before: 48 px, radius 6, #202124 or #f1f3f4 when the icon is dark-dominant and transparent, the icon cover-fitted into a 44 px inset, scaled to overlaySize and pinned north-east; the generic globe and PDF sheet are embedded PNGs. The icon is sourced per lane: the extension reads by injected function (page CSP cannot refuse it) and fetches with the page's cookies; the CDP lane reads the hrefs over Runtime.evaluate and the bridge fetches; /favicon.ico is the fallback with the same 30 min negative cache. badge_js and the extension lane's duplicate composer are deleted. Carries 2.0.567 (ext windows branded before first show).

v2.0.567 Verified 2026-09-14

Extension-lane windows are branded BEFORE Chrome shows them, with the same birth watcher the CDP lane has had since 2.0.446 (now one function shared by both opens): the AUMID is registered ahead of time, a thread polls every top-level frame every millisecond from before the window exists, and the newborn is stamped natively while still invisible so the shell bakes pup's icon into the button at its first show. Until now the ext lane stamped only after the page had navigated, so every ext window was born on the stock Chrome icon (John, 2026-09-14, opening the all-engineering agenda). The ext lane's own 6 s bind loop is deleted; the watcher's hwnd is the window.

v2.0.566 Verified 2026-09-14

Extension-lane channel survives a service-worker restart. An MV3 worker can be torn down between taking a command and answering it (measured 2026-09-14: a second hello 31 s after the first, mid-command); the reply never came and the bridge waited out the full timeout, which on a cold open pushed pup_open_window past ab's 60 s and the AI saw a timeout while the window opened anyway. The bridge now remembers the command it handed out and re-issues it when a fresh hello arrives from the lane. Cold-open budgets also fit inside 60 s now (brands 6 s, tabs 10 s, birth navigate 30 s, badge eval 25 s). Carries 2.0.565 (ext eval matches the CDP result contract) and 2.0.564 (extension lane default, CDP opt-in, pup-lanes skill, dashboard on ext).

v2.0.565 Verified 2026-09-14

pup_eval on the extension lane now returns exactly what the CDP lane returns: a string result stays a string even when its text is JSON (JSON.stringify(...) expressions came back as objects on this lane, which broke any caller written against the CDP contract, ab-smoke's dashboard check first). The worker tags the result type; the bridge reconstructs it. Carries 2.0.564 (extension lane default, CDP only on explicit lane:cdp, pup-lanes skill, dashboard on the extension lane).

v2.0.564 Verified 2026-09-14

Same as 2.0.563 (extension lane is the default; CDP only on explicit lane:cdp; pup-lanes skill) plus: pup_dashboard opens like every other pup window, on the extension lane on adom-you, with no profile and nothing from CDP (John, 2026-09-14: why does pup_dashboard even need cdp). The Node-era pup-dashboard profile is retired. ab-smoke on 2.0.563 had caught the dashboard being refused by the new cdp_lane_required rule.

v2.0.563 Verified 2026-09-14

The extension lane IS pup (John, 2026-09-14): it is the lane every vendor site loads on, so it is the default and the CDP lane opens ONLY on an explicit lane:"cdp". The silent fallback to CDP for profile/isolated/highFps/webSecurity requests is gone; such a request without lane:"cdp" is refused with cdp_lane_required and the fix. New user skill pup-lanes compares the two lanes with pros and cons, lists exactly which verbs need CDP, and states the cost of lane:"cdp" on adom-you. pup-taskbar-states no longer says the browser renders the name tile.

v2.0.562 Verified 2026-09-14

Extension lane: no more orphan about:blank windows. A lane relaunch or a concurrent open went through the worker's open action and left Chrome's startup window on the desktop (John, 2026-09-14). pup now sweeps, after every ext open and on each health tick, every window no session owns whose tabs are all about:blank, the same rule the CDP lane applies in close_orphan_blank_targets. Carries 2.0.561 (a session is matched to its own window by title) and 2.0.560 (thread tile rendered in the binary; stamp at birth and on re-adoption).

v2.0.561 Verified 2026-09-14

Extension lane: a session is matched to ITS OWN OS window by the active tab's title (Chrome titles a window ' - Google Chrome for Testing'), because one lane browser now hosts several threads' windows and 'the lane window' was ambiguous: 2.0.560's rebind bound one thread's session to another thread's window and then to a dead handle. With no title match pup leaves the session unbound and says so in pup_audit_icons rather than guess. Carries 2.0.560 (thread tile rendered in the binary; stamp at birth and on re-adoption).

v2.0.560 Verified 2026-09-14

Same as 2.0.559 (thread tile rendered in the binary; the extension lane stamps the live window at birth and on re-adoption) minus a dead 'tile' action left in the extension worker by an earlier revert.