aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authoramankumarsingh77 <amankumarsingh7702@gmal.com>2026-05-02 11:40:20 +0530
committeramankumarsingh77 <amankumarsingh7702@gmal.com>2026-05-02 11:40:20 +0530
commitfa54f769aad7bc3b6b05cf877cc5adda879721be (patch)
tree42a8861cb4e50f54beac37b2fc7de33b19872d07 /CHANGELOG.md
parentb77c5ec30d37f214fe469791f814da8329ef4a77 (diff)
perf: v0.2.0 — event-based waitForLoad, fast ensureAlive, JPEG screenshots, page info caching
5 performance optimizations (14-36% faster end-to-end, output quality unchanged): - fast ensureAlive(): WS state check instead of CDP roundtrip (96% faster per-call) - event-based waitForLoad(): CDP load events instead of 300ms polling (99.5% faster for loaded tabs) - JPEG screenshot support: 29-49% smaller files, faster CDP transfer - page info caching: 1s TTL eliminates redundant evaluateJS calls - parallel domain enables: Promise.all instead of sequential await in switchTab() Benchmark: 3622ms vs 4243ms baseline on 3-tab navigation + screenshot task.
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md11
1 files changed, 11 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0477c08..7e4f927 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,17 @@
All notable changes to pi-browser-harness will be documented in this file.
+## [0.2.0] - 2026-05-02
+
+### Changed
+- **Performance: fast `ensureAlive()`** — skips CDP `Target.getTargets` health-check roundtrip on every tool call. Uses WebSocket state check + 30s TTL. 96% faster per-call setup.
+- **Performance: event-based `waitForLoad()`** — replaces `readyState` polling (300ms interval) with CDP `Page.loadEventFired` / `frameStoppedLoading` event draining (50ms interval). Detects already-loaded pages in ~1ms (99.5% faster).
+- **Performance: JPEG screenshot support** — `captureScreenshot()` accepts `format` (png/jpeg) and `quality` (1-100). JPEG q80 is 29-49% smaller than PNG for complex pages, speeding up CDP transfer and reducing LLM context cost.
+- **Performance: page info caching** — `getPageInfo()` caches results for 1 second, eliminating redundant `evaluateJS` CDP roundtrips on back-to-back calls.
+- **Performance: parallel domain enables** — `switchTab()` enables Page/DOM/Runtime/Network domains via `Promise.all` instead of sequential await.
+- **Tools: `browser_screenshot`** now accepts `format` (png/jpeg) and `quality` parameters.
+- **Tools: `browser_wait_for_load`** now uses `daemon.waitForLoad()` (event-based) instead of polling.
+
## [0.1.0] - 2026-05-02
### Added