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