What's Changed
Version bumped from 1.0.36 to 1.0.37
Recent Changes
- SKY-10574: follow the live frontier in copilot chat during a run (#6283) (ba00303)
- fix(SKY-10573): give the copilot turn-collapse control its own header lane (#6279) (b63dc28)
- Bump version to 1.0.37 (#6208) (a75e6c0)
- SKY-10560: route TOTP verification requests through NAT egress proxy (#6274) (d0939e0)
- Fix browser session UI not updating after create (#6272) (1299cc4)
- Update API specifications with fern api update (#6265) (3189947)
- SKY-10346: Track runtime verification evidence (PR 13/13) (#6269) (f090dcf)
- feat(SKY-10559): reveal collapsed sidebar flyout on hover (#6270) (2919553)
- SKY-10143: keep the copilot chat live during the in-turn test (queue + cancel) (#6268) (60c295a)
- SKY-10346: Render terminal anti-bot blockers (PR 12/12) (#6267) (ba00ef3)
- Replace non-vision blob with enrich_tree experiment (#6266) (d89ad15)
- SKY-10346: Finalize from post-run page evidence (PR 11/12) (#6263) (9ffa39d)
- SKY-10346: Preserve runtime frontier browser state (PR 10/12) (#6262) (88387a2)
- SKY-10346: Plan runtime frontiers from page evidence (PR 9/12) (#6261) (1553027)
- SKY-10346: Preserve continuation blocker signals (PR 8/12) (#6259) (31592ba)
- SKY-10346: Guard stale browser session reuse (PR 7/12) (#6258) (f88049e)
- SKY-10318/10142: stage workflow proposals + persist turn-narrative bubble across reloads (BE, 1/2) (#6257) (cc2cb60)
- SKY-10346: Replace goto-url heuristics with page evidence policy (PR 5/12) (#6256) (b827c45)
- fix(SKY-10453): handle nullable download field in action parsing (#6255) (ef13e49)
- SKY-10346: Enforce inspect-before-compose (PR 4/12) (#6254) (bb3a022)
- chore: enable ruff B009/B010 and add Any typing guideline (#6253) (5217498)
- [SKY-10102] Phase 3: Tag CRUD + history + tag-keys + batch endpoints (#6251) (c09b191)
- security: fix 5 npm vulnerabilities in skyvern-frontend (protobufjs, qs) (#6243) (2d2cc98)
- [codex] Add workflow runtime limit frontend (#6248) (3897cd8)
- Add browser controls to CDP streams (#6229) (5a6c2f0)
- [Streaming] Support local VNC browser sessions (#6225) (65d829e)
- fix(SKY-10347): resolve embedded multi-placeholder secrets in workflow credentials (#6245) (a9a09ee)
- Revert "fix: run registered browser cleanup for VM browser contexts (SKY-10189)" (#6244) (5d52ca0)
- SKY-10346: Normalize repository datetimes (PR 6/12) (#6242) (0f07d00)
- fix(SKY-10351): flatten 3D context on Flippable face containers (#6241) (dae4c09)
- fix: truncate loop_over_value in for-loop iteration log (#6240) (fdfde69)
- fix(SKY-10405): update n8n integration logo (#6239) (51fa234)
- fix: use solid open session pill styling (#6237) (8f38a4a)
- SKY-10346: Harden page evidence boundaries (PR 3/12) (#6235) (3cbcd09)
- SKY-10346: Wire MCP page inspection tool (PR 2/12) (#6234) (6704a92)
- SKY-10346: Add page evidence parser contract (PR 1/12) (#6233) (330c27e)
- fix(SKY-10457): stop block-body clip from cutting focused input rings (#6232) (b561b56)
- SKY-10142: render turn narrative bubble (FE, 2/2) (#6231) (18b2f05)
- feat(SKY-10222): show N/M block completion and unexecuted blocks on run UI (#6230) (318ab3e)
- fix(SKY-10452): pre-create browser with block URL in script mode for proxy selection (#6228) (6680039)
- chore(frontend): align tailwind config shape for clean cross-repo sync (#6227) (23abec2)
- Update API specifications with fern api update (#6209) (b415ac8)
- feat(SKY-10066): split workflow run page into compact timeline + detail panel (#6214) (da49d61)
- feat(SKY-9840): add enterprise summary cache warmer (#6213) (bee80e7)
- feat(SKY-9956): show in-progress placeholder row while saving browser profile (#6215) (9a8e244)
- docs: fix loop value reference in build-a-workflow tutorial (#6216) (7b58a90)
- chore(frontend): add cta color and collapsible animations to tailwind config (#6222) (6093962)
- SKY-6729: Add llm_cost, proxy_cost, captcha_cost columns to task_runs (#6219) (6a2705d)
- chore(frontend): bump prettier-plugin-tailwindcss to ^0.8.0 (#6217) (ad0c589)
- feat(SKY-9506): add selector + ai_fallback fields to Action Block schema (#6212) (80b6f67)
- [SKY-10263] Redesign sidebar navigation (#6211) (baac1d1)
- chore: remove references (#6210) (a73e747)
- Revert validated proxy session pool (#6206) (a125d33)
- fix(frontend): port vitest.setup.ts + wire setupFiles config (#6207) (d723dcb)
- SKY-10142: stream turn narrative envelope events (BE, 1/2) (#6204) (09f2ba3)
- feat(tagging): TagsRepository + AgentDB wiring + caller-context auth dep (SKY-10101) (#6205) (54d3873)
- [codex] Add workflow runtime limit backend (#6201) (d654db4)
- fix: run registered browser cleanup for VM browser contexts (SKY-10189) (#6200) (38fa9cc)
- perf(SKY-10319): make inter-action delay experiment-controllable (#6199) (d1cd38e)
- fix(SKY-9402): add needs_followup + followup_message for deferred upload action history (#6198) (71a40fb)
- Add LLM vision mode experiment (#6197) (93733db)
- fix(SKY-10352): align control button hit areas with visual bounds (#6196) (910fda8)
- Add workflow run retry APIs (#6195) (85f1545)
- fix(SKY-10350): recomposite on accordion-down inside nested block tiles (#6194) (d13f6c2)
- docs: update smoke-test skill with Chrome DevTools MCP and screenshot evidence (#6193) (234ef86)
- copilot: deterministic blocked-turn renderer + finalization shim (SKY-10314 2/2) (#6192) (84d80db)
- Document v3 reviewer architecture and boundary (#6188) (d29fa8d)
- copilot: structured tool-blocker signal contract + lifecycle (SKY-10314 1/2) (#6187) (2ed17cc)
- fix(SKY-10317): classify blank-workflow browser-task copilot turns as build (#6186) (2fb4ef8)
- fix: point GEMINI_3.1_FLASH_LITE at GA model, not retired preview (#6185) (7f6eb7d)
- v3 reviewer 3/3: wire mint-audit + post-run dispatch + mid-run hooks (SKY-7676) (#6184) (5143e85)
- SKY-10322: skip flex LLM router on UI-triggered runs (#6183) (9d7be5d)
- feat(SKY-10211): gate code-mode dispatch on CACHING_ROLLOUT flag (#6181) (13a0bad)
- fix: clarify workflow run queue setting (#6180) (ead3c97)
- feat: hook local debugger to the cdp-connect remote browser (#6179) (83eb2ca)
- SKY-10335: copilot BuildPhase machine + AgentResult writeback factory (#6177) (8915cc0)
- copilot: split run-context read authority from mutation gates (SKY-10313) (#6176) (0ebc4fa)
- fix(SKY-10339): cap flex execution before fallback (#6174) (2664e58)
- fix(test): mock useSelectedCredentialTotpIdentifier in NavigationEditor test (#6175) (ee422f6)
- SKY-10130 (3/3): detect identical-reply loops + hard rewrite (#6161) (ba3c86d)
- fix(SKY-10152): gate persistent profile write-back on run success (#6169) (3d31cc7)
- docs: remove billing endpoints from public API reference (#6168) (bee710c)
- feat(SKY-9959): support double-click in element-based click action (#6166) (527d5e3)
- fix(SKY-9402): always include native form inputs inside shadow DOM in visibility check (#6165) (a172924)
- fix(SKY-10327): detect PDF embeds in multi-frame pages (#6164) (d548ff1)
- Add packaged UI pip install flow (#6159) (dc4eec2)
- revert: light mode v2 token system + hardcode sweep (#10910) (#6163) (aa3f8ff)
- fix(SKY-10198): keep save button visible when adding credential parameter (#6157) (fc1fe76)
- fix(SKY-10192): clarify credential variable in selector UI (#6156) (61878c0)
- fix(SKY-10191): allow selecting credential when editing a parameter (#6155) (41681dd)
- SKY-10130 (2/3): populate TurnOutcome on every AgentResult + typed user-non-progress signal (#6149) (631f0fb)
- refactor(SKY-10065): remove legacy copilot proposal flags (#6148) (3c08786)
- Add Yutori Navigator as a CUA engine (#5513) (aa51d2e)
- SKY-10130 (1/3): add nullable TurnOutcome JSON column + schema plumbing (#6147) (6b9d7b0)
- SKY-10307: Surface Copilot missing-context fallback (#6144) (a9b646f)
- SKY-10124: Make Copilot unexpected errors recoverable (#6143) (46a287b)
- fix(SKY-10295): scope Copilot credential authority (#6140) (5a4c7bc)
- SKY-10201: Treat MCP calls like frontend calls (#6138) (2803b6d)
- fix(artifact): show real filename on workflow run download links (#6137) (6c40f8d)
- feat(tagging): Phase 1 schema + types (SKY-10100) (#6135) (fee3a14)
- feat: support BROWSER_REMOTE_DEBUGGING_CONNECT_HEADERS for default CDP auth headers (#6134) (48d44d8)
- feat: show credits consumed per run on workflow run pages (#SKY-8320) (#6133) (375d6c0)
- feat(experiment): add CHECK_USER_GOAL_LLM_NAME to A/B check-user-goal independently (#6130) (534b2e0)
- fix(SKY-9917): align browser state cdp header protocol (#6123) (b6610d6)
- fix(SKY-9917): use bounded lock wait for cdp migration (#6122) (2261236)
- perf(agent): parallelize scrape artifact persistence (SKY-8393) (#6101) (aa5664f)
- perf(agent): reduce scrape wait time and parallelize CSS conversion (SKY-8393) (#6085) (8c14819)
- dev: restore agent profiling and benchmark scripts (SKY-8393) (#6086) (ab106ba)
- perf(agent): fire-and-forget post-action artifact recording (SKY-8393) (#6109) (5f2835c)
- perf(agent): reuse SkyvernFrame for post-action HTML artifact (SKY-8393) (#6089) (4e3245a)
- perf(agent): prefetch data-extraction-summary before scrape (SKY-8393) (#6110) (afcdf29)
- Add cindehaa and cursor to sync PR auto-merge allowlist (#6090) (6b0051a)
- [CLI] Add non-interactive quickstart setup (#6025) (9cb7ea1)
- Re-introduce cdp_connect_headers (#11067) with NOWAIT migration (#11198) (#6117) (965150b)
- fix(frontend): re-sync React Flow nodes when comparison colors change (#6116) (1fa25ba)
- fix(SKY-10137): annotate _workflow_with_runtime_block_goal_context's ctx as CopilotContext (#6115) (4cf197f)
- skyvern-cli: clarify skill guidance on workflow-level session toggles (#6111) (67a92e4)
- [Oncall] Deprecate public workflow run total_cost (#6108) (e427161)
- fix(SKY-10139): preserve proposals on output-policy blocks (#6107) (6e09827)
- SKY-10138: stop Copilot on unrecoverable browser-session errors (#6106) (49c3357)
- SKY-10140 Name Copilot parameters by domain intent (#6104) (6e2f56e)
- fix(SKY-10141): preserve copilot browser session context (#6103) (97faa10)
- [Oncall] Disable content blockers for credentialed auth launches (#6102) (5823683)
- revert: drop pool_timeout/pool_recycle and roll DB pool sizes back to pre-#10903 (#6099) (06bed88)
- fix(SKY-9857): prompt token bloat — hard ceiling enforcement + data_extraction_goal cap (#6098) (91c2bb2)
- SKY-9926: reject credential ID baked into block prose in Workflow Copilot (#6097) (f3461ec)
- fix(copilot): catch block YAML leaked into chat reply (SKY-9925) (#6096) (72e4b9a)
- feat(SKY-9938): typed workflow-change section in copilot turn context (#6095) (298e49c)
- fix(SKY-9935): decouple WIP-rescue force-review from unvalidated proposal flag (#6094) (4264933)
- SKY-9927 Carry docs intent across bare confirmations in TurnIntent (#6093) (7df21a9)
- fix(SKY-9402): preserve class and readable pseudo-text for icon-only navigation elements (#6092) (0aa6cad)
- fix: strip NUL bytes from JSON columns before persisting (#6091) (c35b47b)
- Update changelog - Apr 27 through May 20, 2026 (#6088) (06f9507)
- fix(SKY-9965): verify raw-secret claims with cited evidence (#6087) (2836daf)
- fix: block Liferay favicon redirect that strands login flow (#6083) (0f9fece)
- [Oncall] Preserve PDF suffix for slash-date invoice downloads (#6082) (beaf874)
- fix(SKY-9965): redact refused raw-credential turns from copilot transcript context (#6081) (a23a90f)
- [oncall] Capture transient download error popups (#6080) (c03df7e)
- fix(SKY-9785): make finish_reason=length trigger LLM router fallback (#6079) (db4666f)
- fix(SKY-9974): capture popup page recordings via context-level listener (#6078) (2b75c67)
- SKY-9979 Gate Copilot side effects with TurnIntent (#6077) (a68b7e6)
- SKY-9978 Gate no-mutation TurnIntent tools (#6076) (9d7d5ed)
- feat(SKY-9672): detect archived artifacts and surface archive status to frontend (#6075) (9eaec2a)
- fix(SKY-9803): inject tab context into extract-action prompt for safe CLOSE_PAGE (#6074) (2d77f97)
- SKY-9947 track copilot output policy diagnostics (#6073) (a9bb0aa)
- Revert "feat(workflow): ValidationBlock data_extraction_goal/data_schema frontend" (#6072) (3c0174b)
- feat(workflow): expose data_extraction_goal and data_schema on ValidationBlock backend (#6066) (6ccca74)
- SKY-9977 add turn intent classifier eval (#6071) (11a5e0e)
- SKY-9980 Add diagnosis repair contract shadow logging (#6070) (42ccf45)
- [oncall] Fix inline add inside nested conditional loops (#6069) (b5a1582)
- fix(SKY-9982): route missing trigger type through flex gate (#6068) (42383e7)
- feat(workflow): ValidationBlock data_extraction_goal/data_schema frontend (#6067) (93ca06e)
- Improve local browser streaming devex (#6026) (4988f03)
- fix: map ai_click operational failures to 422 on /v1/sdk/run_action (#6065) (47892c9)
- SKY-9976 Add mode-aware turn context assembler (#6064) (3353a84)
- SKY-9975 Add TurnIntent shadow contract (#6063) (7808fb1)
- feat: add curl-based Skyvern server installer (#5804) (0842a82)
- [oncall] Retry workflow webhooks after infra failures (#6062) (3212ca8)
- fix(SKY-9929): feasibility-gate proceeds on diagnostic input over existing workflow (#6061) (b7dd7c3)
- feat: default new workflows to run_with="agent" (#6060) (576c11b)
- feat(SKY-9326): caching benchmark + copilot evals share one Logfire surface (#6059) (22c5cda)
- fix(SKY-9962): recover conditional block when LLM returns extra placeholder evaluations (#6058) (1157fa5)
- Skip speculative extract-actions in script_mode workflows (#6057) (13f96dd)
- fix: scope custom-select prompt to new-element subtrees (SKY-9948) (#6055) (ed9cda3)
- fix(SKY-9802): capture XHR inline file downloads during download actions (#6054) (2b47451)
- fix(SKY-9785): use compact JSON serialization for file parser LLM prompt (#6053) (2e17766)
- Add repo-root skills/ mirror for Codex Marketplace + auto-sync to OSS (#6052) (2bde051)
- chore: remove ENABLE_PARSE_SELECT_IN_EXTRACT feature flag (#6051) (a92ae20)
- Revert "feat: add total_cost to runs response endpoint" (#6050) (d4ad698)
- fix(SKY-9930): copilot classifier infers credential intent from URL shape (#6049) (dca6fa4)
- fix(copilot): name where Credentials UI lives in clarification text (SKY-9934) (#6048) (7aabb39)
- fix: cascade child tasks and prevent workflow_run resurrection on cleanup-cron timeout (#6047) (7ad2b02)
- log: drop log_level= from uvicorn.run() so ws spam stays silenced (#6046) (a38df7e)
- feat(SKY-9867): guided Create-a-Browser-Profile flow (#6043) (5083112)
- fix(frontend): restore GitHub star count in header (SKY-9868) (#6042) (64b7aad)
- fix(copilot): type ResponseScaffoldingNormalization.response_type as ResponseType + sync OSS mypy overrides (#6041) (5229313)
- fix(scraper): use networkidle settle for Auth0 form_post redirect recovery (SKY-9470) (#6035) (b6291a7)
- fix(scripts): propagate workflow_scripts.is_pinned from cache_key lookup (#6034) (3bf3788)
- chore: demote mouse movement logs to debug (SKY-9945) (#6033) (05831b9)
- chore: demote LLM experiment config log to debug (SKY-9945) (#6031) (39f22c5)
- chore: replace script_mode print() with LOG.debug to cut log volume (SKY-9945) (#6030) (af842b8)
- chore: demote WebSocket streaming lifecycle logs to debug (SKY-9945) (#6029) (bee19c8)
- SKY-9933 Avoid repeated credential clarification loop (#6027) (eec704c)
- Update 2FA docs to reference workflows (#6010) (1b2e2da)
- chore: demote noisy high-volume logs to debug (#6024) (da0f458)
- Add XHR.dev proxy (#6019) (737e3c2)
- Harden cached script deploy cleanup (#6018) (c12482f)
- fix(SKY-9871): drop blank late download artifacts (#6017) (37237f7)
- feat(SKY-9577): swap WorkflowRunTimelineBlockItem to ActionCardCompact behind flag (#6016) (fd56c16)
- SKY-9863: Reintroduce download signal monitoring (#6015) (f2a2de5)
- feat(SKY-9576): add ActionCardCompact component (#6014) (a4cd00f)
- Add cached script deploy commit mode (#6013) (29dcb86)
- Add cached script deploy dry-run primitives (#6012) (6f920c9)
- [CLI] Handle quickstart Docker cleanup and server extras (#5923) (ecd6018)
- Fix SKY-9838 download retry loop without empty artifacts (#6009) (516ec34)
- feat(SKY-9578): swap ScrollableActionList + add view-mode toggle behind flag (#6008) (46be557)
- fix(workflow): restore analytics flag gate (#6007) (8ea52c5)
- Revert SKY-9838 download retry loop and SKY-9863 fail-fast (#11152, #11167) (#6006) (8e5f9bd)
- SKY-9863: Fail fast when download signal is missing (#6003) (92b7532)
- fix(SKY-9864): stop overwriting totp_identifier on hydration (#6002) (e0d1703)
- feat(SKY-9575): add workflow_run_viewing_v2 flag and run-viewing preference store (#6001) (238fc92)
- feat(SKY-9828): polish browser profile selector + table search (#6000) (7c65968)
- feat(SKY-9827): add search_key to GET /browser_profiles (#5999) (863e779)
- Revert "fix(SKY-9803): expose CLOSE_PAGE when multiple tabs are open" (#5997) (79eaa1c)
- Fix SKY-9838 Copilot download retry loop (#5994) (8a1f79d)
- perf(SKY-9738): speed up GET workflow run endpoint (#5993) (aecb9e0)
- fix(SKY-9822): script generator emits credential TOTP lookup when block has no explicit totp_identifier (#5992) (df1d6ca)
- fix(SKY-9784): complete chain_click fallback chain for blocked elements (#5991) (33ab5ef)
- feat(SKY-9737): browser profile management page (#5990) (e334d42)
- fix(SKY-9837): normalize browser_task and clarify invalid conditional loop edits (#5989) (04efc08)
- SKY-9841 extract shared agent context helpers (#5988) (a8d7a35)
- fix(SKY-9804): distinguish missing-TOTP-source from delivery timeout in MFA terminate paths (#5987) (57193ef)
- fix(SKY-9821): consolidate copilot ask edit routing (#5986) (61dad6e)
- fix(experimentation): set SkyvernContext before flag evals in Temporal worker boot (#5985) (4ca6b4f)
- fix(SKY-9756): guard diagnostic answers on absent workflow entities (#5983) (00871a4)
- fix(artifacts): support HTTP Range on /v1/artifacts/{id}/content (SKY-9472) (#5982) (ed31c36)
- fix(SKY-9820): surface YAML parser detail on workflow save (#5981) (99e8dd3)
- feat: add /analytics route + page shell + nav item (SKY-9072) (#5980) (f1b6a99)
- feat(SKY-9737): wire workflow-level browser profile default (#5979) (64cf55b)
- fix(SKY-9745): surface cached-script block errors + add per-iteration logs (#5978) (0db255f)
- feat(SKY-9737): paginate GET /browser_profiles (#5977) (96beb49)
- feat(SKY-9780): typed transcript anchors for request-policy classifier (#5976) (c78faff)
- fix(SKY-9233): return all per-tab recordings in workflow run fallback (#5975) (36f1fed)
- fix(workflow): cap oversized output_parameter JSON values to protect Estuary (SKY-9779) (#5974) (014f2f9)
- fix(SKY-9788): humanize init-time failure copy and skip wasted test on unbound credentials (#5972) (5ee75cd)
- fix(SKY-9755): resolve chat_history before asking for context already on record (#5971) (02abe65)
- [SKY-9718] Layer 1 — deterministic HTML element-tree compression (#5970) (cd13715)
- fix(workflow-editor): Record Browser button stays visible while session loads (SKY-9777) (#5969) (005274d)
- feat(SKY-9785): Gemini 3 reasoning_effort experiment (#5968) (d830383)
- feat(SKY-8672): add browser profile MCP and CLI auth reuse (#5632) (515f632)
- fix(SKY-9753): tighten request-policy prompt for credential-context turns (#5965) (1537946)
- feat(SKY-9069): analytics dashboard backend rollup (Phases 1-3) (#5966) (3693217)
- fix(runs): show scheduled workflow runs on global /runs page (SKY-8937) (#5949) (0a77132)
- fix: dep-patch group with [server] openai-agents floor unbroken (replaces #10899) (#5896) (d4ca1e4)
- feat(runs): show scheduled trigger badge on global /runs page (SKY-8937) (#5948) (e6cd888)
- fix(workflow): skip block retry on anti-bot detection (SKY-8957) (#5951) (aa293e8)
- fix(mcp): classify login/run_task timeout as TIMEOUT, surface non-empty messages (#5953) (30faa93)
- fix(scripts): idempotent create_script_file / create_script_block (SKY-9730) (#5955) (9ebe23d)
- fix(scraper): recover from multi-hop navigation context destruction (SKY-9470) (#5954) (261b367)
- fix(SKY-7939): surface FileParserBlock failures in workflow run outputs (#5964) (ab3faf0)
- feat(SKY-9737): add workflow.browser_profile_id default column (#5963) (33f23ad)
- Pre-build UI assets in Docker image instead of at container startup (SKY-7342) (#5959) (bb44d8e)
- feat(SKY-9737): wire browser profile selector into workflow run form (#5962) (deafee4)
- feat(SKY-9737): add PATCH /browser_profiles/{id} endpoint for rename (#5960) (2bfb42f)
- fix(SKY-8924): retry webhook delivery on transient 403/5xx/network errors (#5952) (ee6ca17)
- fix(alembic): add nonterminal_status indexes to unblock sync PRs (SKY-9746) (#5961) (6d14dee)
- feat(SKY-9639): wire shadow gate to data-extraction-summary cross-run hits (#5947) (afd17cd)
- chore(ci): add trevor-cheung to OSS sync workflows (#5946) (326a15b)
- fix(frontend): detect nested block changes in Co-Pilot diff view (SKY-9332) (#5945) (097f93d)
- feat(SKY-9720) (2/3): Enforce Copilot output policy (#5944) (f1c4534)
- fix: use per-run distinct_id for FORCE_TASK_V1 and USE_GEMINI_FLEX_FOR_NON_UI (#5943) (c76c182)
- feat(SKY-9720) (1/3): Structure request policy scope (#5942) (e6505e4)
- fix(mcp): disambiguate ref selectors for unnamed duplicate widgets (#SKY-9701) (#5941) (c2dc316)
- feat(SKY-8861): always mint signed /v1/artifacts content URLs from get_share_link[s] (#5940) (878a608)
- fix(SKY-8660): raise on fill_form 0-mapped to trigger AI fallback (#5939) (2348437)
- fix(SKY-9704): restore legacy loop block output shape on cached path (#5938) (1dca64e)
- fix(SKY-9334): defer file chooser listener across steps for two-step uploads (#5937) (94458a9)
- fix(bitwarden): coerce null username/password/totp to empty string (SKY-8847) (#5936) (cf3901a)
- fix(SKY-9115): reviewer drops ambiguous label selectors in multi-row forms (#5934) (50ab542)
- ci: full speedup overhaul (concurrency, pytest-split sharding, parallel jobs, scoped pre-commit) (#5933) (641f64a)
- fix(SKY-9723): guard react-router blocker proceed/reset on state (#5929) (c5b4f68)
- Add command-aware env scope resolver (#5928) (10c56e4)
- fix(frontend): replace react-github-btn with static link (SKY-9724) (#5927) (0b38970)
Full Changelog: v1.0.36...v1.0.37
What's Changed
- fix(frontend): replace react-github-btn with static link (SKY-9724) by @AronPerez in #5927
- Add command-aware env scope resolver by @marcmuon in #5928
- fix(SKY-9723): guard react-router blocker proceed/reset on state by @AronPerez in #5929
- ci: full speedup overhaul (concurrency, pytest-split sharding, parallel jobs, scoped pre-commit) by @AronPerez in #5933
- fix(SKY-9115): reviewer drops ambiguous label selectors in multi-row forms by @AronPerez in #5934
- fix(bitwarden): coerce null username/password/totp to empty string (SKY-8847) by @AronPerez in #5936
- fix(SKY-9334): defer file chooser listener across steps for two-step uploads by @LawyZheng in #5937
- fix(SKY-9704): restore legacy loop block output shape on cached path by @celalzamanoglu in #5938
- fix(SKY-8660): raise on fill_form 0-mapped to trigger AI fallback by @AronPerez in #5939
- feat(SKY-8861): always mint signed /v1/artifacts content URLs from get_share_link[s] by @wintonzheng in #5940
- fix(mcp): disambiguate ref selectors for unnamed duplicate widgets (#SKY-9701) by @AronPerez in #5941
- feat(SKY-9720) (1/3): Structure request policy scope by @andrewneilson in #5942
- fix: use per-run distinct_id for FORCE_TASK_V1 and USE_GEMINI_FLEX_FOR_NON_UI by @pedrohsdb in #5943
- feat(SKY-9720) (2/3): Enforce Copilot output policy by @andrewneilson in #5944
- fix(frontend): detect nested block changes in Co-Pilot diff view (SKY-9332) by @AronPerez in #5945
- chore(ci): add trevor-cheung to OSS sync workflows by @trevor-cheung in #5946
- feat(SKY-9639): wire shadow gate to data-extraction-summary cross-run hits by @pedrohsdb in #5947
- fix(alembic): add nonterminal_status indexes to unblock sync PRs (SKY-9746) by @pedrohsdb in #5961
- fix(SKY-8924): retry webhook delivery on transient 403/5xx/network errors by @AronPerez in #5952
- feat(SKY-9737): add PATCH /browser_profiles/{id} endpoint for rename by @celalzamanoglu in #5960
- feat(SKY-9737): wire browser profile selector into workflow run form by @celalzamanoglu in #5962
- Pre-build UI assets in Docker image instead of at container startup (SKY-7342) by @celalzamanoglu in #5959
- feat(SKY-9737): add workflow.browser_profile_id default column by @celalzamanoglu in #5963
- fix(SKY-7939): surface FileParserBlock failures in workflow run outputs by @wintonzheng in #5964
- fix(scraper): recover from multi-hop navigation context destruction (SKY-9470) by @AronPerez in #5954
- fix(scripts): idempotent create_script_file / create_script_block (SKY-9730) by @AronPerez in #5955
- fix(mcp): classify login/run_task timeout as TIMEOUT, surface non-empty messages by @AronPerez in #5953
- fix(workflow): skip block retry on anti-bot detection (SKY-8957) by @AronPerez in #5951
- feat(runs): show scheduled trigger badge on global /runs page (SKY-8937) by @AronPerez in #5948
- fix: dep-patch group with [server] openai-agents floor unbroken (replaces #10899) by @AronPerez in #5896
- fix(runs): show scheduled workflow runs on global /runs page (SKY-8937) by @AronPerez in #5949
- feat(SKY-9069): analytics dashboard backend rollup (Phases 1-3) by @AronPerez in #5966
- fix(SKY-9753): tighten request-policy prompt for credential-context turns by @andrewneilson in #5965
- feat(SKY-8672): add browser profile MCP and CLI auth reuse by @marcmuon in #5632
- feat(SKY-9785): Gemini 3 reasoning_effort experiment by @pedrohsdb in #5968
- fix(workflow-editor): Record Browser button stays visible while session loads (SKY-9777) by @pedrohsdb in #5969
- [SKY-9718] Layer 1 — deterministic HTML element-tree compression by @wintonzheng in #5970
- fix(SKY-9755): resolve chat_history before asking for context already on record by @andrewneilson in #5971
- fix(SKY-9788): humanize init-time failure copy and skip wasted test on unbound credentials by @andrewneilson in #5972
- fix(workflow): cap oversized output_parameter JSON values to protect Estuary (SKY-9779) by @pedrohsdb in #5974
- fix(SKY-9233): return all per-tab recordings in workflow run fallback by @celalzamanoglu in #5975
- feat(SKY-9780): typed transcript anchors for request-policy classifier by @andrewneilson in #5976
- feat(SKY-9737): paginate GET /browser_profiles by @celalzamanoglu in #5977
- fix(SKY-9745): surface cached-script block errors + add per-iteration logs by @pedrohsdb in #5978
- feat(SKY-9737): wire workflow-level browser profile default by @celalzamanoglu in #5979
- feat: add /analytics route + page shell + nav item (SKY-9072) by @AronPerez in #5980
- fix(SKY-9820): surface YAML parser detail on workflow save by @AronPerez in #5981
- fix(artifacts): support HTTP Range on /v1/artifacts/{id}/content (SKY-9472) by @AronPerez in #5982
- fix(SKY-9756): guard diagnostic answers on absent workflow entities by @andrewneilson in #5983
- fix(experimentation): set SkyvernContext before flag evals in Temporal worker boot by @pedrohsdb in #5985
- fix(SKY-9821): consolidate copilot ask edit routing by @andrewneilson in #5986
- fix(SKY-9804): distinguish missing-TOTP-source from delivery timeout in MFA terminate paths by @pedrohsdb in #5987
- SKY-9841 extract shared agent context helpers by @andrewneilson in #5988
- fix(SKY-9837): normalize browser_task and clarify invalid conditional loop edits by @andrewneilson in #5989
- feat(SKY-9737): browser profile management page by @celalzamanoglu in #5990
- fix(SKY-9784): complete chain_click fallback chain for blocked elements by @LawyZheng in #5991
- fix(SKY-9822): script generator emits credential TOTP lookup when block has no explicit totp_identifier by @pedrohsdb in #5992
- perf(SKY-9738): speed up GET workflow run endpoint by @trevor-cheung in #5993
- Fix SKY-9838 Copilot download retry loop by @andrewneilson in #5994
- Revert "fix(SKY-9803): expose CLOSE_PAGE when multiple tabs are open" by @trevor-cheung in #5997
- feat(SKY-9827): add search_key to GET /browser_profiles by @celalzamanoglu in #5999
- feat(SKY-9828): polish browser profile selector + table search by @celalzamanoglu in #6000
- feat(SKY-9575): add workflow_run_viewing_v2 flag and run-viewing preference store by @celalzamanoglu in #6001
- fix(SKY-9864): stop overwriting totp_identifier on hydration by @celalzamanoglu in #6002
- SKY-9863: Fail fast when download signal is missing by @andrewneilson in #6003
- Revert SKY-9838 download retry loop and SKY-9863 fail-fast (#11152, #11167) by @LawyZheng in #6006
- fix(workflow): restore analytics flag gate by @AronPerez in #6007
- feat(SKY-9578): swap ScrollableActionList + add view-mode toggle behind flag by @celalzamanoglu in #6008
- Fix SKY-9838 download retry loop without empty artifacts by @andrewneilson in #6009
- [CLI] Handle quickstart Docker cleanup and server extras by @suchintan in #5923
- Add cached script deploy dry-run primitives by @pedrohsdb in #6012
- Add cached script deploy commit mode by @pedrohsdb in #6013
- feat(SKY-9576): add ActionCardCompact component by @celalzamanoglu in #6014
- SKY-9863: Reintroduce download signal monitoring by @andrewneilson in #6015
- feat(SKY-9577): swap WorkflowRunTimelineBlockItem to ActionCardCompact behind flag by @celalzamanoglu in #6016
- fix(SKY-9871): drop blank late download artifacts by @AronPerez in #6017
- Harden cached script deploy cleanup by @pedrohsdb in #6018
- Add XHR.dev proxy by @wintonzheng in #6019
- chore: demote noisy high-volume logs to debug by @wintonzheng in #6024
- Update 2FA docs to reference workflows by @suchintan in #6010
- SKY-9933 Avoid repeated credential clarification loop by @andrewneilson in #6027
- chore: demote WebSocket streaming lifecycle logs to debug (SKY-9945) by @LawyZheng in #6029
- chore: replace script_mode print() with LOG.debug to cut log volume (SKY-9945) by @LawyZheng in #6030
- chore: demote LLM experiment config log to debug (SKY-9945) by @LawyZheng in #6031
- chore: demote mouse movement logs to debug (SKY-9945) by @LawyZheng in #6033
- fix(scripts): propagate workflow_scripts.is_pinned from cache_key lookup by @pedrohsdb in #6034
- fix(scraper): use networkidle settle for Auth0 form_post redirect recovery (SKY-9470) by @LawyZheng in #6035
- fix(copilot): type ResponseScaffoldingNormalization.response_type as ResponseType + sync OSS mypy overrides by @wintonzheng in #6041
- fix(frontend): restore GitHub star count in header (SKY-9868) by @celalzamanoglu in #6042
- feat(SKY-9867): guided Create-a-Browser-Profile flow by @celalzamanoglu in #6043
- log: drop log_level= from uvicorn.run() so ws spam stays silenced by @wintonzheng in #6046
- fix: cascade child tasks and prevent workflow_run resurrection on cleanup-cron timeout by @marcmuon in #6047
- fix(copilot): name where Credentials UI lives in clarification text (SKY-9934) by @andrewneilson in #6048
- fix(SKY-9930): copilot classifier infers credential intent from URL shape by @andrewneilson in #6049
- Revert "feat: add total_cost to runs response endpoint" by @AronPerez in #6050
- chore: remove ENABLE_PARSE_SELECT_IN_EXTRACT feature flag by @wintonzheng in #6051
- Add repo-root skills/ mirror for Codex Marketplace + auto-sync to OSS by @marcmuon in #6052
- fix(SKY-9785): use compact JSON serialization for file parser LLM prompt by @LawyZheng in #6053
- fix(SKY-9802): capture XHR inline file downloads during download actions by @LawyZheng in #6054
- fix: scope custom-select prompt to new-element subtrees (SKY-9948) by @LawyZheng in #6055
- Skip speculative extract-actions in script_mode workflows by @pedrohsdb in #6057
- fix(SKY-9962): recover conditional block when LLM returns extra placeholder evaluations by @trevor-cheung in #6058
- feat(SKY-9326): caching benchmark + copilot evals share one Logfire surface by @andrewneilson in #6059
- feat: default new workflows to run_with="agent" by @pedrohsdb in #6060
- fix(SKY-9929): feasibility-gate proceeds on diagnostic input over existing workflow by @andrewneilson in #6061
- [oncall] Retry workflow webhooks after infra failures by @marcmuon in #6062
- feat: add curl-based Skyvern server installer by @marcmuon in #5804
- SKY-9975 Add TurnIntent shadow contract by @andrewneilson in #6063
- SKY-9976 Add mode-aware turn context assembler by @andrewneilson in #6064
- fix: map ai_click operational failures to 422 on /v1/sdk/run_action by @AronPerez in #6065
- Improve local browser streaming devex by @suchintan in #6026
- feat(workflow): ValidationBlock data_extraction_goal/data_schema frontend by @AronPerez in #6067
- fix(SKY-9982): route missing trigger type through flex gate by @pedrohsdb in #6068
- [oncall] Fix inline add inside nested conditional loops by @marcmuon in #6069
- SKY-9980 Add diagnosis repair contract shadow logging by @andrewneilson in #6070
- SKY-9977 add turn intent classifier eval by @andrewneilson in #6071
- feat(workflow): expose data_extraction_goal and data_schema on ValidationBlock backend by @AronPerez in #6066
- Revert "feat(workflow): ValidationBlock data_extraction_goal/data_schema frontend" by @AronPerez in #6072
- SKY-9947 track copilot output policy diagnostics by @andrewneilson in #6073
- fix(SKY-9803): inject tab context into extract-action prompt for safe CLOSE_PAGE by @LawyZheng in #6074
- feat(SKY-9672): detect archived artifacts and surface archive status to frontend by @LawyZheng in #6075
- SKY-9978 Gate no-mutation TurnIntent tools by @andrewneilson in #6076
- SKY-9979 Gate Copilot side effects with TurnIntent by @andrewneilson in #6077
- fix(SKY-9974): capture popup page recordings via context-level listener by @LawyZheng in #6078
- fix(SKY-9785): make finish_reason=length trigger LLM router fallback by @LawyZheng in #6079
- [oncall] Capture transient download error popups by @marcmuon in #6080
- fix(SKY-9965): redact refused raw-credential turns from copilot transcript context by @andrewneilson in #6081
- [Oncall] Preserve PDF suffix for slash-date invoice downloads by @marcmuon in #6082
- fix: block Liferay favicon redirect that strands login flow by @AronPerez in #6083
- fix(SKY-9965): verify raw-secret claims with cited evidence by @andrewneilson in #6087
- Update changelog - Apr 27 through May 20, 2026 by @wintonzheng in #6088
- fix: strip NUL bytes from JSON columns before persisting by @wintonzheng in #6091
- fix(SKY-9402): preserve class and readable pseudo-text for icon-only navigation elements by @LawyZheng in #6092
- SKY-9927 Carry docs intent across bare confirmations in TurnIntent by @andrewneilson in #6093
- fix(SKY-9935): decouple WIP-rescue force-review from unvalidated proposal flag by @andrewneilson in #6094
- feat(SKY-9938): typed workflow-change section in copilot turn context by @andrewneilson in #6095
- fix(copilot): catch block YAML leaked into chat reply (SKY-9925) by @andrewneilson in #6096
- SKY-9926: reject credential ID baked into block prose in Workflow Copilot by @andrewneilson in #6097
- fix(SKY-9857): prompt token bloat — hard ceiling enforcement + data_extraction_goal cap by @trevor-cheung in #6098
- revert: drop pool_timeout/pool_recycle and roll DB pool sizes back to pre-#10903 by @wintonzheng in #6099
- [Oncall] Disable content blockers for credentialed auth launches by @marcmuon in #6102
- fix(SKY-10141): preserve copilot browser session context by @andrewneilson in #6103
- SKY-10140 Name Copilot parameters by domain intent by @andrewneilson in #6104
- SKY-10138: stop Copilot on unrecoverable browser-session errors by @andrewneilson in #6106
- fix(SKY-10139): preserve proposals on output-policy blocks by @andrewneilson in #6107
- [Oncall] Deprecate public workflow run total_cost by @marcmuon in #6108
- skyvern-cli: clarify skill guidance on workflow-level session toggles by @marcmuon in #6111
- fix(SKY-10137): annotate _workflow_with_runtime_block_goal_context's ctx as CopilotContext by @celalzamanoglu in #6115
- fix(frontend): re-sync React Flow nodes when comparison colors change by @AronPerez in #6116
- Re-introduce cdp_connect_headers (#11067) with NOWAIT migration (#11198) by @andrewneilson in #6117
- [CLI] Add non-interactive quickstart setup by @suchintan in #6025
- Add cindehaa and cursor to sync PR auto-merge allowlist by @cindehaa in #6090
- perf(agent): prefetch data-extraction-summary before scrape (SKY-8393) by @cindehaa in #6110
- perf(agent): reuse SkyvernFrame for post-action HTML artifact (SKY-8393) by @cindehaa in #6089
- perf(agent): fire-and-forget post-action artifact recording (SKY-8393) by @cindehaa in #6109
- dev: restore agent profiling and benchmark scripts (SKY-8393) by @cindehaa in #6086
- perf(agent): reduce scrape wait time and parallelize CSS conversion (SKY-8393) by @cindehaa in #6085
- perf(agent): parallelize scrape artifact persistence (SKY-8393) by @cindehaa in #6101
- fix(SKY-9917): use bounded lock wait for cdp migration by @andrewneilson in #6122
- fix(SKY-9917): align browser state cdp header protocol by @andrewneilson in #6123
- feat(experiment): add CHECK_USER_GOAL_LLM_NAME to A/B check-user-goal independently by @pedrohsdb in #6130
- feat: show credits consumed per run on workflow run pages (#SKY-8320) by @AronPerez in #6133
- feat: support BROWSER_REMOTE_DEBUGGING_CONNECT_HEADERS for default CDP auth headers by @andrewneilson in #6134
- feat(tagging): Phase 1 schema + types (SKY-10100) by @trevor-cheung in #6135
- fix(artifact): show real filename on workflow run download links by @wintonzheng in #6137
- SKY-10201: Treat MCP calls like frontend calls by @cindehaa in #6138
- fix(SKY-10295): scope Copilot credential authority by @andrewneilson in #6140
- SKY-10124: Make Copilot unexpected errors recoverable by @andrewneilson in #6143
- SKY-10307: Surface Copilot missing-context fallback by @andrewneilson in #6144
- SKY-10130 (1/3): add nullable TurnOutcome JSON column + schema plumbing by @andrewneilson in #6147
- Add Yutori Navigator as a CUA engine by @lawrencechen98 in #5513
- refactor(SKY-10065): remove legacy copilot proposal flags by @andrewneilson in #6148
- SKY-10130 (2/3): populate TurnOutcome on every AgentResult + typed user-non-progress signal by @andrewneilson in #6149
- fix(SKY-10191): allow selecting credential when editing a parameter by @trevor-cheung in #6155
- fix(SKY-10192): clarify credential variable in selector UI by @trevor-cheung in #6156
- fix(SKY-10198): keep save button visible when adding credential parameter by @trevor-cheung in #6157
- revert: light mode v2 token system + hardcode sweep (#10910) by @AronPerez in #6163
- Add packaged UI pip install flow by @suchintan in #6159
- fix(SKY-10327): detect PDF embeds in multi-frame pages by @LawyZheng in #6164
- fix(SKY-9402): always include native form inputs inside shadow DOM in visibility check by @LawyZheng in #6165
- feat(SKY-9959): support double-click in element-based click action by @LawyZheng in #6166
- docs: remove billing endpoints from public API reference by @wintonzheng in #6168
- fix(SKY-10152): gate persistent profile write-back on run success by @LawyZheng in #6169
- SKY-10130 (3/3): detect identical-reply loops + hard rewrite by @andrewneilson in #6161
- fix(test): mock useSelectedCredentialTotpIdentifier in NavigationEditor test by @trevor-cheung in #6175
- fix(SKY-10339): cap flex execution before fallback by @pedrohsdb in #6174
- copilot: split run-context read authority from mutation gates (SKY-10313) by @andrewneilson in #6176
- SKY-10335: copilot BuildPhase machine + AgentResult writeback factory by @andrewneilson in #6177
- feat: hook local debugger to the cdp-connect remote browser by @andrewneilson in #6179
- fix: clarify workflow run queue setting by @cindehaa in #6180
- feat(SKY-10211): gate code-mode dispatch on CACHING_ROLLOUT flag by @pedrohsdb in #6181
- SKY-10322: skip flex LLM router on UI-triggered runs by @wintonzheng in #6183
- v3 reviewer 3/3: wire mint-audit + post-run dispatch + mid-run hooks (SKY-7676) by @pedrohsdb in #6184
- fix: point GEMINI_3.1_FLASH_LITE at GA model, not retired preview by @wintonzheng in #6185
- fix(SKY-10317): classify blank-workflow browser-task copilot turns as build by @andrewneilson in #6186
- copilot: structured tool-blocker signal contract + lifecycle (SKY-10314 1/2) by @andrewneilson in #6187
- Document v3 reviewer architecture and boundary by @pedrohsdb in #6188
- copilot: deterministic blocked-turn renderer + finalization shim (SKY-10314 2/2) by @andrewneilson in #6192
- docs: update smoke-test skill with Chrome DevTools MCP and screenshot evidence by @AronPerez in #6193
- fix(SKY-10350): recomposite on accordion-down inside nested block tiles by @AronPerez in #6194
- Add workflow run retry APIs by @suchintan in #6195
- fix(SKY-10352): align control button hit areas with visual bounds by @AronPerez in #6196
- Add LLM vision mode experiment by @cindehaa in #6197
- fix(SKY-9402): add needs_followup + followup_message for deferred upload action history by @LawyZheng in #6198
- perf(SKY-10319): make inter-action delay experiment-controllable by @LawyZheng in #6199
- fix: run registered browser cleanup for VM browser contexts (SKY-10189) by @LawyZheng in #6200
- [codex] Add workflow runtime limit backend by @suchintan in #6201
- feat(tagging): TagsRepository + AgentDB wiring + caller-context auth dep (SKY-10101) by @trevor-cheung in #6205
- SKY-10142: stream turn narrative envelope events (BE, 1/2) by @andrewneilson in #6204
- fix(frontend): port vitest.setup.ts + wire setupFiles config by @trevor-cheung in #6207
- Revert validated proxy session pool by @wintonzheng in #6206
- chore: remove references by @wintonzheng in #6210
- [SKY-10263] Redesign sidebar navigation by @suchintan in #6211
- feat(SKY-9506): add selector + ai_fallback fields to Action Block schema by @trevor-cheung in #6212
- chore(frontend): bump prettier-plugin-tailwindcss to ^0.8.0 by @wintonzheng in #6217
- SKY-6729: Add llm_cost, proxy_cost, captcha_cost columns to task_runs by @wintonzheng in #6219
- chore(frontend): add cta color and collapsible animations to tailwind config by @andrewneilson in #6222
- docs: fix loop value reference in build-a-workflow tutorial by @wintonzheng in #6216
- feat(SKY-9956): show in-progress placeholder row while saving browser profile by @celalzamanoglu in #6215
- feat(SKY-9840): add enterprise summary cache warmer by @AronPerez in #6213
- feat(SKY-10066): split workflow run page into compact timeline + detail panel by @celalzamanoglu in #6214
- Update API specifications with fern api update by @wintonzheng in #6209
- chore(frontend): align tailwind config shape for clean cross-repo sync by @wintonzheng in #6227
- fix(SKY-10452): pre-create browser with block URL in script mode for proxy selection by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/6228
- feat(SKY-10222): show N/M block completion and unexecuted blocks on run UI by @trevor-cheung in https://github.com/Skyvern-AI/skyvern/pull/6230
- SKY-10142: render turn narrative bubble (FE, 2/2) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6231
- fix(SKY-10457): stop block-body clip from cutting focused input rings by @trevor-cheung in https://github.com/Skyvern-AI/skyvern/pull/6232
- SKY-10346: Add page evidence parser contract (PR 1/12) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6233
- SKY-10346: Wire MCP page inspection tool (PR 2/12) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6234
- SKY-10346: Harden page evidence boundaries (PR 3/12) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6235
- fix: use solid open session pill styling by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/6237
- fix(SKY-10405): update n8n integration logo by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/6239
- fix: truncate loop_over_value in for-loop iteration log by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/6240
- fix(SKY-10351): flatten 3D context on Flippable face containers by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/6241
- SKY-10346: Normalize repository datetimes (PR 6/12) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6242
- Revert "fix: run registered browser cleanup for VM browser contexts (SKY-10189)" by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/6244
- fix(SKY-10347): resolve embedded multi-placeholder secrets in workflow credentials by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/6245
- [Streaming] Support local VNC browser sessions by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/6225
- Add browser controls to CDP streams by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/6229
- [codex] Add workflow runtime limit frontend by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/6248
- security: fix 5 npm vulnerabilities in skyvern-frontend (protobufjs, qs) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/6243
- [SKY-10102] Phase 3: Tag CRUD + history + tag-keys + batch endpoints by @trevor-cheung in https://github.com/Skyvern-AI/skyvern/pull/6251
- chore: enable ruff B009/B010 and add Any typing guideline by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6253
- SKY-10346: Enforce inspect-before-compose (PR 4/12) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6254
- fix(SKY-10453): handle nullable download field in action parsing by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/6255
- SKY-10346: Replace goto-url heuristics with page evidence policy (PR 5/12) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6256
- SKY-10318/10142: stage workflow proposals + persist turn-narrative bubble across reloads (BE, 1/2) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6257
- SKY-10346: Guard stale browser session reuse (PR 7/12) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6258
- SKY-10346: Preserve continuation blocker signals (PR 8/12) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6259
- SKY-10346: Plan runtime frontiers from page evidence (PR 9/12) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6261
- SKY-10346: Preserve runtime frontier browser state (PR 10/12) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6262
- SKY-10346: Finalize from post-run page evidence (PR 11/12) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6263
- Replace non-vision blob with enrich_tree experiment by @cindehaa in https://github.com/Skyvern-AI/skyvern/pull/6266
- SKY-10346: Render terminal anti-bot blockers (PR 12/12) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6267
- SKY-10143: keep the copilot chat live during the in-turn test (queue + cancel) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6268
- feat(SKY-10559): reveal collapsed sidebar flyout on hover by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/6270
- SKY-10346: Track runtime verification evidence (PR 13/13) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/6269
- Update API specifications with fern api update by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/6265
- Fix browser session UI not updating after create by @cindehaa in https://github.com/Skyvern-AI/skyvern/pull/6272
- SKY-10560: route TOTP verification requests through NAT egress proxy by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/6274
- Bump version to 1.0.37 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/6208
New Contributors
- @trevor-cheung made their first contribution in #5946
- @lawrencechen98 made their first contribution in #5513
Full Changelog: v1.0.36...v1.0.37