Lightpanda 1.0.4 ships multi-page CDP, rich-text input
Lightpanda, the Zig-built headless browser designed from scratch for AI agents and web automation, has released version 1.0.4 with multi-page CDP contexts, an experimental --wait-until settled lifecycle flag, opt-in CSS animation events, and rich-text typing support for CKEditor, Slate, and Draft.js. The update also upgrades its built-in MCP server with incremental accessibility tree diffs, popup window tracking, and SSE tool streaming.
Skipping Chromium's rendering pipeline gives Lightpanda a massive memory and speed advantage, and 1.0.4 systematically knocks down the gnarly DOM edge cases where non-Chromium web agents usually break in production.
- –Multi-target CDP support routes console, network, and exception events across multiple pages in a single browser context—paired with a new `popups` tool that follows async windows opened after fetches or timers, unblocking OAuth logins and multi-tab agent flows.
- –The experimental `--wait-until settled` flag (and `LP.waitUntil` command) waits for work that can still mutate the DOM while ignoring interval timers, long timeouts, and `IntersectionObserver` loops that routinely hang `networkidle` waits on modern SPAs.
- –Fixing `contenteditable` caret placement, block merging, `InputEvent.getTargetRanges()`, and `about:blank` iframe documents lets agents actually type into CKEditor, Slate, and Draft.js surfaces across CMSs, productivity apps, and social platforms.
- –Under the hood, Lightpanda's MCP server adds `delta: true` on `tree` calls to return only changed lines—slashing LLM token burn between agent steps—while surfacing page-level WebMCP tools and streaming HTTP MCP output over SSE with cancellation support.
- –Opt-in CSS animation events (`--experimental-features animation`) prevent frontend frameworks that gate modal or drawer state transitions on `animationend` callbacks from stalling headless execution.
DISCOVERED
3h ago
2026-11-13
PUBLISHED
4h ago
2026-11-13
RELEVANCE
AUTHOR
lightpanda_io