From 0ec161fbbb0806fdb07ca202a1929e1c910b7fbe Mon Sep 17 00:00:00 2001 From: changepacks Date: Thu, 12 Nov 2026 03:49:17 +0000 Subject: [PATCH] Update Versions --- .changepacks/changepack_log_Fq8ZpW2nKe4TbR6yLx3Hd.json | 7 ------- .changepacks/changepack_log_Uv5MsA9cJr2GhN7wQe4Kp.json | 7 ------- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 4 files changed, 5 insertions(+), 19 deletions(-) delete mode 100644 .changepacks/changepack_log_Fq8ZpW2nKe4TbR6yLx3Hd.json delete mode 100644 .changepacks/changepack_log_Uv5MsA9cJr2GhN7wQe4Kp.json diff --git a/.changepacks/changepack_log_Fq8ZpW2nKe4TbR6yLx3Hd.json b/.changepacks/changepack_log_Fq8ZpW2nKe4TbR6yLx3Hd.json deleted file mode 100644 index 2877f11e..00000000 --- a/.changepacks/changepack_log_Fq8ZpW2nKe4TbR6yLx3Hd.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "changes": { - "Cargo.toml": "Minor" - }, - "note": "Field focus marks the box the user sees. A Figma field component set (input, text field, textarea, search, select, combobox, dropdown) now generates its focus variant as _focusWithin on the container instead of an unreachable _focus (DEVUP_CODEGEN_FIELD_FOCUS_WITHIN). devup_ui_validate reports input-focus-container, input-focus-duplicate-outline and input-focus-layout-shift as browser-required review items (info) and input-focus-outline-removed and input-focus-moved-to-container as warnings; a container's _focusWithin now counts as the field's focus style. devup_runtime_audit adds the input-focus check (planned by auditPlan): every visible input, textarea and select is focused by click and by Tab and fails an inner default outline inside the container, a ring that does not surround the container, focus landing on the container and any size or position change; disabled fields are listed and skipped. Contract identifier field-focus-on-visual-container. Field states ease instead of snapping: a generated field component without a Figma prototype transition gets transition 160ms ease-out on the props its states change (transitionProperty is now written in CSS kebab-case, e.g. border-color), devup_ui_validate reports input-state-transition (info, browser-required), and the input-focus runtime check fails a focus state no transition covers.", - "date": "2026-11-12T00:00:00.000000000Z" -} diff --git a/.changepacks/changepack_log_Uv5MsA9cJr2GhN7wQe4Kp.json b/.changepacks/changepack_log_Uv5MsA9cJr2GhN7wQe4Kp.json deleted file mode 100644 index d3332629..00000000 --- a/.changepacks/changepack_log_Uv5MsA9cJr2GhN7wQe4Kp.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "changes": { - "Cargo.toml": "Minor" - }, - "note": "The plan gates can no longer be self-confirmed. devup_screen_plan confirm through the tool requires userApproval {via: question-tool | user-message | delegated, userAnswer: the user's verbatim answer, approvedUrls: every URL of the table shown}; a missing or placeholder receipt, or URLs that differ from what confirm builds, confirms nothing and returns the table and expectedUrls to show. devup_project_plan confirm requires the same receipt (without URLs). The receipt is written to the plan and printed in confirm, status and the finalReport (delegated or missing receipts are reported as not reviewed by the user). Draft nextAction carries mustAskUser and the receipt template; the server instructions, the devup and devup-implementation-plan skills and the OpenCode command state the hard stop. Contract identifier user-approved-plan-before-implementation (developmentContract v6). A confirmed plan without the user's receipt writes no page: devup_figma_export page writes return status approval_required until confirm records the approval. Every devup_screen_plan reply and every refused export carry a procedure block (step of 5, the one next call, waitForUser, forbiddenNow) computed from the plan on disk. The site:motion question now recommends Predict from the design (motion source predicted, Devup UI static keyframes), and status adds motion and field-state-motion completion items that stay missing until the sources carry them.", - "date": "2026-11-12T00:00:00.000000000Z" -} diff --git a/Cargo.lock b/Cargo.lock index 86fdc55d..2e66f890 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -734,7 +734,7 @@ checksum = "4583a4551df46e2792f82ceeac45e850d2e2d5debba0b91f102385cda5b11f06" [[package]] name = "devup-mcp" -version = "0.21.0" +version = "0.22.0" dependencies = [ "anyhow", "async-trait", @@ -772,7 +772,7 @@ dependencies = [ [[package]] name = "devup-mcp-devup-ui" -version = "0.21.0" +version = "0.22.0" dependencies = [ "devup-mcp-figma", "insta", @@ -789,7 +789,7 @@ dependencies = [ [[package]] name = "devup-mcp-figma" -version = "0.21.0" +version = "0.22.0" dependencies = [ "anyhow", "async-trait", @@ -819,7 +819,7 @@ dependencies = [ [[package]] name = "devup-mcp-visual" -version = "0.21.0" +version = "0.22.0" dependencies = [ "anyhow", "image", diff --git a/Cargo.toml b/Cargo.toml index 257982b5..3d91c777 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ resolver = "3" [workspace.package] -version = "0.21.0" +version = "0.22.0" edition = "2024" rust-version = "1.98" license = "MIT"