ComfyUI/utils
NeonScreams f3f989c79f fix: accept PEP 440 multi-part versions in install_util version parser
is_valid_version() previously only matched strict 3-part semver (X.Y.Z),
causing a false ERROR log on startup whenever requirements.txt contained a
2-part constraint such as SQLAlchemy>=2.0.

Steps to reproduce (before fix):
  ComfyUI currently logs at ERROR level on every startup:
  [2026-04-21 16:06:11.527] Invalid version format in requirements.txt: 2.0
  The offending entry is SQLAlchemy>=2.0 (merged in #13316).

Root cause:
  The regex r'^(\d+)\.(\d+)\.(\d+)$' requires exactly three numeric parts.
  PEP 440 treats 2.0 and 2.0.0 as equivalent release identifiers, so the
  constraint is valid but the validator rejected it.

Fix:
  Replace the regex with r'^\d+(\.\d+)*$' which accepts 1-, 2-, and 3-part
  (and longer) all-numeric release identifiers: 2, 2.0, 2.0.0, 1.25.3.
  Also downgrade the log level from ERROR to WARNING, since an unparseable
  entry is skipped gracefully and does not break the install.

Previously issue #12813 was worked around by changing simpleeval>=1.0 to
simpleeval>=1.0.0 in requirements.txt.  This commit fixes the underlying
parser so the same workaround is not needed for future entries.
2026-04-21 16:45:15 -07:00
..
__init__.py Expand user directory for basepath in extra_models_paths.yaml (#4857) 2024-09-10 00:33:44 -04:00
extra_config.py Normalize extra_model_config.yaml paths to prevent duplicates. (#6885) 2025-02-20 07:09:45 -05:00
install_util.py fix: accept PEP 440 multi-part versions in install_util version parser 2026-04-21 16:45:15 -07:00
json_util.py [i18n] Add /i18n endpoint to provide all custom node translations (#6558) 2025-01-22 17:15:45 -05:00
mime_types.py fix: register image/svg+xml MIME type for .svg files (#13186) 2026-03-26 22:13:29 -07:00