v1.0.3
Skyvern-AI/skyvernv1.0.3Dec 9, 2025by suchintan
AI Summary
Implements the DAG workflow execution engine, adds Conditional Block functionality, and enhances browser recording and SDK capabilities.
Key Highlights
- DAG (Directed Acyclic Graph) workflow execution engine
- Conditional Block implementation
- Browser recording events to blocks
- SDK: file download support
- SDK: page.agent method rename
New Features
- DAG workflow execution
- Conditional blocks
- Browser recording
- SDK file downloads
- Hover action support
Full Release Notes
## What's Changed * Add new Proxy granular targeting to docs by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4177 * add kr8s to cloud dependency by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/4180 * Enable browser recording by @jomido in https://github.com/Skyvern-AI/skyvern/pull/4182 * Update API specifications with fern api update by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/4176 * fix: prevent Vertex cache contamination across different prompt templates by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/4183 * Extract BrowserState.scrape_website by @stanislaw89 in https://github.com/Skyvern-AI/skyvern/pull/4184 * remove commented hack by @jomido in https://github.com/Skyvern-AI/skyvern/pull/4185 * Improve WorkflowAddMenu component by @jomido in https://github.com/Skyvern-AI/skyvern/pull/4186 * fix totp identifier fallback from stored credentials by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4190 * shu/fix caching with totp identifier or totp url by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/4191 * remove unused function in generate_script.py by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/3545 * next interation on failure by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/4192 * optimize browser session history query by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/4193 * rename to next loop on failure by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/4194 * Browser recording: events to blocks by @jomido in https://github.com/Skyvern-AI/skyvern/pull/4195 * SDK: download files by @stanislaw89 in https://github.com/Skyvern-AI/skyvern/pull/4196 * SDK: download files improments by @stanislaw89 in https://github.com/Skyvern-AI/skyvern/pull/4198 * Autofill totp_identifier for user/email based on creds by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4200 * add cached steps flag to db (is_script_cached in Step) by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4202 * add support for gpt 5.1 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/4197 * Improve quickstart cli by @stanislaw89 in https://github.com/Skyvern-AI/skyvern/pull/4205 * fix browser session status bug by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/4209 * fix totp code bug by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/4210 * SDK: fix import time regression by @stanislaw89 in https://github.com/Skyvern-AI/skyvern/pull/4208 * fix speculative artifact persistence by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/4211 * SDK: support file download in launch_local_browser by @stanislaw89 in https://github.com/Skyvern-AI/skyvern/pull/4199 * SDK: use Skyvern.local() factory method by @stanislaw89 in https://github.com/Skyvern-AI/skyvern/pull/4206 * Pass screenshots from one block to another block by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4212 * SDK: fix api-key in local mode by @stanislaw89 in https://github.com/Skyvern-AI/skyvern/pull/4213 * SDK: log url when running tasks by @stanislaw89 in https://github.com/Skyvern-AI/skyvern/pull/4189 * Move LLMAPIHandler to its own file by @stanislaw89 in https://github.com/Skyvern-AI/skyvern/pull/4216 * SDK: rename page.run -> page.agent by @stanislaw89 in https://github.com/Skyvern-AI/skyvern/pull/4215 * SDK: text prompt by @stanislaw89 in https://github.com/Skyvern-AI/skyvern/pull/4214 * Reference credential in HTTP request block by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4218 * shu/DAG workflow execution engine part1 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/4219 * Update API specifications with fern api update by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/4221 * workflow DAG execution by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/4222 * disable caching for workflows with conditional blocks by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/4223 * Remove js tracking file reference from docs.yml by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/4225 * Conditional Block by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/4224 * remove _cached in initialize_llm_api_handler by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/4227 * fix workflow graph building logic for loop blocks by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/4228 * SDK: validation action by @stanislaw89 in https://github.com/Skyvern-AI/skyvern/pull/4203 * Rebuild Fern SDK by @stanislaw89 in https://github.com/Skyvern-AI/skyvern/pull/4229 * feat: reduce GEMINI_THINKING_BUDGET from 1024 to 500 by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/4234 * honor x-www-form-urlencoded in http block by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/4232 * feat: remove ENABLE_PARALLEL_USER_GOAL_CHECK experiment in favor of treatment by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/4235 * remove code that was commented out in _build_workflow_graph by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/4233 * set gemini thinking budget by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/4237 * feat: add hover action support by @mohamedmamdouh22 in https://github.com/Skyvern-AI/skyvern/pull/3994 * hide folder endpoints from docs by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/4238 **Full Changelog**: https://github.com/Skyvern-AI/skyvern/compare/v1.0.2...v1.0.3