v0.2.1

Skyvern-AI/skyvernv0.2.1Jun 10, 2025by wintonzheng

AI Summary

A major feature release introducing the official SDK, enhanced workflow capabilities, new AI models (Gemini 2.5 Flash, Anthropic Claude), and improved CLI and documentation.

Key Highlights

  • Released official Skyvern SDK (v0.2.0)
  • Added support for Anthropic Claude 4/3.5 models and Gemini 2.5 Flash
  • Enhanced workflow functionality with rerun capabilities and webhooks
  • Updated CLI with a 'quickstart' command and Python 3.13 support

New Features

  • Official SDK release
  • New AI models (Claude 4, 3.5 Haiku, Gemini 2.5 Flash)
  • Workflow rerun with webhooks
  • CLI quickstart command
  • Python 3.13 support
  • TOTP endpoint updates

Full Release Notes

## What's Changed
* add discord to nav bar by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2422
* Add Skyvern Cloud to Quickstart by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2423
* quick update passwords docs by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2424
* Complted latest CLI by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2426
* fix run task v1 missing webhook by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2428
* add n8n credential test + migrate to new API endpoint by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/2427
* add download filename rule for supabase by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2432
* add n8n ci by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/2431
* fix n8n ci by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/2433
* fix n8n bug by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/2430
* add gemini 2.5 flash preview 05-20 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2434
* fix new tab a issue by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2437
* select bugfix by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2439
* Add TaskRunResponse data to task v2 webhook by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2435
* Add TaskRunResponse data to task v2 webhook by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2444
* two more public endpoints: retry_run_webhook, get_artifact by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2445
* webhook support for task v1 and workflow run; fix task v2 webhook by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2446
* add logs to debug task timeout by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2447
* doc update - add run tasks page by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2425
* update workflow blocks by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2448
* only ignore skyvern/artifacts folder by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2449
* hide legacy task pages by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2451
* make.com doc by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2453
* Update README.md for ollama & openrouter by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2454
* Fern openapi update by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2455
* fix dockerignore so that it won't exclude skyvern/client/artifacts in the build by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2456
* add engine to more blocks by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2457
* Update setup.sh to py3.13 by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2450
* fix workflow run webhook status by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2458
* update workflow webhook resposne by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2459
* bump up litellm by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2460
* fix peotry lock by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2461
* update evals by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2462
* Implement workflow rerun with webhook url by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2463
* add n8n task doc by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/2465
* TOTP endpoint update - support sending code that's less than or equal to 10 chars directly by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2464
* update supported python version in MCP doc by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2466
* doc update - Clarified startup options for local development - `skyvern run server` vs Docker Compose  by @cristian-branet in https://github.com/Skyvern-AI/skyvern/pull/2442
* Update workflow docs by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2472
* fix precommit by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2474
* Add Anthropic Claude 4 and 3.5 Haiku models by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2477
* Update README by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/2470
* revert webhook schema updates by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2479
* added new all in one setup CLI Skyvern quickstart by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2480
* pin psycopg by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2485
* Revert "revert webhook schema updates" by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2482
* fix webhook successful status code range by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2486
* workflow doc overhaul by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2473
* simplify docs for tasks by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2487
* simplify credentials doc by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2488
* refactor skyvern current state json file by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2489
* move every interface to top level and get rid of sdk client grouping by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2490
* remove skyvern sdk sub group interfaces in doc by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2492
* fix grammar errors & typos by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2493
* fix sequential click bug by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2494
* stop removing target attr when scraping by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2495
* v0.1.86 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2498
* feat: upgrade to v3 parser and make improvements for required api keys, examples, etc.  by @fern-support in https://github.com/Skyvern-AI/skyvern/pull/2496
* make wait_for_completion=False by default for run_task function in the python lib by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2500
* fix pre-commit errors by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2501
* v0.1.88 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2502
* Fix chrome user data dir problem by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2503
* fix links in see in action by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2504
* Skyvern v0.2.0 - the official SDK by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2497
* fix run workflows api link by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2506
* quick fix of indentation in python - quickstart doc by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2507
* use wpid for MissingValueForParameter error by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2505
* backend changes extracted from codex/jon/SKY-5016 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2508
* fix li interactable by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2511
* add current item in forloop + global forloop reference by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2512
* Use .nvmrc and avoid installing nvm in container since we only need node & npm there. by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2499
* out-of-sync db migration for sync pr 2508 by @jomido in https://github.com/Skyvern-AI/skyvern/pull/2510
* Fix broken pre-commit checks (isort/ruff formatting) by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2515
* Fix warning on dockerfile syntax by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2513
* Fix warning on pre-commit run by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2514
* fix issue caused by .env.example not ending with a newline  by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2516
* fix url encoding in the param part by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2520
* Fix UndefinedVar on PYTHONPATH by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2518
* weave LLMCaller.llm_key through to api handler/agent by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2524
* remove doctoc by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2526
* docs: add agent guide with coding standards and contribution workflow by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2521
* chore: remove setup.sh script as CLI skyvern quickstart does the same… by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2519
* add pytest run to ci by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2525
* Include .env in Docker build for easy llm setup by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2484
* docs: add local development installation instructions to README by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2523
* use wpid for MissingValueForParameter error by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2527
* SKY-5061: add model to workflow by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2529
* Doc update: find your api key in .env by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2532
* allow null choice for models by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2534
* support cross domain css sheet parse by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2535
* refresh options before doing select by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2537
* Update prompting-guide.mdx by @kati3-design in https://github.com/Skyvern-AI/skyvern/pull/2538
* support anthropic claude 4 bedrock by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2539
* Fix Claude 4 model names to use specific versions instead of -latest suffix by @tigershen23 in https://github.com/Skyvern-AI/skyvern/pull/2531
* add ruff as a dev group dependency by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2533
* add model to Task and TaskV2; expose it to run_task endpoint; thread … by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2540
* refactor: improve frontend env file setup logic and error handling by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2544
* fix llm_key_override by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2552
* fix llm_key - render every llm_key for cua in the execute_step by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2556
* use model_name instead of name by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2557
* ModelSelector: add 'Skyvern Optimized' as hard choice by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2558
* Jon/model name massage by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2559
* fix llm key override in llm_api_handler_with_router_and_fallback by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2562
* [Fern] Chore: Update code snippets in the Quickstart page by @dvloper-vionescu in https://github.com/Skyvern-AI/skyvern/pull/2555
* Update .gitignore to exclude Chrome >= 136 user profile directory by @tigershen23 in https://github.com/Skyvern-AI/skyvern/pull/2530
* Update model selector to use O4 mini by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/2560
* remove x-fern-sdk-group-name by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2571
* suchintan.fern/favicon by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/2570
* fix jinja runtime leak by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2575
* fix selfhost streaming issue by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2576
* release skyvern-langchain & skyvern-llamaindex v0.2.0 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2577
* log duration and prompt_name in llm failure log by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2578
* Add shell check to pre-cmmit hooks & fix issues reported by it by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2579
* more logging when org not found by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2569
* add artifacts dir to gitignore by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2583
* llamaindex tool interface now is compatible with the new pattern by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2582
* log totp parser llm response by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2585
* fix agent api link by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2586
* update webhook_url docstring by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2587
* fallback gemini to gpt + use latest gemini flash 2.5 release by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2588
* Use .env file for skyvern UI service by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2568
* enhance clickable element detect by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2595
* add error handle for click event check by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2596
* added new CLi to stof skyvern sever by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2549
* added stop docs by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2551
* chore: update pre-commit hooks and add Python version check by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2593
* enrich local logger by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2605
* generate totp code right before input by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2608
* Revert "chore: update pre-commit hooks and add Python version check" by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2607
* Name GHA jobs so they can be used w/ branch protection rules by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2609
* Add yamlfmt precommit hook by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2584
* turn off codeflash by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2614
* Add support for s3 storage classes +  added logging when we upload to s3 by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2610
* Don't allow None for org id (partial mypy only change) more to come by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2613
* Fix dockerfile FROM by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2581
* refactor: rename stop_workflow command to cancel_workflow for consistency by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2616
* fix artifact.id bug by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2617
* fix upload file storage class input style by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2618
* Revert "Revert "chore: update pre-commit hooks and add Python version check"" by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2629
* feat: add search functionality to workflow node library panel by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2597
* fix input interactable detect by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2621
* feat: summarize failure on max retries by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2641
* add pre-commit hook to enforce Python version 3.11-3.13 by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2636
* replace custom HTTP client with n8n's requestWithAuthentication helper by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2635
* action.get_xpath by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2642
* More not allowing org id to be None in some cases (mypy only) by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2620
* Move save legacy file logic to S3Storage + add storage class support + add logging by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2624
* Allow AgentDB init to accept a db_engine (for unit tests) by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2626
* add PowerShell command option to API command copy dropdown by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2633
* node library to block library by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2643
* add get run under workflows api doc by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2627
* CodeGen part1 - move ActionType to it's own py file by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2655
* v0.2.1 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2660

## New Contributors
* @cristian-branet made their first contribution in https://github.com/Skyvern-AI/skyvern/pull/2442
* @jomido made their first contribution in https://github.com/Skyvern-AI/skyvern/pull/2510
* @tigershen23 made their first contribution in https://github.com/Skyvern-AI/skyvern/pull/2531
* @dvloper-vionescu made their first contribution in https://github.com/Skyvern-AI/skyvern/pull/2555

**Full Changelog**: https://github.com/Skyvern-AI/skyvern/compare/v0.1.85...v0.2.1