v1.0.53
Skyvern-AI/skyvernv1.0.53Sep 9, 2026by github-actions[bot]
AI Summary
This release focuses on stabilizing the Task V3 engine, enhancing Copilot workflow capabilities, and fixing various stability and security issues. It introduces a web search helper and improves browser session management and error handling.
Key Highlights
- Added a web search helper to prevent scraping Google and Bing directly.
- Enhanced Copilot to read and act on pages left by credential runs.
- Improved Task V3 combobox handling and terminal decision tracking.
- Security upgrades including react-router-dom update.
- Refactored the v3 loop/bootstrap for better stability.
New Features
- Web search helper for code blocks and Copilot.
- Copilot account state naming for saved credentials.
- Copilot access-link destinations support.
- Copilot tool argument display.
- 720p display recording.
- Parquet workflow exports.
- Copilot workflow edit status reporting.
- Copilot crash exit rendering.
- Copilot credential request tool.
Full Release Notes
## What's Changed Version bumped from 1.0.52 to 1.0.53 ### Recent Changes - Bump version to 1.0.53 (#8484) (a2a928b39) - Record keypress gestures in Record Browser (#8481) (5eb8e45ca) - Declare beautifulsoup4 as a server runtime dependency so services stop crash-looping at import (SKY-15788) (#8468) (1c978f338) - Add a web search helper for code blocks and the Copilot so lead-discovery workflows stop scraping Google and Bing (SKY-15737) (#8464) (35cb497c9) - Close a crashed browser tab so the next attach reaches a live target (SKY-15735) (#8463) (45941d646) - Phase 0 W1: typed decomposition of the v3 loop/bootstrap — byte-identical refactor (#8462) (79288cff5) - Log scrape-retry exhaustion at warning, not error (SKY-15724) (#8461) (7ef6e8bc2) - Remove the Copilot terminal envelope and its render flag (SKY-15676) (#8460) (eeaaa6f95) - Recognize JS-wired submit controls in the explicit-submit click bypass (SKY-15195) (#8459) (287867e72) - Drop the wall-clock bound from the download-drain timeout test (#8458) (84d634421) - Let Copilot read and act on the page a credential run left instead of refusing on taint (SKY-15502) (#8456) (b37c56c49) - Grant the Estuary CDC role SELECT on three app tables missing from the warehouse mirror (SKY-15607) (#8449) (6c15069e8) - security: upgrade react-router-dom to 7.18.2 (#8287) (f84345978) - Drop error-code entries that render unusable, matching the guard CodeBlock already applies (#8448) (c348877af) - Give every question part a field it can be answered in (SKY-15616) (#8447) (7f1312827) - Re-read a finalized run's timeline instead of latching a stale snapshot (SKY-15614) (#8446) (dadc9f1c3) - Name vendor browser-creation failures so the log carries the attribution (SKY-15571) (#8445) (9cfa3c762) - Renew the browser-session activity lease from the attached run (SKY-15568) (#8444) (4f92d545a) - Let Task V3 choose its own user-defined error code instead of having one matched on (#8443) (543464883) - Task V3 combobox collapse: node-keyed veto maps and refusal refinements (SKY-15514) (#8441) (1076d3fed) - Remember perception states for the whole run, not the last eight (SKY-14998) (#8440) (7e6c631a4) - Sidebar: replace the Getting started nav row with a progress card (SKY-15526) (#8438) (ef5afc07b) - Recover a copilot reply when the chat stream drops without a final message (SKY-15412) (#8437) (8c759de53) - Compile the attach worker's two wheel-less C extensions in a builder stage (#8436) (8eacacc60) - SKY-15308 Tell a repeat failing repair attempt whether its own code changed (#8435) (73785dba8) - Show the billing error and a Go to Billing link when Discover hits a 402 (SKY-15589) (#8434) (c25fc3fc5) - Let the screenshot supply a value the page can then address by that value (SKY-15537) (#8433) (2b850d10c) - Persist a terminal decision row for budget-exhausted and loop-error Task V3 deaths (#8432) (7e376a918) - SKY-15406: Record which gesture cancelled a copilot turn, and stop asserting the user did it (#8431) (e90c6b18b) - Release the studio Stop button and block controls when the focused run goes away (SKY-15507) (#8430) (8abdfa95c) - Honor set_default_timeout on the secure CodeBlock runner (#8429) (5474aa9fb) - Carry the denying CodeBlock guard onto the block output production actually persists (SKY-15570) (#8428) (feb4f115a) - SKY-15561 follow-up: a failed arm read logs unknown, not never-resolved (#8427) (083979203) - Apply the PBS startup-timeout composite retune and stop the duplicate 504 ticket stream (SKY-14223) (#8426) (cc1509eae) - Commit a single filtered AngularJS ui-select match during text input (#8425) (36f58c78f) - Grade Google connection health on granted scopes, not requested (SKY-15422) (#8424) (9276e5b4e) - Route prompt-branch condition evaluation through the workflow engine A/B (#8423) (f1935f6f1) - Add organization IDs to invalid custom LLM warnings (SKY-15488) (#8422) (603963f14) - Task V3: grant one final observed turn at every budget cap trip (SKY-15420) (#8421) (1ce1fd44d) - Let copilot ask for a login credential with a tool that opens the in-chat card (SKY-15409) (#8420) (827b70a2a) - Render a Copilot crash exit as a crash, not as a browser-operation failure (SKY-15512) (#8419) (994c73a6f) - Remove the dead Task V3 auto-observe code path (#8418) (204083037) - Stop frontend session pollers on 401/403 instead of retrying every second (#8417) (f6da47b67) - Finish the page-analysis deadline downgrade that #15988 started (#8416) (1c68c19b1) - Demote the duplicate error log on the final degraded page reload (#8415) (c144bcb15) - Workflow editor: expose the Skyvern 3.0 engine on validation blocks and the default engine list (SKY-15523) (#8414) (ca7ef9999) - SKY-15416 Keep tested workflow outputs available for Copilot repairs (#8413) (7e6dbf641) - Resolve a Google connection named in the request to its stored id (SKY-15324) (#8412) (b1a5c66fd) - Report handled post-action artifact timeouts at warning instead of error (#8411) (1a6630352) - Task V3: persist the finish verdict as the terminal decision action so v3 blocks show step details (SKY-15346) (#8410) (6390dd93a) - Task V3: collapse duplicate-rendered combobox suggestion rows to one candidate (SKY-15388) (#8409) (5f71204b2) - Pin TLS minimum version on test HTTPS server fixtures (#8407) (8e9df0a4f) - Log cede-control with no VNC channel at info, keep take-control at warning (#8405) (653ef4a1f) - Add the engine discriminator and loop wall-clock to the task duration telemetry (SKY-15499) (#8404) (52eef687e) - SKY-15418 Make output policy block reasons countable (#8403) (146e654a0) - SKY-15407 Report whether a copilot workflow edit is staged for review or accepted automatically (#8402) (53875e962) - Recover the pre-block screenshot over raw CDP when the page capture fails (SKY-15378) (#8401) (560d336eb) - Log the Playwright call-log stage on screenshot timeout (SKY-15447) (#8400) (841f045b5) - Record why a browser session was closed so an aborted one is not counted as completed (#8399) (1126ec96f) - Carry the organization id on the questionnaire reservation response (#8398) (c29df453c) - Add data export to the extraction block (SKY-15396) (#8397) (d30239036) - Show the second-workflow credit offer as a "Run a second agent" row on the Getting started track (SKY-15362) (#8396) (70e9b6f87) - Report the keys that were available when a block template reference fails (SKY-15419) (#8395) (c6a991dc9) - SKY-15316: Commit the Copilot build-test run outcome before post-run browser enrichment (#8394) (b6813d6c9) - fix(SKY-15371): clean up confirmed download popups at the action seam (#8393) (2008985cd) - fix(mcp): return a structured error for out-of-schema workflow_run_list arguments (#8392) (dccf52e46) - Show new organizations a Getting started track in the cloud sidebar (SKY-15298) (#8391) (0479adc96) - Delete 30 test files that catch no production regression (#8390) (3fbfcf603) - fix: log FailedToNavigateToUrl at warning not error (#8389) (0d63b0b26) - Route data-scrubber cron schedule to fairness generation queue (SKY-13661) (#8388) (0919c6892) - Upload PR screenshot evidence with gh --attach (#8387) (b102fb11c) - Classify flag evaluability in the SDK's pre-filter order (follow-up to #16461) (#8386) (fddaaf058) - Task V3: canonical progress tracker, Phase A log-only (SKY-15379) (#8385) (84e8dfbd2) - test(SKY-15375): pin fcntl high-word denial and bare-globals divergence (#8384) (23d97e942) - Revert "Replace per-page local recordings with one 720p display recording (SKY-13472)" (#16079) (#8382) (b4436490d) - Stop heartbeat timeouts from killing live runs on pegged worker nodes (SKY-15399) (#8380) (43b7c1ba5) - docs(datadog): record P0 legacy workflow-run canary fix on monitor 19652478 (SKY-9558) (#8379) (f97702d96) - Stop marking an artifact scrubbed when its object is still in S3 (#8378) (a3f2b7031) - Secure CodeBlock: close MatchClass policy bypass, default-deny child seccomp (SKY-15318) (#8377) (90a98b6f4) - Stop hard-blocking Copilot replies that name a run id or internal tool (SKY-15313) (#8376) (11de5f6be) - feat(landing): carry first-touch UTM into app CTA links (SKY-15370) (#8375) (df8739a51) - Make second-workflow credit claims recoverable and rerun-safe (#8374) (d371ed063) - Wrap long Copilot messages inside the chat pane (#8373) (8521ac222) - Return browser session unchanged on a transient Temporal query rejection (#8372) (6ecf87b75) - Inherit block TOTP config when a static-script run signature omits it (SKY-15221) (#8371) (0acca7abe) - Task V3: tier-1 semantic commit read — decisive-accept-only ARIA/value probe ahead of the shape heuristics (SKY-15322) (#8370) (839791835) - fix: close two FE error-tracking noise-filter gaps (SKY-15333, SKY-15334) (#8369) (bc6c80c88) - Add schema-directed Parquet workflow exports (#8368) (1f0454a8d) - Replace per-page local recordings with one 720p display recording (SKY-13472) (#8367) (3f2628117) - Treat a terminating worker tail as committed and let lone replicas migrate (#8366) (0a0dbc9d7) - Declare a JSON type for the skyvern_finish output param in the MCP schema (#8365) (ffac27991) - Surface the provider's reasoning summary on Task V3 action rows where available (#8364) (4fb1aff30) - Task V3: detect undeclared drill-down categories, verify pill/opaque/async combobox commits, and stop refusing already-committed fields (#8363) (60fbf0808) - Keep Copilot outcome status in the activity feed (SKY-15293) (#8362) (65707eae3) - SKY-15277: Evaluate the active browser frame, not the main document (#8361) (e43c4976e) - Flag-gated ATS eligibility-defaults guidance for Task V3 (#8360) (48bd76dd2) - SKY-15287 Let Copilot use explicit access-link destinations (#8359) (52bb91661) - SKY-15305: Bind delayed session downloads into build-test output (#8358) (1e61a8b9c) - SKY-15304 Keep Copilot test runs on Live (#8356) (cdf320b7c) - Remove the biased workflow_status log field in favour of workflow_run_status (#8355) (d9dbcba2a) - Persist the model's turn reasoning on Task V3 action rows (#8354) (bde7e27b3) - SKY-15214: replace the Studio run failure card with a strip line (#8353) (52491e7ef) - SKY-15268 Copilot account state names each saved credential's tested site and authenticator (#8352) (c10d7f50e) - SKY-15269 Preserve current-page inspection after credential runs (#8351) (791be964b) - Preserve Copilot drafts after build-test connection failures (SKY-15148) (#8350) (f19c46700) - SKY-15270: Show Copilot only the arguments each browser tool accepts (#8349) (9693986ec) **Full Changelog**: https://github.com/Skyvern-AI/skyvern/compare/v1.0.52...v1.0.53 ## What's Changed * SKY-15270: Show Copilot only the arguments each browser tool accepts by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8349 * Preserve Copilot drafts after build-test connection failures (SKY-15148) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8350 * SKY-15269 Preserve current-page inspection after credential runs by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8351 * SKY-15268 Copilot account state names each saved credential's tested site and authenticator by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8352 * SKY-15214: replace the Studio run failure card with a strip line by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8353 * Persist the model's turn reasoning on Task V3 action rows by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8354 * Remove the biased workflow_status log field in favour of workflow_run_status by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8355 * SKY-15304 Keep Copilot test runs on Live by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8356 * SKY-15305: Bind delayed session downloads into build-test output by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8358 * SKY-15287 Let Copilot use explicit access-link destinations by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8359 * Flag-gated ATS eligibility-defaults guidance for Task V3 by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8360 * SKY-15277: Evaluate the active browser frame, not the main document by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8361 * Keep Copilot outcome status in the activity feed (SKY-15293) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8362 * Task V3: detect undeclared drill-down categories, verify pill/opaque/async combobox commits, and stop refusing already-committed fields by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8363 * Surface the provider's reasoning summary on Task V3 action rows where available by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8364 * Declare a JSON type for the skyvern_finish output param in the MCP schema by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/8365 * Treat a terminating worker tail as committed and let lone replicas migrate by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/8366 * Replace per-page local recordings with one 720p display recording (SKY-13472) by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/8367 * Add schema-directed Parquet workflow exports by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8368 * fix: close two FE error-tracking noise-filter gaps (SKY-15333, SKY-15334) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8369 * Task V3: tier-1 semantic commit read — decisive-accept-only ARIA/value probe ahead of the shape heuristics (SKY-15322) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8370 * Inherit block TOTP config when a static-script run signature omits it (SKY-15221) by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/8371 * Return browser session unchanged on a transient Temporal query rejection by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8372 * Wrap long Copilot messages inside the chat pane by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8373 * Make second-workflow credit claims recoverable and rerun-safe by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/8374 * feat(landing): carry first-touch UTM into app CTA links (SKY-15370) by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/8375 * Stop hard-blocking Copilot replies that name a run id or internal tool (SKY-15313) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8376 * Secure CodeBlock: close MatchClass policy bypass, default-deny child seccomp (SKY-15318) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8377 * Stop marking an artifact scrubbed when its object is still in S3 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/8378 * docs(datadog): record P0 legacy workflow-run canary fix on monitor 19652478 (SKY-9558) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8379 * Stop heartbeat timeouts from killing live runs on pegged worker nodes (SKY-15399) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8380 * Revert "Replace per-page local recordings with one 720p display recording (SKY-13472)" (#16079) by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/8382 * test(SKY-15375): pin fcntl high-word denial and bare-globals divergence by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8384 * Task V3: canonical progress tracker, Phase A log-only (SKY-15379) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8385 * Classify flag evaluability in the SDK's pre-filter order (follow-up to #16461) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8386 * Upload PR screenshot evidence with gh --attach by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8387 * Route data-scrubber cron schedule to fairness generation queue (SKY-13661) by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/8388 * fix: log FailedToNavigateToUrl at warning not error by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/8389 * Delete 30 test files that catch no production regression by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/8390 * Show new organizations a Getting started track in the cloud sidebar (SKY-15298) by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/8391 * fix(mcp): return a structured error for out-of-schema workflow_run_list arguments by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8392 * fix(SKY-15371): clean up confirmed download popups at the action seam by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/8393 * SKY-15316: Commit the Copilot build-test run outcome before post-run browser enrichment by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8394 * Report the keys that were available when a block template reference fails (SKY-15419) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8395 * Show the second-workflow credit offer as a "Run a second agent" row on the Getting started track (SKY-15362) by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/8396 * Add data export to the extraction block (SKY-15396) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8397 * Carry the organization id on the questionnaire reservation response by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/8398 * Record why a browser session was closed so an aborted one is not counted as completed by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8399 * Log the Playwright call-log stage on screenshot timeout (SKY-15447) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8400 * Recover the pre-block screenshot over raw CDP when the page capture fails (SKY-15378) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8401 * SKY-15407 Report whether a copilot workflow edit is staged for review or accepted automatically by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8402 * SKY-15418 Make output policy block reasons countable by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8403 * Add the engine discriminator and loop wall-clock to the task duration telemetry (SKY-15499) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8404 * Log cede-control with no VNC channel at info, keep take-control at warning by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8405 * Pin TLS minimum version on test HTTPS server fixtures by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8407 * Task V3: collapse duplicate-rendered combobox suggestion rows to one candidate (SKY-15388) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8409 * Task V3: persist the finish verdict as the terminal decision action so v3 blocks show step details (SKY-15346) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8410 * Report handled post-action artifact timeouts at warning instead of error by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8411 * Resolve a Google connection named in the request to its stored id (SKY-15324) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8412 * SKY-15416 Keep tested workflow outputs available for Copilot repairs by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8413 * Workflow editor: expose the Skyvern 3.0 engine on validation blocks and the default engine list (SKY-15523) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8414 * Demote the duplicate error log on the final degraded page reload by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8415 * Finish the page-analysis deadline downgrade that #15988 started by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8416 * Stop frontend session pollers on 401/403 instead of retrying every second by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/8417 * Remove the dead Task V3 auto-observe code path by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8418 * Render a Copilot crash exit as a crash, not as a browser-operation failure (SKY-15512) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8419 * Let copilot ask for a login credential with a tool that opens the in-chat card (SKY-15409) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8420 * Task V3: grant one final observed turn at every budget cap trip (SKY-15420) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8421 * Add organization IDs to invalid custom LLM warnings (SKY-15488) by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/8422 * Route prompt-branch condition evaluation through the workflow engine A/B by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8423 * Grade Google connection health on granted scopes, not requested (SKY-15422) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8424 * Commit a single filtered AngularJS ui-select match during text input by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/8425 * Apply the PBS startup-timeout composite retune and stop the duplicate 504 ticket stream (SKY-14223) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8426 * SKY-15561 follow-up: a failed arm read logs unknown, not never-resolved by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8427 * Carry the denying CodeBlock guard onto the block output production actually persists (SKY-15570) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8428 * Honor set_default_timeout on the secure CodeBlock runner by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8429 * Release the studio Stop button and block controls when the focused run goes away (SKY-15507) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8430 * SKY-15406: Record which gesture cancelled a copilot turn, and stop asserting the user did it by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8431 * Persist a terminal decision row for budget-exhausted and loop-error Task V3 deaths by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8432 * Let the screenshot supply a value the page can then address by that value (SKY-15537) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8433 * Show the billing error and a Go to Billing link when Discover hits a 402 (SKY-15589) by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/8434 * SKY-15308 Tell a repeat failing repair attempt whether its own code changed by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8435 * Compile the attach worker's two wheel-less C extensions in a builder stage by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/8436 * Recover a copilot reply when the chat stream drops without a final message (SKY-15412) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8437 * Sidebar: replace the Getting started nav row with a progress card (SKY-15526) by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/8438 * Remember perception states for the whole run, not the last eight (SKY-14998) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8440 * Task V3 combobox collapse: node-keyed veto maps and refusal refinements (SKY-15514) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8441 * Let Task V3 choose its own user-defined error code instead of having one matched on by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8443 * Renew the browser-session activity lease from the attached run (SKY-15568) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8444 * Name vendor browser-creation failures so the log carries the attribution (SKY-15571) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8445 * Re-read a finalized run's timeline instead of latching a stale snapshot (SKY-15614) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8446 * Give every question part a field it can be answered in (SKY-15616) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8447 * Drop error-code entries that render unusable, matching the guard CodeBlock already applies by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8448 * security: upgrade react-router-dom to 7.18.2 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/8287 * Grant the Estuary CDC role SELECT on three app tables missing from the warehouse mirror (SKY-15607) by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/8449 * Let Copilot read and act on the page a credential run left instead of refusing on taint (SKY-15502) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8456 * Drop the wall-clock bound from the download-drain timeout test by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/8458 * Recognize JS-wired submit controls in the explicit-submit click bypass (SKY-15195) by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/8459 * Remove the Copilot terminal envelope and its render flag (SKY-15676) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8460 * Log scrape-retry exhaustion at warning, not error (SKY-15724) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8461 * Phase 0 W1: typed decomposition of the v3 loop/bootstrap — byte-identical refactor by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/8462 * Close a crashed browser tab so the next attach reaches a live target (SKY-15735) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8463 * Add a web search helper for code blocks and the Copilot so lead-discovery workflows stop scraping Google and Bing (SKY-15737) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/8464 * Declare beautifulsoup4 as a server runtime dependency so services stop crash-looping at import (SKY-15788) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/8468 * Record keypress gestures in Record Browser by @cindehaa in https://github.com/Skyvern-AI/skyvern/pull/8481 * Bump version to 1.0.53 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/8484 **Full Changelog**: https://github.com/Skyvern-AI/skyvern/compare/v1.0.52...v1.0.53