Releasing
How a version is made public, and what is still checked only by hand.
The checklist
- Notes in both languages.
docs/releases/vX.Y.Z.md(English; its first line links to the Russian file) anddocs/releases/vX.Y.Z.ru.md. The paragraph under the title is the summary. The English file is the text of the release page. - The change lists.
node scripts/changelog.jswritesCHANGELOG.mdandCHANGELOG.ru.mdfrom the notes;--checkfails when they are out of date (CI runs it). - The version.
npm version X.Y.Z --no-git-tag-version. - The wiki.
WIKI_STRICT=1 npx vitest run tests/unit/wiki.test.tslists everyverifyandskeletoncomment left in the documentation. Resolve each against the code; what cannot be checked here is said as "not tried" in the page itself and listed below. Writing wiki pages - Nothing private.
node scripts/public-tree-check.js(CI runs it too). Publishing a clean copy - The project address.
PROJECT_URLinsrc/main/identity.tsandhomepage,repository,bugsinpackage.jsonname the real repository (tests/unit/identity.test.tscompares them); until then the app greys out its project links and asks nothing about new versions. - Release. Push a tag
vX.Y.Z, or run the workflow "Build and package" by hand withrelease_tag. The plan job checks that the tag, the version inpackage.jsonand the notes agree, and the release is made from that exact commit.
What the release workflow runs
.github/workflows/release.yml (tags, by hand, and weekly when the week had commits): end-to-end tests; the screen
walk in Russian at every size, in English at two sizes, and with wider text at 125 %; the four packages made and
started, desktop-file-validate, shellcheck, lintian, the installed .deb check; the upgrade test from the
newest earlier release (skipped with a notice when there is none); the .rpm installed in a Fedora container;
SHA256SUMS and an SBOM; then, in the release environment, the release with build provenance attestation.
Every pull request and push runs the fast checks of .github/workflows/ci.yml. Package formats
For the repository page
The description, website and topics of the GitHub "About" box, the social preview picture and the settings only the
owner can change are in docs/REPOSITORY-CARD.md. Suggested one-line description: "NodeWise Studio: a desktop tutor for
ComfyUI graphs". Topics: comfyui, comfyui-workflow, stable-diffusion, generative-ai, learning, tutorial,
education, node-graph, desktop-app, electron, linux, ai-assistant.
Not yet tried on a real install
The connection is checked against test servers that speak ComfyUI's routes. Before calling it verified, try on a real machine:
- ComfyUI started from its folder on 8188 and the desktop app on 8000 are both found by Find on this computer.
- ComfyUI on Windows: model paths come back with backslashes and sub-folders with
\; previews load. - A large install (3000 or more node types) reads
/object_infowithin 180 seconds. - A ComfyUI older than the
/experimentroutes shows model names only. - With and without ComfyUI-Manager: the pack names match the folders in
custom_nodes. - ComfyUI on another computer started with
--listen: it reads overhttp, and the hints appear. /view_metadataanswers 404 for files without metadata, and the header read stops there.- Real artokun/comfyui-mcp and joenorton/comfyui-mcp-server: their tool schemas match what the app recognises.
- On spinning disks the preview route takes about a second per file during the background read.
- ComfyUI behind a proxy with a sign-in: the app says the address sends it to another page.
Packages: installing the .deb with apt on a real desktop, the .rpm with dnf on Fedora, the final AppImage file,
and the upgrade from an earlier release are checked on CI only.
The rest the documentation says is not tried yet:
- The upgrade from 0.9 on a real desktop: the data folder moves, keys from GNOME Keyring and from KWallet must be entered again, keys from the key file come along, and the old "Safe Storage" entry stays in the keyring.
- KWallet as the keychain (Settings ▸ Privacy ▸ Which keychain the app uses,
--password-store=kwallet5|kwallet6). - The update notice of 0.9 against a 1.0 release whose files carry the new name.
- A real screen reader (Orca): the spoken names of nodes, links and inputs, the finished answer read once, lesson steps and sync announced. Accessibility
- 200 percent interface size on a 1080p screen with large system scaling.
- The ComfyUI install lines in ComfyUI and where to get it: the repository address and the
torchline follow the official instructions of November 2026, but no install was made from them here. - Windows: running from source, model paths with backslashes,
--versionand--help. Building and running on Windows - macOS: running from source, the bundle name (
NodeWise Studio.app), the missing.icnsicon, the Keychain item name (nodewise-studio Safe Storage). Building and running on macOS