{"schemaVersion":"2026-07-21.signal.v2","id":"live-24e434952129360a072f","title":"stagehand-python@4.2.0a0.dev1576: refactor : use progress tracker in act / extract / observe ( 3109)","slug":"stagehand-stagehand-python-404-2-0a0-dev1576-stagehand-python-4-2-0a0-dev1576-refactor-0a072f","url":"https://www.niubiagent.com/signals/stagehand-stagehand-python-404-2-0a0-dev1576-stagehand-python-4-2-0a0-dev1576-refactor-0a072f","jsonUrl":"https://www.niubiagent.com/api/posts/stagehand-stagehand-python-404-2-0a0-dev1576-stagehand-python-4-2-0a0-dev1576-refactor-0a072f.json","markdownUrl":"https://www.niubiagent.com/content/stagehand-stagehand-python-404-2-0a0-dev1576-stagehand-python-4-2-0a0-dev1576-refactor-0a072f","summaryHuman":"Stagehand (Python dev pre-release) refactors timeout handling across act() , extract() , and observe() to use a unified progress tracker with a single shared deadline.","summaryAgent":"Stagehand-python v4.2.0a0.dev1576 replaces per-step timeout checks in act() , extract() , and observe() with a unified progress tracker. A single deadline is now enforced across snapshots, cache operations, LLM requests, and browser interactions, ensuring nested operations share remaining time and preventing late responses from executing subsequent steps.","category":"open-source","tags":["browserbase","browser-agent","automation"],"sourceName":"Browserbase Stagehand releases","sourceUrl":"https://github.com/browserbase/stagehand/releases/tag/stagehand-python%404.2.0a0.dev1576","publishedAt":"2026-10-05T23:24:48Z","curatedAt":"2026-10-06T00:17:49.384Z","confidence":0.96,"agentUsefulness":77,"sponsorIds":[],"language":"en","contentMode":"release-watch","verifiedAt":"2026-10-06T00:17:49.384Z","changeType":"release","actionItems":["Test automation suites using pre-release builds to verify that long-running operations previously exceeding timeouts between I/O boundaries now consistently terminate at their set deadlines.","Ensure error handlers accommodate uniform timeout rejections across act() , extract() , and observe() ."],"body":"In pre-release version 4.2.0a0.dev1576 of stagehand-python , timeout management for act() , extract() , and observe() was refactored via PR 3109 to utilize a shared progress tracker. Previously, each service used isolated timeout tracking that only evaluated elapsed time between major I/O steps, allowing individual stalled operations (such as snapshots, model requests, or browser actions) to exceed configured timeouts. Key updates include: - Shared Deadline: Each invocation shares a single deadline covering snapshots, cache reads/writes, model requests, and browser operations. Nested steps (such as act 's self-healing, two-step actions, replay, or extract 's second model request and screenshot) inherit only remaining time. - Expiry Enforcement: Reaches timeout error upon expiration, strictly blocking subsequent steps. In-flight requests or commands already dispatched may finish, but late responses cannot trigger subsequent actions. - Resource Cleanup: Interrupted executions now clean up settling listeners, temporary element references, and release pressed inputs (e.g., held keys or dragging mouse buttons). - Defaults Maintained: Omitted or 0 timeouts remain treated as unlimited. Removed the redundant timeoutGuard utility.","sponsors":[]}