| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-07-16 | 54.5 kB | |
| Release v1.0.47 source code.tar.gz | 2026-07-16 | 493.4 MB | |
| Release v1.0.47 source code.zip | 2026-07-16 | 496.1 MB | |
| Totals: 3 Items | 989.5 MB | 1 | |
What's Changed
Version bumped from 1.0.46 to 1.0.47
Recent Changes
- Gate artifact URL re-minting to Skyvern signed content URLs (#7499) (8ed3be1b3)
- Refuse Copilot drafts whose entire output contract is a null blocker (SKY-12539) (#7497) (3fcac5d83)
- chore(deps): bump mcp to 1.28.1 to fix 3 high-severity Dependabot alerts (#7496) (14439528f)
- Bump version to 1.0.47 (#7481) (9fc0b2aee)
- feat(SKY-12446): search run timeline blocks by label and jump to match (#7495) (0c767adbd)
- feat: workflows-list reliability badge (self-heal UX Phase 1b) (#7494) (77ad799ef)
- Surface workflow self-heal reliability (panel + run-page uplink) (#7493) (409b2577a)
- SKY-12544: mint post-run gradeable criteria for page-produced confirmation tokens (#7492) (c6ecf3364)
- fix: harden SSRF validation for resolved hosts (#7491) (4c4d68360)
- Log a structured outcome event for every custom-select opportunity (observation-only) (#7490) (63411e2ad)
- Batch endpoint for workflow self-heal reliability (#7489) (78b620b72)
- feat(SKY-12098): tell coding agents when a workflow carries skill instructions (#7487) (850a99e50)
- Exclude orgs under 90 days old from Gemini flex LLM routing (#7486) (78616952b)
- Stop copying the chrome profile template on CDP-connect paths and sweep stale temp artifacts (#7485) (ae23a3601)
- Refresh static artifact URLs on demand: screenshots, viewers, download links (#7484) (a551a5236)
- Verify checkbox toggles instead of navigating in chain_click label/coordinate fallbacks (SKY-12543) (#7483) (119843855)
- Fix LLM router fallback-succeeded log firing on every flex-tier request (#7482) (a45e51726)
- fix(SKY-12383): commit invalid combobox selection after typing surfaces its options (#7480) (ac8d6583c)
- fix(SKY-12384): gate copilot action cards during history load + keep queued prompt visible (#7477) (4c27597dc)
- feat(SKY-12397): tell coding agents when a workflow already has reusable code (#7479) (ec61e687b)
- Add PII-safe lineage telemetry for download filename naming (SKY-12516) (#7478) (c55be07dc)
- [SKY-12007] S2: structural page-vs-frame predicate + browser-object identity AST guard (#7476) (230b1e6a7)
- [SKY-12007] Scope CDP http(s) redaction to CDP context-creation errors (#7475) (9a69fd9d6)
- refactor(SKY-12367): boot the screenshot streaming worker with a minimal app runtime (#7378) (9baa00514)
- Recover phone numbers rewritten by country-aware fields (#7474) (d6c3f6caa)
- Show all block prompts under Agent inputs in the Workflow Studio run view (#7473) (dcf09499e)
- Searchable credential picker in the workflow builder (uncap the 100-credential dropdown) (#7472) (8dbb2e500)
- fix(downloads): recover missing file extension by sniffing content (#7470) (ee411c98c)
- [SKY-12007] Add engine-neutral browser error taxonomy (#7468) (6b0b4fdc7)
- security: resolve all open Dependabot alerts across JS/TS lockfiles (SKY-12556) (#7467) (2dfe579ac)
- fix(SKY-12342): recognize commit-only copilot reach (#7466) (eb7c2ff41)
- Stop deterministic normal-select from falling back to the LLM on false negatives (#7464) (eb6f4aa47)
- feat(SKY-12054): harness engine swap — copilot scout-loop recovery behind enable_self_healing (#7462) (b96e444a4)
- fix: keep MCP-generated Playwright snippets valid when instruction text has quotes (#7460) (20abee573)
- Mint short-lived artifact URLs on demand for recording playback (#7459) (8c81c758a)
- fix(SKY-12218): drop the pinned revision hash from the self-heal ancestors assertion (#7458) (cb8ac5762)
- fix(SKY-12474): open Copilot pane on Discover → Studio handoff (#7457) (0ef393a2b)
- Self-discard artifact upload tasks and stop resurrecting the execution-channel driver (#7456) (457eb4f34)
- SKY-12163: Preserve Copilot completion checks when workflows are saved (#7455) (88fa07c13)
- feat(SKY-11944): skyvern_select_option works on custom dropdowns and autocomplete, not just native <select> (#7454) (7021e7792)
- SKY-12163: Don’t guess exact output requirements (#7451) (40cf6c989)
- feat: add action history option to login blocks (#7453) (5696c9166)
- fix: isolate untrusted webpage data in agent prompts (#7452) (ede6a5aa9)
- fix(SKY-12441): default studio layout mirrors legacy edit/run views (#7426) (ac407cbdd)
- Detect CodeBlock secure-runner downgrades, record execution locus, fix task_proxy_usage grants, remap S3 CSI log severities (#7434) (6a3daf7c6)
- SKY-12163 (part 2) Stabilize typed request-slot contracts (#7448) (a0702c323)
- Revert the overlay-blocked click change (#13377) to restore the coordinate-click fallback (#7425) (2687aaf4d)
- fix(SKY-12218): stop pinning the alembic head hash in the self-heal schema test (#7445) (a52d1d573)
- Sync OpenAPI reference from production (#7427) (e102b6fdc)
- feat(SKY-11971): condense narrator chatter and retries in the copilot build stream (#7420) (553a423e2)
- fix(SKY-12453): reserved system tags read-only + Labels page search and creation (#7446) (75b4a5486)
- Lead repeatable agent scheduling with a date/time picker flow (#7443) (cad7fc45b)
- security: add ignore-scripts .npmrc to skyvern-ts/client (supply-chain alert) (#7400) (8e0a1124c)
- fix(pbs): reclaim worker-local browser state when the shared session row is closed by another process (#7440) (98633da4f)
- fix(SKY-12401): make large workflows readable and safely editable through MCP (#7431) (e9c9ceb40)
- fix(SKY-12081): author-time reject for unresolvable freehand copilot selectors + idempotent login (#7419) (d438273d1)
- feat(SKY-12215): self-heal reliability aggregation service (runs × episodes) (#7415) (edfe565fa)
- feat(SKY-12217): heal-episodes read API + query index + dedupe semantics (#7414) (4e87f3f03)
- Cap and dedupe parsed run-tag filter terms (SKY-12327 follow-up) (#7413) (4d73df916)
- Surface run-level tags: chips + filter on run lists, and analytics picker keys (#7412) (765f0244f)
- Authenticate the download urllib fallback and reject HTML login pages saved as binary files (#7411) (a10656afd)
- feat(SKY-12216): heal-content sanitizer for code/error UI surfaces (#7410) (fb086ae2a)
- Jump the studio editor to a workflow block when its timeline item is clicked (#7409) (70e293955)
- Add light-mode support to the new workflows UI (#7408) (05a536259)
- Surface Odysseys MCP benchmark runs on the eval dashboard (#7407) (5c62f123e)
- fix(captcha): deliver equation screenshot to arithmetic solver in no-images mode (SKY-11671) (#7406) (5b6bceac9)
- security: bump json-repair to 0.60.1 (HIGH DoS [#557]) (#7405) (e17140d6f)
- security: clear internal-tooling npm/pip Dependabot alerts (dashboard/support-agent/mcpb/reverse-proxy/fathom) (#7404) (373778ecc)
- fix(runs-history): guard sub-3-char search + render load-error state (#7401) (52fbfeb68)
- Update API specifications with fern api update (#7389) (41d7feea8)
- security: bump skyvern-frontend transitive deps (dompurify/react-router/protobufjs/js-yaml/otel) (#7387) (ed676ecbc)
- Copilot: grounded parameterized-selection so persisted code reads a click-embedded input (SKY-12316, partial) (#7397) (1ea96ebca)
- fix(SKY-12367): release recording exfiltration channel driver and unpin JS asset cache (#7396) (7d3f4bed9)
- fix(SKY-12367): release upload aiotask tracking on every wait exit path (#7394) (af95cb7e1)
- fix(SKY-12367): release the local Playwright driver when browser-context creation fails (#7392) (8c9d0bfe2)
- Chunked resumable Google Drive upload with resume-on-failure (SKY-12394) (#7391) (4c1c50c7b)
- fix(SKY-12378): prefill run inputs when re-running from a viewed run in Studio (#7388) (868a5474b)
- fix(SKY-8804): log cached-block AI fallback at warning not error (#7386) (ad882de99)
- fix(log-noise): downgrade handled cached-script selector miss to warning (#7385) (89091d98e)
- fix(SKY-11934): sanitize remaining MCP ApiError leak paths (#7384) (187f9be98)
- feat(SKY-12404): log which app (Claude, Cursor, Hermes) each MCP session comes from (#7383) (9c53dd897)
- SKY-12368: capture click-to-reveal values into structured copilot page evidence (#7381) (c8e2876ff)
- chore(deps-dev): bump pytest from 7.4.4 to 9.0.3 (#7380) (e4ff5c638)
- security: bump uv.lock deps to clear 8 Dependabot alerts (3 high) (#7379) (c429bb0b0)
- refactor(SKY-11699): extract _finalize_step_execution from ForgeAgent.agent_step (#7376) (64178e208)
- fix(SKY-12332): reconcile the persisted copilot block against the full captured trajectory (#7375) (2dbb46404)
- SKY-11838: Copilot: recognize scouted extraction data by value format, not just page labels (#7374) (e204dc095)
- fix(SKY-12320): render worker foreign-record tracebacks as one structured log entry (#7325) (31fbe623c)
- Support Google Drive uploads over 5 MB via resumable upload (SKY-12374) (#7373) (94d5156f7)
- feat(SKY-12137): queued-warmup bubble footer + Confirm chip for copilot QA turns (#7372) (216713775)
- fix: remove ReDoS ambiguity in PdfFillBlock test regex (code scanning 329) (#7371) (801f6ae05)
- security: restore CodeQL-modeled path-containment sanitizer in download_file (#7218) (9cc3f13ca)
- security: fix 8 skyvern-ts/client vulnerabilities (vitest critical + 7 high) (#7225) (6e073f04e)
- fix(SKY-12372): make round robin selectable on the run credential rotation page (#7363) (4ef3f1ea7)
- refactor(SKY-11708): extract conditional-episode and cache-tracking phases from _execute_single_block (#7361) (ef10e62c5)
- feat(SKY-12138): pause copilot BUILD turns on a mid-loop credential ask (#7360) (114441f4e)
- fix(SKY-11971): reclassify precondition redirects out of the error stream (#7359) (1507e2801)
- fix(SKY-12194): humanize block display names in copilot chat (#7358) (8051b358f)
- feat(SKY-12136): opt-in keep_pending_proposal survives no-op turns (#7357) (2de89ba3d)
- fix(home): thread Generate Script + Data Schema through the prompt box, pill/empty-state UX (#7356) (cf13ed2f0)
- SKY-12357: Make Workflow Copilot loop guard argument-aware so multi-field builds are not halted as loops (#7355) (6ff4c6b0b)
- refactor(SKY-11707): extract script-attempt and agent-execution phases from _execute_single_block (#7354) (cd3e0d4f6)
- fix(SKY-11690): rewire wait_utils killswitch through app.AGENT_FUNCTION; delete cloud import (#7353) (7792f9e54)
- test(SKY-11696): characterization tests for agent_step (pin 12 uncovered behaviors) (#7352) (0a03e62ad)
- fix(SKY-11851): treat missing S3 object as terminal not-found on download (#7350) (3ab876188)
- SKY-12339: code-first authoring producer reads per-column tables (TABLE_COLUMN) into keyed returns via the shared reader (#7349) (809dfe2b2)
- fix(SKY-12341): stop masking OTP-extraction backend failures as client 400s (#7348) (2a9d56753)
- fix(SKY-11962): suppress orphaned patchright TargetClosedError future noise (#7344) (23456a564)
- test(SKY-11712): pin router/non-router LLM handler parity (characterization gate) (#7342) (4eeb456e8)
- test(SKY-11705): characterization tests for _execute_single_block (pin phase seams) (#7343) (15596470e)
- refactor(SKY-11694): move EventSourceStream SSE transport routes/ → core/ (#7340) (78833b939)
- fix(SKY-12272): normalize leaked code-block recorder proxies to JSON-safe output (#7339) (bfa98fef7)
- test(SKY-11692): guard against in-package test files (both pytest conventions) (#7338) (8e7bbd400)
- refactor(SKY-11693): move copilot workflow-YAML processing out of routes into copilot/ (#7337) (32f005cfa)
- refactor(SKY-11695): make enforcement→streaming_adapter a one-way module-level dependency (#7335) (f9dd84d29)
- fix(SKY-11618): drive native <select> via select_option under unrelated overlays (#7334) (ea8057d6e)
- Clarify MCP tool descriptions to fix wrong-tool routing errors (#7333) (8bacea6ec)
- fix(SKY-12131): batch workflow-run parameter definition lookups to remove sequential queries (#7330) (dfca4ca98)
- Sync OpenAPI reference from production (#7329) (ba1d44823)
- ci: restore all-files pre-commit checks on pull requests (#7328) (9e0221f58)
- feat(SKY-12255): persist per-run topup credits consumed on workflow_runs (#7321) (4a9aaa6df)
- Cap LiteLLM Redis connection pools (#SKY-12319) (#7320) (a0a832479)
- GCP A2A Agent (#7319) (b10e164d8)
- SKY-12000 Copilot: give each turn a single decision-owner so conflicting checks can't drop work (#7318) (0550b7959)
- feat(SKY-12303): decouple spine imposition from first authoring call; gate landing on download-reached (#7316) (d2edf46b2)
- fix(SKY-11952): force-persist waits for the full credential flow before grading a login goal-complete (#7315) (dcdf769ab)
- fix(SKY-12307): make the copilot repair-ceiling streak progress-gated (#7314) (9d8d3a090)
- fix(SKY-12301): stop a never-fired conditional check from failing a completed workflow (#7313) (19a732d82)
- feat(SKY-12181): verify Copilot outputs the page confirms, instead of always hedging (dormant until SKY-12306) (#7312) (4ad169f64)
- SKY-12156: compile grounded Copilot output extraction recipes (#7310) (9793647db)
- fix(SKY-12271): Email Inbox review follow-ups (#7309) (448f06903)
- fix(SKY-12164): repair incomplete workflow outputs on first validation (#7308) (417cac70d)
- feat(SKY-12253): add run_type filter to runs list (BE param + FE facet) (#7307) (a4c74f68d)
- fix(SKY-12269): return 422 not 500 for malformed update_workflow body (#7306) (3dfd788fb)
- fix(SKY-12173): import bundled multi-workflow YAML/JSON exports (#7305) (f04121ba2)
- test(SKY-12248): unbreak main — make file-upload log assertion order-independent (#7304) (9ceee3272)
- feat(SKY-12068): add Email Inbox workflow block (Gmail + Outlook) (#7303) (20845c8f1)
- feat(SKY-11553): allow-by-default Playwright facade for secure CodeBlock runner (#7302) (61d0bb15b)
- feat(SKY-12199): add an optional prompt to the file upload (Cloud Storage) block to control which files are uploaded (#7301) (90520906a)
- fix(SKY-12252): restore skyvern.platform tag when first-block URL is unresolved (#7300) (81a8b0847)
- feat(SKY-12254): completion-time system tags (status, execution mode, failure category) (#7299) (f0ac794f2)
- feat: add create-time run provenance tags (SKY-12252) (#7298) (aad031759)
- feat(SKY-12179): stage workflow_run_tag_events + source docs (#7297) (620294294)
- feat(SKY-12251): expand skyvern.platform tagging via cloud-only detector (cache key unchanged) (#7296) (52fc6f969)
- fix(SKY-11571): repair main CI — add resolve_feature_enabled_unrecorded to 4 missed provider fakes (#7295) (42484b20f)
- fix(SKY-11718): require affirmative NANP evidence for bare-digit tel fill + success-path logging (#7292) (05d0053f9)
- fix(SKY-12202): correct block-run terminal copy and turn-overlap dedup (#7291) (5b9ff64d8)
- feat(SKY-11970): add phased progress model to the copilot build (#7290) (d6936866b)
- feat(SKY-12134): bind Google OAuth credentials to their OAuth client config (#7288) (6e384633b)
- fix(SKY-11933): harden custom-select is_choice_input classification (#7287) (b72395646)
- fix(SKY-11946, SKY-11945): compute select shadow agreement by normalized committed value (#7286) (96d070896)
- feat(SKY-11953): observe omits input values by default; passwords never emitted (#7285) (f25f0b97a)
- fix(SKY-12182): keep every workflow step the copilot performed, and log why a step is rejected (#7284) (2e5aa4920)
- feat(SKY-12026): open-source Google integrations + org-level OAuth client config (#7283) (1e0afae8a)
- test(SKY-12171): eliminate measured slow-test hotspots (adversarially reviewed) (#7282) (081ad6adb)
- feat(submission): shadow-mode deterministic submission signal behind default-off flag (SKY-12162) (#7281) (31e6bdacd)
- feat(SKY-12187): stream real codegen progress while copilot writes code (#7277) (4961777eb)
- feat(SKY-12155): thread contingent antecedent path into author-time output contract + mint-time invariant (#7276) (77db77a5a)
- fix(SKY-12196): stop gating block-status polling on the narration LLM floor (#7275) (407f1ce5f)
- feat(SKY-12139): add isolated copilot credential card component (#7274) (eefba9c90)
- feat(SKY-12136): g2 unified review gate behind copilot_ux_v1 (#7273) (8d6080800)
- feat(SKY-12180): register GPT-5.6 sol/terra/luna model + flex-fallback router keys (#7272) (fd9c1eb07)
- fix(SKY-11300): require a typed challenge-evidence carrier to assert any anti-bot category (#7271) (d18286807)
- feat(SKY-12190): make timeline/block-detail split vertically resizable (#7270) (d79f9109d)
- feat(SKY-12191): add new-output indicator to the studio Outputs toggle (#7269) (1b0c2a4b3)
- feat(SKY-12135): add SFTP target to the file upload (Cloud Storage) block (#7268) (702d1095e)
- fix(settings): org update form + schema (#7267) (aa60b3a14)
- fix(SKY-11720): read back auto-formatting card-number inputs and re-enter atomically on mismatch (#7264) (7b2a1cc50)
- fix(SKY-11720): mock supports_text_input in tel/card routing test (unblocks main) (#7266) (d0228f6c1)
- test(SKY-12085): prove dispatched terminal-page capture reaches judgment verdicts (#7263) (552813f8d)
- perf(SKY-12171): eliminate measured slow-test hotspots (#7262) (160f28dc7)
- fix(SKY-12062): return 422 for send_email block with undeclared smtp params (#7260) (e2600be5f)
- feat(SKY-12071): add Split PDF workflow block (#7258) (df20379e5)
- fix(SKY-12158): reserve lightning bolt for cached runs on /runs (#7257) (36703cb18)
- perf(SKY-12165): thread app_url through SkyvernBrowser, drop extra get_browser_session call (#7256) (e8e3448a9)
- fix(SKY-12102): key copilot code-block synthesis on captured control-state (#7254) (0b0fce76e)
- feat(llm): CONTENT_FILTER_RESCUE_LLM_NAME flag picks the content-filter rescue model (SKY-11766) (#7253) (24863e850)
- test: make embedded E2E tests opt-in via SKYVERN_EMBEDDED_E2E (#7252) (ad1b50cf5)
- feat(SKY-12100): lead session MCP results with app_url + recording_url (#7251) (806977ece)
- fix(SKY-12101): persist observe refs per browser session for cross-call execute (#7250) (962acb3cd)
- feat(SKY-11672): schema-first storage for heal episodes and heal proposals (#7249) (4d2aeda08)
- feat(SKY-12053): path-neutral heal chokepoint for both code-block engines (#7248) (38b178f22)
- fix(SKY-12069): fail closed when zero requested-output criteria grade the deliverable (#7247) (9b18e40d4)
- feat(SKY-11677): navigate dead-nav self-heal seats to the authored goto target (#7246) (0ee505b24)
- feat(SKY-11673): browser-adoption seam for runtime self-heal turns (#7245) (295d1935f)
- fix(SKY-12073): make the copilot repair ceiling reachable after a failed run (#7244) (f2acc9293)
- fix(SKY-11539): resolve exactly-named org credential regardless of classifier status/kind (#7243) (c269e36c1)
- fix(SKY-12019): guard clear/fill from iframe targets (#7242) (55709c945)
- feat(SKY-11859): reach positive page-evidence carrier on dispatched/STANDARD copilot runs (#7241) (9e49dff96)
- fix(workflow-editor): wait/code block fields, breakout button, last-run values (#7239) (f09632c51)
- SKY-12058: Distinguish MCP trigger type (#7236) (95e57cf43)
- fix(schedules): preserve paused state on edit, stricter cron validation, schedule UX (#7235) (b4e6c8f1c)
- feat(SKY-11973): copilot narrates studio runs happening next to it (#7233) (e9ef9529c)
- feat(SKY-11339): progressive action reveal for copilot verify cards (#7232) (3aaffb667)
- refactor(SKY-11967): remove internal run-viewing toggle + orphaned compact action list (#7231) (59fd1982d)
- chore: remove deprecated LangChain and LlamaIndex integrations (#7095) (e174afd63)
- security: fix cryptography HIGH vulnerability in integrations/llama_index (#6935) (edf38e68f)
- fix(SKY-11996): restore copilot actuation-obligation feature reverted by [#13210] (#7230) (bf3624d78)
- security: restore jupyter-server >=2.20.0 and msgpack >=1.2.1 (regressed by SKY-12044) (#7229) (d79359d55)
- security: fix vite HIGH-severity fs.deny bypass (alert [#720]) (#6772) (7b4dd7e7c)
- security: bump form-data to 4.0.6 in skyvern-frontend (#6912) (7120df409)
- security: pin undici to ^7.28.0 in skyvern-frontend (fixes 2 HIGH alerts) (#6958) (97da02c14)
- SKY-12070 mint requested-output criteria for quoted fields (#7227) (65d28b166)
- fix(SKY-12044): resolve in-process page.extract() via SkyvernPage recorder wrapper (#7226) (33ee848e0)
- security: bump jupyter-server >=2.20.0 and msgpack >=1.2.1 (#6910) (3e260f21b)
- feat(SKY-11897): typed judgment-evidence grounding — confirm/refute/abstain from independent packet (#7224) (6a5226d19)
- fix(SKY-11958): fail closed on ambiguous output-contract owner resolution (#7223) (bb7fe7158)
- fix(SKY-10708): thread loop value into cached-block agent fallback payload (#7221) (8b78d8e8f)
- SKY-11940 MCP browser tool schemas: selector/ref leads, intent is the explicit AI fallback (#7220) (633b65d33)
- fix(SKY-12078): restore run-level editable credential input for single-credential login blocks (#7219) (26f73ec04)
- [NO-TICKET] Delete tmp directory (#7217) (7681a7cd2)
- fix(SKY-11623): preserve /discover prompt in Copilot handoff (#7216) (ac7ffaf6e)
- SKY-11911 scout fill carry rebind (#7215) (d72b6a1ba)
- SKY-11950 typed degraded completion terminal (#7214) (400fd43d7)
- docs(mcp): add Claude Desktop bundle release runbook (#7213) (c2038aaaf)
- Fix staging preview CORS allowlist (SKY-12074) (#7212) (ac01aca99)
- fix: log BlockedHost download rejections at warning instead of error (#7211) (265679e9d)
- fix(SKY-12018): classify external download HTTP errors (#7210) (2452bf60e)
- feat(SKY-11909): /analytics console restructure — Phase 1 (v4.2) (#7209) (777e842c3)
- ci(SKY-12002): unbind pytest-shard critical path from two outlier tests (#7208) (337c00259)
- chore(mcpb): rebuild skyvern-claude-desktop.mcpb v1.0.46 (#7207) (f339ff76d)
- Add run tag frontend hooks (#7205) (a3ce97384)
- Fix workflow list query alias (SKY-12016) (#7206) (1eb2e64f0)
- Add workflow run tag event data layer (#7204) (78fa30ed1)
- fix(mcp): route empty-API-key 401s to the Configure dialog instead of OAuth (#7203) (bee2b836c)
- fix(SKY-12021): show user-inputted prompt for file download block (#7202) (323adca6a)
- fix(SKY-11991): expand collapsed loop/conditional ancestors before block jump (#7201) (bff497e2e)
- feat(SKY-11988): add credentialPrompt signal to copilot narrative payload (#7200) (9949fb0de)
Full Changelog: https://github.com/Skyvern-AI/skyvern/compare/v1.0.46...v1.0.47
What's Changed
- feat(SKY-11988): add credentialPrompt signal to copilot narrative payload by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7200
- fix(SKY-11991): expand collapsed loop/conditional ancestors before block jump by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7201
- fix(SKY-12021): show user-inputted prompt for file download block by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7202
- fix(mcp): route empty-API-key 401s to the Configure dialog instead of OAuth by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7203
- Add workflow run tag event data layer by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7204
- Fix workflow list query alias (SKY-12016) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7206
- Add run tag frontend hooks by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7205
- chore(mcpb): rebuild skyvern-claude-desktop.mcpb v1.0.46 by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7207
- ci(SKY-12002): unbind pytest-shard critical path from two outlier tests by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7208
- feat(SKY-11909): /analytics console restructure — Phase 1 (v4.2) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7209
- fix(SKY-12018): classify external download HTTP errors by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7210
- fix: log BlockedHost download rejections at warning instead of error by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7211
- Fix staging preview CORS allowlist (SKY-12074) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7212
- docs(mcp): add Claude Desktop bundle release runbook by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7213
- SKY-11950 typed degraded completion terminal by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7214
- SKY-11911 scout fill carry rebind by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7215
- fix(SKY-11623): preserve /discover prompt in Copilot handoff by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7216
- [NO-TICKET] Delete tmp directory by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7217
- fix(SKY-12078): restore run-level editable credential input for single-credential login blocks by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7219
- SKY-11940 MCP browser tool schemas: selector/ref leads, intent is the explicit AI fallback by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7220
- fix(SKY-10708): thread loop value into cached-block agent fallback payload by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7221
- fix(SKY-11958): fail closed on ambiguous output-contract owner resolution by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7223
- feat(SKY-11897): typed judgment-evidence grounding — confirm/refute/abstain from independent packet by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7224
- security: bump jupyter-server >=2.20.0 and msgpack >=1.2.1 by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/6910
- fix(SKY-12044): resolve in-process page.extract() via SkyvernPage recorder wrapper by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7226
- SKY-12070 mint requested-output criteria for quoted fields by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7227
- security: pin undici to ^7.28.0 in skyvern-frontend (fixes 2 HIGH alerts) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/6958
- security: bump form-data to 4.0.6 in skyvern-frontend by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/6912
- security: fix vite HIGH-severity fs.deny bypass (alert [#720]) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/6772
- security: restore jupyter-server >=2.20.0 and msgpack >=1.2.1 (regressed by SKY-12044) by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7229
- fix(SKY-11996): restore copilot actuation-obligation feature reverted by [#13210] by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7230
- security: fix cryptography HIGH vulnerability in integrations/llama_index by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/6935
- chore: remove deprecated LangChain and LlamaIndex integrations by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7095
- refactor(SKY-11967): remove internal run-viewing toggle + orphaned compact action list by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7231
- feat(SKY-11339): progressive action reveal for copilot verify cards by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7232
- feat(SKY-11973): copilot narrates studio runs happening next to it by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7233
- fix(schedules): preserve paused state on edit, stricter cron validation, schedule UX by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7235
- SKY-12058: Distinguish MCP trigger type by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7236
- fix(workflow-editor): wait/code block fields, breakout button, last-run values by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7239
- feat(SKY-11859): reach positive page-evidence carrier on dispatched/STANDARD copilot runs by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7241
- fix(SKY-12019): guard clear/fill from iframe targets by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7242
- fix(SKY-11539): resolve exactly-named org credential regardless of classifier status/kind by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7243
- fix(SKY-12073): make the copilot repair ceiling reachable after a failed run by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7244
- feat(SKY-11673): browser-adoption seam for runtime self-heal turns by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/7245
- feat(SKY-11677): navigate dead-nav self-heal seats to the authored goto target by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/7246
- fix(SKY-12069): fail closed when zero requested-output criteria grade the deliverable by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7247
- feat(SKY-12053): path-neutral heal chokepoint for both code-block engines by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/7248
- feat(SKY-11672): schema-first storage for heal episodes and heal proposals by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/7249
- fix(SKY-12101): persist observe refs per browser session for cross-call execute by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7250
- feat(SKY-12100): lead session MCP results with app_url + recording_url by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7251
- test: make embedded E2E tests opt-in via SKYVERN_EMBEDDED_E2E by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7252
- feat(llm): CONTENT_FILTER_RESCUE_LLM_NAME flag picks the content-filter rescue model (SKY-11766) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/7253
- fix(SKY-12102): key copilot code-block synthesis on captured control-state by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7254
- perf(SKY-12165): thread app_url through SkyvernBrowser, drop extra get_browser_session call by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7256
- fix(SKY-12158): reserve lightning bolt for cached runs on /runs by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7257
- feat(SKY-12071): add Split PDF workflow block by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7258
- fix(SKY-12062): return 422 for send_email block with undeclared smtp params by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7260
- perf(SKY-12171): eliminate measured slow-test hotspots by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7262
- test(SKY-12085): prove dispatched terminal-page capture reaches judgment verdicts by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7263
- fix(SKY-11720): mock supports_text_input in tel/card routing test (unblocks main) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7266
- fix(SKY-11720): read back auto-formatting card-number inputs and re-enter atomically on mismatch by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/7264
- fix(settings): org update form + schema by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7267
- feat(SKY-12135): add SFTP target to the file upload (Cloud Storage) block by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7268
- feat(SKY-12191): add new-output indicator to the studio Outputs toggle by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7269
- feat(SKY-12190): make timeline/block-detail split vertically resizable by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7270
- fix(SKY-11300): require a typed challenge-evidence carrier to assert any anti-bot category by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7271
- feat(SKY-12180): register GPT-5.6 sol/terra/luna model + flex-fallback router keys by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7272
- feat(SKY-12136): g2 unified review gate behind copilot_ux_v1 by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7273
- feat(SKY-12139): add isolated copilot credential card component by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7274
- fix(SKY-12196): stop gating block-status polling on the narration LLM floor by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7275
- feat(SKY-12155): thread contingent antecedent path into author-time output contract + mint-time invariant by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7276
- feat(SKY-12187): stream real codegen progress while copilot writes code by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7277
- feat(submission): shadow-mode deterministic submission signal behind default-off flag (SKY-12162) by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7281
- test(SKY-12171): eliminate measured slow-test hotspots (adversarially reviewed) by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7282
- feat(SKY-12026): open-source Google integrations + org-level OAuth client config by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7283
- fix(SKY-12182): keep every workflow step the copilot performed, and log why a step is rejected by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7284
- feat(SKY-11953): observe omits input values by default; passwords never emitted by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7285
- fix(SKY-11946, SKY-11945): compute select shadow agreement by normalized committed value by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7286
- fix(SKY-11933): harden custom-select is_choice_input classification by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7287
- feat(SKY-12134): bind Google OAuth credentials to their OAuth client config by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7288
- feat(SKY-11970): add phased progress model to the copilot build by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7290
- fix(SKY-12202): correct block-run terminal copy and turn-overlap dedup by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7291
- fix(SKY-11718): require affirmative NANP evidence for bare-digit tel fill + success-path logging by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7292
- fix(SKY-11571): repair main CI — add resolve_feature_enabled_unrecorded to 4 missed provider fakes by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7295
- feat(SKY-12251): expand skyvern.platform tagging via cloud-only detector (cache key unchanged) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7296
- feat(SKY-12179): stage workflow_run_tag_events + source docs by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7297
- feat: add create-time run provenance tags (SKY-12252) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7298
- feat(SKY-12254): completion-time system tags (status, execution mode, failure category) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7299
- fix(SKY-12252): restore skyvern.platform tag when first-block URL is unresolved by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7300
- feat(SKY-12199): add an optional prompt to the file upload (Cloud Storage) block to control which files are uploaded by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7301
- feat(SKY-11553): allow-by-default Playwright facade for secure CodeBlock runner by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7302
- feat(SKY-12068): add Email Inbox workflow block (Gmail + Outlook) by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7303
- test(SKY-12248): unbreak main — make file-upload log assertion order-independent by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7304
- fix(SKY-12173): import bundled multi-workflow YAML/JSON exports by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7305
- fix(SKY-12269): return 422 not 500 for malformed update_workflow body by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7306
- feat(SKY-12253): add run_type filter to runs list (BE param + FE facet) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7307
- fix(SKY-12164): repair incomplete workflow outputs on first validation by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7308
- fix(SKY-12271): Email Inbox review follow-ups by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7309
- SKY-12156: compile grounded Copilot output extraction recipes by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7310
- feat(SKY-12181): verify Copilot outputs the page confirms, instead of always hedging (dormant until SKY-12306) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7312
- fix(SKY-12301): stop a never-fired conditional check from failing a completed workflow by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7313
- fix(SKY-12307): make the copilot repair-ceiling streak progress-gated by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7314
- fix(SKY-11952): force-persist waits for the full credential flow before grading a login goal-complete by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7315
- feat(SKY-12303): decouple spine imposition from first authoring call; gate landing on download-reached by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7316
- SKY-12000 Copilot: give each turn a single decision-owner so conflicting checks can't drop work by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7318
- GCP A2A Agent by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7319
- Cap LiteLLM Redis connection pools (#SKY-12319) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7320
- feat(SKY-12255): persist per-run topup credits consumed on workflow_runs by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7321
- ci: restore all-files pre-commit checks on pull requests by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7328
- Sync OpenAPI reference from production by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7329
- fix(SKY-12131): batch workflow-run parameter definition lookups to remove sequential queries by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7330
- Clarify MCP tool descriptions to fix wrong-tool routing errors by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7333
- fix(SKY-11618): drive native <select> via select_option under unrelated overlays by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7334
- refactor(SKY-11695): make enforcement→streaming_adapter a one-way module-level dependency by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7335
- refactor(SKY-11693): move copilot workflow-YAML processing out of routes into copilot/ by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7337
- test(SKY-11692): guard against in-package test files (both pytest conventions) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7338
- fix(SKY-12272): normalize leaked code-block recorder proxies to JSON-safe output by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7339
- refactor(SKY-11694): move EventSourceStream SSE transport routes/ → core/ by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7340
- test(SKY-11705): characterization tests for _execute_single_block (pin phase seams) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7343
- test(SKY-11712): pin router/non-router LLM handler parity (characterization gate) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7342
- fix(SKY-11962): suppress orphaned patchright TargetClosedError future noise by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7344
- fix(SKY-12341): stop masking OTP-extraction backend failures as client 400s by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7348
- SKY-12339: code-first authoring producer reads per-column tables (TABLE_COLUMN) into keyed returns via the shared reader by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7349
- fix(SKY-11851): treat missing S3 object as terminal not-found on download by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7350
- test(SKY-11696): characterization tests for agent_step (pin 12 uncovered behaviors) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7352
- fix(SKY-11690): rewire wait_utils killswitch through app.AGENT_FUNCTION; delete cloud import by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7353
- refactor(SKY-11707): extract script-attempt and agent-execution phases from _execute_single_block by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7354
- SKY-12357: Make Workflow Copilot loop guard argument-aware so multi-field builds are not halted as loops by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7355
- fix(home): thread Generate Script + Data Schema through the prompt box, pill/empty-state UX by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7356
- feat(SKY-12136): opt-in keep_pending_proposal survives no-op turns by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7357
- fix(SKY-12194): humanize block display names in copilot chat by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7358
- fix(SKY-11971): reclassify precondition redirects out of the error stream by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7359
- feat(SKY-12138): pause copilot BUILD turns on a mid-loop credential ask by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7360
- refactor(SKY-11708): extract conditional-episode and cache-tracking phases from _execute_single_block by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7361
- fix(SKY-12372): make round robin selectable on the run credential rotation page by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7363
- security: fix 8 skyvern-ts/client vulnerabilities (vitest critical + 7 high) by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7225
- security: restore CodeQL-modeled path-containment sanitizer in download_file by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7218
- fix: remove ReDoS ambiguity in PdfFillBlock test regex (code scanning 329) by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7371
- feat(SKY-12137): queued-warmup bubble footer + Confirm chip for copilot QA turns by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7372
- Support Google Drive uploads over 5 MB via resumable upload (SKY-12374) by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7373
- fix(SKY-12320): render worker foreign-record tracebacks as one structured log entry by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7325
- SKY-11838: Copilot: recognize scouted extraction data by value format, not just page labels by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7374
- fix(SKY-12332): reconcile the persisted copilot block against the full captured trajectory by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7375
- refactor(SKY-11699): extract _finalize_step_execution from ForgeAgent.agent_step by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7376
- security: bump uv.lock deps to clear 8 Dependabot alerts (3 high) by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7379
- chore(deps-dev): bump pytest from 7.4.4 to 9.0.3 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7380
- SKY-12368: capture click-to-reveal values into structured copilot page evidence by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7381
- feat(SKY-12404): log which app (Claude, Cursor, Hermes) each MCP session comes from by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7383
- fix(SKY-11934): sanitize remaining MCP ApiError leak paths by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7384
- fix(log-noise): downgrade handled cached-script selector miss to warning by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7385
- fix(SKY-8804): log cached-block AI fallback at warning not error by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7386
- fix(SKY-12378): prefill run inputs when re-running from a viewed run in Studio by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7388
- Chunked resumable Google Drive upload with resume-on-failure (SKY-12394) by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7391
- fix(SKY-12367): release the local Playwright driver when browser-context creation fails by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/7392
- fix(SKY-12367): release upload aiotask tracking on every wait exit path by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/7394
- fix(SKY-12367): release recording exfiltration channel driver and unpin JS asset cache by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/7396
- Copilot: grounded parameterized-selection so persisted code reads a click-embedded input (SKY-12316, partial) by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7397
- security: bump skyvern-frontend transitive deps (dompurify/react-router/protobufjs/js-yaml/otel) by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7387
- Update API specifications with fern api update by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7389
- fix(runs-history): guard sub-3-char search + render load-error state by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7401
- security: clear internal-tooling npm/pip Dependabot alerts (dashboard/support-agent/mcpb/reverse-proxy/fathom) by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7404
- security: bump json-repair to 0.60.1 (HIGH DoS [#557]) by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7405
- fix(captcha): deliver equation screenshot to arithmetic solver in no-images mode (SKY-11671) by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/7406
- Surface Odysseys MCP benchmark runs on the eval dashboard by @trevor-cheung in https://github.com/Skyvern-AI/skyvern/pull/7407
- Add light-mode support to the new workflows UI by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7408
- Jump the studio editor to a workflow block when its timeline item is clicked by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7409
- feat(SKY-12216): heal-content sanitizer for code/error UI surfaces by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/7410
- Authenticate the download urllib fallback and reject HTML login pages saved as binary files by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/7411
- Surface run-level tags: chips + filter on run lists, and analytics picker keys by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7412
- Cap and dedupe parsed run-tag filter terms (SKY-12327 follow-up) by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7413
- feat(SKY-12217): heal-episodes read API + query index + dedupe semantics by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/7414
- feat(SKY-12215): self-heal reliability aggregation service (runs × episodes) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/7415
- fix(SKY-12081): author-time reject for unresolvable freehand copilot selectors + idempotent login by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7419
- fix(SKY-12401): make large workflows readable and safely editable through MCP by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7431
- fix(pbs): reclaim worker-local browser state when the shared session row is closed by another process by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/7440
- security: add ignore-scripts .npmrc to skyvern-ts/client (supply-chain alert) by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7400
- Lead repeatable agent scheduling with a date/time picker flow by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7443
- fix(SKY-12453): reserved system tags read-only + Labels page search and creation by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7446
- feat(SKY-11971): condense narrator chatter and retries in the copilot build stream by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7420
- Sync OpenAPI reference from production by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7427
- fix(SKY-12218): stop pinning the alembic head hash in the self-heal schema test by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7445
- Revert the overlay-blocked click change (#13377) to restore the coordinate-click fallback by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7425
- SKY-12163 (part 2) Stabilize typed request-slot contracts by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7448
- Detect CodeBlock secure-runner downgrades, record execution locus, fix task_proxy_usage grants, remap S3 CSI log severities by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7434
- fix(SKY-12441): default studio layout mirrors legacy edit/run views by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7426
- fix: isolate untrusted webpage data in agent prompts by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7452
- feat: add action history option to login blocks by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7453
- SKY-12163: Don’t guess exact output requirements by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7451
- feat(SKY-11944): skyvern_select_option works on custom dropdowns and autocomplete, not just native <select> by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7454
- SKY-12163: Preserve Copilot completion checks when workflows are saved by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7455
- Self-discard artifact upload tasks and stop resurrecting the execution-channel driver by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7456
- fix(SKY-12474): open Copilot pane on Discover → Studio handoff by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7457
- fix(SKY-12218): drop the pinned revision hash from the self-heal ancestors assertion by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7458
- Mint short-lived artifact URLs on demand for recording playback by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7459
- fix: keep MCP-generated Playwright snippets valid when instruction text has quotes by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7460
- feat(SKY-12054): harness engine swap — copilot scout-loop recovery behind enable_self_healing by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/7462
- Stop deterministic normal-select from falling back to the LLM on false negatives by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7464
- fix(SKY-12342): recognize commit-only copilot reach by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7466
- security: resolve all open Dependabot alerts across JS/TS lockfiles (SKY-12556) by @suchintan in https://github.com/Skyvern-AI/skyvern/pull/7467
- [SKY-12007] Add engine-neutral browser error taxonomy by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/7468
- fix(downloads): recover missing file extension by sniffing content by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7470
- Searchable credential picker in the workflow builder (uncap the 100-credential dropdown) by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7472
- Show all block prompts under Agent inputs in the Workflow Studio run view by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7473
- Recover phone numbers rewritten by country-aware fields by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7474
- refactor(SKY-12367): boot the screenshot streaming worker with a minimal app runtime by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/7378
- [SKY-12007] Scope CDP http(s) redaction to CDP context-creation errors by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/7475
- [SKY-12007] S2: structural page-vs-frame predicate + browser-object identity AST guard by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/7476
- Add PII-safe lineage telemetry for download filename naming (SKY-12516) by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/7478
- feat(SKY-12397): tell coding agents when a workflow already has reusable code by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7479
- fix(SKY-12384): gate copilot action cards during history load + keep queued prompt visible by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7477
- fix(SKY-12383): commit invalid combobox selection after typing surfaces its options by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/7480
- Fix LLM router fallback-succeeded log firing on every flex-tier request by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/7482
- Verify checkbox toggles instead of navigating in chain_click label/coordinate fallbacks (SKY-12543) by @LawyZheng in https://github.com/Skyvern-AI/skyvern/pull/7483
- Refresh static artifact URLs on demand: screenshots, viewers, download links by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7484
- Stop copying the chrome profile template on CDP-connect paths and sweep stale temp artifacts by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7485
- Exclude orgs under 90 days old from Gemini flex LLM routing by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/7486
- feat(SKY-12098): tell coding agents when a workflow carries skill instructions by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7487
- Batch endpoint for workflow self-heal reliability by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/7489
- Log a structured outcome event for every custom-select opportunity (observation-only) by @marcmuon in https://github.com/Skyvern-AI/skyvern/pull/7490
- fix: harden SSRF validation for resolved hosts by @AronPerez in https://github.com/Skyvern-AI/skyvern/pull/7491
- SKY-12544: mint post-run gradeable criteria for page-produced confirmation tokens by @andrewneilson in https://github.com/Skyvern-AI/skyvern/pull/7492
- Surface workflow self-heal reliability (panel + run-page uplink) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/7493
- feat: workflows-list reliability badge (self-heal UX Phase 1b) by @pedrohsdb in https://github.com/Skyvern-AI/skyvern/pull/7494
- feat(SKY-12446): search run timeline blocks by label and jump to match by @celalzamanoglu in https://github.com/Skyvern-AI/skyvern/pull/7495
- Bump version to 1.0.47 by @wintonzheng in https://github.com/Skyvern-AI/skyvern/pull/7481
Full Changelog: https://github.com/Skyvern-AI/skyvern/compare/v1.0.46...v1.0.47