Commit Graph

5486 Commits

Author SHA1 Message Date
comfyanonymous
b910f4fa2a More accurate memory usage factor for krea 2. (#14594) 2026-06-23 16:50:48 +08:00
comfyanonymous
833bfb572e Please try native formats instead of disabling dynamic vram. (#14577) 2026-06-22 21:06:19 -07:00
Jukka Seppänen
2a61015582 feat: Support Krea2 (#14589) 2026-06-22 14:35:00 -07:00
Daxiong (Lin)
6978a466b8 chore: update embedded docs to v0.5.5 (#14585) 2026-06-22 18:29:02 +08:00
Alexis Rolland
b0f9e326af Add output socket to save nodes (#13866) 2026-06-22 10:15:28 +08:00
comfyanonymous
0d8b7510bd Update extra model paths example. (#14570) 2026-06-20 19:28:09 -07:00
Alexander Piskun
dc3f8f314a [Partner Nodes] chore(Google): remove preview versions of models that will be deprecated soon (#14555)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
Co-authored-by: Alexis Rolland <alexisrolland@hotmail.com>
2026-06-20 09:13:37 +03:00
Comfy Org PR Bot
d282ef7201 chore(openapi): sync shared API contract from cloud@1aea581 (#14562) 2026-06-20 12:53:10 +08:00
comfyanonymous
e00b55631a Small anima optimization. (#14557) 2026-06-20 08:05:28 +08:00
Alexis Rolland
69d34f2654 Rename a bunch of nodes (#14547) 2026-06-20 08:01:28 +08:00
Barish Ozbay
cd77c551d6 feat: Context Windows sampling with LTX2 models and IC-LoRa guides (CORE-3) (#13325) 2026-06-20 07:47:31 +08:00
Matt Miller
4e716f7c57 Add jobs-namespace cancel endpoints (POST /api/jobs/{job_id}/cancel, POST /api/jobs/cancel) (#14493)
* Add jobs-namespace cancel endpoints

Add two cancel endpoints under the jobs namespace so a job can be
cancelled by id without the caller needing to know whether the job is
running or pending, or branching between /interrupt and /queue.

- POST /api/jobs/{job_id}/cancel cancels one job by id. Idempotent: an
  already-finished or unknown id returns 200 {"cancelled": false} rather
  than an error.
- POST /api/jobs/cancel takes {"job_ids": [...]} and cancels a batch.
  Fail-fast: if any id is unknown the request returns 404 listing the
  unknown ids and cancels nothing (no partial side effects).

Both are state-agnostic and map onto the existing queue mechanics: a
running job is interrupted (same path as /interrupt), a pending job is
dequeued (same path as /queue {"delete": [...]}). The cancel logic lives
in comfy_execution.jobs as pure, unit-tested helpers; the server handlers
are thin wrappers. openapi.yaml documents both routes.

* fix: resolve review feedback on cancel endpoints

- Guard cancel_job() against TOCTOU: when dequeue() returns False the
  pending job left the queue between snapshot and delete; return
  CANCEL_UNKNOWN so callers never report cancelled=True for a remove
  that did not happen.
- Validate each job_ids element in the batch cancel endpoint before
  any queue access; unhashable or non-UUID values now return 400
  instead of raising TypeError (500).
- Update batch HTTP tests to use canonical UUID ids (required now that
  the endpoint validates id format) and add tests for the new guards.

* fix: make job cancel atomic and best-effort

Addresses two cancel races/edges raised in review.

Targeted, atomic interrupt. cancel_job's interrupt callback now takes the
prompt id and returns whether it fired; the single-cancel route backs it
with the new PromptQueue.interrupt_if_running, which checks the running set
and signals the interrupt under the queue mutex. This closes the TOCTOU
where a pending job that starts executing between the snapshot and dequeue
(or a running job that finishes between the snapshot and interrupt) could be
missed or, worse, cause an unrelated prompt to be interrupted. The per-prompt
interrupt-flag reset in execute_async keeps a finished job from leaking the
interrupt onto its successor.

Best-effort batch cancel. POST /api/jobs/cancel no longer fails the whole
batch with 404 when one id is unknown/finished; such ids are treated as
no-ops, so "cancel all" still cancels the in-progress jobs even if some
finished between the client's snapshot and the request. Malformed ids are
still rejected with 400.
2026-06-19 16:39:35 -07:00
Terry Jia
2ab3816dcf feat: add Load3DAdvanced node (#14316) 2026-06-20 07:06:55 +08:00
Comfy Org PR Bot
bc11e8a65a Bump comfyui-frontend-package to 1.45.19 (#14559) 2026-06-19 16:01:34 -07:00
Alexander Piskun
bd39bbf067 [Partner Nodes] fix: respect Retry-After header (#14234)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
2026-06-19 11:32:56 +03:00
Alexander Piskun
5955ddff52 [Partner Nodes] feat(Luma): add support for Luma Rays 3.2 (#14540)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
2026-06-19 08:46:07 +03:00
comfyanonymous
5ef0092af9 Move comfy sys path insert to custom node loading. (#14459) 2026-06-18 22:32:55 -04:00
Matt Miller
94ee49b161 harden: load training-dataset shards with weights_only=True (#14543)
LoadTrainingDataset was the only torch.load call in the codebase without
weights_only=True; comfy/utils.py and comfy/sd1_clip.py already pass it.
Recent PyTorch defaults to weights_only=True, so this is defense-in-depth
for installs pinned to older PyTorch. Verified a typical shard (latents +
standard conditioning) round-trips cleanly under weights_only=True.
2026-06-18 15:30:57 -04:00
Comfy Org PR Bot
16514da2e7 chore(openapi): sync shared API contract from cloud@d10ff72 (#14518) 2026-06-18 17:27:53 +08:00
Daxiong (Lin)
8483c215dc Update ComfyUI Desktop to Comfy Desktop for consistent product naming (#14533) 2026-06-18 17:24:05 +08:00
Jedrzej Kosinski
f2270f070a feat: add enable_telemetry CLI feature flag (#14530) 2026-06-17 19:35:05 -07:00
Alexander Piskun
191a75a2cd [Partner Nodes] feat(Kling): add support for Kling V3-Turbo model (#14528) 2026-06-18 07:54:53 +08:00
comfyanonymous
52257bb435 Add negative prompt to boogu edit node and set min images to 0. (#14529) 2026-06-17 15:42:29 -07:00
Jukka Seppänen
e25c391888 feat: Support Boogu-Image (CORE-308) (#14523) 2026-06-17 14:22:36 -07:00
Jukka Seppänen
ca3dbe206c Allow using Qwen3-VL as flux2 klein text encoder (again) (#14526) 2026-06-17 08:45:06 -07:00
Jukka Seppänen
a590d60bb1 feat: SCAIL-2 multireference (CORE-310) (#14509)
* SCAIl-2: support multiref
2026-06-17 16:21:23 +03:00
Alexis Rolland
d202707ff2 Update TripoSplat categories (#14512) 2026-06-17 21:02:45 +08:00
comfyanonymous
f026b01ba5 Update links to new comfyui desktop repo. (#14516) 2026-06-16 20:02:53 -07:00
EXA4V
c7b246edc4 docs: add M3 and M4 to Apple Silicon supported chips list (#14449) 2026-06-17 10:01:05 +08:00
Daxiong (Lin)
c44d261fc2 Add new model blueprints (#14506) 2026-06-17 08:52:55 +08:00
Alexis Rolland
ca1622ca24 chore: Update nodes categories (CORE-263) (#14460) 2026-06-17 08:33:09 +08:00
Jukka Seppänen
fc964047e7 feat: Support text generation with Qwen3-VL (CORE-276) (#14298) 2026-06-17 08:12:44 +08:00
Octopus
90eeeb2139 fix: log base directory to startup messages when --base-directory is used (fixes #13363) (#13370) 2026-06-16 19:21:36 +08:00
Maksim
d38ea29d62 Add the checkbox to disable head drawing in node SDPoseDrawKeypoints (#14446) 2026-06-16 16:21:04 +08:00
Alexander Piskun
b732aa192f [Partner Nodes] chore(SoniloTextToMusic): reduce price by half (#14500)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
2026-06-16 10:12:39 +03:00
Comfy Org PR Bot
86f987ca7c chore(openapi): sync shared API contract from cloud@00ef9cc (#14423) 2026-06-16 12:24:41 +08:00
comfyanonymous
135abed8da ComfyUI v0.25.0 v0.25.0 2026-06-15 23:45:14 -04:00
Alexis Rolland
a439dcae07 Update nodes titles (#14417) 2026-06-16 11:42:00 +08:00
John Pollock
5db51b76b4 Fix odd-height crash and edge bleed in unaligned-width image/video decode (#14491)
a1d95f3f padded the decode width to the next multiple of 32 with the pad filter to fix libswscale's float YUV->GBR edge corruption, but kept the pad target height equal to the source height. The pad filter requires the target height to be a multiple of the input's vertical chroma subsampling factor, so a chroma-subsampled input such as yuv420p (the format the gbrpf32le float branch decodes) with an odd height makes the filter round the target below the input height and fail to configure: 'Padded dimensions cannot be smaller than input dimensions' (Errno 22). This is reachable from LoadImage, which routes static images through VideoFromFile, on a lossy WebP whose width is not a multiple of 32 and whose height is odd.

The pad filter also fills the added border with black, and chroma upsampling bleeds that black into the cropped edge of every unaligned-width subsampled decode.

Pad both axes to the next multiple of 32 (32 is a multiple of every vertical subsampling factor, including yuv410p's 4 that a plain even rounding misses) and run fillborders mode=smear to replicate the real edge into the padding so it never bleeds into the cropped output, then crop both axes back to the source size. Aligned-width and uint8 paths run the identical to_ndarray call as before and are byte-identical to master; only unaligned-width subsampled inputs change, from a crash or edge artifact to a clean, deterministic decode.
2026-06-15 20:23:09 -07:00
rattus
b13ca1ce7b main: support fallback to aimdo 0.4.9 (#14489)
The aimdo 0.4.10 protocol causing startup failure to be too early and
before the aimdo version warning can happen. This causes user
confusion. Limp on with 0.4.9 as it will work and users will see the
version warning.
2026-06-15 20:22:24 -07:00
Alexander Piskun
2f4c4e983c [Partner Nodes] fix(SoniloTextToMusic): always require "duration" to be specified (#14484) 2026-06-16 00:20:01 +08:00
Daxiong (Lin)
83a3f03218 chore: update workflow templates to v0.10.0 (#14482) 2026-06-15 08:06:15 -07:00
rattus
ec4dec93d2 Comfy Aimdo 0.4.10 + Dynamic --reserve-vram + --vram-headroom (#14480)
* main: implement --vram-headroom

Implement --vram-headroom for dynamic vram as a hybrid debug/diagnostic
option that can be used for people who still report shared VRAM spills.
They can trial and error the setting to maintain a bit more headroom to
avoid shared VRAM spills.

* main: implement --reserve-vram

Implement --reserve-vram as extra headroom on the simple method which
is semantically as close as possible to the stated functionality and
formet behaviour of non-dynamic VRAM.
2026-06-15 07:54:36 -07:00
Daxiong (Lin)
7d4194d984 chore: update embedded docs to v0.5.4 (#14478) 2026-06-15 16:35:36 +08:00
comfyanonymous
4388eb781a This is already auto enabled by default. (#14476) 2026-06-14 18:47:22 -07:00
Dr.Lt.Data
e1b9366898 bump manager version to 4.2.2 (#14471) 2026-06-14 14:42:03 -04:00
Alexander Piskun
5897d0c3ae [Partner Nodes] feat(Tripo3d): add new "Import 3D" node (#14466)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
2026-06-14 17:19:20 +03:00
John Pollock
a1d95f3f82 Fix nondeterministic video decode at unaligned widths (CORE-299) (#14438) 2026-06-14 08:58:48 +08:00
comfyanonymous
64cc078069 Revert last commit. Last time I use this stupid GitHub app. 2026-06-13 12:50:31 -07:00
comfyanonymous
740d347279 Remove the comfy python path append. 2026-06-13 12:47:04 -07:00