From 0581793dfe1b32dbf0fcd93a0a2193cae23418ae Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Fri, 9 Jan 2026 15:35:06 +0900 Subject: [PATCH] fix(auto-update): prevent downgrade from prerelease to stable When user has a prerelease version (e.g., 3.0.0-beta.1) installed without pinning the version in config (just 'oh-my-opencode' without @version), auto-update was incorrectly downgrading to the latest stable version. Now checks if currentVersion is a prerelease before auto-updating, preventing unintended downgrades regardless of pinning status. --- src/hooks/auto-update-checker/index.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/hooks/auto-update-checker/index.ts b/src/hooks/auto-update-checker/index.ts index 923460106..bf2a13847 100644 --- a/src/hooks/auto-update-checker/index.ts +++ b/src/hooks/auto-update-checker/index.ts @@ -113,6 +113,12 @@ async function runBackgroundUpdateCheck( return } + // Check if current version is a prerelease - don't auto-downgrade prerelease to stable + if (isPrereleaseVersion(currentVersion)) { + log(`[auto-update-checker] Skipping auto-update for prerelease version: ${currentVersion}`) + return + } + if (pluginInfo.isPinned) { if (isPrereleaseOrDistTag(pluginInfo.pinnedVersion)) { log(`[auto-update-checker] Skipping auto-update for prerelease/dist-tag: ${pluginInfo.pinnedVersion}`)