Decision Router memory and explanation controls
Add keep_model_loaded to the image and text routers. It defaults to releasing the llama.cpp model and MTMD handler after routing, including errors and empty batches; users can retain the model for faster queue reuse.
Add an opt-in include_reason pass that records a bounded post-hoc explanation in decision_json. The native decision head remains authoritative for route selection and probabilities. Explanation errors are reported without failing routing.
Document both controls and bump package, node registry, and runtime metadata to 3.0.1.
Validation: 227 tests passed in the bundled ComfyUI Python runtime (17.62 seconds), including 29 Decision Router tests. Version metadata parsing and git diff --check passed.
Limitation: explanation generation has not been smoke-tested with downloaded model weights; model-specific chat compatibility and added latency may vary.
Add separate image and text Decision Router nodes with configurable system prompts, up to 52 user-defined routes, per-item decisions, normalized decision_json output, and native IMAGE/STRING route sockets.
Run Clef-Flash 9B, Clef 27B, and OpenJev 27B in-process through llama.cpp. Add decision-head, logits, MTMD vision, and dynamic CUDA backend capability checks before model downloads. Keep model weights and vision projectors out of the repository; do not launch a separate llama-server or upgrade PyTorch/Transformers.
Block inactive route outputs so unused downstream branches are skipped. Keep dynamic route names synchronized with connected outputs and preserve stable socket identities. Register the commercial UI variant while keeping non-commercial OpenJev unavailable in commercial builds.
Update all 3.0.0 package metadata, README, runtime and workflow guides, the illustrated router example, and the detailed update log. Refresh regression expectations for commercial router registration and the current provider model catalog.
Validation: all 220 tests pass in the bundled ComfyUI Python 3.12 runtime. Python compilation, JavaScript syntax, version metadata, README image, and staged diff checks pass. The Image Router was manually exercised with Clef-Flash 9B on fox, dog, cat, and none routes.
Coverage limits: full-weight inference for Clef 27B and OpenJev 27B, text-mode smoke tests, and clean installs across other OS/Python/CUDA combinations remain unverified. The documented Windows x64, CPython 3.12, CUDA 13.0 JamePeng runtime is the only verified build matrix.
* feat: full per-provider model lists with release-time auto-refresh and dedicated custom model field
* feat: add setup help widget to API node (Windows/Linux API key instructions)
* Add OpenAI-compatible API node
* Document OpenAI-compatible API node
* Harden API credentials with server-side profiles
* Ignore local API profile and env files
* Add server-side API profile example
* Document hardened server-side API profiles
* Add API profile security regression tests
* Make API security test loader standalone
* Use generic model ID in API profile example
* docs: expand secure API deployment and secret handling guide
* Harden API transport and request controls
* Fix Python booleans in hardened API node
* Expand API security regression tests
* Update secure API profile examples
* Ignore local API profile variants
* Document hardened API deployment and threat model
* Add CI for API security regressions
* Cap Qwen thinking budget and fail closed on invalid overrides
* Cover thinking budget and fail-closed profile overrides
* Document thinking-budget limits and fail-closed overrides
* Run API security CI for docs and policy changes
- Added Qwen3.8-27B-ABLITERATED-GGUF model to the model catalog with detailed specifications and context length.
- Improved duration widget behavior to ensure it remains hidden for non-video presets and preserves last valid values.
- Updated documentation to clarify duration handling and widget visibility.
- Expanded test coverage for model catalog labels and Qwen3.8 model presence in both text and vision catalogs.
- Refactored model access functions to better manage installed models and local paths.
- Enhanced tooltips and recommendations for model selection, emphasizing installed and local models.
- Fixed issues with dynamic duration-widget serialization and visibility in the frontend.
Refactor the monolithic QwenVL implementation into focused core modules for model access, Hugging Face runtime and configuration, prompt state, prompt contracts, and media helpers while preserving the public compatibility facade.
Add duration-aware LTX 2.3 and MiniMax H3 prompting, including effective-duration cache identity, MiniMax frame-grid normalization, dedicated T2VA/I2VA/FL2VA/L2VA/reference contracts, and best-effort output normalization.
Improve streamed output handling by separating reasoning from final content, rejecting unfinished thinking traces, sanitizing terminal-only punctuation for legacy Windows code pages, and retaining original Unicode in responses and traces.
Expand preset recommendations, ComfyUI tooltips, system prompts, and documentation for video token budgets, thinking settings, reference roles, dialogue fidelity, and duration behavior.
Keep HF and GGUF consumers on canonical shared imports, preserve mutable export identities across reloads, and extend regression coverage for compatibility, downloads, caching, prompting, streaming, and node registration.