aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoramankumarsingh77 <amankumarsingh7702@gmal.com>2026-05-05 22:37:26 +0530
committeramankumarsingh77 <amankumarsingh7702@gmal.com>2026-05-05 22:37:26 +0530
commite42d9538ad5dafd4e11cf8f5a3912ebf0763d770 (patch)
tree31b807a32ed67fca1cfcec49029404f495011ecd
parentf73941cbca4a2d765b140d474ab4e05e1008d93f (diff)
release: v0.3.2 — parallel tool execution, scroll fixes, TUI crash fix
- Add async mutex for auto-serialization of mutation tools - Observation tools can run in parallel with mutations - Fix scroll deltaY sign convention (positive=down per W3C) - Add Page.bringToFront before scroll to prevent silent drops - Fix screenshot TUI crash on long file paths (truncateToWidth)
-rw-r--r--.pi/settings.json4
-rw-r--r--CHANGELOG.md14
-rw-r--r--package.json2
3 files changed, 19 insertions, 1 deletions
diff --git a/.pi/settings.json b/.pi/settings.json
new file mode 100644
index 0000000..59c7b93
--- /dev/null
+++ b/.pi/settings.json
@@ -0,0 +1,4 @@
+{
+ "extensions": ["../src/index.ts"],
+ "skills": ["../skills"]
+}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 10c4571..9c10b3f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,20 @@
All notable changes to pi-browser-harness will be documented in this file.
+## 0.3.2 — 2026-05-05
+
+### Added
+
+- **Parallel tool execution with automatic mutation serialization.** Observation tools (`browser_screenshot`, `browser_page_info`, `browser_execute_js`, `browser_list_tabs`, `browser_http_get` etc.) can now run in parallel with each other and with mutation tools. Mutation tools (`browser_click`, `browser_type`, `browser_scroll`, `browser_navigate`, `browser_switch_tab`, etc.) are automatically serialized through a shared async mutex so they never race on shared CDP session/page state. LLMs can emit independent operations in the same turn for better latency.
+- **New `src/util/mutex.ts`** — lightweight async mutex (~25 LOC) with FIFO queue. `serialized?: boolean` flag added to `BrowserToolDefinition`; `mutationMutex()` exposed on `BrowserClient`.
+- **Prompt and SKILL.md** updated with parallel-execution guidance and safe-parallel-call examples.
+
+### Fixed
+
+- **Scroll tool deltaY sign convention corrected.** Previously `deltaY` was documented as positive=up (inverted vs W3C wheel events). Now follows the W3C convention: positive=down, negative=up. Default changed from `-300` to `300` (scroll down). Prompt snippets, tool descriptions, and guidelines all updated.
+- **Scroll tool now calls `Page.bringToFront`** before dispatching mouse events, preventing silent-drop when the target page is not the active browser tab. Mouse events now include explicit `button:"none"`, `buttons:0`, `pointerType:"mouse"`.
+- **Screenshot TUI render no longer crashes the host on long file paths.** The `Image` text-fallback render did not respect terminal width, so a long path could overflow and crash the host TUI. Each rendered line is now truncated with `truncateToWidth` to fit the available width.
+
## 0.3.1 — 2026-05-02
### Bug fixes
diff --git a/package.json b/package.json
index 1b19280..761a56e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "pi-browser-harness",
- "version": "0.3.1",
+ "version": "0.3.2",
"description": "Browser control extension for pi — navigate, click, type, screenshot, and extract data from real Chrome via CDP",
"keywords": [
"pi-package",