docs: changelog v2.6.7 (nunchaku fast_disk clone fix) EN + ZH
Summary entry + release-notes link for the ComfyUI >=0.38
ZImageModelPatcher fast_disk compat patch (commit 9ee0f7c).
Release notes body to be written separately.
This commit is contained in:
@@ -5,7 +5,14 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
### v2.6.6 (latest)
|
||||
### v2.6.7 (latest)
|
||||
- **Fixed**: `TypeError: ZImageModelPatcher.__init__() got an unexpected keyword argument 'fast_disk'` on every `model.clone()` with a Nunchaku Z-Image model under ComfyUI >= 0.38 (e.g. the EasyCache node calls `model.clone()` during sampling; seen after upgrading to ComfyUI v0.38.1).
|
||||
- Root cause: ComfyUI v0.38 `ModelPatcher.clone()` now always passes `fast_disk=` when re-instantiating the patcher subclass, while upstream ComfyUI-nunchaku (development stopped) declares only `(model, load_device, offload_device, size, weight_inplace_update)` on `ZImageModelPatcher.__init__`. The failed clone also produced a follow-up `AttributeError: 'ZImageModelPatcher' object has no attribute 'pinned'` from half-constructed objects at GC time.
|
||||
- Fix: `patches/nunchaku_patch.py` now provides `apply_nunchaku_zimage_fast_disk_patch()` - an in-memory runtime wrapper that lets `ZImageModelPatcher.__init__` accept and store `fast_disk`, leaving the nunchaku package files 100% untouched. It is idempotent (tagged wrapper), a no-op if a future nunchaku build already declares the parameter, and discovers the class through a `sys.modules` scan only (never re-importing, so the class actually used by ComfyUI is the one patched); load-order races are covered by the existing retry timer alongside the fuse-patch.
|
||||
- Verified: v0.38-style construction passes in isolation (fast_disk stored, `svdq_backup`/`pinned` intact, legacy calls unaffected), and the full mixed workflow (HSWQ ConvRot NVFP4 UNet + INT8 ControlNet patches + EasyCache clone) now runs end to end without errors.
|
||||
- **Technical Details**: See [v2.6.7 Release Notes](https://github.com/ussoewwin/ComfyUI-QwenImageLoraLoader/releases/tag/v2.6.7)
|
||||
|
||||
### v2.6.6
|
||||
- **Removed**: `patches/rgthree_logo_route_guard.py` - the self-defense guard for rgthree-comfy's logo route is no longer needed, now that [rgthree-comfy#763](https://github.com/rgthree/rgthree-comfy/pull/763) (contributed by ussoewwin) is merged upstream; the matching import / call block was also removed from `__init__.py`.
|
||||
- The guard only validated the markup rgthree fetches for its logo and fell back to the bundled SVG when the response was not SVG; with the upstream fix in place (already present in the installed rgthree-comfy as commit `17f1848`), it is redundant.
|
||||
- Nothing else changed: no other patch, module or node behaviour is affected (verified - no remaining references to the removed patch anywhere in the code base, and the syntax check passes).
|
||||
|
||||
+8
-1
@@ -5,7 +5,14 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
### v2.6.6 (最新)
|
||||
### v2.6.7 (最新)
|
||||
- **已修复**:ComfyUI >= 0.38 下对 Nunchaku Z-Image 模型执行任何 `model.clone()` 时抛出 `TypeError: ZImageModelPatcher.__init__() got an unexpected keyword argument 'fast_disk'`(例如采样过程中 EasyCache 节点会调用 `model.clone()`;升级 ComfyUI v0.38.1 后出现)。
|
||||
- 根因:ComfyUI v0.38 的 `ModelPatcher.clone()` 重新实例化子类时必定传入 `fast_disk=`,而上游 ComfyUI-nunchaku(已停止开发)的 `ZImageModelPatcher.__init__` 只声明 `(model, load_device, offload_device, size, weight_inplace_update)`。clone 失败还会在 GC 时对半成品对象连带抛出 `AttributeError: 'ZImageModelPatcher' object has no attribute 'pinned'`。
|
||||
- 修复:`patches/nunchaku_patch.py` 新增 `apply_nunchaku_zimage_fast_disk_patch()` —— 内存运行时包装,让 `ZImageModelPatcher.__init__` 接受并保存 `fast_disk`,nunchaku 包文件本身 100% 不动。幂等(带标记的包装器);若未来 nunchaku 版本已声明该参数则自动 no-op;仅通过 `sys.modules` 扫描定位类(绝不重新 import,保证打补丁的就是 ComfyUI 实际在用的类对象);加载顺序竞态与 fuse 补丁共用已有的重试定时器。
|
||||
- 实测:独立构造测试通过(fast_disk 正确保存,`svdq_backup`/`pinned` 完好,旧式调用不受影响);完整混合工作流(HSWQ ConvRot NVFP4 UNet + INT8 ControlNet patches + EasyCache clone)端到端无错误跑通。
|
||||
- **技术详情**:参阅 [v2.6.7 发布说明](v2.6.7.md)。
|
||||
|
||||
### v2.6.6
|
||||
- **已移除**:`patches/rgthree_logo_route_guard.py` —— 由于 [rgthree-comfy#763](https://github.com/rgthree/rgthree-comfy/pull/763)(由 ussoewwin 提交)已在上游合并,rgthree logo 路由的自防御补丁不再需要;同时删除了 `__init__.py` 中对应的 import 与调用块。
|
||||
- 该补丁原本只校验 rgthree 为其 logo 抓取的内容,并在非 SVG 时回退到随包 SVG;上游修正到位后(本机安装的 rgthree-comfy 中已包含提交 `17f1848`),它已成为冗余。
|
||||
- 其他内容未做任何改动:其他补丁、模块与节点行为均不受影响(已实测——代码库中无残留引用,语法检查通过)。
|
||||
|
||||
Reference in New Issue
Block a user