v1.0.24

Skyvern-AI/skyvernv1.0.24Mar 13, 2026by wintonzheng

AI Summary

Focuses on MCP tool enhancements, Code 2.0 execution modes, and a major documentation overhaul.

Key Highlights

  • MCP drag, file upload, evaluate async
  • Code 2.0 option in 'Run With' dropdown
  • Security fixes (Dependabot alerts)
  • Full documentation redesign
  • GPT-5.4 support

New Features

  • MCP drag, file upload, evaluate async
  • Code 2.0 option to run-level 'Run With' dropdown
  • Full documentation redesign
  • GPT-5.4 support
  • QA skill in pip package and auto-install

Full Release Notes

## What's Changed

Version bumped from 1.0.26 to 1.0.24

### Recent Changes
- feat: MCP drag, file upload, evaluate async, tool annotations (#5229) (a48d2cff)
- refactor: replace adaptive_caching with code_version, remove code_v2 (#5227) (4d04d8eb)
- Update API specifications with fern api update (#5213) (a5a8172b)
- feat: add MCP inspection tools (console, network, dialog) — PR1 of Playwright parity (#5225) (3a6a67ee)
- remove non-partial indexes (#5226) (17c5492c)

**Full Changelog**: https://github.com/Skyvern-AI/skyvern/compare/v1.0.26...v1.0.24


## What's Changed
* Add qa_test MCP prompt for diff-driven browser QA testing by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4954
* Fix infinite script regeneration loop for adaptive caching workflows by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/4956
* Thread workflow_permanent_id into browser creation chain and PostHog flag properties by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/4957
* feat: add --use-local-profile to browser serve for Chrome profile reuse by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4958
* Fix webhook payload timestamps always null (#SKY-7211) by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/4959
* fix: ensure meaningful failure_reason when NL branch evaluation fails (#SKY-8026) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/4964
* Extract error background color as CSS variable (#SKY-8129) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/4961
* Allow browser_profile_id + browser_session_id together and inject browser_session_id into Jinja templates by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4967
* Extract StatusPill / IconBadge component (#SKY-8124) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/4962
* Reduce MCP tool response token usage by ~93% by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4963
* Fix Claude Desktop MCP setup: use stdio transport (#SKY-7211) by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/4965
* Fix "BrowserState has no page" in trigger block (#SKY-8149) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/4966
* SDK Consistency: Include browser_session_id and browser_profile_id in workflow run POST response by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4969
* fix: nested conditional branch switching corrupts visibility state (#SKY-8058) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/4970
* Add entrypoint field to global log context by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/4973
* Add user-defined error detection on task failure by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/4974
* feat: add browser session support to OSS Docker deployment by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/4891
* fix: Lazy-init AWS client to avoid ProfileNotFound crash at import time by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/4941
* fix: show clear validation error for invalid JSON in HTTP Request Block (#SKY-7119) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/4978
* fix: use chain_click in download click handler for fallback strategies by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/4979
* fix: re-inject domUtils.js on JS context loss during scraping (#SKY-8202) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/4981
* fix: remove trailing comma in docs.json breaking Mintlify deployment by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/4980
* Allow editing credential without changing values (#SKY-8108) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/4982
* fix: wait for Xvfb before starting x11vnc in Docker entrypoint by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/4975
* Add QA discoverability to MCP instructions and localhost guard for cloud browsers by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4984
* Bundle QA skill in pip package and auto-install during setup by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4985
* Add interactive ngrok guided setup for browser serve --tunnel by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4986
* Fix caching 2.0: non-cacheable blocks fail with "Block result is None" by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/4987
* Update API specifications with fern api update by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/4983
* Add guided `skyvern setup` quickstart + rename signup to login by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4988
* feat: add browser_address as sequential execution indicator by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/4990
* feat: hide Get Api Key and Clear cached scripts endpoints from OpenAPI docs by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/4991
* feat: add Code 2.0 option to run-level "Run With" dropdown by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/4992
* Fix TOTP credentials page: display timestamps in local timezone with UTC on hover by @crayment in https://github.com/Skyvern-AI/skyvern/pull/4993
* Show version number in Skyvern's UI (#SKY-8048) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/4994
* feat: display full adaptive caching script in Code tab by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/4995
* fix: stabilize workflow table column widths (#SKY-7032) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/4996
* feat: add fallback episode API endpoints by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/4997
* Update API specifications with fern api update by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5001
* fix: prevent credential values from leaking into error messages and LLM prompts (#SKY-8222) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5002
* create partial index alembic migrations by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5003
* Add browser tunneling documentation by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/4972
* fix: remove WORKFLOW_TRIGGER from safe block list for secrets (#SKY-8222) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5005
* feat: add structured error logging for DAG execution failures (SKY-7281) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5004
* [NO-TICKET] Revert TOTP FE by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5000
* fix: prevent false-positive "save changes" dialog in workflow editor (#SKY-8160) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5006
* [NO-TICKET] Revert TOTP Feature BE by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/4999
* Remove default cache-key-value param from workflow debug URL (#SKY-7361) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5008
* fix: kill orphan subprocess on timeout and add jitter to Bitwarden CLI (#SKY-8053) by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/5009
* Add GPT-5.4 support by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/5010
* feat: update Trigger Block UI browser session and completion controls (#SKY-8220) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5014
* fix: preserve code_v2 intent after workflow_run DB refresh (#SKY-8261) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5015
* Add script version selector to Code tab by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5016
* fix: default AI fallback to true on the run page by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5017
* fix: preserve run_with intent when running with Code 2.0 by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5019
* [NO-TICKET] Removed Unused Component by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5018
* fix: create fallback episodes for code_v2 runs by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5021
* fix: resolve all 30 open Dependabot security alerts (#SKY-8271) by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/5023
* fix: hide parameter select on Send Email file attachments (#SKY-8118) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5025
* Revert: browser session support for OSS Docker deployment by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5026
* Fix MCP PostHog telemetry routing (#SKY-8198) by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5027
* Fix OSS frontend build: add useFeatureFlag stub by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5042
* Update API specifications with fern api update by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5036
* fix: prevent circular next_block_label in conditional branch serialization (#SKY-8216) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5044
* fix: simplify code block gating and fix empty script execution reasoning by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5047
* perf: replace fixed browser waits with jittered settle delay by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5048
* feat: default MCP-created workflows to Code 2.0 by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5050
* fix: deduplicate extracted_information in code v2 loop output by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5051
* fix: loop block iteration display shows null/duplicate entries during streaming (#SKY-8051, #SKY-8152) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5049
* fix: patch static click actions inside for-loops in generated scripts by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5052
* fix: preserve run_with mode when rerunning a workflow by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5053
* fix: replace backtracking regex with balanced-paren parser by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5056
* feat: outline browser pane during block runs (#SKY-7679) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5055
* fix: default to code-v2 mode when workflow has adaptive_caching enabled by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5057
* backend-aware /qa and clarify local auth diagnostics by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5058
* Add QA report persistence to /qa skill (#SKY-8305) by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5059
* Add MCP API key switcher for local clients [SKY-8218] by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5060
* Stop MCP model-key hallucinations in workflow creation (#SKY-8302) by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5061
* Update API specifications with fern api update by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5062
* fix: replace CodeQL-flagged prompt regex in workflow script service [SKY-8311] by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5063
* fix: handle Edge PDF interstitial pages on about:blank (#SKY-8279) by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/5065
* fix: move Bitwarden subprocess kill to finally block by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/5066
* fix: respect workflow-level run_with=agent in should_run_script by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5067
* Fix all deprecation warnings on startup (#SKY-8131) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5068
* fix: new script versions not picked up by other workers by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5069
* docs: homepage redesign, mermaid diagrams, cookbook screenshots, and Laminar observability by @naman06dev in https://github.com/Skyvern-AI/skyvern/pull/5046
* Make workflow run output JSON viewers resizable via drag (#SKY-7528) by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5070
* fix: add __repr__ to Action base class to prevent log serialization errors by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5071
* Add execution time column to Run History table by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5073
* Expose workflow folder APIs in Fern spec by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5074
* [SKY-8323] Update sync by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5072
* Add workflow folder support to SDK and MCP by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5075
* Add backend workflow validation on create and update (#SKY-8290) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5076
* feat: dynamic download selectors for file_download blocks in for-loops by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5077
* Fix critical security vulnerabilities (CodeQL + Dependabot) by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5043
* feat: add user context field for credential login testing — backend (#SKY-8074) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5079
* [SKY-8327] Default MCP workflow proxy to residential by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5080
* feat: persist user_context on credentials (#SKY-8074) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5081
* [SKY-8322] Compact MCP workflow status responses and fix wr lookup by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5084
* Re-add ENABLE_DOM_PARSER_V2 field reverted by OSS sync by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5083
* Bump version to 1.0.24 by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5086


**Full Changelog**: https://github.com/Skyvern-AI/skyvern/compare/v1.0.23...v1.0.24