Skip to content

feat: Add version check (command) - #421

Merged
Techassi merged 7 commits into
mainfrom
feat/version-check
Nov 20, 2025
Merged

feat: Add version check (command)#421
Techassi merged 7 commits into
mainfrom
feat/version-check

Conversation

@Techassi

@TechassiTechassi commented Nov 19, 2025

Copy link
Copy Markdown
Member

Part of #220.

This PR adds a new release check which is used in two different ways:

  • A new stackablectl version check command can be used to check if the current installation is up-to-date
  • A check automatically runs for all other commands (in parallel to not block the commands) and the status is reported as part of the final command output.

This PR has a few known issues, mostly centered around output rendering/composition. This should eventually be reworked.

There will be a follow-up PR, which introduces a config file for stackablectl to disable running the release check (and other settings in the future).

Regarding the goals stated in #220 (comment):

Goals

  • Checks if a new version is available (yes/no)
  • Report to STDERR as suggested
  • Gracefully handles offline/no internet (just skip the check, no error, should not block): The execution of commands is unhindered by any failure of the check. If the check couldn't be performed, no output is printed.
  • Use the GitHub releases API to get information

Maybe

  • Cache the result or record the last checked timestamp and only check once a week or once a day: This uses the same caching mechanism already in place. In the future, we might want to implement different cache durations and make them configurable through the upcoming config file.
  • Opt-out mechanism: Will be handled in a follow-up PR as mentioned above.

@TechassiTechassi self-assigned this Nov 19, 2025
@TechassiTechassi moved this to Development: Waiting for Review in Stackable EngineeringNov 19, 2025
@TechassiTechassi changed the title chore: Adjust Rust toolchain in rustfmt overridefeat: Add release check (command)Nov 19, 2025
Comment threadrust/stackablectl/src/cli/mod.rs Outdated
@TechassiTechassi mentioned this pull request Nov 19, 2025
Comment threadrust/stackable-cockpit/src/xfer/mod.rs
Comment threadrust/stackablectl/src/cli/mod.rs
Comment threadrust/stackablectl/src/cmds/release.rs Outdated

@NickLarsenNZNickLarsenNZ 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.

I left some comments, but otherwise good.

@TechassiTechassi changed the title feat: Add release check (command)feat: Add version check (command)Nov 20, 2025

@NickLarsenNZNickLarsenNZ 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

@Techassi
Techassi added this pull request to the merge queueNov 20, 2025
@TechassiTechassi moved this from Development: Waiting for Review to Development: Done in Stackable EngineeringNov 20, 2025
Merged via the queue into main with commit f3bc3f7Nov 20, 2025
28 checks passed
@Techassi
Techassi deleted the feat/version-check branch November 20, 2025 11:29
@lfranckelfrancke moved this from Development: Done to Done in Stackable EngineeringDec 1, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants

@Techassi@NickLarsenNZ@lfrancke