mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2026-11-05 07:47:25 +00:00
[PR #2652] fix: StrictVersion fails to parse semver pre-release versions (e.g. "0.6.2-b1") #2664
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/ComfyUI-Manager#2664
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Comfy-Org/ComfyUI-Manager/pull/2652
Author: @vvb7456
Created: 2/28/2026
Status: 🔄 Open
Base:
main← Head:main📝 Commits (1)
8b5ebfcfix: StrictVersion fails to parse semver pre-release versions (e.g. "0.6.2-b1")📊 Changes
1 file changed (+11 additions, -4 deletions)
View changed files
📝
glob/manager_util.py(+11 -4)📄 Description
Problem
StrictVersion.parse_version_string()splits the version string by.and callsint()on each part. This crashes on standard semver pre-release versions that use a hyphen separator (e.g.0.6.2-b1), becauseint("2-b1")raisesValueError.The exception is silently caught by
read_cnr_info()incnr_utils.py, causing the function to returnNone. This meansidentify_node_pack_from_path()also returnsNone, and the plugin disappears from the installed list — it cannot be updated, uninstalled, or managed through ComfyUI-Manager.Root Cause
The Comfy Registry specification requires versions to be semantically versioned, and SemVer 2.0.0 §9 defines pre-release versions with a hyphen separator:
However,
StrictVersiononly handles the legacy 4-part dot notation (X.Y.Z.prerelease) and has no support for the hyphen format.Affected Plugins
Currently 7 plugins in the CNR registry use hyphenated pre-release versions:
Fix
Extract the hyphen-separated pre-release suffix before splitting by
., while preserving backward compatibility with the legacy 4-part dot notation.Related Issues
Testing
Verified with all 7 affected versions + normal versions + legacy dot notation + edge cases:
Comparison semantics preserved:
0.6.2-b1 < 0.6.2→ True (pre-release < release, per semver)0.6.2-alpha < 0.6.2-b1→ True (lexical comparison)🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.