From 7050f2328ea63bf6ceed685c36363e2bf48cb278 Mon Sep 17 00:00:00 2001 From: malkuthro <166633396+malkuthro@users.noreply.github.com> Date: Mon, 10 Aug 2026 16:06:58 +0200 Subject: [PATCH] Release v0.5.0 (#283) * Release v0.5.0: stability fixes for drift status and draft toasts Co-authored-by: Cursor * fix(tests): stop hardcoding pack version in version-route assertion Co-authored-by: Cursor * fix(tests): parse pyproject independently in version-route assertion Co-authored-by: Cursor --------- Co-authored-by: Cursor --- CHANGELOG.md | 4 ++++ pyproject.toml | 2 +- tests/server/test_published_setup_api.py | 16 +++++++++++++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b8b2eff..3c34ad5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/pyproject.toml b/pyproject.toml index d670319..766ae01 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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) diff --git a/tests/server/test_published_setup_api.py b/tests/server/test_published_setup_api.py index c3a4d6e..65cf75d 100644 --- a/tests/server/test_published_setup_api.py +++ b/tests/server/test_published_setup_api.py @@ -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")