0.3.3

dubinc/dub0.3.3Jun 23, 2026by github-actions[bot]

AI Summary

Feature release introducing Interactive Agent Mode and extensive Web API enhancements.

Key Highlights

  • New Interactive Agent Mode for LLM-powered web browsing from CLI
  • Expanded Web APIs including BroadcastChannel and improved Navigator support
  • Enhanced Chrome DevTools Protocol implementation with file downloads and permissions
  • Stability fixes including UAF fixes and frame behavior improvements

New Features

  • Interactive agent mode with llama.cpp, Vercel AI Gateway, and Mistral provider support
  • New Web APIs: BroadcastChannel, Navigator on Worker, URL.parse improvements
  • CDP support for Browser.setDownloadBehavior and permission management
  • Cache revalidation support for HTTP requests
  • Terminal support for positional args in single-field schemas

Full Release Notes

## Interactive Agent Mode (new)
- **Interactive agent mode**: LLM-powered web browsing driven from the CLI (#2338).  See details in the [blog article](https://lightpanda.io/blog/posts/introducing-lightpanda-agent-and-pandascript).
- `--save` flag to synthesize reusable scripts from agent tasks
- Provider support: llama.cpp (local), Vercel AI Gateway, and Mistral; providers listed in `--help`
- Per-provider default reasoning effort; respects configured effort; simpler local-provider detection
- `extract` resolves `href`/`src` attributes to absolute URLs

## New Web APIs
- `BroadcastChannel`
- `Navigator` now exposed on `Worker`
- Structured-clone of `window`/`MessagePort` `postMessage` messages
- `innerText` improvements + new `outerText`
- `Node.isEqualNode` handles `Document` comparison
- `URL.parse` and improved URL setter compliance (WPT `/url/`)
- Much better Shadow DOM `slot` support
- `SubtleCrypto` various fixes; better Blob MIME sniffing

## Web API behavior / events
- `iframe` `load` fired on next tick
- Preload `onload`/`onerror` callback timing fixes
- Use `document._frame` rather than the executing frame

## CDP (Chrome DevTools Protocol)
- `Emulation.setDeviceMetricsOverride` honors the viewport
- `Browser.setDownloadBehavior` file downloads implemented
- `Browser.grantPermissions` / `setPermission` / `resetPermissions` honored
- Configurable max WebSocket and HTTP message size
- Fix overly long CDP log message

## HTTP / Networking
- Cache revalidation support
- Internal flag on `Request`

## Stability fixes
- UAF fixes: extend closed popup lifetime from Frame to Page; window reuse
- Fail pending module/preload fetches killed on teardown
- Frame behavior refactored into smaller utility functions

## Ops / CLI / logging
- New "note" log level for the CDP "server running" message
- Terminal supports positional args for single-field schemas