v0.2.4

Skyvern-AI/skyvernv0.2.4Jul 9, 2025by wintonzheng

AI Summary

Adds VNC streaming capabilities and enhances credential management. It also introduces user-defined browser headers and Workflow CodeGen.

Key Highlights

  • VNC streaming component for workflows
  • User-defined browser headers
  • 1Password integration
  • Workflow CodeGen
  • Dependency upgrades (tornado, axios, etc.)

New Features

  • VNC streaming component
  • User-defined browser headers
  • 1Password integration
  • Workflow CodeGen
  • Dependency upgrades

Full Release Notes

## What's Changed
* edit 1pass parameter by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2732
* added raw dada logs by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2736
* fix file exists issue in create_folder_if_not_exist by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2731
* validate credential IDs before workflow execution by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2737
* Workflow CodeGen by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2740
* skip llm artifact creation when empty prompt by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2742
* use browser session id in taskv2 POST by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2744
* add browser session id to task settings by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2745
* add novnc in preparation for cloud sync of vnc streaming web component by @jomido in https://github.com/Skyvern-AI/skyvern/pull/2743
* add a vnc streaming component for workflows by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2746
* handle null organization_id in artifact queries for backward compatibility by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2748
* added 1 password in the dropdown by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2733
* user defined browser header by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2752
* feat: add task status mapping and failure reason handling for block results by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2594
* remove unused index on primary keys by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2754
* add artifacts_org_created_at_index for artifacts table by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2755
* Update prompting-guide.mdx by @kati3-design in https://github.com/Skyvern-AI/skyvern/pull/2758
* remove <br>s which break fern docs by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2759
* task v2 doesn't have failure_reason by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2760
* frontend support browser header by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2761
* fix extra headers label/explainer by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2762
* refactored skyvern workflow start cli  by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2615
* Fix artifact retrieval and URL generation in get_run_artifacts endpoint by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2765
* added proper svg by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2750
* Added Kubernetes deployment files by @cristian-branet in https://github.com/Skyvern-AI/skyvern/pull/2719
* fix k8s yaml format by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2766
* Automatically write workflow_run_id if one isn't specified for a specific artifact by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2767
* fix azure LLM key by @rajaie in https://github.com/Skyvern-AI/skyvern/pull/2769
* add taskv2 and task id to artifacts by default if present in context by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2770
* Fix credential naming in UI to use 'credentials', 'credentials_1', etc. by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2773
* fix task v2 block dont have output by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2778
* parse action context before triggering the sequential click logic by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2780
* Fix OnePassword parameter labeling to show 'credential' instead of 'onepassword' by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2774
* WebSocket Command Channel by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2782
* in which pylon replaces intercom by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2783
* Improve TOTP docs & README & Make CLI actually support typer + py3.11 by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/2791
* Better error message on screen timeouts by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2793
* update verification code prompt by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2797
* fallback to take screenshot with animation allowed by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2798
* Add Run id as a parameter to the artifacts table by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2799
* Quick task id bugfix by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/2800
* do not parse the dropped element twice by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2801
* Remove x-api-key from logs by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2802
* Add RESIDENTIAL_AU proxy support for Australia by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2803
* udated pyproject to fix typer errors by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2804
* Add RESIDENTIAL_AU frontend support for Australia proxies by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2805
* Improve listbox option selection handling by using get() method and adding a check for None by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2788
* Jon/browser stream component by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2808
* Bump llama-index from 0.12.19 to 0.12.28 in /integrations/llama_index by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2809
* Bump h11 from 0.14.0 to 0.16.0 in /integrations/llama_index by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2810
* Bump python-jose from 3.3.0 to 3.4.0 by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2811
* Bump body-parser and express in /skyvern-frontend by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2816
* Bump tornado from 6.4.2 to 6.5 by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2818
* Bump protobuf from 5.29.3 to 5.29.5 in /integrations/llama_index by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2812
* more robust front-end detection bcaz skyvern run ui not running randomly so improving the discoverablity by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2819
* Enable pyupgrade on skyvern/cli by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2806
* Fix typos by @asherf in https://github.com/Skyvern-AI/skyvern/pull/2807
* Bump python-jose from 3.3.0 to 3.4.0 by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2824
* Bump tornado from 6.4.2 to 6.5 by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2825
* Bump h11 from 0.14.0 to 0.16.0 in /integrations/langchain by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2822
* Bump protobuf from 5.29.3 to 5.29.5 in /integrations/langchain by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2823
* Bump braces from 3.0.2 to 3.0.3 in /skyvern-frontend by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2820
* Bump urllib3 from 2.4.0 to 2.5.0 by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2821
* Bump requests from 2.32.3 to 2.32.4 in /integrations/llama_index by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2833
* Bump @babel/runtime from 7.24.1 to 7.27.6 in /skyvern-frontend by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2831
* Bump micromatch and lint-staged in /skyvern-frontend by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2830
* Bump brace-expansion from 1.1.11 to 1.1.12 in /skyvern-frontend by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2827
* Bump jinja2 from 3.1.5 to 3.1.6 in /integrations/langchain by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2832
* Bump vite from 5.2.2 to 5.4.19 in /skyvern-frontend by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2834
* Bump axios from 1.6.8 to 1.8.2 in /skyvern-frontend by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2835
* Bump urllib3 from 2.3.0 to 2.5.0 in /integrations/langchain by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2836
* Bump requests from 2.32.3 to 2.32.4 in /integrations/langchain by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2837
* Bump python-multipart from 0.0.6 to 0.0.18 by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2838
* Bump protobuf from 6.30.2 to 6.31.1 by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2839
* Bump jinja2 from 3.1.5 to 3.1.6 in /integrations/llama_index by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2842
* Bump urllib3 from 2.3.0 to 2.5.0 in /integrations/llama_index by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2843
* Bump requests from 2.32.3 to 2.32.4 by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2844
* add pointer detect for h element by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2846
* fallback to nanoid when crypto fails by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/2845
* extend select agent to support date picker by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2849
* add gemini 2 5 support by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2850
* scroll back after screenshot by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2851
* Bump cross-spawn from 7.0.3 to 7.0.6 in /integrations/n8n by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2813
* Bump semver from 5.7.1 to 5.7.2 in /integrations/n8n by @dependabot in https://github.com/Skyvern-AI/skyvern/pull/2814
* fixed the openrouter stuff by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2630
* Clean up alembic migrations: fix HTTP request block columns and add parameters column by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2848
* enable inline import alert and fix inline imports by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2856
* Add CLI stop server command by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2775
* laminar ovservability by @skull8888888 in https://github.com/Skyvern-AI/skyvern/pull/2857
* Add CLI stop ui command by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2776
* Add CLI stop all command by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2777
* update image reference in the observability doc by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2863
* fix poetry lock by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2864
* rename variable by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2865
* resolve N8N community node issues by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2861
* add browser_session_id to these tables: tasks, workflow_runs & task v2 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2869
* create task, task v2 and workflow run with browser_session_id by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2872
* map sync pr commenter to their own gh account by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2566
* Update API specifications with fern api update by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2871
* use SKYVERN_CLOUD_GH_PAT as the main sync github token by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2873
* validate browser session id when running tasks or workflows by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2874
* Refactor Skyvern node operations to consolidate display options and improve code organization by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2868
* fix sync to cloud by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2877
* implement an endpoint for running one or more labelled blocks in a workflow by @jomido in https://github.com/Skyvern-AI/skyvern/pull/2878
* Jon/optimistic browser session id fetch by @jomido in https://github.com/Skyvern-AI/skyvern/pull/2879
* Enhance WorkflowNodeLibraryPanel with input focus management using useRef and useEffect for improved user experience by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2880
* Fix fern artifacts tab by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/2875
* update kash's git email by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2881
* add .cursor/rules to gitignore by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2883
* get back code removed by accidental sync by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2884
* increase max step for datapicker agent by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/2886
* laminar integration by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/2887
* Re-enable codeflash optimizations by @misrasaurabh1 in https://github.com/Skyvern-AI/skyvern/pull/2891
* MVP Debugger UI by @jomido in https://github.com/Skyvern-AI/skyvern/pull/2888
* Fix dependabot plus MCP CLI type error by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/2885
* Fix MCP Upgrade in langchain + llamaindex by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/2894
* add credentials to new axios client by @jomido in https://github.com/Skyvern-AI/skyvern/pull/2897
* APIKeyNotFound Exception by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2892
* Upgrade skyvern front-end to resolve dependabot alerts by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/2895
* add session pool by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/2899
* added UI for HTTP block by @Prakashmaheshwaran in https://github.com/Skyvern-AI/skyvern/pull/2900
* use minutes for pbs timeout by @jomido in https://github.com/Skyvern-AI/skyvern/pull/2901
* add skyvern element check and uncheck by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/2902
* parameterize data schema in workflow by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/2903
* parametrize 1password vault_id and item_id by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2898
* Create forloop-guide.mdx by @kati3-design in https://github.com/Skyvern-AI/skyvern/pull/2890
* Upgrade n8n worklfow to resolve axios dependabot alert by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/2893
* Add files via upload - ForLoop Guide by @kati3-design in https://github.com/Skyvern-AI/skyvern/pull/2889
* MCP Upgrade by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/2904
* update suchintan email in sync PR by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2906
* fix fastmcp dependency and the mis-synced code by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2908
* fix retry webhook link in the 'Webhook FAQs' page by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/2909
* Jon/browser session stream by @jomido in https://github.com/Skyvern-AI/skyvern/pull/2910
* Jon/browser session view by @jomido in https://github.com/Skyvern-AI/skyvern/pull/2911

## New Contributors
* @rajaie made their first contribution in https://github.com/Skyvern-AI/skyvern/pull/2769
* @dependabot made their first contribution in https://github.com/Skyvern-AI/skyvern/pull/2809
* @skull8888888 made their first contribution in https://github.com/Skyvern-AI/skyvern/pull/2857

**Full Changelog**: https://github.com/Skyvern-AI/skyvern/compare/v0.2.3...v0.2.4