v1.12.0
longbridge/gpui-kitv1.12.0Jul 19, 2026by skyfallsin
AI Summary
A major upstream release introducing reliability improvements from production usage at askjo.ai, including process cleanup, Docker/Linux compatibility fixes, and persistence enhancements.
Key Highlights
- Scope process cleanup to browsers owned by the current server and prevent orphaned processes.
- Improve idle-shutdown health checks and memory-pressure recovery.
- Await shutdown listeners before closing contexts so storage checkpoints complete.
- Await `VirtualDisplay.get()` so launches no longer receive `DISPLAY=[object Promise]`.
- Fix factory tool registration so newer OpenClaw versions expose all `camofox_*` tools.
New Features
- `CAMOFOX_DISABLE_DEFAULT_ADDONS=1` environment variable
- Improved multi-instance tab routing and proxy rotation
- Skip unstable bot-detection iframes during ref construction
- Normalized browser failure status codes and recovery hints
- Bounded click fallback lookups
Full Release Notes
This release upstreams reliability work from running Camofox in production at [Jo](https://askjo.ai), alongside community fixes. ## What changed ### Browser reliability Substantial changes as a result of broad production-usage on residential proxies from askjo.ai - Scope process cleanup to browsers owned by the current server. - Prevent close/relaunch races and clean up orphaned browser processes. - Improve idle-shutdown health checks and memory-pressure recovery. - Harden popup, stale-tab, and concurrent tab lifecycle handling. - Improve multi-instance tab routing, proxy rotation, and Google prewarming. - Bound click fallback lookups and return an actionable 422 instead of a 30-second 500. - Skip unstable captcha and bot-detection iframes during ref construction. - Normalize browser failures into stable status codes and recovery hints. ### Linux and Docker - Await `VirtualDisplay.get()` so launches no longer receive `DISPLAY=[object Promise]`. - Remove the fixed context viewport that triggered `viewport.isMobile` Juggler errors. - Default Xvfb to 1280×720×24. - Pin `camoufox-js` to `0.10.2` for reproducible installs. - Improve Docker build and dependency installation. Fixes #6807 and related reports #8043, #8042, #5916, #5812, #5643, #5408, and #5166. ### Persistence and startup - Await shutdown listeners before closing contexts so storage checkpoints complete. Fixes #7162. - Add `CAMOFOX_DISABLE_DEFAULT_ADDONS=1` to skip UBO when addon downloads or cache state are unreliable. Fixes #5067. - Restore the disabled reporter contract. Fixes #5434. ### OpenClaw and dependencies - Fix factory tool registration so newer OpenClaw versions expose all `camofox_*` tools. Fixes #5437. - Restore the generated `plugin.js` runtime artifact. - Fix the E2E test command and test teardown. - Update `qs` to 6.15.2 and `ua-parser-js` to 2.0.10, including its Client Hints ReDoS fix. ## Community PRs Thank you! - #7266 — Linux display and viewport compatibility — @mvanhorn - #5078 — optional UBO exclusion — @mvanhorn - #5960 — disabled reporter contract — @mrzlab630 - #7163 — shutdown persistence — @joyjit - #7879 — process ownership cleanup — @leomercer-dev - #5663 — bounded click fallback — @leoneparise - #5591 — unstable iframe handling — @leoneparise - #7534 — OpenClaw tool registration — @xenek - #5909 — dependency security updates — @dependabot