From 15da438625f76574d39d57474e6ce44e8586d6db Mon Sep 17 00:00:00 2001 From: Aaron Date: Sun, 14 Dec 2025 17:35:47 -0500 Subject: [PATCH] Fix dev channel selection to only use dev manifest when allowed --- pikit_api/releases.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pikit_api/releases.py b/pikit_api/releases.py index a333e8a..db6e8ad 100644 --- a/pikit_api/releases.py +++ b/pikit_api/releases.py @@ -146,7 +146,11 @@ def fetch_manifest_for_channel(channel: str, with_meta: bool = False): dev_manifest_url = os.environ.get("PIKIT_DEV_MANIFEST_URL") or DEFAULT_DEV_MANIFEST_URL stable_manifest_url = os.environ.get("PIKIT_STABLE_MANIFEST_URL") or DEFAULT_MANIFEST_URL manifest = None + manual_dev_manifest = None version_dates: Dict[str, Optional[str]] = {} + # Explicit dev manifest (raw file) – only used for dev channel + if channel == "dev": + manual_dev_manifest = _try_fetch(dev_manifest_url) try: manifest = fetch_manifest(stable_manifest_url) except Exception: @@ -252,8 +256,8 @@ def fetch_manifest_for_channel(channel: str, with_meta: bool = False): manifest["_release_date"] = version_dates[mver] if channel == "dev": - # Choose the newest by version comparison across stable/dev/base candidates - candidates = [c for c in (latest_dev, latest_stable, manifest) if c] + # Choose the newest by version comparison across stable/dev/base/manual-dev candidates + candidates = [c for c in (latest_dev, manual_dev_manifest, latest_stable, manifest) if c] best = None best_ver = None for c in candidates: