Skip to content

Releases: Rogala/ComfyUI-Toolkit

Version 2.0

12 Apr 16:21

Choose a tag to compare

Overview

Complete rewrite of the toolkit. Four separate files (start_comfyui.bat,
ComfyUI-Environment.ps1, ComfyUI-Manager.ps1, smart_fixer.py) merged into
two files (start_comfyui.bat, comfyui.ps1). All logic unified in a single
PowerShell script with a consistent UI, navigation, and language support.


Architecture

v1.0 — 4 files: start_comfyui.bat + ComfyUI-Environment.ps1 + ComfyUI-Manager.ps1 + smart_fixer.py

v2.0 — 2 files: start_comfyui.bat + comfyui.ps1

  • smart_fixer.py is now embedded inside comfyui.ps1 as a PowerShell here-string
    and deployed to .cache/smart_fixer.py automatically on startup
  • start_comfyui.bat reduced to a single-purpose bootstrapper (opens PowerShell window)
  • All Install, Manager, and Launcher logic unified in comfyui.ps1 under named regions:
    #region CONFIG · #region I18N · #region INIT · #region UI ·
    #region LAUNCHER · #region INSTALL · #region MANAGER · #region MAIN

Interface

  • New: PowerShell window replaces cmd window — full Unicode and color support
  • New: Single-keypress navigation — no Enter required
  • New: Header with live status badges: Python ✓, ComfyUI ✓, PyTorch (color-coded)
  • New: Background update check — notifies when a newer ComfyUI version is available on GitHub (once per session, no menu delay)
  • New: Language support — EN / UK, toggled with [L], saved to .cache/settings.json, auto-detected from system locale on first run
  • New: [A] badge on menu items that require administrator rights
  • Changed: Menu navigation uses letter keys (E U S T V R I C M H L) instead of numbers

Launcher

  • New: $LAUNCH_MODES array in #region CONFIG — add a custom launch mode by adding one line, menu rebuilds automatically
  • New: $COMMON_ARGS array replaces the string-based set COMMON_ARGS= — spaces in paths no longer break arguments
  • Fixed: Output directory argument correctly quoted — spaces in folder path no longer cause ComfyUI launch failure
  • Changed: Output directory created on first launch (unchanged behavior, now cross-platform safe)

Install [E]

  • Fixed: Administrator elevation is now targeted — only Python Manager, Git, and VC++ Runtime run elevated; venv, pip, and ComfyUI clone run as normal user
  • Fixed: Swap Python now selects the new version before deleting the old venv — cancelling during selection no longer destroys the environment
  • Fixed: Partial venv (created but missing python.exe) is detected and removed before recreating
  • New: Python version list filters out dev / alpha / beta / rc releases — only stable versions shown
  • Fixed: Compare-SemVer normalizes two-segment version strings (e.g. 2.47) to avoid [System.Version] parse failures
  • Changed: Add-Report level names aligned with Write-Log ValidateSet — Summary now correctly colors warnings yellow and errors red (was cyan in v1.0)

Torch [T]

  • Fixed: PyTorch version list now uses pip index versions instead of parsing pip install torch==0.0.0 error output — stable, documented API
  • New: torchsde installed automatically as part of the torch stack — fixes ModuleNotFoundError: No module named 'torchsde' on ComfyUI startup
  • New: torchsde added to PROTECTED set — never modified by Repair or smart_fixer
  • Fixed: comfyui-workflow-templates excluded from requirements_filtered.tmp during torch install — prevents version conflicts after stack switch

ComfyUI Version [V]

  • New: Release notes saved to .cache/release_notes.log during version switch
  • Fixed: comfyui-workflow-templates excluded from requirements_filtered.tmp — prevents sub-package version conflicts after version switch
  • Fixed: Downgrade detection now correctly compares semantic versions

Repair [R]

Steps increased from 6 to 8:

Step v1.0 v2.0
1 Environment snapshot Environment snapshot
2 Clean pip cache Clean pip cache
3 Remove venv artifacts Remove venv artifacts
4 Smart Dependency Guard Smart Dependency Guard
5 Apply constraints NEW Update comfyui-workflow-templates and sub-packages
6 Repair summary NEW Install missing transitive dependencies
7 Apply constraints
8 Repair summary
  • New: Step 5 — comfyui-workflow-templates and all sub-packages updated with constraint bypass to ensure they survive Cleanup-Venv
  • New: Step 6 — all packages reported as which is not installed by pip check are installed automatically (transitive dependencies not in requirements.txt)
  • Fixed: Cleanup-Venv now builds the installed package set from a single pip list --format json call instead of one pip show per package — O(1) vs O(n), dramatically faster on large environments

smart_fixer.py

  • Fixed: check_import now uses IMPORT_ALIASES dict — pillow→PIL, pyyaml→yaml, opencv-python→cv2, scikit-learn→sklearn; these packages no longer always land in skipped
  • Fixed: get_package_requires now reads Requires-Dist: instead of Requires: — version specs are now correctly extracted
  • Fixed: parse_conflict uses pip check output as primary source (stable format) with import -W all stderr as fallback
  • Fixed: parse_conflict adds new pattern for requires X, which is not installed — missing packages are now installed
  • Fixed: fixed = True is no longer set when parse_conflict returns None but warnings are still present in stderr — false success eliminated
  • Fixed: _get_requests_constraint removed — fragile assert-based parser replaced by direct pip check output
  • Added: torchsde added to PROTECTED
  • Added: comfyui-workflow-templates added to PROTECTED
  • Fixed: Deployed to .cache/ using UTF8Encoding(false) — no BOM, no Python SyntaxError: invalid non-printable character U+FEFF
  • Fixed: DeprecationWarning from C extension types (SwigPyPacked, swigvarlink) filtered out — no longer triggers false conflict detection for sentencepiece

Bug fixes (v1.0 issues resolved)

# Component Issue Status
1 start_comfyui.bat %COMMON_ARGS% unquoted — spaces in output path break launch Fixed
2 Environment.ps1 Invoke-Swap deletes venv before branch selection Fixed
3 Environment.ps1 Add-Report level case mismatch — errors shown cyan instead of red Fixed
4 Environment.ps1 Compare-SemVer fails on two-segment git versions Fixed
5 Manager.ps1 Cleanup-Venv calls pip show N times — slow on large environments Fixed
6 Manager.ps1 $env:PIP_CONSTRAINT set globally — blocks Show-Info utility installs Fixed
7 Manager.ps1 torch version list parsed from undocumented pip error output Fixed
8 Manager.ps1 torchsde not installed with torch stack — ComfyUI fails to start Fixed
9 Manager.ps1 Module 4 overwrites const.txt with only torch trio — erases all other constraints Fixed
10 smart_fixer.py check_import uses wrong import name for pillow/yaml/cv2 Fixed
11 smart_fixer.py get_package_requires reads Requires: (no versions) instead of Requires-Dist: Fixed
12 smart_fixer.py fixed = True on unrecognized warning format — false success Fixed
13 smart_fixer.py torchsde not in PROTECTED but written as protected in const.txt Fixed
14 smart_fixer.py No BOM handling — SyntaxError on Python execution Fixed

v1.0

Initial release. Four-file structure:

  • start_comfyui.bat — cmd-based launcher with numbered menu
  • ComfyUI-Environment.ps1 — Install / Update / Swap Python
  • ComfyUI-Manager.ps1 — Torch stack, ComfyUI versions, Repair, Info
  • smart_fixer.py — Auto dependency guard (deployed to .cache/ by Manager)

Version 1.0

12 Apr 15:51

Choose a tag to compare

Initial release