Repository navigation
v1.22.0
15 commits since v1.21.0 (3 features, 7 fixes). Four changes can break a script, all marked Breaking under Changed: one to which credential comfy build and comfy deploy use, three to error and exit codes.
The headline is that comfy build and comfy deploy run with only a workspace
API key, so a CI job can build and deploy with no sign-in.
New
comfy buildandcomfy deployrun with only a workspace API key. Set
COMFY_CLOUD_API_KEYand each command sends the key inX-API-Key;
comfy deploy runalso sends it to the deployment and, unless
COMFY_API_KEYnames a partner key, to its partner nodes. A key saved with
comfy cloud set-keyis used only when nobody is signed in. A refused key
ends withbuild_not_signed_inordeploy_not_signed_inand a hint to
replace the key, since signing in cannot help. (#953)comfy deploy statusprints a deployment's workers as ready, busy and
starting, the same words on every GPU provider, in place of RunPod's own
six states, so an idle scale-to-zero deployment no longer reads as
throttled.--jsonaddsserving.capacity;serving.workersstays while
the deploy service still sends it and is deprecated. (#946)- Workflow edits can propose a
set_node_fieldop for a node's title, mode
and flags. (#910)
Changed
- Breaking:
COMFY_CLOUD_API_KEYwins over a stored sign-in for
comfy buildandcomfy deploy, so a signed-in shell that exports it builds
and deploys in the key's workspace.comfy cloudcommands still prefer the
sign-in, and a Cloud JWT inCOMFY_BUILDER_TOKENstill comes first for
comfy build. (#953) - Breaking: a definition the builder refuses arrives as
build_definition_invalid, its reasons one per line and in
details.invalid, instead ofbuild_builder_errorwith the code as the
message. A file the definition names that never reached the builder gets a
hint to delete thatblobIdand push again, and a--targetthe cut refuses
says the builder refused the release, not the definition. (#948) - Breaking: a 429 from Cloud to
comfy run,comfy jobs,comfy workflowor
comfy assets libraryiscloud_rate_limitedinstead ofcloud_http_error,
and the CLI no longer retries a request that is not a read, such as a job
submit, on a 429, so it fails at once. (#937) - Breaking: a deploy watch that loses the deploy API ends with
deploy_watch_lostand exit code 75 instead ofdeploy_server_errorand
exit 1, since the deployment may still be coming up; the hint names the
command that re-attaches. (#954) comfy build validateandcomfy build pushrefuse model entries the
builder's release would refuse: atypethat is not a model folder, an
unsafefilename, a link with no file extension and nofilename, a
malformedsha256. Every such entry is named at once under
build_spec_invalid, andpushrefuses before uploading anything. (#948)
Fixes worth calling out
comfy deploy upandcomfy deploy status --watchkeep following a
deployment through a brief 503 or dropped connection from the deploy API,
as happened each time it rolled out a new version. The watch retries a 5xx or
a failed connection for about a minute; a 4xx still ends it at once. (#954)comfy deploy runrefuses a workflow over the 10 MB a deployment accepts
before sending the job, withdeploy_workflow_too_large, instead of losing
the connection and reporting that the job may exist. A 413 from the
deployment maps to the same code. (#947)deploy_job_submit_unknownno longer says the API has no job list. It
says the CLI cannot look the job up, anddetails.idempotency_keycarries
the key the submission used. (#947)comfy assets library ensureaccepts a hash written as a file name,
<hex>.<ext>, by sending it asblake3:<hex>, and a mangled hash it cannot
find names up to three stored hashes it may be a copy of. (#937)comfy generatenames the model to retry with when it refuses a
workflow's model (emit_workflow_unsupported_model). (#938)comfy workflow add-node Noteand a widget edit on a Note point at
comfy workflow insert-workflowinstead of ending with no next step. (#939)- Converting a workflow to an API prompt reserves a seed's companion slot only
where the ComfyUI frontend adds one, so widget values line up with the
frontend's. (#935)
What's Changed
- docs(changelog): roll Unreleased into 1.17.0 through 1.21.0 (DPLAT-1733) by @vqt123 in #942
- feat(workflow): propose set_node_field op for node title/mode/flags edits by @claude[bot] in #910
- ci(gpu): run uv-compile e2e with ComfyUI-Manager 4.3 to restore conflict attribution by @skishore23 in #940
- fix(workflow): note edits point at the insert-workflow route instead of dead ends by @skishore23 in #939
- fix(generate): emit_workflow_unsupported_model names the model to retry with by @skishore23 in #938
- feat(comfy-cli): deploy status prints ready, busy and starting workers on every provider (DPLAT-1790) by @james00012 in #946
- fix(cql): reserve a seed companion slot only where the frontend adds one by @skishore23 in #935
- test: pin that print_workflow drops canvas groups by @claude[bot] in #896
- test: pin that add_node can't set a node title at creation by @claude[bot] in #897
- fix(deploy): run refuses a workflow over the 10 MB limit instead of saying the job may exist (DPLAT-1709) by @vqt123 in #947
- fix(build): name every model entry the builder would refuse, before the upload and at the cut (DPLAT-1704) by @vqt123 in #948
- fix(cloud): 429 → cloud_rate_limited; assets ensure recovers mangled hashes by @skishore23 in #937
- docs: reword internal notes in comments and docstrings by @skishore23 in #949
- feat(comfy-cli): build and deploy with only a workspace API key (DPLAT-2055) by @james00012 in #953
- fix(deploy): deploy up keeps following a deployment through a brief 503 from the deploy API (BE-17158) by @vqt123 in #954
Full Changelog: v1.21.0...v1.22.0