From b0c958d635389691087038b335c9c3d30902e158 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 21 Sep 2026 03:11:26 +0000 Subject: [PATCH] Canonicalize ShadowCode version to 0.20.0 The native 0.20 merge left Python package metadata and the flagship version test on 0.19.0 while README and native branding already used 0.20.0. Share one canonical string across the package, desktop entry, and tests, and treat 0.19.0 as stale. Co-authored-by: Bob Corbin --- packaging/shadow-agent.desktop | 2 +- pyproject.toml | 2 +- src/shadow_agent/__init__.py | 2 +- tests/test_flagship_018.py | 9 +++------ 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/packaging/shadow-agent.desktop b/packaging/shadow-agent.desktop index 053823f2..729b456f 100644 --- a/packaging/shadow-agent.desktop +++ b/packaging/shadow-agent.desktop @@ -13,4 +13,4 @@ Keywords=agent;llm;coding;shadowfetch; StartupNotify=true StartupWMClass=shadow-agent X-GNOME-UsesNotifications=true -X-ShadowCode-Version=0.19.0 +X-ShadowCode-Version=0.20.0 diff --git a/pyproject.toml b/pyproject.toml index b0d8a236..80be52ca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "shadow-agent" -version = "0.19.0" +version = "0.20.0" description = "Linux-native, model-agnostic coding-agent harness (Claude Code / Codex alternative)" readme = "README.md" requires-python = ">=3.12" diff --git a/src/shadow_agent/__init__.py b/src/shadow_agent/__init__.py index 11e1d74a..937828d4 100644 --- a/src/shadow_agent/__init__.py +++ b/src/shadow_agent/__init__.py @@ -1,3 +1,3 @@ """ShadowCode — Linux-native autonomous coding-agent harness (brand: ShadowCode; binary: shadow; desktop id: shadow-agent).""" -__version__ = "0.19.0" +__version__ = "0.20.0" diff --git a/tests/test_flagship_018.py b/tests/test_flagship_018.py index cbe1a038..1597da8c 100644 --- a/tests/test_flagship_018.py +++ b/tests/test_flagship_018.py @@ -28,8 +28,7 @@ from shadow_agent.store import Store ROOT = Path(__file__).resolve().parents[1] -CANONICAL = "0.19.0" -NATIVE_CANONICAL = "0.20.0" +CANONICAL = "0.20.0" @pytest.fixture @@ -46,14 +45,12 @@ def test_version_is_canonical_everywhere() -> None: pyproject = (ROOT / "pyproject.toml").read_text(encoding="utf-8") assert re.search(rf'^version = "{re.escape(CANONICAL)}"$', pyproject, re.M) readme = (ROOT / "README.md").read_text(encoding="utf-8") - # The legacy Python package remains 0.19 while the public README documents - # the standalone native application shipped as 0.20. - assert NATIVE_CANONICAL in readme + assert CANONICAL in readme desktop = (ROOT / "packaging" / "shadow-agent.desktop").read_text(encoding="utf-8") assert f"X-ShadowCode-Version={CANONICAL}" in desktop assert "Icon=shadow-agent" in desktop and "Name=ShadowCode" in desktop # No stray older version strings left in the package or README. - for stale in ("0.17.0", "0.16.0", "0.15.0", "0.13.0"): + for stale in ("0.19.0", "0.17.0", "0.16.0", "0.15.0", "0.13.0"): assert stale not in pyproject assert stale not in readme