v2.1.0
Major ref/snapshot system improvements:
- FIX: CSS selector routing — only /^e\d+$/ is a ref, everything else is CSS selector
- FIX: Single ariaSnapshot call eliminates ref/snapshot race condition
- FIX: Unified snapshot routes (core + OpenClaw use same service)
- NEW: Expanded ARIA roles for refs (combobox, listbox, option, dialog, etc.)
- NEW: Configurable MAX_SNAPSHOT_NODES (env CAMOFOX_MAX_SNAPSHOT_NODES, default 2000)
- NEW: Stale-ref detection with clear HTTP 400 error
- FIX: OpenClaw /act error status propagation (400 vs 500)
- FIX: De-duplicated isElementRef across modules