v2.2.0
The project runtime is Bun 1.4.0. CLI, worker, tests, CI, and Cloud Agent
install run on Bun. The published library still loads under Node 22.
Changed
- The project runtime is Bun 1.4.0. CLI, worker, tests, CI, and Cloud Agent
install run on Bun.betterwright doctorreports Bun when that is the host.
The published library still loads under Node 22 if a consumer imports it
from Node; worker processes inherit the host'sprocess.execPath.
MCP registration usesbunx betterwright mcp. Install hints fromdoctor
and missing optional peers suggestbun addwhen the host is Bun. --versionand--helpload a thin CLI router and skipcli-main.
bun testruns the unit files in parallel.- Cross-platform CI still reports the branch-protected
Cross-platform unit tests (<os>, 22|24)names. Those jobs run Bun 1.4.
Fixed
- The SOCKS guard maps RFC 6761
localhost/*.localhostnames to
127.0.0.1then::1without OS DNS, then still policy-checks every
loopback literal. Chromium site-isolation hosts such as
signup.acme.localhostwork on glibc that does not resolve.localhost. - Worker
--importflags copied fromNODE_OPTIONSunder Bun now pass a
filesystem path. Node'spathToFileURLpercent-encodes~, and Bun then
looks for a file that does not exist — Windows runners use the 8.3 home
RUNNER~1. - The session daemon is spawned through the thin CLI router
(dist/bin/betterwright.js), notcli-main. After the router split,
cli-mainonly exportedrunCli, so a fresh daemon child exited without
creating its socket. - Guard-proxy unit tests wait on a wall-clock deadline instead of a
boundedsetImmediateloop, so parallelbun teston a loaded macOS
runner cannot miss the backoff delay hook.