Skip to content

Commit cd4cca6

Browse files
committed
fix: improve version comparison logic to avoid redundant updates
- Add proper version comparison using parse_version - Only show updates when newer versions are available - Fix issue showing same version as update (e.g. 1.3.6b2 → 1.3.6b2) - Add separate checks for pre-release and stable versions - Skip update prompt when current version is newest
1 parent 017598c commit cd4cca6

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

bugscanx/modules/others/script_updater.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,23 @@ def check_updates(self):
7676
return None
7777

7878
current_version = versions_info.get('installed') or version(self.package_name)
79+
current_ver = parse_version(current_version)
7980
stable_versions = [v for v in all_versions if not self._is_prerelease(v)]
8081

8182
latest_stable = stable_versions[0] if stable_versions else None
8283
latest_prerelease = all_versions[0] if all_versions else None
8384

84-
if not latest_prerelease:
85+
if not latest_prerelease or current_ver >= parse_version(latest_prerelease):
86+
self.console.print(f"[green] You're up to date: {current_version}")
87+
return None
88+
89+
if self._is_prerelease(latest_prerelease) and current_ver >= parse_version(latest_prerelease):
90+
latest_prerelease = None
91+
92+
if latest_stable and current_ver >= parse_version(latest_stable):
93+
latest_stable = None
94+
95+
if not latest_stable and not latest_prerelease:
8596
self.console.print(f"[green] You're up to date: {current_version}")
8697
return None
8798

0 commit comments

Comments
 (0)