What's Changed
Version bumped from 1.0.31 to 1.0.32
Recent Changes
- fix(SKY-9430): bypass parse_api_response for reviewer LLM calls (#5781) (d12571e)
- docs: align self-host README + docs with SQLite-first default (#5774) (d06ee9c)
- fix(SKY-9451): keep WIP workflow on copilot errors (#5779) (2e11376)
- docs(compose): clarify env-file vs inline-environment contract (#5773) (e214989)
- Bump version to 1.0.32 (#5762) (cf863e8)
- fix(SKY-9185): keep run detail page accessible after workflow delete (BE) (#5776) (b192b50)
- fix(SKY-9425): drop hallucinated failure_category codes from user-defined errors (#5775) (8d7ecce)
- fix(SKY-9251): keep workflow running after loop swallows body failure (#5770) (bb168ef)
- feat(SKY-9421): frontend - Wait for browser before Copilot (#5771) (4913c22)
- chore(SKY-9227): prevent Fern SDK drift from breaking workflow block types (#5769) (3170bcd)
- feat(SKY-9372): goal_reached self-assessment flips validated proposal to unvalidated (#5768) (1e8b45a)
- Support GeoTarget proxies for MCP browser sessions (#5764) (12c33e9)
- docs: Update navbar CTAs to "Talk to us" + "Get Started" (#5760) (e856b88)
- fix(SKY-9322): normalize bracketed IPv6 hosts in is_blocked_host (#5759) (bb345c4)
- fix: honor per-request LLM timeout by disabling litellm aiohttp transport (#5758) (4e5d160)
- fix(SKY-9404): rephrase debug-Q disambiguator as principle, drop closed example list (#5757) (369463e)
- feat(SKY-9354): surface WIP workflow on copilot timeout / failed test (#5755) (4e1c46f)
- feat(SKY-9235): track sidebar agent clicks and SPA pageviews in PostHog (#5754) (ff6270c)
- feat(SKY-8771): regenerate OpenAPI specs + Fern Python client for while_loop (#5753) (745fc9d)
- fix(SKY-9420): suppress proposal panel under ASK_QUESTION turns (#5751) (810d073)
- fix(SKY-9340): emit nested credential subscripts at code-emission time (#5750) (d1c68b5)
- fix(SKY-9405): map interrogative workflow-improvement Q's to edit path (#5749) (cde3df6)
- fix(SKY-9401): scope copilot "no chatbot" rule to data Q&A, not Skyvern docs (#5748) (b7adc47)
- fix(SKY-9294): clarify failure_reason for 1Password upstream failures (#5747) (54ede67)
- docs/fixes: Fixed llms.txt and changed button text to 'Try it now' (#5743) (155c5cc)
- fix(SKY-9400): scope copilot credential refusal to in-turn user message (#5746) (7432baa)
- log: demote "Element reached max count" warning to debug (#5745) (ce76239)
- fix(anthropic-cua): use computer_20251124 for Sonnet 4.6 (#5744) (2681af1)
- feat(extraction-cache): wire data-extraction-summary into cross-run cache (SKY-8992) (#5742) (cfbb0fb)
- feat(SKY-9329): surface workflow-run sub-events as mid-tool copilot narrations (#5741) (de3c731)
- infra: disable uvicorn access log on FastAPI services (#5740) (d72751d)
- log: compact Action / ActionResult kwargs in structlog pipeline (#5739) (b9237c5)
- log: drop "Calculated checksum for file" INFO log (#5738) (0368114)
- fix(SKY-9344): guard against missing parent/children in element tree builder (#5736) (4ffca27)
- fix(SKY-9283): auto-route browser type from profile source (#5734) (804f814)
- fix(SKY-9352): copilot asks for sample value before testing parameterized workflows (#5733) (89400b0)
- feat(SKY-9353): distinguish self-healed copilot tool failures (#5732) (91511b4)
- fix: quickstart fails on Windows — missing DATABASE_STRING (#5719) (8b20389)
- feat(SKY-8852): clarify loop block failure-handling UI (#5731) (ada83ab)
- Remove deprecated Anthropic and Bedrock Claude model configs (#5729) (8b56f82)
- fix(SKY-9350): unwrap raw REPLY envelope before chat render (#5728) (7f93210)
- security: bump moderate Dependabot alerts (Apr 28) (#5706) (050001c)
- feat(SKY-9149): add migration notice for password manager settings (#5727) (9eedee8)
- feat(SKY-9305): hard-cancel for workflow copilot v2 (2/2 frontend) (#5726) (581fab4)
- fix: pass through script_run / ai_fallback / browser_session_id / max_screenshot_scrolls on /v1/runs/{id} (#5725) (37527ef)
- feat(SKY-9316): pre-fill debugger Run dialog with last-used values (#5724) (bbea8ed)
- feat(SKY-9304): hand off /discover prompt to workflow copilot chat (#5723) (3a15780)
- fix(SKY-9338): copilot resolver routes thinking through extra_args (#5722) (842ac11)
- fix(SKY-9255): propagate input_or_select_context on action reconstructions (#5721) (f4993a0)
- feat: surface dormant trigger-block payload entries in editor (SKY-9259) (#5720) (9490897)
- feat(SKY-9311): tag copilot Logfire spans with deployment.environment (#5718) (983b153)
- fix(SKY-9319): browser error message improvement (#5717) (b72b0d5)
- fix(SKY-8931): strip Browser logs from user-facing browser launch errors (#5716) (6babf8a)
- fix(SKY-8065): improve magic link tab close behavior with prompt fix and code fallback (#5715) (b46f9bd)
- fix(SKY-6790): truncate long block titles with ellipsis and tooltip (#5714) (3c532b3)
- feat: workflow schedule management via MCP tools and
skyvern scheduleCLI (#5713) (e80fc40) - Add explicit MCP tool safety hints [chat gpt connector - more unblocking] (#5712) (71ae441)
- feat(SKY-9328): forward live debug session id into copilot chat (frontend) (#5711) (64658f0)
- feat(SKY-9328): copilot V2 reuses live debug browser session (backend) (#5709) (8dfaea6)
- feat: modernize LLM models and clean up docs (#5684) (539ffd7)
- fix(SKY-9310): copilot V2 resolves org API token when no x-api-key header (#5707) (31e0cb5)
- docs(mcp): document codex remote MCP OAuth flow (#5704) (0a3acc4)
- feat(SKY-8771): backend WhileLoopBlock (PR 1 of 7) (#5703) (75baa8b)
- fix(SKY-9310): persist copilot YAML on V1 proposal so Accept can apply (#5702) (7521b8b)
- feat(SKY-9305): hard-cancel for workflow copilot v2 (1/2 backend) (#5701) (3d7429c)
- litellm>=1.83.7 (#5700) (685ae77)
- MCP OAuth org selection for multi-org users (#5699) (d90237f)
- fix(SKY-9292): retry OTP polling on transient fetch failures (#5698) (34061ba)
- fix(SKY-9310): copilot Accept frontend fallback when atomic apply fails (#5697) (971cca0)
- security: bump litellm to 1.83.14 (3 critical SQL injection + 6 high) (#5692) (6a6b4cc)
- feat(SKY-9206): wire copilot atomic accept endpoint into chat UI (#5695) (1d33c54)
- feat: org settings via MCP tool and
skyvern configCLI (#5694) (dab71aa) - fix: surface payload key path + template in workflow_trigger render errors (SKY-9259) (#5693) (3d9a0d1)
- feat(SKY-8861): UI surface artifact URL expiry as a settings field (in minutes) (#5690) (7d2ddb2)
- fix(caching-v2): parameterize click prompts using workflow input params (SKY-9295) (#5689) (7b64e72)
- feat: Add MCP tool call performance telemetry (#5688) (b5d7bca)
- fix(SKY-8861): close CodeQL incomplete-url-substring-sanitization in recording tests (#5687) (c38ff9b)
- feat(SKY-8861): per-org artifact URL expiry config (backend) (#5685) (157521f)
- feat: add cursor visualization for Playwright video recordings (#5683) (9cca362)
- copilot(SKY-9277): tighten planner-decomposition with concrete syntactic triggers (#5682) (2b0d322)
- fix(SKY-9285): feasibility-gate resolves repair utterances against session context (#5681) (bd9b58a)
- fix(sky-9287): copilot activity bullets — no raw JS / HTTP-header dumps (#5680) (0ba117e)
- feat(SKY-1967): add platform-level JS dialog handler with LLM decision (#5679) (7ccb3a1)
- fix(SKY-8694): wrap jinja errors with template context in all format calls (#5678) (f5a828f)
- copilot(SKY-9270): planner-decomposition rules under IMPORTANT WORKFLOW RULES (#5676) (f29951a)
- fix(sky-8861): block-output download refresh fallback when artifact_ids are missing (#5675) (2250788)
- docs/fix: Feedback from Apr 26 applied (#5674) (c2f0581)
- fix(sky-8861): refresh block output downloaded_files at API time (#5673) (56483c3)
- feat(sky-8861): browser-session downloads -> short artifact URLs (#5672) (632462a)
- copilot: fix missing token telemetry from litellm streaming path (SKY-9245) (#5671) (9bc1ae2)
- feat: support multi-file workflow import with duplicate confirmation (#5670) (9e567c5)
- feat(SKY-9206): copilot attribution columns on workflows + workflow_runs (#5669) (9457c49)
- copilot: wait for chromium boot in ensure_browser_session (SKY-9272) (#5667) (0cd9920)
- fix(sky-8861): UI shows real filename for short artifact URLs (#5666) (a6203ef)
- fix(sky-8861): close CodeQL py/incomplete-url-substring-sanitization (#5665) (5959556)
- feat(SKY-9150): add Workflow Orchestrators integration category (#5662) (e14d9af)
- feat: return all workflow run recordings (backend) (SKY-9233) (#5660) (26ec15a)
- feat: expose workflow_run_blocks.script_run on the timeline API + close write-path gap + add missing DB column (#5658) (fb64ffd)
- fix(SKY-9261): copilot v2 — ensure browser session before running blocks (#5657) (459af8c)
- feat: persist real LLM cost to DB + block-level attribution (public API unchanged — placeholder preserved) (#5656) (3fce827)
- fix(caching-v2): resolve parameter-key URL references in cache-key domain enrichment (#5655) (6c2b472)
- fix(SKY-9257): degrade LLMRouterConfig to main model on copilot-v2 path (#5654) (254ba7d)
- copilot: stamp operation.cost on Agents SDK spans (SKY-9246) (#5653) (7ca8e4a)
- Invalidate cached script on workflow parameter set change (SKY-9254) (#5652) (6abb0c6)
- Document MCP privacy for directory review (#5651) (91d967f)
- fix: remove default login complete_criterion from script path (#5650) (1092818)
- Limit workflow webhook artifact lookup (#5649) (ea55590)
- remove login block complete prompt override by default (#5648) (5092a8b)
- copilot: bypass name-only tool-loop guard for block-running tools (#5647) (f065269)
- copilot: guarantee a terminal SSE frame on every chat turn (#5645) (2809885)
- copilot: tighten feasibility-gate prompt (portals + in-goal ambiguity) (#5644) (c8915d7)
- copilot: document per-block-type output shape and null-guard in workflow KB (#5643) (2c6cd35)
- feat(SKY-8998): hint city/state search in proxy location selector (#5640) (a06d3bb)
- fix(SKY-9162): prompt save when credential changes on login block (#5639) (80308d8)
- fix: populate workflow_run.script_run with script identity + complete ai_fallback_triggered coverage (#5635) (37f1070)
- copilot: stop-nudge when navigation succeeds but scraping keeps failing (#5634) (71316db)
- Hide requested API reference pages from Mintlify (#5630) (7e9394b)
- fix(SKY-9193): halve element_fallback max_steps from 10 to 5 (#5631) (f70b4cc)
- security: address high-severity Dependabot alerts (#5622) (eaf0783)
- chore(ci): consolidate pytest config into pytest.ini + sync to OSS (#5628) (826ab85)
- fix(SKY-9143): slice EXTRACTION envelope before meaningful-data check (#5619) (76b8275)
- docs: Major revamp to Developers and SDK Reference Tabs, Added Documentation for Page/Agent/Browser Methods (#5571) (e376b8a)
- security: bump path-to-regexp in mcpb claude_desktop (#5616) (6ff9350)
- fix(integrations): Swap /api/v1/integrations/request For Posthog Analytics (#5615) (720c78a)
- feat: add Reset Profile button to workflow Start Node (SKY-8955 FE) (#5612) (dbc85e6)
- feat(sheets): destination-tab dimensions + headers preview in google_sheets_write editor (#5614) (200a80a)
- fix(sheets): auto-extend grid + friendlier error for rich writes that overflow column count (#5613) (051b96d)
- remove version bump ci (#5353) (4bd49d0)
- fix(SKY-9151): recover LLM-corrupted upload URLs in handle_upload_file_action (#5610) (43d23f5)
- feat(SKY-8913): self-serve API key rotation backend (#5609) (fd50f9e)
- feat(mcp): [Required for Anthropic Claude Connectors Listing] add tool titles, Origin validation, and response size cap (#5608) (4187a4a)
- chore(security): timing-safe comparison for API-key and bearer-token auth (#5607) (d12e773)
- fix(SKY-9180): prevent SyntaxError from cached for_loop code at module level (#5606) (a6d046a)
- fix(SKY-9188): reject canceled transition after workflow is finalized (#5605) (2775f64)
- chore(security): add .npmrc ignore-scripts to remaining npm workspaces (#5603) (32be517)
- fix(extraction-cache): resolve wpid via context at cross-run cache sites (SKY-8992) (#5604) (108ec03)
- chore(security): avoid yaml.load pattern in safe_load_no_dates (#5602) (b97a4f5)
- fix(SKY-9163): replace 5-min wall-clock timeout with progress watchdog (#5601) (2497108)
- chore(security): block npm lifecycle scripts on install (#5600) (733dc5f)
- feat: Google OAuth foundation — frontend UI (SKY-8165) (#5599) (984114a)
- fix(SKY-9189): restore raw-credential refusal in Workflow Copilot v2 (#5598) (0dad5ea)
- feat(SKY-8954): add max-concurrency header for CloakBrowser run rate limiting (#5597) (de1959a)
- feat(SKY-8965): Phase 2 — kill LLM synthesis, wire deterministic picker, flip guard to raise (#5596) (0332d01)
- fix(SKY-8537): deduplicate downloaded files by checksum (#5595) (e35400f)
- fix: CJS default export interop for fetch-to-curl under Vite 8 (#5594) (b4cceab)
- feat(SKY-9160): default file parser type to Auto detect (backend) (#5576) (8efd330)
- chore(extraction-cache): promote cross-run miss log DEBUG → INFO (SKY-8992) (#5575) (7f1533d)
- fix(SKY-9143): never propose a known-broken workflow from copilot (#5574) (be31095)
- feat: rename refresh_session endpoint to reset_profile (SKY-8955 BE) (#5572) (3b38e32)
- docs: update CLAUDE.md to reflect current agent layout (#5569) (73a98ec)
- fix(SKY-9001): harden copilot narrator URL test against CodeQL sub-match (#5570) (e9d9f19)
- fix(SKY-8978): allow KEYPRESS to type digits/letters as INPUT_TEXT fallback (#5568) (dae0e97)
- chore(mcp-oauth): sanitize error display, document cloud-only route, extract auth-template constant (#5566) (ec98218)
- Increase screenshot interval for API runs (#5565) (d86b538)
- fix(SKY-9136): fail fast on non-retriable navigation errors in workflow copilot (#5563) (834db2a)
- feat(extraction-cache): cross-run Redis tier (SKY-8873) (#5562) (4bcadb5)
- feat(SKY-9121): gate workflow copilot v2 dispatch behind PostHog flag (#5561) (d2e8307)
- fix(SKY-8986): stop SSE disconnect from killing the copilot agent (#5560) (2fa21f8)
- fix(SKY-9113): skip ffmpeg remux on per-step video sync (#5559) (e63689c)
- Add proxy OAuth endpoints for remote MCP authentication (#5558) (49b8145)
- fix: treat tag inputs as auto-completion so skills get selected from dropdown (#5557) (5ddd0ad)
- feat: add AI summarize button to workflow run outputs (SKY-8857) [FE] (#5556) (824399e)
- chore(security): address Oneleet alerts (SMTP env, sha1 flag, test key rename) (#5552) (ad8cf93)
- fix(SKY-8938): finalize webm recordings so they have end timestamp (#5551) (d1582e0)
- fix: strip webhook URL whitespace and unify retry endpoint (#5550) (4b93199)
- chore(security): add usedforsecurity=False to non-crypto md5 calls (#5548) (88f8a66)
- feat: add refresh-session API endpoint and storage deletion (SKY-8955 BE) (#5544) (e13f34b)
- feat: add task_proxy_usage table and wire proxy costs into fct_org_margin (#SKY-8972) (#5543) (65cfe7e)
- fix: use 127.0.0.1 on Windows for skyvern run server (#5534) (f54f278)
- feat: extend feature flag resolution logging to standalone tasks (#5541) (9650df4)
- feat(SKY-8961): add code samples to update credential API docs (#5540) (c3d0b55)
- fix: move opentelemetry-sdk to dev group so OSS CI can run tracing test (#5539) (48d3794)
- feat(SKY-8879) copilot-stack/12: wire-up (flag + dispatch + frontend) (#5531) (b7aee47)
- tolerate missing skyvern_context across all log_artifacts save fns (#5528) (0a1123b)
- feat(SKY-8879) copilot-stack/11: agent orchestrator + prompt (#5529) (9dd03fc)
- feat(SKY-8879) copilot-stack/09: CopilotContext + session/model bridge (#5526) (dbf9e61)
- Revert #10280 — accidental mass deletion of copilot code (#5525) (cf4d378)
- feat(SKY-8879) copilot-stack/07: enforcement + overflow recovery (#5519) (7c29ab9)
- feat(SKY-8879) copilot-stack/06: MCP tools surface + orphan-task cancellation (#5517) (faa2b23)
- fix: ci: install copilot extra so copilot unit tests run (#5522) (d58ea46)
- feat(SKY-8879) copilot-stack/05: runtime scaffolding + feasibility gate (#5515) (0029ff2)
- feat(SKY-8879) copilot-stack/04: tracing_setup + logfire dep (#5514) (88dac02)
- feat(SKY-8879) copilot-stack/03: copilot utilities + openai-agents dep (#5512) (bf9a367)
- Fix Gemini flex PayGo header and add OpenAI GPT-5-nano/GPT-5.4 flex routers (#5511) (f7f9cf9)
- [SKY-8952] CSV with Wide Header Exceede ~1 MB (#5510) (0e72bda)
- Add Schedules API and update engine default (#5481) (ae08f4c)
- fix(SKY-8867): avoid DOM mutation in cross-origin CSS hover style parsing (#5508) (c749ab5)
- fix(SKY-8897): detect context-window failures in max-retries failure analysis (#5507) (4742bf8)
- fix(SKY-8825): flag whitespace error_code_mapping keys in editor (#5487) (3564062)
- feat: add workflow-level inherited error_code_mapping (SKY-8855) (#5506) (bded188)
- feat(extraction-cache): prompt normalization pipeline (SKY-8872) (#5504) (52ec844)
- Align MCP/CLI browser guidance and harden eval baseline (#5503) (ec17530)
- fix(SKY-8920): cap extract-* prompt sizes to reduce Gemini TPM 429s (#5502) (58ab689)
- Allow explicit timestamp overrides when resetting workflow runs (#5501) (8b0d63a)
- feat: add COGS visibility dbt models and LLM model tracking (#5500) (2f0ab4e)
- [Oncall] [SKY-8854] Preserve download suffixes across task finalization (#5499) (68bc010)
- feat(SKY-8879) copilot-stack/02: schema + repository plumbing (#5498) (2c61ac9)
- fix: stop generating fill_form() in adaptive caching for non-ATS workflows (#5497) (ded9646)
- feat: show downloaded files only for selected block (SKY-8856) (#5496) (4220577)
- revert: remove browser profile corruption fallback from PR #9865 (#5495) (59adc68)
Full Changelog: v1.0.31...v1.0.32
What's Changed
- revert: remove browser profile corruption fallback from PR #9865 by @LawyZheng in #5495
- feat: show downloaded files only for selected block (SKY-8856) by @AronPerez in #5496
- fix: stop generating fill_form() in adaptive caching for non-ATS workflows by @pedrohsdb in #5497
- feat(SKY-8879) copilot-stack/02: schema + repository plumbing by @andrewneilson in #5498
- [Oncall] [SKY-8854] Preserve download suffixes across task finalization by @marcmuon in #5499
- feat: add COGS visibility dbt models and LLM model tracking by @AronPerez in #5500
- Allow explicit timestamp overrides when resetting workflow runs by @wintonzheng in #5501
- fix(SKY-8920): cap extract-* prompt sizes to reduce Gemini TPM 429s by @AronPerez in #5502
- Align MCP/CLI browser guidance and harden eval baseline by @marcmuon in #5503
- feat(extraction-cache): prompt normalization pipeline (SKY-8872) by @AronPerez in #5504
- feat: add workflow-level inherited error_code_mapping (SKY-8855) by @AronPerez in #5506
- fix(SKY-8825): flag whitespace error_code_mapping keys in editor by @AronPerez in #5487
- fix(SKY-8897): detect context-window failures in max-retries failure analysis by @LawyZheng in #5507
- fix(SKY-8867): avoid DOM mutation in cross-origin CSS hover style parsing by @LawyZheng in #5508
- Add Schedules API and update engine default by @mintlify[bot] in #5481
- [SKY-8952] CSV with Wide Header Exceede ~1 MB by @AronPerez in #5510
- Fix Gemini flex PayGo header and add OpenAI GPT-5-nano/GPT-5.4 flex routers by @wintonzheng in #5511
- feat(SKY-8879) copilot-stack/03: copilot utilities + openai-agents dep by @andrewneilson in #5512
- feat(SKY-8879) copilot-stack/04: tracing_setup + logfire dep by @andrewneilson in #5514
- feat(SKY-8879) copilot-stack/05: runtime scaffolding + feasibility gate by @andrewneilson in #5515
- fix: ci: install copilot extra so copilot unit tests run by @andrewneilson in #5522
- feat(SKY-8879) copilot-stack/06: MCP tools surface + orphan-task cancellation by @andrewneilson in #5517
- feat(SKY-8879) copilot-stack/07: enforcement + overflow recovery by @andrewneilson in #5519
- Revert #10280 — accidental mass deletion of copilot code by @andrewneilson in #5525
- feat(SKY-8879) copilot-stack/09: CopilotContext + session/model bridge by @andrewneilson in #5526
- feat(SKY-8879) copilot-stack/11: agent orchestrator + prompt by @andrewneilson in #5529
- tolerate missing skyvern_context across all log_artifacts save fns by @wintonzheng in #5528
- feat(SKY-8879) copilot-stack/12: wire-up (flag + dispatch + frontend) by @andrewneilson in #5531
- fix: move opentelemetry-sdk to dev group so OSS CI can run tracing test by @andrewneilson in #5539
- feat(SKY-8961): add code samples to update credential API docs by @suchintan in #5540
- feat: extend feature flag resolution logging to standalone tasks by @wintonzheng in #5541
- fix: use 127.0.0.1 on Windows for skyvern run server by @marcmuon in #5534
- feat: add task_proxy_usage table and wire proxy costs into fct_org_margin (#SKY-8972) by @AronPerez in #5543
- feat: add refresh-session API endpoint and storage deletion (SKY-8955 BE) by @AronPerez in #5544
- chore(security): add usedforsecurity=False to non-crypto md5 calls by @wintonzheng in #5548
- fix: strip webhook URL whitespace and unify retry endpoint by @suchintan in #5550
- fix(SKY-8938): finalize webm recordings so they have end timestamp by @wintonzheng in #5551
- chore(security): address Oneleet alerts (SMTP env, sha1 flag, test key rename) by @wintonzheng in #5552
- feat: add AI summarize button to workflow run outputs (SKY-8857) [FE] by @AronPerez in #5556
- fix: treat tag inputs as auto-completion so skills get selected from dropdown by @LawyZheng in #5557
- Add proxy OAuth endpoints for remote MCP authentication by @marcmuon in #5558
- fix(SKY-9113): skip ffmpeg remux on per-step video sync by @andrewneilson in #5559
- fix(SKY-8986): stop SSE disconnect from killing the copilot agent by @andrewneilson in #5560
- feat(SKY-9121): gate workflow copilot v2 dispatch behind PostHog flag by @andrewneilson in #5561
- feat(extraction-cache): cross-run Redis tier (SKY-8873) by @pedrohsdb in #5562
- fix(SKY-9136): fail fast on non-retriable navigation errors in workflow copilot by @andrewneilson in #5563
- Increase screenshot interval for API runs by @wintonzheng in #5565
- chore(mcp-oauth): sanitize error display, document cloud-only route, extract auth-template constant by @marcmuon in #5566
- fix(SKY-8978): allow KEYPRESS to type digits/letters as INPUT_TEXT fallback by @LawyZheng in #5568
- fix(SKY-9001): harden copilot narrator URL test against CodeQL sub-match by @andrewneilson in #5570
- docs: update CLAUDE.md to reflect current agent layout by @cindehaa in #5569
- feat: rename refresh_session endpoint to reset_profile (SKY-8955 BE) by @AronPerez in #5572
- fix(SKY-9143): never propose a known-broken workflow from copilot by @andrewneilson in #5574
- chore(extraction-cache): promote cross-run miss log DEBUG → INFO (SKY-8992) by @pedrohsdb in #5575
- feat(SKY-9160): default file parser type to Auto detect (backend) by @AronPerez in #5576
- fix: CJS default export interop for fetch-to-curl under Vite 8 by @LawyZheng in #5594
- fix(SKY-8537): deduplicate downloaded files by checksum by @LawyZheng in #5595
- feat(SKY-8965): Phase 2 — kill LLM synthesis, wire deterministic picker, flip guard to raise by @pedrohsdb in #5596
- feat(SKY-8954): add max-concurrency header for CloakBrowser run rate limiting by @LawyZheng in #5597
- fix(SKY-9189): restore raw-credential refusal in Workflow Copilot v2 by @andrewneilson in #5598
- feat: Google OAuth foundation — frontend UI (SKY-8165) by @AronPerez in #5599
- chore(security): block npm lifecycle scripts on install by @wintonzheng in #5600
- fix(SKY-9163): replace 5-min wall-clock timeout with progress watchdog by @andrewneilson in #5601
- chore(security): avoid yaml.load pattern in safe_load_no_dates by @wintonzheng in #5602
- fix(extraction-cache): resolve wpid via context at cross-run cache sites (SKY-8992) by @pedrohsdb in #5604
- chore(security): add .npmrc ignore-scripts to remaining npm workspaces by @wintonzheng in #5603
- fix(SKY-9188): reject canceled transition after workflow is finalized by @AronPerez in #5605
- fix(SKY-9180): prevent SyntaxError from cached for_loop code at module level by @AronPerez in #5606
- chore(security): timing-safe comparison for API-key and bearer-token auth by @wintonzheng in #5607
- feat(mcp): [Required for Anthropic Claude Connectors Listing] add tool titles, Origin validation, and response size cap by @marcmuon in #5608
- feat(SKY-8913): self-serve API key rotation backend by @AronPerez in #5609
- fix(SKY-9151): recover LLM-corrupted upload URLs in handle_upload_file_action by @AronPerez in #5610
- remove version bump ci by @wintonzheng in #5353
- fix(sheets): auto-extend grid + friendlier error for rich writes that overflow column count by @AronPerez in #5613
- feat(sheets): destination-tab dimensions + headers preview in google_sheets_write editor by @AronPerez in #5614
- feat: add Reset Profile button to workflow Start Node (SKY-8955 FE) by @AronPerez in #5612
- fix(integrations): Swap /api/v1/integrations/request For Posthog Analytics by @AronPerez in #5615
- security: bump path-to-regexp in mcpb claude_desktop by @wintonzheng in #5616
- docs: Major revamp to Developers and SDK Reference Tabs, Added Documentation for Page/Agent/Browser Methods by @kunalm2345 in #5571
- fix(SKY-9143): slice EXTRACTION envelope before meaningful-data check by @andrewneilson in #5619
- chore(ci): consolidate pytest config into pytest.ini + sync to OSS by @andrewneilson in #5628
- security: address high-severity Dependabot alerts by @wintonzheng in #5622
- fix(SKY-9193): halve element_fallback max_steps from 10 to 5 by @pedrohsdb in #5631
- Hide requested API reference pages from Mintlify by @marcmuon in #5630
- copilot: stop-nudge when navigation succeeds but scraping keeps failing by @andrewneilson in #5634
- fix: populate workflow_run.script_run with script identity + complete ai_fallback_triggered coverage by @pedrohsdb in #5635
- fix(SKY-9162): prompt save when credential changes on login block by @AronPerez in #5639
- feat(SKY-8998): hint city/state search in proxy location selector by @AronPerez in #5640
- copilot: document per-block-type output shape and null-guard in workflow KB by @andrewneilson in #5643
- copilot: tighten feasibility-gate prompt (portals + in-goal ambiguity) by @andrewneilson in #5644
- copilot: guarantee a terminal SSE frame on every chat turn by @andrewneilson in #5645
- copilot: bypass name-only tool-loop guard for block-running tools by @andrewneilson in #5647
- remove login block complete prompt override by default by @wintonzheng in #5648
- Limit workflow webhook artifact lookup by @wintonzheng in #5649
- fix: remove default login complete_criterion from script path by @wintonzheng in #5650
- Document MCP privacy for directory review by @marcmuon in #5651
- Invalidate cached script on workflow parameter set change (SKY-9254) by @pedrohsdb in #5652
- copilot: stamp operation.cost on Agents SDK spans (SKY-9246) by @andrewneilson in #5653
- fix(SKY-9257): degrade LLMRouterConfig to main model on copilot-v2 path by @andrewneilson in #5654
- fix(caching-v2): resolve parameter-key URL references in cache-key domain enrichment by @pedrohsdb in #5655
- feat: persist real LLM cost to DB + block-level attribution (public API unchanged — placeholder preserved) by @pedrohsdb in #5656
- fix(SKY-9261): copilot v2 — ensure browser session before running blocks by @andrewneilson in #5657
- feat: expose workflow_run_blocks.script_run on the timeline API + close write-path gap + add missing DB column by @pedrohsdb in #5658
- feat: return all workflow run recordings (backend) (SKY-9233) by @AronPerez in #5660
- feat(SKY-9150): add Workflow Orchestrators integration category by @AronPerez in #5662
- fix(sky-8861): close CodeQL py/incomplete-url-substring-sanitization by @wintonzheng in #5665
- fix(sky-8861): UI shows real filename for short artifact URLs by @wintonzheng in #5666
- copilot: wait for chromium boot in ensure_browser_session (SKY-9272) by @andrewneilson in #5667
- feat(SKY-9206): copilot attribution columns on workflows + workflow_runs by @andrewneilson in #5669
- feat: support multi-file workflow import with duplicate confirmation by @wintonzheng in #5670
- copilot: fix missing token telemetry from litellm streaming path (SKY-9245) by @andrewneilson in #5671
- feat(sky-8861): browser-session downloads -> short artifact URLs by @wintonzheng in #5672
- fix(sky-8861): refresh block output downloaded_files at API time by @wintonzheng in #5673
- docs/fix: Feedback from Apr 26 applied by @kunalm2345 in #5674
- fix(sky-8861): block-output download refresh fallback when artifact_ids are missing by @wintonzheng in #5675
- copilot(SKY-9270): planner-decomposition rules under IMPORTANT WORKFLOW RULES by @andrewneilson in #5676
- fix(SKY-8694): wrap jinja errors with template context in all format calls by @LawyZheng in #5678
- feat(SKY-1967): add platform-level JS dialog handler with LLM decision by @LawyZheng in #5679
- fix(sky-9287): copilot activity bullets — no raw JS / HTTP-header dumps by @andrewneilson in #5680
- fix(SKY-9285): feasibility-gate resolves repair utterances against session context by @andrewneilson in #5681
- copilot(SKY-9277): tighten planner-decomposition with concrete syntactic triggers by @andrewneilson in #5682
- feat: add cursor visualization for Playwright video recordings by @LawyZheng in #5683
- feat(SKY-8861): per-org artifact URL expiry config (backend) by @wintonzheng in #5685
- fix(SKY-8861): close CodeQL incomplete-url-substring-sanitization in recording tests by @wintonzheng in #5687
- feat: Add MCP tool call performance telemetry by @marcmuon in #5688
- fix(caching-v2): parameterize click prompts using workflow input params (SKY-9295) by @pedrohsdb in #5689
- feat(SKY-8861): UI surface artifact URL expiry as a settings field (in minutes) by @wintonzheng in #5690
- fix: surface payload key path + template in workflow_trigger render errors (SKY-9259) by @AronPerez in #5693
- feat: org settings via MCP tool and
skyvern configCLI by @marcmuon in #5694 - feat(SKY-9206): wire copilot atomic accept endpoint into chat UI by @andrewneilson in #5695
- security: bump litellm to 1.83.14 (3 critical SQL injection + 6 high) by @wintonzheng in #5692
- fix(SKY-9310): copilot Accept frontend fallback when atomic apply fails by @andrewneilson in #5697
- fix(SKY-9292): retry OTP polling on transient fetch failures by @LawyZheng in #5698
- MCP OAuth org selection for multi-org users by @marcmuon in #5699
- litellm>=1.83.7 by @wintonzheng in #5700
- feat(SKY-9305): hard-cancel for workflow copilot v2 (1/2 backend) by @andrewneilson in #5701
- fix(SKY-9310): persist copilot YAML on V1 proposal so Accept can apply by @andrewneilson in #5702
- feat(SKY-8771): backend WhileLoopBlock (PR 1 of 7) by @wintonzheng in #5703
- docs(mcp): document codex remote MCP OAuth flow by @marcmuon in #5704
- fix(SKY-9310): copilot V2 resolves org API token when no x-api-key header by @andrewneilson in #5707
- feat: modernize LLM models and clean up docs by @suchintan in #5684
- feat(SKY-9328): copilot V2 reuses live debug browser session (backend) by @andrewneilson in #5709
- feat(SKY-9328): forward live debug session id into copilot chat (frontend) by @andrewneilson in #5711
- Add explicit MCP tool safety hints [chat gpt connector - more unblocking] by @marcmuon in #5712
- feat: workflow schedule management via MCP tools and
skyvern scheduleCLI by @marcmuon in #5713 - fix(SKY-6790): truncate long block titles with ellipsis and tooltip by @wintonzheng in #5714
- fix(SKY-8065): improve magic link tab close behavior with prompt fix and code fallback by @LawyZheng in #5715
- fix(SKY-8931): strip Browser logs from user-facing browser launch errors by @LawyZheng in #5716
- fix(SKY-9319): browser error message improvement by @wintonzheng in #5717
- feat(SKY-9311): tag copilot Logfire spans with deployment.environment by @andrewneilson in #5718
- feat: surface dormant trigger-block payload entries in editor (SKY-9259) by @AronPerez in #5720
- fix(SKY-9255): propagate input_or_select_context on action reconstructions by @pedrohsdb in #5721
- fix(SKY-9338): copilot resolver routes thinking through extra_args by @andrewneilson in #5722
- feat(SKY-9304): hand off /discover prompt to workflow copilot chat by @andrewneilson in #5723
- feat(SKY-9316): pre-fill debugger Run dialog with last-used values by @wintonzheng in #5724
- fix: pass through script_run / ai_fallback / browser_session_id / max_screenshot_scrolls on /v1/runs/{id} by @pedrohsdb in #5725
- feat(SKY-9305): hard-cancel for workflow copilot v2 (2/2 frontend) by @andrewneilson in #5726
- feat(SKY-9149): add migration notice for password manager settings by @AronPerez in #5727
- security: bump moderate Dependabot alerts (Apr 28) by @wintonzheng in #5706
- fix(SKY-9350): unwrap raw REPLY envelope before chat render by @andrewneilson in #5728
- Remove deprecated Anthropic and Bedrock Claude model configs by @wintonzheng in #5729
- feat(SKY-8852): clarify loop block failure-handling UI by @wintonzheng in #5731
- fix: quickstart fails on Windows — missing DATABASE_STRING by @suchintan in #5719
- feat(SKY-9353): distinguish self-healed copilot tool failures by @andrewneilson in #5732
- fix(SKY-9352): copilot asks for sample value before testing parameterized workflows by @andrewneilson in #5733
- fix(SKY-9283): auto-route browser type from profile source by @LawyZheng in #5734
- fix(SKY-9344): guard against missing parent/children in element tree builder by @LawyZheng in #5736
- log: drop "Calculated checksum for file" INFO log by @wintonzheng in #5738
- log: compact Action / ActionResult kwargs in structlog pipeline by @wintonzheng in #5739
- infra: disable uvicorn access log on FastAPI services by @wintonzheng in #5740
- feat(SKY-9329): surface workflow-run sub-events as mid-tool copilot narrations by @andrewneilson in #5741
- feat(extraction-cache): wire data-extraction-summary into cross-run cache (SKY-8992) by @pedrohsdb in #5742
- fix(anthropic-cua): use computer_20251124 for Sonnet 4.6 by @wintonzheng in #5744
- log: demote "Element reached max count" warning to debug by @wintonzheng in #5745
- fix(SKY-9400): scope copilot credential refusal to in-turn user message by @andrewneilson in #5746
- docs/fixes: Fixed llms.txt and changed button text to 'Try it now' by @kunalm2345 in #5743
- fix(SKY-9294): clarify failure_reason for 1Password upstream failures by @wintonzheng in #5747
- fix(SKY-9401): scope copilot "no chatbot" rule to data Q&A, not Skyvern docs by @andrewneilson in #5748
- fix(SKY-9405): map interrogative workflow-improvement Q's to edit path by @andrewneilson in #5749
- fix(SKY-9340): emit nested credential subscripts at code-emission time by @pedrohsdb in #5750
- fix(SKY-9420): suppress proposal panel under ASK_QUESTION turns by @andrewneilson in #5751
- feat(SKY-8771): regenerate OpenAPI specs + Fern Python client for while_loop by @wintonzheng in #5753
- feat(SKY-9235): track sidebar agent clicks and SPA pageviews in PostHog by @AronPerez in #5754
- feat(SKY-9354): surface WIP workflow on copilot timeout / failed test by @andrewneilson in #5755
- fix(SKY-9404): rephrase debug-Q disambiguator as principle, drop closed example list by @andrewneilson in #5757
- fix: honor per-request LLM timeout by disabling litellm aiohttp transport by @AronPerez in #5758
- fix(SKY-9322): normalize bracketed IPv6 hosts in is_blocked_host by @AronPerez in #5759
- docs: Update navbar CTAs to "Talk to us" + "Get Started" by @ritiksahni in #5760
- Support GeoTarget proxies for MCP browser sessions by @marcmuon in #5764
- feat(SKY-9372): goal_reached self-assessment flips validated proposal to unvalidated by @andrewneilson in #5768
- chore(SKY-9227): prevent Fern SDK drift from breaking workflow block types by @marcmuon in #5769
- feat(SKY-9421): frontend - Wait for browser before Copilot by @andrewneilson in #5771
- fix(SKY-9251): keep workflow running after loop swallows body failure by @AronPerez in #5770
- fix(SKY-9425): drop hallucinated failure_category codes from user-defined errors by @AronPerez in #5775
- fix(SKY-9185): keep run detail page accessible after workflow delete (BE) by @AronPerez in #5776
- Bump version to 1.0.32 by @wintonzheng in #5762
New Contributors
Full Changelog: v1.0.31...v1.0.32