Release v0.5.0 (#283)

* Release v0.5.0: stability fixes for drift status and draft toasts

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(tests): stop hardcoding pack version in version-route assertion

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(tests): parse pyproject independently in version-route assertion

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
malkuthro
2026-08-10 16:06:58 +02:00
committed by GitHub
co-authored by Cursor
parent 090eb460eb
commit 7050f2328e
3 changed files with 20 additions and 2 deletions
+4
View File
@@ -6,6 +6,10 @@ The format is inspired by Keep a Changelog and SemVer.
## [Unreleased]
## [0.5.0] - 2026-08-10
Stability update: the Kforge Labs status no longer shows a false "drifted" warning after normal work, and large LTX Director timelines no longer trigger endless "Failed to save workflow draft" toasts.
### Fixed
- **"Failed to save workflow draft" toast storms with LTX Director timelines.**
The vendored upstream 2.0.2 timeline editor stamps a base64 poster JPEG onto
+1 -1
View File
@@ -1,7 +1,7 @@
[project]
name = "koolook"
description = "This repository provides custom nodes for ComfyUI tailored for VFX and AI image/video generation workflows"
version = "0.4.4"
version = "0.5.0"
license = {file = "LICENSE"}
# classifiers = [
# # For OS-independent nodes (works on all operating systems)
+15 -1
View File
@@ -2,7 +2,9 @@ from __future__ import annotations
import asyncio
import json
import tomllib
from copy import deepcopy
from pathlib import Path
from aiohttp import web
from aiohttp.test_utils import make_mocked_request
@@ -12,6 +14,16 @@ from koolook_setup_runner import PublishedSetupRunner
from koolook_setups import FileSetupStorage, PublishedSetupRegistry, StaticSetupStorage
from tests.server.test_published_setup_registry import _valid_setup
_REPO_ROOT = Path(__file__).resolve().parents[2]
def _pyproject_pack_version() -> str:
"""Independent expected version — not ``koolook_routes._read_pack_version``."""
data = tomllib.loads((_REPO_ROOT / "pyproject.toml").read_text(encoding="utf-8"))
version = data["project"]["version"]
assert isinstance(version, str) and version and version != "unknown"
return version
def test_catalog_routes_expose_list_and_detail_contracts() -> None:
async def exercise() -> None:
@@ -61,7 +73,9 @@ def test_version_route_exposes_installed_version_and_release_urls() -> None:
assert response.status == 200
body = _json_body(response)
assert body["version"] == "0.4.4"
# Independent pyproject parse (not _read_pack_version) so this is not
# tautological, and release bumps still don't hard-fail CI.
assert body["version"] == _pyproject_pack_version()
assert body["releasesUrl"] == "https://github.com/malkuthro/ComfyUI-Koolook/releases"
assert body["latestReleaseApiUrl"].endswith("/malkuthro/ComfyUI-Koolook/releases/latest")