Changelog
All notable changes to ComfyUI Eclipse are documented in this file.
Update notice for my custom nodes:
To install the latest version, open the relevant folder inside ComfyUI/custom_nodes/ in a terminal and run: git pull
2026-10-09
Version: 4.4.26
Fix
Save each selected image with its matching generation-data pipe, preserving positive/negative prompts, seeds and filename placeholders across prompt lists and batches. Reject unmatched counts instead of reusing the first prompt.
Read tensor images carried by pipes correctly and keep external-folder previews distinct when images use different filenames.
Preserve blank prompt entries in IO Slice & Dice, including empty negative prompts from switches, so selected images reach IO Generation Data without an empty-list execution error.
Docs
Explain how to connect Image Selector, Slice & Dice and IO Generation Data so images and prompts stay in the same selection order.
2026-10-08
Version: 4.4.25
Feat (New)
Add Load Video with a persistent playlist editor, dedicated Input/Output video browser, uploads, source playback and explicit joined previews. Each clip has independent start-frame, load-cap, include, mute and metadata-source controls. Seek the source preview when trims change and stop playback at the cap using the clip's reported FPS.
Stream joined video frames and synchronized audio at a shared size into native VIDEO. Preserve source frame timing across mixed frame rates, or explicitly convert to fixed FPS. Return VIDEO, generation data, encoded duration and a final debug report; use Split Video or Get Video Components for separate images and audio.
Add Split Video for native VIDEO inputs, returning IMAGE, AUDIO, exact frame timing and a debug report. Connect timing to Save Video with Generation Data after spatial upscaling to preserve playback speed and audio alignment.
Add Upscale Video with integrated model selection and bounded frame batches. Support regular PyTorch models on ComfyUI's configured device or CPU and optional prebuilt NVIDIA TensorRT engines without requiring another custom-node pack. Run TensorRT batches on a dedicated CUDA stream to avoid default-stream synchronization overhead. Stream a lossless RGB video intermediate with source timing and aligned audio for final saving.
Feat
Read only A1111 video parameters for downstream prompts and sampling data, with one selected clip as the source. Include bounded original parameters and media details in a per-file report without restoring workflows or model resources.
Add optional source timing to Save Video with Generation Data. Timing overrides FPS and trim/loop controls, validates frame count and retains the processed image dimensions. Preserve older saved input indices and widget connections when adding the timing socket, including subgraphs and cloned nodes.
Docs
Document video selection, reload persistence, trimming, metadata selection, component extraction and upscale connections.
Explain streaming video upscaling, model locations, device support, batch and tile controls, and temporary storage.
Add annotated visual tours for Load Video, Split Video and Upscale Video, showing playlist trims, streaming upscaling and separate audio/timing connections.
Show the complete direct Load Video → Eclipse Upscale Video → Save Video chain, with PyTorch/TensorRT model selection and audio/timing carried inside VIDEO.
Refresh all Save Video with Generation Data tour images to show timing_opt, with an exact-timing callout and updated trim/loop guidance.
2026-10-05
Version: 4.4.24
Feat
Add debug execution logs to the 14 Eclipse nodes introduced in 4.4, showing starts, parameter summaries, output shapes and counts, elapsed time, failures and stopped branches.
Show audio model preparation and recognition, caption encoding, VAE decoding, timeline writes, planner reservations and replay, review results and routing choices in the terminal. Throttle ongoing progress updates and keep prompt, transcript and tensor contents out of diagnostics.
2026-10-04
Version: 4.4.23
Feat
Add Shot Planner Manual mode with connected multiline text or a STRING list, 1-based start, partial batches and shared character, outfit and scene text. Manual always previews without planner files or reservation history, keeps duplicate entries, and preserves per-entry IDs and seeds across batches. Shot Plan Slice supports truncated ranges and empty branches.
Consume Shot Planner input lists in one execution to create one plan. In both modes, combine character, outfit and scene text lists into shared context for every shot. Combine Planner choices in order, ignore manual lists in Planner, and require single values for active IDs, numeric controls and selections.
Migrate Shot Planner widgets to layout 4 on load, paste, clone and inside subgraphs, preserving named values, connections and existing slot positions. Keep hidden Planner settings when switching modes.
Add a dedicated Shot Planner workflow migration CLI with dry runs by default, recursive directory support, ambiguity reports and backups before writes. Preserve already migrated files and saved Manual settings.
Fix
Protect migration backups from overwrites during concurrent runs and when a backup path is a dangling symlink.
Restore String Multiline under Eclipse / Text from its last active version, preserving its workflow ID, inputs and prefix joining. Remove the deprecated legacy copy and keep the node unchanged by default workflow migration mappings.
Docs
Explain Manual batching, Wildcard Processor List connections, combined shared text, stable seeds, slice ranges and workflow migration in the guides and tooltips.
Version: 4.4.22
Fix
Add the missing Character Sheet data to
.defaults; it was previously added only to local user files for testing. New installations and updates of unmodified prompt files now receive the same data, while customized files retain their edits.
Version: 4.4.21
Docs
Add 15 annotated screenshots for Character Shot Planner, character references and sheets, lyric captions, MiniMax H3 V2 planning, and exact frame timelines.
Add one Load Audio visual tour from the MiniMax H3 LipSync DiskTimeline workflow, showing incoming full-song audio connected to a second node for trimming, shared caption start timing, and result review.
Expand the Get All Active guide with four visual tour images based on iGEN ONE (
iGEN_ONE_M), covering shared fallback chains, the shared editor, member ranges/exclusions, and positional wiring; clarify how linked and independent getters preserve connections.Add a three-image Wildcard Processor List tour covering string/list outputs, substitutions and shared seeds, and the MiniMax H3 LipSync DiskTimeline connection to technical-cut instructions.
Refresh all 42 existing tour images with the same amber accents, dark callout panels, typography, and numbered steps; order callouts and separate arrow lanes across all tours while preserving the native node and ComfyUI appearance.
Link the character and video tours from both documentation indexes, simplify Prompt Styler guidance, and document exact-frame-timeline support in Save Video with Generation Data.
2026-10-03
Version: 4.4.20
Fix
Make Image Crop by Mask's
context_expandcontrol zoom around the mask center at the requested output size: below 1 zooms out, 1 fits the mask, and above 1 zooms in. Existing values above 1 now zoom in instead of expanding context. Keep framing responsive beyond source boundaries and use black borders instead of stretched edge pixels, with missing areas masked for inpainting.Replace Image Crop by Mask's mask expansion with Mask blur, applied in output pixels after framing so it softens mask edges without changing the image crop. Existing nonzero expansion values now become blur radii.
Preserve the batch dimension on each Image Crop by Mask output mask so downstream previews receive one full mask instead of treating every image row as a separate mask.
Make Image Crop by Mask's width and height controls use the selected Divisible by value for typed dimensions and +/− steps. Round displayed sizes up when the divisor changes or a workflow loads so they match the output; 0 allows exact dimensions and one-pixel steps.
Rename Image Crop by Mask inputs to
mask_bluranddivisible_by, preserving widget positions and saved values. Automatically migrate old connected input names and promoted subgraph controls on workflow import; the migration tool also handles saved API prompts.
Version: 4.4.19
Fix
Restore known legacy Eclipse node IDs automatically when importing workflow JSON or generated images, including nested subgraphs. Preserve old Seed and Seed 32-bit values and Image Selector's manual confirmation setting.
Retain historical sampler-pipe schemas and route older Smart Sampler Settings layouts to a Legacy node, preserving upscale steps, denoise, seed values, socket order and selector continuation seeds. Remove unsafe sampler-pipe name-only conversions from the migration tool.
Preserve getter-only drawing bridges on promoted widgets so classic preview culling does not interrupt workflow rendering.
Restore Image Selector's full grid and ordered selection across page reloads during the same ComfyUI session without queuing or confirming. Retain original continuation seeds and indices, keep full-grid previews after confirmation, and expire saved selections when their inputs or backend state are unavailable.
Keep Image Selector's automatic selection enabled only for the current live session. Discard turns it off, and loading a workflow starts with it off even when an older workflow saved it enabled.
Docs
Explain automatic import compatibility and when to use the separate workflow migration tool.
Version: 4.4.18
Perf
Index widget and input lookups within sizing and drawing passes on Eclipse-owned nodes, retaining native behavior for custom overrides and preserving saved widget values and connections.
Batch conditional visibility updates across prompt, sampler, folder and save nodes. Avoid repeated graph scans during Vue mounting and repeated record scans during viewport paint culling.
Reuse group state within each panel refresh, precompute classic preview occlusion bounds, and skip unchanged getter widget width writes.
Add a counters-only performance logging mode through
localStorage.eclipse_perf_log = 'counts'.
Fix
Match native Vue CSS height during resize verification so stable nodes settle without repeated size computations.
Preserve links to sampler controls that remain visible when changing features, and apply user-driven prompt visibility changes within their deferred refresh.
Handle replacement widgets and reused Vue node elements without stale visibility or culling state. Refresh group counts and position sorting when membership or position changes.
2026-10-01
Version: 4.4.16
Feat
Rebuild Shot Planner's sexy pool with 100 solo pose entries that preserve the reference subject's appearance and wardrobe. Add hip-height, knee-height, steep oblique and left/right rear camera choices, supported overhead views and gently tilted compositions. Support up to 512 poses while retaining other pool limits.
Fix
Preserve compact saved heights for image and mask preview nodes by lowering their preview viewport minimum. Prevent Preview Image (DOM) [Stop] from expanding a 199-pixel node to 262 pixels on reload.
Resolve Shot Planner prompt conflicts between rear views and facial detail, overhead views and oblique camera directions, and close crops and limb staging. Lead with shot instructions, define support surfaces for lying portraits, and shorten dataset identity text while preserving subject scale, physique and wardrobe. Keep existing reserved prompts unchanged.
Keep camera directions independent of torso twists and head turns, preserving supported poses without forcing the body to face the camera.
Refine Character Sheet prompts to preserve the mannequin's waist indentation and breast fullness while fitting clothing around the existing body. Explicitly frame the third mannequin and dressed-sheet panels as chest-up portraits ending below the ribcage, including when the supplied guide shows hips or legs.
Docs
Explain pose-only descriptions, source camera angles and close/mid/wide compatibility.
Clarify portrait framing, prompt overrides and the need to review generated proportions.
2026-09-30
Version: 4.4.15
Fix
Make Shot Planner preview ignore saved batches and reservations, use current planner files, and show coverage capacity as information without stopping automatic queueing. Preserve reserve-mode replay and exhaustion stops.
Feat
Add Reset reservations to clear a named project's saved batches without renaming it. Keep other projects, images and editable prompt files intact.
Docs
Explain persistent reservations, preview/reserve differences, and resetting or manually backing up/removing the project ledger.
Version: 4.4.14
Feat (New)
Add Image Review Filter to separate images using aligned JSON verdicts, keeping uncertain or invalid reports for manual review. Preserve pixels, dimensions and order, leave empty groups empty, and report original image numbers, preview positions, reasons and totals. Stop on mismatched image/report counts.
Feat
Load Character Sheet Pack selection names and descriptions from editable mannequin_attributes JSON, including custom entries, and add the independent hourglass build. Preserve older prompt files, saved values and input order.
Add random, fixed and off expression controls to Character Shot Planner, with editable dropdown reloads and preserved saved-batch replay. Include aroused, moaning, screaming and determined_clenched selections while retaining the original determined expression.
Add 40 gender-neutral sexy poses for standing, seated and lying subjects, with distinct torso, arm, hip and leg positions matched to close/mid/wide framing. Include wide-only floor kneeling and lying-on-back poses, keep wardrobe and expressions independent, and add rear and rear three-quarter camera views. Place pose category directly above selection.
Add Stop when choices for poses, expressions, both, cameras or continuous planning. Prioritize selected pose/expression coverage, cycle depleted camera pools outside camera-limited mode, and finish with a yellow popup instead of an exhaustion error. Preserve final partial batches and safely truncate or skip their slice branches.
Fix
Clarify slim, narrow and muscularity mannequin presets with slender contours, explicit ribcage/pelvic spans and visible muscle development while retaining independent breast and buttock volume. Preserve those widths separately during dressed-sheet assembly.
Migrate older Shot Planner widget layouts before configuration while preserving named values, connected inputs, subgraphs and saved history.
Show Eclipse execution and input-validation failures through native red ComfyUI toast notifications while preserving execution stops, rejected prompts and detailed errors. Replace image upload/delete alerts with toasts and surface audio, selection, style-loading and settings failures without repeated recorder popups.
Docs
Document Image Review Filter and its SmartLLM anatomy-review workflow, including manual selection, conservative verdict handling and Image Selector sizing behavior.
Explain Shot Planner expression modes, glamour poses, coverage limits, camera cycling and automatic workflow migration.
2026-09-29
Version: 4.4.13
Fix
Refine character dataset framing prompts to request prominent subjects, modest lateral offsets, small headroom and safe margins. Adapt lying poses to the canvas through diagonal or depth-oriented views while preserving the requested crop and supported posture.
Version: 4.4.12
Feat (New)
Add Character Shot Planner with compatible close/mid/wide candidates, distinct poses and expressions, balanced or manual selection, anatomy/text staging rules, and persistent project camera reservations with cooldowns, automatic numbered batch IDs for changed settings and repeatable batch replay without overwriting history.
Add Shot Plan Slice to distribute planned shots across generation branches while keeping prompts, seeds and shot IDs aligned.
Load customizable camera, pose, expression and prompt-rule JSON files with an in-node reload button, validated compatibility and preserved pool snapshots for reserved batches. Include lying poses with posture-specific camera wording, varied seating and reclining supports, and an independent everyday/sports filter for solo boxing, martial arts and exercise poses with framing compatibility.
Add Character Reference Prepare, Select and Pack with lazy reference/extraction/generation modes, optional body/clothing/rear guidance, editable per-role prompt defaults and independent positive/negative overrides. Keep cropping in upstream image nodes. Preparation prompts preserve source coverage and organize garment-only references with explicit item quantities and missing-outfit completion; assembly prompts assign identity, physique and wardrobe roles, including garment layering and accessories.
Use file defaults and optional override inputs without duplicate prompt widgets; hide supplemental description/instructions while a positive override is connected, restoring saved text on disconnect.
Add Character Sheet Pack for mannequin, wardrobe, character-sheet and individual-reference tasks, with explicit image roles, independent supporting-reference sizes and editable positive/negative overrides.
Provide mannequin Preset and Reference modes with a dedicated Gender widget and independent build, muscularity, breast size, chest breadth, hip width and buttock size controls. Preset generates from a blank canvas and skips image inputs; Reference uses optional physique images and ignores hidden presets. Show controls according to the selected stage and mode. Both modes use a fixed front/full-body, rear/full-body and upper-body portrait layout.
Keep mannequin mode templates and selection descriptions editable in prompt files. Unspecified selections add no instruction; build defaults to average. Positive and negative overrides independently replace their base defaults, while Gender, active presets and written details supplement the positive.
Guide character-sheet assembly to retain mannequin silhouettes and portrait framing while applying face identity, natural skin and fitted wardrobe. Generated proportions and garment details still require visual review.
Add Character Sheet Split for separate front, rear and portrait crops, with auto thirds based on actual image width, manual fractional boundaries and shared gutter trimming. Place Mode first and hide manual boundaries in auto mode while preserving saved values and links; existing saved crops retain manual behavior.
Feat
Extend the Workflow Migration Tool and CLI to convert supported deprecated Eclipse nodes to ComfyUI built-ins, adapting widgets and connections while preserving prompt text, notes, layouts and earlier backups. Connected standard multiline inputs become the built-in value input; nodes with two connected inputs and Universal Block Swap are reported for review.
Refactor
Move Image Convert to Image / Transforms and Image Selector to Image / Save & Preview.
Deprecated nodes
Move Integer, Boolean, String, String Multiline, Show Text and Universal Block Swap to Legacy while retaining their workflow IDs and behavior. Keep String Multiline List and Show Text Stop active.
Docs
Explain built-in replacements, migration review cases and Legacy availability in the node catalog and migration guide.
Document planner preview/reservation, history, pool limits, and reusable character reference/sheet node controls, including Preset/Reference modes, prompt precedence and reference roles.
2026-09-26
Version: 4.4.11
Fix
Keep captions larger in all six styles by fitting and positioning text and outlines independently of glow. Allow glow to cross margins and clip at video edges while preserving highlighting, fades, trim-stable animation and bounded raster retention.
Keep rotating text and outlines within corner margins, including projection rounding, while retaining the excessive-glow resource guard.
Docs
Explain caption font fitting, protected text margins and clipped glow.
Version: 4.4.10
Feat (New)
Add exact disk-backed frame timelines with native decode-and-append, range trimming, and a zero-extension loop gate. Retain original pixels and precision while carrying lightweight chunk descriptors through video loops.
Perf
Stream full accumulated previews, lyric-caption backgrounds and clean video exports from timeline chunks. H3 V2 validates stored frame counts and reads only the requested 22-frame continuity tail, avoiding repeated accumulated IMAGE copies.
Fix
Close preview/export containers and timeline readers on failure or cancellation; remove incomplete timeline writes and keep shared chunks until their final owner is released.
Docs
Explain timeline wiring, temporary disk requirements, ownership and supported trimming modes. Show the actual temp folder and safe cleanup steps when timeline storage fills, including which cached frames and previews can be removed and when regeneration is required.
Version: 4.4.9
Fix
Prevent lyric-caption alignment from failing with non-ascending timestamps when recovering different repeated phrases. Align vocal windows chronologically while preserving their source lyrics and observed timings.
2026-09-25
Version: 4.4.7
Fix
Show Kargim's decoded final image immediately after sampling by clearing its live preview from both frontend caches. Preserve the last completed image after failed or interrupted reruns, and clear the correct preview for samplers inside subgraphs.
Version: 4.4.6
Feat
Add Eclipse → Sync chains to the canvas context menu. Choose an existing chain to open its shared editor from the root graph or a subgraph, without finding a getter. Keep member options and unlinking on individual getters.
Docs
Explain canvas access to the shared-chain editor and chains with no linked getters.
Version: 4.4.5
Feat
Automatically remove deleted Eclipse and compatible KJ setter variables from Get All Active and Get First, including group and subgraph deletion. Keep references when another setter resolves the same name and include cleanup in the deletion's undo step.
Preserve Get All Active connection positions during automatic removal when affected variables have matching concrete types and compatible connections, regardless of the saved positional option. Capture types before bulk disconnection; otherwise remove the variable's own wires and retain destination gaps. Manual removal continues to respect the saved option.
Add Get First's Remove Var menu action, preserving its shared output connections. Allow either getter's final populated row to be cleared, retaining one empty row and disconnecting only Get All Active's removed output.
Add named shared fallback chains to Get All Active, with selected-getter creation, ordering previews, draft editing, joining, per-member starting variables and exclusions, and unlinking. Preserve existing omissions and support root graphs and instantiated subgraphs.
Preflight shared additions and reorders across all members, preserve compatible output positions, and extend complete ordered Any Multi-Switch connections using only new trailing links. Save chain definitions and membership with ordinary variable lists; preserve valid membership through restoration and same-workflow copies, and detach orphan membership after workflow metadata is available.
Fix
Keep removal unconditional when positional compaction is unsafe: directly remove discarded outputs and their wires while retaining surviving destinations and branches. Apply one safe strategy per member for shared removals, exclusions, and setter cleanup; allow removals to be applied separately from an unsafe combined draft.
Keep shared metadata, setter lifecycle changes, connections, and downstream dynamic-input resizing in one undo action. Restore saved state without resynchronizing, and expose chain creation in Vue multi-selection menus.
Keep copied Get, Get First, and unlinked Get All Active nodes paired with their copied setters when pasted input links reconnect. Preserve original consumers when a copied setter is later disconnected.
Exclude subgraph conversion, unpacking, workflow loading, and undo/redo restoration from paste renaming for Set/Get, multi-getters, and Mode Bridge Set/Get. Keep saved variables and bridge pairs intact when a recent paste's rename map is still present.
Docs
Explain automatic cleanup, compatibility fallback, manual removal, final-row handling, and lifecycle exclusions.
Document shared-chain setup with existing setters or planned blueprints, priority order, joining empty getters, member boundaries, wiring requirements, safe removal, persistence, and lifecycle behavior.
Add a runnable Get All Active example workflow with colored previews, shared insertion, member boundaries and exclusions, and both safe-removal paths, plus a walkthrough in Workflows.
Explain group copying, subgraph conversion, and why copied shared-chain members keep their original chain's variable names.
Version: 4.4.4
Feat
Add optional partial transcription for unmatched lyric passages, checking the original mix when connected vocals leave unresolved gaps. Preserve matched supplied lyrics and accepted stem phrases, use observed recognized words only inside unresolved gaps, and report each added phrase's audio source for review and correction in timing JSON. Include them in every caption mode and SRT without shifting existing saved controls.
Fix
Preserve newlines, blank lines and whitespace in the string outputs of String Multiline and String Multiline List, keeping lyric lines and structured text intact. Preserve optional prefix text with the existing single-space separator.
Keep String Multiline List's trimmed, non-empty list items and per-item prefix behavior unchanged.
Exclude recognized singer and vocal-delivery cues, Final Chorus and Chorus Reprise headings from lyric captions while retaining the following sung words and the original generation text.
Retry missing lyric spans longer than 30 seconds using overlapping windows, distribute the existing bounded retry budget across sections and preserve supported occurrences. Include the recording's fractional tail and invalidate older alignment caches.
Version: 4.4.3
Feat
Add Rotating words and Rotating lines with one stationary caption block and automatic lyric-timed 180-degree turns, eased near the upright face and swapped edge-on.
Choose Turning sign around the vertical axis or Flipping card around the horizontal axis. Apply perspective to text, outlines and glow together, retain transparency and fades, and fit the complete effect within margins without mirrored backsides.
Reuse fast-word grouping and recognized phrase fallback, finish outgoing turns by the next sung onset, and preserve full-song rotation phase through trimming and recovered repetitions. Keep alignment caching, timing JSON and SRT unchanged.
Append the axis selector without shifting saved controls. Show rotating controls in classic and Nodes 2.0; ignore floating placement, seed and simultaneous-item settings in rotating modes.
Docs
Explain rotating axes, timing, stationary placement and caption controls.
Version: 4.4.2
Fix
Recover missed lyric lines with up to 30 seconds of neighboring recognition context and an original-soundtrack fallback when isolated vocals miss a phrase. Keep accepted timestamps inside unresolved gaps and retain the bounded retry budget.
Recover reordered supplied lines from unused audio with at least 80% character coverage and precision; assign identical lines to distinct occurrences chronologically. Normalize adjacent distinct-word overlaps of at most 100 ms while rejecting genuine conflicts.
Caption extra exact repetitions of complete supplied lines without replacing lyric wording. Store additional occurrences separately in timing JSON version 1 with their original source-line identity; report recovered intervals and match scores.
Render all four caption modes and SRT chronologically while retaining the original lyric array, full-song trimming and corrected-timing inference bypass. Invalidate older alignment caches and include the fallback soundtrack in cache identity.
Docs
Explain context recovery, extra repetitions, recognition limits and editing their corrected timing.
Version: 4.4.1
Feat (New)
Add Transcribe Audio to recognize speech or sung words without supplied lyrics using the existing local Whisper large-v3 model. Support optional isolated vocals and automatic or manual language selection, producing transcript text, full-audio timing JSON version 1, SRT and a recognition report for review.
Feat
Feed recognized text and timing directly into Render Lyric Captions without a second alignment pass. Retain recognized repetitions, Unicode character offsets and observed phrase timing when word timing is unavailable; report weak recognition and unresolved timing without inventing timestamps.
Fix
Honor floating captions' minimum display as readable time at full animation opacity, with fade-in and fade-out added separately. Preserve captions across following words and line endings while simultaneous-item slots remain; shorten holds and fades only when the limit needs room, keeping sung onsets, trimming and exported timing unchanged.
Refactor
Share verified offline Whisper loading and model cleanup between transcription and lyric alignment, releasing recognition resources after completion, failure or cancellation.
Docs
Explain transcription review, text and timing corrections, and the separate readable hold, fade and simultaneous-item controls.
2026-09-24
Version: 4.4.0
Feat (New)
Add Render Lyric Captions with whole-line, active-word, Floating words and Floating lines modes, producing file-backed VIDEO, clip-relative SRT, full-song timing JSON, cleaned lyrics and an alignment report.
Add Any Multi-Switch Mixed with up to 64 automatically expanding, independent wildcard inputs for mixed numbers, text, images and other types. Select the first nonempty input, preserving its type, object and list structure, including zero and False. Support destinations with single-type or multi-type sockets without converting selected values; all connected active branches execute normally.
Feat
Accept plain lyrics and YuE2/MiniMax song JSON through a socket-only input, removing recognized headings while retaining supplied wording, punctuation, blank lines and repeated sections.
Align lyrics with verified local large-v3 models and optional full-song isolated vocals, while rendering with the original soundtrack. Include automatic language confidence and vocal-detection diagnostics, ordered matching of repeated phrases, bounded recognition retries and independent sentence-boundary recovery.
Preserve recognized phrase endings and display complete supplied lines when word timing is partial or unavailable. Highlight only supported word intervals and report unresolved lines, words and rejection reasons without inventing timestamps.
Accept corrected timing JSON version 1 through a socket-only input, preserving character offsets and full-song timing while bypassing inference, model verification and lazy vocal separation.
Require trim-start and duration FLOAT sockets for sample-accurate audio/caption trimming, with zero duration selecting the remainder and an independent caption timing adjustment.
Group fast words into floating phrases with retained untimed text, sentence-only fallback, seeded movement, collision-aware placement, adaptive overlapping fades and canvas margins. Full-song scheduling preserves positions and animation phase through trimming; animation controls follow the selected mode.
Default captions to Floating words, Quicksand Bold at 80 px and 720 x 1280 at 24 fps. Add FX-style color controls, caption transparency and optional two-color glow in all four modes, with glow-aware text fitting and placement.
Accept still images, image batches/lists or one VIDEO through a single optional background socket. Play images at caption FPS, sample VIDEO timestamps and hold short backgrounds at their final frame; retain the supplied soundtrack.
Let Preview Video and Save Video accept IMAGE or VIDEO through their existing socket and preserve the output type. Stream file-backed VIDEO with its own soundtrack, frame rate and duration; separate AUDIO and frame controls apply to IMAGE input.
Add review and manual-stop controls to Preview Video. Queue unchanged reviewed content again to continue; changed content requires another review. Preserve saved preview settings and normal repeated previews when review is disabled.
Add Auto, Selected file and Incoming audio source choices to Load Audio for immediate audition without queueing. Hide inactive file controls, follow mute/bypass changes and skip the connected input when Selected file is chosen.
Fix
Let Load Audio continue after an unchanged review queue while retaining fallback file fingerprinting and normal upstream invalidation.
Perf
Cache up to eight alignments and 16 MiB of timing/report data independently of appearance, background and trim settings. Include audio content, model identity and algorithm revision in cache keys; exclude failed or interrupted attempts.
Encode caption frames incrementally, cache only active caption rasters, unload alignment models after inference and remove incomplete render files on failure or cancellation.
Refactor
Share models/fonts discovery with Text Image with FX, including uppercase font extensions, and validate caption glyph coverage and multilingual shaping before rendering.
Share native color-picker behavior between Image with FX, Text Image with FX and lyric captions, releasing picker ownership when a node is removed.
Docs
Document caption setup, model provenance, corrected timing, appearance controls, review behavior, mixed-type routing and measured alignment limitations.
Chore
Add stable-ts 2.19.1, faster-whisper >=1.2.1,<2 and fonttools >=4.0,<5 dependencies for lyric alignment and font validation.
Version: 4.3.51
Fix
Automatically hold a single image for the full supplied audio duration in both Save Video nodes, preserving the song across all trim modes and reusing image storage instead of allocating a repeated full-resolution batch.
2026-09-23
Version: 4.3.50
Fix
Restore full-width color swatches for Image with FX and Text Image with FX in newer Nodes 2.0 frontends, preserving older frontend and classic color pickers, saved colors, and renderer switching.
Version: 4.3.49
Fix
Keep Fast Mode Toggle and Switcher pills at a consistent height in Nodes 2.0, including when loaded off-screen with hidden links or after showing/collapsing connections.
Version: 4.3.48
Feat
Load Audio excerpts: Accept optional incoming AUDIO with file fallback when unavailable, preserve native samples and batches, and report the actual trimmed duration. Add Stop (Result Review) with repeat-queue protection and full-source temporary previews for immediate excerpt audition.
Docs
Explain full-song saving, excerpt wiring for lip-sync and planning consumers, temporary previews, and review/cache behavior.
2026-09-21
Version: 4.3.47
Feat
Get All Active priorities: Add the saved, default-off “Keep connections in position when types match” option and a per-variable “Remove Var” action. Compatible moves and removals keep wires aligned with target input positions; other cases preserve variable-to-target mappings and explain the fallback. Commands support undo/redo and removal retains at least one variable.
Fix
Classic collapsed-node layering: Draw unselected collapsed nodes behind expanded nodes and selected collapsed nodes in front, matching Nodes 2.0 while keeping pointer targeting aligned and preserving native order within each layer and saved workflow order.
Mode control compatibility: Preserve reactive mode/title setters and input-slot instances across togglers, bridges, repeaters, collectors, and relays; rebind observers when targets are replaced.
Native promoted controls: Rebind reconstructed host inputs and switch projections so edits reach the current mode target and bridge chain once, while external changes keep switches synchronized.
Custom mode pills: Repaint Fast Mode Toggle and Switcher captions, colors, and navigation arrows after clicks, menu actions, and external changes in Nodes 2.0. Balance the outer margins and reclaim hidden arrow space while preserving zoom-aware hit targets, row heights, classic rendering, and older frontend widget selection.
Subgraph widget order: Hide socketless input sockets without removing their slots, preserving promoted widget bindings and values when switching renderers or reloading workflows.
Active getter routing: Skip muted upstream sources immediately, including sources reached through bypass chains, and preserve Get All Active output connections when variables are reordered on newer frontends.
Variable widget cleanup: Remove discarded Get First and Get All Active widgets through the frontend lifecycle when reducing variable counts.
Docs
Explain Get All Active positional priorities, direct removal, and fallback behavior.
2026-09-19
Version: 4.3.46
Fix
Combo-chip popup cleanup: Cancel deferred outside-click registration and remove installed document listeners whenever a popup closes or its node is removed.
Version: 4.3.45
Refactor
Registry scanner compatibility: Replace scanner-ambiguous dynamic imports and bound or direct connection call forms with lazy named imports and receiver-preserving invocation helpers, while preserving audio device discovery, graph lifecycle hooks, Set/Get topology, and node reload reconnection.
2026-09-18
Version: 4.3.44
Feat
External MiniMax H3 planner controls: Convert manual transition times and technical-cut directions into optional connected string inputs, accept scalar and list directions, cycle non-empty cut prompts across eligible technical seams, and expose each selected prompt index in the analysis manifest.
MiniMax H3 visual-conditioning strength: Add a shared
0.0–1.0control for FL2VA keyframes and Ref2VA references;0.999preserves ComfyUI's native implicit conditioning path, while every other value explicitly controls seeded VisualVAE conditioning noise without changing visual tokens or audio conditioning.
Fix
Legacy MiniMax H3 workflow migration: Preserve planner widget values by creating connected multiline timing and cut-prompt nodes in root or nested graphs, with link/ID format compatibility, preconnected-input protection, and idempotent reload behavior.
2026-09-17
Version: 4.3.43
Feat (New)
System Audio Recorder: Add manually controlled Linux/PulseAudio and Windows/WASAPI loopback capture with live device refresh, Start-before-queue and Stop-to-release execution, adjustable 10 ms RMS leading-silence detection with 50 ms pre-roll, retained private sources and an Update Output action for repeatable collision-safe WAV/MP3 comparisons, 48 kHz stereo ComfyUI AUDIO output, PyAV/libmp3lame encoding, token-owned lifecycle and cleanup, secured reprocessing endpoints, Linux CFFI/ANGLE callback compatibility, and explicit macOS guidance.
Feat
Larger image-browser previews: Make grid previews taller with a 150 px minimum row height while preserving adaptive column density and natural uncropped proportions, and keep 72 px list thumbnails with matching virtual row spacing.
Inline image navigation: Add boundary-aware Previous and Next controls beside the Load Image filename selector, following the browser's Source or A–Z order while preserving independent Input/Output selections, previews, and uploads.
Fix
Load Audio video-track previews: Decode the first embedded audio stream when a video container is selected, while keeping direct previews for ordinary untrimmed audio and retrying unsupported raw audio formats once through the WAV endpoint.
2026-09-16
Version: 4.3.42
Feat
Consolidated Load Image browser: Move the Input/Output switch into the image-browser panel so each Load Image node exposes one filename selector, preserves independent folder selections, and reveals the active selection in virtualized grid and list layouts when the panel opens or its source changes.
Breaking
Local-only Load Image nodes: Remove the URL source mode and outbound remote-image download endpoint from both Eclipse Load Image nodes while retaining Input/Output browsing, local uploads, previews, Mask Editor integration, and the published node schemas.
Fix
Legacy Load Image workflow compatibility: Migrate pre-browser and browser-era positional widget layouts in root graphs and nested subgraphs, discarding obsolete saved URLs while preserving selected input/output images and trailing preview values.
2026-09-15
Version: 4.3.41
Feat (New)
MiniMax H3 segmented timeline V2: Add a separate schema-version-1 planner, Plan Step, conditioner, and plan type without changing the published H3 interfaces. Default long and transition segments regenerate from their active original image through hidden two-second FL2VA warmups, while optional first/last bridges use ordered source/destination keyframes and optional generated chaining remains limited to technical splits. Keep transition ownership, retained ranges, prompt ownership, legal
17k+5render lengths, native-rate conditioning audio, and the untouched master-audio mux explicit in a tensor-free analysis manifest.Exclusive FL2VA and Ref2VA conditioning: Build native-style positional FL2VA first/last keyframes or one persistent, aspect-preserving Ref2VA
<Picture 1>block withmatch/maxsizing. Enforce matching checkpoint families and reject unsupported mixed reference/keyframe plans.Intentional H3 technical cuts: Add an opt-in, editable camera-cut instruction for same-image original-reset tasks while preserving hidden source guides, full warmup crops, the 15-output Plan Step contract, and plain-reset defaults. Mark planned cuts in the schema-version-1 analysis manifest and distinguish expected cuts, weak cuts, and immediate double jumps without suppressing source-flash, ownership, stall, or unrelated-cut detection.
Feat
Aspect-locked Smart Folder custom sizes: Add independent Image and Video aspect selectors with bidirectional width/height drivers, divisor-aware rounding and bounds, preserved named-preset behavior, and exact workflow migration from legacy and current serialized layouts.
Docs
MiniMax H3 V2 contracts: Document original-image resets, hidden warmups, exact transition/bridge behavior, multiline prompt fallback, Ref2VA geometry and checkpoint requirements, Plan Step outputs, recommended graph defaults, and transition-quality acceptance criteria while retaining the legacy node documentation separately.
Smart Folder aspect controls: Document separate mode ratios, last-edited-edge behavior, divisor rounding, and the
512 × 896portrait example.
2026-09-13
Version: 4.3.40
Perf
Workflow opening: Hydrate the Nodes 2 compact-size fallback from one mounted-node scan, limit paint and textarea mutation work to affected nodes, cache root-graph Set/Get discovery, coalesce final graph reconciliation, and batch color restoration into one redraw. This reduces large-workflow opening work while preserving compact collapse behavior, paint ordering, widget appearance, and serialized values.
Version: 4.3.39
Feat (New)
MiniMax H3 external-audio timeline nodes: Add an image-aware 24 FPS planner, strict version-4 Plan Step, and H3 image-prompt conditioner with manual/even timing, optional Wav2Vec activity alignment, same-image sentence-gap continuation cuts, separate native-rate conditioning and untouched master-audio paths, destination-only prompting, lazy guide assembly, float transition windows, hard switches, crop-safe experimental lookahead, exact padded-audio/overlap/crop metadata, and balanced adaptive
17k+5task lengths from 124 through 362 frames. Make short-window destinations fully hidden by cropping 22 generated destination-tokenized lead-in frames plus one exact anchor, keeping old-image continuity out of destination tasks while preserving ordinary 22-frame generated overlap, so the first visible timestamp frame is generated without a raw-reference flash. Share master/conditioning audio validation and Wav2Vec activity-gap analysis with the WAN planner while preserving WAN planning behavior, and expose the new controls and outputs through complete node tooltips.
Fix
Batch-folder refresh execution: Propagate explicit file-list invalidation into ComfyUI execution fingerprints so Refresh File List followed by requeue reloads changed folder contents across the standard, stepped, and deprecated batch loaders; also invalidate the standard loader's tensor cache when its resize mode changes.
Docs
MiniMax H3 timeline nodes: Document the shipped planner, Plan Step, and image-prompt conditioner contracts, including hidden destination handoffs, ordinary overlap, guide ordering, activity alignment, separate audio roles, and version-4 compatibility.
2026-09-11
Version: 4.3.38
Fix
Registry-safe image loaders: Replace dynamic
__import__calls with the standardrandomimport.Native wildcard link creation: Create the Windows wildcard prompt link through CPython's native junction API instead of invoking
cmd.exe, retaining privilege-free operation when Developer Mode is disabled.Hardened remote image import: Require same-origin bounded requests and public HTTPS destinations on port 443, revalidate redirects, cap concurrent transfers and decoded pixel counts, derive extensions from verified image data, disable cookies, sanitize failures, and create destination files exclusively.
Scanner intent clarity: Rename the Impact preview publisher to describe its local ComfyUI event behavior and annotate JavaScript graph binding/connection calls as in-memory operations.
Chore
Published package cleanup: Remove the Git-based self-update feature and its endpoints, retire its previously shipped frontend script during overlay upgrades, keep the standalone dataset downloader local-only, and drop the downloader-only Hugging Face Hub dependency.
Version: 4.3.37
Fix
Image Comparer navigation: Place pair controls in a separate toolbar and limit Slide/Click comparison interaction to the image viewport in classic and Nodes 2.0 rendering.
Version: 4.3.36
Fix
Save Prompt joined filenames: Always expand comma-separated
filename_optvalues into an aligned filename list before batch validation, require one prompt per file for multi-file inputs, and reject incompatible counts before writing.
Version: 4.3.35
Feat (New)
Wildcard Processor List: Add seeded whole-text wildcard expansion with exact multiline layout preservation, non-empty line list output, quoted substitutions, queue-aware local and external seed controls, cursor-aware wildcard insertion retained through picker focus changes and renderer remounts, copy/paste-safe wildcard picker state, and a persisted per-node line-wrapping toggle without a populated-text preview.
Docs
Wildcard Processor List guide: Document outputs, substitutions, seed behavior, picker insertion, wrapping controls, and layout guarantees.
2026-09-10
Version: 4.3.34
Feat
Multiline line wrapping: Add a per-node
Wrap long linesmenu toggle to String Multiline and String Multiline List, with persisted classic and Nodes 2.0 display behavior and scrollable no-wrap editing.
Version: 4.3.33
Fix
Multiline list prefix: Prepend the connected optional input to every non-empty list item while keeping the full string output unchanged.
Root folder separators: Treat forward slashes, backslashes, and mixed separators as the same nested relative path in Folder Path and both Smart Folder modes.
Join list and batch inputs: Process all connected lists and image batches in one execution so shorter inputs are not repeated by ComfyUI list mapping, and emit one ordered image batch for preview and downstream nodes.
Docs
Smart Folder paths: Document cross-platform separator support for nested root folders.
2026-09-08
Version: 4.3.32
Feat
Scrollable Markdown Note: Add an Eclipse-owned, frontend-only workflow annotation with sanitized Markdown preview, double-click editing, and a resize-constrained scrollbar in both renderers.
Docs
Markdown annotation: Document the Markdown Note in the Text node overview.
Version: 4.3.31
Feat
Local self-update: Show the running Eclipse version in its ComfyUI settings and provide a loopback-only, explicitly confirmed update action that replaces tracked files with official
main, preserves untracked user data, installs requirements, and reports the required restart.
Fix
Retired source cleanup: Before custom-node imports, deactivate Python and JavaScript files that Eclipse shipped historically but no longer ships by moving exact inventoried paths to non-loadable
.bakfiles. Preserve modified current sources and unlisted fork files while preventing overlay updates from loading obsolete nodes or frontend extensions.
Docs
Recoverable startup cleanup: Document the retired-file inventory, backup suffix, and server-log report.
Version: 4.3.30
Feat
Join audio timelines: Append any number of AUDIO inputs in connection order so consecutive video segments retain audio throughout when the joined track is sent to either Eclipse Save Video node. Resample differing rates to the highest input rate and expand mono clips to match multi-channel inputs.
Docs
Sequential versus overlaid audio: Clarify that Eclipse Join concatenates audio along time, while ComfyUI Merge Audio overlays tracks from the start.
2026-09-07
Version: 4.3.29
Feat
Smart Folder video groups: Split VHS loading, Loop, Context, and optional Duration metadata into independent chips with conditional pipe keys, while keeping frame rate always available in Video mode and appending duration to compatible pipe interfaces.
Shared aligned resolution: Let the Image Size chip control resolution in both modes, omit disabled dimensions, and align custom sizes with a configurable 1–512 divisor across typed, button, keyboard, and scrub changes.
Fix
Smart Folder workflow compatibility: Migrate legacy widget layouts before configuration so existing video fields remain enabled, cosmetic widget variants and unknown trailing values retain their positions, and repeated loads remain stable.
Docs
Smart Folder controls: Document group ownership, dependencies, conditional pipe fields, custom dimension alignment, and duration metadata.
Version: 4.3.28
Feat
Load Image picker thumbnails: Add a read-only endpoint that produces EXIF-corrected, aspect-preserving static WebP thumbnails for supported input and output images while retaining original animated files for selection previews and execution.
Perf
Shared virtualized preview cache: Load only visible picker thumbnails, coalesce requests across both Load Image variants, adapt uncropped grid geometry to thumbnail aspect ratios, and revoke or invalidate object URLs on failure, deletion, refresh, and page unload.
2026-09-05
Version: 4.3.27
Feat
Dataset download workers: Expose the Hugging Face concurrent-file worker count as an editable setting inside both Linux and Windows launchers so users no longer need a separate environment command.
Docs
Downloader tuning: Document the in-script worker setting for both platforms while retaining the optional environment override for retry limits.
Version: 4.3.26
Feat
Hugging Face dataset snapshots: Add configurable Linux and Windows utilities that download complete dataset repositories into an exact target folder, normalize repository IDs and dataset URLs, reuse cached content, expose optional token and Python-interpreter settings, discover common ComfyUI Python environments, offer to install the constrained Hub dependency when it is missing, and automatically honor API rate-limit windows without emitting tracebacks.
Fix
Folder batch automatic stop: Disarm Run Instant, Run on Change, and legacy Auto Queue when the stepped folder loader reports that no frames remain, without interrupting active work or removing manually queued jobs. Reuse the same current-frontend handling for single-image folder iteration.
Docs
Dataset downloader guide: Document configuration, explicit interpreter selection, secure token handling, execution, target layout, dependency installation, automatic rate-limit retries, concurrency controls, and safe reruns.
Folder batch exhaustion: Clarify that automatic continuation stops only after the stepped range is exhausted, while a final partial batch remains valid.
Version: 4.3.25
Feat
Image Selector unattended mode: Add a custom
Auto select and confirmtoolbar checkbox that immediately fills the displayed selection so only Confirm is needed, then selects every future incoming image and continues without pausing. Disabling it clears the automatic decision without interrupting the active queue so the next execution returns to manual review.
Fix
Folder-step exhausted ranges: Replace traceback-producing errors for
batch_indexselections beyond the available frames with an explanatory warning toast and a silent downstream execution block. Apply the same behavior when a video's frame count is unavailable until after decoding.Save Prompt batch alignment: Preserve caption-to-filename ordering from folder loaders, Image Selector, and IO Slice & Dice; broadcast singleton inputs, reject incompatible list lengths before writing, and apply duplicate filenames according to each save mode.
Save Prompt persistence and paths: Propagate save failures, preserve malformed JSON instead of replacing it, use atomic locked JSON updates, allow intentional source-relative parent traversal, and contain ordinary relative paths within the ComfyUI output directory.
Refactor
Save Prompt batch appends: Serialize complete cached TXT and CSV writes and guard reused handles against stale auto-close timers.
Docs
Image Selector automation: Document unattended folder-batch selection and the discard-like behavior when automatic selection is disabled.
Save Prompt workflows: Document multi-caption append behavior, filename-provider alignment, and the I2PSave sibling prompts-folder configuration.
2026-09-04
Version: 4.3.24
Fix
Video save filenames: Align both Eclipse video save nodes with image-style output names by using a four-digit counter without a trailing underscore, while continuing counters across existing legacy video filenames.
Inset & Crop image lists: Crop heterogeneous-size image lists without concatenating their tensors, preserving each cropped image at its own dimensions while retaining batched output for batch inputs.
2026-09-03
Version: 4.3.23
Fix
WAN LipSync terminal tasks: Skip a terminal InfiniteTalk task that would retain only one frame, shorten the effective plan endpoint, remove transitions at or beyond that endpoint, and report the omitted range and image so one imperceptible frame does not require a complete diffusion pass.
Terminal one-frame task skipped: [624,625)/image 3 was dropped because it would retain only one frame; output is one frame shorter (625 -> 624 frames)
Version: 4.3.22
Fix
Accumulated video preview memory: Reuse an existing IMAGE batch while encoding the complete loop preview instead of concatenating a duplicate full-size tensor. Keep heterogeneous frame-list resizing and concatenation as the fallback, and share the same batch-reuse check with both video save nodes.
Image Selector continuation values: Freeze every supported dynamic value that produced the displayed images before Confirm re-queues, covering upstream Eclipse, Smart Model Loader, and SmartLLM seed providers; unconnected Smart Prompt and Wildcard Processor seeds; and random, increment, decrement, or shuffle indexes on Read Prompt Files and both folder image loaders. When
seed_inputis connected, preserve the consumer's local special mode and reconstruct direct, Eclipse Set/Get, or optional KJNodes Set/Get provider provenance, while leaving fixed, inactive, ambiguous, removed, unsupported, unrelated, or unresolved values unchanged. This is especially useful when using IGen-One: generate your images, select one, and hit Continue—even if you forget to fix the seed first (which I do far too often ^^)Show Text previews: Keep the renderer-bound text widget stable across executions and use the shared custom DOM renderer so returned text appears in both Nodes 2.0 and Classic instead of leaving an empty replacement widget. Size a freshly added standard Show Text node after injecting its preview so the widget stays within the node, while leaving the Stop variant's native layout unchanged.
Chore
Shared wildcard links: Remove the obsolete ComfyUI-Raffle lists-to-wildcards merge and symlink from the shared-link setup.
2026-09-02
Version: 4.3.21
Feat
Fast Mode Toggle Native: Add a separate virtual mode-toggle node whose connected targets become native, promotable Boolean controls named from their node titles with stable private target associations and ComfyUI-style collision suffixes. Let each control activate its target or apply the selected Mute/Bypass off mode, while honoring max-one, always-one, and bulk actions. Leave
Fast Mode Toggle [Eclipse]unchanged.Native promotion lifecycle: Preserve customized labels, promotion identities, external links, and target associations across renames, target replacement, demotion, sibling and nested subgraphs, duplication, save/reload, and legacy workflow migration. Reflect external target-mode changes back to every interior and promoted host control.
Post-proxy frontend compatibility: Propagate direct host-owned switch edits across ComfyUI frontend
1.46.3+, covering both store-only and live-callback promotion paths in Nodes 2.0 without applying an interaction twice, while retaining the direct callback path for Classic. Detect the observable promotion behavior without frontend-version checks, frame polling, private store imports, or proxy widgets.
Version: 4.3.20
Feat
Load Audio precision controls: Add a full-width clip-relative seek slider and current/total playback display with millisecond precision for more exact timeline-planning work. Keep both synchronized across seeking, trim-window changes, source changes, playback completion, and node cleanup.
2026-09-01
Version: 4.3.19
Refactor
Smart Model Loader ownership transfer: Move
Lora Stack [Eclipse],Lora Stack apply [Eclipse],Nunchaku PuLID Loader [Eclipse], andNunchaku PuLID Apply [Eclipse]to ComfyUI Smart Model Loader while preserving their serialized node IDs and input/output contracts. Remove Eclipse's duplicate Nunchaku adapter runtime so model loading, LoRA application, and PuLID all use Smart Model Loader's single wrapper implementation.
Docs
External node ownership: Direct users to Smart Model Loader for the transferred LoRA Stack and Nunchaku PuLID nodes.
Version: 4.3.18
Fix
Cosmetic feature-chip workflow compatibility: Restore the shared pre-4.3.16 workflow slot contract so cosmetic combo-chip rows and their native schema widgets are consumed in the same order during save and reload. Preserve existing workflow values for Save Images, Smart Folder, both Load Image From Folder nodes, Danbooru Corpus Maintenance, and other shared chip callers in Nodes 2.0 and classic.
After updating: Close each affected workflow tab and reopen the workflow from disk so ComfyUI reconstructs its nodes with the corrected widget order. A browser hard-cache refresh alone does not replace the graph state already loaded in an open workflow.
Version: 4.3.17
Fix
Save Video Data workflow reload: Serialize only the node's native schema widgets so the leading cosmetic feature-chip bar cannot shift
embed_workflow, feature backings, FPS, filename, codec, quality, or loop controls on reload. Restore named widget values when available and recover workflows saved with the affected leading-null positional layout.
Version: 4.3.16
Feat
Smart Prompt v2 visible reset: Add a bottom control that returns only currently visible prompt dropdowns to
None, preserving selections serialized in inactive tag/description folder variants. Keep reset and seed action buttons out of workflow widget data.Wildcard Processor external seed input: Replace the connectable local seed and built-in negative filter with a socketless local seed plus optional
seed_input. Resolve an external seed once per queue through Eclipse's established queue-aware path and reuse it for expansion, execution, queued/last-seed state, and workflow metadata. Scope cached resolved seeds to their graph-to-prompt cycle so consecutive random queues stay synchronized and Use Last Queued Seed reproduces the exact last wildcard expansion. Hide local seed controls without resizing while connected, and migrate legacy seed and removed negative links across root graphs and subgraphs without dangling references.Prompt Styler v2 feature chips: Add
Prompt Styler v2 [Eclipse]alongside the unchanged original node, sharing its style application, libraries, endpoint, and fixed/random/increment/decrement queue behavior. Replace four visible Boolean rows with a top-positioned cosmetic feature bar backed by hidden socketless serialized Booleans, retain conditional underscore word limits and stable queue actions, and preserve values across fresh creation, repeated configuration, and workflow reload in Nodes 2.0 and classic.
Docs
Save Video with Generation Data visual tour: Add three annotated Nodes 2.0 scenes covering inputs and placeholders, the complete feature-chip panel, and seamless-loop controls.
Danbooru visual tour: Add three annotated Nodes 2.0 scenes covering deterministic Prompt Forge assembly, feature and category filtering, and offline corpus-maintenance controls.
Get First / Get All Active: Remove obsolete auto-color setting, color table, summary, and usage-tip claims from the detailed guide and documentation index.
Get First / Get All Active visual tour: Add two annotated Nodes 2.0 scenes covering type filtering, prioritized fallback resolution, aligned named outputs, and the recommended Get All Active → Any Multi-Switch first-non-None pattern.
Load Image From Folder visual tour: Add three annotated, live-executed Nodes 2.0 scenes covering cumulative multi-folder loading, sorting and image/mask outputs, iteration feature chips, previews, and the metadata-capable Pipe variant connected to IO Load Image.
Batch selection workflow guide: Add a four-node guide and four annotated, live-executed Nodes 2.0 scenes for aspect-preserving advanced folder loading, ordered Image Selector review, synchronized IO Slice & Dice image/filename routing, and an optional DOM result-review stop.
Save Images visual tour: Add three annotated, live-executed Nodes 2.0 scenes covering IO Generation Data →
pipe_optprovenance, feature chips, placeholder naming, WebP quality and DPI controls, and the DOM preview; align documented chip names and list outputs with the current node.Smart Prompt v2 visual tour: Add three annotated Nodes 2.0 scenes covering multi-folder prompt libraries, None/Random/exact file choices, reproducible seed controls, prompt output, and external Eclipse Seed synchronization; align nearby v2 folder, default, path, and button guidance with current behavior.
Smart Folder visual tour: Add three annotated Nodes 2.0 scenes covering the image/video radio modes, layered date and batch paths, image geometry and latent settings, video frame and skip calculations, and the Eclipse Pipe Out consumer; align seed button labels and extracted outputs with the current nodes.
Smart Sampler Settings visual tour: Add three annotated Nodes 2.0 scenes covering selective core settings, the complete feature-chip panel, advanced guidance/noise/upscale/seed controls, and the connected IO Sampler Settings consumer; rename the guide to remove its stale v2 suffix, update documentation links, and clarify the canonical node ID, resolved seed modes, and current pipe-node names.
Read Prompt Files visual tour: Add three annotated, live-executed Nodes 2.0 scenes covering ordered multi-file prompts, fixed and special index modes, last-queued reuse, stop behavior, automatic file refresh, and Eclipse Seed synchronization; rename the guide to remove its stale
_Usagesuffix, update documentation links, and align its controls with the current frontend.Replace String Advanced visual tour: Rename the guide and all user-facing references to match the displayed node name, add three annotated live Nodes 2.0 scenes covering the standard Read Prompt Files pipeline, feature chips, regex, age, sensitive-text handling, and output verification, document Smart LM Loader and manual text as additional inputs, and clarify that the processor supports other LLM text while its built-in terms and phrases remain primarily fitted to Florence-2-style output and it may be removed in the future.
Wildcard Processor visual tour: Add three annotated, live-executed Nodes 2.0 scenes covering the Impact-derived template and populated-text flow, current file/inline/weighted/quantity syntax, local-seed live preview, wildcard insertion, the dedicated
seed_input, hidden local controls with unchanged node dimensions, and queue-time external Eclipse Seed synchronization. Replace obsolete syntax and paths in the guide, document queue-time preview refresh and external-seed precedence, and recommend downstream Filter Prompt for unwanted wording, phrases, or tags.Prompt Styler visual tour: Add three annotated, live-executed Nodes 2.0 scenes covering connected positive and negative text, both resolved outputs, mode and style selection, independent application toggles, fixed and special queue-time indexes, last-index reuse, and conditional underscore conversion; align the guide's input and index documentation with the current node.
Prompt Styler v2 guide and visual tour: Document the separate compact node, its feature defaults and serialized backing behavior, v1 compatibility, and supported index modes with three v2-only annotated captures while preserving the original guide and images.
2026-08-31
Version: 4.3.15
Feat (New)
Save Video with Generation Data: Add an independent MP4 output node with serialized feature chips, optional audio trim and seamless-loop controls, raw ComfyUI workflow embedding, A1111-compatible Generation Data PIPE metadata, prompt removal, LoRA prompt insertion, workflow JSON sidecars, and model/VAE/LoRA/embedding hashes. Resolve Image Save-compatible date, model, and sampling placeholders in safe nested relative prefixes, with readable missing-PIPE fallbacks and consistent counters, previews, and sidecar names. Preserve the user's node dimensions when chip or trim-mode changes show and hide controls, letting the flexible video preview absorb the layout difference.
PR: #3307
Feat
Multi-getter context-menu creation: Add Get First and Get All Active actions to the shared Eclipse canvas and node right-click submenus. Create at the cursor or beside the clicked node in the active graph, including subgraphs.
Fix
Get All Active reordering: Move each variable's output slot and normal or floating wire together for up/down/top/bottom, multi-slot, and insertion actions. Preserve every downstream target and corrected origin slot through workflow serialization and reload in Nodes 2.0 and classic canvas.
Docs
Document Save Video with Generation Data inputs, chips, metadata precedence and missing-PIPE behavior, placeholders, safe output naming, trim modes, loop controls, and Civitai parser guidance.
Document Get First and Get All Active canvas/node creation actions, and clarify that Get All Active output slots and wires move with reordered variables while their downstream connections remain intact.
2026-08-30
Version: 4.3.14
Fix
Danbooru categorization no-progress guard: Recover reviewed tags whose underscore separators were changed to literal spaces only when the reverse substitution exactly matches a private batch-manifest tag, without relaxing case, punctuation, or other tag identity checks. When Category Apply commits no valid assignment while tags remain pending, raise an execution error so ComfyUI Auto Queue stops instead of repeatedly preparing and rejecting the same batch.
Chore
Ready-to-use Danbooru corpora: Package the completed 132,701-tag categorized index and four 100,000-post rating corpora as hash-tracked
.exampledefaults. Fresh installs now receive all required Prompt Forge lists automatically, while startup updates continue to preserve user-modified or intentionally deleted runtime files.
Docs
Document the constrained underscore recovery, no-progress stop behavior, Qwen 3.5 9B exact-preserving baseline, observed Qwen 3.8 27B underscore normalization, packaged corpus extraction/update behavior, and startup handling for new, unchanged, modified, and intentionally deleted defaults.
Version: 4.3.13
Feat (New)
Danbooru Prompt Forge: Add an Eclipse-owned V3 output node that deterministically assembles prefix, required, custom, and generated tags from user-provided general, sensitive, questionable, and explicit corpora with first-occurrence deduplication and optional underscore formatting. Provide feature chips, shared seed controls, opt-in missing-tag handling, and optional category filtering; rating-only mode removes corpus metadata without requiring a categorized index, while category mode validates exclusions and applies the configured category order. Keep the large rating corpora outside the distribution so users can import compatible files or build them with Corpus Maintenance.
Danbooru Corpus Maintenance: Add an Eclipse-owned V3 node that builds and refreshes rating corpora, the authoritative Danbooru tag catalog, and the pending general-tag backlog. Balance collection toward the smallest selected corpus, search high-score bands first, support automatic or custom score ranges up to 5,000, and combine sparse score-index pages with persisted randomized post-ID regions, descending cursors, and one newest-results wrap. Preserve resumable per-rating checkpoints and published responses across request limits and retryable server failures; provide rating rewind/resume, catalog-only refresh, a configurable target up to 100,000 posts per rating, and a node-local
Stop requests → categorizehandoff. Filter newly returned posts through a multiline exact-tag exclusion list accepting commas or line breaks, with adjacent separators, blanks, and duplicates ignored.Reviewed categorization and Category Apply: Add an independent two-pass SmartLLM workflow and a V3 apply node for pending general tags. Ground both passes with the live category rules, compact examples, failure-case pairs, explicit boundary guidance, and strict minified JSON contracts; validate results against private batch manifests, preserve canonical tags such as
<o>_<o>, recover only unambiguous manifest-ordered assignments from narrowly malformed or truncated output, and leave unusable tags pending. Publish accepted assignments atomically in category/tag order, block the chain when no work exists, gate categorization-enabled collection while a backlog is pending, and provide a confirmed reset that rebuilds the backlog while preserving rating files, checkpoints, and authoritative metadata.Provider-neutral manual categorization: Add a mutually exclusive manual action that exports the complete ordered backlog in deterministic numbered batches with the live rules, two-pass prompt contracts, categorized reference, content-derived snapshot manifest, and documented draft/review paths. Reuse unchanged packages without overwriting user results, reject modified generated inputs and unsafe symlinks, keep all SmartLLM-chain outputs blocked, and leave result consumption entirely to users or external tooling.
Refactor
Repository-owned prompt data: Stop inspecting, migrating, renaming, deleting, or creating Eclipse's former
models/Eclipse/*convenience links during startup. Retain recursive hash-aware.exampleextraction for Eclipse configuration, prompts, patterns, styles, and wildcards, preserving user edits and intentional deletions while seeding new packaged defaults. Continue exposing repository-owned prompts through the dedicatedmodels/wildcards/smart_promptjunction or symlink; verify its resolved target on Windows and Linux, repair wrong or dangling links, and refuse to replace a real directory already at that path.
Docs
Document Prompt Forge rating-only and category-filtered operation; corpus import and collection; adaptive pagination, exclusions, checkpoints, request stopping, catalog refresh, backlog gating, categorization reset, and the 100,000-post rating target; direct two-SmartLLM wiring, deterministic greedy settings, compact JSON budgeting, review recovery, credentials, publication, manifests, and backups; the manual remote-LLM export workflow and external-only result handling; repository-owned default extraction and prompt paths without
models/Eclipseconvenience links; and tested model guidance led by Qwen 3.x 8B/9B.
2026-08-24
Version: 4.3.12
Fix
Committed setter names: Let Mode Bridge Set and regular Eclipse Set names remain editable drafts in Nodes 2.0, then validate them (and trim bridge names) and apply duplicate suffixes only on Enter, focus leave, or serialization; propagate only committed names to getters and automatic titles while preserving custom node titles and classic modal behavior.
FX color pickers: Restore native color controls for Image with FX and Text Image with FX in current Nodes 2.0 by matching semantic input labels first while retaining the older label-row lookup as a fallback, including colors revealed later by glow, shadow, and stroke controls, and render a full-height rounded color swatch instead of the browser's thin default line.
Version: 4.3.11
Fix
Fresh-subgraph getter lists: Refresh Nodes 2.0 combo reactivity after Eclipse's settled add/paste coordination so Set/Get and Mode Bridge getter dropdowns immediately see names from their newly attached graph without a workflow reload, while preserving classic canvas behavior and existing selections.
Kargim tiled-decode controls: Update
tile_sizevisibility immediately whentiled_decodechanges in classic canvas and Nodes 2.0, preserve manually resized height while previews are enabled so the preview absorbs row changes, retain automatic resizing when preview isNone, and restore the correct state after workflow reloads.Compact collapsed-node restoration: Preserve each collapsed node's latest expanded dimensions through root/subgraph remounts while treating an already-expanded node's live size as authoritative, preventing stale cached geometry from resizing expanded root nodes after navigation.
2026-08-22
Version: 4.3.10
Fix
Concat Pipe Multi recursion: Ignore nested transport-level
pipekeys and return one flat merged context so ComfyUI 0.33.1 can inspect outputs without recursive model tracking or duplicate field displays.Loaded image sampling metadata: Reverse Image Save's CivitAI fallback encoding so combined values such as
er_sde_simplerestore separatesampler_name: er_sdeandscheduler: simplepipe fields.Legacy subgraph DOM previews: Give duplicate promoted preview views source-specific runtime names and keep each rendered DOM row bound to its concrete source across both frontend 1.46.2 row layouts, even when ordinary promoted controls are filtered or another preview is populated later, so Preview Image and Load Image remain independently visible through reload and live updates.
Load Image control alignment: Remove the extra horizontal inset from the source chips, image selector, and URL controls so their outer edges align with the DOM preview in both renderers.
LoRA Stack control alignment: Match the mode-chip edges to native widget rows in Nodes 2.0 while retaining the canvas-specific inset that aligns them with classic dropdowns.
Version: 4.3.9
Fix
Responsive image grid: Keep grid-picker thumbnails at a fixed size, recompute the number of rows and columns as the resizable popover dimensions change, and reserve a bottom gutter so the scrollbar stays clear of the resize handle.
Version: 4.3.8
Feat
Configurable chip accent: Add an Eclipse-owned color picker that persists a validated hexadecimal accent in private
config.jsonand applies derived hover, border, trigger, and contrast colors immediately to shared combo chips plus the standalone LoRA Stack and direct Load Image source-mode chips.Aligned chip popovers: Size shared combo-chip popovers to the rendered trigger-bar width while preserving every chip's intrinsic dimensions.
Image grid picker: Replace the visible filename combos and standalone upload, refresh, and delete controls on both direct Load Image nodes with an Eclipse-owned, renderer-independent browser featuring a viewport-clamped resizable popover, virtualized lazy grid/list views, filename search and ordering, keyboard navigation, persistent layout, ordering, and popover-size preferences, multi-upload with partial-failure reporting, deterministic deletion, and complete lifecycle cleanup while retaining the original serialized backing values, source modes, previews, drag/drop, clipboard, and Mask Editor behavior.
2026-08-19
Version: 4.3.7
Refactor
Smart detection postprocessor extraction: Move Detection to Bboxes and its conditional-widget frontend to
ComfyUI_SmartLLM, preserving its[Eclipse]ID, schema, list semantics, mask/bbox outputs, and workflow serialization.
Docs
Point Detection to Bboxes to SmartLLM alongside the Smart Detection node whose structured output it consumes.
Version: 4.3.6
Refactor
Complete pipeline extraction: Move CLIP Text Encode, CLIP Text Encode (Advanced), Conditioning Zero Out, IO Checkpoint Loader, and Eclipse KSampler (Pipe) to
ComfyUI_SmartModelLoaderwhile preserving their exact[Eclipse]IDs, schemas, categories, pipe contracts, and workflow serialization.Single frontend ownership: Remove the Advanced encoder extension and stop Eclipse seed/preview hooks from targeting the transferred pipe sampler, preventing double wrapping when both packs are installed.
Docs
Point the transferred conditioning, pipe IO, and sampler nodes to their standalone provider while retaining Eclipse's generic pipe toolkit, Conditioning Passer, Kargim sampler, resolution pipes, and workflow utilities.
2026-08-17
Version: 4.3.5
Fix
Smart-resize subgraph and renderer transitions: Restart the existing visibility-aware smart resize when graphs or renderers change, cancel work started under the prior strategy, refresh Nodes 2.0 mount observation and cached elements, query exact escaped node IDs, reject DOM decoys, prefer the newest valid remount, and verify logical and CSS dimensions through the asynchronous layout-store settling window; this prevents external Smart Model Loader nodes and other conditional-widget nodes from reverting to oversized or cross-renderer geometry after navigation and live Nodes 2.0/classic switches.
Hidden widget slot lifecycle: Install classic drag-targeting guards even when a visibility manager is created in Nodes 2.0, synchronize hidden slot state in both renderers, disconnect every linked slot in one synchronous user-driven batch, restore prior draw state, and clean up temporary auto-target markers even when LiteGraph throws.
Settings initialization safety: Hydrate Eclipse defaults from its own redacted config endpoint and suppress ComfyUI's automatic first change callback so persisted frontend state cannot write stale values back to Eclipse configuration.
Nodes 2.0 classic group menus: Route group right-clicks through the complete classic canvas menu, retaining its existing group mode, fit, selection, extension, and third-party actions plus the standard
Edit Groupsubmenu, while preserving reroute and empty-canvas behavior.Explicit custom-color labels: Rename the custom node color actions to identify title, background, and combined title/background colors clearly in both classic and Nodes 2.0 menus.
Eclipse-only data reset: Restrict both reset scripts to Eclipse-owned prompts, patterns, styles, wildcards, and root configuration so they no longer delete or promise to re-extract companion-owned templates, registries, LLM configuration, or Docker state.
Perf
Smart-resize lifecycle scheduling: Track outstanding resize demand so renderer switches resume only interrupted or pending nodes instead of recomputing every stable registration, preserve settled geometry through renderer-owned layout-store writes with a bounded cached-geometry check that performs no size computation or explicit dirty call, and retain full active-graph correction for graph returns; coalesce overlapping graph events, merge graph and remount restarts, cancel inactive-graph probes, share post-apply verification across nodes, reuse stabilized measurements, and skip no-op CSS writes and canvas invalidation while retaining four-frame verification and the 60-frame safety bound.
Refactor
Standalone diffusion-loader pack: Move Smart Model Loader, Model Loader, Model Loader Pipe, CLIP Loader, VAE Loader, VAE Loader Video+Audio, their templates, GGUF support, verified CivitAI acquisition, and the Download Manager into
ComfyUI_SmartModelLoaderwhile preserving the six[Eclipse]workflow node IDs and bundle schema compatibility.Standalone SmartLLM pack: Move Smart LM Loader, Smart Detection, the Registry Manager, native and container backends, model acquisition and integrity, defaults, configuration, security, Docker tooling, and Florence-2 support into
ComfyUI_SmartLLM1.0.0 while preserving both[Eclipse]node IDs, schemas, and the/smartlmlAPI contract.Neutral retained infrastructure: Relocate Universal Block Swap to
core/blockswap.py, retain only Image Save's required hashing helpers incore/model_integrity.py, preserve LoRA Stack's Nunchaku support, and keep Load Audio and cross-pack detection, image-selection, preview, and seed integrations in Eclipse.Confirmed config extraction cleanup: Remove loader-owned fields only after value-free companion migration markers confirm examination, require both Smart Model Loader and SmartLLM before removing shared token and retry fields, delete matching comments in the same private atomic transaction, and retain all Eclipse-owned and unrelated values.
Docs
External loader provider: Point Eclipse users to
ComfyUI_SmartModelLoaderfor the extracted nodes, loader guides, templates, security policy, and Download Manager.External SmartLLM provider: Point users to
ComfyUI_SmartLLMfor Smart LM Loader, Smart Detection, the Registry Manager, backend setup, Docker installation, migration, and security documentation.Independent settings ownership: Document the separate
Eclipse,Smart Model Loader, andSmart LM Loadercategories, config files, credentials, endpoints, log levels, and retry policies.SmartLLM registry-reference ownership: Remove Eclipse's remaining copy-paste model registry guide after transferring it to
ComfyUI_SmartLLM, and correct Eclipse folder and file-location documentation to name the owning companion pack.
Chore
Loader-only cleanup: Remove loader and Download Manager registration, routes, settings, migrations, frontend assets, defaults, GGUF vendor code, and the unused
ggufdependency from Eclipse without deleting existing ignored user configuration, templates, queue state, or partial downloads.SmartLLM cleanup: Remove Smart LM registration and startup,
/smartlmlroutes, settings, legacy migrations, frontend assets, defaults, registries, Docker scripts, Florence-2 vendor code, audit tooling, and SmartLLM-only dependencies without deleting ignored user configuration, registry edits, prompts, Docker mappings, model files, provenance, partial downloads, or existing links.Legacy extracted credential cleanup: Remove the former Smart LM Gemini API key and its description from Eclipse defaults and runtime configuration.
Breaking
Loader and Download Manager extraction: Eclipse no longer supplies the six diffusion loader nodes or Download Manager. Install
ComfyUI_SmartModelLoader; external HTTP clients must migrate from Eclipse-owned routes and events to/smart-model-loader/....Smart LM and Detection extraction: Eclipse no longer registers Smart LM Loader, Smart Detection, the Registry Manager, or
/smartlmlroutes. InstallComfyUI_SmartLLM; saved workflows continue to resolve the unchanged[Eclipse]node IDs through that pack.
2026-08-16
Version: 4.3.4
Feat
Image Convert alpha compositing and category: Replace the redundant remove-alpha toggle with optional straight-alpha compositing onto a configurable background color, visibly normalize styles—including
none—shifted by the new widget position when loading older workflows, leave non-RGBA inputs unchanged, and move the node from Conversion to Image/FX & Color.
Fix
Nodes 2.0 initial preview sizing: Give freshly created dedicated image, video, audio, text, SEGS, optional wildcard, and unconstrained MatchType display outputs—including both Show Any variants—a 225 × 225 minimum expanded model size through Vue's initial settling frames while preserving larger dimensions, contained DOM widgets, classic canvas behavior, subgraph hosts, and every configured, cloned, or later manually resized size.
Version: 4.3.3
Feat
Subgraph DOM previews: Add a persistent
Eclipse -> DOM previewssubmenu for exposing independent image and text preview widgets directly on current ComfyUI subgraph nodes, including nested subgraphs and classic or Nodes 2 rendering.
Fix
Instance-correct preview updates: Route executed output through colon-delimited display-node paths and propagate manual preview changes one subgraph boundary at a time so multiple instances of one definition remain independent.
Direct-widget compatibility, lifecycle, sizing, and culling: Detect whether subgraph hosts retain direct custom widgets, hide the Eclipse menu and leave saved mappings intact on unsupported frontends, rebuild exposed previews after workflow load without altering saved subgraph dimensions, exclude their values from workflow serialization, cleanly remove disabled projections, and cull host-owned DOM widgets without relying on removed promoted-widget internals.
Subgraph native-image suppression: Clear standard image output through the owning graph's locator after Eclipse routing completes and mark DOM-preview nodes as custom-rendered, preventing the native background/media preview from appearing beside the Eclipse widget inside subgraphs.
Frontend compatibility: The new direct subgraph DOM-preview experience requires ComfyUI frontend 1.51.2 or newer; older frontends remain supported through capability-detected fallbacks, including legacy promoted previews where available, while unsupported direct-widget controls stay hidden and saved mappings are preserved.
2026-08-12
Version: 4.3.2
Feat (New)
Standalone Download Manager (Beta): Add a separate CivitAI and Hugging Face inspection modal with its own semantic paged data grid, responsive and desktop-resizable styles, state, APIs, persistence, progress events, left-toolbar launcher, Eclipse menu command, and classic-menu button while leaving the Smart LM Registry Editor unchanged.
Persistent verified transfer queue: Add and import jobs in a manual-start ready state; provide selected start and inactive-record removal controls; process started transfers one at a time; atomically persist immutable provider identity, registered destinations, provider and local digests, conflicts, progress, timestamps, and sanitized failures; recover interrupted jobs; retain cancelled partials for validated retries with an explicit destination-locked Delete Partial action; and allow cancellation only before non-abortable hashing, verification, locking, and promotion.
Download bundles: Preserve provider provenance, expected and local digests, destination assignments, and conflict policies in portable bundles without coupling the Download Manager to Smart Model Loader templates.
Feat
Immutable provider inspection: List every CivitAI version file from AIR, exact AIR, SHA-256, model-version URL, or download URL; suggest identity-verified author filenames with precision/file-ID collision fallbacks while preserving REST filenames; and page immutable Hugging Face repository/file results resolved to full commits with LFS/Xet SHA-256 or regular Git blob identity.
Live destination policy: Populate categories and roots from ComfyUI's registered model folders; collapse identical root registrations; distinguish same-named roots without exposing absolute paths; provide metadata and filename suggestions with ambiguity confirmation; and support search, sorting, filtered select-all, supported-file toggles, selected-rows-only bulk assignment with accessible flow guidance, and per-row overrides.
Provider-neutral verified acquisition: Extend the hardened transactional transfer primitive to verify regular Hugging Face Git blob identities without changing existing CivitAI SHA-256 behavior, cancellation timing, containment, resume validation, destination locking, or atomic promotion.
Download Manager trust boundary: Reject arbitrary roots, absolute paths, traversal, symlinks, incompatible extensions, unverifiable files, oversized requests, cross-origin mutations, and remote multi-user global access; exclude credentials, headers, and signed URLs from queue and bundle persistence.
Docs
Download Manager guide and research: Document launch surfaces, provider locators, immutable identity, format exceptions, queue recovery, cancellation, bundles, and the validation boundary.

2026-08-11
Version: 4.3.1
Feat
Secure diffusion model loading: Resolve checkpoints, UNets, GGUF models, CLIP, VAE, audio VAE, and LoRAs through their declared ComfyUI folder roles; allow configured role roots to resolve through symlinks while rejecting traversal, symlinked files or subfolders beneath those roots, unsupported files, malformed workflow values, and unsafe component settings before cleanup or deserialization while retaining baked CLIP/VAE/audio-VAE compatibility for supported UNet files.
Administrator-local legacy-format policy: Deny pickle-capable .ckpt, .pt, .pth, and .bin artifacts by default and add Eclipse.AllowLegacyModelFormats as an immediate local-only override that is never stored in workflows or templates.
Model-aware download precision: Expose the complete CivitAI precision and GGUF quantization superset while dynamically showing only standard precisions or GGUF Q/IQ/TQ choices for the selected model type.
Transfer-only download abort: Reuse the CivitAI download button as a percentage-preserving abort control during network transfer, then close cancellation before hashing, verification, locking, and promotion while showing live in-place transfer, hashing, and verification percentages plus phase status in the node and console.
Fix
Verified integrity and CivitAI acquisition: Replace timestamp trust with stable versioned SHA-256 metadata, serialize concurrent transfers per canonical destination, compare the primary selected model against trusted hashes when available while allowing metadata-free local models to load after recording a baseline, retain unconditional auxiliary-component path and format validation, validate AIR model/version/file identities, constrain DNS and redirects to public addresses, enforce strict resume and resource limits, and atomically promote only verified downloads.
Transactional persistence and maintenance: Group persistent JSON coordination anchors under private per-directory
.locksfolders; lock, flush, fsync, and atomically replace template and integrity JSON while preserving malformed files; hold ComfyUI's queue mutex during destructive maintenance, apply model-format validation to exact template-selected deletion targets, remove canonical and legacy sidecars, and retain tombstone rollback.Hardened model-loader endpoints: Keep existing URLs while bounding JSON-object requests, strictly validating destructive booleans, rejecting cross-origin mutations, limiting multi-user global changes to loopback clients, offloading blocking model I/O, sanitizing failures, and reconciling audio_vae across frontend and backend feature definitions.
Role-correct CivitAI file selection: Select by target role before exact identity, precision, or primary status; support checkpoint-classified standalone diffusion variants such as Z-Image while model roles still exclude auxiliary files, component roles remain isolated, canonical AIR types override stale input tokens,
defaultretains the primary artifact while an explicit precision selects a unique largest match, exact+fileIdAIR identities survive persistence, and same-precision filename collisions gain a stable CivitAI file-ID suffix without changing hash verification.Filename-free template metadata: Rebuild locator and expected-hash metadata from the visible AIR/SHA editor when saving a template under a new name, remove cleared inherited metadata, and consume only the locator used by a verified download.
General settings category: Rename the visible
Eclipse → Genericsubsection toEclipse → Generalacross general controls and Groups Panel sorting while preserving all setting IDs and stored values.
Refactor
Shared model-loader core: Consolidate validation, loading, pipes, BlockSwap, templates, integrity, acquisition, lifecycle, and endpoint helpers under core/model_loader while retaining compatibility re-exports and unchanged node IDs, sockets, pipe keys, templates, and workflow serialization.
Docs
Diffusion loader security guide: Document safe formats, integrity provenance, CivitAI and endpoint boundaries, the threat model, and a clearly opt-in real-model compatibility ledger.
2026-08-10
Version: 4.3.0
Feat (New)
Smart LM Registry Editor (Beta): Add a guided interface for inspecting, adding, editing, downloading, verifying, and removing registry entries or local model files across all supported Smart LM backends.
Feat
Expanded Smart LM backend support: Add explicit llama.cpp registry routing, native vLLM entries, corrected Linux Docker vLLM routing, and new curated llama.cpp/GGUF models with verified metadata.
Fix
Verified model acquisition and integrity: Pin supported artifacts to immutable upstream revisions and exact SHA-256 hashes; verify downloads, repairs, and existing local files; recover interrupted repositories; preserve resumable progress; and prevent incomplete or corrupted models from being treated as usable.
Safer checkpoint loading: Restrict YOLO and legacy Florence checkpoints to reviewed weights-only loading, validate Florence shard completeness and model state, and require immutable pins before registry-provided remote code can run.
Hardened Docker backends: Pin managed images by release tag and digest, recreate containers when effective settings change, use read-only model mounts and stronger isolation, and remove shell command construction from Ollama imports.
More reliable backend execution: Correct vLLM, SGLang, llama.cpp, and Ollama routing, startup, reuse, quantization, parallelism, compile-mode, NVIDIA-driver, transport-error, and diagnostic handling.
Accurate device and load planning: Make Transformers, Florence, and WD14 honor effective device, precision, attention, memory, fallback, and cache identity instead of silently reusing incompatible state.
Exception-safe lifecycle and maintenance: Guarantee cleanup after successful or failed execution, preserve the original error when cleanup also fails, and prevent verification or deletion from racing active model use.
Secure endpoints and persistence: Reject cross-origin mutations, restrict global multi-user changes to loopback clients, bound request bodies, protect credentials, and atomically persist configuration, registry, provenance, and Docker state without losing concurrent updates.
Transactional model preparation: Make Mistral conversion explicit and recoverable, with resource preflight, validated temporary outputs, atomic completion, and interrupted-output quarantine.
Output cleanup and privacy: Apply one generated-text cleanup contract across backends and keep prompts, responses, backend bodies, images, and credentials out of normal logs.
Docs
Smart LM security and setup guides: Document the registry editor, verified downloads, Docker isolation, credential handling, backend requirements, and remaining trust boundaries.

2026-08-02
Version: 4.2.8
Refactor
Nodes 2.0 viewport virtualization: Remove the Eclipse-side render-control implementation and defer virtualization to the direct frontend implementation.
Fix
Nodes 2.0 compact collapsed nodes: Reapply fallback compact geometry, expanded-width caps, resize observation, logical bounds, and paint tiers whenever viewport virtualization remounts a node, while keeping expanded z-index values stable and limiting remount work to the replacement element.
Version: 4.2.7
Feat
Fast Mode Toggle: Use native boolean switches in classic and Nodes 2.0, normalize legacy workflow values synchronously against connected target modes, and preserve boolean state through restrictions, off-mode changes, reconnection, synchronization, and serialization.
2026-08-01
Version: 4.2.6
Feat
Nodes 2.0 viewport virtualization: Add opt-in, exact settled-viewport component suppression through the public frontend rendering API, with two-frame hydration, interaction-safe retention, immediate disable restoration, native-setting precedence, update deduplication, and fail-open compatibility.
Fix
Classic Nodes 2.0 context menus: Preserve Eclipse-owned preview menus, browser text editing, and native audio/video menus while routing ordinary images to image-aware LiteGraph actions and retaining complete classic widget and node menus.
2026-07-30
Version: 4.2.5
Fix
Nodes 2.0 collapsed display: Share canonical setting metadata and migration precedence, always preserve expanded dimensions on vanilla frontends, and limit compact mode to natural collapsed width, header spacing, and price/status suppression while retaining the pin.
Nodes 2.0 stacking: Match the native unselected-collapsed, expanded, and selected-collapsed paint tiers on vanilla frontends while preserving native order and pointer ownership across selection, remount, and graph-navigation changes.
Nodes 2.0 badges and low detail: Hide only Muted/Bypassed status badges, cover all native detail surfaces with layout-preserving low-detail visibility, use the strict full-detail threshold, and cleanly rebind or remove fallbacks across canvas and renderer changes.
Native capability boundary: Bypass Eclipse display fallbacks when the frontend implements them and keep viewport virtualization absent on vanilla frontends.
Vanilla frontends are the official frontends without the changes described in this article
Note: The location has also changed. It moved from the Eclipse tab to the Comfy tab.
Version: 4.2.4
Fix
Eclipse KSampler previews: Preserve authoritative live, final, and hidden phases when viewport virtualization remounts or replaces Nodes 2.0 node elements, even when raw and reactive preview caches diverge, and clear transient previews with the correct root or subgraph
NodeLocatorIdkey.Dynamic widget sizing: Reapply the current visibility-driven geometry when viewport virtualization remounts or replaces Nodes 2.0 node elements, so Smart Model Loader and other conditional-widget nodes return at the correct height after panning or offscreen changes while classic canvas behavior remains unchanged.
2026-07-25
Version: 4.2.3
Feat
Eclipse settings organization: Organize all thirteen controls under
Eclipse → Generic,Eclipse → Nodes 2.0, andEclipse → Smart LM Loader, with simplified labels, deterministic ordering, and Groups Panel access guidance while preserving stored IDs, callbacks, and write-only token handling.Classic Nodes 2.0 context menu: Add an opt-in, immediately applied compatibility setting that replaces the PrimeVue node and widget menu with the complete classic LiteGraph menu, including Eclipse and third-party nested entries, callbacks, separators, and disabled states.
Fix
Eclipse KSampler previews: In Nodes 2.0, preserve explicit live, final, and hidden phases across root and nested-subgraph navigation, so Vue remounts and reruns cannot reveal a stale preview; successful runs show only the new final, while errors or interruptions restore the last successful output and classic canvas behavior remains unchanged.
Perf
Nodes 2.0 interaction: Limit collapsed-bound correction to collapsed nodes, batch graph-navigation size synchronization, suspend classic preview-culling scans and timers in the Vue renderer, clear stale promoted-widget culling state on renderer changes, replace relational badge selectors, and skip identical native size-style writes while preserving classic culling and dynamic-widget resizing.
2026-07-24
Version: 4.2.2
Feat
Detailer live preview: Add an enabled-by-default switch to Detailer (SEGS/pipe) for suppressing intermediate latent images while preserving progress updates and final denoised output.
Version: 4.2.1
Feat (New)
Compact workflow IDs: Add an action-bar command that safely renumbers active-workflow nodes in saved canvas order, places each subgraph definition's internal nodes directly after its first visual instance with recursive depth-first numbering, compacts link IDs, repairs duplicate IDs, removes orphaned links and stale slot references, preserves valid topology and special IDs, validates changes atomically, and participates in normal undo and Save handling.
Fix
Text DOM previews: Restore hover-focused wheel scrolling in Nodes 2.0 for Show Text and Show Any variants, hand wheel input back to canvas zoom at text boundaries, and preserve classic-renderer behavior.
2026-07-23
Version: 4.2.1
Fix
Text DOM previews: Restore hover-focused wheel scrolling in Nodes 2.0 for Show Text and Show Any variants, hand wheel input back to canvas zoom at text boundaries, and preserve classic-renderer behavior.
Version: 4.2.0
Feat (New)
Indices to List: Convert comma- or newline-separated integer indices from an editable string widget into the LIST format used by IO Slice & Dice.
WAN LipSync Timeline Planning: Add Timeline Planner and Plan Step nodes for building frame-exact InfiniteTalk extension tasks from manual or automatically spaced transitions, with optional Wav2Vec2 activity-gap alignment and accumulated-frame timing.
Feat
Filter Prompt: Filter tag lists and natural-language prompts with exact word sequences and count-based wildcard slots; each
*matches one complete word, spaces and underscores are equivalent, and tag-list removal preserves whole tags.Loop Image Selector: Pass a single image source or one-frame batch and existing loop context through unchanged without redundant selection or transition blending.
Save Video: Report throttled ComfyUI progress while encoding frames and finalizing the output container.
UI Enhancements: Add an enabled-by-default, server-backed option to hide Muted and Bypassed badges in Nodes 2.0 without changing node state, serialization, or execution.
Fix
Nodes 2.0 sizing: Preserve compact, collapsed, saved, and manually resized dimensions across fresh and loaded workflows, renderer switches, and root or nested subgraphs; keep logical bounds, connection positions, stacking, and CSS width aligned with rendered nodes.
Image and video previews: Contain intrinsic media sizing for Image Selector, Load Image variants, Preview Image, Preview Mask, Save Images, video previews, and Image Comparer while retaining aspect ratios, minimum sizes, internal scrolling, independent folder-preview resizing, and classic-renderer behavior.
Image Selector and combo-chip controls: Restore immediate focused wheel scrolling with canvas navigation at grid boundaries, clean up interaction listeners during rebuild/removal, and match combo-chip bar height between Nodes 2.0 and classic rendering.
Context menus and mode controls: Restore multi-node Custom Title/BG/All actions, hoverable deep navigation and reorder submenus, and reliable Fast Mode Switcher and Toggle promotion for every subgraph instance after workflow load.
Dynamic type links: Preserve wildcard, reordered-union, compatible-subset, and subgraph links across workflow reloads for Convert Primitive, Any Multi-Switch, and Set/Get using deterministic type restoration and LiteGraph-compatible validation.
Network and API security: Block image-download SSRF across DNS and redirects, enforce component-aware CivitAI paths, keep Hugging Face tokens write-only, and use safe LoRA deserialization.
Frontend lifecycle: Remove Load Image document listeners with their nodes and always unwind shared graph-to-prompt state after serialization failures.
Image and video correctness: Preserve sanitized Color Match targets, clamp resized image and mask outputs, convert normalized Smart Detection coordinates to original-image pixels, and normalize loop-mode Save Video frames before resizing.
VRAM purge: Synchronize aggressive model unloading, garbage collection, and accelerator cache clearing while failing safely without interrupting workflows.
Smart LM and progress titles: Preserve compact Smart LM Loader height across reloads and restore serialized custom or schema display names after progress updates in Smart LM and folder batch loaders.
Image Convert: Match the V3
remove_alphainput keyword and defer optional pilgram dependency failures until a style filter is selected.Image Comparer: Replace overflowing A/B batch labels with a responsive matching-pair navigator that remains clear of sockets and clickable in both renderers.
Perf
Nodes 2.0 low-zoom rendering: Add enabled-by-default, configurable detail reduction that preserves titles, shells, sockets, links, execution indicators, and layout while suppressing expensive controls and previews below the cutoff.
Bounded I/O: Stream image transfers within the 100 MB limit, reuse timed Smart LM responses, and move CivitAI resolution/hash work and audio slicing to bounded worker tasks.
Save Video: Reuse homogeneous input batches during loop processing instead of concatenating duplicate full-size tensors.
Docs
RIFE Multiplier: Clarify that interpolation targets should be at least twice the source FPS because lower targets may round to an unsupported 1× no-op.
2026-07-07
Version: 4.1.0
Feat (New)
Image Resolution Pipes: Added
Image Resolution PipeandImage Resolution Simple Pipenodes for passing custom resolution and batch settings through workflows.List/Batch Conversion: Added MatchType-based
To ListandTo Batchnodes for converting and consolidating list and batch inputs.Load Batch From Folder (Step Advanced): Added advanced resizing, sorting, paged
batch_indexexecution, automatic queue advancement, and source-file list output.IO Slice & Dice: Added direct index-based slicing for connected text, conditioning, latent, image, and list inputs, with the selected indices passed downstream.
Filter Prompt: Added tag, string, parenthesis, and wildcard-expression filtering while preserving the remaining prompt formatting.
Image Batch Extend With RIFE: Added an experimental gradient-MSE pyramid transition node with optional RIFE replacement of center frames and safe fallback behavior.
Feat
Convert Primitive / To List: Added recursive list and tuple flattening, element-wise scalar conversion, boolean numeric fallbacks, and newline/comma string splitting.
Image Selector: Added an
indicesoutput, an "All" action, stacked status controls, stable in-memory preview caching, and improved selection reset behavior.Routers and Passers: Added Generic MatchType and native list-wise execution across switches, conditionals, and pass-through nodes, including safe
[None]fallbacks.List/Batch Processing: Added native list and batch handling across image transforms, loaders, video nodes, tile nodes, batch operations, and text deduplication.
Save Prompt: Added list-wise execution and source-folder-anchored output paths while retaining containment for ordinary relative paths.
Smart LM: Added loader-template core-model deletion, newline-only Prompt Variations output, batch and WD14 progress reporting, title updates, and automatic WD14 layout resizing.
Workflow Utilities: Added multi-slot reordering menus to GetAllActive/GetFirst, batch-frame support to Tile Split, and explicit camera-angle guidance to vision prompts.
Fix
Tile Assembly: Corrected batch/list reconstruction in Tile Assembly and Tile Decode & Assembly with native list input/output handling.
Image Selector: Corrected one-image-per-row and fixed-column layouts, resize loops, nested batch extraction, stale selections, fingerprint instability, and preview flashing after discard/reset.
Folder Loaders: Added memory caches tied to file-list invalidation and restored clean titles after interrupted scanning, loading, or resizing.
WD14: Added persistent CPU fallback for CUDA/cuDNN failures so batch tagging does not repeatedly retry a failing GPU provider.
Save Prompt: Handled
Noneand empty text inputs and corrected%source_base_folderresolution when usingfilename_optwithout a pipe.IO Slice & Dice: Corrected recursive flattening, batch-size alignment, conditioning slicing, image/image-list cross-population, and mixed-size batch fitting.
List/Batch Output Protocol: Centralized list-wrapped outputs to prevent ComfyUI V3 from auto-slicing 4D tensors into invalid 3D downstream inputs; updated Image Resize accordingly.
Convert Primitive: Corrected multi-element tensor boolean conversion and added graceful fallbacks for conversion errors.
Smart LM and Migration: Restored clean node titles after interruption/errors and stopped manually deleted defaults from being recreated on startup.
Save Images: Added safe nested
filename_prefixfolders while keeping counters and workflow JSON beside the images and preventing output-path escape.Color Match: Prevented CPU Reinhard black frames by isolating and normalizing matcher inputs, sanitizing non-finite results, and falling back to the target frame.
Refactor
Centralized List/Batch Helpers: Added shared unwrapping, flattening, size fitting, batch detection, and output preparation utilities and adopted them across the node pack.
Type Handling: Modernized dynamic node types and list propagation around ComfyUI V3 MatchType.
Formatting: Reformatted the Python codebase with Black for consistent PEP 8 style.
Perf
Save Video: Encodes flattened frame views directly, defers resizing until encoding, avoids copying unchanged single batches, and evaluates loop candidates in bounded inference chunks.
Folder Loaders: Reads dimensions from headers, downsizes with PIL before tensor conversion, and reuses decoded images from memory caches.
Image Loaders: Returns native image/mask lists to avoid large contiguous RAM/VRAM allocations.
Chore
Moved superseded Convert To List, Convert To Batch, and Load Batch From Folder (Advanced) implementations into the legacy module.
Breaking
Smart LM Loader: Removed the
exclude_tagswidget and backend filter in favor of Filter Prompt, and movedseedbelowreplace_underscore.Image Selector: Replaced the legacy secondary list output with the
indicesoutput used by IO Slice & Dice.
Deprecated nodes:
Convert To List [Eclipse]
Convert To Batch [Eclipse]
Load Batch From Folder (Advanced) [Eclipse]
2026-07-06
Version: 4.0.0
Feat (New)
Show Any Stop [Eclipse]node (py/RvTools_ShowAnyStop.py) which acts as a text/data viewer with a socketless "Stop (Result Review)" review interruption toggle.Image Filter Adjustments Advanced [Eclipse] node (
py/RvImage_FilterAdjustmentsAdvanced.py) with Hue Shift, Temperature, Tint, Solarize, Vignette, Chromatic Aberration, and GPU-accelerated LUT (.cube) loading.Workflow Migration Tool [Eclipse] node (
py/RvTools_WorkflowMigration.py) supporting workflow JSON scanning, validation, and in-place upgrade of legacy [Eclipse] and [RvTools] nodes.standalone
Preview Image (DOM) [Stop](py/RvImage_PreviewDom_Stop.py) andShow Text [Stop](py/RvTools_ShowText_Stop.py) nodes with socketless active/bypass stop toggles to halt execution for manual review.
Feat
refactored
Show Any [Eclipse]node (py/RvTools_ShowAny.py) to act as a simple text/data viewer (matchingShow Any Stopbut without the stop review button).added legacy // RvTools node naming support to the workflow migration systems, splitting mappings into v1 and v2 files, and adding explicit legacy mappings.
added standalone command-line Python script
tools/migrate_workflow.pyfor headless workflow JSON folder/file migration.added interactive large preview overlay to Image Selector with cycling, Space/S/Enter selection toggles, and viewport focus sync.
added grid layout modes, toolbar status layout, preview mode combo dropdown, and double-click high-resolution zoom gesture to Image Selector.
structured Image Selector preview outputs in uid-specific temp folders with automatic cleanup to prevent filesystem bloat.
added native list-of-images and list-of-masks input support to various nodes (Resize, Rescale, Soften, Filter Adjustments, Inset & Crop, Color Match, Upscale, Save, Smart Model Loader, Batch Slice/Strip/Interleave).
added progress bar support (
comfy.utils.ProgressBar) inside the workflow migration execute loops.added floating close button in DOM Preview single image mode to return to grid layout.
updated repository reset scripts under
scripts/to include safety confirmation prompts and preserveconfig.jsonoption.
Fix
resolved a PIL data type
TypeError: Cannot handle this data type: (1, 1, 832, 3)inPreview Image (DOM)(RvImage_PreviewDom.py) by implementing robust list/batch flattening and squeezing logic.updated
Save Images [Eclipse](RvImage_Save.py) to declareis_input_list=Trueandis_output_list=Trueon outputs, wrapping single output elements into lists to resolve downstream list compatibility issues.resolved a list nesting bug in
Save Images [Eclipse](RvImage_Save.py) where returning single-element lists wrapped the output tensor in a nested list[[tensor]], causing downstream SaveImage nodes to fail.resolved execution crashes and schema mapping issues for list connections on Image Selector, Image Comparer, Save Images, Mask to SEGS, and the Stop node.
resolved a frontend configuration bug in Seed node where clicking "New Fixed Random" or randomizing generated a 64-bit seed value when in 32-bit mode.
resolved image display inside Image Selector's One Image per Row mode to calculate dynamic cell heights based on natural aspect ratios.
Docs
added descriptive parameter tooltips with recommended values for advanced photographic parameters to ensure ease of use.
Chore
completely removed all hardcoded static fallback node name mappings from the Python codebase, relying fully on loading external configuration files.
renamed
RvImage_Preview_MasktoRvMask_Previewand moved it under a new Mask node category.reorganized all
RvImage_nodes into Loaders, Save & Preview, Batch Operations, Transforms, and FX & Color subcategory menus.renamed video nodes starting with
RvImage_to start withRvVideo_.complete removal of all deprecated legacy nodes, legacy files, and registry imports for the v4.0.0 cleanup.
Breaking
removed all deprecated legacy nodes, breaking older saved workflows using legacy nodes.
removed compatibility configurations and output connection checks for the rgthree-comfy node pack.
combined Seed and Seed 32-bit nodes into one using a bit_depth combo selector (defaulting to 64-bit).
removed Lora Stack to String node from the codebase.
removed VRAM CleanUp custom node and JS helper.
removed old v21 and v22 Pipe IO Sampler Settings nodes, renamed v23 to Pipe IO Sampler Settings, and removed
prompt_seed,upscale_steps, andupscale_denoiseoptions.removed deprecated Pipe Out VC Name Generator node.
removed Sampler Selection and Custom Size nodes.
removed RAM Cleanup node.
removed version tag suffixes from active node IDs: Smart Model Loader v2 [Eclipse] -> Smart Model Loader [Eclipse], IO Checkpoint Loader v2 [Eclipse] -> IO Checkpoint Loader [Eclipse], Smart Folder v2 [Eclipse] -> Smart Folder [Eclipse], and Save Images v2 [Eclipse] -> Save Images [Eclipse].
2026-07-02
Version: 3.7.28
feat: renamed text conditioning zero out node to RvCond_ConditioningZeroOut and expanded model token mappings to support SD20, SDXLRefiner, HunyuanDiT, GenmoMochi, Cosmos, and CogVideoX.
feat: renamed KSampler (Pipe Data) to KSampler (Kargim), outputting a merged pipe context alongside individual pass-through slots, resolving parameters with custom widget overwrite and external link priorities.
chore: deprecated and moved Basic Pipe, From Basic Pipe, and To Basic Pipe nodes into the legacy module under the Deprecated category.
chore: deleted standard non-pipe KSampler node and cleaned up all backend/frontend references
See the full changelog here


