Skip to content

v1.12.0 — big set of changes from jo and reliability/compat fixes

Choose a tag to compare

@skyfallsin skyfallsin released this 19 Jul 02:38

This release upstreams reliability work from running Camofox in production at Jo, 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!