In light of various efforts in the ComfyUI community, we studied the release approach of Comflowy, Comfy-Deploy, ComfyRun, ComfyUI-Launcher, ComfyUI-Manager, and ComfyUI, etc., and would like to propose our own thinking on this.
History repeats itself
Cathedral vs. Bazaar. Eric Raymond. 1999.
I won't begin by comparing the current development of ComfyUI to Linux in the 1990s. However, it's true that all great software starts with an individual developer; in our case, ComfyAnonymous.
We're talking about kernels, packages, libraries, systems, drivers, etc., for Linux. For ComfyUI, we have ComfyUI, comfyui-manager, nodes (technical and functional), comfy-workspace, and workflows, among others. One could argue that the entire ComfyUI architecture is a brilliant example of software engineering design, so classic that one can envision many potential endings of it (Linux, Vista, OS/2, etc.).
With the little we know (honestly, it's very little), we aim to play our part as the "Ubuntu" of the ComfyUI ecosystem. Having already open-sourced our version of ComfyUI, it's now time to establish a consistent release cadence and provide solid maintenance for all RC releases. Although it might be early and ComfyUI could undergo significant changes, our commitment to supporting the community will persist.
RunComfy ComfyUI (RC)
Version Number (For bookkeeping)
YY.MM.DD.x
YY - Year, 24, 25…
MM - Month, 01, 02…
DD - Day, 01, 02…
x - Integer, 0, 1, 2, 3…
ComfyUI Main Release Moniker (For better user understanding)
Current | RunComfy ComfyUI that is verified with all certified workflows and tests (Production Quality Gate Passed) |
Beta | The latest RunComfy ComfyUI main release, updated daily with new nodes update and ComfyUI updates (Beta Quality Gate Passed) |
Old | Retired release from previous current release |
LTS duration
Due to the high volatility of AI development and advancement, normally we only maintain -1 version of current release in the past.
Testing
There are three different layers that are involved in ComfyUI ecosystem,
- ComfyUI tests
- Custom Nodes tests
- Workflows tests
Each layer should all have the following test phases,
- BVT(Basic Verification Test)
- Functional Test
- UAT (User Acceptance Test)
Quality Gate
Criteria for Production Gate (Moving to Current release)
BVT | Functional | UAT | |
ComfyUI | 100% | 100% | 100% |
Custom Nodes | 100% | 100% | 100% |
Workflows | 100% | 100% | 100% |
Criteria for Beta Gate (Moving to Beta release)
BVT | Functional | UAT | |
ComfyUI | 100% | 100% | 100% |
Custom Nodes | 100% | > 90% | > 80% |
Workflows | 100% | > 90% | > 80% |