v1.0.29
Skyvern-AI/skyvernv1.0.29Apr 2, 2026by github-actions[bot]
AI Summary
Implements a comprehensive repository design pattern, adds full-stack Docker local dev environment, and introduces workflow scheduling support.
Key Highlights
- Repository Design Pattern implementation
- Workflow schedules support (DB model, API routes, Temporal integration)
- Full-stack Docker local dev environment
- Script pinning backend support
- Security fixes (python-ecdsa, Dependabot)
New Features
- Repository Design Pattern (#SKY-8139)
- Workflow schedules support
- Self-hosted Docker local dev environment
- Script pinning backend support
- Webhook trigger endpoint for workflows
Full Release Notes
## What's Changed Version bumped from 1.0.28 to 1.0.29 ### Recent Changes - Fix ReDoS in script_reviewer string literal regex (#5364) (4358f9c6) - Fix: correct LLM-corrupted file URLs in ai_upload_file (#SKY-8658) (#5352) (a36e107d) - Fix: artifacts endpoint returns empty for task IDs (tsk_) (#SKY-8683) (#5351) (105c4b75) - feat: migrate callers to typed repos — batches 1-6 (SKY-8720) (#5350) (b705e525) - Bump version to 1.0.29 (#5347) (df94c479) - Update API specifications with fern api update (#5346) (18811a71) - [NO-TICKET] Update Laminar Usage (#5322) (39fc16ae) - [SKY-8713] BE (#5345) (57aaee99) - Fix: preserve credential block references during MCP workflow update (#SKY-8462) (#5344) (21bb4cdf) - Fix: apply default login prompt for MCP-created workflow login blocks (#SKY-8637) (#5342) (c581fb31) - docs: index page internal links fixed (#5334) (84cb07bc) - fix: improve TextPromptBlock error handling and LLM error diagnostics (SKY-8584) (#5333) (9cfa3989) - [SKY-7600] Readd FE (#5332) (5b321fa7) - docs: api reference redirect, tab order rearrangement, homepage CSS fixes (#5331) (f8ccb064) - Update API specifications with fern api update (#5321) (cbcbb954) - feat: add Stealth Chromium option to browser session creation UI (#5329) (dafc7d37) - fix: remove uncapped script regeneration on continue_on_failure block failures (#5326) (898e4196) - fix: teach script reviewer to detect hardcoded per-run values in selectors (#5325) (eae6622d) - Revert "[5/5] [SKY-7600] Frontend: rewrite RunHistory" (#5311) (3a25fe55) - [SKY-7600] BE (#5312) (43c1a752) - Fix: WorkflowRun artifacts endpoint crashes with 'run_id' AttributeError (#5324) (c7b8bc0f) - Fix: cache file_download blocks inside for-loops (#5323) (e1fdae2a) - Fix: support WorkflowTriggerBlock in cached scripts (#SKY-8575) (#5320) (c3e1ba29) - feat: iframe support for SDK, CLI, and MCP tools (#5319) (e95511e0) - feat: add multi-tab browser management to MCP server (#5313) (8f850c0e) - feat: add /smoke-test skill — CI QA via Skyvern runs (#5317) (59ba2f3b) - fix: add missing is_pinned param to ScriptsRepository.create_workflow_script() (#5318) (3cb3beaa) - feat: SQLite-first server mode — zero-config skyvern run server (#5302) (02bfcda3) - [1/5] [SKY-7600] Set schema for task_runs (#5300) (474366bf) - feat(SKY-8558): add Test Connection button to custom credential service settings (#5299) (1d1d9c8e) - fix: hide parameter insert popover and AI improve button on disabled textarea (#5298) (b5c3703e) - fix: improve browser connection error message clarity for end users (#5297) (7d193327) - fix: reduce Duration column width to prevent Created At truncation (#5296) (323d10b4) - Fix: add missing close_page action type to hydrate_action mapping (#5295) (ac63c5c1) - Fix: handle native Python datetime in Excel file parser (SKY-8626) (#5294) (743b718b) - feat: autocomplete parameter names in workflow text blocks (#5293) (0df44b7c) - feat: add webhook trigger endpoint for workflows (SKY-8541) (#5292) (5eb19d9d) - [NO-TICKET] Repository Design Pattern refactor (#9056) follow-up — missing parameter bugs (#5291) (dbe252d1) - Fix failure_category gaps: UNKNOWN fallback, workflow inheritance, observability (SKY-8469) (#5290) (c4251ff7) - build(deps): bump the uv group across 2 directories with 2 updates (#5241) (d0354950) - Fix: handle legacy run_with='ai' in Pydantic validator (#5286) (016f3819) - Fix: Script.is_pinned AttributeError breaking all cached execution (#5285) (bb6d6368) - Update API specifications with fern api update (#5284) (112b90f8) - refactor(SKY-62): consolidate repository pattern follow-up PRs (#5283) (d3bba427) - fix: add missing failure_category param to TasksRepository.update_task() (#5282) (22d05d50) - fix: improve error messages for custom credential service failures (#5281) (5aa1f2fb) - Fix: add missing params to WorkflowRunsRepository.update_workflow_run() (#5280) (27a1f70b) - Repository Design Pattern (#SKY-8139) (#5279) (c91cd98d) - Pass TOTP params to task in cached script path for AI fallback (#5278) (f691c128) - Redact value from script failure log to prevent password leaks (#5277) (0683e72a) - Log failed script actions with reconstructed call for debugging (#5276) (087904ae) - Make run_with non-nullable, default to agent (#5275) (75d53810) - Apply script review daily cap to ALL review types (#5273) (48db694c) - Create @db_operation error handling decorator (#SKY-8135) (#5272) (3e79319c) - feat: agent-aware CLI with --json envelope, TTY detection, and capabilities (#5271) (951f7567) - Fix cached login scripts falsely completing when 0 form fields found (#5270) (88136906) - Fix script reviewer wait placement: after goto, before interactions (#5268) (af178044) - feat: implement error code mapping in TaskBlock and add unit tests fo… (#5265) (dc29abbf) - Add mode='direct' to SkyvernPage click/fill for static script action recording (#5264) (28adde90) - Fix totp_identifier template not rendered in cached code mode (#5263) (2e937533) - Fix pinned scripts: always fetch pinned version and prevent corrections (#5261) (e869039f) - feat: add use_in_memory_db to Skyvern.local() (#5260) (466551ea) - feat(SKY-8576): filter credential selector by vault_type when source is selected (#5259) (2a73abb8) - Fix: include NULL run_with runs in script runs queries (#SKY-8564) (#5255) (e5650949) - feat: add ENABLE_CSS_SVG_PARSING env var to gate SVG/CSS parsing (#5258) (4fa79668) - Fix workflow stall after nested conditional with no merge point (SKY-8571) (#5257) (11400c45) - fix: add default complete_criterion for LoginBlocks to prevent login success misdetection (SKY-8540) (#5256) (52d5825e) - Add failure_category to tasks and workflow runs (SKY-8469) (#5254) (9d9ae67f) - Unblock popup and split chromium preferences for OSS/cloud (#SKY-8474) (#5253) (e7b2f09d) - [SKY-8569] Fix task_v2 workflow runs missing HAR and browser console log artifacts (#5252) (78e35dfd) - feat(SKY-8559): add vault_type picker to credential creation UI (#5251) (7241bdf1) - feat(SKY-8560): add Custom source option to workflow credential parameter dialog (#5250) (c0290a67) - Add full-stack Docker local dev environment (#5249) (3cfea462) - [SKY-8554] Cache Revision of Script on Conditional Block (#5248) (84c59cef) - feat: support artifact bundling for cached script execution (#5247) (0b1726b1) - Refine execution_mode: code vs code_generation vs agent (#5246) (fca0fb45) - Update API specifications with fern api update (#5245) (906b0751) **Full Changelog**: https://github.com/Skyvern-AI/skyvern/compare/v1.0.28...v1.0.29 ## What's Changed * Update API specifications with fern api update by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5245 * Refine execution_mode: code vs code_generation vs agent by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5246 * feat: support artifact bundling for cached script execution by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5247 * [SKY-8554] Cache Revision of Script on Conditional Block by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5248 * Add full-stack Docker local dev environment by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5249 * feat(SKY-8560): add Custom source option to workflow credential parameter dialog by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5250 * feat(SKY-8559): add vault_type picker to credential creation UI by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5251 * [SKY-8569] Fix task_v2 workflow runs missing HAR and browser console log artifacts by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/5252 * Unblock popup and split chromium preferences for OSS/cloud (#SKY-8474) by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/5253 * Add failure_category to tasks and workflow runs (SKY-8469) by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/5254 * fix: add default complete_criterion for LoginBlocks to prevent login success misdetection (SKY-8540) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5256 * Fix workflow stall after nested conditional with no merge point (SKY-8571) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5257 * feat: add ENABLE_CSS_SVG_PARSING env var to gate SVG/CSS parsing by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5258 * Fix: include NULL run_with runs in script runs queries (#SKY-8564) by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5255 * feat(SKY-8576): filter credential selector by vault_type when source is selected by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5259 * feat: add use_in_memory_db to Skyvern.local() by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5260 * Fix pinned scripts: always fetch pinned version and prevent corrections by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5261 * Fix totp_identifier template not rendered in cached code mode by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5263 * Add mode='direct' to SkyvernPage click/fill for static script action recording by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5264 * feat: implement error code mapping in TaskBlock and add unit tests fo… by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/5265 * Fix script reviewer wait placement: after goto, before interactions by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5268 * Fix cached login scripts falsely completing when 0 form fields found by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5270 * feat: agent-aware CLI with --json envelope, TTY detection, and capabilities by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5271 * Create @db_operation error handling decorator (#SKY-8135) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5272 * Apply script review daily cap to ALL review types by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5273 * Make run_with non-nullable, default to agent by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5275 * Log failed script actions with reconstructed call for debugging by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5276 * Redact value from script failure log to prevent password leaks by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5277 * Pass TOTP params to task in cached script path for AI fallback by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5278 * Repository Design Pattern (#SKY-8139) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5279 * Fix: add missing params to WorkflowRunsRepository.update_workflow_run() by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5280 * fix: improve error messages for custom credential service failures by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5281 * fix: add missing failure_category param to TasksRepository.update_task() by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5282 * refactor(SKY-62): consolidate repository pattern follow-up PRs by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5283 * Update API specifications with fern api update by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5284 * Fix: Script.is_pinned AttributeError breaking all cached execution by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5285 * Fix: handle legacy run_with='ai' in Pydantic validator by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5286 * build(deps): bump the uv group across 2 directories with 2 updates by @dependabot[bot] in https://github.com/Skyvern-AI/skyvern/pull/5241 * Fix failure_category gaps: UNKNOWN fallback, workflow inheritance, observability (SKY-8469) by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/5290 * [NO-TICKET] Repository Design Pattern refactor (#9056) follow-up — missing parameter bugs by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5291 * feat: add webhook trigger endpoint for workflows (SKY-8541) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5292 * feat: autocomplete parameter names in workflow text blocks by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5293 * Fix: handle native Python datetime in Excel file parser (SKY-8626) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5294 * Fix: add missing close_page action type to hydrate_action mapping by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5295 * fix: reduce Duration column width to prevent Created At truncation by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5296 * fix: improve browser connection error message clarity for end users by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5297 * fix: hide parameter insert popover and AI improve button on disabled textarea by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5298 * feat(SKY-8558): add Test Connection button to custom credential service settings by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/5299 * [1/5] [SKY-7600] Set schema for task_runs by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5300 * feat: SQLite-first server mode — zero-config skyvern run server by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5302 * fix: add missing is_pinned param to ScriptsRepository.create_workflow_script() by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5318 * feat: add /smoke-test skill — CI QA via Skyvern runs by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5317 * feat: add multi-tab browser management to MCP server by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5313 * feat: iframe support for SDK, CLI, and MCP tools by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5319 * Fix: support WorkflowTriggerBlock in cached scripts (#SKY-8575) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5320 * Fix: cache file_download blocks inside for-loops by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5323 * Fix: WorkflowRun artifacts endpoint crashes with 'run_id' AttributeError by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5324 * [SKY-7600] BE by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5312 * Revert "[5/5] [SKY-7600] Frontend: rewrite RunHistory" by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5311 * fix: teach script reviewer to detect hardcoded per-run values in selectors by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5325 * fix: remove uncapped script regeneration on continue_on_failure block failures by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5326 * feat: add Stealth Chromium option to browser session creation UI by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/5329 * Update API specifications with fern api update by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5321 * docs: api reference redirect, tab order rearrangement, homepage CSS fixes by @kunalm2345 in https://github.com/Skyvern-AI/skyvern/pull/5331 * [SKY-7600] Readd FE by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5332 * fix: improve TextPromptBlock error handling and LLM error diagnostics (SKY-8584) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/5333 * docs: index page internal links fixed by @kunalm2345 in https://github.com/Skyvern-AI/skyvern/pull/5334 * Fix: apply default login prompt for MCP-created workflow login blocks (#SKY-8637) by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5342 * Fix: preserve credential block references during MCP workflow update (#SKY-8462) by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/5344 * [SKY-8713] BE by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5345 * [NO-TICKET] Update Laminar Usage by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/5322 * Update API specifications with fern api update by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5346 * Bump version to 1.0.29 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/5347 ## New Contributors * @kunalm2345 made their first contribution in https://github.com/Skyvern-AI/skyvern/pull/5331 **Full Changelog**: https://github.com/Skyvern-AI/skyvern/compare/v1.0.28...v1.0.29