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