v0.38.0

feyninc/mandexv0.38.0Sep 16, 2026by github-actions[bot]

Upgrading?

AI Summary

A major update introducing conditional screenshots, snapshot deltas, human-like pointer movements, and enhanced recording presentation tools.

Key Highlights

  • Added conditional screenshots with `--if-changed` and pixel difference thresholds.
  • Introduced automatic snapshot deltas and persistent snapshot refs.
  • Enabled human-like pointer movement and recording presentation tools.
  • Added WebMCP catalog updates for browser responses.

New Features

  • Conditional screenshots with `screenshot --if-changed` and `--threshold`
  • Automatic snapshot deltas with `snapshot --delta`
  • Persistent snapshot refs for DOM elements
  • Human-like pointer movement with `--input-mode` and `--human`
  • Recording presentation tools (`--cursor` and `--contact-sheet`)
  • Stateful auth vault login with `auth login --no-navigate`
  • WebMCP catalog updates for browser responses

Full Release Notes

### New Features

- Added **conditional screenshots** with `screenshot --if-changed` to skip unchanged captures and `--threshold <0-1>` to tolerate small pixel differences. Screenshot history is scoped to each tab and capture mode, and unchanged captures omit the image path to save tokens (#1813)
- Added **automatic snapshot deltas** with `snapshot --delta`, which returns a full baseline followed by an unchanged revision or compact structural changes. Use `--full` to refresh the baseline (#1811)
- Added **persistent snapshot refs** for surviving DOM elements across same-document changes. Replaced elements and navigated pages or iframes invalidate their refs without recycling identifiers (#1812)
- Added **human-like pointer movement** with session `--input-mode`, per-action `--human` for clicks and drags, and reproducible curved `mouse move` paths (#1810)
- Added **recording presentation tools**: `--cursor` renders an animated pointer and click ripple, while `--contact-sheet` saves a timestamped PNG summary of visual changes (#1807, #1808)
- Added **stateful auth vault login** with `auth login --no-navigate`, which fills an already prepared login page after verifying its origin against the credential URL (#1771)
- Added **WebMCP catalog updates** to normal browser responses. Concise, content-bounded summaries appear on initial discovery and catalog changes, while full schemas remain opt-in (#1842)

### Improvements

- Improved **recording frame timing** by holding the latest Chrome frame between repaints so the output duration follows the requested frame rate (#1806)

### Bug Fixes

- Fixed **CDP transport recovery and shutdown** so malformed transport messages do not strand unrelated commands and failed initialization disconnects cleanly (#1739)
- Fixed **dropdown label matching** to normalize whitespace, including non-breaking spaces, when selecting options by visible label (#1736)

### Documentation

- Clarified **reliable browser wait strategies** by recommending page-specific selectors, text, URLs, or JavaScript conditions and reserving `networkidle` for pages known to become quiet (#1834)

### Contributors

- @ctate
- @Railly
- @mauricioantolin
- @mecampbellsoup
- @evrenverse
- @judegao
- @petehunt

Related Repositories