Skip to content

Pick the highest release version, not the newest published one - #38

Merged
MickLesk merged 1 commit into
mainfrom
fix/release-version-ordering
Sep 13, 2026
Merged

MickLesk merged 1 commit into
mainfrom
fix/release-version-ordering

Conversation

@MickLesk

@MickLesk MickLesk commented Sep 13, 2026

Copy link
Copy Markdown
Member

✍️ Description

Every forge lists releases newest-published first, which is not newest version: a patch backported to an older line outranks the newer minor. Prometheus published 3.13.3 after 3.14.0, so update offered 3.14.0 -> 3.13.3.

Ordered by version in all three places that resolve "latest" — the update check, the deploy path shared by GitHub, GitLab and Codeberg, and the GitLab lookup, which fetched a single release and so could not sort at all. An update is now only offered when it moves forward. tag_prefix still stays inside its release line.

🔗 Related Issue

Fixes community-scripts/ProxmoxVE#17240

✅ Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected (Proxmox VE and/or Incus, as applicable).
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.
  • API.txt regenerated – If a function signature or behavior changed, API.txt was updated to match.

🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing behavior in a way that may require updates in every downstream script.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, docs/, CONTRIBUTING.md, or other docs.

Every forge lists releases newest-published first, so a patch backported
to an older line outranks the newer minor: Prometheus published 3.13.3
after 3.14.0, and update offered 3.14.0 -> 3.13.3.

Order by version in all three places that resolve "latest" - the update
check, the deploy path shared by github, gitlab and codeberg, and the
GitLab lookup, which fetched a single release and so could not sort at
all. An update is now only offered when it moves forward.
@github-actions

Copy link
Copy Markdown
Contributor

Try this branch

The engine and the scripts resolve independently, so a production script can
be run against the engine from this PR by setting one variable:

COMMUNITY_SCRIPTS_CORE_URL=https://raw.githubusercontent.com/community-scripts/core/fix/release-version-ordering \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/ct/debian.sh)"

Swap ct/debian.sh for whatever exercises the change.

Run a script from a fork as well
curl -fsSL https://raw.githubusercontent.com/community-scripts/core/fix/release-version-ordering/tools/run.sh |
  bash -s -- https://raw.githubusercontent.com/YOU/ProxmoxVED/your-branch ct/debian.sh \
             https://raw.githubusercontent.com/community-scripts/core/fix/release-version-ordering

Note that run.sh is reached through a pipe, so the script it starts inherits
an exhausted stdin. Whiptail is fine — it opens /dev/tty — but a plain read
would see EOF. The single-variable form above does not have that problem.

Useful flags while testing

dev_mode=net logs every engine fetch with status and duration, which is the
quickest way to confirm the branch is really being used. dev_mode=keep stops a
failed build from deleting the container along with the evidence.

@CrazyWolf13 CrazyWolf13 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@MickLesk
MickLesk merged commit cf804c8 into main Sep 13, 2026
5 checks passed
@github-actions
github-actions Bot deleted the fix/release-version-ordering branch September 14, 2026 07:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Typing update downgrades Prometheus from v3.14.0 to v3.13.3 due to different release dates

2 participants