Opened automatically by SuperPlane — Skills and Docs Sync canvas.
What changed
UPDATE
This commit changes how canvas updates work in a user-visible way: canvas metadata (name, description, change management settings) is now always stored and tracked under versioned canvas versions rather than directly on the canvas record. This affects the canvas versioning and change management behavior that the concepts/canvas page and potentially the concepts/access-control or canvas-memory pages describe. The CLI update command (pkg/cli/commands/canvases/update.go) was also modified, which may affect the cli installation/reference docs. The proto changes suggest API-level behavior changes relevant to the api-reference page. Any docs page explaining how canvas updates, versioning, or metadata changes work now describes stale behavior and needs review.
Push details
Commits
[
{
"added": [
"db/migrations/20260422175935_canvas-version-metadata.down.sql",
"db/migrations/20260422175935_canvas-version-metadata.up.sql",
"pkg/cli/commands/canvases/helpers_test.go",
"pkg/grpc/actions/canvases/change_request_approver_mapping_test.go",
"pkg/grpc/actions/canvases/common.go",
"pkg/grpc/actions/canvases/common_test.go",
"web_src/src/pages/home/QuickStartUiPanel.tsx"
],
"author": {
"date": "2026-04-28T07:28:32-03:00",
"email": "60622592+forestileao@users.noreply.github.com",
"name": "Pedro Leão",
"username": "forestileao"
},
"committer": {
"date": "2026-04-28T07:28:32-03:00",
"email": "noreply@github.com",
"name": "GitHub",
"username": "web-flow"
},
"distinct": true,
"id": "ec2afe749ddc7ebc9ea7274c0067d7ed15a04ffc",
"message": "chore: add canvas spec/metadata updates under version versioning (#4334)\n\n## Summary\n\nUnifies canvas updates under versioning only.\n\n- Treats metadata changes the same as flow/spec changes\n- Stores canvas name, description, and change management settings on\n`workflow_versions`\n- Makes every canvas update produce a versioned change with traceable\nhistory\n\n## Changes\n- Moved canvas metadata fields from `workflows` to `workflow_versions`\n- Updated CLI and UI flows to always update through canvas versions\n- Removed the leftover `update_canvas.go` file and moved shared\nvalidation to `common.go`\n\n\n\n\n\nCloses: https://github.com/superplanehq/superplane/issues/4303\n\n---------\n\nSigned-off-by: Pedro F. Leao \u003cpedroforestileao@gmail.com\u003e",
"modified": [
"db/structure.sql",
"pkg/cli/commands/canvases/update.go",
"pkg/cli/commands/canvases/update_test.go",
"pkg/grpc/actions/canvases/change_request_actions_test.go",
"pkg/grpc/actions/canvases/changesets/canvas_patcher.go",
"pkg/grpc/actions/canvases/changesets/canvas_publisher.go",
"pkg/grpc/actions/canvases/create_canvas.go",
"pkg/grpc/actions/canvases/create_canvas_change_request.go",
"pkg/grpc/actions/canvases/create_canvas_test.go",
"pkg/grpc/actions/canvases/delete_canvas_test.go",
"pkg/grpc/actions/canvases/publish_canvas_change_request.go",
"pkg/grpc/actions/canvases/publish_canvas_version.go",
"pkg/grpc/actions/canvases/publish_canvas_version_test.go",
"pkg/grpc/actions/canvases/update_canvas.go",
"pkg/grpc/actions/canvases/update_canvas_test.go",
"pkg/grpc/actions/canvases/update_canvas_version.go",
"pkg/grpc/actions/canvases/version_serialization.go",
"pkg/grpc/canvas_service.go",
"pkg/models/canvas.go",
"pkg/models/canvas_version.go",
"pkg/models/integration.go",
"pkg/templates/seed.go",
"protos/canvases.proto",
"test/e2e/canvas_change_management_enforcement_test.go",
"test/support/support.go",
"web_src/src/hooks/useCanvasData.ts",
"web_src/src/pages/home/OnboardingWelcome.tsx",
"web_src/src/pages/workflowv2/index.tsx"
],
"removed": [],
"timestamp": "2026-04-28T07:28:32-03:00",
"tree_id": "0f623ba1563e327bfc1c5739075798ea05db990a",
"url": "https://github.com/superplanehq/superplane/commit/ec2afe749ddc7ebc9ea7274c0067d7ed15a04ffc"
}
]
DO NOT edit files under src/content/docs/components/ — those are auto-generated.
Opened automatically by SuperPlane — Skills and Docs Sync canvas.
What changed
UPDATE
This commit changes how canvas updates work in a user-visible way: canvas metadata (name, description, change management settings) is now always stored and tracked under versioned canvas versions rather than directly on the canvas record. This affects the canvas versioning and change management behavior that the concepts/canvas page and potentially the concepts/access-control or canvas-memory pages describe. The CLI update command (
pkg/cli/commands/canvases/update.go) was also modified, which may affect the cli installation/reference docs. The proto changes suggest API-level behavior changes relevant to the api-reference page. Any docs page explaining how canvas updates, versioning, or metadata changes work now describes stale behavior and needs review.Push details
Commits
[ { "added": [ "db/migrations/20260422175935_canvas-version-metadata.down.sql", "db/migrations/20260422175935_canvas-version-metadata.up.sql", "pkg/cli/commands/canvases/helpers_test.go", "pkg/grpc/actions/canvases/change_request_approver_mapping_test.go", "pkg/grpc/actions/canvases/common.go", "pkg/grpc/actions/canvases/common_test.go", "web_src/src/pages/home/QuickStartUiPanel.tsx" ], "author": { "date": "2026-04-28T07:28:32-03:00", "email": "60622592+forestileao@users.noreply.github.com", "name": "Pedro Leão", "username": "forestileao" }, "committer": { "date": "2026-04-28T07:28:32-03:00", "email": "noreply@github.com", "name": "GitHub", "username": "web-flow" }, "distinct": true, "id": "ec2afe749ddc7ebc9ea7274c0067d7ed15a04ffc", "message": "chore: add canvas spec/metadata updates under version versioning (#4334)\n\n## Summary\n\nUnifies canvas updates under versioning only.\n\n- Treats metadata changes the same as flow/spec changes\n- Stores canvas name, description, and change management settings on\n`workflow_versions`\n- Makes every canvas update produce a versioned change with traceable\nhistory\n\n## Changes\n- Moved canvas metadata fields from `workflows` to `workflow_versions`\n- Updated CLI and UI flows to always update through canvas versions\n- Removed the leftover `update_canvas.go` file and moved shared\nvalidation to `common.go`\n\n\n\n\n\nCloses: https://github.com/superplanehq/superplane/issues/4303\n\n---------\n\nSigned-off-by: Pedro F. Leao \u003cpedroforestileao@gmail.com\u003e", "modified": [ "db/structure.sql", "pkg/cli/commands/canvases/update.go", "pkg/cli/commands/canvases/update_test.go", "pkg/grpc/actions/canvases/change_request_actions_test.go", "pkg/grpc/actions/canvases/changesets/canvas_patcher.go", "pkg/grpc/actions/canvases/changesets/canvas_publisher.go", "pkg/grpc/actions/canvases/create_canvas.go", "pkg/grpc/actions/canvases/create_canvas_change_request.go", "pkg/grpc/actions/canvases/create_canvas_test.go", "pkg/grpc/actions/canvases/delete_canvas_test.go", "pkg/grpc/actions/canvases/publish_canvas_change_request.go", "pkg/grpc/actions/canvases/publish_canvas_version.go", "pkg/grpc/actions/canvases/publish_canvas_version_test.go", "pkg/grpc/actions/canvases/update_canvas.go", "pkg/grpc/actions/canvases/update_canvas_test.go", "pkg/grpc/actions/canvases/update_canvas_version.go", "pkg/grpc/actions/canvases/version_serialization.go", "pkg/grpc/canvas_service.go", "pkg/models/canvas.go", "pkg/models/canvas_version.go", "pkg/models/integration.go", "pkg/templates/seed.go", "protos/canvases.proto", "test/e2e/canvas_change_management_enforcement_test.go", "test/support/support.go", "web_src/src/hooks/useCanvasData.ts", "web_src/src/pages/home/OnboardingWelcome.tsx", "web_src/src/pages/workflowv2/index.tsx" ], "removed": [], "timestamp": "2026-04-28T07:28:32-03:00", "tree_id": "0f623ba1563e327bfc1c5739075798ea05db990a", "url": "https://github.com/superplanehq/superplane/commit/ec2afe749ddc7ebc9ea7274c0067d7ed15a04ffc" } ]DO NOT edit files under
src/content/docs/components/— those are auto-generated.