0.2.8

lightpanda-io/browser0.2.8Apr 2, 2026by github-actions[bot]

AI Summary

Adds accessibility attributes (ariaAtomic, ariaLive), introduces StyleManager for CSS, and improves MCP DOM interaction tools.

Key Highlights

  • ARIA attributes: `ariaAtomic` / `ariaLive`
  • New StyleManager for CSS bucketing and dirty-state handling
  • MCP DOM interaction tools (click, fill, scroll, waitForSelector)
  • `--wait-selector` and `--wait-script` options

New Features

  • Element.ariaAtomic / Element.ariaLive
  • HTMLAnchorElement.rel
  • URLSearchParams: support arrays in constructor
  • ResizeObserver.unobserve available in JS context
  • Page.reload implementation
  • Improved CDP navigation event order
  • Charset detection from first 1024 bytes of HTML

Full Release Notes

## New Web APIs
- `Element.ariaAtomic` / `Element.ariaLive`
- `HTMLAnchorElement.rel`; `HTMLElement.title`, `.dir`, `.lang`
- `URLSearchParams`: support arrays in constructor
- `FormDataEvent`
- `ResizeObserver.unobserve` available in JS context
- `CanvasRenderingContext2D` can access its canvas element; canvas context cache
- `navigator.languages` includes base language per spec
- Allow `Document` to be the root of an IntersectionObserver

## CDP (Chrome DevTools Protocol)
- Implement `Page.reload`
- Add script to evaluate on new document
- Improve/fix CDP navigation event order
- Remove CDP generic (cleanup); unify MCP/CDP node registration

## MCP
- `SemanticTree`: `nodeDetails` tool, checked state in node data, param reorder
- Configurable protocol version; improved argument parsing + error handling
- `parseOptionalAndGetPage` helper extraction

## CLI
- Add `--wait-selector`, `--wait-script`, `--wait-script-file` options
- Fix `--wait-until` default value
- `-Dpre_version` build flag for custom pre-version

## HTTP / Networking
- Rework header/data callbacks in HttpClient
- Connect code added to auth challenge detection
- Improve authority parsing; resolve scheme in path; cross-origin Window handling

## Stability / correctness
- Rework finalizers; protect `transfer.kill()` like `transfer.abort()`
- Expand XHR reference lifetime
- Add missing `InvalidAccessError` DOMException mapping
- Provide failing callback to ValueSerializer for host objects
- Set `v8::Signature` on FunctionTemplates

## Build / CI / dev
- Add `check` step to verify compilation; simplify nightly versioning
- Bump zig-v8 to v0.3.7
- Send e2e integration results to Slack; WPT diff; improve async tests
- Add `SECURITY.md`; percent-encode version query string for crash reports
- Note missing CORS in README status